chore: update stage0

This commit is contained in:
Sebastian Ullrich 2021-10-21 22:11:27 +02:00
parent ee2804d278
commit 14fdb793f7
48 changed files with 6394 additions and 3610 deletions

View file

@ -139,13 +139,6 @@ def modifyOp [Inhabited α] (self : Array α) (idx : Nat) (f : αα) : Arra
pure b
loop 0 b
-- Move?
private theorem zero_lt_of_lt : {a b : Nat} → a < b → 0 < b
| 0, _, h => h
| a+1, b, h =>
have : a < b := Nat.lt_trans (Nat.lt_succ_self _) h
zero_lt_of_lt this
/- Reference implementation for `forIn` -/
@[implementedBy Array.forInUnsafe]
protected def forIn {α : Type u} {β : Type v} {m : Type v → Type w} [Monad m] (as : Array α) (b : β) (f : α → β → m (ForInStep β)) : m β :=
@ -154,7 +147,7 @@ protected def forIn {α : Type u} {β : Type v} {m : Type v → Type w} [Monad m
| 0, _ => pure b
| i+1, h =>
have h' : i < as.size := Nat.lt_of_lt_of_le (Nat.lt_succ_self i) h
have : as.size - 1 < as.size := Nat.sub_lt (zero_lt_of_lt h') (by decide)
have : as.size - 1 < as.size := Nat.sub_lt (Nat.zero_lt_of_lt h') (by decide)
have : as.size - 1 - i < as.size := Nat.lt_of_le_of_lt (Nat.sub_le (as.size - 1) i) this
match (← f (as.get ⟨as.size - 1 - i, this⟩) b) with
| ForInStep.done b => pure b

View file

@ -23,7 +23,11 @@ def mkEmpty (c : @& Nat) : ByteArray :=
def empty : ByteArray := mkEmpty 0
instance : Inhabited ByteArray := ⟨empty⟩
instance : Inhabited ByteArray where
default := empty
instance : EmptyCollection ByteArray where
emptyCollection := ByteArray.empty
@[extern "lean_byte_array_push"]
def push : ByteArray → UInt8 → ByteArray
@ -33,14 +37,33 @@ def push : ByteArray → UInt8 → ByteArray
def size : (@& ByteArray) → Nat
| ⟨bs⟩ => bs.size
@[extern "lean_byte_array_uget"]
def uget : (a : @& ByteArray) → (i : USize) → i.toNat < a.size → UInt8
| ⟨bs⟩, i, h => bs.uget i h
@[extern "lean_byte_array_get"]
def get! : (@& ByteArray) → (@& Nat) → UInt8
| ⟨bs⟩, i => bs.get! i
@[extern "lean_byte_array_fget"]
def get : (a : @& ByteArray) → (@& Fin a.size) → UInt8
| ⟨bs⟩, i => bs.get i
@[inline] def getOp (self : ByteArray) (idx : Nat) : UInt8 :=
self.get! idx
@[extern "lean_byte_array_set"]
def set! : ByteArray → (@& Nat) → UInt8 → ByteArray
| ⟨bs⟩, i, b => ⟨bs.set! i b⟩
@[extern "lean_byte_array_fset"]
def set : (a : ByteArray) → (@& Fin a.size) → UInt8 → ByteArray
| ⟨bs⟩, i, b => ⟨bs.set i b⟩
@[extern "lean_byte_array_uset"]
def uset : (a : ByteArray) → (i : USize) → UInt8 → i.toNat < a.size → ByteArray
| ⟨bs⟩, i, v, h => ⟨bs.uset i v h⟩
def isEmpty (s : ByteArray) : Bool :=
s.size == 0
@ -76,6 +99,83 @@ partial def toList (bs : ByteArray) : List UInt8 :=
none
loop start
/-
We claim this unsafe implementation is correct because an array cannot have more than `usizeSz` elements in our runtime.
This is similar to the `Array` version.
TODO: avoid code duplication in the future after we improve the compiler.
-/
@[inline] unsafe def forInUnsafe {β : Type v} {m : Type v → Type w} [Monad m] (as : ByteArray) (b : β) (f : UInt8 → β → m (ForInStep β)) : m β :=
let sz := USize.ofNat as.size
let rec @[specialize] loop (i : USize) (b : β) : m β := do
if i < sz then
let a := as.uget i lcProof
match (← f a b) with
| ForInStep.done b => pure b
| ForInStep.yield b => loop (i+1) b
else
pure b
loop 0 b
/- Reference implementation for `forIn` -/
@[implementedBy ByteArray.forInUnsafe]
protected def forIn {β : Type v} {m : Type v → Type w} [Monad m] (as : ByteArray) (b : β) (f : UInt8 → β → m (ForInStep β)) : m β :=
let rec loop (i : Nat) (h : i ≤ as.size) (b : β) : m β := do
match i, h with
| 0, _ => pure b
| i+1, h =>
have h' : i < as.size := Nat.lt_of_lt_of_le (Nat.lt_succ_self i) h
have : as.size - 1 < as.size := Nat.sub_lt (Nat.zero_lt_of_lt h') (by decide)
have : as.size - 1 - i < as.size := Nat.lt_of_le_of_lt (Nat.sub_le (as.size - 1) i) this
match (← f (as.get ⟨as.size - 1 - i, this⟩) b) with
| ForInStep.done b => pure b
| ForInStep.yield b => loop i (Nat.le_of_lt h') b
loop as.size (Nat.le_refl _) b
instance : ForIn m ByteArray UInt8 where
forIn := ByteArray.forIn
/-
See comment at forInUnsafe
TODO: avoid code duplication.
-/
@[inline]
unsafe def foldlMUnsafe {β : Type v} {m : Type v → Type w} [Monad m] (f : β → UInt8 → m β) (init : β) (as : ByteArray) (start := 0) (stop := as.size) : m β :=
let rec @[specialize] fold (i : USize) (stop : USize) (b : β) : m β := do
if i == stop then
pure b
else
fold (i+1) stop (← f b (as.uget i lcProof))
if start < stop then
if stop ≤ as.size then
fold (USize.ofNat start) (USize.ofNat stop) init
else
pure init
else
pure init
/- Reference implementation for `foldlM` -/
@[implementedBy foldlMUnsafe]
def foldlM {β : Type v} {m : Type v → Type w} [Monad m] (f : β → UInt8 → m β) (init : β) (as : ByteArray) (start := 0) (stop := as.size) : m β :=
let fold (stop : Nat) (h : stop ≤ as.size) :=
let rec loop (i : Nat) (j : Nat) (b : β) : m β := do
if hlt : j < stop then
match i with
| 0 => pure b
| i'+1 =>
loop i' (j+1) (← f b (as.get ⟨j, Nat.lt_of_lt_of_le hlt h⟩))
else
pure b
loop (stop - start) start init
if h : stop ≤ as.size then
fold stop h
else
fold as.size (Nat.le_refl _)
@[inline]
def foldl {β : Type v} (f : β → UInt8 → β) (init : β) (as : ByteArray) (start := 0) (stop := as.size) : β :=
Id.run <| as.foldlM f init start stop
end ByteArray
def List.toByteArray (bs : List UInt8) : ByteArray :=

View file

@ -23,7 +23,11 @@ def mkEmpty (c : @& Nat) : FloatArray :=
def empty : FloatArray :=
mkEmpty 0
instance : Inhabited FloatArray := ⟨empty⟩
instance : Inhabited FloatArray where
default := empty
instance : EmptyCollection FloatArray where
emptyCollection := FloatArray.empty
@[extern "lean_float_array_push"]
def push : FloatArray → Float → FloatArray
@ -33,9 +37,12 @@ def push : FloatArray → Float → FloatArray
def size : (@& FloatArray) → Nat
| ⟨ds⟩ => ds.size
@[extern "lean_float_array_uget"]
def uget : (a : @& FloatArray) → (i : USize) → i.toNat < a.size → Float
| ⟨ds⟩, i, h => ds.uget i h
@[extern "lean_float_array_fget"]
def get (ds : @& FloatArray) (i : @& Fin ds.size) : Float :=
match ds, i with
def get : (ds : @& FloatArray) → (@& Fin ds.size) → Float
| ⟨ds⟩, i => ds.get i
@[extern "lean_float_array_get"]
@ -48,10 +55,16 @@ def get? (ds : FloatArray) (i : Nat) : Option Float :=
else
none
@[inline] def getOp (self : FloatArray) (idx : Nat) : Float :=
self.get! idx
@[extern "lean_float_array_uset"]
def uset : (a : FloatArray) → (i : USize) → Float → i.toNat < a.size → FloatArray
| ⟨ds⟩, i, v, h => ⟨ds.uset i v h⟩
@[extern "lean_float_array_fset"]
def set (ds : FloatArray) (i : @& Fin ds.size) (d : Float) : FloatArray :=
match ds, i with
| ⟨ds⟩, i=> ⟨ds.set i d⟩
def set : (ds : FloatArray) → (@& Fin ds.size) → Float → FloatArray
| ⟨ds⟩, i, d => ⟨ds.set i d⟩
@[extern "lean_float_array_set"]
def set! : FloatArray → (@& Nat) → Float → FloatArray
@ -68,6 +81,83 @@ partial def toList (ds : FloatArray) : List Float :=
r.reverse
loop 0 []
/-
We claim this unsafe implementation is correct because an array cannot have more than `usizeSz` elements in our runtime.
This is similar to the `Array` version.
TODO: avoid code duplication in the future after we improve the compiler.
-/
@[inline] unsafe def forInUnsafe {β : Type v} {m : Type v → Type w} [Monad m] (as : FloatArray) (b : β) (f : Float → β → m (ForInStep β)) : m β :=
let sz := USize.ofNat as.size
let rec @[specialize] loop (i : USize) (b : β) : m β := do
if i < sz then
let a := as.uget i lcProof
match (← f a b) with
| ForInStep.done b => pure b
| ForInStep.yield b => loop (i+1) b
else
pure b
loop 0 b
/- Reference implementation for `forIn` -/
@[implementedBy FloatArray.forInUnsafe]
protected def forIn {β : Type v} {m : Type v → Type w} [Monad m] (as : FloatArray) (b : β) (f : Float → β → m (ForInStep β)) : m β :=
let rec loop (i : Nat) (h : i ≤ as.size) (b : β) : m β := do
match i, h with
| 0, _ => pure b
| i+1, h =>
have h' : i < as.size := Nat.lt_of_lt_of_le (Nat.lt_succ_self i) h
have : as.size - 1 < as.size := Nat.sub_lt (Nat.zero_lt_of_lt h') (by decide)
have : as.size - 1 - i < as.size := Nat.lt_of_le_of_lt (Nat.sub_le (as.size - 1) i) this
match (← f (as.get ⟨as.size - 1 - i, this⟩) b) with
| ForInStep.done b => pure b
| ForInStep.yield b => loop i (Nat.le_of_lt h') b
loop as.size (Nat.le_refl _) b
instance : ForIn m FloatArray Float where
forIn := FloatArray.forIn
/-
See comment at forInUnsafe
TODO: avoid code duplication.
-/
@[inline]
unsafe def foldlMUnsafe {β : Type v} {m : Type v → Type w} [Monad m] (f : β → Float → m β) (init : β) (as : FloatArray) (start := 0) (stop := as.size) : m β :=
let rec @[specialize] fold (i : USize) (stop : USize) (b : β) : m β := do
if i == stop then
pure b
else
fold (i+1) stop (← f b (as.uget i lcProof))
if start < stop then
if stop ≤ as.size then
fold (USize.ofNat start) (USize.ofNat stop) init
else
pure init
else
pure init
/- Reference implementation for `foldlM` -/
@[implementedBy foldlMUnsafe]
def foldlM {β : Type v} {m : Type v → Type w} [Monad m] (f : β → Float → m β) (init : β) (as : FloatArray) (start := 0) (stop := as.size) : m β :=
let fold (stop : Nat) (h : stop ≤ as.size) :=
let rec loop (i : Nat) (j : Nat) (b : β) : m β := do
if hlt : j < stop then
match i with
| 0 => pure b
| i'+1 =>
loop i' (j+1) (← f b (as.get ⟨j, Nat.lt_of_lt_of_le hlt h⟩))
else
pure b
loop (stop - start) start init
if h : stop ≤ as.size then
fold stop h
else
fold as.size (Nat.le_refl _)
@[inline]
def foldl {β : Type v} (f : β → Float → β) (init : β) (as : FloatArray) (start := 0) (stop := as.size) : β :=
Id.run <| as.foldlM f init start stop
end FloatArray
def List.toFloatArray (ds : List Float) : FloatArray :=

View file

@ -27,6 +27,12 @@ instance [Hashable α] : Hashable (Option α) where
instance [Hashable α] : Hashable (List α) where
hash as := as.foldl (fun r a => mixHash r (hash a)) 7
instance : Hashable UInt8 where
hash n := n.toUInt64
instance : Hashable UInt16 where
hash n := n.toUInt64
instance : Hashable UInt32 where
hash n := n.toUInt64

View file

@ -39,17 +39,16 @@ namespace Nat
| succ n, a => loop n (f a)
loop n a
/- Helper "packing" theorems -/
@[simp] theorem zero_eq : Nat.zero = 0 := rfl
@[simp] theorem add_eq : Nat.add x y = x + y := rfl
@[simp] theorem mul_eq : Nat.mul x y = x * y := rfl
@[simp] theorem lt_eq : Nat.lt x y = (x < y) := rfl
@[simp] theorem le_eq : Nat.le x y = (x ≤ y) := rfl
/- Nat.add theorems -/
@[simp] theorem zero_eq : Nat.zero = 0 :=
rfl
@[simp] theorem add_eq : Nat.add x y = x + y :=
rfl
@[simp] theorem lt_eq : Nat.lt x y = (x < y) :=
rfl
@[simp] protected theorem zero_add : ∀ (n : Nat), 0 + n = n
| 0 => rfl
| n+1 => congrArg succ (Nat.zero_add n)
@ -261,6 +260,12 @@ theorem lt_of_succ_le {n m : Nat} (h : succ n ≤ m) : n < m :=
theorem succ_le_of_lt {n m : Nat} (h : n < m) : succ n ≤ m :=
h
theorem zero_lt_of_lt : {a b : Nat} → a < b → 0 < b
| 0, _, h => h
| a+1, b, h =>
have : a < b := Nat.lt_trans (Nat.lt_succ_self _) h
zero_lt_of_lt this
theorem lt_or_eq_or_le_succ {m n : Nat} (h : m ≤ succ n) : m ≤ n m = succ n :=
Decidable.byCases
(fun (h' : m = succ n) => Or.inr h')

View file

@ -126,18 +126,18 @@ structure TagAttribute where
def registerTagAttribute (name : Name) (descr : String) (validate : Name → AttrM Unit := fun _ => pure ()) : IO TagAttribute := do
let ext : PersistentEnvExtension Name Name NameSet ← registerPersistentEnvExtension {
name := name,
mkInitial := pure {},
addImportedFn := fun _ _ => pure {},
addEntryFn := fun (s : NameSet) n => s.insert n,
name := name
mkInitial := pure {}
addImportedFn := fun _ _ => pure {}
addEntryFn := fun (s : NameSet) n => s.insert n
exportEntriesFn := fun es =>
let r : Array Name := es.fold (fun a e => a.push e) #[]
r.qsort Name.quickLt,
r.qsort Name.quickLt
statsFn := fun s => "tag attribute" ++ Format.line ++ "number of local entries: " ++ format s.size
}
let attrImpl : AttributeImpl := {
name := name,
descr := descr,
name := name
descr := descr
add := fun decl stx kind => do
Attribute.Builtin.ensureNoArgs stx
unless kind == AttributeKind.global do throwError "invalid attribute '{name}', must be global"
@ -149,7 +149,7 @@ def registerTagAttribute (name : Name) (descr : String) (validate : Name → Att
setEnv $ ext.addEntry env decl
}
registerBuiltinAttribute attrImpl
pure { attr := attrImpl, ext := ext }
return { attr := attrImpl, ext := ext }
namespace TagAttribute
@ -178,13 +178,13 @@ structure ParametricAttributeImpl (α : Type) extends AttributeImplCore where
def registerParametricAttribute {α : Type} [Inhabited α] (impl : ParametricAttributeImpl α) : IO (ParametricAttribute α) := do
let ext : PersistentEnvExtension (Name × α) (Name × α) (NameMap α) ← registerPersistentEnvExtension {
name := impl.name,
mkInitial := pure {},
addImportedFn := fun s => impl.afterImport s *> pure {},
addEntryFn := fun (s : NameMap α) (p : Name × α) => s.insert p.1 p.2,
name := impl.name
mkInitial := pure {}
addImportedFn := fun s => impl.afterImport s *> pure {}
addEntryFn := fun (s : NameMap α) (p : Name × α) => s.insert p.1 p.2
exportEntriesFn := fun m =>
let r : Array (Name × α) := m.fold (fun a n p => a.push (n, p)) #[]
r.qsort (fun a b => Name.quickLt a.1 b.1),
r.qsort (fun a b => Name.quickLt a.1 b.1)
statsFn := fun s => "parametric attribute" ++ Format.line ++ "number of local entries: " ++ format s.size
}
let attrImpl : AttributeImpl := {
@ -236,18 +236,18 @@ def registerEnumAttributes {α : Type} [Inhabited α] (extName : Name) (attrDesc
(validate : Name → α → AttrM Unit := fun _ _ => pure ())
(applicationTime := AttributeApplicationTime.afterTypeChecking) : IO (EnumAttributes α) := do
let ext : PersistentEnvExtension (Name × α) (Name × α) (NameMap α) ← registerPersistentEnvExtension {
name := extName,
mkInitial := pure {},
addImportedFn := fun _ _ => pure {},
addEntryFn := fun (s : NameMap α) (p : Name × α) => s.insert p.1 p.2,
name := extName
mkInitial := pure {}
addImportedFn := fun _ _ => pure {}
addEntryFn := fun (s : NameMap α) (p : Name × α) => s.insert p.1 p.2
exportEntriesFn := fun m =>
let r : Array (Name × α) := m.fold (fun a n p => a.push (n, p)) #[]
r.qsort (fun a b => Name.quickLt a.1 b.1),
r.qsort (fun a b => Name.quickLt a.1 b.1)
statsFn := fun s => "enumeration attribute extension" ++ Format.line ++ "number of local entries: " ++ format s.size
}
let attrs := attrDescrs.map fun (name, descr, val) => {
name := name,
descr := descr,
name := name
descr := descr
add := fun decl stx kind => do
Attribute.Builtin.ensureNoArgs stx
unless kind == AttributeKind.global do throwError "invalid attribute '{name}', must be global"
@ -255,7 +255,7 @@ def registerEnumAttributes {α : Type} [Inhabited α] (extName : Name) (attrDesc
unless (env.getModuleIdxFor? decl).isNone do
throwError "invalid attribute '{name}', declaration is in an imported module"
validate decl val
setEnv $ ext.addEntry env (decl, val),
setEnv $ ext.addEntry env (decl, val)
applicationTime := applicationTime
: AttributeImpl
}
@ -351,11 +351,11 @@ private def addAttrEntry (s : AttributeExtensionState) (e : AttributeExtensionOL
builtin_initialize attributeExtension : AttributeExtension ←
registerPersistentEnvExtension {
name := `attrExt,
mkInitial := AttributeExtension.mkInitial,
addImportedFn := AttributeExtension.addImported,
addEntryFn := addAttrEntry,
exportEntriesFn := fun s => s.newEntries.reverse.toArray,
name := `attrExt
mkInitial := AttributeExtension.mkInitial
addImportedFn := AttributeExtension.addImported
addEntryFn := addAttrEntry
exportEntriesFn := fun s => s.newEntries.reverse.toArray
statsFn := fun s => format "number of local entries: " ++ format s.newEntries.length
}
@ -397,14 +397,14 @@ def registerAttributeOfDecl (env : Environment) (opts : Options) (attrDeclName :
if isAttribute env attrImpl.name then
throw ("invalid builtin attribute declaration, '" ++ toString attrImpl.name ++ "' has already been used")
else
pure $ attributeExtension.addEntry env (AttributeExtensionOLeanEntry.decl attrDeclName, attrImpl)
return attributeExtension.addEntry env (AttributeExtensionOLeanEntry.decl attrDeclName, attrImpl)
def registerAttributeOfBuilder (env : Environment) (builderId : Name) (args : List DataValue) : IO Environment := do
let attrImpl ← mkAttributeImplOfBuilder builderId args
if isAttribute env attrImpl.name then
throw (IO.userError ("invalid builtin attribute declaration, '" ++ toString attrImpl.name ++ "' has already been used"))
else
pure $ attributeExtension.addEntry env (AttributeExtensionOLeanEntry.builder builderId args, attrImpl)
return attributeExtension.addEntry env (AttributeExtensionOLeanEntry.builder builderId args, attrImpl)
def Attribute.add (declName : Name) (attrName : Name) (stx : Syntax) (kind := AttributeKind.global) : AttrM Unit := do
let attr ← ofExcept <| getAttributeImpl (← getEnv) attrName
@ -414,16 +414,20 @@ def Attribute.erase (declName : Name) (attrName : Name) : AttrM Unit := do
let attr ← ofExcept <| getAttributeImpl (← getEnv) attrName
attr.erase declName
builtin_initialize
-- See comment at `updateEnvAttributesRef`
updateEnvAttributesRef.set fun env => do
let map ← attributeMapRef.get
let s ← attributeExtension.getState env
let s := map.foldl (init := s) fun s attrName attrImpl =>
if s.map.contains attrName then
s
else
{ s with map := s.map.insert attrName attrImpl }
return attributeExtension.setState env s
/-- `updateEnvAttributes` implementation -/
@[export lean_update_env_attributes]
def updateEnvAttributesImpl (env : Environment) : IO Environment := do
let map ← attributeMapRef.get
let s ← attributeExtension.getState env
let s := map.foldl (init := s) fun s attrName attrImpl =>
if s.map.contains attrName then
s
else
{ s with map := s.map.insert attrName attrImpl }
return attributeExtension.setState env s
/-- `getNumBuiltinAttributes` implementation -/
@[export lean_get_num_attributes] def getNumBuiltiAttributesImpl : IO Nat :=
return (← attributeMapRef.get).size
end Lean

View file

@ -174,8 +174,6 @@ private def getMatchAlts : Syntax → Array MatchAltView
builtin_initialize Parser.registerBuiltinNodeKind `MVarWithIdKind
open Meta.Match (mkInaccessible inaccessible?)
/--
The elaboration function for `Syntax` created using `mkMVarSyntax`.
It just converts the metavariable id wrapped by the Syntax into an `Expr`. -/

View file

@ -90,7 +90,7 @@ private partial def replaceRecApps (recFnName : Name) (recArgInfo : RecArgInfo)
mkForallFVars #[x] (← loop below (b.instantiate1 x))
| Expr.letE n type val body _ =>
withLetDecl n (← loop below type) (← loop below val) fun x => do
mkLetFVars #[x] (← loop below (body.instantiate1 x))
mkLetFVars #[x] (← loop below (body.instantiate1 x)) (usedLetOnly := false)
| Expr.mdata d e _ => return mkMData d (← loop below e)
| Expr.proj n i e _ => return mkProj n i (← loop below e)
| Expr.app _ _ _ =>

View file

@ -43,7 +43,7 @@ private partial def replaceRecApps (recFnName : Name) (decrTactic? : Option Synt
mkForallFVars #[x] (← loop F (b.instantiate1 x))
| Expr.letE n type val body _ =>
withLetDecl n (← loop F type) (← loop F val) fun x => do
mkLetFVars #[x] (← loop F (body.instantiate1 x))
mkLetFVars #[x] (← loop F (body.instantiate1 x)) (usedLetOnly := false)
| Expr.mdata d e _ => return mkMData d (← loop F e)
| Expr.proj n i e _ => return mkProj n i (← loop F e)
| Expr.app _ _ _ =>

View file

@ -14,7 +14,15 @@ namespace Lean.Elab
open WF
open Meta
private def isOnlyOneUnaryDef (preDefs : Array PreDefinition) : MetaM Bool := do
if preDefs.size == 1 then
lambdaTelescope preDefs[0].value fun xs _ => return xs.size == 1
else
return false
private partial def addNonRecPreDefs (preDefs : Array PreDefinition) (preDefNonRec : PreDefinition) : TermElabM Unit := do
if (← isOnlyOneUnaryDef preDefs) then
return ()
let Expr.forallE _ domain _ _ ← preDefNonRec.type | unreachable!
let us := preDefNonRec.levelParams.map mkLevelParam
for fidx in [:preDefs.size] do

View file

@ -183,9 +183,10 @@ where
`(ParserDescr.sepBy1 $p $sep $psep $(quote allowTrailingSep))
isValidAtom (s : String) : Bool :=
!s.isEmpty &&
s[0] != '\'' &&
s[0] != '\"' &&
s[0] != '`' &&
!(s[0] == '`' && (s.bsize == 1 || isIdFirst s[1] || isIdBeginEscape s[1])) &&
!s[0].isDigit
processAtom (stx : Syntax) := do
@ -342,8 +343,7 @@ def checkRuleKind (given expected : SyntaxNodeKind) : Bool :=
given == expected || given == expected ++ `antiquot
def inferMacroRulesAltKind : Syntax → CommandElabM SyntaxNodeKind
| `(matchAltExpr| | $pats,* => $rhs) => do
let pat := pats.elemsAndSeps[0]
| `(matchAltExpr| | $pat:term => $rhs) => do
if !pat.isQuot then
throwUnsupportedSyntax
let quoted := getQuotContent pat

View file

@ -569,7 +569,7 @@ private def setImportedEntries (env : Environment) (mods : Array ModuleData) (st
env ← extDescr.toEnvExtension.modifyState env fun s => { s with importedEntries := s.importedEntries.push entries }
return env
/-
/--
"Forward declaration" needed for updating the attribute table with user-defined attributes.
User-defined attributes are declared using the `initialize` command. The `initialize` command is just syntax sugar for the `init` attribute.
The `init` attribute is initialized after the `attributeExtension` is initialized. We cannot change the order since the `init` attribute is an attribute,
@ -578,7 +578,9 @@ private def setImportedEntries (env : Environment) (mods : Array ModuleData) (st
When we a new user-defined attribute declaration is imported, `attributeMapRef` is updated.
Later, we set this method with code that adds the user-defined attributes that were imported after we initialized `attributeExtension`.
-/
builtin_initialize updateEnvAttributesRef : IO.Ref (Environment → IO Environment) ← IO.mkRef (fun env => pure env)
@[extern 2 "lean_update_env_attributes"] constant updateEnvAttributes : Environment → IO Environment
/-- "Forward declaration" for retrieving the number of builtin attributes. -/
@[extern 1 "lean_get_num_attributes"] constant getNumBuiltiAttributes : IO Nat
private partial def finalizePersistentExtensions (env : Environment) (mods : Array ModuleData) (opts : Options) : IO Environment := do
loop 0 env
@ -590,16 +592,17 @@ where
let extDescr := pExtDescrs[i]
let s := extDescr.toEnvExtension.getState env
let prevSize := (← persistentEnvExtensionsRef.get).size
let prevAttrSize ← getNumBuiltiAttributes
let newState ← extDescr.addImportedFn s.importedEntries { env := env, opts := opts }
let mut env ← extDescr.toEnvExtension.setState env { s with state := newState }
env ← ensureExtensionsArraySize env
if (← persistentEnvExtensionsRef.get).size > prevSize then
if (← persistentEnvExtensionsRef.get).size > prevSize || (← getNumBuiltiAttributes) > prevAttrSize then
-- This branch is executed when `pExtDescrs[i]` is the extension associated with the `init` attribute, and
-- a user-defined persistent extension is imported.
-- Thus, we invoke `setImportedEntries` to update the array `importedEntries` with the entries for the new extensions.
env ← setImportedEntries env mods prevSize
-- See comment at `updateEnvAttributesRef`
env ← (← updateEnvAttributesRef.get) env
env ← updateEnvAttributes env
loop (i + 1) env
else
return env

View file

@ -1100,6 +1100,15 @@ def isLetFun (e : Expr) : Bool :=
| none => false
| some e => e.isApp && e.appFn!.isLambda
/--
Auxiliary annotation used to mark terms marked with the "inaccessible" annotation `.(t)` and
`_` in patterns. -/
def mkInaccessible (e : Expr) : Expr :=
mkAnnotation `_inaccessible e
def inaccessible? (e : Expr) : Option Expr :=
annotation? `_inaccessible e
/--
Annotate `e` with the LHS annotation. The delaborator displays
expressions of the form `lhs = rhs` as `lhs` when they have this annotation.

View file

@ -54,8 +54,8 @@ partial def visit (e : Expr) : M Expr := do
if (← isNonTrivialProof e) then
mkAuxLemma e
else match e with
| Expr.lam _ _ _ _ => lambdaLetTelescope e fun xs b => visitBinders xs do mkLambdaFVars xs (← visit b)
| Expr.letE _ _ _ _ _ => lambdaLetTelescope e fun xs b => visitBinders xs do mkLambdaFVars xs (← visit b)
| Expr.lam _ _ _ _ => lambdaLetTelescope e fun xs b => visitBinders xs do mkLambdaFVars xs (← visit b) (usedLetOnly := false)
| Expr.letE _ _ _ _ _ => lambdaLetTelescope e fun xs b => visitBinders xs do mkLambdaFVars xs (← visit b) (usedLetOnly := false)
| Expr.forallE _ _ _ _ => forallTelescope e fun xs b => visitBinders xs do mkForallFVars xs (← visit b)
| Expr.mdata _ b _ => return e.updateMData! (← visit b)
| Expr.proj _ _ b _ => return e.updateProj! (← visit b)

View file

@ -885,9 +885,38 @@ private def processConstApprox (mvar : Expr) (numArgs : Nat) (v : Expr) : MetaM
else
pure false
/--
Helper function for `processAssignment`. We used to eagerly consume
all metadata, but it was unnecessarily removing helpful annotations
for the pretty-printer. For example, consider the following example.
```
constant p : Nat → Prop
constant q : Nat → Prop
theorem p_of_q : q x → p x := sorry
theorem pletfun : p (let_fun x := 0; x + 1) := by
-- ⊢ p (let_fun x := 0; x + 1)
apply p_of_q -- If we eagerly consume all metadata, the let_fun annotation is lost during `isDefEq`
-- ⊢ q ((fun x => x + 1) 0)
sorry
```
However, the inaccessible pattern annotation must be consumed.
The frontend relies on the fact that is must be not propagated by `isDefEq`.
Thus, we consume it here. This is a bit hackish since it is very adhoc.
We might other annotations in the future that we should not preserve.
Perhaps, we should mark the annotation we do want to preserve ones
(e.g., hints for the pretty printer), and consume all other
-/
partial def consumeInaccessibleAnnotations (e : Expr) : Expr :=
match inaccessible? e with
| some e => consumeInaccessibleAnnotations e
| none => e
/-- Tries to solve `?m a₁ ... aₙ =?= v` by assigning `?m`.
It assumes `?m` is unassigned. -/
private partial def processAssignment (mvarApp : Expr) (v : Expr) : MetaM Bool :=
let v := consumeInaccessibleAnnotations v
traceCtx `Meta.isDefEq.assign do
trace[Meta.isDefEq.assign] "{mvarApp} := {v}"
let mvar := mvarApp.getAppFn
@ -1259,8 +1288,8 @@ private partial def isDefEqQuick (t s : Expr) : MetaM LBool :=
| Expr.sort u _, Expr.sort v _ => toLBoolM <| isLevelDefEqAux u v
| Expr.lam .., Expr.lam .. => if t == s then pure LBool.true else toLBoolM <| isDefEqBinding t s
| Expr.forallE .., Expr.forallE .. => if t == s then pure LBool.true else toLBoolM <| isDefEqBinding t s
| Expr.mdata _ t _, s => isDefEqQuick t s
| t, Expr.mdata _ s _ => isDefEqQuick t s
-- | Expr.mdata _ t _, s => isDefEqQuick t s
-- | t, Expr.mdata _ s _ => isDefEqQuick t s
| Expr.fvar fvarId₁ _, Expr.fvar fvarId₂ _ => do
if (← isLetFVar fvarId₁ <||> isLetFVar fvarId₂) then
pure LBool.undef
@ -1271,6 +1300,20 @@ private partial def isDefEqQuick (t s : Expr) : MetaM LBool :=
| t, s =>
isDefEqQuickOther t s
/--
We used to eagerly remove metadata at `isDefEqQuick`. See commented lines above.
This eager removal was unnecessarily removing hints to the pretty printer when solving
`?m =?= hint ...`
See comment at `consumeInaccessibleAnnotations`
-/
private partial def isDefEqMData (t s : Expr) : MetaM LBool := do
if t.isMData then
isDefEqQuick t.mdataExpr! s
else if s.isMData then
isDefEqQuick t s.mdataExpr!
else
return LBool.undef
private partial def isDefEqQuickOther (t s : Expr) : MetaM LBool := do
if t == s then
pure LBool.true
@ -1280,7 +1323,7 @@ private partial def isDefEqQuickOther (t s : Expr) : MetaM LBool := do
let tFn := t.getAppFn
let sFn := s.getAppFn
if !tFn.isMVar && !sFn.isMVar then
pure LBool.undef
isDefEqMData t s
else if (← isAssigned tFn) then
let t ← instantiateMVars t
isDefEqQuick t s
@ -1322,7 +1365,7 @@ private partial def isDefEqQuickOther (t s : Expr) : MetaM LBool := do
else
pure LBool.false
else
pure LBool.undef
isDefEqMData t s
else
isDefEqQuickMVarMVar t s

View file

@ -9,15 +9,6 @@ import Lean.Meta.Match.CaseArraySizes
namespace Lean.Meta.Match
/--
Auxiliary annotation used to mark terms marked with the "inaccessible" annotation `.(t)` and
`_` in patterns. -/
def mkInaccessible (e : Expr) : Expr :=
mkAnnotation `_inaccessible e
def inaccessible? (e : Expr) : Option Expr :=
annotation? `_inaccessible e
inductive Pattern : Type where
| inaccessible (e : Expr) : Pattern
| var (fvarId : FVarId) : Pattern

View file

@ -24,7 +24,7 @@ partial def cleanup (mvarId : MVarId) : MetaM MVarId := do
unless used.contains localDecl.fvarId do
lctx := lctx.erase localDecl.fvarId
let localInsts := (← getLocalInstances).filter fun inst => used.contains inst.fvar.fvarId!
let mvarNew ← mkFreshExprMVarAt lctx localInsts (← getMVarType' mvarId) MetavarKind.syntheticOpaque (← getMVarTag mvarId)
let mvarNew ← mkFreshExprMVarAt lctx localInsts (← instantiateMVars (← getMVarType mvarId)) MetavarKind.syntheticOpaque (← getMVarTag mvarId)
assignExprMVar mvarId mvarNew
return mvarNew.mvarId!
where

View file

@ -73,6 +73,7 @@ private def tryLemmaCore (lhs : Expr) (xs : Array Expr) (bis : Array BinderInfo)
for i in [:numExtraArgs] do
extraArgs := extraArgs.push e.appArg!
e := e.appFn!
extraArgs := extraArgs.reverse
match (← go e) with
| none => return none
| some { expr := eNew, proof? := none } => return some { expr := mkAppN eNew extraArgs }

View file

@ -76,7 +76,7 @@ def catBehaviorSymbol := leading_parser nonReservedSymbol "symbol"
def catBehavior := optional ("(" >> nonReservedSymbol "behavior" >> " := " >> (catBehaviorBoth <|> catBehaviorSymbol) >> ")")
@[builtinCommandParser] def syntaxCat := leading_parser "declare_syntax_cat " >> ident >> catBehavior
def macroArg := leading_parser optional (atomic (ident >> checkNoWsBefore "no space before ':'" >> ":")) >> syntaxParser argPrec
def macroRhs (quotP : Parser) : Parser := leading_parser "`(" >> incQuotDepth quotP >> ")" <|> termParser
def macroRhs (quotP : Parser) : Parser := leading_parser "`(" >> incQuotDepth quotP >> ")" <|> withPosition termParser
def macroTailTactic : Parser := atomic (" : " >> identEq "tactic") >> darrow >> macroRhs Tactic.seq1
def macroTailCommand : Parser := atomic (" : " >> identEq "command") >> darrow >> macroRhs (many1Unbox commandParser)
def macroTailDefault : Parser := atomic (" : " >> ident) >> darrow >> macroRhs (categoryParserOfStack 2)
@ -85,7 +85,7 @@ def macroTail := leading_parser macroTailTactic <|> macroTailCommand <|> macroTa
@[builtinCommandParser] def «elab_rules» := leading_parser suppressInsideQuot (optional docComment >> Term.attrKind >> "elab_rules" >> optKind >> optional (" : " >> ident) >> optional (" <= " >> ident) >> Term.matchAlts)
def elabArg := macroArg
def elabTail := leading_parser atomic (" : " >> ident >> optional (" <= " >> ident)) >> darrow >> termParser
def elabTail := leading_parser atomic (" : " >> ident >> optional (" <= " >> ident)) >> darrow >> withPosition termParser
@[builtinCommandParser] def «elab» := leading_parser suppressInsideQuot (optional docComment >> Term.attrKind >> "elab " >> optPrecedence >> optNamedName >> optNamedPrio >> many1 elabArg >> elabTail)
end Command

View file

@ -424,7 +424,7 @@ def delabLetFun : Delab := do
@[builtinDelab mdata]
def delabMData : Delab := do
if let some _ := Lean.Meta.Match.inaccessible? (← getExpr) then
if let some _ := inaccessible? (← getExpr) then
let s ← withMDataExpr delab
if (← read).inPattern then
`(.($s)) -- We only include the inaccessible annotation when we are delaborating patterns

View file

@ -170,9 +170,10 @@ section Initialization
| some path => pure <| System.FilePath.mk path / "bin" / lakePath
| _ => pure <| (← appDir) / lakePath
lakePath.withExtension System.FilePath.exeExtension
let mut srcSearchPath := [(← appDir) / ".." / "lib" / "lean" / "src"]
let srcPath := (← appDir) / ".." / "lib" / "lean" / "src"
let mut srcSearchPath := [srcPath, srcPath / "lake"]
if let some p := (← IO.getEnv "LEAN_SRC_PATH") then
srcSearchPath := srcSearchPath ++ System.SearchPath.parse p
srcSearchPath := System.SearchPath.parse p ++ srcSearchPath
let (headerEnv, msgLog) ← try
-- NOTE: lake does not exist in stage 0 (yet?)
if (← System.FilePath.pathExists lakePath) then

View file

@ -862,19 +862,34 @@ static inline lean_obj_res lean_mk_empty_byte_array(b_lean_obj_arg capacity) {
static inline lean_obj_res lean_byte_array_size(b_lean_obj_arg a) {
return lean_box(lean_sarray_size(a));
}
static inline uint8_t lean_byte_array_uget(b_lean_obj_arg a, size_t i) {
assert(i < lean_sarray_size(a));
return lean_sarray_cptr(a)[i];
}
static inline uint8_t lean_byte_array_get(b_lean_obj_arg a, b_lean_obj_arg i) {
if (lean_is_scalar(i)) {
size_t idx = lean_unbox(i);
return idx < lean_sarray_size(a) ? lean_sarray_cptr(a)[idx] : 0;
return idx < lean_sarray_size(a) ? lean_byte_array_uget(a, idx) : 0;
} else {
/* The index must be out of bounds. Otherwise we would be out of memory. */
return 0;
}
}
static inline uint8_t lean_byte_array_fget(b_lean_obj_arg a, b_lean_obj_arg i) {
return lean_byte_array_uget(a, lean_unbox(i));
}
LEAN_SHARED lean_obj_res lean_byte_array_push(lean_obj_arg a, uint8_t b);
static inline lean_object * lean_byte_array_uset(lean_obj_arg a, size_t i, uint8_t v) {
lean_obj_res r;
if (lean_is_exclusive(a)) r = a;
else r = lean_copy_byte_array(a);
uint8_t * it = lean_sarray_cptr(r) + i;
*it = v;
return r;
}
static inline lean_obj_res lean_byte_array_set(lean_obj_arg a, b_lean_obj_arg i, uint8_t b) {
if (!lean_is_scalar(i)) {
return a;
@ -883,16 +898,15 @@ static inline lean_obj_res lean_byte_array_set(lean_obj_arg a, b_lean_obj_arg i,
if (idx >= lean_sarray_size(a)) {
return a;
} else {
lean_obj_res r;
if (lean_is_exclusive(a)) r = a;
else r = lean_copy_byte_array(a);
uint8_t * it = lean_sarray_cptr(r) + idx;
*it = b;
return r;
return lean_byte_array_uset(a, idx, b);
}
}
}
static inline lean_obj_res lean_byte_array_fset(lean_obj_arg a, b_lean_obj_arg i, uint8_t b) {
return lean_byte_array_uset(a, lean_unbox(i), b);
}
/* FloatArray (special case of Array of Scalars) */
LEAN_SHARED lean_obj_res lean_float_array_mk(lean_obj_arg a);
@ -912,10 +926,18 @@ static inline double * lean_float_array_cptr(b_lean_obj_arg a) {
return (double*)(lean_sarray_cptr(a)); // NOLINT
}
static inline double lean_float_array_uget(b_lean_obj_arg a, size_t i) {
return lean_float_array_cptr(a)[i];
}
static inline double lean_float_array_fget(b_lean_obj_arg a, b_lean_obj_arg i) {
return lean_float_array_uget(a, lean_unbox(i));
}
static inline double lean_float_array_get(b_lean_obj_arg a, b_lean_obj_arg i) {
if (lean_is_scalar(i)) {
size_t idx = lean_unbox(i);
return idx < lean_sarray_size(a) ? lean_float_array_cptr(a)[idx] : 0.0;
return idx < lean_sarray_size(a) ? lean_float_array_uget(a, idx) : 0.0;
} else {
/* The index must be out of bounds. Otherwise we would be out of memory. */
return 0.0;
@ -924,6 +946,19 @@ static inline double lean_float_array_get(b_lean_obj_arg a, b_lean_obj_arg i) {
LEAN_SHARED lean_obj_res lean_float_array_push(lean_obj_arg a, double d);
static inline lean_obj_res lean_float_array_uset(lean_obj_arg a, size_t i, double d) {
lean_obj_res r;
if (lean_is_exclusive(a)) r = a;
else r = lean_copy_float_array(a);
double * it = lean_float_array_cptr(r) + i;
*it = d;
return r;
}
static inline lean_obj_res lean_float_array_fset(lean_obj_arg a, b_lean_obj_arg i, double d) {
return lean_float_array_uset(a, lean_unbox(i), d);
}
static inline lean_obj_res lean_float_array_set(lean_obj_arg a, b_lean_obj_arg i, double d) {
if (!lean_is_scalar(i)) {
return a;
@ -932,31 +967,11 @@ static inline lean_obj_res lean_float_array_set(lean_obj_arg a, b_lean_obj_arg i
if (idx >= lean_sarray_size(a)) {
return a;
} else {
lean_obj_res r;
if (lean_is_exclusive(a)) r = a;
else r = lean_copy_float_array(a);
double * it = lean_float_array_cptr(r) + idx;
*it = d;
return r;
return lean_float_array_uset(a, idx, d);
}
}
}
static inline double lean_float_array_fget(b_lean_obj_arg a, b_lean_obj_arg i) {
size_t idx = lean_unbox(i);
return lean_float_array_cptr(a)[idx];
}
static inline lean_obj_res lean_float_array_fset(lean_obj_arg a, b_lean_obj_arg i, double d) {
size_t idx = lean_unbox(i);
lean_obj_res r;
if (lean_is_exclusive(a)) r = a;
else r = lean_copy_float_array(a);
double * it = lean_float_array_cptr(r) + idx;
*it = d;
return r;
}
/* Strings */
static inline lean_obj_res lean_alloc_string(size_t size, size_t capacity, size_t len) {

View file

@ -34,7 +34,7 @@ struct max_sharing_hash {
object_compactor * m;
max_sharing_hash(object_compactor * manager):m(manager) {}
unsigned operator()(max_sharing_key const & k) const {
return hash_str(k.m_size, reinterpret_cast<char const *>(m->m_begin) + k.m_offset, 17);
return hash_str(k.m_size, reinterpret_cast<unsigned char const *>(m->m_begin) + k.m_offset, 17);
}
};

View file

@ -22,7 +22,7 @@ void mix(unsigned & a, unsigned & b, unsigned & c) {
// Bob Jenkin's hash function.
// http://burtleburtle.net/bob/hash/doobs.html
unsigned hash_str(size_t length, char const * str, unsigned init_value) {
unsigned hash_str(size_t length, unsigned char const * str, unsigned init_value) {
unsigned a, b, c;
size_t len;

View file

@ -12,7 +12,7 @@ namespace lean {
void mix(unsigned & a, unsigned & b, unsigned & c);
unsigned hash_str(size_t len, char const * str, unsigned init_value);
unsigned hash_str(size_t len, unsigned char const * str, unsigned init_value);
inline unsigned hash(unsigned h1, unsigned h2) {
h2 -= h1; h2 ^= (h1 << 8);

View file

@ -1885,7 +1885,7 @@ extern "C" LEAN_EXPORT obj_res lean_string_utf8_set(obj_arg s, b_obj_arg i0, uin
extern "C" LEAN_EXPORT uint64 lean_string_hash(b_obj_arg s) {
usize sz = lean_string_size(s) - 1;
char const * str = lean_string_cstr(s);
return hash_str(sz, str, 11);
return hash_str(sz, (unsigned char const *) str, 11);
}
// =======================================

View file

@ -32,7 +32,7 @@ extern "C" LEAN_EXPORT uint64_t lean_sharecommon_hash(b_obj_arg o) {
// hash relevant parts of the header
unsigned init = hash(lean_ptr_tag(o), lean_ptr_other(o));
// hash body
return hash_str(sz - header_sz, reinterpret_cast<char const *>(o) + header_sz, init);
return hash_str(sz - header_sz, reinterpret_cast<unsigned char const *>(o) + header_sz, init);
}
// unsafe def mkObjectMap : Unit → ObjectMap

View file

@ -203,6 +203,14 @@ add_test(NAME leanpkgtest_user_attr_app
find . -name '*.olean' -delete
leanmake bin LINK_OPTS='${LEAN_DYN_EXE_LINKER_FLAGS}' && build/bin/UserAttr")
add_test(NAME leanpkgtest_builtin_attr
WORKING_DIRECTORY "${LEAN_SOURCE_DIR}/../tests/leanpkg/builtin_attr"
COMMAND bash -c "
set -eu
export PATH=${LEAN_BIN}:$PATH
find . -name '*.olean' -delete
leanmake")
add_test(NAME laketest
WORKING_DIRECTORY "${LEAN_SOURCE_DIR}/lake/examples"
COMMAND bash -c "

View file

@ -45,7 +45,6 @@ LEAN_EXPORT lean_object* l_Array_mkArray___boxed(lean_object*, lean_object*, lea
LEAN_EXPORT lean_object* l_Array_findSome_x3f___rarg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_findSomeM_x3f___spec__1___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_mapIdxM(lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__17;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_allDiffAux___rarg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_split(lean_object*);
lean_object* lean_name_mk_string(lean_object*, lean_object*);
@ -60,14 +59,13 @@ LEAN_EXPORT lean_object* l_Array_zipWith___rarg(lean_object*, lean_object*, lean
LEAN_EXPORT lean_object* l_term_x23_x5b___x2c_x5d;
LEAN_EXPORT lean_object* l_Array_filterMapM___at_Array_filterMap___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Array_all___spec__1___rarg(lean_object*, lean_object*, size_t, size_t);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__4;
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__24;
LEAN_EXPORT lean_object* l_Array_append___rarg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at_Array_findRev_x3f___spec__1(lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_getEvenElems___spec__1(lean_object*);
LEAN_EXPORT lean_object* l_Array_modifyM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_mapM___spec__1(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_mapIdxM_map___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__9;
LEAN_EXPORT lean_object* l_Array_uset___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at_Array_findRevM_x3f___spec__1___rarg___lambda__1(lean_object*, lean_object*, uint8_t);
LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at_Array_findSomeRev_x3f___spec__1(lean_object*, lean_object*);
@ -76,6 +74,7 @@ LEAN_EXPORT lean_object* l_Array_filterMapM___rarg___lambda__1(lean_object*, lea
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_swapAt(lean_object*);
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__16;
lean_object* lean_array_fswap(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_zip___rarg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Array_allM___spec__1___rarg___lambda__2(size_t, lean_object*, lean_object*, lean_object*, lean_object*, size_t, uint8_t);
@ -99,17 +98,18 @@ LEAN_EXPORT lean_object* l_Array_uget___boxed(lean_object*, lean_object*, lean_o
static lean_object* l_Array_instReprArray___rarg___closed__6;
LEAN_EXPORT lean_object* l_Array_foldl___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_mapIdxM_map___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__20;
LEAN_EXPORT lean_object* l_Array_isEqvAux___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at_Array_findRevM_x3f___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_anyMUnsafe(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_all___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_anyM(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_all(lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__3;
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_foldl___spec__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_findIdxM_x3f___spec__1(lean_object*, lean_object*);
static lean_object* l_term_x23_x5b___x2c_x5d___closed__13;
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__10;
LEAN_EXPORT uint8_t l_Array_isEqvAux___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_mapMUnsafe___rarg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_instToStringArray___rarg(lean_object*, lean_object*);
@ -128,16 +128,14 @@ LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Array_contains___spec__1___rarg(
static lean_object* l_term_x23_x5b___x2c_x5d___closed__1;
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_findSome_x3f___spec__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_anyM_loop___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__14;
LEAN_EXPORT lean_object* l_Array_anyM_loop___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_map___rarg(lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__15;
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_findIdxM_x3f___spec__1___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__5;
LEAN_EXPORT lean_object* l_Array_findRev_x3f___rarg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_shrink___rarg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_mapIdxM_map___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__19;
LEAN_EXPORT lean_object* l_Array_findIdx_x3f___rarg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_find_x3f___rarg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_back(lean_object*);
@ -146,12 +144,10 @@ LEAN_EXPORT lean_object* l_Array_findM_x3f___rarg(lean_object*, lean_object*, le
lean_object* lean_string_utf8_byte_size(lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_findM_x3f___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_findSomeM_x3f___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__6;
LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Array_foldr___spec__2___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l_Array_singleton(lean_object*);
LEAN_EXPORT lean_object* l_Array_find_x3f(lean_object*);
uint8_t lean_usize_dec_lt(size_t, size_t);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__18;
LEAN_EXPORT lean_object* l_Array_mapM(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_unzip___spec__1___rarg(lean_object*, size_t, size_t, lean_object*);
static lean_object* l_term_x23_x5b___x2c_x5d___closed__2;
@ -198,10 +194,10 @@ LEAN_EXPORT lean_object* l_Array_getLit(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Array_isPrefixOf___rarg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Array_foldr___spec__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__12;
LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Array_forRevM___spec__1___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l_Array_foldl(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_getMax_x3f(lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__12;
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_findM_x3f___spec__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_isEqv(lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_mapM___spec__1___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
@ -216,7 +212,6 @@ LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_allDiffAuxAu
LEAN_EXPORT lean_object* l_Array_forInUnsafe(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_findSomeM_x3f___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
static lean_object* l_Array_instAppendArray___closed__1;
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__10;
LEAN_EXPORT lean_object* l_Array_toArrayLit___rarg___boxed(lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_sub(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Array_all___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
@ -228,7 +223,6 @@ LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Array_all___spec__1(lean_ob
LEAN_EXPORT lean_object* l_Array_get_x3f___rarg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_findIdx_x3f___rarg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_mapM___rarg(lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__20;
static lean_object* l_Array_instReprArray___rarg___closed__7;
LEAN_EXPORT lean_object* l_Array_findRev_x3f(lean_object*);
LEAN_EXPORT lean_object* l_Array_appendList___rarg(lean_object*, lean_object*);
@ -243,6 +237,7 @@ static lean_object* l_Array_instReprArray___rarg___closed__9;
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Array_contains___spec__1(lean_object*);
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Array_any___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_allM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__11;
LEAN_EXPORT lean_object* l_Array_allDiff(lean_object*);
LEAN_EXPORT lean_object* l_Array_findIdxM_x3f___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_findIdxM_x3f___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
@ -256,7 +251,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___rarg___lambda__1___boxed(lea
static lean_object* l_Array_instReprArray___rarg___closed__10;
LEAN_EXPORT lean_object* l_Array_instReprArray___rarg(lean_object*, lean_object*, lean_object*);
static lean_object* l_term_x23_x5b___x2c_x5d___closed__12;
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__23;
LEAN_EXPORT lean_object* l_Array_feraseIdx(lean_object*);
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_filterM___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
@ -267,7 +261,6 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_forM___spec__1(lea
LEAN_EXPORT lean_object* l_Array_reverse(lean_object*);
LEAN_EXPORT lean_object* l_Array_modifyM___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__13;
LEAN_EXPORT lean_object* l_Array_zipWithAux(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_eraseIdx(lean_object*);
LEAN_EXPORT lean_object* l_Array_appendList(lean_object*);
@ -281,6 +274,7 @@ LEAN_EXPORT lean_object* l_Array_foldlM_loop___rarg(lean_object*, lean_object*,
LEAN_EXPORT lean_object* l_Array_forIn_loop___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_toArrayLit(lean_object*);
LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at_Array_findRevM_x3f___spec__1___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__21;
LEAN_EXPORT lean_object* l_Array_shrink___rarg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -288,6 +282,7 @@ static lean_object* l_Array_swapAt_x21___rarg___closed__4;
LEAN_EXPORT lean_object* l_Array_instBEqArray___rarg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_getLit___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___rarg___lambda__1(lean_object*, size_t, lean_object*, lean_object*, size_t, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__23;
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
static lean_object* l_Array_swapAt_x21___rarg___closed__1;
LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at_Array_findRev_x3f___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
@ -305,12 +300,12 @@ static lean_object* l_Array_instReprArray___rarg___closed__4;
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_concatMapM___spec__1___rarg___lambda__2(size_t, lean_object*, lean_object*, lean_object*, size_t, lean_object*);
LEAN_EXPORT lean_object* lean_array_to_list(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_eraseIdxSzAux___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__21;
LEAN_EXPORT lean_object* l_Array_eraseIdxSzAux(lean_object*);
LEAN_EXPORT lean_object* l_Array_modify___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_toString___rarg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at_Array_findRevM_x3f___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__13;
LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at_Array_findRev_x3f___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_term_x23_x5b___x2c_x5d___closed__15;
LEAN_EXPORT lean_object* l_Array_indexOfAux(lean_object*);
@ -333,8 +328,8 @@ LEAN_EXPORT lean_object* l_Array_find_x3f___rarg___lambda__1(lean_object*, lean_
LEAN_EXPORT lean_object* l_Array_any(lean_object*);
LEAN_EXPORT lean_object* l_Array_findRevM_x3f___rarg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_swapAt___rarg(lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__6;
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Array_allM___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__16;
LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Array_toList___spec__2(lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_findIdxM_x3f___spec__1___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_findM_x3f___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
@ -349,8 +344,8 @@ LEAN_EXPORT lean_object* l_Array_mapIdxM___rarg(lean_object*, lean_object*, lean
LEAN_EXPORT lean_object* l_Array_allDiff___rarg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_eraseIdx_x27(lean_object*);
LEAN_EXPORT lean_object* l_Array_findIdx_x3f_loop___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__24;
LEAN_EXPORT lean_object* l_Array_shrink_loop(lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__4;
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_foldl___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
size_t lean_usize_of_nat(lean_object*);
@ -367,10 +362,12 @@ LEAN_EXPORT lean_object* l_Array_zipWith___rarg___boxed(lean_object*, lean_objec
LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Array_foldr___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_mapIdxM_map(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_partition___spec__1___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__17;
LEAN_EXPORT lean_object* l_Array_swapAt___rarg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_feraseIdx___rarg(lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__8;
LEAN_EXPORT uint8_t l_Array_contains___rarg(lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__22;
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__9;
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_filterMap___spec__2___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_filterMap___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
@ -405,12 +402,14 @@ lean_object* l_List_redLength___rarg(lean_object*);
LEAN_EXPORT lean_object* l_Array_indexOf_x3f___rarg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_anyM_loop(lean_object*, lean_object*);
static lean_object* l_term_x23_x5b___x2c_x5d___closed__7;
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__2;
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_forM___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_forRevM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_filterMapM(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_foldl___spec__1___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l_Array_indexOf_x3f(lean_object*);
LEAN_EXPORT lean_object* l_Array_partition___rarg___boxed(lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__1;
LEAN_EXPORT uint8_t l_Array_isEqv___rarg(lean_object*, lean_object*, lean_object*);
static lean_object* l_Array_partition___rarg___closed__1;
LEAN_EXPORT lean_object* l_Array_getLit___boxed(lean_object*, lean_object*);
@ -419,20 +418,23 @@ LEAN_EXPORT lean_object* l_Array_modify(lean_object*);
extern lean_object* l_Id_instMonadId;
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_findSomeRev_x3f___rarg(lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__5;
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Array_all___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_modifyM(lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__19;
LEAN_EXPORT lean_object* l_Array_foldrMUnsafe___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_getArgs(lean_object*);
LEAN_EXPORT lean_object* l_Array_shrink(lean_object*);
LEAN_EXPORT lean_object* l_panic___at_Array_swapAt_x21___spec__1___rarg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_isEmpty(lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__15;
LEAN_EXPORT uint8_t l_Array_any___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__11;
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__18;
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__14;
static lean_object* l_Array_instToStringArray___rarg___closed__1;
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_insertAtAux___rarg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Array_elem___rarg(lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__3;
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_findSome_x3f___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_findM_x3f___spec__1___rarg___lambda__2(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_findSome_x21___spec__1___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
@ -465,6 +467,7 @@ LEAN_EXPORT lean_object* l_Array_eraseIdx___rarg___boxed(lean_object*, lean_obje
LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at_Array_findSomeRev_x3f___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_filterM___spec__1___rarg___lambda__2(size_t, lean_object*, lean_object*, lean_object*, size_t, lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_append___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__7;
LEAN_EXPORT lean_object* l_Array_concatMapM___rarg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_mapIdx___rarg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -480,6 +483,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_find_x3f___spec__1_
LEAN_EXPORT lean_object* l_Array_modify___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_panic_fn(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_findIdx_x3f(lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__25;
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_findSomeM_x3f___spec__1(lean_object*, lean_object*, lean_object*);
static lean_object* l_Array_insertAt___rarg___closed__3;
LEAN_EXPORT lean_object* l_Array_feraseIdx___rarg___boxed(lean_object*, lean_object*);
@ -492,7 +496,6 @@ static lean_object* l_Array_instReprArray___rarg___closed__2;
lean_object* lean_mk_array(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_anyM_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__25;
LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Array_toList___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Array_unzip___rarg___closed__1;
LEAN_EXPORT lean_object* l_Array_unzip___rarg___boxed(lean_object*);
@ -501,7 +504,6 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_concatMapM___spec_
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_findIdxM_x3f___spec__1___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_filterMapM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_eraseIdxSzAuxInstance(lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__8;
static lean_object* l_Array_instReprArray___rarg___closed__1;
lean_object* lean_string_length(lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -517,7 +519,6 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_filterM___spec__1_
LEAN_EXPORT lean_object* l_Array_instInhabitedArray(lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_partition___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_findSomeM_x3f___spec__1___rarg___lambda__3(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__2;
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_filterM___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Array_allM___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t);
LEAN_EXPORT lean_object* l_Array_foldlM_loop___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -544,13 +545,13 @@ LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Array_toList___spec__1__
LEAN_EXPORT lean_object* l_Array_filterM(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_concatMapM___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_filterMapM___at_Array_filterMap___spec__1(lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__22;
LEAN_EXPORT uint8_t l_Array_allDiff___rarg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_isEqv___rarg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_findSome_x3f___rarg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_findSomeM_x3f___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Array_instEmptyCollectionArray___closed__1;
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__1;
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_findIdxM_x3f___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_insertAt(lean_object*);
LEAN_EXPORT lean_object* l_Array_elem(lean_object*);
@ -561,7 +562,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_findSomeM_x3f___spe
LEAN_EXPORT lean_object* l_Array_foldrM_fold(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_insertAt___rarg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Array_map___spec__1___rarg(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170_(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095_(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_contains___rarg___boxed(lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_to_int(lean_object*);
LEAN_EXPORT lean_object* l_panic___at_Array_insertAt___spec__1___rarg(lean_object*);
@ -581,7 +582,6 @@ LEAN_EXPORT lean_object* l_Array_toArrayLit___rarg(lean_object*, lean_object*, l
LEAN_EXPORT lean_object* l_Array_anyMUnsafe___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_term_x23_x5b___x2c_x5d___closed__6;
LEAN_EXPORT lean_object* l_Array_concatMap___rarg(lean_object*, lean_object*);
static lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__7;
LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Array_forRevM___spec__2___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l_Array_any___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Array_findSomeM_x3f___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
@ -5360,7 +5360,7 @@ _start:
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_1 = l_Array_swapAt_x21___rarg___closed__3;
x_2 = l_Array_findSome_x21___rarg___closed__1;
x_3 = lean_unsigned_to_nat(393u);
x_3 = lean_unsigned_to_nat(386u);
x_4 = lean_unsigned_to_nat(14u);
x_5 = l_Array_findSome_x21___rarg___closed__2;
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
@ -7357,7 +7357,7 @@ x_1 = l_term_x23_x5b___x2c_x5d___closed__15;
return x_1;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__1() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__1() {
_start:
{
lean_object* x_1;
@ -7365,17 +7365,17 @@ x_1 = lean_mk_string("Lean");
return x_1;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__2() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
x_2 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__1;
x_2 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__3() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__3() {
_start:
{
lean_object* x_1;
@ -7383,17 +7383,17 @@ x_1 = lean_mk_string("Parser");
return x_1;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__4() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__2;
x_2 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__3;
x_1 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__2;
x_2 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__3;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__5() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__5() {
_start:
{
lean_object* x_1;
@ -7401,17 +7401,17 @@ x_1 = lean_mk_string("Term");
return x_1;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__6() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__6() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__4;
x_2 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__5;
x_1 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__4;
x_2 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__5;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__7() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__7() {
_start:
{
lean_object* x_1;
@ -7419,17 +7419,17 @@ x_1 = lean_mk_string("app");
return x_1;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__8() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__6;
x_2 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__7;
x_1 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__6;
x_2 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__7;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__9() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__9() {
_start:
{
lean_object* x_1;
@ -7437,22 +7437,22 @@ x_1 = lean_mk_string("List.toArray");
return x_1;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__10() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__10() {
_start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__9;
x_1 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__9;
x_2 = lean_string_utf8_byte_size(x_1);
return x_2;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__11() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__11() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
x_1 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__9;
x_1 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__9;
x_2 = lean_unsigned_to_nat(0u);
x_3 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__10;
x_3 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__10;
x_4 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_4, 0, x_1);
lean_ctor_set(x_4, 1, x_2);
@ -7460,7 +7460,7 @@ lean_ctor_set(x_4, 2, x_3);
return x_4;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__12() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__12() {
_start:
{
lean_object* x_1;
@ -7468,17 +7468,17 @@ x_1 = lean_mk_string("List");
return x_1;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__13() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__13() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
x_2 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__12;
x_2 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__12;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__14() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__14() {
_start:
{
lean_object* x_1;
@ -7486,41 +7486,41 @@ x_1 = lean_mk_string("toArray");
return x_1;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__15() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__15() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__13;
x_2 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__14;
x_1 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__13;
x_2 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__14;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__16() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____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_Data_Array_Basic___hyg_4170____closed__15;
x_2 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__15;
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_Data_Array_Basic___hyg_4170____closed__17() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____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_Data_Array_Basic___hyg_4170____closed__16;
x_2 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__16;
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_Data_Array_Basic___hyg_4170____closed__18() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__18() {
_start:
{
lean_object* x_1;
@ -7528,17 +7528,17 @@ x_1 = lean_mk_string("null");
return x_1;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__19() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__19() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
x_2 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__18;
x_2 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__18;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__20() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__20() {
_start:
{
lean_object* x_1;
@ -7546,17 +7546,17 @@ x_1 = lean_mk_string("term[_]");
return x_1;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__21() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__21() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
x_2 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__20;
x_2 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__20;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__22() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__22() {
_start:
{
lean_object* x_1;
@ -7564,7 +7564,7 @@ x_1 = lean_mk_string("[");
return x_1;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__23() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__23() {
_start:
{
lean_object* x_1; lean_object* x_2;
@ -7573,7 +7573,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1);
return x_2;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__24() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__24() {
_start:
{
lean_object* x_1; lean_object* x_2;
@ -7582,7 +7582,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1);
return x_2;
}
}
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__25() {
static lean_object* _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__25() {
_start:
{
lean_object* x_1; lean_object* x_2;
@ -7591,7 +7591,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1);
return x_2;
}
}
LEAN_EXPORT lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4170_(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
LEAN_EXPORT lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_4095_(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; uint8_t x_5;
@ -7629,24 +7629,24 @@ lean_inc(x_14);
x_15 = lean_ctor_get(x_2, 1);
lean_inc(x_15);
lean_dec(x_2);
x_16 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__15;
x_16 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__15;
x_17 = l_Lean_addMacroScope(x_15, x_16, x_14);
x_18 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__11;
x_19 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__17;
x_18 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__11;
x_19 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__17;
lean_inc(x_13);
x_20 = lean_alloc_ctor(3, 4, 0);
lean_ctor_set(x_20, 0, x_13);
lean_ctor_set(x_20, 1, x_18);
lean_ctor_set(x_20, 2, x_17);
lean_ctor_set(x_20, 3, x_19);
x_21 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__22;
x_21 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__22;
lean_inc(x_13);
x_22 = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(x_22, 0, x_13);
lean_ctor_set(x_22, 1, x_21);
x_23 = l_Array_instEmptyCollectionArray___closed__1;
x_24 = l_Array_append___rarg(x_23, x_10);
x_25 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__19;
x_25 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__19;
x_26 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_26, 0, x_25);
lean_ctor_set(x_26, 1, x_24);
@ -7654,23 +7654,23 @@ x_27 = l_Array_instReprArray___rarg___closed__8;
x_28 = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(x_28, 0, x_13);
lean_ctor_set(x_28, 1, x_27);
x_29 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__23;
x_29 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__23;
x_30 = lean_array_push(x_29, x_22);
x_31 = lean_array_push(x_30, x_26);
x_32 = lean_array_push(x_31, x_28);
x_33 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__21;
x_33 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__21;
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 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__24;
x_35 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__24;
x_36 = lean_array_push(x_35, x_34);
x_37 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_37, 0, x_25);
lean_ctor_set(x_37, 1, x_36);
x_38 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__25;
x_38 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__25;
x_39 = lean_array_push(x_38, x_20);
x_40 = lean_array_push(x_39, x_37);
x_41 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__8;
x_41 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__8;
x_42 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_42, 0, x_41);
lean_ctor_set(x_42, 1, x_40);
@ -7690,24 +7690,24 @@ lean_inc(x_45);
x_46 = lean_ctor_get(x_2, 1);
lean_inc(x_46);
lean_dec(x_2);
x_47 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__15;
x_47 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__15;
x_48 = l_Lean_addMacroScope(x_46, x_47, x_45);
x_49 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__11;
x_50 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__17;
x_49 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__11;
x_50 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__17;
lean_inc(x_43);
x_51 = lean_alloc_ctor(3, 4, 0);
lean_ctor_set(x_51, 0, x_43);
lean_ctor_set(x_51, 1, x_49);
lean_ctor_set(x_51, 2, x_48);
lean_ctor_set(x_51, 3, x_50);
x_52 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__22;
x_52 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__22;
lean_inc(x_43);
x_53 = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(x_53, 0, x_43);
lean_ctor_set(x_53, 1, x_52);
x_54 = l_Array_instEmptyCollectionArray___closed__1;
x_55 = l_Array_append___rarg(x_54, x_10);
x_56 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__19;
x_56 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__19;
x_57 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_57, 0, x_56);
lean_ctor_set(x_57, 1, x_55);
@ -7715,23 +7715,23 @@ x_58 = l_Array_instReprArray___rarg___closed__8;
x_59 = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(x_59, 0, x_43);
lean_ctor_set(x_59, 1, x_58);
x_60 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__23;
x_60 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__23;
x_61 = lean_array_push(x_60, x_53);
x_62 = lean_array_push(x_61, x_57);
x_63 = lean_array_push(x_62, x_59);
x_64 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__21;
x_64 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__21;
x_65 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_65, 0, x_64);
lean_ctor_set(x_65, 1, x_63);
x_66 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__24;
x_66 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__24;
x_67 = lean_array_push(x_66, x_65);
x_68 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_68, 0, x_56);
lean_ctor_set(x_68, 1, x_67);
x_69 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__25;
x_69 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__25;
x_70 = lean_array_push(x_69, x_51);
x_71 = lean_array_push(x_70, x_68);
x_72 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__8;
x_72 = l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__8;
x_73 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_73, 0, x_72);
lean_ctor_set(x_73, 1, x_71);
@ -9121,7 +9121,7 @@ _start:
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_1 = l_Array_swapAt_x21___rarg___closed__3;
x_2 = l_Array_insertAt___rarg___closed__1;
x_3 = lean_unsigned_to_nat(679u);
x_3 = lean_unsigned_to_nat(672u);
x_4 = lean_unsigned_to_nat(22u);
x_5 = l_Array_insertAt___rarg___closed__2;
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
@ -10094,56 +10094,56 @@ l_term_x23_x5b___x2c_x5d___closed__15 = _init_l_term_x23_x5b___x2c_x5d___closed_
lean_mark_persistent(l_term_x23_x5b___x2c_x5d___closed__15);
l_term_x23_x5b___x2c_x5d = _init_l_term_x23_x5b___x2c_x5d();
lean_mark_persistent(l_term_x23_x5b___x2c_x5d);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__1 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__1();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__1);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__2 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__2();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__2);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__3 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__3();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__3);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__4 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__4();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__4);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__5 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__5();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__5);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__6 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__6();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__6);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__7 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__7();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__7);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__8 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__8();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__8);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__9 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__9();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__9);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__10 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__10();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__10);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__11 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__11();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__11);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__12 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__12();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__12);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__13 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__13();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__13);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__14 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__14();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__14);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__15 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__15();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__15);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__16 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__16();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__16);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__17 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__17();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__17);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__18 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__18();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__18);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__19 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__19();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__19);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__20 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__20();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__20);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__21 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__21();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__21);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__22 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__22();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__22);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__23 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__23();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__23);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__24 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__24();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__24);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__25 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__25();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4170____closed__25);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__1 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__1();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__1);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__2 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__2();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__2);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__3 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__3();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__3);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__4 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__4();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__4);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__5 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__5();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__5);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__6 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__6();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__6);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__7 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__7();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__7);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__8 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__8();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__8);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__9 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__9();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__9);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__10 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__10();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__10);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__11 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__11();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__11);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__12 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__12();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__12);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__13 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__13();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__13);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__14 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__14();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__14);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__15 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__15();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__15);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__16 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__16();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__16);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__17 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__17();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__17);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__18 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__18();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__18);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__19 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__19();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__19);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__20 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__20();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__20);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__21 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__21();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__21);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__22 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__22();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__22);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__23 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__23();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__23);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__24 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__24();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__24);
l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__25 = _init_l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__25();
lean_mark_persistent(l_myMacro____x40_Init_Data_Array_Basic___hyg_4095____closed__25);
l_Array_partition___rarg___closed__1 = _init_l_Array_partition___rarg___closed__1();
lean_mark_persistent(l_Array_partition___rarg___closed__1);
l_Array_insertAt___rarg___closed__1 = _init_l_Array_insertAt___rarg___closed__1();

View file

@ -16,12 +16,21 @@ extern "C" {
LEAN_EXPORT lean_object* l_ByteArray_push___boxed(lean_object*, lean_object*);
lean_object* l_List_reverse___rarg(lean_object*);
static lean_object* l_ByteArray_instAppendByteArray___closed__1;
LEAN_EXPORT lean_object* l_ByteArray_foldl___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
size_t lean_usize_add(size_t, size_t);
LEAN_EXPORT lean_object* l_ByteArray_uget___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_instAppendByteArray;
LEAN_EXPORT lean_object* l_ByteArray_toList_loop(lean_object*, lean_object*, lean_object*);
uint64_t lean_uint8_to_uint64(uint8_t);
LEAN_EXPORT lean_object* l_ByteArray_forIn(lean_object*, lean_object*);
uint8_t lean_usize_dec_eq(size_t, size_t);
LEAN_EXPORT lean_object* l_ByteArray_toList_loop___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_get___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_forIn___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_toStringAux___at_instToStringByteArray___spec__2(uint8_t, lean_object*);
LEAN_EXPORT lean_object* l_instToStringByteArray(lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_forInUnsafe(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_findIdx_x3f_loop(lean_object*, lean_object*, lean_object*);
static lean_object* l_ByteArray_toUInt64LE_x21___closed__3;
lean_object* lean_byte_array_data(lean_object*);
@ -30,27 +39,39 @@ static lean_object* l_ByteArray_toUInt64LE_x21___closed__5;
LEAN_EXPORT lean_object* l_ByteArray_findIdx_x3f(lean_object*, lean_object*, lean_object*);
lean_object* lean_string_append(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at_ByteArray_toUInt64LE_x21___spec__1(lean_object*);
uint8_t lean_usize_dec_lt(size_t, size_t);
LEAN_EXPORT lean_object* l_ByteArray_data___boxed(lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_toByteArray_loop(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_foldlM_loop___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_forIn_loop___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_List_toString___at_instToStringByteArray___spec__1___closed__1;
static lean_object* l_ByteArray_toUInt64LE_x21___closed__6;
extern uint64_t l_instInhabitedUInt64;
LEAN_EXPORT lean_object* l_ByteArray_set___boxed(lean_object*, lean_object*, lean_object*);
static lean_object* l_List_toString___at_instToStringByteArray___spec__1___closed__2;
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe_fold___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_empty;
LEAN_EXPORT lean_object* l_ByteArray_foldlM_loop(lean_object*, lean_object*);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_getOp___boxed(lean_object*, lean_object*);
lean_object* lean_nat_sub(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_extract(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_ByteArray_empty___closed__1;
LEAN_EXPORT lean_object* l_List_toString___at_instToStringByteArray___spec__1(lean_object*);
lean_object* l_Nat_repr(lean_object*);
static lean_object* l_List_toStringAux___at_instToStringByteArray___spec__2___closed__2;
lean_object* lean_byte_array_set(lean_object*, lean_object*, uint8_t);
static lean_object* l_List_toStringAux___at_instToStringByteArray___spec__2___closed__1;
lean_object* lean_byte_array_uset(lean_object*, size_t, uint8_t);
LEAN_EXPORT lean_object* l_ByteArray_toList___boxed(lean_object*);
LEAN_EXPORT lean_object* l_List_toStringAux___at_instToStringByteArray___spec__2___boxed(lean_object*, lean_object*);
lean_object* lean_byte_array_size(lean_object*);
lean_object* lean_byte_array_push(lean_object*, uint8_t);
LEAN_EXPORT lean_object* l_ByteArray_forIn_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe_fold(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_forInUnsafe_loop___rarg___lambda__1(lean_object*, size_t, lean_object*, lean_object*, size_t, lean_object*);
static lean_object* l_List_toString___at_instToStringByteArray___spec__1___closed__3;
static lean_object* l_ByteArray_toUInt64LE_x21___closed__1;
LEAN_EXPORT lean_object* l_ByteArray_get_x21___boxed(lean_object*, lean_object*);
@ -58,30 +79,61 @@ LEAN_EXPORT uint8_t l_ByteArray_isEmpty(lean_object*);
lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_byte_array_mk(lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_copySlice___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_instEmptyCollectionByteArray;
size_t lean_usize_of_nat(lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_append___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe_fold___at_ByteArray_foldl___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_instInhabitedByteArray;
LEAN_EXPORT lean_object* l_ByteArray_forInUnsafe_loop___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_forInUnsafe___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe_fold___at_ByteArray_foldl___spec__1___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*);
uint8_t lean_byte_array_fget(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_foldl(lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_forInUnsafe_loop___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_toUInt64BE_x21(lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe_fold___at_ByteArray_foldl___spec__1(lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_foldlM(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_instForInByteArrayUInt8___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_ByteArray_toUInt64LE_x21___closed__2;
uint64_t lean_uint64_shift_left(uint64_t, uint64_t);
LEAN_EXPORT lean_object* l_ByteArray_forIn_loop___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint64_t lean_uint64_lor(uint64_t, uint64_t);
LEAN_EXPORT lean_object* l_ByteArray_foldlM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_byte_array_copy_slice(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t);
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe_fold___rarg___lambda__1(size_t, lean_object*, lean_object*, lean_object*, size_t, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_forIn_loop(lean_object*, lean_object*);
lean_object* lean_panic_fn(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_isEmpty___boxed(lean_object*);
lean_object* lean_byte_array_fset(lean_object*, lean_object*, uint8_t);
LEAN_EXPORT lean_object* l_ByteArray_findIdx_x3f___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_ByteArray_getOp(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_extract___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_forInUnsafe_loop___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_append(lean_object*, lean_object*);
static lean_object* l_ByteArray_toUInt64BE_x21___closed__2;
LEAN_EXPORT lean_object* l_List_toByteArray(lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_findIdx_x3f_loop___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_foldlM_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe_fold___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_byte_array_get(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_toList(lean_object*);
static lean_object* l_ByteArray_toUInt64BE_x21___closed__1;
LEAN_EXPORT lean_object* l_ByteArray_forIn_loop___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at_ByteArray_toUInt64LE_x21___spec__1___boxed__const__1;
static lean_object* l_ByteArray_toUInt64LE_x21___closed__4;
LEAN_EXPORT lean_object* l_ByteArray_instForInByteArrayUInt8(lean_object*, lean_object*);
uint8_t lean_byte_array_uget(lean_object*, size_t);
LEAN_EXPORT lean_object* l_ByteArray_uset___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_foldlM_loop___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_toUInt64LE_x21(lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_foldlM_loop___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_set_x21___boxed(lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_empty_byte_array(lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe_fold___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_mk___boxed(lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_forInUnsafe_loop(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_ByteArray_mkEmpty___boxed(lean_object*);
lean_object* lean_uint8_to_nat(uint8_t);
LEAN_EXPORT lean_object* l_ByteArray_size___boxed(lean_object*);
@ -136,6 +188,14 @@ x_1 = l_ByteArray_empty;
return x_1;
}
}
static lean_object* _init_l_ByteArray_instEmptyCollectionByteArray() {
_start:
{
lean_object* x_1;
x_1 = l_ByteArray_empty;
return x_1;
}
}
LEAN_EXPORT lean_object* l_ByteArray_push___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
@ -155,6 +215,18 @@ lean_dec(x_1);
return x_2;
}
}
LEAN_EXPORT lean_object* l_ByteArray_uget___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
size_t x_4; uint8_t x_5; lean_object* x_6;
x_4 = lean_unbox_usize(x_2);
lean_dec(x_2);
x_5 = lean_byte_array_uget(x_1, x_4);
lean_dec(x_1);
x_6 = lean_box(x_5);
return x_6;
}
}
LEAN_EXPORT lean_object* l_ByteArray_get_x21___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
@ -166,6 +238,36 @@ x_4 = lean_box(x_3);
return x_4;
}
}
LEAN_EXPORT lean_object* l_ByteArray_get___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_3; lean_object* x_4;
x_3 = lean_byte_array_fget(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
x_4 = lean_box(x_3);
return x_4;
}
}
LEAN_EXPORT uint8_t l_ByteArray_getOp(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_3;
x_3 = lean_byte_array_get(x_1, x_2);
return x_3;
}
}
LEAN_EXPORT lean_object* l_ByteArray_getOp___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_3; lean_object* x_4;
x_3 = l_ByteArray_getOp(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
x_4 = lean_box(x_3);
return x_4;
}
}
LEAN_EXPORT lean_object* l_ByteArray_set_x21___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@ -177,6 +279,29 @@ lean_dec(x_2);
return x_5;
}
}
LEAN_EXPORT lean_object* l_ByteArray_set___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
uint8_t x_4; lean_object* x_5;
x_4 = lean_unbox(x_3);
lean_dec(x_3);
x_5 = lean_byte_array_fset(x_1, x_2, x_4);
lean_dec(x_2);
return x_5;
}
}
LEAN_EXPORT lean_object* l_ByteArray_uset___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
size_t x_5; uint8_t x_6; lean_object* x_7;
x_5 = lean_unbox_usize(x_2);
lean_dec(x_2);
x_6 = lean_unbox(x_3);
lean_dec(x_3);
x_7 = lean_byte_array_uset(x_1, x_5, x_6);
return x_7;
}
}
LEAN_EXPORT uint8_t l_ByteArray_isEmpty(lean_object* x_1) {
_start:
{
@ -397,6 +522,657 @@ lean_dec(x_1);
return x_4;
}
}
LEAN_EXPORT lean_object* l_ByteArray_forInUnsafe_loop___rarg___lambda__1(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4, size_t x_5, lean_object* x_6) {
_start:
{
if (lean_obj_tag(x_6) == 0)
{
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
lean_dec(x_4);
lean_dec(x_3);
x_7 = lean_ctor_get(x_6, 0);
lean_inc(x_7);
lean_dec(x_6);
x_8 = lean_ctor_get(x_1, 0);
lean_inc(x_8);
lean_dec(x_1);
x_9 = lean_ctor_get(x_8, 1);
lean_inc(x_9);
lean_dec(x_8);
x_10 = lean_apply_2(x_9, lean_box(0), x_7);
return x_10;
}
else
{
lean_object* x_11; size_t x_12; size_t x_13; lean_object* x_14;
x_11 = lean_ctor_get(x_6, 0);
lean_inc(x_11);
lean_dec(x_6);
x_12 = 1;
x_13 = lean_usize_add(x_2, x_12);
x_14 = l_ByteArray_forInUnsafe_loop___rarg(x_1, x_3, x_4, x_5, x_13, x_11);
return x_14;
}
}
}
LEAN_EXPORT lean_object* l_ByteArray_forInUnsafe_loop___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6) {
_start:
{
uint8_t x_7;
x_7 = lean_usize_dec_lt(x_5, x_4);
if (x_7 == 0)
{
lean_object* x_8; lean_object* x_9; lean_object* x_10;
lean_dec(x_3);
lean_dec(x_2);
x_8 = lean_ctor_get(x_1, 0);
lean_inc(x_8);
lean_dec(x_1);
x_9 = lean_ctor_get(x_8, 1);
lean_inc(x_9);
lean_dec(x_8);
x_10 = lean_apply_2(x_9, lean_box(0), x_6);
return x_10;
}
else
{
uint8_t x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
x_11 = lean_byte_array_uget(x_2, x_5);
x_12 = lean_ctor_get(x_1, 1);
lean_inc(x_12);
x_13 = lean_box(x_11);
lean_inc(x_3);
x_14 = lean_apply_2(x_3, x_13, x_6);
x_15 = lean_box_usize(x_5);
x_16 = lean_box_usize(x_4);
x_17 = lean_alloc_closure((void*)(l_ByteArray_forInUnsafe_loop___rarg___lambda__1___boxed), 6, 5);
lean_closure_set(x_17, 0, x_1);
lean_closure_set(x_17, 1, x_15);
lean_closure_set(x_17, 2, x_2);
lean_closure_set(x_17, 3, x_3);
lean_closure_set(x_17, 4, x_16);
x_18 = lean_apply_4(x_12, lean_box(0), lean_box(0), x_14, x_17);
return x_18;
}
}
}
LEAN_EXPORT lean_object* l_ByteArray_forInUnsafe_loop(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_ByteArray_forInUnsafe_loop___rarg___boxed), 6, 0);
return x_3;
}
}
LEAN_EXPORT lean_object* l_ByteArray_forInUnsafe_loop___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
size_t x_7; size_t x_8; lean_object* x_9;
x_7 = lean_unbox_usize(x_2);
lean_dec(x_2);
x_8 = lean_unbox_usize(x_5);
lean_dec(x_5);
x_9 = l_ByteArray_forInUnsafe_loop___rarg___lambda__1(x_1, x_7, x_3, x_4, x_8, x_6);
return x_9;
}
}
LEAN_EXPORT lean_object* l_ByteArray_forInUnsafe_loop___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
size_t x_7; size_t x_8; lean_object* x_9;
x_7 = lean_unbox_usize(x_4);
lean_dec(x_4);
x_8 = lean_unbox_usize(x_5);
lean_dec(x_5);
x_9 = l_ByteArray_forInUnsafe_loop___rarg(x_1, x_2, x_3, x_7, x_8, x_6);
return x_9;
}
}
LEAN_EXPORT lean_object* l_ByteArray_forInUnsafe___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; size_t x_6; size_t x_7; lean_object* x_8;
x_5 = lean_byte_array_size(x_2);
x_6 = lean_usize_of_nat(x_5);
lean_dec(x_5);
x_7 = 0;
x_8 = l_ByteArray_forInUnsafe_loop___rarg(x_1, x_2, x_4, x_6, x_7, x_3);
return x_8;
}
}
LEAN_EXPORT lean_object* l_ByteArray_forInUnsafe(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_ByteArray_forInUnsafe___rarg), 4, 0);
return x_3;
}
}
LEAN_EXPORT lean_object* l_ByteArray_forIn_loop___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
if (lean_obj_tag(x_5) == 0)
{
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
lean_dec(x_3);
lean_dec(x_2);
x_6 = lean_ctor_get(x_5, 0);
lean_inc(x_6);
lean_dec(x_5);
x_7 = lean_ctor_get(x_1, 0);
lean_inc(x_7);
lean_dec(x_1);
x_8 = lean_ctor_get(x_7, 1);
lean_inc(x_8);
lean_dec(x_7);
x_9 = lean_apply_2(x_8, lean_box(0), x_6);
return x_9;
}
else
{
lean_object* x_10; lean_object* x_11;
x_10 = lean_ctor_get(x_5, 0);
lean_inc(x_10);
lean_dec(x_5);
x_11 = l_ByteArray_forIn_loop___rarg(x_1, x_2, x_3, x_4, lean_box(0), x_10);
return x_11;
}
}
}
LEAN_EXPORT lean_object* l_ByteArray_forIn_loop___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; uint8_t x_8;
x_7 = lean_unsigned_to_nat(0u);
x_8 = lean_nat_dec_eq(x_4, x_7);
if (x_8 == 0)
{
lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
x_9 = lean_unsigned_to_nat(1u);
x_10 = lean_nat_sub(x_4, x_9);
x_11 = lean_ctor_get(x_1, 1);
lean_inc(x_11);
x_12 = lean_byte_array_size(x_2);
x_13 = lean_nat_sub(x_12, x_9);
lean_dec(x_12);
x_14 = lean_nat_sub(x_13, x_10);
lean_dec(x_13);
x_15 = lean_byte_array_fget(x_2, x_14);
lean_dec(x_14);
x_16 = lean_box(x_15);
lean_inc(x_3);
x_17 = lean_apply_2(x_3, x_16, x_6);
x_18 = lean_alloc_closure((void*)(l_ByteArray_forIn_loop___rarg___lambda__1___boxed), 5, 4);
lean_closure_set(x_18, 0, x_1);
lean_closure_set(x_18, 1, x_2);
lean_closure_set(x_18, 2, x_3);
lean_closure_set(x_18, 3, x_10);
x_19 = lean_apply_4(x_11, lean_box(0), lean_box(0), x_17, x_18);
return x_19;
}
else
{
lean_object* x_20; lean_object* x_21; lean_object* x_22;
lean_dec(x_3);
lean_dec(x_2);
x_20 = lean_ctor_get(x_1, 0);
lean_inc(x_20);
lean_dec(x_1);
x_21 = lean_ctor_get(x_20, 1);
lean_inc(x_21);
lean_dec(x_20);
x_22 = lean_apply_2(x_21, lean_box(0), x_6);
return x_22;
}
}
}
LEAN_EXPORT lean_object* l_ByteArray_forIn_loop(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_ByteArray_forIn_loop___rarg___boxed), 6, 0);
return x_3;
}
}
LEAN_EXPORT lean_object* l_ByteArray_forIn_loop___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6;
x_6 = l_ByteArray_forIn_loop___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5);
lean_dec(x_4);
return x_6;
}
}
LEAN_EXPORT lean_object* l_ByteArray_forIn_loop___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7;
x_7 = l_ByteArray_forIn_loop___rarg(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec(x_4);
return x_7;
}
}
LEAN_EXPORT lean_object* l_ByteArray_forIn___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; lean_object* x_6;
x_5 = lean_byte_array_size(x_2);
x_6 = l_ByteArray_forIn_loop___rarg(x_1, x_2, x_4, x_5, lean_box(0), x_3);
lean_dec(x_5);
return x_6;
}
}
LEAN_EXPORT lean_object* l_ByteArray_forIn(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_ByteArray_forIn___rarg), 4, 0);
return x_3;
}
}
LEAN_EXPORT lean_object* l_ByteArray_instForInByteArrayUInt8___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; size_t x_6; size_t x_7; lean_object* x_8;
x_5 = lean_byte_array_size(x_2);
x_6 = lean_usize_of_nat(x_5);
lean_dec(x_5);
x_7 = 0;
x_8 = l_ByteArray_forInUnsafe_loop___rarg(x_1, x_2, x_4, x_6, x_7, x_3);
return x_8;
}
}
LEAN_EXPORT lean_object* l_ByteArray_instForInByteArrayUInt8(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_ByteArray_instForInByteArrayUInt8___rarg), 4, 0);
return x_3;
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe_fold___rarg___lambda__1(size_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, lean_object* x_6) {
_start:
{
size_t x_7; size_t x_8; lean_object* x_9;
x_7 = 1;
x_8 = lean_usize_add(x_1, x_7);
x_9 = l_ByteArray_foldlMUnsafe_fold___rarg(x_2, x_3, x_4, x_8, x_5, x_6);
return x_9;
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe_fold___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6) {
_start:
{
uint8_t x_7;
x_7 = lean_usize_dec_eq(x_4, x_5);
if (x_7 == 0)
{
lean_object* x_8; uint8_t x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
x_8 = lean_ctor_get(x_1, 1);
lean_inc(x_8);
x_9 = lean_byte_array_uget(x_3, x_4);
x_10 = lean_box(x_9);
lean_inc(x_2);
x_11 = lean_apply_2(x_2, x_6, x_10);
x_12 = lean_box_usize(x_4);
x_13 = lean_box_usize(x_5);
x_14 = lean_alloc_closure((void*)(l_ByteArray_foldlMUnsafe_fold___rarg___lambda__1___boxed), 6, 5);
lean_closure_set(x_14, 0, x_12);
lean_closure_set(x_14, 1, x_1);
lean_closure_set(x_14, 2, x_2);
lean_closure_set(x_14, 3, x_3);
lean_closure_set(x_14, 4, x_13);
x_15 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_11, x_14);
return x_15;
}
else
{
lean_object* x_16; lean_object* x_17; lean_object* x_18;
lean_dec(x_3);
lean_dec(x_2);
x_16 = lean_ctor_get(x_1, 0);
lean_inc(x_16);
lean_dec(x_1);
x_17 = lean_ctor_get(x_16, 1);
lean_inc(x_17);
lean_dec(x_16);
x_18 = lean_apply_2(x_17, lean_box(0), x_6);
return x_18;
}
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe_fold(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_ByteArray_foldlMUnsafe_fold___rarg___boxed), 6, 0);
return x_3;
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe_fold___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
size_t x_7; size_t x_8; lean_object* x_9;
x_7 = lean_unbox_usize(x_1);
lean_dec(x_1);
x_8 = lean_unbox_usize(x_5);
lean_dec(x_5);
x_9 = l_ByteArray_foldlMUnsafe_fold___rarg___lambda__1(x_7, x_2, x_3, x_4, x_8, x_6);
return x_9;
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe_fold___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
size_t x_7; size_t x_8; lean_object* x_9;
x_7 = lean_unbox_usize(x_4);
lean_dec(x_4);
x_8 = lean_unbox_usize(x_5);
lean_dec(x_5);
x_9 = l_ByteArray_foldlMUnsafe_fold___rarg(x_1, x_2, x_3, x_7, x_8, x_6);
return x_9;
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
uint8_t x_7;
x_7 = lean_nat_dec_lt(x_5, x_6);
if (x_7 == 0)
{
lean_object* x_8; lean_object* x_9; lean_object* x_10;
lean_dec(x_4);
lean_dec(x_2);
x_8 = lean_ctor_get(x_1, 0);
lean_inc(x_8);
lean_dec(x_1);
x_9 = lean_ctor_get(x_8, 1);
lean_inc(x_9);
lean_dec(x_8);
x_10 = lean_apply_2(x_9, lean_box(0), x_3);
return x_10;
}
else
{
lean_object* x_11; uint8_t x_12;
x_11 = lean_byte_array_size(x_4);
x_12 = lean_nat_dec_le(x_6, x_11);
lean_dec(x_11);
if (x_12 == 0)
{
lean_object* x_13; lean_object* x_14; lean_object* x_15;
lean_dec(x_4);
lean_dec(x_2);
x_13 = lean_ctor_get(x_1, 0);
lean_inc(x_13);
lean_dec(x_1);
x_14 = lean_ctor_get(x_13, 1);
lean_inc(x_14);
lean_dec(x_13);
x_15 = lean_apply_2(x_14, lean_box(0), x_3);
return x_15;
}
else
{
size_t x_16; size_t x_17; lean_object* x_18;
x_16 = lean_usize_of_nat(x_5);
x_17 = lean_usize_of_nat(x_6);
x_18 = l_ByteArray_foldlMUnsafe_fold___rarg(x_1, x_2, x_4, x_16, x_17, x_3);
return x_18;
}
}
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_ByteArray_foldlMUnsafe___rarg___boxed), 6, 0);
return x_3;
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7;
x_7 = l_ByteArray_foldlMUnsafe___rarg(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec(x_6);
lean_dec(x_5);
return x_7;
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldlM_loop___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
_start:
{
lean_object* x_8; lean_object* x_9; lean_object* x_10;
x_8 = lean_unsigned_to_nat(1u);
x_9 = lean_nat_add(x_1, x_8);
lean_dec(x_1);
x_10 = l_ByteArray_foldlM_loop___rarg(x_2, x_3, x_4, x_5, lean_box(0), x_6, x_9, x_7);
return x_10;
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldlM_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) {
_start:
{
uint8_t x_9;
x_9 = lean_nat_dec_lt(x_7, x_4);
if (x_9 == 0)
{
lean_object* x_10; lean_object* x_11; lean_object* x_12;
lean_dec(x_7);
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_ctor_get(x_10, 1);
lean_inc(x_11);
lean_dec(x_10);
x_12 = lean_apply_2(x_11, lean_box(0), x_8);
return x_12;
}
else
{
lean_object* x_13; uint8_t x_14;
x_13 = lean_unsigned_to_nat(0u);
x_14 = lean_nat_dec_eq(x_6, x_13);
if (x_14 == 0)
{
lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
x_15 = lean_unsigned_to_nat(1u);
x_16 = lean_nat_sub(x_6, x_15);
x_17 = lean_ctor_get(x_1, 1);
lean_inc(x_17);
x_18 = lean_byte_array_fget(x_3, x_7);
x_19 = lean_box(x_18);
lean_inc(x_2);
x_20 = lean_apply_2(x_2, x_8, x_19);
x_21 = lean_alloc_closure((void*)(l_ByteArray_foldlM_loop___rarg___lambda__1___boxed), 7, 6);
lean_closure_set(x_21, 0, x_7);
lean_closure_set(x_21, 1, x_1);
lean_closure_set(x_21, 2, x_2);
lean_closure_set(x_21, 3, x_3);
lean_closure_set(x_21, 4, x_4);
lean_closure_set(x_21, 5, x_16);
x_22 = lean_apply_4(x_17, lean_box(0), lean_box(0), x_20, x_21);
return x_22;
}
else
{
lean_object* x_23; lean_object* x_24; lean_object* x_25;
lean_dec(x_7);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
x_23 = lean_ctor_get(x_1, 0);
lean_inc(x_23);
lean_dec(x_1);
x_24 = lean_ctor_get(x_23, 1);
lean_inc(x_24);
lean_dec(x_23);
x_25 = lean_apply_2(x_24, lean_box(0), x_8);
return x_25;
}
}
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldlM_loop(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_ByteArray_foldlM_loop___rarg___boxed), 8, 0);
return x_3;
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldlM_loop___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) {
_start:
{
lean_object* x_8;
x_8 = l_ByteArray_foldlM_loop___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
lean_dec(x_6);
return x_8;
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldlM_loop___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
_start:
{
lean_object* x_9;
x_9 = l_ByteArray_foldlM_loop___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
lean_dec(x_6);
return x_9;
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldlM___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; uint8_t x_8;
x_7 = lean_byte_array_size(x_4);
x_8 = lean_nat_dec_le(x_6, x_7);
if (x_8 == 0)
{
lean_object* x_9; lean_object* x_10;
lean_dec(x_6);
x_9 = lean_nat_sub(x_7, x_5);
x_10 = l_ByteArray_foldlM_loop___rarg(x_1, x_2, x_4, x_7, lean_box(0), x_9, x_5, x_3);
lean_dec(x_9);
return x_10;
}
else
{
lean_object* x_11; lean_object* x_12;
lean_dec(x_7);
x_11 = lean_nat_sub(x_6, x_5);
x_12 = l_ByteArray_foldlM_loop___rarg(x_1, x_2, x_4, x_6, lean_box(0), x_11, x_5, x_3);
lean_dec(x_11);
return x_12;
}
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldlM(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_ByteArray_foldlM___rarg), 6, 0);
return x_3;
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe_fold___at_ByteArray_foldl___spec__1___rarg(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5) {
_start:
{
uint8_t x_6;
x_6 = lean_usize_dec_eq(x_3, x_4);
if (x_6 == 0)
{
uint8_t x_7; lean_object* x_8; lean_object* x_9; size_t x_10; size_t x_11;
x_7 = lean_byte_array_uget(x_2, x_3);
x_8 = lean_box(x_7);
lean_inc(x_1);
x_9 = lean_apply_2(x_1, x_5, x_8);
x_10 = 1;
x_11 = lean_usize_add(x_3, x_10);
x_3 = x_11;
x_5 = x_9;
goto _start;
}
else
{
lean_dec(x_1);
return x_5;
}
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe_fold___at_ByteArray_foldl___spec__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_ByteArray_foldlMUnsafe_fold___at_ByteArray_foldl___spec__1___rarg___boxed), 5, 0);
return x_2;
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldl___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
uint8_t x_6;
x_6 = lean_nat_dec_lt(x_4, x_5);
if (x_6 == 0)
{
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
return x_2;
}
else
{
lean_object* x_7; uint8_t x_8;
x_7 = lean_byte_array_size(x_3);
x_8 = lean_nat_dec_le(x_5, x_7);
lean_dec(x_7);
if (x_8 == 0)
{
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
return x_2;
}
else
{
size_t x_9; size_t x_10; lean_object* x_11;
x_9 = lean_usize_of_nat(x_4);
lean_dec(x_4);
x_10 = lean_usize_of_nat(x_5);
lean_dec(x_5);
x_11 = l_ByteArray_foldlMUnsafe_fold___at_ByteArray_foldl___spec__1___rarg(x_1, x_3, x_9, x_10, x_2);
lean_dec(x_3);
return x_11;
}
}
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldl(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_ByteArray_foldl___rarg), 5, 0);
return x_2;
}
}
LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe_fold___at_ByteArray_foldl___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
size_t x_6; size_t x_7; lean_object* x_8;
x_6 = lean_unbox_usize(x_3);
lean_dec(x_3);
x_7 = lean_unbox_usize(x_4);
lean_dec(x_4);
x_8 = l_ByteArray_foldlMUnsafe_fold___at_ByteArray_foldl___spec__1___rarg(x_1, x_2, x_6, x_7, x_5);
lean_dec(x_2);
return x_8;
}
}
LEAN_EXPORT lean_object* l_List_toByteArray_loop(lean_object* x_1, lean_object* x_2) {
_start:
{
@ -666,7 +1442,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_ByteArray_toUInt64LE_x21___closed__4;
x_2 = l_ByteArray_toUInt64LE_x21___closed__5;
x_3 = lean_unsigned_to_nat(91u);
x_3 = lean_unsigned_to_nat(191u);
x_4 = lean_unsigned_to_nat(2u);
x_5 = l_ByteArray_toUInt64LE_x21___closed__3;
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
@ -757,7 +1533,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_ByteArray_toUInt64LE_x21___closed__4;
x_2 = l_ByteArray_toUInt64BE_x21___closed__1;
x_3 = lean_unsigned_to_nat(103u);
x_3 = lean_unsigned_to_nat(203u);
x_4 = lean_unsigned_to_nat(2u);
x_5 = l_ByteArray_toUInt64LE_x21___closed__3;
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
@ -868,6 +1644,8 @@ l_ByteArray_empty = _init_l_ByteArray_empty();
lean_mark_persistent(l_ByteArray_empty);
l_ByteArray_instInhabitedByteArray = _init_l_ByteArray_instInhabitedByteArray();
lean_mark_persistent(l_ByteArray_instInhabitedByteArray);
l_ByteArray_instEmptyCollectionByteArray = _init_l_ByteArray_instEmptyCollectionByteArray();
lean_mark_persistent(l_ByteArray_instEmptyCollectionByteArray);
l_ByteArray_instAppendByteArray___closed__1 = _init_l_ByteArray_instAppendByteArray___closed__1();
lean_mark_persistent(l_ByteArray_instAppendByteArray___closed__1);
l_ByteArray_instAppendByteArray = _init_l_ByteArray_instAppendByteArray();

View file

@ -15,50 +15,99 @@ extern "C" {
#endif
lean_object* l_List_reverse___rarg(lean_object*);
lean_object* lean_float_array_size(lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_foldlM_loop___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_get_x3f(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_toList_loop(lean_object*, lean_object*, lean_object*);
size_t lean_usize_add(size_t, size_t);
LEAN_EXPORT lean_object* l_List_toFloatArray(lean_object*);
uint8_t lean_usize_dec_eq(size_t, size_t);
LEAN_EXPORT lean_object* l_FloatArray_push___boxed(lean_object*, lean_object*);
lean_object* lean_float_array_uset(lean_object*, size_t, double);
LEAN_EXPORT lean_object* l_FloatArray_foldlM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_forIn_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_float_array_push(lean_object*, double);
LEAN_EXPORT lean_object* l_FloatArray_forIn_loop___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_List_toString___at_instToStringFloatArray___spec__1___closed__2;
LEAN_EXPORT lean_object* l_FloatArray_get___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_size___boxed(lean_object*);
static lean_object* l_List_toString___at_instToStringFloatArray___spec__1___closed__1;
LEAN_EXPORT lean_object* l_FloatArray_uget___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_forIn_loop___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_toList___boxed(lean_object*);
lean_object* lean_string_append(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_toList(lean_object*);
lean_object* lean_float_array_data(lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_forIn_loop(lean_object*, lean_object*);
uint8_t lean_usize_dec_lt(size_t, size_t);
LEAN_EXPORT lean_object* l_FloatArray_forInUnsafe_loop___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_FloatArray_empty___closed__1;
lean_object* lean_nat_add(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_foldlM_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_foldl___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_toList_loop___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_toFloatArray_loop(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe_fold___at_FloatArray_foldl___spec__1___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_set___boxed(lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_sub(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_instEmptyCollectionFloatArray;
static lean_object* l_List_toStringAux___at_instToStringFloatArray___spec__2___closed__2;
LEAN_EXPORT lean_object* l_FloatArray_empty;
LEAN_EXPORT lean_object* l_FloatArray_forInUnsafe_loop(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_isEmpty___boxed(lean_object*);
LEAN_EXPORT lean_object* l_List_toStringAux___at_instToStringFloatArray___spec__2___boxed(lean_object*, lean_object*);
static lean_object* l_List_toStringAux___at_instToStringFloatArray___spec__2___closed__1;
lean_object* lean_float_to_string(double);
LEAN_EXPORT lean_object* l_FloatArray_mk___boxed(lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_foldlM_loop___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_forIn(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_forInUnsafe_loop___rarg___lambda__1(lean_object*, size_t, lean_object*, lean_object*, size_t, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_forInUnsafe___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_foldl(lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_foldlM(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe_fold___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
double lean_float_array_fget(lean_object*, lean_object*);
size_t lean_usize_of_nat(lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_forIn___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_instForInFloatArrayFloat(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_instForInFloatArrayFloat___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_instInhabitedFloatArray;
lean_object* lean_float_array_mk(lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_set_x21___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_forIn_loop___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_FloatArray_isEmpty(lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_get_x21___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_mkEmpty___boxed(lean_object*);
lean_object* lean_float_array_set(lean_object*, lean_object*, double);
LEAN_EXPORT lean_object* l_List_toString___at_instToStringFloatArray___spec__1(lean_object*);
LEAN_EXPORT lean_object* l_instToStringFloatArray(lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe_fold___rarg___lambda__1(size_t, lean_object*, lean_object*, lean_object*, size_t, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe_fold___at_FloatArray_foldl___spec__1(lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe_fold___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_empty_float_array(lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_forInUnsafe(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe_fold___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_getOp___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_get_x3f___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe_fold___at_FloatArray_foldl___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_toStringAux___at_instToStringFloatArray___spec__2(uint8_t, lean_object*);
double lean_float_array_get(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_uset___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_float_array_fset(lean_object*, lean_object*, double);
LEAN_EXPORT double l_FloatArray_getOp(lean_object*, lean_object*);
double lean_float_array_uget(lean_object*, size_t);
static lean_object* l_List_toString___at_instToStringFloatArray___spec__1___closed__3;
LEAN_EXPORT lean_object* l_FloatArray_forInUnsafe_loop___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_data___boxed(lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_forInUnsafe_loop___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe_fold(lean_object*, lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_foldlM_loop___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_foldlM_loop(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_FloatArray_mk___boxed(lean_object* x_1) {
_start:
{
@ -109,6 +158,14 @@ x_1 = l_FloatArray_empty;
return x_1;
}
}
static lean_object* _init_l_FloatArray_instEmptyCollectionFloatArray() {
_start:
{
lean_object* x_1;
x_1 = l_FloatArray_empty;
return x_1;
}
}
LEAN_EXPORT lean_object* l_FloatArray_push___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
@ -128,6 +185,18 @@ lean_dec(x_1);
return x_2;
}
}
LEAN_EXPORT lean_object* l_FloatArray_uget___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
size_t x_4; double x_5; lean_object* x_6;
x_4 = lean_unbox_usize(x_2);
lean_dec(x_2);
x_5 = lean_float_array_uget(x_1, x_4);
lean_dec(x_1);
x_6 = lean_box_float(x_5);
return x_6;
}
}
LEAN_EXPORT lean_object* l_FloatArray_get___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
@ -184,6 +253,37 @@ lean_dec(x_1);
return x_3;
}
}
LEAN_EXPORT double l_FloatArray_getOp(lean_object* x_1, lean_object* x_2) {
_start:
{
double x_3;
x_3 = lean_float_array_get(x_1, x_2);
return x_3;
}
}
LEAN_EXPORT lean_object* l_FloatArray_getOp___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
double x_3; lean_object* x_4;
x_3 = l_FloatArray_getOp(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
x_4 = lean_box_float(x_3);
return x_4;
}
}
LEAN_EXPORT lean_object* l_FloatArray_uset___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
size_t x_5; double x_6; lean_object* x_7;
x_5 = lean_unbox_usize(x_2);
lean_dec(x_2);
x_6 = lean_unbox_float(x_3);
lean_dec(x_3);
x_7 = lean_float_array_uset(x_1, x_5, x_6);
return x_7;
}
}
LEAN_EXPORT lean_object* l_FloatArray_set___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@ -286,6 +386,657 @@ lean_dec(x_1);
return x_2;
}
}
LEAN_EXPORT lean_object* l_FloatArray_forInUnsafe_loop___rarg___lambda__1(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4, size_t x_5, lean_object* x_6) {
_start:
{
if (lean_obj_tag(x_6) == 0)
{
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
lean_dec(x_4);
lean_dec(x_3);
x_7 = lean_ctor_get(x_6, 0);
lean_inc(x_7);
lean_dec(x_6);
x_8 = lean_ctor_get(x_1, 0);
lean_inc(x_8);
lean_dec(x_1);
x_9 = lean_ctor_get(x_8, 1);
lean_inc(x_9);
lean_dec(x_8);
x_10 = lean_apply_2(x_9, lean_box(0), x_7);
return x_10;
}
else
{
lean_object* x_11; size_t x_12; size_t x_13; lean_object* x_14;
x_11 = lean_ctor_get(x_6, 0);
lean_inc(x_11);
lean_dec(x_6);
x_12 = 1;
x_13 = lean_usize_add(x_2, x_12);
x_14 = l_FloatArray_forInUnsafe_loop___rarg(x_1, x_3, x_4, x_5, x_13, x_11);
return x_14;
}
}
}
LEAN_EXPORT lean_object* l_FloatArray_forInUnsafe_loop___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6) {
_start:
{
uint8_t x_7;
x_7 = lean_usize_dec_lt(x_5, x_4);
if (x_7 == 0)
{
lean_object* x_8; lean_object* x_9; lean_object* x_10;
lean_dec(x_3);
lean_dec(x_2);
x_8 = lean_ctor_get(x_1, 0);
lean_inc(x_8);
lean_dec(x_1);
x_9 = lean_ctor_get(x_8, 1);
lean_inc(x_9);
lean_dec(x_8);
x_10 = lean_apply_2(x_9, lean_box(0), x_6);
return x_10;
}
else
{
double x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
x_11 = lean_float_array_uget(x_2, x_5);
x_12 = lean_ctor_get(x_1, 1);
lean_inc(x_12);
x_13 = lean_box_float(x_11);
lean_inc(x_3);
x_14 = lean_apply_2(x_3, x_13, x_6);
x_15 = lean_box_usize(x_5);
x_16 = lean_box_usize(x_4);
x_17 = lean_alloc_closure((void*)(l_FloatArray_forInUnsafe_loop___rarg___lambda__1___boxed), 6, 5);
lean_closure_set(x_17, 0, x_1);
lean_closure_set(x_17, 1, x_15);
lean_closure_set(x_17, 2, x_2);
lean_closure_set(x_17, 3, x_3);
lean_closure_set(x_17, 4, x_16);
x_18 = lean_apply_4(x_12, lean_box(0), lean_box(0), x_14, x_17);
return x_18;
}
}
}
LEAN_EXPORT lean_object* l_FloatArray_forInUnsafe_loop(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_FloatArray_forInUnsafe_loop___rarg___boxed), 6, 0);
return x_3;
}
}
LEAN_EXPORT lean_object* l_FloatArray_forInUnsafe_loop___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
size_t x_7; size_t x_8; lean_object* x_9;
x_7 = lean_unbox_usize(x_2);
lean_dec(x_2);
x_8 = lean_unbox_usize(x_5);
lean_dec(x_5);
x_9 = l_FloatArray_forInUnsafe_loop___rarg___lambda__1(x_1, x_7, x_3, x_4, x_8, x_6);
return x_9;
}
}
LEAN_EXPORT lean_object* l_FloatArray_forInUnsafe_loop___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
size_t x_7; size_t x_8; lean_object* x_9;
x_7 = lean_unbox_usize(x_4);
lean_dec(x_4);
x_8 = lean_unbox_usize(x_5);
lean_dec(x_5);
x_9 = l_FloatArray_forInUnsafe_loop___rarg(x_1, x_2, x_3, x_7, x_8, x_6);
return x_9;
}
}
LEAN_EXPORT lean_object* l_FloatArray_forInUnsafe___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; size_t x_6; size_t x_7; lean_object* x_8;
x_5 = lean_float_array_size(x_2);
x_6 = lean_usize_of_nat(x_5);
lean_dec(x_5);
x_7 = 0;
x_8 = l_FloatArray_forInUnsafe_loop___rarg(x_1, x_2, x_4, x_6, x_7, x_3);
return x_8;
}
}
LEAN_EXPORT lean_object* l_FloatArray_forInUnsafe(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_FloatArray_forInUnsafe___rarg), 4, 0);
return x_3;
}
}
LEAN_EXPORT lean_object* l_FloatArray_forIn_loop___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
if (lean_obj_tag(x_5) == 0)
{
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
lean_dec(x_3);
lean_dec(x_2);
x_6 = lean_ctor_get(x_5, 0);
lean_inc(x_6);
lean_dec(x_5);
x_7 = lean_ctor_get(x_1, 0);
lean_inc(x_7);
lean_dec(x_1);
x_8 = lean_ctor_get(x_7, 1);
lean_inc(x_8);
lean_dec(x_7);
x_9 = lean_apply_2(x_8, lean_box(0), x_6);
return x_9;
}
else
{
lean_object* x_10; lean_object* x_11;
x_10 = lean_ctor_get(x_5, 0);
lean_inc(x_10);
lean_dec(x_5);
x_11 = l_FloatArray_forIn_loop___rarg(x_1, x_2, x_3, x_4, lean_box(0), x_10);
return x_11;
}
}
}
LEAN_EXPORT lean_object* l_FloatArray_forIn_loop___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; uint8_t x_8;
x_7 = lean_unsigned_to_nat(0u);
x_8 = lean_nat_dec_eq(x_4, x_7);
if (x_8 == 0)
{
lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; double x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
x_9 = lean_unsigned_to_nat(1u);
x_10 = lean_nat_sub(x_4, x_9);
x_11 = lean_ctor_get(x_1, 1);
lean_inc(x_11);
x_12 = lean_float_array_size(x_2);
x_13 = lean_nat_sub(x_12, x_9);
lean_dec(x_12);
x_14 = lean_nat_sub(x_13, x_10);
lean_dec(x_13);
x_15 = lean_float_array_fget(x_2, x_14);
lean_dec(x_14);
x_16 = lean_box_float(x_15);
lean_inc(x_3);
x_17 = lean_apply_2(x_3, x_16, x_6);
x_18 = lean_alloc_closure((void*)(l_FloatArray_forIn_loop___rarg___lambda__1___boxed), 5, 4);
lean_closure_set(x_18, 0, x_1);
lean_closure_set(x_18, 1, x_2);
lean_closure_set(x_18, 2, x_3);
lean_closure_set(x_18, 3, x_10);
x_19 = lean_apply_4(x_11, lean_box(0), lean_box(0), x_17, x_18);
return x_19;
}
else
{
lean_object* x_20; lean_object* x_21; lean_object* x_22;
lean_dec(x_3);
lean_dec(x_2);
x_20 = lean_ctor_get(x_1, 0);
lean_inc(x_20);
lean_dec(x_1);
x_21 = lean_ctor_get(x_20, 1);
lean_inc(x_21);
lean_dec(x_20);
x_22 = lean_apply_2(x_21, lean_box(0), x_6);
return x_22;
}
}
}
LEAN_EXPORT lean_object* l_FloatArray_forIn_loop(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_FloatArray_forIn_loop___rarg___boxed), 6, 0);
return x_3;
}
}
LEAN_EXPORT lean_object* l_FloatArray_forIn_loop___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6;
x_6 = l_FloatArray_forIn_loop___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5);
lean_dec(x_4);
return x_6;
}
}
LEAN_EXPORT lean_object* l_FloatArray_forIn_loop___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7;
x_7 = l_FloatArray_forIn_loop___rarg(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec(x_4);
return x_7;
}
}
LEAN_EXPORT lean_object* l_FloatArray_forIn___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; lean_object* x_6;
x_5 = lean_float_array_size(x_2);
x_6 = l_FloatArray_forIn_loop___rarg(x_1, x_2, x_4, x_5, lean_box(0), x_3);
lean_dec(x_5);
return x_6;
}
}
LEAN_EXPORT lean_object* l_FloatArray_forIn(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_FloatArray_forIn___rarg), 4, 0);
return x_3;
}
}
LEAN_EXPORT lean_object* l_FloatArray_instForInFloatArrayFloat___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; size_t x_6; size_t x_7; lean_object* x_8;
x_5 = lean_float_array_size(x_2);
x_6 = lean_usize_of_nat(x_5);
lean_dec(x_5);
x_7 = 0;
x_8 = l_FloatArray_forInUnsafe_loop___rarg(x_1, x_2, x_4, x_6, x_7, x_3);
return x_8;
}
}
LEAN_EXPORT lean_object* l_FloatArray_instForInFloatArrayFloat(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_FloatArray_instForInFloatArrayFloat___rarg), 4, 0);
return x_3;
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe_fold___rarg___lambda__1(size_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, lean_object* x_6) {
_start:
{
size_t x_7; size_t x_8; lean_object* x_9;
x_7 = 1;
x_8 = lean_usize_add(x_1, x_7);
x_9 = l_FloatArray_foldlMUnsafe_fold___rarg(x_2, x_3, x_4, x_8, x_5, x_6);
return x_9;
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe_fold___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6) {
_start:
{
uint8_t x_7;
x_7 = lean_usize_dec_eq(x_4, x_5);
if (x_7 == 0)
{
lean_object* x_8; double x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
x_8 = lean_ctor_get(x_1, 1);
lean_inc(x_8);
x_9 = lean_float_array_uget(x_3, x_4);
x_10 = lean_box_float(x_9);
lean_inc(x_2);
x_11 = lean_apply_2(x_2, x_6, x_10);
x_12 = lean_box_usize(x_4);
x_13 = lean_box_usize(x_5);
x_14 = lean_alloc_closure((void*)(l_FloatArray_foldlMUnsafe_fold___rarg___lambda__1___boxed), 6, 5);
lean_closure_set(x_14, 0, x_12);
lean_closure_set(x_14, 1, x_1);
lean_closure_set(x_14, 2, x_2);
lean_closure_set(x_14, 3, x_3);
lean_closure_set(x_14, 4, x_13);
x_15 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_11, x_14);
return x_15;
}
else
{
lean_object* x_16; lean_object* x_17; lean_object* x_18;
lean_dec(x_3);
lean_dec(x_2);
x_16 = lean_ctor_get(x_1, 0);
lean_inc(x_16);
lean_dec(x_1);
x_17 = lean_ctor_get(x_16, 1);
lean_inc(x_17);
lean_dec(x_16);
x_18 = lean_apply_2(x_17, lean_box(0), x_6);
return x_18;
}
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe_fold(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_FloatArray_foldlMUnsafe_fold___rarg___boxed), 6, 0);
return x_3;
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe_fold___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
size_t x_7; size_t x_8; lean_object* x_9;
x_7 = lean_unbox_usize(x_1);
lean_dec(x_1);
x_8 = lean_unbox_usize(x_5);
lean_dec(x_5);
x_9 = l_FloatArray_foldlMUnsafe_fold___rarg___lambda__1(x_7, x_2, x_3, x_4, x_8, x_6);
return x_9;
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe_fold___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
size_t x_7; size_t x_8; lean_object* x_9;
x_7 = lean_unbox_usize(x_4);
lean_dec(x_4);
x_8 = lean_unbox_usize(x_5);
lean_dec(x_5);
x_9 = l_FloatArray_foldlMUnsafe_fold___rarg(x_1, x_2, x_3, x_7, x_8, x_6);
return x_9;
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
uint8_t x_7;
x_7 = lean_nat_dec_lt(x_5, x_6);
if (x_7 == 0)
{
lean_object* x_8; lean_object* x_9; lean_object* x_10;
lean_dec(x_4);
lean_dec(x_2);
x_8 = lean_ctor_get(x_1, 0);
lean_inc(x_8);
lean_dec(x_1);
x_9 = lean_ctor_get(x_8, 1);
lean_inc(x_9);
lean_dec(x_8);
x_10 = lean_apply_2(x_9, lean_box(0), x_3);
return x_10;
}
else
{
lean_object* x_11; uint8_t x_12;
x_11 = lean_float_array_size(x_4);
x_12 = lean_nat_dec_le(x_6, x_11);
lean_dec(x_11);
if (x_12 == 0)
{
lean_object* x_13; lean_object* x_14; lean_object* x_15;
lean_dec(x_4);
lean_dec(x_2);
x_13 = lean_ctor_get(x_1, 0);
lean_inc(x_13);
lean_dec(x_1);
x_14 = lean_ctor_get(x_13, 1);
lean_inc(x_14);
lean_dec(x_13);
x_15 = lean_apply_2(x_14, lean_box(0), x_3);
return x_15;
}
else
{
size_t x_16; size_t x_17; lean_object* x_18;
x_16 = lean_usize_of_nat(x_5);
x_17 = lean_usize_of_nat(x_6);
x_18 = l_FloatArray_foldlMUnsafe_fold___rarg(x_1, x_2, x_4, x_16, x_17, x_3);
return x_18;
}
}
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_FloatArray_foldlMUnsafe___rarg___boxed), 6, 0);
return x_3;
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7;
x_7 = l_FloatArray_foldlMUnsafe___rarg(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec(x_6);
lean_dec(x_5);
return x_7;
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldlM_loop___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
_start:
{
lean_object* x_8; lean_object* x_9; lean_object* x_10;
x_8 = lean_unsigned_to_nat(1u);
x_9 = lean_nat_add(x_1, x_8);
lean_dec(x_1);
x_10 = l_FloatArray_foldlM_loop___rarg(x_2, x_3, x_4, x_5, lean_box(0), x_6, x_9, x_7);
return x_10;
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldlM_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) {
_start:
{
uint8_t x_9;
x_9 = lean_nat_dec_lt(x_7, x_4);
if (x_9 == 0)
{
lean_object* x_10; lean_object* x_11; lean_object* x_12;
lean_dec(x_7);
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_ctor_get(x_10, 1);
lean_inc(x_11);
lean_dec(x_10);
x_12 = lean_apply_2(x_11, lean_box(0), x_8);
return x_12;
}
else
{
lean_object* x_13; uint8_t x_14;
x_13 = lean_unsigned_to_nat(0u);
x_14 = lean_nat_dec_eq(x_6, x_13);
if (x_14 == 0)
{
lean_object* x_15; lean_object* x_16; lean_object* x_17; double x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
x_15 = lean_unsigned_to_nat(1u);
x_16 = lean_nat_sub(x_6, x_15);
x_17 = lean_ctor_get(x_1, 1);
lean_inc(x_17);
x_18 = lean_float_array_fget(x_3, x_7);
x_19 = lean_box_float(x_18);
lean_inc(x_2);
x_20 = lean_apply_2(x_2, x_8, x_19);
x_21 = lean_alloc_closure((void*)(l_FloatArray_foldlM_loop___rarg___lambda__1___boxed), 7, 6);
lean_closure_set(x_21, 0, x_7);
lean_closure_set(x_21, 1, x_1);
lean_closure_set(x_21, 2, x_2);
lean_closure_set(x_21, 3, x_3);
lean_closure_set(x_21, 4, x_4);
lean_closure_set(x_21, 5, x_16);
x_22 = lean_apply_4(x_17, lean_box(0), lean_box(0), x_20, x_21);
return x_22;
}
else
{
lean_object* x_23; lean_object* x_24; lean_object* x_25;
lean_dec(x_7);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
x_23 = lean_ctor_get(x_1, 0);
lean_inc(x_23);
lean_dec(x_1);
x_24 = lean_ctor_get(x_23, 1);
lean_inc(x_24);
lean_dec(x_23);
x_25 = lean_apply_2(x_24, lean_box(0), x_8);
return x_25;
}
}
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldlM_loop(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_FloatArray_foldlM_loop___rarg___boxed), 8, 0);
return x_3;
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldlM_loop___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) {
_start:
{
lean_object* x_8;
x_8 = l_FloatArray_foldlM_loop___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
lean_dec(x_6);
return x_8;
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldlM_loop___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
_start:
{
lean_object* x_9;
x_9 = l_FloatArray_foldlM_loop___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
lean_dec(x_6);
return x_9;
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldlM___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; uint8_t x_8;
x_7 = lean_float_array_size(x_4);
x_8 = lean_nat_dec_le(x_6, x_7);
if (x_8 == 0)
{
lean_object* x_9; lean_object* x_10;
lean_dec(x_6);
x_9 = lean_nat_sub(x_7, x_5);
x_10 = l_FloatArray_foldlM_loop___rarg(x_1, x_2, x_4, x_7, lean_box(0), x_9, x_5, x_3);
lean_dec(x_9);
return x_10;
}
else
{
lean_object* x_11; lean_object* x_12;
lean_dec(x_7);
x_11 = lean_nat_sub(x_6, x_5);
x_12 = l_FloatArray_foldlM_loop___rarg(x_1, x_2, x_4, x_6, lean_box(0), x_11, x_5, x_3);
lean_dec(x_11);
return x_12;
}
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldlM(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_FloatArray_foldlM___rarg), 6, 0);
return x_3;
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe_fold___at_FloatArray_foldl___spec__1___rarg(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5) {
_start:
{
uint8_t x_6;
x_6 = lean_usize_dec_eq(x_3, x_4);
if (x_6 == 0)
{
double x_7; lean_object* x_8; lean_object* x_9; size_t x_10; size_t x_11;
x_7 = lean_float_array_uget(x_2, x_3);
x_8 = lean_box_float(x_7);
lean_inc(x_1);
x_9 = lean_apply_2(x_1, x_5, x_8);
x_10 = 1;
x_11 = lean_usize_add(x_3, x_10);
x_3 = x_11;
x_5 = x_9;
goto _start;
}
else
{
lean_dec(x_1);
return x_5;
}
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe_fold___at_FloatArray_foldl___spec__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_FloatArray_foldlMUnsafe_fold___at_FloatArray_foldl___spec__1___rarg___boxed), 5, 0);
return x_2;
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldl___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
uint8_t x_6;
x_6 = lean_nat_dec_lt(x_4, x_5);
if (x_6 == 0)
{
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
return x_2;
}
else
{
lean_object* x_7; uint8_t x_8;
x_7 = lean_float_array_size(x_3);
x_8 = lean_nat_dec_le(x_5, x_7);
lean_dec(x_7);
if (x_8 == 0)
{
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
return x_2;
}
else
{
size_t x_9; size_t x_10; lean_object* x_11;
x_9 = lean_usize_of_nat(x_4);
lean_dec(x_4);
x_10 = lean_usize_of_nat(x_5);
lean_dec(x_5);
x_11 = l_FloatArray_foldlMUnsafe_fold___at_FloatArray_foldl___spec__1___rarg(x_1, x_3, x_9, x_10, x_2);
lean_dec(x_3);
return x_11;
}
}
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldl(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_FloatArray_foldl___rarg), 5, 0);
return x_2;
}
}
LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe_fold___at_FloatArray_foldl___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
size_t x_6; size_t x_7; lean_object* x_8;
x_6 = lean_unbox_usize(x_3);
lean_dec(x_3);
x_7 = lean_unbox_usize(x_4);
lean_dec(x_4);
x_8 = l_FloatArray_foldlMUnsafe_fold___at_FloatArray_foldl___spec__1___rarg(x_1, x_2, x_6, x_7, x_5);
lean_dec(x_2);
return x_8;
}
}
LEAN_EXPORT lean_object* l_List_toFloatArray_loop(lean_object* x_1, lean_object* x_2) {
_start:
{
@ -510,6 +1261,8 @@ l_FloatArray_empty = _init_l_FloatArray_empty();
lean_mark_persistent(l_FloatArray_empty);
l_FloatArray_instInhabitedFloatArray = _init_l_FloatArray_instInhabitedFloatArray();
lean_mark_persistent(l_FloatArray_instInhabitedFloatArray);
l_FloatArray_instEmptyCollectionFloatArray = _init_l_FloatArray_instEmptyCollectionFloatArray();
lean_mark_persistent(l_FloatArray_instEmptyCollectionFloatArray);
l_List_toStringAux___at_instToStringFloatArray___spec__2___closed__1 = _init_l_List_toStringAux___at_instToStringFloatArray___spec__2___closed__1();
lean_mark_persistent(l_List_toStringAux___at_instToStringFloatArray___spec__2___closed__1);
l_List_toStringAux___at_instToStringFloatArray___spec__2___closed__2 = _init_l_List_toStringAux___at_instToStringFloatArray___spec__2___closed__2();

View file

@ -13,11 +13,13 @@
#ifdef __cplusplus
extern "C" {
#endif
uint64_t lean_uint8_to_uint64(uint8_t);
LEAN_EXPORT uint64_t l_instHashableProd___rarg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint64_t l_instHashableUSize(size_t);
LEAN_EXPORT lean_object* l_instHashableList(lean_object*);
LEAN_EXPORT lean_object* l_instHashableUSize___boxed(lean_object*);
LEAN_EXPORT lean_object* l_List_foldl___at_instHashableList___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*);
uint64_t lean_uint16_to_uint64(uint16_t);
LEAN_EXPORT lean_object* l_instHashable___boxed(lean_object*, lean_object*);
LEAN_EXPORT uint64_t l_instHashableBool(uint8_t);
LEAN_EXPORT lean_object* l_instHashableOption(lean_object*);
@ -28,6 +30,8 @@ LEAN_EXPORT lean_object* l_List_foldl___at_instHashableList___spec__1(lean_objec
LEAN_EXPORT lean_object* l_instHashableUInt64___boxed(lean_object*);
LEAN_EXPORT lean_object* l_instHashableProd(lean_object*, lean_object*);
lean_object* lean_nat_sub(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instHashableUInt16___boxed(lean_object*);
LEAN_EXPORT uint64_t l_instHashableUInt16(uint16_t);
uint64_t lean_uint64_of_nat(lean_object*);
LEAN_EXPORT uint64_t l_instHashableUInt64(uint64_t);
LEAN_EXPORT lean_object* l_instHashableList___rarg___boxed(lean_object*, lean_object*);
@ -52,6 +56,8 @@ LEAN_EXPORT lean_object* l_instHashableBool___boxed(lean_object*);
LEAN_EXPORT uint64_t l_instHashableUInt32(uint32_t);
LEAN_EXPORT uint64_t l_List_foldl___at_instHashableList___spec__1___rarg(lean_object*, uint64_t, lean_object*);
static lean_object* l_instHashableInt___closed__1;
LEAN_EXPORT lean_object* l_instHashableUInt8___boxed(lean_object*);
LEAN_EXPORT uint64_t l_instHashableUInt8(uint8_t);
lean_object* lean_nat_to_int(lean_object*);
LEAN_EXPORT lean_object* l_instHashableInt___boxed(lean_object*);
LEAN_EXPORT uint64_t l_instHashableNat(lean_object* x_1) {
@ -250,6 +256,44 @@ x_4 = lean_box_uint64(x_3);
return x_4;
}
}
LEAN_EXPORT uint64_t l_instHashableUInt8(uint8_t x_1) {
_start:
{
uint64_t x_2;
x_2 = lean_uint8_to_uint64(x_1);
return x_2;
}
}
LEAN_EXPORT lean_object* l_instHashableUInt8___boxed(lean_object* x_1) {
_start:
{
uint8_t x_2; uint64_t x_3; lean_object* x_4;
x_2 = lean_unbox(x_1);
lean_dec(x_1);
x_3 = l_instHashableUInt8(x_2);
x_4 = lean_box_uint64(x_3);
return x_4;
}
}
LEAN_EXPORT uint64_t l_instHashableUInt16(uint16_t x_1) {
_start:
{
uint64_t x_2;
x_2 = lean_uint16_to_uint64(x_1);
return x_2;
}
}
LEAN_EXPORT lean_object* l_instHashableUInt16___boxed(lean_object* x_1) {
_start:
{
uint16_t x_2; uint64_t x_3; lean_object* x_4;
x_2 = lean_unbox(x_1);
lean_dec(x_1);
x_3 = l_instHashableUInt16(x_2);
x_4 = lean_box_uint64(x_3);
return x_4;
}
}
LEAN_EXPORT uint64_t l_instHashableUInt32(uint32_t x_1) {
_start:
{

View file

@ -21,7 +21,6 @@ lean_object* l_Lean_initializing(lean_object*);
LEAN_EXPORT lean_object* l_Array_qpartition_loop___at_Lean_registerEnumAttributes___spec__4(lean_object*);
static lean_object* l_Lean_instInhabitedTagAttribute___closed__1;
static lean_object* l_Array_qsort_sort___at_Lean_registerParametricAttribute___spec__2___rarg___closed__1;
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_AttributeKind_noConfusion___rarg(uint8_t, uint8_t, lean_object*);
static lean_object* l_Lean_instBEqAttributeApplicationTime___closed__1;
LEAN_EXPORT uint8_t l_Std_PersistentHashMap_containsAtAux___at_Lean_registerBuiltinAttribute___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -31,11 +30,11 @@ LEAN_EXPORT lean_object* l_Lean_registerEnumAttributes___rarg___lambda__1___boxe
LEAN_EXPORT lean_object* l_Lean_ParametricAttributeImpl_afterSet___default(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
size_t lean_usize_add(size_t, size_t);
LEAN_EXPORT lean_object* l_Lean_AttributeKind_toCtorIdx(uint8_t);
static lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__7;
static lean_object* l_Lean_registerTagAttribute___closed__3;
static lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__7;
lean_object* l_Lean_stringToMessageData(lean_object*);
LEAN_EXPORT lean_object* l_Lean_registerTagAttribute___lambda__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_updateEnvAttributesRef;
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3208____lambda__2___boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_instInhabitedTagAttribute___lambda__4___boxed(lean_object*);
static lean_object* l_Lean_mkAttributeImplOfBuilder___closed__1;
LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_registerAttributeImplBuilder___spec__2(lean_object*, lean_object*);
@ -45,7 +44,6 @@ LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_getBuiltinAttr
lean_object* lean_nat_div(lean_object*, lean_object*);
lean_object* l_Std_RBNode_insert___at_Lean_NameSet_insert___spec__1(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Attribute_add___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3209____lambda__2(lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_getBuiltinAttributeNames___spec__3(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_containsAtAux___at_Lean_registerBuiltinAttribute___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_registerParametricAttribute___rarg___lambda__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -53,22 +51,25 @@ extern lean_object* l_Lean_NameSet_instInhabitedNameSet;
LEAN_EXPORT lean_object* l_Lean_registerParametricAttribute___rarg___lambda__4(lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_getAttrParamOptPrio___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_qsort_sort___at_Lean_registerParametricAttribute___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_initFn____x40_Lean_Attributes___hyg_2633____spec__1___boxed(lean_object*);
lean_object* lean_name_mk_string(lean_object*, lean_object*);
uint8_t lean_usize_dec_eq(size_t, size_t);
lean_object* lean_array_uget(lean_object*, size_t);
static lean_object* l_Lean_Attribute_Builtin_getIdent_x3f___closed__2;
lean_object* lean_io_error_to_string(lean_object*);
LEAN_EXPORT lean_object* l_Lean_instMonadLiftImportMAttrM___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__1___boxed(lean_object*, lean_object*);
static lean_object* l_Lean_ParametricAttribute_setParam___rarg___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Attributes_0__Lean_AttributeExtension_mkInitial(lean_object*);
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3208____lambda__2(lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Attributes_0__Lean_AttributeExtension_addImported___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* lean_update_env_attributes(lean_object*, lean_object*);
static lean_object* l_Lean_instInhabitedTagAttribute___closed__7;
LEAN_EXPORT lean_object* l_Lean_registerTagAttribute___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Attribute_Builtin_getIdent(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_registerEnumAttributes___spec__9___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Attribute_Builtin_getIdent_x3f___closed__4;
LEAN_EXPORT lean_object* lean_attribute_application_time(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_3208____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getBuiltinAttributeImpl(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at_Lean_ParametricAttribute_getParam___spec__3(lean_object*);
uint8_t l_Lean_Name_quickLt(lean_object*, lean_object*);
@ -81,9 +82,9 @@ LEAN_EXPORT lean_object* l_Array_qsort_sort___at_Lean_registerEnumAttributes___s
LEAN_EXPORT lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_registerParametricAttribute___spec__7___rarg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_forM___at_Lean_registerEnumAttributes___spec__10(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at_Lean_EnumAttributes_getValue___spec__7(lean_object*);
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_initFn____x40_Lean_Attributes___hyg_2634____spec__1(lean_object*);
LEAN_EXPORT lean_object* l_Lean_EnvExtensionInterfaceUnsafe_getState___at_Lean_EnumAttributes_getValue___spec__2___rarg___boxed(lean_object*, lean_object*);
static lean_object* l_Lean_ParametricAttribute_setParam___rarg___closed__2;
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_initFn____x40_Lean_Attributes___hyg_2633____spec__1(lean_object*);
LEAN_EXPORT lean_object* l_Lean_EnvExtensionInterfaceUnsafe_getState___at_Lean_ParametricAttribute_setParam___spec__2___rarg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_qpartition_loop___at_Lean_registerParametricAttribute___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_AttributeExtensionState_newEntries___default;
@ -125,7 +126,6 @@ LEAN_EXPORT lean_object* l_panic___at_Lean_isAttribute___spec__3(lean_object*);
lean_object* lean_string_append(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_EnvExtensionInterfaceUnsafe_getState___at_Lean_ParametricAttribute_setParam___spec__2___rarg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_registerTagAttribute___spec__5(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3694____lambda__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentEnvExtension_getState___at_Lean_EnumAttributes_getValue___spec__1___rarg___boxed(lean_object*, lean_object*);
static lean_object* l_Lean_registerEnumAttributes___rarg___lambda__3___closed__2;
LEAN_EXPORT lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_registerTagAttribute___spec__2(lean_object*, lean_object*);
@ -134,14 +134,12 @@ LEAN_EXPORT lean_object* l_Lean_setEnv___at_Lean_registerTagAttribute___spec__4(
LEAN_EXPORT lean_object* l_Std_RBNode_fold___at_Lean_registerEnumAttributes___spec__1(lean_object*);
LEAN_EXPORT lean_object* l_Lean_attributeMapRef;
LEAN_EXPORT lean_object* l_Lean_attributeImplBuilderTableRef;
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__2(lean_object*, lean_object*);
size_t lean_usize_shift_right(size_t, size_t);
LEAN_EXPORT lean_object* l_Lean_attributeExtension___elambda__2___boxed(lean_object*);
LEAN_EXPORT lean_object* l_Std_RBNode_fold___at_Lean_registerParametricAttribute___spec__1(lean_object*);
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_227_(lean_object*);
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3694_(lean_object*);
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3209_(lean_object*);
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_2634_(lean_object*);
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3208_(lean_object*);
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_2633_(lean_object*);
static lean_object* l_Lean_Attribute_Builtin_ensureNoArgs___closed__5;
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_getAttrParamOptPrio___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_registerEnumAttributes___rarg___lambda__3___boxed(lean_object*);
@ -164,6 +162,7 @@ static lean_object* l_Lean_registerTagAttribute___closed__2;
LEAN_EXPORT lean_object* l_Lean_attributeExtension___elambda__2(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Attribute_add___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at_Lean_ParametricAttribute_getParam___spec__7(lean_object*);
static lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_updateEnvAttributesImpl___spec__2___closed__1;
static size_t l_Std_PersistentHashMap_containsAux___at_Lean_registerBuiltinAttribute___spec__2___closed__2;
static lean_object* l_Lean_registerEnumAttributes___rarg___lambda__3___closed__4;
LEAN_EXPORT lean_object* l_Lean_PersistentEnvExtension_getState___at_Lean_EnumAttributes_getValue___spec__1___rarg(lean_object*, lean_object*);
@ -172,8 +171,8 @@ static lean_object* l_Lean_instInhabitedAttributeImpl___closed__1;
LEAN_EXPORT lean_object* l_Lean_mkAttributeImplOfConstant___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentEnvExtension_getState___at_Lean_ParametricAttribute_setParam___spec__1___rarg___boxed(lean_object*, lean_object*);
static size_t l_Std_PersistentHashMap_containsAux___at_Lean_registerBuiltinAttribute___spec__2___closed__1;
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3208____lambda__1(lean_object*);
extern lean_object* l___private_Lean_Environment_0__Lean_EnvExtensionInterfaceUnsafe_invalidExtMsg;
static lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__1;
size_t lean_uint64_to_usize(uint64_t);
static lean_object* l_Lean_instInhabitedAttributeExtensionState___closed__1;
static lean_object* l_Lean_mkAttributeImplOfConstant___closed__1;
@ -191,6 +190,7 @@ LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_setValue___s
LEAN_EXPORT lean_object* l_Lean_getAttrParamOptPrio(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_ParametricAttributeImpl_afterImport___default___rarg(lean_object*);
LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_mkAttributeImplOfBuilder___spec__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_updateEnvAttributesImpl___spec__2(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentEnvExtension_getState___at_Lean_EnumAttributes_getValue___spec__1(lean_object*);
static lean_object* l_Lean_instInhabitedAttributeImpl___closed__2;
LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_setValue___spec__4___rarg___boxed(lean_object*, lean_object*);
@ -200,19 +200,21 @@ static lean_object* l_Lean_attributeExtension___closed__5;
LEAN_EXPORT lean_object* l_Array_binSearchAux___at_Lean_EnumAttributes_getValue___spec__8(lean_object*);
lean_object* lean_array_fget(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_instInhabitedAttributeExtensionState;
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_updateEnvAttributesImpl___spec__3(lean_object*, size_t, size_t, lean_object*);
static lean_object* l_Lean_instToStringAttributeKind___closed__3;
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_130_(uint8_t, uint8_t);
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_getBuiltinAttributeNames___spec__1___rarg(lean_object*, lean_object*);
static lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__1;
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_getBuiltinAttributeNames___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_take(lean_object*, lean_object*);
extern lean_object* l_Lean_numLitKind;
lean_object* l_EStateM_bind___rarg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3209____lambda__1(lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_updateEnvAttributesImpl___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Attribute_Builtin_ensureNoArgs___closed__9;
static lean_object* l_Lean_instBEqAttributeKind___closed__1;
lean_object* lean_nat_sub(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_initFn____x40_Lean_Attributes___hyg_3209____spec__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_initFn____x40_Lean_Attributes___hyg_3208____spec__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_EnvExtensionInterfaceUnsafe_getState___at_Lean_isAttribute___spec__2(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_qpartition_loop___at_Lean_registerParametricAttribute___spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentEnvExtension_getState___at_Lean_ParametricAttribute_setParam___spec__1___rarg(lean_object*, lean_object*);
@ -227,7 +229,6 @@ static lean_object* l_Lean_attributeExtension___closed__3;
LEAN_EXPORT lean_object* l_Lean_registerAttributeOfBuilder(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_instToStringAttributeKind___boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_EnvExtensionInterfaceUnsafe_getState___at_Lean_EnumAttributes_setValue___spec__2___rarg(lean_object*, lean_object*);
static lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__4;
LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_setValue___spec__4(lean_object*);
static lean_object* l_Lean_instToStringAttributeKind___closed__1;
static lean_object* l_Lean_instInhabitedEnumAttributes___closed__1;
@ -236,11 +237,13 @@ LEAN_EXPORT lean_object* l_Array_qpartition_loop___at_Lean_registerEnumAttribute
static lean_object* l_Lean_instToStringAttributeKind___closed__2;
LEAN_EXPORT lean_object* l_Lean_instInhabitedAttributeImplCore;
LEAN_EXPORT lean_object* lean_is_attribute(lean_object*, lean_object*);
static lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__2;
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_registerTagAttribute___spec__3(lean_object*, lean_object*, size_t, size_t);
lean_object* l_Lean_Name_toString(lean_object*, uint8_t);
LEAN_EXPORT lean_object* l_Lean_AttributeApplicationTime_noConfusion___rarg(uint8_t, uint8_t, lean_object*);
lean_object* l_Lean_replaceRef(lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* lean_get_num_attributes(lean_object*);
LEAN_EXPORT lean_object* l_Lean_instBEqAttributeApplicationTime;
LEAN_EXPORT lean_object* l_Lean_EnvExtensionInterfaceUnsafe_getState___at_Lean_ParametricAttribute_getParam___spec__6___rarg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_AttributeApplicationTime_noConfusion___rarg___lambda__1___boxed(lean_object*);
@ -292,7 +295,6 @@ lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_obje
LEAN_EXPORT lean_object* l_Lean_EnvExtensionInterfaceUnsafe_getState___at_Lean_EnumAttributes_setValue___spec__2(lean_object*);
LEAN_EXPORT lean_object* l_Lean_instInhabitedAttributeImpl___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_ParametricAttribute_setParam(lean_object*);
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__1___rarg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_getValue___spec__4___rarg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_qpartition_loop___at_Lean_registerEnumAttributes___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_attributeExtension___closed__1;
@ -303,29 +305,27 @@ size_t lean_usize_shift_left(size_t, size_t);
lean_object* lean_eval_const(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at_Lean_EnumAttributes_getValue___spec__3___rarg(lean_object*);
LEAN_EXPORT lean_object* l_Lean_registerTagAttribute___lambda__1(lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__2;
static lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_getBuiltinAttributeNames___spec__2___closed__1;
LEAN_EXPORT lean_object* l_Lean_registerEnumAttributes___rarg___lambda__3(lean_object*);
LEAN_EXPORT lean_object* l_Lean_registerTagAttribute___lambda__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_registerTagAttribute___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_instInhabitedTagAttribute___closed__3;
static lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__8;
static lean_object* l_Lean_attributeExtension___closed__4;
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_registerEnumAttributes___spec__8___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_qsort_sort___at_Lean_mkTagDeclarationExtension___spec__1(lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__8;
static lean_object* l_Lean_instInhabitedTagAttribute___closed__5;
static lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__4;
LEAN_EXPORT lean_object* l_Array_qpartition_loop___at_Lean_registerEnumAttributes___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_ofExcept___at_Lean_Attribute_add___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_persistentEnvExtensionsRef;
LEAN_EXPORT lean_object* l_Array_qpartition_loop___at_Lean_registerParametricAttribute___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_registerParametricAttribute___rarg___closed__1;
static lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__3;
static lean_object* l_Lean_registerTagAttribute___lambda__6___closed__3;
static lean_object* l_panic___at_Lean_isAttribute___spec__3___closed__1;
static lean_object* l_Lean_registerTagAttribute___lambda__4___closed__6;
static lean_object* l_Lean_registerParametricAttribute___rarg___closed__2;
LEAN_EXPORT lean_object* l_Lean_getBuiltinAttributeNames(lean_object*);
static lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__5;
size_t lean_usize_modn(size_t, lean_object*);
LEAN_EXPORT lean_object* l_Lean_registerTagAttribute___lambda__2(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_qpartition_loop___at_Lean_registerParametricAttribute___spec__6___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -373,13 +373,14 @@ static lean_object* l_Lean_registerTagAttribute___lambda__4___closed__2;
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_getBuiltinAttributeNames___spec__2___lambda__1(lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_mkAttributeImplOfConstantUnsafe___closed__4;
LEAN_EXPORT lean_object* l_Lean_ParametricAttribute_setParam___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__5;
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_contains___at_Lean_registerBuiltinAttribute___spec__1___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3209____lambda__2___boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Attribute_add(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_IO_ofExcept___at_Lean_mkAttributeImplOfBuilder___spec__3___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_EnvExtensionInterfaceUnsafe_getState___at_Lean_ParametricAttribute_getParam___spec__2___rarg___boxed(lean_object*, lean_object*);
static lean_object* l_Lean_Attribute_Builtin_getPrio___closed__1;
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Attribute_add___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__3;
lean_object* l_Lean_EnvExtensionInterfaceUnsafe_instInhabitedExt___lambda__1(lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Attributes_0__Lean_AttributeExtension_addImported___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getAttributeImpl___boxed(lean_object*, lean_object*);
@ -387,6 +388,7 @@ LEAN_EXPORT lean_object* l_Lean_EnvExtensionInterfaceUnsafe_getState___at_Lean_E
LEAN_EXPORT lean_object* l_Lean_PersistentEnvExtension_getModuleEntries___at_Lean_EnumAttributes_getValue___spec__5___rarg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_registerEnumAttributes___spec__9___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_qpartition_loop___at_Lean_registerParametricAttribute___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_updateEnvAttributesImpl___spec__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_mkAttributeImplOfBuilder___spec__2(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentEnvExtension_getModuleEntries___at_Lean_TagAttribute_hasTag___spec__4___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at_Lean_ParametricAttribute_getParam___spec__7___rarg(lean_object*);
@ -412,6 +414,7 @@ LEAN_EXPORT lean_object* l_Lean_PersistentEnvExtension_getState___at_Lean_Parame
LEAN_EXPORT lean_object* l_Lean_registerAttributeOfDecl___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentEnvExtension_getModuleEntries___at_Lean_ParametricAttribute_getParam___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Attributes_0__Lean_AttributeExtension_addImported___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_updateEnvAttributesImpl___spec__1___boxed(lean_object*, lean_object*);
static lean_object* l_Lean_EnvExtensionInterfaceUnsafe_getState___at_Lean_TagAttribute_hasTag___spec__2___closed__3;
LEAN_EXPORT lean_object* l_panic___at_Lean_TagAttribute_hasTag___spec__3(lean_object*);
LEAN_EXPORT lean_object* l_Lean_registerTagAttribute___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -451,17 +454,15 @@ static lean_object* l_Lean_registerBuiltinAttribute___closed__2;
lean_object* l_Lean_instInhabitedPersistentEnvExtensionState___rarg(lean_object*);
LEAN_EXPORT lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_registerTagAttribute___spec__2___lambda__2(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeApplicationTime____x40_Lean_Attributes___hyg_14_(uint8_t, uint8_t);
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__2___lambda__1(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_instInhabitedName;
static lean_object* l_Lean_Attribute_Builtin_getIdent___closed__2;
LEAN_EXPORT lean_object* l_Lean_registerBuiltinAttribute___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Environment_getModuleIdxFor_x3f(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Attribute_Builtin_ensureNoArgs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*);
static lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__2___closed__1;
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Syntax_isNone(lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Attribute_Builtin_getIdent_x3f___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__6;
LEAN_EXPORT lean_object* l_Array_qsort_sort___at_Lean_registerParametricAttribute___spec__2___rarg___lambda__1___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_qsort_sort___at_Lean_registerEnumAttributes___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_ParametricAttribute_getParam___spec__4___rarg(lean_object*, lean_object*);
@ -477,6 +478,7 @@ static lean_object* l_Lean_Attribute_Builtin_ensureNoArgs___closed__4;
LEAN_EXPORT lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_registerParametricAttribute___spec__7(lean_object*);
LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_registerAttributeImplBuilder___spec__2___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_getBuiltinAttributeNames___spec__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_updateEnvAttributesImpl___spec__1___rarg(lean_object*, lean_object*);
static lean_object* l_Lean_Attribute_Builtin_ensureNoArgs___closed__8;
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_registerEnumAttributes___spec__8(lean_object*);
LEAN_EXPORT lean_object* l_Lean_registerBuiltinAttribute___lambda__1(lean_object*, lean_object*, lean_object*);
@ -500,10 +502,8 @@ static lean_object* l_Lean_instInhabitedTagAttribute___lambda__3___closed__1;
LEAN_EXPORT lean_object* l_Lean_EnvExtensionInterfaceUnsafe_getState___at_Lean_TagAttribute_hasTag___spec__2(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_EnumAttributes_setValue___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_AttributeApplicationTime_toCtorIdx(uint8_t);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__3(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l_Lean_registerParametricAttribute___rarg___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_qpartition_loop___at_Lean_registerEnumAttributes___spec__4___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__6;
lean_object* l_List_lengthTRAux___rarg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at_Lean_EnumAttributes_getValue___spec__3(lean_object*);
uint8_t l_Lean_NameSet_contains(lean_object*, lean_object*);
@ -522,14 +522,13 @@ LEAN_EXPORT uint8_t l_Lean_AttributeImplCore_applicationTime___default;
static lean_object* l_Lean_Attribute_Builtin_getIdent___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Attributes_0__Lean_AttributeExtension_addImported___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_ParametricAttributeImpl_afterImport___default___boxed(lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3694____closed__1;
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_3208____spec__2(lean_object*, lean_object*, size_t, size_t);
lean_object* l_Std_PersistentHashMap_find_x3f___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_227____closed__3;
lean_object* l_IO_mkRef___rarg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_registerEnumAttributes___spec__7___rarg(lean_object*, lean_object*);
static lean_object* l_Lean_AttributeApplicationTime_noConfusion___rarg___closed__1;
LEAN_EXPORT lean_object* l_Lean_EnvExtensionInterfaceUnsafe_getState___at_Lean_TagAttribute_hasTag___spec__2___boxed(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_3209____spec__2(lean_object*, lean_object*, size_t, size_t);
LEAN_EXPORT lean_object* l_Lean_EnvExtensionInterfaceUnsafe_getState___at_Lean_ParametricAttribute_getParam___spec__2___rarg(lean_object*, lean_object*);
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_PersistentHashMap_containsAux___at_Lean_registerBuiltinAttribute___spec__2(lean_object*, size_t, lean_object*);
@ -549,6 +548,7 @@ LEAN_EXPORT lean_object* l_Lean_registerAttributeOfDecl(lean_object*, lean_objec
static lean_object* l_Lean_registerTagAttribute___lambda__4___closed__4;
LEAN_EXPORT lean_object* l_Lean_instInhabitedTagAttribute___lambda__2(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_AttributeApplicationTime_noConfusion___rarg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_updateEnvAttributesImpl___spec__2___lambda__1(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_getValue___spec__4(lean_object*);
LEAN_EXPORT lean_object* l_Lean_EnvExtensionInterfaceUnsafe_getState___at_Lean_EnumAttributes_setValue___spec__2___rarg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_AttributeImpl_erase___default___rarg(lean_object*, lean_object*, lean_object*);
@ -569,7 +569,6 @@ LEAN_EXPORT lean_object* l_Lean_getAttributeImpl(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_AttributeImpl_erase___default___boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_EnvExtensionInterfaceUnsafe_getState___at_Lean_EnumAttributes_getValue___spec__6(lean_object*);
LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_registerEnumAttributes___spec__9___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_3209____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkAttributeImplOfBuilder(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_registerEnumAttributes(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Attribute_Builtin_getId_x3f(lean_object*, lean_object*, lean_object*, lean_object*);
@ -577,7 +576,6 @@ LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_ParametricAttribute_getPara
static lean_object* l_Lean_registerBuiltinAttribute___closed__1;
LEAN_EXPORT lean_object* l_Lean_PersistentEnvExtension_getState___at_Lean_TagAttribute_hasTag___spec__1(lean_object*, lean_object*);
static lean_object* l_Lean_Attribute_Builtin_ensureNoArgs___closed__10;
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_initFn____x40_Lean_Attributes___hyg_2634____spec__1___boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_EnumAttributes_getValue(lean_object*);
LEAN_EXPORT lean_object* l_Lean_registerEnumAttributes___rarg(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*);
uint8_t lean_string_dec_eq(lean_object*, lean_object*);
@ -8804,7 +8802,7 @@ lean_dec(x_1);
return x_3;
}
}
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_initFn____x40_Lean_Attributes___hyg_2634____spec__1(lean_object* x_1) {
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_initFn____x40_Lean_Attributes___hyg_2633____spec__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
@ -8812,7 +8810,7 @@ x_2 = l_Std_mkHashMapImp___rarg(x_1);
return x_2;
}
}
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_2634_(lean_object* x_1) {
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_2633_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4;
@ -8822,11 +8820,11 @@ x_4 = l_IO_mkRef___rarg(x_3, x_1);
return x_4;
}
}
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_initFn____x40_Lean_Attributes___hyg_2634____spec__1___boxed(lean_object* x_1) {
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_initFn____x40_Lean_Attributes___hyg_2633____spec__1___boxed(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = l_Std_mkHashMap___at_Lean_initFn____x40_Lean_Attributes___hyg_2634____spec__1(x_1);
x_2 = l_Std_mkHashMap___at_Lean_initFn____x40_Lean_Attributes___hyg_2633____spec__1(x_1);
lean_dec(x_1);
return x_2;
}
@ -10049,7 +10047,7 @@ lean_ctor_set(x_13, 1, x_12);
return x_13;
}
}
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_3209____spec__2(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) {
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_3208____spec__2(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) {
_start:
{
uint8_t x_5;
@ -10087,7 +10085,7 @@ return x_14;
}
}
}
LEAN_EXPORT lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_initFn____x40_Lean_Attributes___hyg_3209____spec__1(lean_object* x_1, lean_object* x_2) {
LEAN_EXPORT lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_initFn____x40_Lean_Attributes___hyg_3208____spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; uint8_t x_5;
@ -10132,7 +10130,7 @@ size_t x_16; size_t x_17; uint8_t x_18;
x_16 = 0;
x_17 = lean_usize_of_nat(x_8);
lean_dec(x_8);
x_18 = l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_3209____spec__2(x_1, x_6, x_16, x_17);
x_18 = l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_3208____spec__2(x_1, x_6, x_16, x_17);
lean_dec(x_6);
if (x_18 == 0)
{
@ -10203,7 +10201,7 @@ size_t x_39; size_t x_40; uint8_t x_41;
x_39 = 0;
x_40 = lean_usize_of_nat(x_31);
lean_dec(x_31);
x_41 = l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_3209____spec__2(x_1, x_29, x_39, x_40);
x_41 = l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_3208____spec__2(x_1, x_29, x_39, x_40);
lean_dec(x_29);
if (x_41 == 0)
{
@ -10237,7 +10235,7 @@ return x_52;
}
}
}
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3209____lambda__1(lean_object* x_1) {
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3208____lambda__1(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
@ -10252,7 +10250,7 @@ x_6 = l_List_toArrayAux___rarg(x_3, x_5);
return x_6;
}
}
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3209____lambda__2(lean_object* x_1) {
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3208____lambda__2(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
@ -10269,7 +10267,7 @@ lean_ctor_set(x_8, 1, x_6);
return x_8;
}
}
static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__1() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__1() {
_start:
{
lean_object* x_1;
@ -10277,17 +10275,17 @@ x_1 = lean_mk_string("attrExt");
return x_1;
}
}
static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__2() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
x_2 = l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__1;
x_2 = l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__3() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__3() {
_start:
{
lean_object* x_1;
@ -10295,7 +10293,7 @@ x_1 = lean_alloc_closure((void*)(l___private_Lean_Attributes_0__Lean_AttributeEx
return x_1;
}
}
static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__4() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__4() {
_start:
{
lean_object* x_1;
@ -10303,7 +10301,7 @@ x_1 = lean_alloc_closure((void*)(l___private_Lean_Attributes_0__Lean_AttributeEx
return x_1;
}
}
static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__5() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__5() {
_start:
{
lean_object* x_1;
@ -10311,32 +10309,32 @@ x_1 = lean_alloc_closure((void*)(l___private_Lean_Attributes_0__Lean_addAttrEntr
return x_1;
}
}
static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__6() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__6() {
_start:
{
lean_object* x_1;
x_1 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Attributes___hyg_3209____lambda__1), 1, 0);
x_1 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Attributes___hyg_3208____lambda__1), 1, 0);
return x_1;
}
}
static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__7() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__7() {
_start:
{
lean_object* x_1;
x_1 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Attributes___hyg_3209____lambda__2___boxed), 1, 0);
x_1 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Attributes___hyg_3208____lambda__2___boxed), 1, 0);
return x_1;
}
}
static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__8() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_1 = l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__2;
x_2 = l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__3;
x_3 = l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__4;
x_4 = l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__5;
x_5 = l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__6;
x_6 = l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__7;
x_1 = l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__2;
x_2 = l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__3;
x_3 = l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__4;
x_4 = l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__5;
x_5 = l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__6;
x_6 = l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__7;
x_7 = lean_alloc_ctor(0, 6, 0);
lean_ctor_set(x_7, 0, x_1);
lean_ctor_set(x_7, 1, x_2);
@ -10347,16 +10345,16 @@ lean_ctor_set(x_7, 5, x_6);
return x_7;
}
}
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3209_(lean_object* x_1) {
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3208_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3;
x_2 = l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__8;
x_3 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_initFn____x40_Lean_Attributes___hyg_3209____spec__1(x_2, x_1);
x_2 = l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__8;
x_3 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_initFn____x40_Lean_Attributes___hyg_3208____spec__1(x_2, x_1);
return x_3;
}
}
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_3209____spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_3208____spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
size_t x_5; size_t x_6; uint8_t x_7; lean_object* x_8;
@ -10364,18 +10362,18 @@ x_5 = lean_unbox_usize(x_3);
lean_dec(x_3);
x_6 = lean_unbox_usize(x_4);
lean_dec(x_4);
x_7 = l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_3209____spec__2(x_1, x_2, x_5, x_6);
x_7 = l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_3208____spec__2(x_1, x_2, x_5, x_6);
lean_dec(x_2);
lean_dec(x_1);
x_8 = lean_box(x_7);
return x_8;
}
}
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3209____lambda__2___boxed(lean_object* x_1) {
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3208____lambda__2___boxed(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = l_Lean_initFn____x40_Lean_Attributes___hyg_3209____lambda__2(x_1);
x_2 = l_Lean_initFn____x40_Lean_Attributes___hyg_3208____lambda__2(x_1);
lean_dec(x_1);
return x_2;
}
@ -11573,7 +11571,7 @@ return x_19;
}
}
}
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__3(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) {
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_updateEnvAttributesImpl___spec__3(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) {
_start:
{
uint8_t x_5;
@ -11649,7 +11647,7 @@ lean_object* x_27; lean_object* x_28;
x_27 = lean_ctor_get(x_6, 0);
lean_inc(x_27);
lean_dec(x_6);
x_28 = l_Std_PersistentHashMap_foldlMAux___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__2(x_27, x_4);
x_28 = l_Std_PersistentHashMap_foldlMAux___at_Lean_updateEnvAttributesImpl___spec__2(x_27, x_4);
x_2 = x_8;
x_4 = x_28;
goto _start;
@ -11667,7 +11665,7 @@ return x_4;
}
}
}
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__2___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_updateEnvAttributesImpl___spec__2___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; lean_object* x_5; uint8_t x_6;
@ -11718,15 +11716,15 @@ return x_1;
}
}
}
static lean_object* _init_l_Std_PersistentHashMap_foldlMAux___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__2___closed__1() {
static lean_object* _init_l_Std_PersistentHashMap_foldlMAux___at_Lean_updateEnvAttributesImpl___spec__2___closed__1() {
_start:
{
lean_object* x_1;
x_1 = lean_alloc_closure((void*)(l_Std_PersistentHashMap_foldlMAux___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__2___lambda__1), 3, 0);
x_1 = lean_alloc_closure((void*)(l_Std_PersistentHashMap_foldlMAux___at_Lean_updateEnvAttributesImpl___spec__2___lambda__1), 3, 0);
return x_1;
}
}
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__2(lean_object* x_1, lean_object* x_2) {
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_updateEnvAttributesImpl___spec__2(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -11760,7 +11758,7 @@ size_t x_8; size_t x_9; lean_object* x_10;
x_8 = 0;
x_9 = lean_usize_of_nat(x_4);
lean_dec(x_4);
x_10 = l_Array_foldlMUnsafe_fold___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__3(x_3, x_8, x_9, x_2);
x_10 = l_Array_foldlMUnsafe_fold___at_Lean_updateEnvAttributesImpl___spec__3(x_3, x_8, x_9, x_2);
lean_dec(x_3);
return x_10;
}
@ -11774,7 +11772,7 @@ lean_inc(x_11);
x_12 = lean_ctor_get(x_1, 1);
lean_inc(x_12);
lean_dec(x_1);
x_13 = l_Std_PersistentHashMap_foldlMAux___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__2___closed__1;
x_13 = l_Std_PersistentHashMap_foldlMAux___at_Lean_updateEnvAttributesImpl___spec__2___closed__1;
x_14 = lean_unsigned_to_nat(0u);
x_15 = l_Std_PersistentHashMap_foldlMAux_traverse___at_Lean_mkModuleData___spec__8___rarg(x_13, x_11, x_12, lean_box(0), x_14, x_2);
lean_dec(x_12);
@ -11783,26 +11781,26 @@ return x_15;
}
}
}
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__1___rarg(lean_object* x_1, lean_object* x_2) {
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_updateEnvAttributesImpl___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4;
x_3 = lean_ctor_get(x_1, 0);
lean_inc(x_3);
lean_dec(x_1);
x_4 = l_Std_PersistentHashMap_foldlMAux___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__2(x_3, x_2);
x_4 = l_Std_PersistentHashMap_foldlMAux___at_Lean_updateEnvAttributesImpl___spec__2(x_3, x_2);
return x_4;
}
}
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__1(lean_object* x_1, lean_object* x_2) {
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_updateEnvAttributesImpl___spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_Std_PersistentHashMap_foldlM___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__1___rarg), 2, 0);
x_3 = lean_alloc_closure((void*)(l_Std_PersistentHashMap_foldlM___at_Lean_updateEnvAttributesImpl___spec__1___rarg), 2, 0);
return x_3;
}
}
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3694____lambda__1(lean_object* x_1, lean_object* x_2) {
LEAN_EXPORT lean_object* lean_update_env_attributes(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; uint8_t x_5;
@ -11815,7 +11813,7 @@ lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_obj
x_6 = lean_ctor_get(x_4, 0);
x_7 = l_Lean_attributeExtension;
x_8 = l_Lean_PersistentEnvExtension_getState___at_Lean_isAttribute___spec__1(x_7, x_1);
x_9 = l_Std_PersistentHashMap_foldlM___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__1___rarg(x_6, x_8);
x_9 = l_Std_PersistentHashMap_foldlM___at_Lean_updateEnvAttributesImpl___spec__1___rarg(x_6, x_8);
x_10 = l_Lean_PersistentEnvExtension_setState___rarg(x_7, x_1, x_9);
lean_ctor_set(x_4, 0, x_10);
return x_4;
@ -11830,7 +11828,7 @@ lean_inc(x_11);
lean_dec(x_4);
x_13 = l_Lean_attributeExtension;
x_14 = l_Lean_PersistentEnvExtension_getState___at_Lean_isAttribute___spec__1(x_13, x_1);
x_15 = l_Std_PersistentHashMap_foldlM___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__1___rarg(x_11, x_14);
x_15 = l_Std_PersistentHashMap_foldlM___at_Lean_updateEnvAttributesImpl___spec__1___rarg(x_11, x_14);
x_16 = l_Lean_PersistentEnvExtension_setState___rarg(x_13, x_1, x_15);
x_17 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_17, 0, x_16);
@ -11839,42 +11837,7 @@ return x_17;
}
}
}
static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3694____closed__1() {
_start:
{
lean_object* x_1;
x_1 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Attributes___hyg_3694____lambda__1), 2, 0);
return x_1;
}
}
LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_3694_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5;
x_2 = l_Lean_updateEnvAttributesRef;
x_3 = l_Lean_initFn____x40_Lean_Attributes___hyg_3694____closed__1;
x_4 = lean_st_ref_set(x_2, x_3, x_1);
x_5 = !lean_is_exclusive(x_4);
if (x_5 == 0)
{
return x_4;
}
else
{
lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_6 = lean_ctor_get(x_4, 0);
x_7 = lean_ctor_get(x_4, 1);
lean_inc(x_7);
lean_inc(x_6);
lean_dec(x_4);
x_8 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_8, 0, x_6);
lean_ctor_set(x_8, 1, x_7);
return x_8;
}
}
}
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_updateEnvAttributesImpl___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
size_t x_5; size_t x_6; lean_object* x_7;
@ -11882,21 +11845,56 @@ x_5 = lean_unbox_usize(x_2);
lean_dec(x_2);
x_6 = lean_unbox_usize(x_3);
lean_dec(x_3);
x_7 = l_Array_foldlMUnsafe_fold___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__3(x_1, x_5, x_6, x_4);
x_7 = l_Array_foldlMUnsafe_fold___at_Lean_updateEnvAttributesImpl___spec__3(x_1, x_5, x_6, x_4);
lean_dec(x_1);
return x_7;
}
}
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__1___boxed(lean_object* x_1, lean_object* x_2) {
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_updateEnvAttributesImpl___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_PersistentHashMap_foldlM___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__1(x_1, x_2);
x_3 = l_Std_PersistentHashMap_foldlM___at_Lean_updateEnvAttributesImpl___spec__1(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;
}
}
LEAN_EXPORT lean_object* lean_get_num_attributes(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4;
x_2 = l_Lean_attributeMapRef;
x_3 = lean_st_ref_get(x_2, x_1);
x_4 = !lean_is_exclusive(x_3);
if (x_4 == 0)
{
lean_object* x_5; lean_object* x_6;
x_5 = lean_ctor_get(x_3, 0);
x_6 = lean_ctor_get(x_5, 1);
lean_inc(x_6);
lean_dec(x_5);
lean_ctor_set(x_3, 0, x_6);
return x_3;
}
else
{
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
x_7 = lean_ctor_get(x_3, 0);
x_8 = lean_ctor_get(x_3, 1);
lean_inc(x_8);
lean_inc(x_7);
lean_dec(x_3);
x_9 = lean_ctor_get(x_7, 1);
lean_inc(x_9);
lean_dec(x_7);
x_10 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_10, 0, x_9);
lean_ctor_set(x_10, 1, x_8);
return x_10;
}
}
}
lean_object* initialize_Init(lean_object*);
lean_object* initialize_Lean_Syntax(lean_object*);
lean_object* initialize_Lean_CoreM(lean_object*);
@ -12136,7 +12134,7 @@ l_Lean_EnumAttributes_setValue___rarg___closed__1 = _init_l_Lean_EnumAttributes_
lean_mark_persistent(l_Lean_EnumAttributes_setValue___rarg___closed__1);
l_Lean_EnumAttributes_setValue___rarg___closed__2 = _init_l_Lean_EnumAttributes_setValue___rarg___closed__2();
lean_mark_persistent(l_Lean_EnumAttributes_setValue___rarg___closed__2);
res = l_Lean_initFn____x40_Lean_Attributes___hyg_2634_(lean_io_mk_world());
res = l_Lean_initFn____x40_Lean_Attributes___hyg_2633_(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
l_Lean_attributeImplBuilderTableRef = lean_io_result_get_value(res);
lean_mark_persistent(l_Lean_attributeImplBuilderTableRef);
@ -12165,22 +12163,22 @@ l_Lean_mkAttributeImplOfConstantUnsafe___closed__4 = _init_l_Lean_mkAttributeImp
lean_mark_persistent(l_Lean_mkAttributeImplOfConstantUnsafe___closed__4);
l_Lean_mkAttributeImplOfConstant___closed__1 = _init_l_Lean_mkAttributeImplOfConstant___closed__1();
lean_mark_persistent(l_Lean_mkAttributeImplOfConstant___closed__1);
l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__1 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__1();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__1);
l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__2 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__2();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__2);
l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__3 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__3();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__3);
l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__4 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__4();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__4);
l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__5 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__5();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__5);
l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__6 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__6();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__6);
l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__7 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__7();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__7);
l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__8 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__8();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_3209____closed__8);
l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__1 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__1();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__1);
l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__2 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__2();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__2);
l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__3 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__3();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__3);
l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__4 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__4();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__4);
l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__5 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__5();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__5);
l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__6 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__6();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__6);
l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__7 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__7();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__7);
l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__8 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__8();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_3208____closed__8);
l_Lean_attributeExtension___closed__1 = _init_l_Lean_attributeExtension___closed__1();
lean_mark_persistent(l_Lean_attributeExtension___closed__1);
l_Lean_attributeExtension___closed__2 = _init_l_Lean_attributeExtension___closed__2();
@ -12191,7 +12189,7 @@ l_Lean_attributeExtension___closed__4 = _init_l_Lean_attributeExtension___closed
lean_mark_persistent(l_Lean_attributeExtension___closed__4);
l_Lean_attributeExtension___closed__5 = _init_l_Lean_attributeExtension___closed__5();
lean_mark_persistent(l_Lean_attributeExtension___closed__5);
res = l_Lean_initFn____x40_Lean_Attributes___hyg_3209_(lean_io_mk_world());
res = l_Lean_initFn____x40_Lean_Attributes___hyg_3208_(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
l_Lean_attributeExtension = lean_io_result_get_value(res);
lean_mark_persistent(l_Lean_attributeExtension);
@ -12202,13 +12200,8 @@ l_Lean_getBuiltinAttributeImpl___closed__1 = _init_l_Lean_getBuiltinAttributeImp
lean_mark_persistent(l_Lean_getBuiltinAttributeImpl___closed__1);
l_panic___at_Lean_isAttribute___spec__3___closed__1 = _init_l_panic___at_Lean_isAttribute___spec__3___closed__1();
lean_mark_persistent(l_panic___at_Lean_isAttribute___spec__3___closed__1);
l_Std_PersistentHashMap_foldlMAux___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__2___closed__1 = _init_l_Std_PersistentHashMap_foldlMAux___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__2___closed__1();
lean_mark_persistent(l_Std_PersistentHashMap_foldlMAux___at_Lean_initFn____x40_Lean_Attributes___hyg_3694____spec__2___closed__1);
l_Lean_initFn____x40_Lean_Attributes___hyg_3694____closed__1 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_3694____closed__1();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_3694____closed__1);
res = l_Lean_initFn____x40_Lean_Attributes___hyg_3694_(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Std_PersistentHashMap_foldlMAux___at_Lean_updateEnvAttributesImpl___spec__2___closed__1 = _init_l_Std_PersistentHashMap_foldlMAux___at_Lean_updateEnvAttributesImpl___spec__2___closed__1();
lean_mark_persistent(l_Std_PersistentHashMap_foldlMAux___at_Lean_updateEnvAttributesImpl___spec__2___closed__1);
return lean_io_result_mk_ok(lean_box(0));
}
#ifdef __cplusplus

View file

@ -62,7 +62,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatch
static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_getMatchGeneralizing_x3f___closed__3;
lean_object* lean_name_mk_string(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withPatternVars_loop(lean_object*);
lean_object* l_Lean_Meta_Match_inaccessible_x3f(lean_object*);
uint8_t lean_usize_dec_eq(size_t, size_t);
LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkLocalDeclFor___spec__3___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_uget(lean_object*, size_t);
@ -209,6 +208,7 @@ LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Match_0
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns___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_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns___spec__2___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns___spec__3___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns___spec__4(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__1(lean_object*, size_t, size_t, lean_object*);
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__1;
LEAN_EXPORT lean_object* l_Lean_Elab_Term_precheckMatch___lambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkEqRefl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandSimpleMatch(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -221,10 +221,8 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_finalizePatternDecls(lean_object*, lea
static lean_object* l_Lean_Elab_Term_isAuxDiscrName___closed__2;
LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabMatch_elabMatchDefault___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateMatchType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__1;
lean_object* l_Lean_mkAppN(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_throwInvalidPattern___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__2;
static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_throwInvalidPattern___rarg___closed__1;
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrsWitMatchType___spec__1___closed__5;
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_precheckMatch___spec__3(size_t, size_t, lean_object*);
@ -232,6 +230,7 @@ static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3
LEAN_EXPORT lean_object* l_Lean_mkFreshId___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkLocalDeclFor___spec__2___rarg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Term_finalizePatternDecls___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withPatternVars___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__2;
lean_object* l_Lean_throwError___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___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*);
@ -324,6 +323,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatte
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabAtomicDiscr___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_Expr_fvarId_x21(lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_withDepElimPatterns___spec__2(lean_object*, size_t, size_t, lean_object*);
lean_object* l_Lean_inaccessible_x3f(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_isPatternVar_isAtomicIdent___boxed(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___lambda__3___boxed(lean_object**);
lean_object* l_Lean_Meta_instantiateLocalDeclMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -374,7 +374,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabMatch_elabMatchDefault(lean_object
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_tryPostponeIfDiscrTypeIsMVar___spec__1___lambda__1___closed__1;
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrsWitMatchType___spec__1___closed__7;
lean_object* l_Lean_Meta_Match_mkInaccessible(lean_object*);
lean_object* l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_expandBinderIdent___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandSimpleMatch___closed__17;
LEAN_EXPORT lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -387,13 +386,13 @@ uint8_t l_Lean_Expr_isAppOfArity(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_alreadyVisited(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_resolveId_x3f(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__8___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__5;
LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkLocalDeclFor___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_tryPostponeIfDiscrTypeIsMVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkLocalDeclFor___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateFirst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns___spec__7___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_instInhabitedExpr;
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__5;
lean_object* l_Lean_MetavarContext_localDeclDependsOn(lean_object*, lean_object*, lean_object*);
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrsWitMatchType___spec__1___closed__3;
static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___lambda__2___closed__1;
@ -451,11 +450,11 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElim
LEAN_EXPORT lean_object* l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_734____at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__10___boxed(lean_object*, lean_object*);
static lean_object* l_List_forIn_loop___at_Lean_Elab_Term_reportMatcherResultErrors___spec__1___closed__1;
LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__4;
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_finalizePatternDecls___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___rarg(lean_object*);
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_expandNonAtomicDiscrs_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_eraseIndices(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__4;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabAtomicDiscr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_LocalDecl_fvarId(lean_object*);
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_tryPostponeIfDiscrTypeIsMVar___spec__1___closed__2;
@ -579,8 +578,8 @@ uint8_t l_Lean_LocalDecl_hasExprMVar(lean_object*);
lean_object* l_Lean_Elab_log___at_Lean_Elab_Term_traceAtCmdPos___spec__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_TagAttribute_hasTag(lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_findDiscrRefinementPath_goIndex___closed__8;
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__3;
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__3;
lean_object* l_Lean_LocalContext_addDecl(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkFreshId___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkLocalDeclFor___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_withSynthesizeImp___rarg(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -734,8 +733,8 @@ LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_
lean_object* l_Lean_Elab_Term_isLocalIdent_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Closure_mkBinding___spec__1(size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726_(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12952_(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725_(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12951_(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_2531_(lean_object*);
lean_object* l_Lean_mkSimpleThunk(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Term_isAtomicDiscr_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -762,6 +761,7 @@ static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__L
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_containsFVar___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withElaboratedLHS(lean_object*);
LEAN_EXPORT uint8_t l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkLocalDeclFor___lambda__1(lean_object*, lean_object*);
lean_object* l_Lean_mkInaccessible(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Syntax_SepArray_getElems___spec__1(lean_object*, size_t, size_t, lean_object*);
@ -4680,7 +4680,7 @@ _start:
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
x_10 = l_Lean_Elab_Term_getMVarSyntaxMVarId(x_1);
x_11 = l_Lean_mkMVar(x_10);
x_12 = l_Lean_Meta_Match_mkInaccessible(x_11);
x_12 = l_Lean_mkInaccessible(x_11);
x_13 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_13, 0, x_12);
lean_ctor_set(x_13, 1, x_9);
@ -4777,7 +4777,7 @@ if (x_14 == 0)
{
lean_object* x_15; lean_object* x_16;
x_15 = lean_ctor_get(x_13, 0);
x_16 = l_Lean_Meta_Match_mkInaccessible(x_15);
x_16 = l_Lean_mkInaccessible(x_15);
lean_ctor_set(x_13, 0, x_16);
return x_13;
}
@ -4789,7 +4789,7 @@ x_18 = lean_ctor_get(x_13, 1);
lean_inc(x_18);
lean_inc(x_17);
lean_dec(x_13);
x_19 = l_Lean_Meta_Match_mkInaccessible(x_17);
x_19 = l_Lean_mkInaccessible(x_17);
x_20 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_20, 0, x_19);
lean_ctor_set(x_20, 1, x_18);
@ -16470,7 +16470,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_main(lean_object* x_1
_start:
{
lean_object* x_10;
x_10 = l_Lean_Meta_Match_inaccessible_x3f(x_1);
x_10 = l_Lean_inaccessible_x3f(x_1);
if (lean_obj_tag(x_10) == 0)
{
lean_object* x_11;
@ -24736,7 +24736,7 @@ lean_dec(x_2);
return x_9;
}
}
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__1() {
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@ -24746,7 +24746,7 @@ x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__2() {
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__2() {
_start:
{
lean_object* x_1;
@ -24754,17 +24754,17 @@ x_1 = lean_mk_string("ignoreUnusedAlts");
return x_1;
}
}
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__3() {
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__1;
x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__2;
x_1 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__1;
x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__2;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__4() {
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__4() {
_start:
{
lean_object* x_1;
@ -24772,13 +24772,13 @@ x_1 = lean_mk_string("if true, do not generate error if an alternative is not us
return x_1;
}
}
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__5() {
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__5() {
_start:
{
uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
x_1 = 0;
x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrsWitMatchType___spec__1___closed__15;
x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__4;
x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__4;
x_4 = lean_box(x_1);
x_5 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_5, 0, x_4);
@ -24787,12 +24787,12 @@ lean_ctor_set(x_5, 2, x_3);
return x_5;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726_(lean_object* x_1) {
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4;
x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__3;
x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__5;
x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__3;
x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__5;
x_4 = l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_6____spec__1(x_2, x_3, x_1);
return x_4;
}
@ -25438,7 +25438,7 @@ _start:
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_1 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3f___closed__4;
x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3f___closed__5;
x_3 = lean_unsigned_to_nat(758u);
x_3 = lean_unsigned_to_nat(756u);
x_4 = lean_unsigned_to_nat(2u);
x_5 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3f___closed__3;
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
@ -27973,7 +27973,7 @@ if (lean_obj_tag(x_28) == 0)
lean_object* x_30; lean_object* x_31; lean_object* x_32;
lean_dec(x_21);
x_30 = lean_array_get_size(x_22);
x_31 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__1;
x_31 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__1;
lean_inc(x_12);
lean_inc(x_11);
lean_inc(x_10);
@ -31309,7 +31309,7 @@ x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1);
return x_6;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12952_(lean_object* x_1) {
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12951_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3;
@ -31949,19 +31949,19 @@ l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___closed__2
lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___closed__2);
l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___boxed__const__1 = _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___boxed__const__1();
lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___boxed__const__1);
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__1();
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__1);
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__2();
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__2);
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__3 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__3();
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__3);
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__4 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__4();
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__4);
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__5 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__5();
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726____closed__5);
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__1();
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__1);
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__2();
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__2);
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__3 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__3();
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__3);
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__4 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__4();
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__4);
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__5 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__5();
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725____closed__5);
l_Lean_Elab_Term_match_ignoreUnusedAlts___closed__1 = _init_l_Lean_Elab_Term_match_ignoreUnusedAlts___closed__1();
lean_mark_persistent(l_Lean_Elab_Term_match_ignoreUnusedAlts___closed__1);
res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9726_(lean_io_mk_world());
res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_9725_(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
l_Lean_Elab_Term_match_ignoreUnusedAlts = lean_io_result_get_value(res);
lean_mark_persistent(l_Lean_Elab_Term_match_ignoreUnusedAlts);
@ -32057,7 +32057,7 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabMatch___closed__3);
res = l___regBuiltin_Lean_Elab_Term_elabMatch(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12952_(lean_io_mk_world());
res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12951_(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_Elab_Term_elabNoMatch___closed__1 = _init_l_Lean_Elab_Term_elabNoMatch___closed__1();

View file

@ -45,6 +45,7 @@ lean_object* l_Lean_Meta_mkAppM(lean_object*, lean_object*, lean_object*, lean_o
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___lambda__2___closed__3;
lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Meta_getParamNames___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_extract___rarg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_saveState___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
@ -182,6 +183,7 @@ static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lea
LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_withBelowDict___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_withBelowDict___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__2___closed__1;
LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkBRecOn(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__10___closed__2;
@ -5065,6 +5067,62 @@ return x_24;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_12; lean_object* x_13;
x_12 = lean_expr_instantiate1(x_1, x_5);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
x_13 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_2, x_3, x_4, x_12, x_6, x_7, x_8, x_9, x_10, x_11);
if (lean_obj_tag(x_13) == 0)
{
lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; lean_object* x_19;
x_14 = lean_ctor_get(x_13, 0);
lean_inc(x_14);
x_15 = lean_ctor_get(x_13, 1);
lean_inc(x_15);
lean_dec(x_13);
x_16 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__6;
x_17 = lean_array_push(x_16, x_5);
x_18 = 0;
x_19 = l_Lean_Meta_mkLambdaFVars(x_17, x_14, x_18, x_18, x_7, x_8, x_9, x_10, x_15);
lean_dec(x_10);
lean_dec(x_9);
lean_dec(x_8);
return x_19;
}
else
{
uint8_t x_20;
lean_dec(x_10);
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_5);
x_20 = !lean_is_exclusive(x_13);
if (x_20 == 0)
{
return x_13;
}
else
{
lean_object* x_21; lean_object* x_22; lean_object* x_23;
x_21 = lean_ctor_get(x_13, 0);
x_22 = lean_ctor_get(x_13, 1);
lean_inc(x_22);
lean_inc(x_21);
lean_dec(x_13);
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;
}
}
}
}
static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__1() {
_start:
{
@ -5477,7 +5535,7 @@ lean_inc(x_105);
x_106 = lean_ctor_get(x_104, 1);
lean_inc(x_106);
lean_dec(x_104);
x_107 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__3___boxed), 11, 4);
x_107 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__5___boxed), 11, 4);
lean_closure_set(x_107, 0, x_100);
lean_closure_set(x_107, 1, x_1);
lean_closure_set(x_107, 2, x_2);
@ -5906,6 +5964,15 @@ lean_dec(x_1);
return x_12;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_12;
x_12 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__5(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
lean_dec(x_1);
return x_12;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Structural_mkBRecOn___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
_start:
{

View file

@ -84,6 +84,7 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefi
uint8_t lean_usize_dec_lt(size_t, size_t);
lean_object* l_Lean_Meta_mkAppOptM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___closed__5;
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__1___closed__1;
extern lean_object* l_Lean_levelZero;
lean_object* lean_nat_add(lean_object*, lean_object*);
@ -232,6 +233,7 @@ static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_t
static lean_object* l_panic___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processPSigmaCasesOn___spec__1___closed__1;
static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_toUnfold___closed__15;
LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
extern lean_object* l_Lean_Name_instBEqName;
@ -3435,6 +3437,62 @@ return x_25;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) {
_start:
{
lean_object* x_13; lean_object* x_14;
x_13 = lean_expr_instantiate1(x_1, x_5);
lean_inc(x_11);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
x_14 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_2, x_3, x_4, x_13, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
if (lean_obj_tag(x_14) == 0)
{
lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_object* x_20;
x_15 = lean_ctor_get(x_14, 0);
lean_inc(x_15);
x_16 = lean_ctor_get(x_14, 1);
lean_inc(x_16);
lean_dec(x_14);
x_17 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__2___closed__1;
x_18 = lean_array_push(x_17, x_5);
x_19 = 0;
x_20 = l_Lean_Meta_mkLambdaFVars(x_18, x_15, x_19, x_19, x_8, x_9, x_10, x_11, x_16);
lean_dec(x_11);
lean_dec(x_10);
lean_dec(x_9);
return x_20;
}
else
{
uint8_t x_21;
lean_dec(x_11);
lean_dec(x_10);
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_5);
x_21 = !lean_is_exclusive(x_14);
if (x_21 == 0)
{
return x_14;
}
else
{
lean_object* x_22; lean_object* x_23; lean_object* x_24;
x_22 = lean_ctor_get(x_14, 0);
x_23 = lean_ctor_get(x_14, 1);
lean_inc(x_23);
lean_inc(x_22);
lean_dec(x_14);
x_24 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_24, 0, x_22);
lean_ctor_set(x_24, 1, x_23);
return x_24;
}
}
}
}
static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___closed__1() {
_start:
{
@ -3952,7 +4010,7 @@ lean_inc(x_135);
x_136 = lean_ctor_get(x_134, 1);
lean_inc(x_136);
lean_dec(x_134);
x_137 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__2___boxed), 12, 4);
x_137 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__4___boxed), 12, 4);
lean_closure_set(x_137, 0, x_130);
lean_closure_set(x_137, 1, x_1);
lean_closure_set(x_137, 2, x_2);
@ -4291,6 +4349,15 @@ lean_dec(x_1);
return x_13;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) {
_start:
{
lean_object* x_13;
x_13 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
lean_dec(x_1);
return x_13;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{

View file

@ -26,7 +26,9 @@ lean_object* lean_array_uget(lean_object*, size_t);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_wfRecursion___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__11;
lean_object* lean_st_ref_get(lean_object*, lean_object*);
static lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef___closed__1;
static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__2___closed__5;
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Elab_wfRecursion___closed__1;
static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__2___closed__10;
lean_object* lean_array_get_size(lean_object*);
@ -38,27 +40,28 @@ LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__1(lean_object*, lean_
extern lean_object* l_Lean_levelZero;
lean_object* lean_nat_add(lean_object*, lean_object*);
static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__7;
static lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1___closed__2;
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_sub(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_constLevels_x21(lean_object*);
static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__2___closed__3;
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___closed__1;
lean_object* l_Lean_Elab_WF_mkUnaryArg_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkLambdaFVars(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___closed__1;
LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_787_(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_881_(lean_object*);
static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__10;
extern lean_object* l_Lean_Elab_instInhabitedPreDefinition;
static lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___closed__2;
lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___closed__3;
lean_object* l_Lean_setEnv___at_Lean_Elab_Term_evalExpr___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_instInhabitedExpr;
static lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1___closed__3;
lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_wfRecursion___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__6;
@ -73,8 +76,11 @@ lean_object* l_Lean_Elab_addAndCompilePartialRec(lean_object*, lean_object*, lea
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_panic___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___closed__1;
lean_object* l_Lean_Meta_lambdaTelescope___at_Lean_Meta_MatcherApp_addArg___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__5;
static lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1___closed__1;
lean_object* l_Lean_Expr_getAppNumArgsAux(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_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -84,6 +90,7 @@ lean_object* l_Lean_mkApp(lean_object*, lean_object*);
static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__2___closed__2;
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__2___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Elab_wfRecursion___closed__2;
LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__2___closed__8;
@ -106,6 +113,89 @@ static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinitio
static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__1;
lean_object* l_Lean_Elab_WF_packDomain(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef___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; uint8_t x_10; lean_object* x_11; lean_object* x_12;
x_8 = lean_array_get_size(x_1);
x_9 = lean_unsigned_to_nat(1u);
x_10 = lean_nat_dec_eq(x_8, x_9);
lean_dec(x_8);
x_11 = lean_box(x_10);
x_12 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_12, 0, x_11);
lean_ctor_set(x_12, 1, x_7);
return x_12;
}
}
static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef___closed__1() {
_start:
{
lean_object* x_1;
x_1 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef___lambda__1___boxed), 7, 0);
return x_1;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; lean_object* x_8; uint8_t x_9;
x_7 = lean_array_get_size(x_1);
x_8 = lean_unsigned_to_nat(1u);
x_9 = lean_nat_dec_eq(x_7, x_8);
lean_dec(x_7);
if (x_9 == 0)
{
uint8_t x_10; lean_object* x_11; lean_object* x_12;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
x_10 = 0;
x_11 = lean_box(x_10);
x_12 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_12, 0, x_11);
lean_ctor_set(x_12, 1, x_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;
x_13 = l_Lean_Elab_instInhabitedPreDefinition;
x_14 = lean_unsigned_to_nat(0u);
x_15 = lean_array_get(x_13, x_1, x_14);
x_16 = lean_ctor_get(x_15, 5);
lean_inc(x_16);
lean_dec(x_15);
x_17 = l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef___closed__1;
x_18 = l_Lean_Meta_lambdaTelescope___at_Lean_Meta_MatcherApp_addArg___spec__2___rarg(x_16, x_17, x_2, x_3, x_4, x_5, x_6);
return x_18;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef___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___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
return x_8;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7;
x_7 = l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec(x_1);
return x_7;
}
}
static lean_object* _init_l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__1() {
_start:
{
@ -154,7 +244,7 @@ _start:
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_1 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__4;
x_2 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__5;
x_3 = lean_unsigned_to_nat(30u);
x_3 = lean_unsigned_to_nat(38u);
x_4 = lean_unsigned_to_nat(12u);
x_5 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__3;
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
@ -1193,7 +1283,7 @@ return x_101;
}
}
}
static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___closed__1() {
static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1___closed__1() {
_start:
{
lean_object* x_1;
@ -1201,7 +1291,7 @@ x_1 = lean_mk_string("_private.Lean.Elab.PreDefinition.WF.Main.0.Lean.Elab.addNo
return x_1;
}
}
static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___closed__2() {
static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1___closed__2() {
_start:
{
lean_object* x_1;
@ -1209,102 +1299,196 @@ x_1 = lean_mk_string("unreachable code has been reached");
return x_1;
}
}
static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___closed__3() {
static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_1 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__4;
x_2 = l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___closed__1;
x_3 = lean_unsigned_to_nat(18u);
x_2 = l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1___closed__1;
x_3 = lean_unsigned_to_nat(26u);
x_4 = lean_unsigned_to_nat(54u);
x_5 = l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___closed__2;
x_5 = l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1___closed__2;
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_11;
lean_dec(x_3);
x_11 = lean_ctor_get(x_1, 4);
lean_inc(x_11);
if (lean_obj_tag(x_11) == 7)
{
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_12 = lean_ctor_get(x_11, 1);
lean_inc(x_12);
lean_dec(x_11);
x_13 = lean_ctor_get(x_1, 1);
lean_inc(x_13);
x_14 = lean_box(0);
x_15 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_13, x_14);
x_16 = lean_array_get_size(x_2);
x_17 = lean_unsigned_to_nat(0u);
x_18 = lean_unsigned_to_nat(1u);
lean_inc(x_16);
x_19 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_19, 0, x_17);
lean_ctor_set(x_19, 1, x_16);
lean_ctor_set(x_19, 2, x_18);
x_20 = lean_box(0);
x_21 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__2(x_2, x_1, x_12, x_15, x_19, x_16, x_17, x_20, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
lean_dec(x_19);
if (lean_obj_tag(x_21) == 0)
{
uint8_t x_22;
x_22 = !lean_is_exclusive(x_21);
if (x_22 == 0)
{
lean_object* x_23;
x_23 = lean_ctor_get(x_21, 0);
lean_dec(x_23);
lean_ctor_set(x_21, 0, x_20);
return x_21;
}
else
{
lean_object* x_24; lean_object* x_25;
x_24 = lean_ctor_get(x_21, 1);
lean_inc(x_24);
lean_dec(x_21);
x_25 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_25, 0, x_20);
lean_ctor_set(x_25, 1, x_24);
return x_25;
}
}
else
{
uint8_t x_26;
x_26 = !lean_is_exclusive(x_21);
if (x_26 == 0)
{
return x_21;
}
else
{
lean_object* x_27; lean_object* x_28; lean_object* x_29;
x_27 = lean_ctor_get(x_21, 0);
x_28 = lean_ctor_get(x_21, 1);
lean_inc(x_28);
lean_inc(x_27);
lean_dec(x_21);
x_29 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_29, 0, x_27);
lean_ctor_set(x_29, 1, x_28);
return x_29;
}
}
}
else
{
lean_object* x_30; lean_object* x_31;
lean_dec(x_11);
lean_dec(x_2);
lean_dec(x_1);
x_30 = l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1___closed__3;
x_31 = l_panic___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1(x_30, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
return x_31;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
_start:
{
lean_object* x_10;
x_10 = lean_ctor_get(x_2, 4);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 7)
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
x_10 = l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef(x_1, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_10) == 0)
{
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
x_11 = lean_ctor_get(x_10, 1);
lean_object* x_11; uint8_t x_12;
x_11 = lean_ctor_get(x_10, 0);
lean_inc(x_11);
x_12 = lean_unbox(x_11);
lean_dec(x_11);
if (x_12 == 0)
{
lean_object* x_13; lean_object* x_14; lean_object* x_15;
x_13 = lean_ctor_get(x_10, 1);
lean_inc(x_13);
lean_dec(x_10);
x_12 = lean_ctor_get(x_2, 1);
lean_inc(x_12);
x_13 = lean_box(0);
x_14 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_12, x_13);
x_15 = lean_array_get_size(x_1);
x_16 = lean_unsigned_to_nat(0u);
x_17 = lean_unsigned_to_nat(1u);
lean_inc(x_15);
x_18 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_18, 0, x_16);
lean_ctor_set(x_18, 1, x_15);
lean_ctor_set(x_18, 2, x_17);
x_19 = lean_box(0);
x_20 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__2(x_1, x_2, x_11, x_14, x_18, x_15, x_16, x_19, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
lean_dec(x_18);
if (lean_obj_tag(x_20) == 0)
{
uint8_t x_21;
x_21 = !lean_is_exclusive(x_20);
if (x_21 == 0)
{
lean_object* x_22;
x_22 = lean_ctor_get(x_20, 0);
lean_dec(x_22);
lean_ctor_set(x_20, 0, x_19);
return x_20;
x_14 = lean_box(0);
x_15 = l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1(x_2, x_1, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_13);
return x_15;
}
else
{
lean_object* x_23; lean_object* x_24;
x_23 = lean_ctor_get(x_20, 1);
lean_inc(x_23);
lean_dec(x_20);
x_24 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_24, 0, x_19);
lean_ctor_set(x_24, 1, x_23);
return x_24;
}
}
else
{
uint8_t x_25;
x_25 = !lean_is_exclusive(x_20);
if (x_25 == 0)
{
return x_20;
}
else
{
lean_object* x_26; lean_object* x_27; lean_object* x_28;
x_26 = lean_ctor_get(x_20, 0);
x_27 = lean_ctor_get(x_20, 1);
lean_inc(x_27);
lean_inc(x_26);
lean_dec(x_20);
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_dec(x_10);
uint8_t x_16;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
x_29 = l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___closed__3;
x_30 = l_panic___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1(x_29, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
return x_30;
x_16 = !lean_is_exclusive(x_10);
if (x_16 == 0)
{
lean_object* x_17; lean_object* x_18;
x_17 = lean_ctor_get(x_10, 0);
lean_dec(x_17);
x_18 = lean_box(0);
lean_ctor_set(x_10, 0, x_18);
return x_10;
}
else
{
lean_object* x_19; lean_object* x_20; lean_object* x_21;
x_19 = lean_ctor_get(x_10, 1);
lean_inc(x_19);
lean_dec(x_10);
x_20 = lean_box(0);
x_21 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_21, 0, x_20);
lean_ctor_set(x_21, 1, x_19);
return x_21;
}
}
}
else
{
uint8_t x_22;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
x_22 = !lean_is_exclusive(x_10);
if (x_22 == 0)
{
return x_10;
}
else
{
lean_object* x_23; lean_object* x_24; lean_object* x_25;
x_23 = lean_ctor_get(x_10, 0);
x_24 = lean_ctor_get(x_10, 1);
lean_inc(x_24);
lean_inc(x_23);
lean_dec(x_10);
x_25 = 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;
}
}
}
}
@ -1964,7 +2148,7 @@ lean_dec(x_3);
return x_11;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_787_(lean_object* x_1) {
LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_881_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3;
@ -2006,6 +2190,8 @@ lean_dec_ref(res);
res = initialize_Lean_Elab_PreDefinition_WF_Fix(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef___closed__1 = _init_l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef___closed__1();
lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef___closed__1);
l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__1 = _init_l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__1();
lean_mark_persistent(l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__1);
l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__2 = _init_l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__2();
@ -2056,17 +2242,17 @@ l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_El
lean_mark_persistent(l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__2___closed__9);
l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__2___closed__10 = _init_l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__2___closed__10();
lean_mark_persistent(l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__2___closed__10);
l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___closed__1 = _init_l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___closed__1();
lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___closed__1);
l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___closed__2 = _init_l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___closed__2();
lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___closed__2);
l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___closed__3 = _init_l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___closed__3();
lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___closed__3);
l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1___closed__1 = _init_l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1___closed__1();
lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1___closed__1);
l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1___closed__2 = _init_l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1___closed__2();
lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1___closed__2);
l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1___closed__3 = _init_l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1___closed__3();
lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___lambda__1___closed__3);
l_Lean_Elab_wfRecursion___closed__1 = _init_l_Lean_Elab_wfRecursion___closed__1();
lean_mark_persistent(l_Lean_Elab_wfRecursion___closed__1);
l_Lean_Elab_wfRecursion___closed__2 = _init_l_Lean_Elab_wfRecursion___closed__2();
lean_mark_persistent(l_Lean_Elab_wfRecursion___closed__2);
res = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_787_(lean_io_mk_world());
res = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_881_(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));

View file

@ -59,6 +59,7 @@ LEAN_EXPORT uint8_t l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_isAtomLike
static lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Elab_Syntax_0__Lean_Elab_Term_mkParserSeq___spec__1___closed__19;
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_expandNoKindMacroRulesAux___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_name_mk_string(lean_object*, lean_object*);
static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Syntax___hyg_6819____closed__1;
lean_object* l_Array_eraseIdx___rarg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Term_toParserDescr_processSepBy1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_usize_dec_eq(size_t, size_t);
@ -68,6 +69,7 @@ lean_object* lean_io_error_to_string(lean_object*);
static lean_object* l___regBuiltin_Lean_Elab_Command_elabDeclareSyntaxCat___closed__1;
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_checkLeftRec___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Elab_Command_expandNoKindMacroRulesAux___lambda__1___closed__3;
extern uint32_t l_Lean_idBeginEscape;
static lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__89;
lean_object* l_Array_append___rarg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Term_toParserDescr_processAtom___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -294,7 +296,7 @@ lean_object* l_Lean_replaceRef(lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__2;
lean_object* l_String_capitalize(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Syntax___hyg_6761_(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Syntax___hyg_6819_(lean_object*);
LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Term_toParserDescr_resolveParserName___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Elab_Term_toParserDescr_process___closed__13;
static lean_object* l_Lean_Elab_Term_toParserDescr_processNonReserved___closed__7;
@ -453,6 +455,7 @@ lean_object* l_Lean_Elab_logTrace___at_Lean_Elab_Command_elabCommand___spec__9(l
lean_object* lean_name_append_after(lean_object*, lean_object*);
static lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__69;
static lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Elab_Syntax_0__Lean_Elab_Term_mkParserSeq___spec__1___closed__11;
uint8_t l_String_isEmpty(lean_object*);
static lean_object* l_Lean_Elab_Term_toParserDescr_processNonReserved___closed__14;
static lean_object* l_Lean_Elab_Term_toParserDescr_processUnary___closed__3;
lean_object* l_Lean_Syntax_getNumArgs(lean_object*);
@ -561,6 +564,7 @@ static lean_object* l_Lean_Elab_Term_toParserDescr_processParserCategory___close
LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandOptPrecedence(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_toParserDescr_process___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Term_toParserDescr_isValidAtom___boxed(lean_object*);
uint8_t l_Lean_isIdFirst(uint32_t);
static lean_object* l_Lean_Elab_Command_elabSyntax___lambda__4___closed__2;
uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*);
static lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__28;
@ -595,7 +599,6 @@ static lean_object* l_Lean_Elab_Term_toParserDescr_processNullaryOrCat___closed_
static lean_object* l_Lean_Elab_Term_toParserDescr_processUnary___closed__4;
static lean_object* l_Lean_Elab_Command_elabSyntax___lambda__7___closed__2;
static lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__37;
static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Syntax___hyg_6761____closed__1;
static lean_object* l_Lean_Elab_Term_toParserDescr_process___closed__11;
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Command_elabSyntax___spec__8___boxed(lean_object*, lean_object*);
@ -3316,57 +3319,117 @@ return x_11;
LEAN_EXPORT uint8_t l_Lean_Elab_Term_toParserDescr_isValidAtom(lean_object* x_1) {
_start:
{
lean_object* x_2; uint32_t x_3; uint32_t x_4; uint8_t x_5;
x_2 = lean_unsigned_to_nat(0u);
x_3 = lean_string_utf8_get(x_1, x_2);
x_4 = 39;
x_5 = lean_uint32_dec_eq(x_3, x_4);
if (x_5 == 0)
{
uint32_t x_6; uint8_t x_7;
x_6 = 34;
x_7 = lean_uint32_dec_eq(x_3, x_6);
if (x_7 == 0)
{
uint32_t x_8; uint8_t x_9;
x_8 = 96;
x_9 = lean_uint32_dec_eq(x_3, x_8);
lean_object* x_2; uint8_t x_9;
x_9 = l_String_isEmpty(x_1);
if (x_9 == 0)
{
uint8_t x_10;
x_10 = l_Char_isDigit(x_3);
if (x_10 == 0)
lean_object* x_10; uint32_t x_11; uint32_t x_12; uint8_t x_13;
x_10 = lean_unsigned_to_nat(0u);
x_11 = lean_string_utf8_get(x_1, x_10);
x_12 = 39;
x_13 = lean_uint32_dec_eq(x_11, x_12);
if (x_13 == 0)
{
uint8_t x_11;
x_11 = 1;
return x_11;
uint32_t x_14; uint8_t x_15;
x_14 = 34;
x_15 = lean_uint32_dec_eq(x_11, x_14);
if (x_15 == 0)
{
uint32_t x_16; uint8_t x_17;
x_16 = 96;
x_17 = lean_uint32_dec_eq(x_11, x_16);
if (x_17 == 0)
{
lean_object* x_18;
x_18 = lean_box(0);
x_2 = x_18;
goto block_8;
}
else
{
uint8_t x_12;
x_12 = 0;
return x_12;
lean_object* x_19; lean_object* x_20; uint8_t x_21;
x_19 = lean_string_utf8_byte_size(x_1);
x_20 = lean_unsigned_to_nat(1u);
x_21 = lean_nat_dec_eq(x_19, x_20);
lean_dec(x_19);
if (x_21 == 0)
{
uint32_t x_22; uint8_t x_23;
x_22 = lean_string_utf8_get(x_1, x_20);
x_23 = l_Lean_isIdFirst(x_22);
if (x_23 == 0)
{
uint32_t x_24; uint8_t x_25;
x_24 = l_Lean_idBeginEscape;
x_25 = lean_uint32_dec_eq(x_22, x_24);
if (x_25 == 0)
{
lean_object* x_26;
x_26 = lean_box(0);
x_2 = x_26;
goto block_8;
}
else
{
uint8_t x_27;
x_27 = 0;
return x_27;
}
}
else
{
uint8_t x_13;
x_13 = 0;
return x_13;
uint8_t x_28;
x_28 = 0;
return x_28;
}
}
else
{
uint8_t x_14;
x_14 = 0;
return x_14;
uint8_t x_29;
x_29 = 0;
return x_29;
}
}
}
else
{
uint8_t x_15;
x_15 = 0;
return x_15;
uint8_t x_30;
x_30 = 0;
return x_30;
}
}
else
{
uint8_t x_31;
x_31 = 0;
return x_31;
}
}
else
{
uint8_t x_32;
x_32 = 0;
return x_32;
}
block_8:
{
lean_object* x_3; uint32_t x_4; uint8_t x_5;
lean_dec(x_2);
x_3 = lean_unsigned_to_nat(0u);
x_4 = lean_string_utf8_get(x_1, x_3);
x_5 = l_Char_isDigit(x_4);
if (x_5 == 0)
{
uint8_t x_6;
x_6 = 1;
return x_6;
}
else
{
uint8_t x_7;
x_7 = 0;
return x_7;
}
}
}
}
@ -18217,51 +18280,64 @@ return x_7;
}
else
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14;
lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11;
x_8 = lean_unsigned_to_nat(1u);
x_9 = l_Lean_Syntax_getArg(x_1, x_8);
lean_dec(x_1);
x_10 = l_Lean_Syntax_getArgs(x_9);
x_10 = l_Lean_nullKind;
lean_inc(x_9);
x_11 = l_Lean_Syntax_isNodeOf(x_9, x_10, x_8);
if (x_11 == 0)
{
lean_object* x_12;
lean_dec(x_9);
x_11 = l_Lean_instInhabitedSyntax;
x_12 = lean_unsigned_to_nat(0u);
x_13 = lean_array_get(x_11, x_10, x_12);
lean_dec(x_10);
x_14 = l_Lean_Syntax_isQuot(x_13);
if (x_14 == 0)
{
lean_object* x_15; uint8_t x_16;
lean_dec(x_13);
lean_dec(x_3);
lean_dec(x_2);
x_15 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Command_inferMacroRulesAltKind___spec__2___rarg(x_4);
x_16 = !lean_is_exclusive(x_15);
if (x_16 == 0)
{
return x_15;
x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Command_inferMacroRulesAltKind___spec__1___rarg(x_4);
return x_12;
}
else
{
lean_object* x_17; lean_object* x_18; lean_object* x_19;
x_17 = lean_ctor_get(x_15, 0);
x_18 = lean_ctor_get(x_15, 1);
lean_object* x_13; lean_object* x_14; uint8_t x_15;
x_13 = lean_unsigned_to_nat(0u);
x_14 = l_Lean_Syntax_getArg(x_9, x_13);
lean_dec(x_9);
x_15 = l_Lean_Syntax_isQuot(x_14);
if (x_15 == 0)
{
lean_object* x_16; uint8_t x_17;
lean_dec(x_14);
lean_dec(x_3);
lean_dec(x_2);
x_16 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Command_inferMacroRulesAltKind___spec__2___rarg(x_4);
x_17 = !lean_is_exclusive(x_16);
if (x_17 == 0)
{
return x_16;
}
else
{
lean_object* x_18; lean_object* x_19; lean_object* x_20;
x_18 = lean_ctor_get(x_16, 0);
x_19 = lean_ctor_get(x_16, 1);
lean_inc(x_19);
lean_inc(x_18);
lean_inc(x_17);
lean_dec(x_15);
x_19 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_19, 0, x_17);
lean_ctor_set(x_19, 1, x_18);
return x_19;
lean_dec(x_16);
x_20 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_20, 0, x_18);
lean_ctor_set(x_20, 1, x_19);
return x_20;
}
}
else
{
lean_object* x_20; lean_object* x_21;
x_20 = lean_box(0);
x_21 = l_Lean_Elab_Command_inferMacroRulesAltKind___lambda__1(x_13, x_20, x_2, x_3, x_4);
lean_object* x_21; lean_object* x_22;
x_21 = lean_box(0);
x_22 = l_Lean_Elab_Command_inferMacroRulesAltKind___lambda__1(x_14, x_21, x_2, x_3, x_4);
lean_dec(x_3);
lean_dec(x_2);
return x_21;
return x_22;
}
}
}
}
@ -19109,7 +19185,7 @@ lean_dec(x_2);
return x_4;
}
}
static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Syntax___hyg_6761____closed__1() {
static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Syntax___hyg_6819____closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@ -19119,11 +19195,11 @@ x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Syntax___hyg_6761_(lean_object* x_1) {
LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Syntax___hyg_6819_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3;
x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Syntax___hyg_6761____closed__1;
x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Syntax___hyg_6819____closed__1;
x_3 = l_Lean_registerTraceClass(x_2, x_1);
return x_3;
}
@ -19792,9 +19868,9 @@ l_Lean_Elab_Command_expandNoKindMacroRulesAux___lambda__1___closed__5 = _init_l_
lean_mark_persistent(l_Lean_Elab_Command_expandNoKindMacroRulesAux___lambda__1___closed__5);
l_Lean_Elab_Command_expandNoKindMacroRulesAux___lambda__1___closed__6 = _init_l_Lean_Elab_Command_expandNoKindMacroRulesAux___lambda__1___closed__6();
lean_mark_persistent(l_Lean_Elab_Command_expandNoKindMacroRulesAux___lambda__1___closed__6);
l_Lean_Elab_Command_initFn____x40_Lean_Elab_Syntax___hyg_6761____closed__1 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Syntax___hyg_6761____closed__1();
lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Syntax___hyg_6761____closed__1);
res = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Syntax___hyg_6761_(lean_io_mk_world());
l_Lean_Elab_Command_initFn____x40_Lean_Elab_Syntax___hyg_6819____closed__1 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Syntax___hyg_6819____closed__1();
lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Syntax___hyg_6819____closed__1);
res = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Syntax___hyg_6819_(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));

File diff suppressed because it is too large Load diff

View file

@ -65,6 +65,7 @@ static lean_object* l_Lean_mkDecIsFalse___closed__1;
static lean_object* l_Lean_mkAnd___closed__2;
uint64_t lean_uint8_to_uint64(uint8_t);
static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_376____closed__11;
LEAN_EXPORT lean_object* l_Lean_inaccessible_x3f___boxed(lean_object*);
lean_object* lean_name_mk_string(lean_object*, lean_object*);
uint8_t lean_usize_dec_eq(size_t, size_t);
static lean_object* l_Lean_mkEM___closed__1;
@ -74,6 +75,7 @@ static lean_object* l_Lean_mkSimpleThunkType___closed__3;
LEAN_EXPORT uint8_t l_Lean_Expr_isProp(lean_object*);
uint64_t lean_uint64_of_nat(lean_object*);
static lean_object* l_Lean_Expr_instHashableExpr___closed__1;
static lean_object* l_Lean_mkInaccessible___closed__1;
LEAN_EXPORT uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1198_(lean_object*);
lean_object* lean_expr_update_mdata(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Expr_bindingDomain_x21(lean_object*);
@ -323,6 +325,7 @@ LEAN_EXPORT uint64_t l_Lean_Expr_data(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Expr_fvarId_x21(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_Expr_withAppRevAux(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_Expr_getParamSubstArray___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_inaccessible_x3f(lean_object*);
LEAN_EXPORT uint8_t l_Lean_Expr_isHeadBetaTarget(lean_object*);
static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_376____closed__4;
LEAN_EXPORT uint8_t l_Lean_Expr_isBinding(lean_object*);
@ -363,6 +366,7 @@ LEAN_EXPORT lean_object* l_panic___at_Lean_Expr_constLevels_x21___spec__1(lean_o
LEAN_EXPORT lean_object* l_Lean_Expr_getArg_x21___boxed(lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Expr_bindingDomain_x21___closed__1;
lean_object* l_panic___at_String_toNat_x21___spec__1(lean_object*);
static lean_object* l_Lean_mkInaccessible___closed__2;
LEAN_EXPORT lean_object* l_Lean_isLHSGoal_x3f___boxed(lean_object*);
static lean_object* l_Lean_Expr_getRevArg_x21___closed__3;
LEAN_EXPORT lean_object* l_Lean_Expr_instantiateLevelParamsCore_visit___at_Lean_Expr_instantiateLevelParams___spec__1___boxed(lean_object*, lean_object*, lean_object*);
@ -745,6 +749,7 @@ lean_object* l_panic___at_Lean_Level_mvarId_x21___spec__1(lean_object*);
static lean_object* l_Lean_Expr_updateSort_x21___closed__1;
LEAN_EXPORT lean_object* l_Lean_Expr_isConst___boxed(lean_object*);
static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_376____closed__16;
LEAN_EXPORT lean_object* l_Lean_mkInaccessible(lean_object*);
static lean_object* l_Lean_Expr_mdataExpr_x21___closed__1;
uint64_t lean_string_hash(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Expr_isNatLit___boxed(lean_object*);
@ -14011,6 +14016,51 @@ x_3 = lean_box(x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_mkInaccessible___closed__1() {
_start:
{
lean_object* x_1;
x_1 = lean_mk_string("_inaccessible");
return x_1;
}
}
static lean_object* _init_l_Lean_mkInaccessible___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
x_2 = l_Lean_mkInaccessible___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
LEAN_EXPORT lean_object* l_Lean_mkInaccessible(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3;
x_2 = l_Lean_mkInaccessible___closed__2;
x_3 = l_Lean_mkAnnotation(x_2, x_1);
return x_3;
}
}
LEAN_EXPORT lean_object* l_Lean_inaccessible_x3f(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3;
x_2 = l_Lean_mkInaccessible___closed__2;
x_3 = l_Lean_annotation_x3f(x_2, x_1);
return x_3;
}
}
LEAN_EXPORT lean_object* l_Lean_inaccessible_x3f___boxed(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = l_Lean_inaccessible_x3f(x_1);
lean_dec(x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_mkLHSGoal___closed__1() {
_start:
{
@ -14806,6 +14856,10 @@ l_Lean_mkLetFunAnnotation___closed__1 = _init_l_Lean_mkLetFunAnnotation___closed
lean_mark_persistent(l_Lean_mkLetFunAnnotation___closed__1);
l_Lean_mkLetFunAnnotation___closed__2 = _init_l_Lean_mkLetFunAnnotation___closed__2();
lean_mark_persistent(l_Lean_mkLetFunAnnotation___closed__2);
l_Lean_mkInaccessible___closed__1 = _init_l_Lean_mkInaccessible___closed__1();
lean_mark_persistent(l_Lean_mkInaccessible___closed__1);
l_Lean_mkInaccessible___closed__2 = _init_l_Lean_mkInaccessible___closed__2();
lean_mark_persistent(l_Lean_mkInaccessible___closed__2);
l_Lean_mkLHSGoal___closed__1 = _init_l_Lean_mkLHSGoal___closed__1();
lean_mark_persistent(l_Lean_mkLHSGoal___closed__1);
l_Lean_mkLHSGoal___closed__2 = _init_l_Lean_mkLHSGoal___closed__2();

View file

@ -1283,11 +1283,10 @@ return x_2;
LEAN_EXPORT lean_object* l_Lean_Meta_AbstractNestedProofs_visit___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
uint8_t x_11; uint8_t x_12; lean_object* x_13;
uint8_t x_11; lean_object* x_12;
x_11 = 0;
x_12 = 1;
x_13 = l_Lean_Meta_mkLambdaFVars(x_1, x_2, x_11, x_12, x_6, x_7, x_8, x_9, x_10);
return x_13;
x_12 = l_Lean_Meta_mkLambdaFVars(x_1, x_2, x_11, x_11, x_6, x_7, x_8, x_9, x_10);
return x_12;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_AbstractNestedProofs_visit___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {

File diff suppressed because it is too large Load diff

View file

@ -31,7 +31,6 @@ lean_object* l_Lean_mkSort(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar___boxed(lean_object*);
LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* lean_name_mk_string(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Match_inaccessible_x3f(lean_object*);
lean_object* lean_array_uget(lean_object*, size_t);
uint64_t lean_uint64_of_nat(lean_object*);
LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_toPattern___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -47,10 +46,8 @@ static lean_object* l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___sp
uint8_t l_Lean_Meta_isMatchValue(lean_object*);
lean_object* lean_environment_find(lean_object*, lean_object*);
static lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__4;
LEAN_EXPORT lean_object* l_Lean_Meta_Match_inaccessible_x3f___boxed(lean_object*);
lean_object* lean_st_ref_get(lean_object*, lean_object*);
uint8_t lean_name_eq(lean_object*, lean_object*);
lean_object* l_Lean_annotation_x3f(lean_object*, lean_object*);
static lean_object* l_Lean_Meta_Match_Example_toMessageData___closed__5;
static lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__12;
LEAN_EXPORT lean_object* l_Lean_Meta_Match_instInhabitedAlt;
@ -59,11 +56,9 @@ lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
static lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__8;
lean_object* l_Lean_MessageData_ofList(lean_object*);
static lean_object* l_Lean_Meta_Match_mkInaccessible___closed__1;
LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__3(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Meta_Match_instInhabitedPattern___closed__3;
lean_object* l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1(lean_object*, lean_object*);
static lean_object* l_Lean_Meta_Match_mkInaccessible___closed__2;
LEAN_EXPORT lean_object* l_Lean_Meta_Match_Alt_applyFVarSubst___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Match_toPattern___spec__2(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -105,7 +100,6 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_Match_toPattern___spec
static lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__1;
lean_object* l_Lean_Meta_FVarSubst_apply(lean_object*, lean_object*);
static lean_object* l_Lean_Meta_Match_instInhabitedProblem___closed__1;
lean_object* l_Lean_mkAnnotation(lean_object*, lean_object*);
static lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__11;
LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_hasExprMVar(lean_object*);
@ -113,6 +107,7 @@ lean_object* l_Lean_replaceRef(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_filterAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__1___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Meta_Match_Example_toMessageData___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_fvarId_x21(lean_object*);
lean_object* l_Lean_inaccessible_x3f(lean_object*);
static lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__3___closed__2;
LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_counterExamplesToMessageData___spec__1(lean_object*, lean_object*);
static lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__9;
@ -131,7 +126,6 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_Match_Alt_checkAndRepl
lean_object* lean_array_to_list(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkInaccessible(lean_object*);
static lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__2;
static lean_object* l_Lean_Meta_Match_toPattern___closed__4;
uint8_t l_Lean_Expr_isAppOfArity(lean_object*, lean_object*, lean_object*);
@ -247,57 +241,13 @@ LEAN_EXPORT lean_object* l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar__
LEAN_EXPORT lean_object* l_Lean_Meta_Match_Alt_applyFVarSubst(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(lean_object*, lean_object*, lean_object*);
lean_object* l_List_appendTR___rarg(lean_object*, lean_object*);
lean_object* l_Lean_mkInaccessible(lean_object*);
lean_object* l_Lean_LocalDecl_applyFVarSubst(lean_object*, lean_object*);
static lean_object* l_Lean_Meta_Match_Alt_toMessageData___closed__3;
LEAN_EXPORT lean_object* l_Lean_Meta_Match_Pattern_toExpr(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__2;
LEAN_EXPORT uint8_t l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1(uint8_t, lean_object*);
static lean_object* l_Lean_Meta_Match_Example_toMessageData___closed__2;
static lean_object* _init_l_Lean_Meta_Match_mkInaccessible___closed__1() {
_start:
{
lean_object* x_1;
x_1 = lean_mk_string("_inaccessible");
return x_1;
}
}
static lean_object* _init_l_Lean_Meta_Match_mkInaccessible___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_mkInaccessible___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkInaccessible(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3;
x_2 = l_Lean_Meta_Match_mkInaccessible___closed__2;
x_3 = l_Lean_mkAnnotation(x_2, x_1);
return x_3;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Match_inaccessible_x3f(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3;
x_2 = l_Lean_Meta_Match_mkInaccessible___closed__2;
x_3 = l_Lean_annotation_x3f(x_2, x_1);
return x_3;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Match_inaccessible_x3f___boxed(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = l_Lean_Meta_Match_inaccessible_x3f(x_1);
lean_dec(x_1);
return x_2;
}
}
static uint64_t _init_l_Lean_Meta_Match_instInhabitedPattern___closed__1() {
_start:
{
@ -1251,7 +1201,7 @@ lean_object* x_10; lean_object* x_11; lean_object* x_12;
x_10 = lean_ctor_get(x_2, 0);
lean_inc(x_10);
lean_dec(x_2);
x_11 = l_Lean_Meta_Match_mkInaccessible(x_10);
x_11 = l_Lean_mkInaccessible(x_10);
x_12 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_12, 0, x_11);
lean_ctor_set(x_12, 1, x_7);
@ -7406,7 +7356,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Match_toPattern(lean_object* x_1, lean_obje
_start:
{
lean_object* x_7;
x_7 = l_Lean_Meta_Match_inaccessible_x3f(x_1);
x_7 = l_Lean_inaccessible_x3f(x_1);
if (lean_obj_tag(x_7) == 0)
{
lean_object* x_8;
@ -7959,10 +7909,6 @@ 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_mkInaccessible___closed__1 = _init_l_Lean_Meta_Match_mkInaccessible___closed__1();
lean_mark_persistent(l_Lean_Meta_Match_mkInaccessible___closed__1);
l_Lean_Meta_Match_mkInaccessible___closed__2 = _init_l_Lean_Meta_Match_mkInaccessible___closed__2();
lean_mark_persistent(l_Lean_Meta_Match_mkInaccessible___closed__2);
l_Lean_Meta_Match_instInhabitedPattern___closed__1 = _init_l_Lean_Meta_Match_instInhabitedPattern___closed__1();
l_Lean_Meta_Match_instInhabitedPattern___closed__2 = _init_l_Lean_Meta_Match_instInhabitedPattern___closed__2();
lean_mark_persistent(l_Lean_Meta_Match_instInhabitedPattern___closed__2);

View file

@ -44,6 +44,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_cleanup(lean_object*, lean_object*, lean_ob
LEAN_EXPORT lean_object* l_Std_RBNode_forIn_visit___at_Lean_Meta_cleanup_addUsedFVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_RBNode_forIn_visit___at_Lean_Meta_cleanup_addUsedFVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_cleanup___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_getMVarType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Meta_cleanup___lambda__1___closed__1;
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_cleanup___spec__6(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
lean_object* lean_st_ref_take(lean_object*, lean_object*);
@ -3320,7 +3321,7 @@ lean_inc(x_1);
x_16 = l_Lean_Meta_cleanup_collectUsed(x_1, x_14, x_3, x_4, x_5, x_6, x_15);
if (lean_obj_tag(x_16) == 0)
{
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; 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_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; uint8_t x_57; lean_object* x_58;
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64; lean_object* x_65;
x_17 = lean_ctor_get(x_16, 0);
lean_inc(x_17);
x_18 = lean_ctor_get(x_16, 1);
@ -3348,232 +3349,241 @@ lean_inc(x_27);
x_28 = lean_ctor_get(x_26, 1);
lean_inc(x_28);
lean_dec(x_26);
x_52 = l_Lean_Meta_getLocalInstances(x_3, x_4, x_5, x_6, x_28);
x_53 = lean_ctor_get(x_52, 0);
lean_inc(x_53);
x_54 = lean_ctor_get(x_52, 1);
lean_inc(x_54);
lean_dec(x_52);
x_55 = lean_array_get_size(x_53);
x_56 = lean_unsigned_to_nat(0u);
x_57 = lean_nat_dec_lt(x_56, x_55);
x_59 = l_Lean_Meta_getLocalInstances(x_3, x_4, x_5, x_6, x_28);
x_60 = lean_ctor_get(x_59, 0);
lean_inc(x_60);
x_61 = lean_ctor_get(x_59, 1);
lean_inc(x_61);
lean_dec(x_59);
x_62 = lean_array_get_size(x_60);
x_63 = lean_unsigned_to_nat(0u);
x_64 = lean_nat_dec_lt(x_63, x_62);
lean_inc(x_1);
x_65 = l_Lean_Meta_getMVarType(x_1, x_3, x_4, x_5, x_6, x_61);
if (x_64 == 0)
{
lean_dec(x_62);
lean_dec(x_60);
lean_dec(x_17);
if (lean_obj_tag(x_65) == 0)
{
lean_object* x_66; lean_object* x_67; lean_object* x_68;
x_66 = lean_ctor_get(x_65, 0);
lean_inc(x_66);
x_67 = lean_ctor_get(x_65, 1);
lean_inc(x_67);
lean_dec(x_65);
x_68 = l_Lean_Meta_cleanup___lambda__1___closed__2;
x_29 = x_68;
x_30 = x_66;
x_31 = x_67;
goto block_58;
}
else
{
uint8_t x_69;
lean_dec(x_27);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
x_69 = !lean_is_exclusive(x_65);
if (x_69 == 0)
{
return x_65;
}
else
{
lean_object* x_70; lean_object* x_71; lean_object* x_72;
x_70 = lean_ctor_get(x_65, 0);
x_71 = lean_ctor_get(x_65, 1);
lean_inc(x_71);
lean_inc(x_70);
lean_dec(x_65);
x_72 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_72, 0, x_70);
lean_ctor_set(x_72, 1, x_71);
return x_72;
}
}
}
else
{
uint8_t x_73;
x_73 = lean_nat_dec_le(x_62, x_62);
if (x_73 == 0)
{
lean_dec(x_62);
lean_dec(x_60);
lean_dec(x_17);
if (lean_obj_tag(x_65) == 0)
{
lean_object* x_74; lean_object* x_75; lean_object* x_76;
x_74 = lean_ctor_get(x_65, 0);
lean_inc(x_74);
x_75 = lean_ctor_get(x_65, 1);
lean_inc(x_75);
lean_dec(x_65);
x_76 = l_Lean_Meta_cleanup___lambda__1___closed__2;
x_29 = x_76;
x_30 = x_74;
x_31 = x_75;
goto block_58;
}
else
{
uint8_t x_77;
lean_dec(x_27);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
x_77 = !lean_is_exclusive(x_65);
if (x_77 == 0)
{
return x_65;
}
else
{
lean_object* x_78; lean_object* x_79; lean_object* x_80;
x_78 = lean_ctor_get(x_65, 0);
x_79 = lean_ctor_get(x_65, 1);
lean_inc(x_79);
lean_inc(x_78);
lean_dec(x_65);
x_80 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_80, 0, x_78);
lean_ctor_set(x_80, 1, x_79);
return x_80;
}
}
}
else
{
if (lean_obj_tag(x_65) == 0)
{
lean_object* x_81; lean_object* x_82; size_t x_83; size_t x_84; lean_object* x_85; lean_object* x_86;
x_81 = lean_ctor_get(x_65, 0);
lean_inc(x_81);
x_82 = lean_ctor_get(x_65, 1);
lean_inc(x_82);
lean_dec(x_65);
x_83 = 0;
x_84 = lean_usize_of_nat(x_62);
lean_dec(x_62);
x_85 = l_Lean_Meta_cleanup___lambda__1___closed__2;
x_86 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_cleanup___spec__6___at_Lean_Meta_cleanup___spec__7(x_17, x_60, x_83, x_84, x_85);
lean_dec(x_60);
lean_dec(x_17);
x_29 = x_86;
x_30 = x_81;
x_31 = x_82;
goto block_58;
}
else
{
uint8_t x_87;
lean_dec(x_62);
lean_dec(x_60);
lean_dec(x_27);
lean_dec(x_17);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
x_87 = !lean_is_exclusive(x_65);
if (x_87 == 0)
{
return x_65;
}
else
{
lean_object* x_88; lean_object* x_89; lean_object* x_90;
x_88 = lean_ctor_get(x_65, 0);
x_89 = lean_ctor_get(x_65, 1);
lean_inc(x_89);
lean_inc(x_88);
lean_dec(x_65);
x_90 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_90, 0, x_88);
lean_ctor_set(x_90, 1, x_89);
return x_90;
}
}
}
}
block_58:
{
lean_object* x_32;
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_1);
x_58 = l_Lean_Meta_getMVarType_x27(x_1, x_3, x_4, x_5, x_6, x_54);
if (x_57 == 0)
{
lean_dec(x_55);
lean_dec(x_53);
lean_dec(x_17);
if (lean_obj_tag(x_58) == 0)
{
lean_object* x_59; lean_object* x_60; lean_object* x_61;
x_59 = lean_ctor_get(x_58, 0);
lean_inc(x_59);
x_60 = lean_ctor_get(x_58, 1);
lean_inc(x_60);
lean_dec(x_58);
x_61 = l_Lean_Meta_cleanup___lambda__1___closed__2;
x_29 = x_61;
x_30 = x_59;
x_31 = x_60;
goto block_51;
}
else
{
uint8_t x_62;
lean_dec(x_27);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
x_62 = !lean_is_exclusive(x_58);
if (x_62 == 0)
{
return x_58;
}
else
{
lean_object* x_63; lean_object* x_64; lean_object* x_65;
x_63 = lean_ctor_get(x_58, 0);
x_64 = lean_ctor_get(x_58, 1);
lean_inc(x_64);
lean_inc(x_63);
lean_dec(x_58);
x_65 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_65, 0, x_63);
lean_ctor_set(x_65, 1, x_64);
return x_65;
}
}
}
else
{
uint8_t x_66;
x_66 = lean_nat_dec_le(x_55, x_55);
if (x_66 == 0)
{
lean_dec(x_55);
lean_dec(x_53);
lean_dec(x_17);
if (lean_obj_tag(x_58) == 0)
{
lean_object* x_67; lean_object* x_68; lean_object* x_69;
x_67 = lean_ctor_get(x_58, 0);
lean_inc(x_67);
x_68 = lean_ctor_get(x_58, 1);
lean_inc(x_68);
lean_dec(x_58);
x_69 = l_Lean_Meta_cleanup___lambda__1___closed__2;
x_29 = x_69;
x_30 = x_67;
x_31 = x_68;
goto block_51;
}
else
{
uint8_t x_70;
lean_dec(x_27);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
x_70 = !lean_is_exclusive(x_58);
if (x_70 == 0)
{
return x_58;
}
else
{
lean_object* x_71; lean_object* x_72; lean_object* x_73;
x_71 = lean_ctor_get(x_58, 0);
x_72 = lean_ctor_get(x_58, 1);
lean_inc(x_72);
lean_inc(x_71);
lean_dec(x_58);
x_73 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_73, 0, x_71);
lean_ctor_set(x_73, 1, x_72);
return x_73;
}
}
}
else
{
if (lean_obj_tag(x_58) == 0)
{
lean_object* x_74; lean_object* x_75; size_t x_76; size_t x_77; lean_object* x_78; lean_object* x_79;
x_74 = lean_ctor_get(x_58, 0);
lean_inc(x_74);
x_75 = lean_ctor_get(x_58, 1);
lean_inc(x_75);
lean_dec(x_58);
x_76 = 0;
x_77 = lean_usize_of_nat(x_55);
lean_dec(x_55);
x_78 = l_Lean_Meta_cleanup___lambda__1___closed__2;
x_79 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_cleanup___spec__6___at_Lean_Meta_cleanup___spec__7(x_17, x_53, x_76, x_77, x_78);
lean_dec(x_53);
lean_dec(x_17);
x_29 = x_79;
x_30 = x_74;
x_31 = x_75;
goto block_51;
}
else
{
uint8_t x_80;
lean_dec(x_55);
lean_dec(x_53);
lean_dec(x_27);
lean_dec(x_17);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
x_80 = !lean_is_exclusive(x_58);
if (x_80 == 0)
{
return x_58;
}
else
{
lean_object* x_81; lean_object* x_82; lean_object* x_83;
x_81 = lean_ctor_get(x_58, 0);
x_82 = lean_ctor_get(x_58, 1);
lean_inc(x_82);
lean_inc(x_81);
lean_dec(x_58);
x_83 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_83, 0, x_81);
lean_ctor_set(x_83, 1, x_82);
return x_83;
}
}
}
}
block_51:
{
lean_object* x_32;
lean_inc(x_1);
x_32 = l_Lean_Meta_getMVarTag(x_1, x_3, x_4, x_5, x_6, x_31);
x_32 = l_Lean_Meta_instantiateMVars(x_30, x_3, x_4, x_5, x_6, x_31);
if (lean_obj_tag(x_32) == 0)
{
lean_object* x_33; lean_object* x_34; uint8_t x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41;
lean_object* x_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 = 2;
x_36 = lean_unsigned_to_nat(0u);
x_37 = l_Lean_Meta_mkFreshExprMVarAt(x_27, x_29, x_30, x_35, x_33, x_36, x_3, x_4, x_5, x_6, x_34);
x_38 = lean_ctor_get(x_37, 0);
lean_inc(x_38);
x_39 = lean_ctor_get(x_37, 1);
lean_inc(x_39);
lean_dec(x_37);
lean_inc(x_38);
x_40 = l_Lean_Meta_assignExprMVar(x_1, x_38, x_3, x_4, x_5, x_6, x_39);
lean_inc(x_1);
x_35 = l_Lean_Meta_getMVarTag(x_1, 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; uint8_t x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44;
x_36 = lean_ctor_get(x_35, 0);
lean_inc(x_36);
x_37 = lean_ctor_get(x_35, 1);
lean_inc(x_37);
lean_dec(x_35);
x_38 = 2;
x_39 = lean_unsigned_to_nat(0u);
x_40 = l_Lean_Meta_mkFreshExprMVarAt(x_27, x_29, x_33, x_38, x_36, x_39, x_3, x_4, x_5, x_6, x_37);
x_41 = lean_ctor_get(x_40, 0);
lean_inc(x_41);
x_42 = lean_ctor_get(x_40, 1);
lean_inc(x_42);
lean_dec(x_40);
lean_inc(x_41);
x_43 = l_Lean_Meta_assignExprMVar(x_1, x_41, x_3, x_4, x_5, x_6, x_42);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
x_41 = !lean_is_exclusive(x_40);
if (x_41 == 0)
x_44 = !lean_is_exclusive(x_43);
if (x_44 == 0)
{
lean_object* x_42; lean_object* x_43;
x_42 = lean_ctor_get(x_40, 0);
lean_dec(x_42);
x_43 = l_Lean_Expr_mvarId_x21(x_38);
lean_dec(x_38);
lean_ctor_set(x_40, 0, x_43);
return x_40;
lean_object* x_45; lean_object* x_46;
x_45 = lean_ctor_get(x_43, 0);
lean_dec(x_45);
x_46 = l_Lean_Expr_mvarId_x21(x_41);
lean_dec(x_41);
lean_ctor_set(x_43, 0, x_46);
return x_43;
}
else
{
lean_object* x_44; lean_object* x_45; lean_object* x_46;
x_44 = lean_ctor_get(x_40, 1);
lean_inc(x_44);
lean_dec(x_40);
x_45 = l_Lean_Expr_mvarId_x21(x_38);
lean_dec(x_38);
x_46 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_46, 0, x_45);
lean_ctor_set(x_46, 1, x_44);
return x_46;
lean_object* x_47; lean_object* x_48; lean_object* x_49;
x_47 = lean_ctor_get(x_43, 1);
lean_inc(x_47);
lean_dec(x_43);
x_48 = l_Lean_Expr_mvarId_x21(x_41);
lean_dec(x_41);
x_49 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_49, 0, x_48);
lean_ctor_set(x_49, 1, x_47);
return x_49;
}
}
else
{
uint8_t x_47;
lean_dec(x_30);
uint8_t x_50;
lean_dec(x_33);
lean_dec(x_29);
lean_dec(x_27);
lean_dec(x_6);
@ -3581,81 +3591,111 @@ lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
x_47 = !lean_is_exclusive(x_32);
if (x_47 == 0)
x_50 = !lean_is_exclusive(x_35);
if (x_50 == 0)
{
return x_35;
}
else
{
lean_object* x_51; lean_object* x_52; lean_object* x_53;
x_51 = lean_ctor_get(x_35, 0);
x_52 = lean_ctor_get(x_35, 1);
lean_inc(x_52);
lean_inc(x_51);
lean_dec(x_35);
x_53 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_53, 0, x_51);
lean_ctor_set(x_53, 1, x_52);
return x_53;
}
}
}
else
{
uint8_t x_54;
lean_dec(x_29);
lean_dec(x_27);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
x_54 = !lean_is_exclusive(x_32);
if (x_54 == 0)
{
return x_32;
}
else
{
lean_object* x_48; lean_object* x_49; lean_object* x_50;
x_48 = lean_ctor_get(x_32, 0);
x_49 = lean_ctor_get(x_32, 1);
lean_inc(x_49);
lean_inc(x_48);
lean_object* x_55; lean_object* x_56; lean_object* x_57;
x_55 = lean_ctor_get(x_32, 0);
x_56 = lean_ctor_get(x_32, 1);
lean_inc(x_56);
lean_inc(x_55);
lean_dec(x_32);
x_50 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_50, 0, x_48);
lean_ctor_set(x_50, 1, x_49);
return x_50;
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_84;
uint8_t x_91;
lean_dec(x_14);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
x_84 = !lean_is_exclusive(x_16);
if (x_84 == 0)
x_91 = !lean_is_exclusive(x_16);
if (x_91 == 0)
{
return x_16;
}
else
{
lean_object* x_85; lean_object* x_86; lean_object* x_87;
x_85 = lean_ctor_get(x_16, 0);
x_86 = lean_ctor_get(x_16, 1);
lean_inc(x_86);
lean_inc(x_85);
lean_object* x_92; lean_object* x_93; lean_object* x_94;
x_92 = lean_ctor_get(x_16, 0);
x_93 = lean_ctor_get(x_16, 1);
lean_inc(x_93);
lean_inc(x_92);
lean_dec(x_16);
x_87 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_87, 0, x_85);
lean_ctor_set(x_87, 1, x_86);
return x_87;
x_94 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_94, 0, x_92);
lean_ctor_set(x_94, 1, x_93);
return x_94;
}
}
}
else
{
uint8_t x_88;
uint8_t x_95;
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
x_88 = !lean_is_exclusive(x_8);
if (x_88 == 0)
x_95 = !lean_is_exclusive(x_8);
if (x_95 == 0)
{
return x_8;
}
else
{
lean_object* x_89; lean_object* x_90; lean_object* x_91;
x_89 = lean_ctor_get(x_8, 0);
x_90 = lean_ctor_get(x_8, 1);
lean_inc(x_90);
lean_inc(x_89);
lean_object* x_96; lean_object* x_97; lean_object* x_98;
x_96 = lean_ctor_get(x_8, 0);
x_97 = lean_ctor_get(x_8, 1);
lean_inc(x_97);
lean_inc(x_96);
lean_dec(x_8);
x_91 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_91, 0, x_89);
lean_ctor_set(x_91, 1, x_90);
return x_91;
x_98 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_98, 0, x_96);
lean_ctor_set(x_98, 1, x_97);
return x_98;
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -494,6 +494,7 @@ static lean_object* l_Lean_Parser_Command_macroTail___elambda__1___closed__9;
static lean_object* l_Lean_Parser_Command_macro__rules___closed__8;
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Parser_Command_infix;
static lean_object* l_Lean_Parser_Command_macroRhs_formatter___closed__3;
static lean_object* l_Lean_Parser_Command_syntax___elambda__1___closed__22;
LEAN_EXPORT lean_object* l_Lean_Parser_Command_identPrec_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Parser_Command_mixfix___elambda__1___closed__2;
@ -663,6 +664,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Syntax_sepBy1___elambda__1(lean_object*,
static lean_object* l_Lean_Parser_Command_catBehaviorSymbol___elambda__1___closed__3;
static lean_object* l_Lean_Parser_Term_stx_quot___elambda__1___closed__5;
static lean_object* l_Lean_Parser_Term_prec_quot___elambda__1___closed__5;
static lean_object* l_Lean_Parser_Command_elabTail___elambda__1___closed__16;
static lean_object* l_Lean_Parser_Command_macro__rules_formatter___closed__10;
static lean_object* l_Lean_Parser_Command_notation___closed__3;
static lean_object* l_Lean_Parser_Command_elab___elambda__1___closed__6;
@ -806,6 +808,7 @@ static lean_object* l_Lean_Parser_Term_prio_quot_formatter___closed__5;
LEAN_EXPORT lean_object* l_Lean_Parser_Command_notation;
LEAN_EXPORT lean_object* l___regBuiltinParser_Lean_Parser_Command_notation(lean_object*);
static lean_object* l_Lean_Parser_Command_mixfix_formatter___closed__13;
static lean_object* l_Lean_Parser_Command_elabTail_parenthesizer___closed__7;
static lean_object* l_Lean_Parser_Term_stx_quot_formatter___closed__3;
LEAN_EXPORT lean_object* l_Lean_Parser_precedenceParser_formatter___boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Parser_Term_stx_quot;
@ -981,6 +984,7 @@ static lean_object* l_Lean_Parser_Command_catBehaviorBoth_formatter___closed__3;
static lean_object* l_Lean_Parser_Syntax_sepBy1_parenthesizer___closed__3;
static lean_object* l_Lean_Parser_Term_stx_quot_formatter___closed__4;
static lean_object* l_Lean_Parser_Command_optKind_formatter___closed__3;
LEAN_EXPORT lean_object* l_Lean_Parser_Command_macroRhs___lambda__1(lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Parser_Command_macro_parenthesizer___closed__11;
static lean_object* l_Lean_Parser_Command_macroTailDefault_parenthesizer___closed__1;
static lean_object* l_Lean_Parser_Command_syntax___elambda__1___closed__15;
@ -1098,6 +1102,7 @@ static lean_object* l_Lean_Parser_Command_prefix___closed__2;
static lean_object* l_Lean_Parser_Command_syntax___elambda__1___closed__26;
static lean_object* l_Lean_Parser_Command_macroArg___elambda__1___closed__1;
static lean_object* l_Lean_Parser_Command_infix_parenthesizer___closed__3;
static lean_object* l_Lean_Parser_Command_elabTail___closed__10;
static lean_object* l_Lean_Parser_Term_prio_quot___closed__4;
static lean_object* l_Lean_Parser_Command_notationItem___closed__2;
static lean_object* l_Lean_Parser_Command_elab__rules___elambda__1___closed__1;
@ -1217,6 +1222,7 @@ static lean_object* l_Lean_Parser_Command_notationItem___closed__1;
static lean_object* l_Lean_Parser_precedence___elambda__1___lambda__2___closed__11;
static lean_object* l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__12;
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_prec_quot_formatter(lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_withPosition_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Parser_Command_catBehaviorBoth___elambda__1___closed__5;
LEAN_EXPORT lean_object* l___regBuiltinParser_Lean_Parser_Syntax_paren(lean_object*);
lean_object* l_Lean_Parser_withResultOfFn(lean_object*, lean_object*, lean_object*, lean_object*);
@ -1312,6 +1318,7 @@ static lean_object* l___regBuiltinParser_Lean_Parser_Syntax_numPrec___closed__3;
LEAN_EXPORT lean_object* l___regBuiltinParser_Lean_Parser_Syntax_sepBy1(lean_object*);
static lean_object* l_Lean_Parser_precedence___elambda__1___closed__10;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkNoWsBefore_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Parser_Command_elabTail_formatter___closed__7;
static lean_object* l_Lean_Parser_Command_mixfix___closed__15;
static lean_object* l_Lean_Parser_Command_mixfix_parenthesizer___closed__9;
static lean_object* l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__4;
@ -1480,6 +1487,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Command_syntaxAbbrev_formatter(lean_objec
static lean_object* l_Lean_Parser_Command_syntaxAbbrev_formatter___closed__2;
LEAN_EXPORT lean_object* l_Lean_Parser_precedenceParser(lean_object*);
static lean_object* l___regBuiltin_Lean_Parser_Command_macro_parenthesizer___closed__1;
static lean_object* l_Lean_Parser_Command_macroRhs_parenthesizer___closed__3;
static lean_object* l_Lean_Parser_Command_macroTailTactic___closed__6;
static lean_object* l_Lean_Parser_Command_notation___closed__1;
static lean_object* l_Lean_Parser_Command_macro_formatter___closed__12;
@ -1738,6 +1746,7 @@ static lean_object* l_Lean_Parser_Term_stx_quot___elambda__1___closed__1;
static lean_object* l_Lean_Parser_Command_elab__rules___elambda__1___closed__5;
static lean_object* l___regBuiltin_Lean_Parser_Syntax_unary_formatter___closed__1;
static lean_object* l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__9;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_withPosition_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Parser_Command_macro_parenthesizer___closed__3;
static lean_object* l_Lean_Parser_Term_prec_quot___elambda__1___closed__3;
static lean_object* l_Lean_Parser_Command_macro_formatter___closed__10;
@ -2041,6 +2050,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Syntax_sepBy1_formatter(lean_object*, lea
static lean_object* l_Lean_Parser_Syntax_cat_parenthesizer___closed__4;
static lean_object* l_Lean_Parser_Command_syntax___closed__4;
lean_object* l_Lean_Parser_setLhsPrecFn___boxed(lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Parser_Command_elabTail___elambda__1___closed__15;
LEAN_EXPORT lean_object* l_Lean_Parser_Command_syntaxAbbrev_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Parser_Command_macroTail___closed__5;
static lean_object* l___regBuiltin_Lean_Parser_Syntax_paren_parenthesizer___closed__2;
@ -22733,6 +22743,61 @@ return x_9;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Parser_Command_macroRhs___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
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; lean_object* x_9;
x_5 = lean_ctor_get(x_2, 5);
lean_dec(x_5);
x_6 = lean_ctor_get(x_3, 2);
lean_inc(x_6);
x_7 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_7, 0, x_6);
lean_ctor_set(x_2, 5, x_7);
x_8 = lean_unsigned_to_nat(0u);
x_9 = l_Lean_Parser_categoryParser___elambda__1(x_1, x_8, x_2, x_3);
return x_9;
}
else
{
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
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);
x_15 = lean_ctor_get_uint8(x_2, sizeof(void*)*7);
x_16 = lean_ctor_get(x_2, 6);
lean_inc(x_16);
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_17 = lean_ctor_get(x_3, 2);
lean_inc(x_17);
x_18 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_18, 0, x_17);
x_19 = lean_alloc_ctor(0, 7, 1);
lean_ctor_set(x_19, 0, x_10);
lean_ctor_set(x_19, 1, x_11);
lean_ctor_set(x_19, 2, x_12);
lean_ctor_set(x_19, 3, x_13);
lean_ctor_set(x_19, 4, x_14);
lean_ctor_set(x_19, 5, x_18);
lean_ctor_set(x_19, 6, x_16);
lean_ctor_set_uint8(x_19, sizeof(void*)*7, x_15);
x_20 = lean_unsigned_to_nat(0u);
x_21 = l_Lean_Parser_categoryParser___elambda__1(x_1, x_20, x_19, x_3);
return x_21;
}
}
}
static lean_object* _init_l_Lean_Parser_Command_macroRhs___closed__1() {
_start:
{
@ -22782,7 +22847,7 @@ return x_2;
LEAN_EXPORT lean_object* l_Lean_Parser_Command_macroRhs(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = lean_ctor_get(x_1, 1);
@ -22807,37 +22872,39 @@ lean_closure_set(x_13, 1, x_9);
x_14 = l_Lean_Parser_Command_mixfix___closed__1;
x_15 = lean_ctor_get(x_14, 0);
lean_inc(x_15);
x_16 = l_Lean_Parser_orelseInfo(x_11, x_15);
x_17 = l_Lean_Parser_Command_mixfix___elambda__1___closed__5;
x_18 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
lean_closure_set(x_18, 0, x_13);
lean_closure_set(x_18, 1, x_17);
x_19 = l_Lean_Parser_Command_macroRhs___elambda__1___closed__2;
x_20 = l_Lean_Parser_nodeInfo(x_19, x_16);
x_21 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
lean_closure_set(x_21, 0, x_19);
lean_closure_set(x_21, 1, x_18);
x_22 = l_Lean_Parser_epsilonInfo;
x_23 = l_Lean_Parser_andthenInfo(x_20, x_22);
x_24 = l_Lean_Parser_precedence___elambda__1___closed__17;
x_25 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
lean_closure_set(x_25, 0, x_21);
lean_closure_set(x_25, 1, x_24);
x_26 = l_Lean_Parser_andthenInfo(x_22, x_23);
x_27 = l_Lean_Parser_precedence___elambda__1___closed__15;
x_28 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
lean_closure_set(x_28, 0, x_27);
lean_closure_set(x_28, 1, x_25);
x_29 = l_Lean_Parser_Command_macroRhs___elambda__1___closed__4;
x_30 = lean_ctor_get(x_29, 0);
lean_inc(x_30);
x_31 = l_Lean_Parser_orelseInfo(x_30, x_26);
x_32 = lean_alloc_closure((void*)(l_Lean_Parser_Command_macroRhs___elambda__1), 3, 1);
lean_closure_set(x_32, 0, x_28);
x_33 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_33, 0, x_31);
lean_ctor_set(x_33, 1, x_32);
return x_33;
x_16 = l___regBuiltinParser_Lean_Parser_Term_stx_quot___closed__2;
x_17 = lean_alloc_closure((void*)(l_Lean_Parser_Command_macroRhs___lambda__1), 3, 1);
lean_closure_set(x_17, 0, x_16);
x_18 = l_Lean_Parser_orelseInfo(x_11, x_15);
x_19 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
lean_closure_set(x_19, 0, x_13);
lean_closure_set(x_19, 1, x_17);
x_20 = l_Lean_Parser_Command_macroRhs___elambda__1___closed__2;
x_21 = l_Lean_Parser_nodeInfo(x_20, x_18);
x_22 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
lean_closure_set(x_22, 0, x_20);
lean_closure_set(x_22, 1, x_19);
x_23 = l_Lean_Parser_epsilonInfo;
x_24 = l_Lean_Parser_andthenInfo(x_21, x_23);
x_25 = l_Lean_Parser_precedence___elambda__1___closed__17;
x_26 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
lean_closure_set(x_26, 0, x_22);
lean_closure_set(x_26, 1, x_25);
x_27 = l_Lean_Parser_andthenInfo(x_23, x_24);
x_28 = l_Lean_Parser_precedence___elambda__1___closed__15;
x_29 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
lean_closure_set(x_29, 0, x_28);
lean_closure_set(x_29, 1, x_26);
x_30 = l_Lean_Parser_Command_macroRhs___elambda__1___closed__4;
x_31 = lean_ctor_get(x_30, 0);
lean_inc(x_31);
x_32 = l_Lean_Parser_orelseInfo(x_31, x_27);
x_33 = lean_alloc_closure((void*)(l_Lean_Parser_Command_macroRhs___elambda__1), 3, 1);
lean_closure_set(x_33, 0, x_29);
x_34 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_34, 0, x_32);
lean_ctor_set(x_34, 1, x_33);
return x_34;
}
}
static lean_object* _init_l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__1() {
@ -24213,6 +24280,16 @@ lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_macroRhs_formatter___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__3;
x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_withPosition_formatter), 6, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
LEAN_EXPORT lean_object* l_Lean_Parser_Command_macroRhs_formatter(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:
{
@ -24227,7 +24304,7 @@ x_10 = l_Lean_Parser_Command_macroRhs_formatter___closed__2;
x_11 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2);
lean_closure_set(x_11, 0, x_10);
lean_closure_set(x_11, 1, x_9);
x_12 = l_Lean_Parser_Command_mixfix_formatter___closed__3;
x_12 = l_Lean_Parser_Command_macroRhs_formatter___closed__3;
x_13 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2);
lean_closure_set(x_13, 0, x_11);
lean_closure_set(x_13, 1, x_12);
@ -24820,6 +24897,16 @@ lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_macroRhs_parenthesizer___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__2;
x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_withPosition_parenthesizer), 6, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
LEAN_EXPORT lean_object* l_Lean_Parser_Command_macroRhs_parenthesizer(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:
{
@ -24834,7 +24921,7 @@ x_10 = l_Lean_Parser_Command_macroRhs_parenthesizer___closed__2;
x_11 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2);
lean_closure_set(x_11, 0, x_10);
lean_closure_set(x_11, 1, x_9);
x_12 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__2;
x_12 = l_Lean_Parser_Command_macroRhs_parenthesizer___closed__3;
x_13 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2);
lean_closure_set(x_13, 0, x_11);
lean_closure_set(x_13, 1, x_12);
@ -26408,22 +26495,20 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_elabTail___elambda__1___closed__11() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_elabTail___elambda__1___closed__10;
x_2 = l_Lean_Parser_Command_mixfix___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;
lean_object* x_1; lean_object* x_2;
x_1 = l___regBuiltinParser_Lean_Parser_Term_stx_quot___closed__2;
x_2 = lean_alloc_closure((void*)(l_Lean_Parser_Command_macroRhs___lambda__1), 3, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_elabTail___elambda__1___closed__12() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_elabTail___elambda__1___closed__2;
x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__6;
x_2 = l_Lean_Parser_Command_elabTail___elambda__1___closed__11;
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;
@ -26433,8 +26518,8 @@ static lean_object* _init_l_Lean_Parser_Command_elabTail___elambda__1___closed__
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_elabTail___elambda__1___closed__12;
x_2 = l_Lean_Parser_precedence___elambda__1___closed__17;
x_1 = l_Lean_Parser_Command_elabTail___elambda__1___closed__10;
x_2 = l_Lean_Parser_Command_elabTail___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);
@ -26445,8 +26530,32 @@ static lean_object* _init_l_Lean_Parser_Command_elabTail___elambda__1___closed__
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_precedence___elambda__1___closed__15;
x_1 = l_Lean_Parser_Command_elabTail___elambda__1___closed__2;
x_2 = l_Lean_Parser_Command_elabTail___elambda__1___closed__13;
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_elabTail___elambda__1___closed__15() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_elabTail___elambda__1___closed__14;
x_2 = l_Lean_Parser_precedence___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_elabTail___elambda__1___closed__16() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_precedence___elambda__1___closed__15;
x_2 = l_Lean_Parser_Command_elabTail___elambda__1___closed__15;
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);
@ -26548,28 +26657,53 @@ return x_29;
}
else
{
lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36;
x_30 = l___regBuiltinParser_Lean_Parser_Term_stx_quot___closed__2;
x_31 = lean_unsigned_to_nat(0u);
lean_inc(x_1);
x_32 = l_Lean_Parser_categoryParser___elambda__1(x_30, x_31, x_1, x_22);
x_33 = l_Lean_Parser_Command_elabTail___elambda__1___closed__2;
x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_12);
x_35 = lean_ctor_get(x_34, 4);
lean_inc(x_35);
x_36 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_734____at_Lean_Parser_ParserState_hasError___spec__1(x_35, x_9);
lean_dec(x_35);
if (x_36 == 0)
lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; 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; uint8_t x_46;
x_30 = lean_ctor_get(x_1, 0);
lean_inc(x_30);
x_31 = lean_ctor_get(x_1, 1);
lean_inc(x_31);
x_32 = lean_ctor_get(x_1, 2);
lean_inc(x_32);
x_33 = lean_ctor_get(x_1, 3);
lean_inc(x_33);
x_34 = lean_ctor_get(x_1, 4);
lean_inc(x_34);
x_35 = lean_ctor_get_uint8(x_1, sizeof(void*)*7);
x_36 = lean_ctor_get(x_1, 6);
lean_inc(x_36);
x_37 = lean_ctor_get(x_22, 2);
lean_inc(x_37);
x_38 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_38, 0, x_37);
x_39 = lean_alloc_ctor(0, 7, 1);
lean_ctor_set(x_39, 0, x_30);
lean_ctor_set(x_39, 1, x_31);
lean_ctor_set(x_39, 2, x_32);
lean_ctor_set(x_39, 3, x_33);
lean_ctor_set(x_39, 4, x_34);
lean_ctor_set(x_39, 5, x_38);
lean_ctor_set(x_39, 6, x_36);
lean_ctor_set_uint8(x_39, sizeof(void*)*7, x_35);
x_40 = l___regBuiltinParser_Lean_Parser_Term_stx_quot___closed__2;
x_41 = lean_unsigned_to_nat(0u);
x_42 = l_Lean_Parser_categoryParser___elambda__1(x_40, x_41, x_39, x_22);
x_43 = l_Lean_Parser_Command_elabTail___elambda__1___closed__2;
x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_12);
x_45 = lean_ctor_get(x_44, 4);
lean_inc(x_45);
x_46 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_734____at_Lean_Parser_ParserState_hasError___spec__1(x_45, x_9);
lean_dec(x_45);
if (x_46 == 0)
{
lean_dec(x_1);
return x_34;
return x_44;
}
else
{
lean_object* x_37;
x_37 = l_Lean_Parser_setLhsPrecFn(x_6, x_1, x_34);
lean_object* x_47;
x_47 = l_Lean_Parser_setLhsPrecFn(x_6, x_1, x_44);
lean_dec(x_1);
return x_37;
return x_47;
}
}
}
@ -26577,11 +26711,11 @@ return x_37;
}
else
{
lean_object* x_38; uint8_t x_39; lean_object* x_40;
x_38 = l_Lean_Parser_Command_elabTail___elambda__1___closed__14;
x_39 = 1;
x_40 = l_Lean_Parser_orelseFnCore(x_4, x_38, x_39, x_1, x_2);
return x_40;
lean_object* x_48; uint8_t x_49; lean_object* x_50;
x_48 = l_Lean_Parser_Command_elabTail___elambda__1___closed__16;
x_49 = 1;
x_50 = l_Lean_Parser_orelseFnCore(x_4, x_48, x_49, x_1, x_2);
return x_50;
}
}
}
@ -26612,20 +26746,24 @@ return x_3;
static lean_object* _init_l_Lean_Parser_Command_elabTail___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_elabTail___closed__2;
x_2 = l_Lean_Parser_Command_mixfix___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; lean_object* x_5;
x_1 = l_Lean_Parser_Command_mixfix___closed__1;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_darrow;
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_elabTail___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_elabTail___elambda__1___closed__2;
x_1 = l_Lean_Parser_Command_elabTail___closed__2;
x_2 = l_Lean_Parser_Command_elabTail___closed__3;
x_3 = l_Lean_Parser_nodeInfo(x_1, x_2);
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
}
}
@ -26633,9 +26771,9 @@ static lean_object* _init_l_Lean_Parser_Command_elabTail___closed__5() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_elabTail___closed__4;
x_2 = l_Lean_Parser_epsilonInfo;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
x_1 = l_Lean_Parser_Command_elabTail___elambda__1___closed__2;
x_2 = l_Lean_Parser_Command_elabTail___closed__4;
x_3 = l_Lean_Parser_nodeInfo(x_1, x_2);
return x_3;
}
}
@ -26643,8 +26781,8 @@ static lean_object* _init_l_Lean_Parser_Command_elabTail___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_elabTail___closed__5;
x_1 = l_Lean_Parser_Command_elabTail___closed__5;
x_2 = l_Lean_Parser_epsilonInfo;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
}
@ -26652,16 +26790,26 @@ return x_3;
static lean_object* _init_l_Lean_Parser_Command_elabTail___closed__7() {
_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_elabTail___closed__6;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Command_elabTail___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_elabTail___elambda__1___closed__4;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Command_elabTail___closed__6;
x_3 = l_Lean_Parser_Command_elabTail___closed__7;
x_4 = l_Lean_Parser_orelseInfo(x_2, x_3);
return x_4;
}
}
static lean_object* _init_l_Lean_Parser_Command_elabTail___closed__8() {
static lean_object* _init_l_Lean_Parser_Command_elabTail___closed__9() {
_start:
{
lean_object* x_1;
@ -26669,12 +26817,12 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_elabTail___elambda__1), 2
return x_1;
}
}
static lean_object* _init_l_Lean_Parser_Command_elabTail___closed__9() {
static lean_object* _init_l_Lean_Parser_Command_elabTail___closed__10() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_elabTail___closed__7;
x_2 = l_Lean_Parser_Command_elabTail___closed__8;
x_1 = l_Lean_Parser_Command_elabTail___closed__8;
x_2 = l_Lean_Parser_Command_elabTail___closed__9;
x_3 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_3, 0, x_1);
lean_ctor_set(x_3, 1, x_2);
@ -26685,7 +26833,7 @@ static lean_object* _init_l_Lean_Parser_Command_elabTail() {
_start:
{
lean_object* x_1;
x_1 = l_Lean_Parser_Command_elabTail___closed__9;
x_1 = l_Lean_Parser_Command_elabTail___closed__10;
return x_1;
}
}
@ -26781,7 +26929,7 @@ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
x_1 = l_Lean_Parser_Command_elab___elambda__1___closed__9;
x_2 = lean_ctor_get(x_1, 1);
lean_inc(x_2);
x_3 = l_Lean_Parser_Command_elabTail___closed__8;
x_3 = l_Lean_Parser_Command_elabTail___closed__9;
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);
@ -27217,8 +27365,8 @@ static lean_object* _init_l_Lean_Parser_Command_elabTail_formatter___closed__5()
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_elabTail_formatter___closed__4;
x_2 = l_Lean_Parser_Command_mixfix_formatter___closed__4;
x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__2;
x_2 = l_Lean_Parser_Command_macroRhs_formatter___closed__3;
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);
@ -27228,10 +27376,22 @@ return x_3;
static lean_object* _init_l_Lean_Parser_Command_elabTail_formatter___closed__6() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_elabTail_formatter___closed__4;
x_2 = l_Lean_Parser_Command_elabTail_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_elabTail_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_elabTail___elambda__1___closed__2;
x_2 = lean_unsigned_to_nat(1024u);
x_3 = l_Lean_Parser_Command_elabTail_formatter___closed__5;
x_3 = l_Lean_Parser_Command_elabTail_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);
@ -27244,7 +27404,7 @@ _start:
{
lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_6 = l_Lean_Parser_Command_elabTail_formatter___closed__1;
x_7 = l_Lean_Parser_Command_elabTail_formatter___closed__6;
x_7 = l_Lean_Parser_Command_elabTail_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;
}
@ -27509,8 +27669,8 @@ static lean_object* _init_l_Lean_Parser_Command_elabTail_parenthesizer___closed_
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_elabTail_parenthesizer___closed__4;
x_2 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__4;
x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__3;
x_2 = l_Lean_Parser_Command_macroRhs_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);
@ -27520,10 +27680,22 @@ return x_3;
static lean_object* _init_l_Lean_Parser_Command_elabTail_parenthesizer___closed__6() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_elabTail_parenthesizer___closed__4;
x_2 = l_Lean_Parser_Command_elabTail_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_elabTail_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_elabTail___elambda__1___closed__2;
x_2 = lean_unsigned_to_nat(1024u);
x_3 = l_Lean_Parser_Command_elabTail_parenthesizer___closed__5;
x_3 = l_Lean_Parser_Command_elabTail_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);
@ -27536,7 +27708,7 @@ _start:
{
lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_6 = l_Lean_Parser_Command_elabTail_parenthesizer___closed__1;
x_7 = l_Lean_Parser_Command_elabTail_parenthesizer___closed__6;
x_7 = l_Lean_Parser_Command_elabTail_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;
}
@ -30772,6 +30944,8 @@ l_Lean_Parser_Command_macroRhs_formatter___closed__1 = _init_l_Lean_Parser_Comma
lean_mark_persistent(l_Lean_Parser_Command_macroRhs_formatter___closed__1);
l_Lean_Parser_Command_macroRhs_formatter___closed__2 = _init_l_Lean_Parser_Command_macroRhs_formatter___closed__2();
lean_mark_persistent(l_Lean_Parser_Command_macroRhs_formatter___closed__2);
l_Lean_Parser_Command_macroRhs_formatter___closed__3 = _init_l_Lean_Parser_Command_macroRhs_formatter___closed__3();
lean_mark_persistent(l_Lean_Parser_Command_macroRhs_formatter___closed__3);
l_Lean_Parser_Command_macroTailTactic_formatter___closed__1 = _init_l_Lean_Parser_Command_macroTailTactic_formatter___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_macroTailTactic_formatter___closed__1);
l_Lean_Parser_Command_macroTailTactic_formatter___closed__2 = _init_l_Lean_Parser_Command_macroTailTactic_formatter___closed__2();
@ -30867,6 +31041,8 @@ l_Lean_Parser_Command_macroRhs_parenthesizer___closed__1 = _init_l_Lean_Parser_C
lean_mark_persistent(l_Lean_Parser_Command_macroRhs_parenthesizer___closed__1);
l_Lean_Parser_Command_macroRhs_parenthesizer___closed__2 = _init_l_Lean_Parser_Command_macroRhs_parenthesizer___closed__2();
lean_mark_persistent(l_Lean_Parser_Command_macroRhs_parenthesizer___closed__2);
l_Lean_Parser_Command_macroRhs_parenthesizer___closed__3 = _init_l_Lean_Parser_Command_macroRhs_parenthesizer___closed__3();
lean_mark_persistent(l_Lean_Parser_Command_macroRhs_parenthesizer___closed__3);
l_Lean_Parser_Command_macroTailTactic_parenthesizer___closed__1 = _init_l_Lean_Parser_Command_macroTailTactic_parenthesizer___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_macroTailTactic_parenthesizer___closed__1);
l_Lean_Parser_Command_macroTailTactic_parenthesizer___closed__2 = _init_l_Lean_Parser_Command_macroTailTactic_parenthesizer___closed__2();
@ -31137,6 +31313,10 @@ l_Lean_Parser_Command_elabTail___elambda__1___closed__13 = _init_l_Lean_Parser_C
lean_mark_persistent(l_Lean_Parser_Command_elabTail___elambda__1___closed__13);
l_Lean_Parser_Command_elabTail___elambda__1___closed__14 = _init_l_Lean_Parser_Command_elabTail___elambda__1___closed__14();
lean_mark_persistent(l_Lean_Parser_Command_elabTail___elambda__1___closed__14);
l_Lean_Parser_Command_elabTail___elambda__1___closed__15 = _init_l_Lean_Parser_Command_elabTail___elambda__1___closed__15();
lean_mark_persistent(l_Lean_Parser_Command_elabTail___elambda__1___closed__15);
l_Lean_Parser_Command_elabTail___elambda__1___closed__16 = _init_l_Lean_Parser_Command_elabTail___elambda__1___closed__16();
lean_mark_persistent(l_Lean_Parser_Command_elabTail___elambda__1___closed__16);
l_Lean_Parser_Command_elabTail___closed__1 = _init_l_Lean_Parser_Command_elabTail___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_elabTail___closed__1);
l_Lean_Parser_Command_elabTail___closed__2 = _init_l_Lean_Parser_Command_elabTail___closed__2();
@ -31155,6 +31335,8 @@ l_Lean_Parser_Command_elabTail___closed__8 = _init_l_Lean_Parser_Command_elabTai
lean_mark_persistent(l_Lean_Parser_Command_elabTail___closed__8);
l_Lean_Parser_Command_elabTail___closed__9 = _init_l_Lean_Parser_Command_elabTail___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_elabTail___closed__9);
l_Lean_Parser_Command_elabTail___closed__10 = _init_l_Lean_Parser_Command_elabTail___closed__10();
lean_mark_persistent(l_Lean_Parser_Command_elabTail___closed__10);
l_Lean_Parser_Command_elabTail = _init_l_Lean_Parser_Command_elabTail();
lean_mark_persistent(l_Lean_Parser_Command_elabTail);
l_Lean_Parser_Command_elab___elambda__1___closed__1 = _init_l_Lean_Parser_Command_elab___elambda__1___closed__1();
@ -31242,6 +31424,8 @@ l_Lean_Parser_Command_elabTail_formatter___closed__5 = _init_l_Lean_Parser_Comma
lean_mark_persistent(l_Lean_Parser_Command_elabTail_formatter___closed__5);
l_Lean_Parser_Command_elabTail_formatter___closed__6 = _init_l_Lean_Parser_Command_elabTail_formatter___closed__6();
lean_mark_persistent(l_Lean_Parser_Command_elabTail_formatter___closed__6);
l_Lean_Parser_Command_elabTail_formatter___closed__7 = _init_l_Lean_Parser_Command_elabTail_formatter___closed__7();
lean_mark_persistent(l_Lean_Parser_Command_elabTail_formatter___closed__7);
l_Lean_Parser_Command_elab_formatter___closed__1 = _init_l_Lean_Parser_Command_elab_formatter___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_elab_formatter___closed__1);
l_Lean_Parser_Command_elab_formatter___closed__2 = _init_l_Lean_Parser_Command_elab_formatter___closed__2();
@ -31289,6 +31473,8 @@ l_Lean_Parser_Command_elabTail_parenthesizer___closed__5 = _init_l_Lean_Parser_C
lean_mark_persistent(l_Lean_Parser_Command_elabTail_parenthesizer___closed__5);
l_Lean_Parser_Command_elabTail_parenthesizer___closed__6 = _init_l_Lean_Parser_Command_elabTail_parenthesizer___closed__6();
lean_mark_persistent(l_Lean_Parser_Command_elabTail_parenthesizer___closed__6);
l_Lean_Parser_Command_elabTail_parenthesizer___closed__7 = _init_l_Lean_Parser_Command_elabTail_parenthesizer___closed__7();
lean_mark_persistent(l_Lean_Parser_Command_elabTail_parenthesizer___closed__7);
l_Lean_Parser_Command_elab_parenthesizer___closed__1 = _init_l_Lean_Parser_Command_elab_parenthesizer___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_elab_parenthesizer___closed__1);
l_Lean_Parser_Command_elab_parenthesizer___closed__2 = _init_l_Lean_Parser_Command_elab_parenthesizer___closed__2();

View file

@ -108,7 +108,6 @@ lean_object* lean_name_mk_string(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabConst___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_eraseIdx___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_inaccessible_x3f(lean_object*);
LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_usize_dec_eq(size_t, size_t);
LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_PrettyPrinter_Delaborator_withMDatasOptions___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -460,6 +459,7 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_unexpandCoe___lambda__1___c
LEAN_EXPORT uint8_t l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_shouldGroupWithNext_getPPBinderTypes(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabAppMatch___closed__1;
lean_object* l_Lean_inaccessible_x3f(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_skippingBinders___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabNamedPattern___closed__2;
static lean_object* l_Lean_PrettyPrinter_Delaborator_delabMVar___closed__6;
@ -19630,7 +19630,7 @@ lean_inc(x_9);
x_10 = lean_ctor_get(x_8, 1);
lean_inc(x_10);
lean_dec(x_8);
x_11 = l_Lean_Meta_Match_inaccessible_x3f(x_9);
x_11 = l_Lean_inaccessible_x3f(x_9);
lean_dec(x_9);
if (lean_obj_tag(x_11) == 0)
{

View file

@ -314,7 +314,6 @@ uint8_t lean_nat_dec_le(lean_object*, lean_object*);
uint8_t l_Std_RBNode_isRed___rarg(lean_object*);
lean_object* l_Std_PersistentArray_toArray___rarg(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_parseParams___at_Lean_Server_FileWorker_handleNotification___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Server_FileWorker_compileHeader___closed__8;
LEAN_EXPORT lean_object* l_IO_AsyncList_unfoldAsync_step___at_Lean_Server_FileWorker_unfoldCmdSnaps___spec__2(lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Server_FileWorker_initAndRunWorker___closed__3;
lean_object* l_Lean_addSearchPathFromEnv(lean_object*, lean_object*);
@ -417,6 +416,7 @@ static lean_object* l_IO_FS_Stream_readRequestAs___at_Lean_Server_FileWorker_ini
static lean_object* l_IO_FS_Stream_readRequestAs___at_Lean_Server_FileWorker_initAndRunWorker___spec__2___closed__51;
LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_lakeSetupSearchPath_processStderr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__10;
static lean_object* l_Lean_Server_FileWorker_compileHeader___lambda__4___closed__6;
lean_object* l_Lean_Json_getObjValAs_x3f___at_Lean_Lsp_instFromJsonInitializeParams___spec__3(lean_object*, lean_object*);
static lean_object* l_IO_FS_Stream_readRequestAs___at_Lean_Server_FileWorker_initAndRunWorker___spec__2___closed__62;
LEAN_EXPORT lean_object* l_Std_RBNode_forIn_visit___at_Lean_Server_FileWorker_mainLoop___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -4445,6 +4445,14 @@ static lean_object* _init_l_Lean_Server_FileWorker_compileHeader___lambda__4___c
_start:
{
lean_object* x_1;
x_1 = lean_mk_string("lake");
return x_1;
}
}
static lean_object* _init_l_Lean_Server_FileWorker_compileHeader___lambda__4___closed__6() {
_start:
{
lean_object* x_1;
x_1 = lean_mk_string("LEAN_SRC_PATH");
return x_1;
}
@ -4456,7 +4464,7 @@ lean_object* x_11;
x_11 = l_IO_appDir(x_10);
if (lean_obj_tag(x_11) == 0)
{
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; 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_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_12 = lean_ctor_get(x_11, 0);
lean_inc(x_12);
x_13 = lean_ctor_get(x_11, 1);
@ -4470,47 +4478,53 @@ x_18 = l_Lean_Server_FileWorker_compileHeader___lambda__4___closed__3;
x_19 = l_System_FilePath_join(x_17, x_18);
x_20 = l_Lean_Server_FileWorker_compileHeader___lambda__4___closed__4;
x_21 = l_System_FilePath_join(x_19, x_20);
x_22 = lean_box(0);
x_23 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_23, 0, x_21);
lean_ctor_set(x_23, 1, x_22);
x_24 = l_Lean_Server_FileWorker_compileHeader___lambda__4___closed__5;
x_25 = lean_io_getenv(x_24, x_13);
if (lean_obj_tag(x_25) == 0)
x_22 = l_Lean_Server_FileWorker_compileHeader___lambda__4___closed__5;
lean_inc(x_21);
x_23 = l_System_FilePath_join(x_21, x_22);
x_24 = lean_box(0);
x_25 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_25, 0, x_23);
lean_ctor_set(x_25, 1, x_24);
x_26 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_26, 0, x_21);
lean_ctor_set(x_26, 1, x_25);
x_27 = l_Lean_Server_FileWorker_compileHeader___lambda__4___closed__6;
x_28 = lean_io_getenv(x_27, x_13);
if (lean_obj_tag(x_28) == 0)
{
lean_object* x_26;
x_26 = lean_ctor_get(x_25, 0);
lean_inc(x_26);
if (lean_obj_tag(x_26) == 0)
lean_object* x_29;
x_29 = lean_ctor_get(x_28, 0);
lean_inc(x_29);
if (lean_obj_tag(x_29) == 0)
{
lean_object* x_27; lean_object* x_28; lean_object* x_29;
x_27 = lean_ctor_get(x_25, 1);
lean_inc(x_27);
lean_dec(x_25);
x_28 = lean_box(0);
x_29 = l_Lean_Server_FileWorker_compileHeader___lambda__3(x_1, x_22, x_2, x_3, x_4, x_5, x_6, x_9, x_7, x_8, x_23, x_28, x_27);
return x_29;
}
else
{
lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
x_30 = lean_ctor_get(x_25, 1);
lean_object* x_30; lean_object* x_31; lean_object* x_32;
x_30 = lean_ctor_get(x_28, 1);
lean_inc(x_30);
lean_dec(x_25);
x_31 = lean_ctor_get(x_26, 0);
lean_inc(x_31);
lean_dec(x_28);
x_31 = lean_box(0);
x_32 = l_Lean_Server_FileWorker_compileHeader___lambda__3(x_1, x_24, x_2, x_3, x_4, x_5, x_6, x_9, x_7, x_8, x_26, x_31, x_30);
return x_32;
}
else
{
lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
x_33 = lean_ctor_get(x_28, 1);
lean_inc(x_33);
lean_dec(x_28);
x_34 = lean_ctor_get(x_29, 0);
lean_inc(x_34);
lean_dec(x_29);
x_35 = l_System_SearchPath_parse(x_34);
x_36 = l_List_appendTR___rarg(x_35, x_26);
x_37 = lean_box(0);
x_38 = l_Lean_Server_FileWorker_compileHeader___lambda__3(x_1, x_24, x_2, x_3, x_4, x_5, x_6, x_9, x_7, x_8, x_36, x_37, x_33);
return x_38;
}
}
else
{
uint8_t x_39;
lean_dec(x_26);
x_32 = l_System_SearchPath_parse(x_31);
x_33 = l_List_appendTR___rarg(x_23, x_32);
x_34 = lean_box(0);
x_35 = l_Lean_Server_FileWorker_compileHeader___lambda__3(x_1, x_22, x_2, x_3, x_4, x_5, x_6, x_9, x_7, x_8, x_33, x_34, x_30);
return x_35;
}
}
else
{
uint8_t x_36;
lean_dec(x_23);
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
@ -4520,29 +4534,29 @@ lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
x_36 = !lean_is_exclusive(x_25);
if (x_36 == 0)
x_39 = !lean_is_exclusive(x_28);
if (x_39 == 0)
{
return x_25;
return x_28;
}
else
{
lean_object* x_37; lean_object* x_38; lean_object* x_39;
x_37 = lean_ctor_get(x_25, 0);
x_38 = lean_ctor_get(x_25, 1);
lean_inc(x_38);
lean_inc(x_37);
lean_dec(x_25);
x_39 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_39, 0, x_37);
lean_ctor_set(x_39, 1, x_38);
return x_39;
lean_object* x_40; lean_object* x_41; lean_object* x_42;
x_40 = lean_ctor_get(x_28, 0);
x_41 = lean_ctor_get(x_28, 1);
lean_inc(x_41);
lean_inc(x_40);
lean_dec(x_28);
x_42 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_42, 0, x_40);
lean_ctor_set(x_42, 1, x_41);
return x_42;
}
}
}
else
{
uint8_t x_40;
uint8_t x_43;
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
@ -4552,23 +4566,23 @@ lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
x_40 = !lean_is_exclusive(x_11);
if (x_40 == 0)
x_43 = !lean_is_exclusive(x_11);
if (x_43 == 0)
{
return x_11;
}
else
{
lean_object* x_41; lean_object* x_42; lean_object* x_43;
x_41 = lean_ctor_get(x_11, 0);
x_42 = lean_ctor_get(x_11, 1);
lean_inc(x_42);
lean_inc(x_41);
lean_object* x_44; lean_object* x_45; lean_object* x_46;
x_44 = lean_ctor_get(x_11, 0);
x_45 = lean_ctor_get(x_11, 1);
lean_inc(x_45);
lean_inc(x_44);
lean_dec(x_11);
x_43 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_43, 0, x_41);
lean_ctor_set(x_43, 1, x_42);
return x_43;
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;
}
}
}
@ -4627,19 +4641,11 @@ static lean_object* _init_l_Lean_Server_FileWorker_compileHeader___closed__6() {
_start:
{
lean_object* x_1;
x_1 = lean_mk_string("lake");
return x_1;
}
}
static lean_object* _init_l_Lean_Server_FileWorker_compileHeader___closed__7() {
_start:
{
lean_object* x_1;
x_1 = lean_mk_string("bin");
return x_1;
}
}
static lean_object* _init_l_Lean_Server_FileWorker_compileHeader___closed__8() {
static lean_object* _init_l_Lean_Server_FileWorker_compileHeader___closed__7() {
_start:
{
lean_object* x_1;
@ -4752,7 +4758,7 @@ lean_inc(x_62);
x_63 = lean_ctor_get(x_61, 1);
lean_inc(x_63);
lean_dec(x_61);
x_64 = l_Lean_Server_FileWorker_compileHeader___closed__8;
x_64 = l_Lean_Server_FileWorker_compileHeader___closed__7;
x_65 = l_System_FilePath_join(x_62, x_64);
x_66 = l_Lean_Server_FileWorker_compileHeader___lambda__5(x_20, x_65, x_63);
return x_66;
@ -4790,9 +4796,9 @@ lean_dec(x_30);
x_72 = lean_ctor_get(x_59, 0);
lean_inc(x_72);
lean_dec(x_59);
x_73 = l_Lean_Server_FileWorker_compileHeader___closed__7;
x_73 = l_Lean_Server_FileWorker_compileHeader___closed__6;
x_74 = l_System_FilePath_join(x_72, x_73);
x_75 = l_Lean_Server_FileWorker_compileHeader___closed__8;
x_75 = l_Lean_Server_FileWorker_compileHeader___closed__7;
x_76 = l_System_FilePath_join(x_74, x_75);
x_77 = l_Lean_Server_FileWorker_compileHeader___lambda__5(x_20, x_76, x_71);
return x_77;
@ -4853,7 +4859,7 @@ lean_inc(x_35);
x_36 = lean_ctor_get(x_34, 1);
lean_inc(x_36);
lean_dec(x_34);
x_37 = l_Lean_Server_FileWorker_compileHeader___closed__6;
x_37 = l_Lean_Server_FileWorker_compileHeader___lambda__4___closed__5;
x_38 = l_System_FilePath_join(x_35, x_37);
x_39 = l_Lean_Server_FileWorker_compileHeader___lambda__5(x_20, x_38, x_36);
return x_39;
@ -4891,9 +4897,9 @@ lean_dec(x_30);
x_45 = lean_ctor_get(x_32, 0);
lean_inc(x_45);
lean_dec(x_32);
x_46 = l_Lean_Server_FileWorker_compileHeader___closed__7;
x_46 = l_Lean_Server_FileWorker_compileHeader___closed__6;
x_47 = l_System_FilePath_join(x_45, x_46);
x_48 = l_Lean_Server_FileWorker_compileHeader___closed__6;
x_48 = l_Lean_Server_FileWorker_compileHeader___lambda__4___closed__5;
x_49 = l_System_FilePath_join(x_47, x_48);
x_50 = l_Lean_Server_FileWorker_compileHeader___lambda__5(x_20, x_49, x_44);
return x_50;
@ -19734,6 +19740,8 @@ l_Lean_Server_FileWorker_compileHeader___lambda__4___closed__4 = _init_l_Lean_Se
lean_mark_persistent(l_Lean_Server_FileWorker_compileHeader___lambda__4___closed__4);
l_Lean_Server_FileWorker_compileHeader___lambda__4___closed__5 = _init_l_Lean_Server_FileWorker_compileHeader___lambda__4___closed__5();
lean_mark_persistent(l_Lean_Server_FileWorker_compileHeader___lambda__4___closed__5);
l_Lean_Server_FileWorker_compileHeader___lambda__4___closed__6 = _init_l_Lean_Server_FileWorker_compileHeader___lambda__4___closed__6();
lean_mark_persistent(l_Lean_Server_FileWorker_compileHeader___lambda__4___closed__6);
l_Lean_Server_FileWorker_compileHeader___closed__1 = _init_l_Lean_Server_FileWorker_compileHeader___closed__1();
lean_mark_persistent(l_Lean_Server_FileWorker_compileHeader___closed__1);
l_Lean_Server_FileWorker_compileHeader___closed__2 = _init_l_Lean_Server_FileWorker_compileHeader___closed__2();
@ -19748,8 +19756,6 @@ l_Lean_Server_FileWorker_compileHeader___closed__6 = _init_l_Lean_Server_FileWor
lean_mark_persistent(l_Lean_Server_FileWorker_compileHeader___closed__6);
l_Lean_Server_FileWorker_compileHeader___closed__7 = _init_l_Lean_Server_FileWorker_compileHeader___closed__7();
lean_mark_persistent(l_Lean_Server_FileWorker_compileHeader___closed__7);
l_Lean_Server_FileWorker_compileHeader___closed__8 = _init_l_Lean_Server_FileWorker_compileHeader___closed__8();
lean_mark_persistent(l_Lean_Server_FileWorker_compileHeader___closed__8);
l_List_get_x21___at_Lean_Server_FileWorker_updateDocument___spec__3___closed__1 = _init_l_List_get_x21___at_Lean_Server_FileWorker_updateDocument___spec__3___closed__1();
lean_mark_persistent(l_List_get_x21___at_Lean_Server_FileWorker_updateDocument___spec__3___closed__1);
l_List_get_x21___at_Lean_Server_FileWorker_updateDocument___spec__3___closed__2 = _init_l_List_get_x21___at_Lean_Server_FileWorker_updateDocument___spec__3___closed__2();