chore: update stage0
This commit is contained in:
parent
b17f822488
commit
9e46817b03
35 changed files with 17030 additions and 13564 deletions
|
|
@ -12,6 +12,9 @@ namespace Lean
|
|||
inductive AttributeApplicationTime
|
||||
| afterTypeChecking | afterCompilation | beforeElaboration
|
||||
|
||||
-- TODO: after we delete the old frontend, we should use `EIO` with a richer exception kind at AttributeImpl.
|
||||
-- We must perform a similar modification at `PersistentEnvExtension`
|
||||
|
||||
structure AttributeImpl :=
|
||||
(name : Name)
|
||||
(descr : String)
|
||||
|
|
@ -145,12 +148,13 @@ end Environment
|
|||
is tagged in the environment `env`. -/
|
||||
structure TagAttribute :=
|
||||
(attr : AttributeImpl)
|
||||
(ext : PersistentEnvExtension Name NameSet)
|
||||
(ext : PersistentEnvExtension Name Name NameSet)
|
||||
|
||||
def registerTagAttribute (name : Name) (descr : String) (validate : Environment → Name → Except String Unit := fun _ _ => Except.ok ()) : IO TagAttribute := do
|
||||
ext : PersistentEnvExtension Name NameSet ← registerPersistentEnvExtension {
|
||||
ext : PersistentEnvExtension Name Name NameSet ← registerPersistentEnvExtension {
|
||||
name := name,
|
||||
addImportedFn := fun _ => pure {},
|
||||
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) #[];
|
||||
|
|
@ -191,14 +195,15 @@ end TagAttribute
|
|||
contains the attribute `pAttr` with parameter `p`. -/
|
||||
structure ParametricAttribute (α : Type) :=
|
||||
(attr : AttributeImpl)
|
||||
(ext : PersistentEnvExtension (Name × α) (NameMap α))
|
||||
(ext : PersistentEnvExtension (Name × α) (Name × α) (NameMap α))
|
||||
|
||||
def registerParametricAttribute {α : Type} [Inhabited α] (name : Name) (descr : String)
|
||||
(getParam : Environment → Name → Syntax → Except String α)
|
||||
(afterSet : Environment → Name → α → Except String Environment := fun env _ _ => Except.ok env) : IO (ParametricAttribute α) := do
|
||||
ext : PersistentEnvExtension (Name × α) (NameMap α) ← registerPersistentEnvExtension {
|
||||
ext : PersistentEnvExtension (Name × α) (Name × α) (NameMap α) ← registerPersistentEnvExtension {
|
||||
name := name,
|
||||
addImportedFn := fun _ => pure {},
|
||||
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)) #[];
|
||||
|
|
@ -251,12 +256,13 @@ end ParametricAttribute
|
|||
Note that whenever we register an `EnumAttributes`, we create `n` attributes, but only one environment extension. -/
|
||||
structure EnumAttributes (α : Type) :=
|
||||
(attrs : List AttributeImpl)
|
||||
(ext : PersistentEnvExtension (Name × α) (NameMap α))
|
||||
(ext : PersistentEnvExtension (Name × α) (Name × α) (NameMap α))
|
||||
|
||||
def registerEnumAttributes {α : Type} [Inhabited α] (extName : Name) (attrDescrs : List (Name × String × α)) (validate : Environment → Name → α → Except String Unit := fun _ _ _ => Except.ok ()) (applicationTime := AttributeApplicationTime.afterTypeChecking) : IO (EnumAttributes α) := do
|
||||
ext : PersistentEnvExtension (Name × α) (NameMap α) ← registerPersistentEnvExtension {
|
||||
ext : PersistentEnvExtension (Name × α) (Name × α) (NameMap α) ← registerPersistentEnvExtension {
|
||||
name := extName,
|
||||
addImportedFn := fun _ => pure {},
|
||||
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)) #[];
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ structure ElabAttributeEntry :=
|
|||
|
||||
structure ElabAttribute (σ : Type) :=
|
||||
(attr : AttributeImpl)
|
||||
(ext : PersistentEnvExtension ElabAttributeEntry σ)
|
||||
(ext : PersistentEnvExtension ElabAttributeEntry ElabAttributeEntry σ)
|
||||
(kind : String)
|
||||
|
||||
instance ElabAttribute.inhabited {σ} [Inhabited σ] : Inhabited (ElabAttribute σ) := ⟨{ attr := arbitrary _, ext := arbitrary _, kind := "" }⟩
|
||||
|
|
@ -49,9 +49,10 @@ The state is initialized using `builtinTable`.
|
|||
The current implementation just uses the bultin elaborators.
|
||||
-/
|
||||
def mkElabAttribute {σ} [Inhabited σ] (attrName : Name) (kind : String) (builtinTable : IO.Ref σ) : IO (ElabAttribute σ) := do
|
||||
ext : PersistentEnvExtension ElabAttributeEntry σ ← registerPersistentEnvExtension {
|
||||
ext : PersistentEnvExtension ElabAttributeEntry ElabAttributeEntry σ ← registerPersistentEnvExtension {
|
||||
name := attrName,
|
||||
addImportedFn := fun es => do
|
||||
mkInitial := pure (arbitrary _),
|
||||
addImportedFn := fun env es => do
|
||||
table ← builtinTable.get;
|
||||
-- TODO: populate table with `es`
|
||||
pure table,
|
||||
|
|
|
|||
|
|
@ -208,14 +208,25 @@ structure PersistentEnvExtensionState (α : Type) (σ : Type) :=
|
|||
(state : σ)
|
||||
|
||||
/- An environment extension with support for storing/retrieving entries from a .olean file.
|
||||
- α is the entry type.
|
||||
- α is the type of the entries that are stored in .olean files.
|
||||
- β is the type of values used to update the state.
|
||||
- σ is the actual state.
|
||||
|
||||
TODO: mark opaque. -/
|
||||
structure PersistentEnvExtension (α : Type) (σ : Type) extends EnvExtension (PersistentEnvExtensionState α σ) :=
|
||||
Remark: for most extensions α and β coincide.
|
||||
|
||||
Note that `addEntryFn` is not in `IO`. This is intentional, and allows us to write simple functions such as
|
||||
```
|
||||
def addAlias (env : Environment) (a : Name) (e : Name) : Environment :=
|
||||
aliasExtension.addEntry env (a, e)
|
||||
```
|
||||
without using `IO`. We have many functions like `addAlias`.
|
||||
|
||||
`α` and ‵β` do not coincide for extensions where the data used to update the state contains, for example,
|
||||
closures which we currently cannot store in files. -/
|
||||
structure PersistentEnvExtension (α : Type) (β : Type) (σ : Type) extends EnvExtension (PersistentEnvExtensionState α σ) :=
|
||||
(name : Name)
|
||||
(addImportedFn : Array (Array α) → IO σ)
|
||||
(addEntryFn : σ → α → σ)
|
||||
(addImportedFn : Environment → Array (Array α) → IO σ)
|
||||
(addEntryFn : σ → β → σ)
|
||||
(exportEntriesFn : σ → Array α)
|
||||
(statsFn : σ → Format)
|
||||
|
||||
|
|
@ -228,60 +239,61 @@ instance EnvExtensionEntry.inhabited : Inhabited EnvExtensionEntry := inferInsta
|
|||
instance PersistentEnvExtensionState.inhabited {α σ} [Inhabited σ] : Inhabited (PersistentEnvExtensionState α σ) :=
|
||||
⟨{importedEntries := #[], state := arbitrary _ }⟩
|
||||
|
||||
instance PersistentEnvExtension.inhabited {α σ} [Inhabited σ] : Inhabited (PersistentEnvExtension α σ) :=
|
||||
instance PersistentEnvExtension.inhabited {α β σ} [Inhabited σ] : Inhabited (PersistentEnvExtension α β σ) :=
|
||||
⟨{ toEnvExtension := { idx := 0, stateInh := arbitrary _, mkInitial := arbitrary _ },
|
||||
name := arbitrary _,
|
||||
addImportedFn := fun _ => arbitrary _,
|
||||
addImportedFn := fun _ _ => arbitrary _,
|
||||
addEntryFn := fun s _ => s,
|
||||
exportEntriesFn := fun _ => #[],
|
||||
statsFn := fun _ => Format.nil }⟩
|
||||
|
||||
namespace PersistentEnvExtension
|
||||
|
||||
def getModuleEntries {α σ : Type} (ext : PersistentEnvExtension α σ) (env : Environment) (m : ModuleIdx) : Array α :=
|
||||
def getModuleEntries {α β σ : Type} (ext : PersistentEnvExtension α β σ) (env : Environment) (m : ModuleIdx) : Array α :=
|
||||
(ext.toEnvExtension.getState env).importedEntries.get! m
|
||||
|
||||
def addEntry {α σ : Type} (ext : PersistentEnvExtension α σ) (env : Environment) (a : α) : Environment :=
|
||||
def addEntry {α β σ : Type} (ext : PersistentEnvExtension α β σ) (env : Environment) (b : β) : Environment :=
|
||||
ext.toEnvExtension.modifyState env $ fun s =>
|
||||
let state := ext.addEntryFn s.state a;
|
||||
let state := ext.addEntryFn s.state b;
|
||||
{ state := state, .. s }
|
||||
|
||||
def getState {α σ : Type} (ext : PersistentEnvExtension α σ) (env : Environment) : σ :=
|
||||
def getState {α β σ : Type} (ext : PersistentEnvExtension α β σ) (env : Environment) : σ :=
|
||||
(ext.toEnvExtension.getState env).state
|
||||
|
||||
def setState {α σ : Type} (ext : PersistentEnvExtension α σ) (env : Environment) (s : σ) : Environment :=
|
||||
def setState {α β σ : Type} (ext : PersistentEnvExtension α β σ) (env : Environment) (s : σ) : Environment :=
|
||||
ext.toEnvExtension.modifyState env $ fun ps => { state := s, .. ps }
|
||||
|
||||
def modifyState {α σ : Type} (ext : PersistentEnvExtension α σ) (env : Environment) (f : σ → σ) : Environment :=
|
||||
def modifyState {α β σ : Type} (ext : PersistentEnvExtension α β σ) (env : Environment) (f : σ → σ) : Environment :=
|
||||
ext.toEnvExtension.modifyState env $ fun ps => { state := f (ps.state), .. ps }
|
||||
|
||||
end PersistentEnvExtension
|
||||
|
||||
private def mkPersistentEnvExtensionsRef : IO (IO.Ref (Array (PersistentEnvExtension EnvExtensionEntry EnvExtensionState))) :=
|
||||
private def mkPersistentEnvExtensionsRef : IO (IO.Ref (Array (PersistentEnvExtension EnvExtensionEntry EnvExtensionEntry EnvExtensionState))) :=
|
||||
IO.mkRef #[]
|
||||
|
||||
@[init mkPersistentEnvExtensionsRef]
|
||||
private constant persistentEnvExtensionsRef : IO.Ref (Array (PersistentEnvExtension EnvExtensionEntry EnvExtensionState)) := arbitrary _
|
||||
private constant persistentEnvExtensionsRef : IO.Ref (Array (PersistentEnvExtension EnvExtensionEntry EnvExtensionEntry EnvExtensionState)) := arbitrary _
|
||||
|
||||
structure PersistentEnvExtensionDescr (α σ : Type) :=
|
||||
structure PersistentEnvExtensionDescr (α β σ : Type) :=
|
||||
(name : Name)
|
||||
(addImportedFn : Array (Array α) → IO σ)
|
||||
(addEntryFn : σ → α → σ)
|
||||
(mkInitial : IO σ)
|
||||
(addImportedFn : Environment → Array (Array α) → IO σ)
|
||||
(addEntryFn : σ → β → σ)
|
||||
(exportEntriesFn : σ → Array α)
|
||||
(statsFn : σ → Format := fun _ => Format.nil)
|
||||
|
||||
unsafe def registerPersistentEnvExtensionUnsafe {α σ : Type} [Inhabited σ] (descr : PersistentEnvExtensionDescr α σ) : IO (PersistentEnvExtension α σ) := do
|
||||
unsafe def registerPersistentEnvExtensionUnsafe {α β σ : Type} [Inhabited σ] (descr : PersistentEnvExtensionDescr α β σ) : IO (PersistentEnvExtension α β σ) := do
|
||||
pExts ← persistentEnvExtensionsRef.get;
|
||||
when (pExts.any (fun ext => ext.name == descr.name)) $ throw (IO.userError ("invalid environment extension, '" ++ toString descr.name ++ "' has already been used"));
|
||||
ext ← registerEnvExtension $ do {
|
||||
state ← descr.addImportedFn #[];
|
||||
initial ← descr.mkInitial;
|
||||
let s : PersistentEnvExtensionState α σ := {
|
||||
importedEntries := #[],
|
||||
state := state
|
||||
state := initial
|
||||
};
|
||||
pure s
|
||||
};
|
||||
let pExt : PersistentEnvExtension α σ := {
|
||||
let pExt : PersistentEnvExtension α β σ := {
|
||||
toEnvExtension := ext,
|
||||
name := descr.name,
|
||||
addImportedFn := descr.addImportedFn,
|
||||
|
|
@ -293,11 +305,11 @@ persistentEnvExtensionsRef.modify $ fun pExts => pExts.push (unsafeCast pExt);
|
|||
pure pExt
|
||||
|
||||
@[implementedBy registerPersistentEnvExtensionUnsafe]
|
||||
constant registerPersistentEnvExtension {α σ : Type} [Inhabited σ] (descr : PersistentEnvExtensionDescr α σ) : IO (PersistentEnvExtension α σ) := arbitrary _
|
||||
constant registerPersistentEnvExtension {α β σ : Type} [Inhabited σ] (descr : PersistentEnvExtensionDescr α β σ) : IO (PersistentEnvExtension α β σ) := arbitrary _
|
||||
|
||||
/- Simple PersistentEnvExtension that implements exportEntriesFn using a list of entries. -/
|
||||
|
||||
def SimplePersistentEnvExtension (α σ : Type) := PersistentEnvExtension α (List α × σ)
|
||||
def SimplePersistentEnvExtension (α σ : Type) := PersistentEnvExtension α α (List α × σ)
|
||||
|
||||
@[specialize] def mkStateFromImportedEntries {α σ : Type} (addEntryFn : σ → α → σ) (initState : σ) (as : Array (Array α)) : σ :=
|
||||
as.foldl (fun r es => es.foldl (fun r e => addEntryFn r e) r) initState
|
||||
|
|
@ -310,9 +322,10 @@ structure SimplePersistentEnvExtensionDescr (α σ : Type) :=
|
|||
|
||||
def registerSimplePersistentEnvExtension {α σ : Type} [Inhabited σ] (descr : SimplePersistentEnvExtensionDescr α σ) : IO (SimplePersistentEnvExtension α σ) :=
|
||||
registerPersistentEnvExtension {
|
||||
name := descr.name,
|
||||
addImportedFn := fun as => pure ([], descr.addImportedFn as),
|
||||
addEntryFn := fun s e => match s with
|
||||
name := descr.name,
|
||||
mkInitial := pure ([], descr.addImportedFn #[]),
|
||||
addImportedFn := fun _ as => pure ([], descr.addImportedFn as),
|
||||
addEntryFn := fun s e => match s with
|
||||
| (entries, s) => (e::entries, descr.addEntryFn s e),
|
||||
exportEntriesFn := fun s => descr.toArrayFn s.1.reverse,
|
||||
statsFn := fun s => format "number of local entries: " ++ format s.1.length
|
||||
|
|
@ -321,7 +334,7 @@ registerPersistentEnvExtension {
|
|||
namespace SimplePersistentEnvExtension
|
||||
|
||||
instance {α σ : Type} [Inhabited σ] : Inhabited (SimplePersistentEnvExtension α σ) :=
|
||||
inferInstanceAs (Inhabited (PersistentEnvExtension α (List α × σ)))
|
||||
inferInstanceAs (Inhabited (PersistentEnvExtension α α (List α × σ)))
|
||||
|
||||
def getEntries {α σ : Type} (ext : SimplePersistentEnvExtension α σ) (env : Environment) : List α :=
|
||||
(PersistentEnvExtension.getState ext env).1
|
||||
|
|
@ -491,7 +504,7 @@ private def finalizePersistentExtensions (env : Environment) : IO Environment :=
|
|||
pExtDescrs ← persistentEnvExtensionsRef.get;
|
||||
pExtDescrs.iterateM env $ fun _ extDescr env => do
|
||||
let s := extDescr.toEnvExtension.getState env;
|
||||
newState ← extDescr.addImportedFn s.importedEntries;
|
||||
newState ← extDescr.addImportedFn env s.importedEntries;
|
||||
pure $ extDescr.toEnvExtension.setState env { state := newState, .. s }
|
||||
|
||||
@[export lean_import_modules]
|
||||
|
|
|
|||
|
|
@ -1315,47 +1315,76 @@ IO.mkRef {}
|
|||
@[init mkBuiltinTokenTable]
|
||||
constant builtinTokenTable : IO.Ref TokenTable := arbitrary _
|
||||
|
||||
def mkImportedTokenTable (es : Array (Array TokenConfig)) : IO TokenTable := do
|
||||
abbrev TokenTableAttributeExtensionState := List TokenConfig × TokenTable
|
||||
|
||||
abbrev TokenTableAttributeExtension := PersistentEnvExtension TokenConfig TokenConfig TokenTableAttributeExtensionState
|
||||
|
||||
private def addTokenConfig (table : TokenTable) (tk : TokenConfig) : Except String TokenTable := do
|
||||
table ← insertToken tk.val tk.lbp table;
|
||||
match tk.lbpNoWs with
|
||||
| none => pure table
|
||||
| some _ => insertNoWsToken tk.val tk.lbpNoWs table
|
||||
|
||||
private def mkImportedTokenTable (es : Array (Array TokenConfig)) : IO TokenTableAttributeExtensionState := do
|
||||
table ← builtinTokenTable.get;
|
||||
-- TODO: add `es` to `table`
|
||||
pure table
|
||||
table ← es.foldlM
|
||||
(fun table tokens =>
|
||||
tokens.foldlM
|
||||
(fun table tk => IO.ofExcept (addTokenConfig table tk))
|
||||
table)
|
||||
table;
|
||||
pure ([], table)
|
||||
|
||||
private def addTokenTableEntry (s : TokenTableAttributeExtensionState) (tk : TokenConfig) : TokenTableAttributeExtensionState :=
|
||||
match addTokenConfig s.2 tk with
|
||||
| Except.ok table => (tk :: s.1, table)
|
||||
| _ => unreachable!
|
||||
|
||||
/- We use a TokenTable attribute to make sure they are scoped.
|
||||
Users do not directly use this attribute. They use them indirectly when
|
||||
they use parser attributes. -/
|
||||
structure TokenTableAttribute :=
|
||||
(attr : AttributeImpl)
|
||||
(ext : PersistentEnvExtension TokenConfig TokenTable)
|
||||
(ext : TokenTableAttributeExtension)
|
||||
|
||||
instance TokenTableAttribute.inhabited : Inhabited TokenTableAttribute := ⟨{ attr := arbitrary _, ext := arbitrary _ }⟩
|
||||
|
||||
section
|
||||
set_option compiler.extract_closed false
|
||||
private def addTokenAux (env : Environment) (ext : TokenTableAttributeExtension) (tk : TokenConfig) : Except String Environment := do
|
||||
let s := ext.getState env;
|
||||
-- Recall that addTokenTableEntry is pure, and assumes `addTokenConfig` does not fail.
|
||||
-- So, we must run it here to handle exception.
|
||||
addTokenConfig s.2 tk;
|
||||
pure $ ext.addEntry env tk
|
||||
|
||||
def mkTokenTableAttribute : IO TokenTableAttribute := do
|
||||
ext : PersistentEnvExtension TokenConfig TokenTable ← registerPersistentEnvExtension {
|
||||
ext : TokenTableAttributeExtension ← registerPersistentEnvExtension {
|
||||
name := `_tokens_,
|
||||
addImportedFn := fun es => mkImportedTokenTable es,
|
||||
addEntryFn := fun (s : TokenTable) _ => s, -- TODO
|
||||
exportEntriesFn := fun _ => #[], -- TODO
|
||||
statsFn := fun _ => fmt "token table attribute" -- TODO
|
||||
mkInitial := do table ← builtinTokenTable.get; pure ([], table),
|
||||
addImportedFn := fun env => mkImportedTokenTable,
|
||||
addEntryFn := addTokenTableEntry,
|
||||
exportEntriesFn := fun s => s.1.reverse.toArray,
|
||||
statsFn := fun s => format "number of local entries: " ++ format s.1.length
|
||||
};
|
||||
let attrImpl : AttributeImpl := {
|
||||
name := `_tokens_,
|
||||
descr := "internal token table attribute",
|
||||
add := fun env decl args persistent => pure env -- TODO
|
||||
};
|
||||
registerAttribute attrImpl;
|
||||
pure { ext := ext, attr := attrImpl }
|
||||
end
|
||||
|
||||
@[init mkTokenTableAttribute]
|
||||
constant tokenTableAttribute : TokenTableAttribute := arbitrary _
|
||||
|
||||
def addToken (env : Environment) (tk : TokenConfig) : Except String Environment :=
|
||||
addTokenAux env tokenTableAttribute.2 tk
|
||||
|
||||
/- Global table with all SyntaxNodeKind's -/
|
||||
def mkSyntaxNodeKindSetRef : IO (IO.Ref SyntaxNodeKindSet) := IO.mkRef {}
|
||||
@[init mkSyntaxNodeKindSetRef]
|
||||
constant syntaxNodeKindSetRef : IO.Ref SyntaxNodeKindSet := arbitrary _
|
||||
|
||||
def updateSyntaxNodeKinds (pinfo : ParserInfo) : IO Unit :=
|
||||
def updateBuiltinSyntaxNodeKinds (pinfo : ParserInfo) : IO Unit :=
|
||||
syntaxNodeKindSetRef.modify pinfo.updateKindSet
|
||||
|
||||
def isValidSyntaxNodeKind (k : SyntaxNodeKind) : IO Bool := do
|
||||
|
|
@ -1370,7 +1399,7 @@ def mkParserContextCore (env : Environment) (input : String) (fileName : String)
|
|||
{ input := input,
|
||||
fileName := fileName,
|
||||
fileMap := input.toFileMap,
|
||||
tokens := tokenTableAttribute.ext.getState env }
|
||||
tokens := (tokenTableAttribute.ext.getState env).2 }
|
||||
|
||||
@[inline] def ParserContextCore.toParserContext (env : Environment) (ctx : ParserContextCore) : ParserContext :=
|
||||
{ env := env, toParserContextCore := ctx }
|
||||
|
|
@ -1397,37 +1426,48 @@ IO.mkRef {}
|
|||
@[init mkBuiltinParsingTablesRef]
|
||||
constant builtinTermParsingTable : IO.Ref ParsingTables := arbitrary _
|
||||
|
||||
private def updateTokens (info : ParserInfo) (declName : Name) : IO Unit := do
|
||||
private def updateBuiltinTokens (info : ParserInfo) (declName : Name) : IO Unit := do
|
||||
tokens ← builtinTokenTable.swap {};
|
||||
match info.updateTokens tokens with
|
||||
| Except.ok newTokens => builtinTokenTable.set newTokens
|
||||
| Except.error msg => throw (IO.userError ("invalid builtin parser '" ++ toString declName ++ "', " ++ msg))
|
||||
|
||||
def addBuiltinLeadingParser (tablesRef : IO.Ref ParsingTables) (declName : Name) (p : Parser) : IO Unit := do
|
||||
tables ← tablesRef.get;
|
||||
tablesRef.reset;
|
||||
updateTokens p.info declName;
|
||||
updateSyntaxNodeKinds p.info;
|
||||
let addTokens (tks : List TokenConfig) : IO Unit :=
|
||||
def addLeadingParser (tables : ParsingTables) (parserName : Name) (p : Parser) : Except String ParsingTables :=
|
||||
let addTokens (tks : List TokenConfig) : ParsingTables :=
|
||||
let tks := tks.map $ fun tk => mkNameSimple tk.val;
|
||||
tablesRef.set $ tks.eraseDups.foldl (fun (tables : ParsingTables) tk => { leadingTable := tables.leadingTable.insert tk p, .. tables }) tables;
|
||||
tks.eraseDups.foldl (fun (tables : ParsingTables) tk => { leadingTable := tables.leadingTable.insert tk p, .. tables }) tables;
|
||||
match p.info.firstTokens with
|
||||
| FirstTokens.tokens tks => addTokens tks
|
||||
| FirstTokens.optTokens tks => addTokens tks
|
||||
| _ => throw (IO.userError ("invalid builtin parser '" ++ toString declName ++ "', initial token is not statically known"))
|
||||
| FirstTokens.tokens tks => pure $ addTokens tks
|
||||
| FirstTokens.optTokens tks => pure $ addTokens tks
|
||||
| _ => throw ("invalid builtin parser '" ++ toString parserName ++ "', initial token is not statically known")
|
||||
|
||||
def addBuiltinTrailingParser (tablesRef : IO.Ref ParsingTables) (declName : Name) (p : TrailingParser) : IO Unit := do
|
||||
tables ← tablesRef.get;
|
||||
tablesRef.reset;
|
||||
updateTokens p.info declName;
|
||||
updateSyntaxNodeKinds p.info;
|
||||
let addTokens (tks : List TokenConfig) : IO Unit :=
|
||||
def addTrailingParser (tables : ParsingTables) (p : TrailingParser) : ParsingTables :=
|
||||
let addTokens (tks : List TokenConfig) : ParsingTables :=
|
||||
let tks := tks.map $ fun tk => mkNameSimple tk.val;
|
||||
tablesRef.set $ tks.eraseDups.foldl (fun (tables : ParsingTables) tk => { trailingTable := tables.trailingTable.insert tk p, .. tables }) tables;
|
||||
tks.eraseDups.foldl (fun (tables : ParsingTables) tk => { trailingTable := tables.trailingTable.insert tk p, .. tables }) tables;
|
||||
match p.info.firstTokens with
|
||||
| FirstTokens.tokens tks => addTokens tks
|
||||
| FirstTokens.optTokens tks => addTokens tks
|
||||
| _ => tablesRef.set { trailingParsers := p :: tables.trailingParsers, .. tables }
|
||||
| _ => { trailingParsers := p :: tables.trailingParsers, .. tables }
|
||||
|
||||
def addParser {k} (tables : ParsingTables) (declName : Name) (p : Parser k) : Except String ParsingTables :=
|
||||
match k, p with
|
||||
| leading, p => addLeadingParser tables declName p
|
||||
| trailing, p => pure $ addTrailingParser tables p
|
||||
|
||||
def addBuiltinParser {k} (tablesRef : IO.Ref ParsingTables) (declName : Name) (p : Parser k) : IO Unit := do
|
||||
tables ← tablesRef.get;
|
||||
tablesRef.reset;
|
||||
updateBuiltinTokens p.info declName;
|
||||
updateBuiltinSyntaxNodeKinds p.info;
|
||||
tables ← IO.ofExcept $ addParser tables declName p;
|
||||
tablesRef.set tables
|
||||
|
||||
def addBuiltinLeadingParser (tablesRef : IO.Ref ParsingTables) (declName : Name) (p : Parser) : IO Unit :=
|
||||
addBuiltinParser tablesRef declName p
|
||||
|
||||
def addBuiltinTrailingParser (tablesRef : IO.Ref ParsingTables) (declName : Name) (p : TrailingParser) : IO Unit :=
|
||||
addBuiltinParser tablesRef declName p
|
||||
|
||||
def declareBuiltinParser (env : Environment) (addFnName : Name) (refDeclName : Name) (declName : Name) : IO Environment :=
|
||||
let name := `_regBuiltinParser ++ declName;
|
||||
|
|
@ -1478,13 +1518,23 @@ match unsafeIO (do tables ← ref.get; pure $ prattParser kind tables a c s) wit
|
|||
@[implementedBy runBuiltinParserUnsafe]
|
||||
constant runBuiltinParser (kind : String) (ref : IO.Ref ParsingTables) : ParserFn leading := arbitrary _
|
||||
|
||||
inductive ParserAttributeEntry
|
||||
| leading (n : Name)
|
||||
| trailing (n : Name)
|
||||
structure ParserAttributeEntry :=
|
||||
(parserName : Name)
|
||||
(kind : ParserKind)
|
||||
(parser : Parser kind)
|
||||
|
||||
structure ParserAttributeExtensionState :=
|
||||
(newEntries : List Name := [])
|
||||
(tables : ParsingTables := {})
|
||||
|
||||
instance ParserAttributeExtensionState.inhabited : Inhabited ParserAttributeExtensionState :=
|
||||
⟨{}⟩
|
||||
|
||||
abbrev ParserAttributeExtension := PersistentEnvExtension Name ParserAttributeEntry ParserAttributeExtensionState
|
||||
|
||||
structure ParserAttribute :=
|
||||
(attr : AttributeImpl)
|
||||
(ext : PersistentEnvExtension ParserAttributeEntry ParsingTables)
|
||||
(ext : ParserAttributeExtension)
|
||||
(kind : String)
|
||||
|
||||
namespace ParserAttribute
|
||||
|
|
@ -1493,7 +1543,7 @@ instance : Inhabited ParserAttribute := ⟨{ attr := arbitrary _, ext := arbitra
|
|||
|
||||
def runParserFn (attr : ParserAttribute) : ParserFn leading :=
|
||||
fun a c s =>
|
||||
let tables : ParsingTables := attr.ext.getState c.env;
|
||||
let tables : ParsingTables := (attr.ext.getState c.env).tables;
|
||||
prattParser attr.kind tables a c s
|
||||
|
||||
def mkParser (attr : ParserAttribute) (rbp : Nat) : Parser leading :=
|
||||
|
|
@ -1507,9 +1557,9 @@ def mkParserAttributeTable : IO (IO.Ref ParserAttributeTable) :=
|
|||
IO.mkRef {}
|
||||
|
||||
@[init mkParserAttributeTable]
|
||||
constant parserAttributeTable : IO.Ref ParserAttributeTable := arbitrary _
|
||||
constant parserAttributeTableRef : IO.Ref ParserAttributeTable := arbitrary _
|
||||
|
||||
def compileParserDescr (table : ParserAttributeTable) : forall {k : ParserKind}, ParserDescr k → Except String (Parser k)
|
||||
def compileParserDescr (table : ParserAttributeTable) : forall {k : ParserKind}, ParserDescrCore k → Except String (Parser k)
|
||||
| _, ParserDescr.andthen d₁ d₂ => andthen <$> compileParserDescr d₁ <*> compileParserDescr d₂
|
||||
| _, ParserDescr.orelse d₁ d₂ => orelse <$> compileParserDescr d₁ <*> compileParserDescr d₂
|
||||
| _, ParserDescr.optional d => optional <$> compileParserDescr d
|
||||
|
|
@ -1528,38 +1578,103 @@ def compileParserDescr (table : ParserAttributeTable) : forall {k : ParserKind},
|
|||
| none => throw ("unknow parser kind '" ++ toString n ++ "'")
|
||||
| ParserKind.trailing, ParserDescr.pushLeading => pure $ pushLeading
|
||||
|
||||
unsafe def mkParserOfConstantUnsafe (env : Environment) (table : ParserAttributeTable) (constName : Name)
|
||||
: Except String (Sigma (fun (k : ParserKind) => Parser k)) :=
|
||||
match env.find? constName with
|
||||
| none => throw ("unknow constant '" ++ toString constName ++ "'")
|
||||
| some info =>
|
||||
match info.type with
|
||||
| Expr.const `Lean.Parser.TrailingParser _ _ => do
|
||||
p ← env.evalConst (Parser trailing) constName;
|
||||
pure ⟨trailing, p⟩
|
||||
| Expr.app (Expr.const `Lean.Parser.Parser _ _) (Expr.const `Lean.ParserKind.leading _ _) _ => do
|
||||
p ← env.evalConst (Parser leading) constName;
|
||||
pure ⟨leading, p⟩
|
||||
| Expr.const `Lean.ParserDescr _ _ => do
|
||||
d ← env.evalConst ParserDescr constName;
|
||||
p ← compileParserDescr table d;
|
||||
pure ⟨leading, p⟩
|
||||
| Expr.const `Lean.TrailingParserDescr _ _ => do
|
||||
d ← env.evalConst TrailingParserDescr constName;
|
||||
p ← compileParserDescr table d;
|
||||
pure ⟨trailing, p⟩
|
||||
| _ => throw ("unexpected parser type at '" ++ toString constName ++ "' (`ParserDescr`, `TrailingParserDescr`, `Parser` or `TrailingParser` expected")
|
||||
|
||||
@[implementedBy mkParserOfConstantUnsafe]
|
||||
constant mkParserOfConstant (env : Environment) (table : ParserAttributeTable) (constName : Name) : Except String (Sigma (fun (k : ParserKind) => Parser k)) :=
|
||||
arbitrary _
|
||||
|
||||
private def addImportedParsers (builtinTables : Option (IO.Ref ParsingTables)) (env : Environment) (es : Array (Array Name)) : IO ParserAttributeExtensionState := do
|
||||
tables ← match builtinTables with
|
||||
| some tables => tables.get
|
||||
| none => pure {};
|
||||
attrTable ← parserAttributeTableRef.get;
|
||||
tables ← es.foldlM
|
||||
(fun tables constNames =>
|
||||
constNames.foldlM
|
||||
(fun tables constName =>
|
||||
match mkParserOfConstant env attrTable constName with
|
||||
| Except.ok p =>
|
||||
match addParser tables constName p.2 with
|
||||
| Except.ok tables => pure tables
|
||||
| Except.error ex => throw (IO.userError ex)
|
||||
| Except.error ex => throw (IO.userError ex))
|
||||
tables)
|
||||
tables;
|
||||
pure { tables := tables }
|
||||
|
||||
private def addParserAttributeEntry (s : ParserAttributeExtensionState) (e : ParserAttributeEntry) : ParserAttributeExtensionState :=
|
||||
match e with
|
||||
| { parserName := parserName, parser := p, .. } =>
|
||||
match addParser s.tables parserName p with
|
||||
| Except.ok tables => { newEntries := parserName :: s.newEntries, tables := tables }
|
||||
| Except.error _ => unreachable!
|
||||
|
||||
private def addParserAttribute (env : Environment) (ext : ParserAttributeExtension) (constName : Name) (persistent : Bool) : IO Environment := do
|
||||
attrTable ← parserAttributeTableRef.get;
|
||||
match mkParserOfConstant env attrTable constName with
|
||||
| Except.error ex => throw (IO.userError ex)
|
||||
| Except.ok p =>
|
||||
-- TODO: register kinds and symbols
|
||||
let entry : ParserAttributeEntry := { parserName := constName, kind := p.1, parser := p.2 };
|
||||
let s : ParserAttributeExtensionState := ext.getState env;
|
||||
-- Remark: addEntry does not handle exceptions. So, we use `addParser` here to make sure it does not throw an exception.
|
||||
match addParser s.tables constName p.2 with
|
||||
| Except.ok _ => pure $ ext.addEntry env entry
|
||||
| Except.error ex => throw (IO.userError ex)
|
||||
|
||||
private def ParserAttribute.mkInitial (builtinTablesRef : Option (IO.Ref ParsingTables)) : IO (ParserAttributeExtensionState) :=
|
||||
match builtinTablesRef with
|
||||
| none => pure {}
|
||||
| some tablesRef => do tables ← tablesRef.get; pure { tables := tables }
|
||||
|
||||
/-
|
||||
This is just the basic skeleton where we create an
|
||||
extensible/scoped parser attribute that is optionally initialized with
|
||||
Parser attribute that can be optionally initialized with
|
||||
a builtin parser attribute.
|
||||
|
||||
The current implementation just uses the bultin parser.
|
||||
We still need to:
|
||||
- Add support for scoped parser extensions.
|
||||
TODO: support for scoped attributes.
|
||||
-/
|
||||
def registerParserAttribute (attrName : Name) (kind : String) (descr : String) (builtinTable : Option (IO.Ref ParsingTables) := none) : IO ParserAttribute := do
|
||||
def registerParserAttribute (attrName : Name) (kind : String) (descr : String) (builtinTables : Option (IO.Ref ParsingTables) := none) : IO ParserAttribute := do
|
||||
let kindSym := mkNameSimple kind;
|
||||
attrTable ← parserAttributeTable.get;
|
||||
attrTable ← parserAttributeTableRef.get;
|
||||
when (attrTable.contains kindSym) $ throw (IO.userError ("parser attribute '" ++ kind ++ "' has already been defined"));
|
||||
ext : PersistentEnvExtension ParserAttributeEntry ParsingTables ← registerPersistentEnvExtension {
|
||||
ext : PersistentEnvExtension Name ParserAttributeEntry ParserAttributeExtensionState ← registerPersistentEnvExtension {
|
||||
name := attrName,
|
||||
addImportedFn := fun es => do
|
||||
table ← match builtinTable with
|
||||
| some table => table.get
|
||||
| none => pure {};
|
||||
-- TODO: populate table with `es`
|
||||
pure table,
|
||||
addEntryFn := fun (s : ParsingTables) _ => s, -- TODO
|
||||
exportEntriesFn := fun _ => #[], -- TODO
|
||||
statsFn := fun _ => fmt "parser attribute" -- TODO
|
||||
mkInitial := ParserAttribute.mkInitial builtinTables,
|
||||
addImportedFn := addImportedParsers builtinTables,
|
||||
addEntryFn := addParserAttributeEntry,
|
||||
exportEntriesFn := fun s => s.newEntries.reverse.toArray,
|
||||
statsFn := fun s => format "number of local entries: " ++ format s.newEntries.length
|
||||
};
|
||||
let attrImpl : AttributeImpl := {
|
||||
name := attrName,
|
||||
descr := descr,
|
||||
add := fun env decl args persistent => pure env -- TODO
|
||||
name := attrName,
|
||||
descr := descr,
|
||||
add := fun env constName _ persistent => addParserAttribute env ext constName persistent,
|
||||
applicationTime := AttributeApplicationTime.afterCompilation
|
||||
};
|
||||
let attr : ParserAttribute := { ext := ext, attr := attrImpl, kind := kind };
|
||||
parserAttributeTable.modify $ fun table => table.insert kindSym attr;
|
||||
parserAttributeTableRef.modify $ fun table => table.insert kindSym attr;
|
||||
registerAttribute attrImpl;
|
||||
pure attr
|
||||
|
||||
-- declare `termParser` here since it is used everywhere via antiquotations
|
||||
|
|
|
|||
|
|
@ -29,20 +29,40 @@ inductive ParserKind
|
|||
/-
|
||||
Small DSL for describing parsers. We implement an interpreter for it
|
||||
at `Parser.lean` -/
|
||||
inductive ParserDescr : ParserKind → Type
|
||||
| andthen {k : ParserKind} : ParserDescr k → ParserDescr k → ParserDescr k
|
||||
| orelse {k : ParserKind} : ParserDescr k → ParserDescr k → ParserDescr k
|
||||
| optional {k : ParserKind} : ParserDescr k → ParserDescr k
|
||||
| lookahead {k : ParserKind} : ParserDescr k → ParserDescr k
|
||||
| try {k : ParserKind} : ParserDescr k → ParserDescr k
|
||||
| many {k : ParserKind} : ParserDescr k → ParserDescr k
|
||||
| many1 {k : ParserKind} : ParserDescr k → ParserDescr k
|
||||
| sepBy {k : ParserKind} : ParserDescr k → ParserDescr k → ParserDescr k
|
||||
| sepBy1 {k : ParserKind} : ParserDescr k → ParserDescr k → ParserDescr k
|
||||
| node {k : ParserKind} : Name → ParserDescr k → ParserDescr k
|
||||
| symbol {k : ParserKind} : String → Nat → ParserDescr k
|
||||
| unicodeSymbol {k : ParserKind} : String → String → Nat → ParserDescr k
|
||||
| pushLeading : ParserDescr ParserKind.trailing
|
||||
| parser : Name → Nat → ParserDescr ParserKind.leading
|
||||
inductive ParserDescrCore : ParserKind → Type
|
||||
| andthen {k : ParserKind} : ParserDescrCore k → ParserDescrCore k → ParserDescrCore k
|
||||
| orelse {k : ParserKind} : ParserDescrCore k → ParserDescrCore k → ParserDescrCore k
|
||||
| optional {k : ParserKind} : ParserDescrCore k → ParserDescrCore k
|
||||
| lookahead {k : ParserKind} : ParserDescrCore k → ParserDescrCore k
|
||||
| try {k : ParserKind} : ParserDescrCore k → ParserDescrCore k
|
||||
| many {k : ParserKind} : ParserDescrCore k → ParserDescrCore k
|
||||
| many1 {k : ParserKind} : ParserDescrCore k → ParserDescrCore k
|
||||
| sepBy {k : ParserKind} : ParserDescrCore k → ParserDescrCore k → ParserDescrCore k
|
||||
| sepBy1 {k : ParserKind} : ParserDescrCore k → ParserDescrCore k → ParserDescrCore k
|
||||
| node {k : ParserKind} : Name → ParserDescrCore k → ParserDescrCore k
|
||||
| symbol {k : ParserKind} : String → Nat → ParserDescrCore k
|
||||
| unicodeSymbol {k : ParserKind} : String → String → Nat → ParserDescrCore k
|
||||
| pushLeading : ParserDescrCore ParserKind.trailing
|
||||
| parser : Name → Nat → ParserDescrCore ParserKind.leading
|
||||
|
||||
instance ParserDescrCore.inhabited {k} : Inhabited (ParserDescrCore k) := ⟨ParserDescrCore.symbol "" 0⟩
|
||||
|
||||
abbrev ParserDescr := ParserDescrCore ParserKind.leading
|
||||
abbrev TrailingParserDescr := ParserDescrCore ParserKind.trailing
|
||||
|
||||
@[matchPattern] abbrev ParserDescr.andthen := @ParserDescrCore.andthen
|
||||
@[matchPattern] abbrev ParserDescr.orelse := @ParserDescrCore.orelse
|
||||
@[matchPattern] abbrev ParserDescr.optional := @ParserDescrCore.optional
|
||||
@[matchPattern] abbrev ParserDescr.lookahead := @ParserDescrCore.lookahead
|
||||
@[matchPattern] abbrev ParserDescr.try := @ParserDescrCore.try
|
||||
@[matchPattern] abbrev ParserDescr.many := @ParserDescrCore.many
|
||||
@[matchPattern] abbrev ParserDescr.many1 := @ParserDescrCore.many1
|
||||
@[matchPattern] abbrev ParserDescr.sepBy := @ParserDescrCore.sepBy
|
||||
@[matchPattern] abbrev ParserDescr.sepBy1 := @ParserDescrCore.sepBy1
|
||||
@[matchPattern] abbrev ParserDescr.node := @ParserDescrCore.node
|
||||
@[matchPattern] abbrev ParserDescr.symbol := @ParserDescrCore.symbol
|
||||
@[matchPattern] abbrev ParserDescr.unicodeSymbol := @ParserDescrCore.unicodeSymbol
|
||||
@[matchPattern] abbrev ParserDescr.pushLeading := @ParserDescrCore.pushLeading
|
||||
@[matchPattern] abbrev ParserDescr.parser := @ParserDescrCore.parser
|
||||
|
||||
end Lean
|
||||
|
|
|
|||
|
|
@ -275,6 +275,8 @@ class interpreter {
|
|||
};
|
||||
std::vector<frame> m_call_stack;
|
||||
environment const & m_env;
|
||||
// if we were called within the execution of a different interpreter, restore the value of `g_interpreter` in the end
|
||||
interpreter * m_prev_interpreter;
|
||||
struct constant_cache_entry {
|
||||
bool m_is_scalar;
|
||||
value m_val;
|
||||
|
|
@ -753,10 +755,10 @@ class interpreter {
|
|||
// closure stub stub
|
||||
static object * stub_m_aux(object ** args) {
|
||||
environment env(args[0]);
|
||||
if (g_interpreter) {
|
||||
if (g_interpreter && is_eqp(g_interpreter->m_env, env)) {
|
||||
return g_interpreter->stub_m(args);
|
||||
} else {
|
||||
// We changed threads or the closure was stored and called after the original interpreter exited.
|
||||
// We changed threads or the closure was stored and called in a different context.
|
||||
// Create new interpreter with new stacks.
|
||||
return interpreter(env).stub_m(args);
|
||||
}
|
||||
|
|
@ -804,7 +806,7 @@ class interpreter {
|
|||
}
|
||||
public:
|
||||
explicit interpreter(environment const & env) : m_env(env) {
|
||||
lean_assert(g_interpreter == nullptr);
|
||||
m_prev_interpreter = g_interpreter;
|
||||
g_interpreter = this;
|
||||
}
|
||||
~interpreter() {
|
||||
|
|
@ -814,7 +816,7 @@ public:
|
|||
}
|
||||
});
|
||||
lean_assert(g_interpreter == this);
|
||||
g_interpreter = nullptr;
|
||||
g_interpreter = m_prev_interpreter;
|
||||
}
|
||||
|
||||
/** A variant of `call` designed for external uses.
|
||||
|
|
@ -893,12 +895,7 @@ uint32 run_main(environment const & env, int argv, char * argc[]) {
|
|||
|
||||
extern "C" object * lean_eval_const(object * /* inh */, object * env, object * c) {
|
||||
try {
|
||||
if (g_interpreter == nullptr) {
|
||||
return mk_cnstr(1, run_boxed(TO_REF(environment, env), TO_REF(name, c), 0, 0)).steal();
|
||||
} else {
|
||||
flet<interpreter*> reset(g_interpreter, nullptr);
|
||||
return mk_cnstr(1, run_boxed(TO_REF(environment, env), TO_REF(name, c), 0, 0)).steal();
|
||||
}
|
||||
return mk_cnstr(1, run_boxed(TO_REF(environment, env), TO_REF(name, c), 0, 0)).steal();
|
||||
} catch (exception & ex) {
|
||||
return mk_cnstr(0, string_ref(ex.what())).steal();
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -13,7 +13,7 @@
|
|||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
lean_object* l_Lean_noConfusionExt___elambda__4___boxed(lean_object*);
|
||||
lean_object* l_Lean_noConfusionExt___elambda__4___boxed(lean_object*, lean_object*);
|
||||
lean_object* lean_mark_aux_recursor(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_noConfusionExt;
|
||||
lean_object* l_Lean_noConfusionExt___elambda__2___boxed(lean_object*);
|
||||
|
|
@ -22,7 +22,7 @@ lean_object* l_Lean_noConfusionExt___closed__5;
|
|||
lean_object* l_Lean_auxRecExt___elambda__1___boxed(lean_object*);
|
||||
lean_object* l_Lean_noConfusionExt___closed__3;
|
||||
extern lean_object* l_String_splitAux___main___closed__1;
|
||||
lean_object* l_Lean_auxRecExt___elambda__4(lean_object*);
|
||||
lean_object* l_Lean_auxRecExt___elambda__4(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_auxRecExt;
|
||||
lean_object* l_Lean_auxRecExt___closed__4;
|
||||
lean_object* l_Lean_noConfusionExt___closed__1;
|
||||
|
|
@ -54,13 +54,13 @@ lean_object* l_Lean_noConfusionExt___elambda__1(lean_object*);
|
|||
lean_object* l_Lean_auxRecExt___elambda__3___boxed(lean_object*, lean_object*);
|
||||
uint8_t lean_is_aux_recursor(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_auxRecExt___elambda__2(lean_object*);
|
||||
lean_object* l_Lean_noConfusionExt___elambda__4(lean_object*);
|
||||
lean_object* l_Lean_noConfusionExt___elambda__4(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkNoConfusionExtension(lean_object*);
|
||||
lean_object* l_Lean_mkTagDeclarationExtension(lean_object*, lean_object*);
|
||||
uint8_t l_Lean_TagDeclarationExtension_isTagged(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_namespacesExt___closed__1;
|
||||
lean_object* l_Lean_isAuxRecursor___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_auxRecExt___elambda__4___boxed(lean_object*);
|
||||
lean_object* l_Lean_auxRecExt___elambda__4___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_noConfusionExt___elambda__2(lean_object*);
|
||||
lean_object* _init_l_Lean_mkAuxRecursorExtension___closed__1() {
|
||||
_start:
|
||||
|
|
@ -123,19 +123,19 @@ lean_ctor_set(x_3, 1, x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_auxRecExt___elambda__4(lean_object* x_1) {
|
||||
lean_object* l_Lean_auxRecExt___elambda__4(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_alloc_closure((void*)(l_Lean_auxRecExt___elambda__4___rarg), 1, 0);
|
||||
return x_2;
|
||||
lean_object* x_3;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_auxRecExt___elambda__4___rarg), 1, 0);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_auxRecExt___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_auxRecExt___elambda__4___boxed), 1, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_auxRecExt___elambda__4___boxed), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -211,13 +211,14 @@ lean_dec(x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_auxRecExt___elambda__4___boxed(lean_object* x_1) {
|
||||
lean_object* l_Lean_auxRecExt___elambda__4___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_auxRecExt___elambda__4(x_1);
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_auxRecExt___elambda__4(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* lean_mark_aux_recursor(lean_object* x_1, lean_object* x_2) {
|
||||
|
|
@ -310,19 +311,19 @@ lean_ctor_set(x_3, 1, x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_noConfusionExt___elambda__4(lean_object* x_1) {
|
||||
lean_object* l_Lean_noConfusionExt___elambda__4(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_alloc_closure((void*)(l_Lean_noConfusionExt___elambda__4___rarg), 1, 0);
|
||||
return x_2;
|
||||
lean_object* x_3;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_noConfusionExt___elambda__4___rarg), 1, 0);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_noConfusionExt___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_noConfusionExt___elambda__4___boxed), 1, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_noConfusionExt___elambda__4___boxed), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -398,13 +399,14 @@ lean_dec(x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_noConfusionExt___elambda__4___boxed(lean_object* x_1) {
|
||||
lean_object* l_Lean_noConfusionExt___elambda__4___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_noConfusionExt___elambda__4(x_1);
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_noConfusionExt___elambda__4(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* lean_mark_no_confusion(lean_object* x_1, lean_object* x_2) {
|
||||
|
|
|
|||
|
|
@ -157,7 +157,7 @@ lean_object* l_PersistentHashMap_insert___at_Lean_ClassState_addEntry___spec__30
|
|||
lean_object* l_Array_iterateMAux___main___at_Lean_ClassState_addEntry___spec__33___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_AssocList_contains___main___at_Lean_ClassState_addEntry___spec__7(lean_object*, lean_object*);
|
||||
lean_object* l_Array_iterateMAux___main___at_Lean_mkClassExtension___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_classExtension___elambda__4___boxed(lean_object*);
|
||||
lean_object* l_Lean_classExtension___elambda__4___boxed(lean_object*, lean_object*);
|
||||
uint8_t l_AssocList_contains___main___at_Lean_ClassState_addEntry___spec__24(lean_object*, lean_object*);
|
||||
size_t lean_usize_modn(size_t, lean_object*);
|
||||
extern lean_object* l___private_Init_Lean_Environment_5__envExtensionsRef;
|
||||
|
|
@ -182,7 +182,7 @@ lean_object* l_Lean_ConstantInfo_value_x3f(lean_object*);
|
|||
lean_object* lean_add_instance_old(lean_object*, lean_object*);
|
||||
lean_object* l_PersistentHashMap_insertAux___main___at_Lean_ClassState_addEntry___spec__20(lean_object*, size_t, size_t, lean_object*, lean_object*);
|
||||
uint8_t lean_is_instance(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_classExtension___elambda__4(lean_object*);
|
||||
lean_object* l_Lean_classExtension___elambda__4(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_SMap_empty___at_Lean_ClassState_Inhabited___spec__4;
|
||||
lean_object* l_Lean_PersistentEnvExtension_addEntry___rarg(lean_object*, lean_object*, lean_object*);
|
||||
size_t l_USize_land(size_t, size_t);
|
||||
|
|
@ -196,13 +196,13 @@ lean_object* l___private_Init_Lean_Class_1__checkOutParam(lean_object*, lean_obj
|
|||
lean_object* l___private_Init_Lean_Class_1__checkOutParam___main(lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Syntax_isMissing(lean_object*);
|
||||
lean_object* l_HashMapImp_moveEntries___main___at_Lean_ClassState_addEntry___spec__9(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Init_Lean_Class_2__consumeNLambdas___main(lean_object*, lean_object*);
|
||||
lean_object* l_HashMapImp_contains___at_Lean_isClass___spec__2___boxed(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
lean_object* l_Array_anyRangeMAux___main___at___private_Init_Lean_Class_1__checkOutParam___main___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_IO_ofExcept___at_Lean_registerClassAttr___spec__1___boxed(lean_object*, lean_object*);
|
||||
uint8_t l_HashMapImp_contains___at_Lean_isInstance___spec__2(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_PersistentHashMap_insert___at_Lean_ClassState_addEntry___spec__2(lean_object*, lean_object*, uint8_t);
|
||||
uint8_t l_PersistentHashMap_contains___at_Lean_isClass___spec__3(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_registerTagAttribute___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -270,6 +270,7 @@ extern lean_object* l_Lean_regNamespacesExtension___closed__4;
|
|||
lean_object* l_Lean_mkClassExtension___closed__1;
|
||||
lean_object* l_Lean_addClass___closed__1;
|
||||
extern lean_object* l_Lean_AttributeImpl_inhabited___closed__5;
|
||||
lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_HashMapImp_insert___at_Lean_ClassState_addEntry___spec__34(lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Expr_hasFVar(lean_object*);
|
||||
lean_object* l_Lean_SMap_switch___at_Lean_ClassState_switch___spec__2(lean_object*);
|
||||
|
|
@ -4169,443 +4170,447 @@ lean_dec(x_8);
|
|||
lean_dec(x_6);
|
||||
if (x_10 == 0)
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
lean_object* x_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_free_object(x_4);
|
||||
x_11 = lean_ctor_get(x_1, 1);
|
||||
x_11 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_11);
|
||||
x_12 = l_Array_empty___closed__1;
|
||||
lean_inc(x_11);
|
||||
x_13 = lean_apply_1(x_11, x_12);
|
||||
x_14 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_15 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_15, 0, x_13);
|
||||
lean_closure_set(x_15, 1, x_14);
|
||||
x_16 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkClassExtension___spec__7(x_15, x_7);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
x_12 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_12);
|
||||
x_13 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_13);
|
||||
x_14 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_14);
|
||||
x_15 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_15);
|
||||
x_16 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_1);
|
||||
x_17 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_18 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_18, 0, x_12);
|
||||
lean_closure_set(x_18, 1, x_17);
|
||||
x_19 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkClassExtension___spec__7(x_18, x_7);
|
||||
if (lean_obj_tag(x_19) == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_17 = lean_ctor_get(x_16, 0);
|
||||
lean_inc(x_17);
|
||||
x_18 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_16);
|
||||
x_19 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_19);
|
||||
x_20 = lean_ctor_get(x_1, 2);
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
|
||||
x_20 = lean_ctor_get(x_19, 0);
|
||||
lean_inc(x_20);
|
||||
x_21 = lean_ctor_get(x_1, 3);
|
||||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
x_22 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_1);
|
||||
x_23 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_23, 0, x_17);
|
||||
lean_ctor_set(x_23, 1, x_19);
|
||||
lean_ctor_set(x_23, 2, x_11);
|
||||
lean_ctor_set(x_23, 3, x_20);
|
||||
lean_ctor_set(x_23, 4, x_21);
|
||||
lean_ctor_set(x_23, 5, x_22);
|
||||
x_24 = lean_io_ref_get(x_3, x_18);
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
lean_dec(x_19);
|
||||
x_22 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_22, 0, x_20);
|
||||
lean_ctor_set(x_22, 1, x_11);
|
||||
lean_ctor_set(x_22, 2, x_13);
|
||||
lean_ctor_set(x_22, 3, x_14);
|
||||
lean_ctor_set(x_22, 4, x_15);
|
||||
lean_ctor_set(x_22, 5, x_16);
|
||||
x_23 = lean_io_ref_get(x_3, x_21);
|
||||
if (lean_obj_tag(x_23) == 0)
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27;
|
||||
x_25 = lean_ctor_get(x_24, 0);
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_24 = lean_ctor_get(x_23, 0);
|
||||
lean_inc(x_24);
|
||||
x_25 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_25);
|
||||
x_26 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_24);
|
||||
x_27 = lean_io_ref_reset(x_3, x_26);
|
||||
if (lean_obj_tag(x_27) == 0)
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
|
||||
x_28 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_27);
|
||||
x_29 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_23);
|
||||
x_30 = x_23;
|
||||
x_31 = lean_array_push(x_25, x_30);
|
||||
x_32 = lean_io_ref_set(x_3, x_31, x_28);
|
||||
if (lean_obj_tag(x_32) == 0)
|
||||
{
|
||||
uint8_t x_33;
|
||||
x_33 = !lean_is_exclusive(x_32);
|
||||
if (x_33 == 0)
|
||||
{
|
||||
lean_object* x_34;
|
||||
x_34 = lean_ctor_get(x_32, 0);
|
||||
lean_dec(x_34);
|
||||
lean_ctor_set(x_32, 0, x_23);
|
||||
return x_32;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36;
|
||||
x_35 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_35);
|
||||
lean_dec(x_32);
|
||||
x_36 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_23);
|
||||
lean_ctor_set(x_36, 1, x_35);
|
||||
return x_36;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_37;
|
||||
lean_dec(x_23);
|
||||
x_37 = !lean_is_exclusive(x_32);
|
||||
if (x_37 == 0)
|
||||
x_26 = lean_io_ref_reset(x_3, x_25);
|
||||
if (lean_obj_tag(x_26) == 0)
|
||||
{
|
||||
return x_32;
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
|
||||
x_27 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_27);
|
||||
lean_dec(x_26);
|
||||
x_28 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_22);
|
||||
x_29 = x_22;
|
||||
x_30 = lean_array_push(x_24, x_29);
|
||||
x_31 = lean_io_ref_set(x_3, x_30, x_27);
|
||||
if (lean_obj_tag(x_31) == 0)
|
||||
{
|
||||
uint8_t x_32;
|
||||
x_32 = !lean_is_exclusive(x_31);
|
||||
if (x_32 == 0)
|
||||
{
|
||||
lean_object* x_33;
|
||||
x_33 = lean_ctor_get(x_31, 0);
|
||||
lean_dec(x_33);
|
||||
lean_ctor_set(x_31, 0, x_22);
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_38; lean_object* x_39; lean_object* x_40;
|
||||
x_38 = lean_ctor_get(x_32, 0);
|
||||
x_39 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_39);
|
||||
lean_object* x_34; lean_object* x_35;
|
||||
x_34 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_34);
|
||||
lean_dec(x_31);
|
||||
x_35 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_35, 0, x_22);
|
||||
lean_ctor_set(x_35, 1, x_34);
|
||||
return x_35;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_36;
|
||||
lean_dec(x_22);
|
||||
x_36 = !lean_is_exclusive(x_31);
|
||||
if (x_36 == 0)
|
||||
{
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_37; lean_object* x_38; lean_object* x_39;
|
||||
x_37 = lean_ctor_get(x_31, 0);
|
||||
x_38 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_38);
|
||||
lean_dec(x_32);
|
||||
x_40 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_40, 0, x_38);
|
||||
lean_ctor_set(x_40, 1, x_39);
|
||||
return x_40;
|
||||
lean_inc(x_37);
|
||||
lean_dec(x_31);
|
||||
x_39 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_37);
|
||||
lean_ctor_set(x_39, 1, x_38);
|
||||
return x_39;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_41;
|
||||
lean_dec(x_25);
|
||||
lean_dec(x_23);
|
||||
x_41 = !lean_is_exclusive(x_27);
|
||||
if (x_41 == 0)
|
||||
{
|
||||
return x_27;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44;
|
||||
x_42 = lean_ctor_get(x_27, 0);
|
||||
x_43 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_43);
|
||||
lean_inc(x_42);
|
||||
lean_dec(x_27);
|
||||
x_44 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_44, 0, x_42);
|
||||
lean_ctor_set(x_44, 1, x_43);
|
||||
return x_44;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_45;
|
||||
lean_dec(x_23);
|
||||
x_45 = !lean_is_exclusive(x_24);
|
||||
if (x_45 == 0)
|
||||
{
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_46; lean_object* x_47; lean_object* x_48;
|
||||
x_46 = lean_ctor_get(x_24, 0);
|
||||
x_47 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_47);
|
||||
lean_inc(x_46);
|
||||
uint8_t x_40;
|
||||
lean_dec(x_24);
|
||||
x_48 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_48, 0, x_46);
|
||||
lean_ctor_set(x_48, 1, x_47);
|
||||
return x_48;
|
||||
lean_dec(x_22);
|
||||
x_40 = !lean_is_exclusive(x_26);
|
||||
if (x_40 == 0)
|
||||
{
|
||||
return x_26;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_41; lean_object* x_42; lean_object* x_43;
|
||||
x_41 = lean_ctor_get(x_26, 0);
|
||||
x_42 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_42);
|
||||
lean_inc(x_41);
|
||||
lean_dec(x_26);
|
||||
x_43 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_43, 0, x_41);
|
||||
lean_ctor_set(x_43, 1, x_42);
|
||||
return x_43;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_49;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_1);
|
||||
x_49 = !lean_is_exclusive(x_16);
|
||||
if (x_49 == 0)
|
||||
uint8_t x_44;
|
||||
lean_dec(x_22);
|
||||
x_44 = !lean_is_exclusive(x_23);
|
||||
if (x_44 == 0)
|
||||
{
|
||||
return x_16;
|
||||
return x_23;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_50; lean_object* x_51; lean_object* x_52;
|
||||
x_50 = lean_ctor_get(x_16, 0);
|
||||
x_51 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_51);
|
||||
lean_inc(x_50);
|
||||
lean_object* x_45; lean_object* x_46; lean_object* x_47;
|
||||
x_45 = lean_ctor_get(x_23, 0);
|
||||
x_46 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_46);
|
||||
lean_inc(x_45);
|
||||
lean_dec(x_23);
|
||||
x_47 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_47, 0, x_45);
|
||||
lean_ctor_set(x_47, 1, x_46);
|
||||
return x_47;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_48;
|
||||
lean_dec(x_16);
|
||||
x_52 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_52, 0, x_50);
|
||||
lean_ctor_set(x_52, 1, x_51);
|
||||
return x_52;
|
||||
lean_dec(x_15);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_11);
|
||||
x_48 = !lean_is_exclusive(x_19);
|
||||
if (x_48 == 0)
|
||||
{
|
||||
return x_19;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_49; lean_object* x_50; lean_object* x_51;
|
||||
x_49 = lean_ctor_get(x_19, 0);
|
||||
x_50 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_50);
|
||||
lean_inc(x_49);
|
||||
lean_dec(x_19);
|
||||
x_51 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_51, 0, x_49);
|
||||
lean_ctor_set(x_51, 1, x_50);
|
||||
return x_51;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
|
||||
x_53 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_53);
|
||||
lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
|
||||
x_52 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_1);
|
||||
x_54 = l_Lean_Name_toString___closed__1;
|
||||
x_55 = l_Lean_Name_toStringWithSep___main(x_54, x_53);
|
||||
x_56 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_57 = lean_string_append(x_56, x_55);
|
||||
lean_dec(x_55);
|
||||
x_58 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_59 = lean_string_append(x_57, x_58);
|
||||
x_53 = l_Lean_Name_toString___closed__1;
|
||||
x_54 = l_Lean_Name_toStringWithSep___main(x_53, x_52);
|
||||
x_55 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_56 = lean_string_append(x_55, x_54);
|
||||
lean_dec(x_54);
|
||||
x_57 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_58 = lean_string_append(x_56, x_57);
|
||||
lean_ctor_set_tag(x_4, 1);
|
||||
lean_ctor_set(x_4, 0, x_59);
|
||||
lean_ctor_set(x_4, 0, x_58);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64;
|
||||
x_60 = lean_ctor_get(x_4, 0);
|
||||
x_61 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_61);
|
||||
lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63;
|
||||
x_59 = lean_ctor_get(x_4, 0);
|
||||
x_60 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_60);
|
||||
lean_inc(x_59);
|
||||
lean_dec(x_4);
|
||||
x_62 = lean_array_get_size(x_60);
|
||||
x_63 = lean_unsigned_to_nat(0u);
|
||||
x_64 = l_Array_anyRangeMAux___main___at_Lean_mkClassExtension___spec__6(x_1, x_60, x_60, x_62, x_63);
|
||||
lean_dec(x_62);
|
||||
lean_dec(x_60);
|
||||
if (x_64 == 0)
|
||||
x_61 = lean_array_get_size(x_59);
|
||||
x_62 = lean_unsigned_to_nat(0u);
|
||||
x_63 = l_Array_anyRangeMAux___main___at_Lean_mkClassExtension___spec__6(x_1, x_59, x_59, x_61, x_62);
|
||||
lean_dec(x_61);
|
||||
lean_dec(x_59);
|
||||
if (x_63 == 0)
|
||||
{
|
||||
lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
|
||||
lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
|
||||
x_64 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_64);
|
||||
x_65 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_65);
|
||||
x_66 = l_Array_empty___closed__1;
|
||||
lean_inc(x_65);
|
||||
x_67 = lean_apply_1(x_65, x_66);
|
||||
x_68 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_69 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_69, 0, x_67);
|
||||
lean_closure_set(x_69, 1, x_68);
|
||||
x_70 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkClassExtension___spec__7(x_69, x_61);
|
||||
if (lean_obj_tag(x_70) == 0)
|
||||
x_66 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_66);
|
||||
x_67 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_67);
|
||||
x_68 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_68);
|
||||
x_69 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_69);
|
||||
lean_dec(x_1);
|
||||
x_70 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_71 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_71, 0, x_65);
|
||||
lean_closure_set(x_71, 1, x_70);
|
||||
x_72 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkClassExtension___spec__7(x_71, x_60);
|
||||
if (lean_obj_tag(x_72) == 0)
|
||||
{
|
||||
lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
|
||||
x_71 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_71);
|
||||
x_72 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_72);
|
||||
lean_dec(x_70);
|
||||
x_73 = lean_ctor_get(x_1, 0);
|
||||
lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
|
||||
x_73 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_73);
|
||||
x_74 = lean_ctor_get(x_1, 2);
|
||||
x_74 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_74);
|
||||
x_75 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_75);
|
||||
x_76 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_76);
|
||||
lean_dec(x_1);
|
||||
x_77 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_77, 0, x_71);
|
||||
lean_ctor_set(x_77, 1, x_73);
|
||||
lean_ctor_set(x_77, 2, x_65);
|
||||
lean_ctor_set(x_77, 3, x_74);
|
||||
lean_ctor_set(x_77, 4, x_75);
|
||||
lean_ctor_set(x_77, 5, x_76);
|
||||
x_78 = lean_io_ref_get(x_3, x_72);
|
||||
if (lean_obj_tag(x_78) == 0)
|
||||
lean_dec(x_72);
|
||||
x_75 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_75, 0, x_73);
|
||||
lean_ctor_set(x_75, 1, x_64);
|
||||
lean_ctor_set(x_75, 2, x_66);
|
||||
lean_ctor_set(x_75, 3, x_67);
|
||||
lean_ctor_set(x_75, 4, x_68);
|
||||
lean_ctor_set(x_75, 5, x_69);
|
||||
x_76 = lean_io_ref_get(x_3, x_74);
|
||||
if (lean_obj_tag(x_76) == 0)
|
||||
{
|
||||
lean_object* x_79; lean_object* x_80; lean_object* x_81;
|
||||
x_79 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_79);
|
||||
x_80 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_78);
|
||||
x_81 = lean_io_ref_reset(x_3, x_80);
|
||||
if (lean_obj_tag(x_81) == 0)
|
||||
{
|
||||
lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86;
|
||||
x_82 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_82);
|
||||
lean_dec(x_81);
|
||||
x_83 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_object* x_77; lean_object* x_78; lean_object* x_79;
|
||||
x_77 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_77);
|
||||
x_84 = x_77;
|
||||
x_85 = lean_array_push(x_79, x_84);
|
||||
x_86 = lean_io_ref_set(x_3, x_85, x_82);
|
||||
if (lean_obj_tag(x_86) == 0)
|
||||
x_78 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_78);
|
||||
lean_dec(x_76);
|
||||
x_79 = lean_io_ref_reset(x_3, x_78);
|
||||
if (lean_obj_tag(x_79) == 0)
|
||||
{
|
||||
lean_object* x_87; lean_object* x_88; lean_object* x_89;
|
||||
x_87 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_87);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_88 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_88 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_88)) {
|
||||
x_89 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_89 = x_88;
|
||||
}
|
||||
lean_ctor_set(x_89, 0, x_77);
|
||||
lean_ctor_set(x_89, 1, x_87);
|
||||
return x_89;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93;
|
||||
lean_dec(x_77);
|
||||
x_90 = lean_ctor_get(x_86, 0);
|
||||
lean_inc(x_90);
|
||||
x_91 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_91);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_92 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_92 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_92)) {
|
||||
x_93 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_93 = x_92;
|
||||
}
|
||||
lean_ctor_set(x_93, 0, x_90);
|
||||
lean_ctor_set(x_93, 1, x_91);
|
||||
return x_93;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97;
|
||||
lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
|
||||
x_80 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_79);
|
||||
x_81 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_75);
|
||||
x_82 = x_75;
|
||||
x_83 = lean_array_push(x_77, x_82);
|
||||
x_84 = lean_io_ref_set(x_3, x_83, x_80);
|
||||
if (lean_obj_tag(x_84) == 0)
|
||||
{
|
||||
lean_object* x_85; lean_object* x_86; lean_object* x_87;
|
||||
x_85 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_85);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_86 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_86 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_86)) {
|
||||
x_87 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_87 = x_86;
|
||||
}
|
||||
lean_ctor_set(x_87, 0, x_75);
|
||||
lean_ctor_set(x_87, 1, x_85);
|
||||
return x_87;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91;
|
||||
lean_dec(x_75);
|
||||
x_88 = lean_ctor_get(x_84, 0);
|
||||
lean_inc(x_88);
|
||||
x_89 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_89);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_90 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_90 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_90)) {
|
||||
x_91 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_91 = x_90;
|
||||
}
|
||||
lean_ctor_set(x_91, 0, x_88);
|
||||
lean_ctor_set(x_91, 1, x_89);
|
||||
return x_91;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95;
|
||||
lean_dec(x_77);
|
||||
x_94 = lean_ctor_get(x_81, 0);
|
||||
lean_inc(x_94);
|
||||
x_95 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_95);
|
||||
if (lean_is_exclusive(x_81)) {
|
||||
lean_ctor_release(x_81, 0);
|
||||
lean_ctor_release(x_81, 1);
|
||||
x_96 = x_81;
|
||||
lean_dec(x_75);
|
||||
x_92 = lean_ctor_get(x_79, 0);
|
||||
lean_inc(x_92);
|
||||
x_93 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_93);
|
||||
if (lean_is_exclusive(x_79)) {
|
||||
lean_ctor_release(x_79, 0);
|
||||
lean_ctor_release(x_79, 1);
|
||||
x_94 = x_79;
|
||||
} else {
|
||||
lean_dec_ref(x_81);
|
||||
x_96 = lean_box(0);
|
||||
lean_dec_ref(x_79);
|
||||
x_94 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_96)) {
|
||||
x_97 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_94)) {
|
||||
x_95 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_97 = x_96;
|
||||
x_95 = x_94;
|
||||
}
|
||||
lean_ctor_set(x_97, 0, x_94);
|
||||
lean_ctor_set(x_97, 1, x_95);
|
||||
return x_97;
|
||||
lean_ctor_set(x_95, 0, x_92);
|
||||
lean_ctor_set(x_95, 1, x_93);
|
||||
return x_95;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101;
|
||||
lean_dec(x_77);
|
||||
x_98 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_98);
|
||||
x_99 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_99);
|
||||
if (lean_is_exclusive(x_78)) {
|
||||
lean_ctor_release(x_78, 0);
|
||||
lean_ctor_release(x_78, 1);
|
||||
x_100 = x_78;
|
||||
lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99;
|
||||
lean_dec(x_75);
|
||||
x_96 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_96);
|
||||
x_97 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_97);
|
||||
if (lean_is_exclusive(x_76)) {
|
||||
lean_ctor_release(x_76, 0);
|
||||
lean_ctor_release(x_76, 1);
|
||||
x_98 = x_76;
|
||||
} else {
|
||||
lean_dec_ref(x_78);
|
||||
x_100 = lean_box(0);
|
||||
lean_dec_ref(x_76);
|
||||
x_98 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_100)) {
|
||||
x_101 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_98)) {
|
||||
x_99 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_101 = x_100;
|
||||
x_99 = x_98;
|
||||
}
|
||||
lean_ctor_set(x_101, 0, x_98);
|
||||
lean_ctor_set(x_101, 1, x_99);
|
||||
return x_101;
|
||||
lean_ctor_set(x_99, 0, x_96);
|
||||
lean_ctor_set(x_99, 1, x_97);
|
||||
return x_99;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105;
|
||||
lean_dec(x_65);
|
||||
lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103;
|
||||
lean_dec(x_69);
|
||||
lean_dec(x_68);
|
||||
lean_dec(x_67);
|
||||
lean_dec(x_66);
|
||||
lean_dec(x_64);
|
||||
x_100 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_100);
|
||||
x_101 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_101);
|
||||
if (lean_is_exclusive(x_72)) {
|
||||
lean_ctor_release(x_72, 0);
|
||||
lean_ctor_release(x_72, 1);
|
||||
x_102 = x_72;
|
||||
} else {
|
||||
lean_dec_ref(x_72);
|
||||
x_102 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_102)) {
|
||||
x_103 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_103 = x_102;
|
||||
}
|
||||
lean_ctor_set(x_103, 0, x_100);
|
||||
lean_ctor_set(x_103, 1, x_101);
|
||||
return x_103;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111;
|
||||
x_104 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_104);
|
||||
lean_dec(x_1);
|
||||
x_102 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_102);
|
||||
x_103 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_103);
|
||||
if (lean_is_exclusive(x_70)) {
|
||||
lean_ctor_release(x_70, 0);
|
||||
lean_ctor_release(x_70, 1);
|
||||
x_104 = x_70;
|
||||
} else {
|
||||
lean_dec_ref(x_70);
|
||||
x_104 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_104)) {
|
||||
x_105 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_105 = x_104;
|
||||
}
|
||||
lean_ctor_set(x_105, 0, x_102);
|
||||
lean_ctor_set(x_105, 1, x_103);
|
||||
return x_105;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113;
|
||||
x_106 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_106);
|
||||
lean_dec(x_1);
|
||||
x_107 = l_Lean_Name_toString___closed__1;
|
||||
x_108 = l_Lean_Name_toStringWithSep___main(x_107, x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_110 = lean_string_append(x_109, x_108);
|
||||
lean_dec(x_108);
|
||||
x_111 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_112 = lean_string_append(x_110, x_111);
|
||||
x_113 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_113, 0, x_112);
|
||||
lean_ctor_set(x_113, 1, x_61);
|
||||
return x_113;
|
||||
x_105 = l_Lean_Name_toString___closed__1;
|
||||
x_106 = l_Lean_Name_toStringWithSep___main(x_105, x_104);
|
||||
x_107 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_108 = lean_string_append(x_107, x_106);
|
||||
lean_dec(x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_110 = lean_string_append(x_108, x_109);
|
||||
x_111 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_111, 0, x_110);
|
||||
lean_ctor_set(x_111, 1, x_60);
|
||||
return x_111;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_114;
|
||||
uint8_t x_112;
|
||||
lean_dec(x_1);
|
||||
x_114 = !lean_is_exclusive(x_4);
|
||||
if (x_114 == 0)
|
||||
x_112 = !lean_is_exclusive(x_4);
|
||||
if (x_112 == 0)
|
||||
{
|
||||
return x_4;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_115; lean_object* x_116; lean_object* x_117;
|
||||
x_115 = lean_ctor_get(x_4, 0);
|
||||
x_116 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_116);
|
||||
lean_inc(x_115);
|
||||
lean_object* x_113; lean_object* x_114; lean_object* x_115;
|
||||
x_113 = lean_ctor_get(x_4, 0);
|
||||
x_114 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_114);
|
||||
lean_inc(x_113);
|
||||
lean_dec(x_4);
|
||||
x_117 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_117, 0, x_115);
|
||||
lean_ctor_set(x_117, 1, x_116);
|
||||
return x_117;
|
||||
x_115 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_115, 0, x_113);
|
||||
lean_ctor_set(x_115, 1, x_114);
|
||||
return x_115;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -4613,26 +4618,38 @@ return x_117;
|
|||
lean_object* l_Lean_registerSimplePersistentEnvExtension___at_Lean_mkClassExtension___spec__4(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
|
||||
x_3 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_3);
|
||||
x_4 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_4);
|
||||
x_5 = lean_box(0);
|
||||
x_6 = l_Array_empty___closed__1;
|
||||
lean_inc(x_4);
|
||||
x_7 = lean_apply_1(x_4, x_6);
|
||||
x_8 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_8, 0, x_5);
|
||||
lean_ctor_set(x_8, 1, x_7);
|
||||
x_9 = lean_alloc_closure((void*)(l_EStateM_pure___rarg), 2, 1);
|
||||
lean_closure_set(x_9, 0, x_8);
|
||||
x_10 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1___boxed), 5, 2);
|
||||
lean_closure_set(x_10, 0, x_4);
|
||||
lean_closure_set(x_10, 1, x_5);
|
||||
lean_inc(x_1);
|
||||
x_4 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1), 3, 1);
|
||||
lean_closure_set(x_4, 0, x_1);
|
||||
lean_inc(x_1);
|
||||
x_5 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2), 3, 1);
|
||||
lean_closure_set(x_5, 0, x_1);
|
||||
x_6 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3), 2, 1);
|
||||
lean_closure_set(x_6, 0, x_1);
|
||||
x_7 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1;
|
||||
x_8 = lean_alloc_ctor(0, 5, 0);
|
||||
lean_ctor_set(x_8, 0, x_3);
|
||||
lean_ctor_set(x_8, 1, x_4);
|
||||
lean_ctor_set(x_8, 2, x_5);
|
||||
lean_ctor_set(x_8, 3, x_6);
|
||||
lean_ctor_set(x_8, 4, x_7);
|
||||
x_9 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_mkClassExtension___spec__5(x_8, x_2);
|
||||
return x_9;
|
||||
x_11 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2), 3, 1);
|
||||
lean_closure_set(x_11, 0, x_1);
|
||||
x_12 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3), 2, 1);
|
||||
lean_closure_set(x_12, 0, x_1);
|
||||
x_13 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1;
|
||||
x_14 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_14, 0, x_3);
|
||||
lean_ctor_set(x_14, 1, x_9);
|
||||
lean_ctor_set(x_14, 2, x_10);
|
||||
lean_ctor_set(x_14, 3, x_11);
|
||||
lean_ctor_set(x_14, 4, x_12);
|
||||
lean_ctor_set(x_14, 5, x_13);
|
||||
x_15 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_mkClassExtension___spec__5(x_14, x_2);
|
||||
return x_15;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_mkClassExtension___lambda__1(lean_object* x_1) {
|
||||
|
|
@ -4790,12 +4807,12 @@ lean_ctor_set(x_3, 1, x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_classExtension___elambda__4(lean_object* x_1) {
|
||||
lean_object* l_Lean_classExtension___elambda__4(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_alloc_closure((void*)(l_Lean_classExtension___elambda__4___rarg), 1, 0);
|
||||
return x_2;
|
||||
lean_object* x_3;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_classExtension___elambda__4___rarg), 1, 0);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_classExtension___closed__1() {
|
||||
|
|
@ -4816,7 +4833,7 @@ lean_object* _init_l_Lean_classExtension___closed__2() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_classExtension___elambda__4___boxed), 1, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_classExtension___elambda__4___boxed), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -4892,13 +4909,14 @@ lean_dec(x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_classExtension___elambda__4___boxed(lean_object* x_1) {
|
||||
lean_object* l_Lean_classExtension___elambda__4___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_classExtension___elambda__4(x_1);
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_classExtension___elambda__4(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
uint8_t l_HashMapImp_contains___at_Lean_isClass___spec__2(lean_object* x_1, lean_object* x_2) {
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ lean_object* l_HashMapImp_expand___at_Lean_mkClosedTermCacheExtension___spec__8(
|
|||
lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_mkClosedTermCacheExtension___spec__20(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_closedTermCacheExt___elambda__1(lean_object*);
|
||||
lean_object* l_Lean_mkStateFromImportedEntries___at_Lean_mkClosedTermCacheExtension___spec__15(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_closedTermCacheExt___elambda__4___boxed(lean_object*);
|
||||
lean_object* l_Lean_closedTermCacheExt___elambda__4___boxed(lean_object*, lean_object*);
|
||||
lean_object* lean_cache_closed_term_name(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3(lean_object*, lean_object*);
|
||||
lean_object* l_AssocList_contains___main___at_Lean_mkClosedTermCacheExtension___spec__7___boxed(lean_object*, lean_object*);
|
||||
|
|
@ -87,8 +87,8 @@ size_t l_USize_land(size_t, size_t);
|
|||
lean_object* l_PersistentHashMap_insertAux___main___at_Lean_mkClosedTermCacheExtension___spec__3(lean_object*, size_t, size_t, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_SimplePersistentEnvExtension_getState___rarg(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_expr_eqv(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkStateFromImportedEntries___at_Lean_mkClosedTermCacheExtension___spec__15___boxed(lean_object*, lean_object*);
|
||||
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
|
||||
|
|
@ -113,7 +113,7 @@ lean_object* l_PersistentHashMap_findAtAux___main___at_Lean_getClosedTermName_x3
|
|||
lean_object* l_Lean_closedTermCacheExt___closed__2;
|
||||
lean_object* l_Array_iterateMAux___main___at_Lean_mkClosedTermCacheExtension___spec__5(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_PersistentHashMap_find_x3f___at_Lean_getClosedTermName_x3f___spec__2___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_closedTermCacheExt___elambda__4(lean_object*);
|
||||
lean_object* l_Lean_closedTermCacheExt___elambda__4(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_closedTermCacheExt___elambda__1___boxed(lean_object*);
|
||||
lean_object* l_Lean_mkClosedTermCacheExtension(lean_object*);
|
||||
lean_object* lean_mk_array(lean_object*, lean_object*);
|
||||
|
|
@ -137,6 +137,7 @@ lean_object* l_Lean_Name_toStringWithSep___main(lean_object*, lean_object*);
|
|||
lean_object* lean_usize_to_nat(size_t);
|
||||
extern lean_object* l_Lean_regNamespacesExtension___closed__4;
|
||||
lean_object* l_Lean_closedTermCacheExt___closed__6;
|
||||
lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*);
|
||||
extern lean_object* l_HashMap_Inhabited___closed__1;
|
||||
lean_object* l_PersistentHashMap_insert___at_Lean_mkClosedTermCacheExtension___spec__2(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_AssocList_find___main___at_Lean_getClosedTermName_x3f___spec__6(lean_object*, lean_object*);
|
||||
|
|
@ -1480,443 +1481,447 @@ lean_dec(x_8);
|
|||
lean_dec(x_6);
|
||||
if (x_10 == 0)
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
lean_object* x_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_free_object(x_4);
|
||||
x_11 = lean_ctor_get(x_1, 1);
|
||||
x_11 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_11);
|
||||
x_12 = l_Array_empty___closed__1;
|
||||
lean_inc(x_11);
|
||||
x_13 = lean_apply_1(x_11, x_12);
|
||||
x_14 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_15 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_15, 0, x_13);
|
||||
lean_closure_set(x_15, 1, x_14);
|
||||
x_16 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkClosedTermCacheExtension___spec__22(x_15, x_7);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
x_12 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_12);
|
||||
x_13 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_13);
|
||||
x_14 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_14);
|
||||
x_15 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_15);
|
||||
x_16 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_1);
|
||||
x_17 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_18 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_18, 0, x_12);
|
||||
lean_closure_set(x_18, 1, x_17);
|
||||
x_19 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkClosedTermCacheExtension___spec__22(x_18, x_7);
|
||||
if (lean_obj_tag(x_19) == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_17 = lean_ctor_get(x_16, 0);
|
||||
lean_inc(x_17);
|
||||
x_18 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_16);
|
||||
x_19 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_19);
|
||||
x_20 = lean_ctor_get(x_1, 2);
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
|
||||
x_20 = lean_ctor_get(x_19, 0);
|
||||
lean_inc(x_20);
|
||||
x_21 = lean_ctor_get(x_1, 3);
|
||||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
x_22 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_1);
|
||||
x_23 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_23, 0, x_17);
|
||||
lean_ctor_set(x_23, 1, x_19);
|
||||
lean_ctor_set(x_23, 2, x_11);
|
||||
lean_ctor_set(x_23, 3, x_20);
|
||||
lean_ctor_set(x_23, 4, x_21);
|
||||
lean_ctor_set(x_23, 5, x_22);
|
||||
x_24 = lean_io_ref_get(x_3, x_18);
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
lean_dec(x_19);
|
||||
x_22 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_22, 0, x_20);
|
||||
lean_ctor_set(x_22, 1, x_11);
|
||||
lean_ctor_set(x_22, 2, x_13);
|
||||
lean_ctor_set(x_22, 3, x_14);
|
||||
lean_ctor_set(x_22, 4, x_15);
|
||||
lean_ctor_set(x_22, 5, x_16);
|
||||
x_23 = lean_io_ref_get(x_3, x_21);
|
||||
if (lean_obj_tag(x_23) == 0)
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27;
|
||||
x_25 = lean_ctor_get(x_24, 0);
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_24 = lean_ctor_get(x_23, 0);
|
||||
lean_inc(x_24);
|
||||
x_25 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_25);
|
||||
x_26 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_24);
|
||||
x_27 = lean_io_ref_reset(x_3, x_26);
|
||||
if (lean_obj_tag(x_27) == 0)
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
|
||||
x_28 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_27);
|
||||
x_29 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_23);
|
||||
x_30 = x_23;
|
||||
x_31 = lean_array_push(x_25, x_30);
|
||||
x_32 = lean_io_ref_set(x_3, x_31, x_28);
|
||||
if (lean_obj_tag(x_32) == 0)
|
||||
{
|
||||
uint8_t x_33;
|
||||
x_33 = !lean_is_exclusive(x_32);
|
||||
if (x_33 == 0)
|
||||
{
|
||||
lean_object* x_34;
|
||||
x_34 = lean_ctor_get(x_32, 0);
|
||||
lean_dec(x_34);
|
||||
lean_ctor_set(x_32, 0, x_23);
|
||||
return x_32;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36;
|
||||
x_35 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_35);
|
||||
lean_dec(x_32);
|
||||
x_36 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_23);
|
||||
lean_ctor_set(x_36, 1, x_35);
|
||||
return x_36;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_37;
|
||||
lean_dec(x_23);
|
||||
x_37 = !lean_is_exclusive(x_32);
|
||||
if (x_37 == 0)
|
||||
x_26 = lean_io_ref_reset(x_3, x_25);
|
||||
if (lean_obj_tag(x_26) == 0)
|
||||
{
|
||||
return x_32;
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
|
||||
x_27 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_27);
|
||||
lean_dec(x_26);
|
||||
x_28 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_22);
|
||||
x_29 = x_22;
|
||||
x_30 = lean_array_push(x_24, x_29);
|
||||
x_31 = lean_io_ref_set(x_3, x_30, x_27);
|
||||
if (lean_obj_tag(x_31) == 0)
|
||||
{
|
||||
uint8_t x_32;
|
||||
x_32 = !lean_is_exclusive(x_31);
|
||||
if (x_32 == 0)
|
||||
{
|
||||
lean_object* x_33;
|
||||
x_33 = lean_ctor_get(x_31, 0);
|
||||
lean_dec(x_33);
|
||||
lean_ctor_set(x_31, 0, x_22);
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_38; lean_object* x_39; lean_object* x_40;
|
||||
x_38 = lean_ctor_get(x_32, 0);
|
||||
x_39 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_39);
|
||||
lean_object* x_34; lean_object* x_35;
|
||||
x_34 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_34);
|
||||
lean_dec(x_31);
|
||||
x_35 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_35, 0, x_22);
|
||||
lean_ctor_set(x_35, 1, x_34);
|
||||
return x_35;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_36;
|
||||
lean_dec(x_22);
|
||||
x_36 = !lean_is_exclusive(x_31);
|
||||
if (x_36 == 0)
|
||||
{
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_37; lean_object* x_38; lean_object* x_39;
|
||||
x_37 = lean_ctor_get(x_31, 0);
|
||||
x_38 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_38);
|
||||
lean_dec(x_32);
|
||||
x_40 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_40, 0, x_38);
|
||||
lean_ctor_set(x_40, 1, x_39);
|
||||
return x_40;
|
||||
lean_inc(x_37);
|
||||
lean_dec(x_31);
|
||||
x_39 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_37);
|
||||
lean_ctor_set(x_39, 1, x_38);
|
||||
return x_39;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_41;
|
||||
lean_dec(x_25);
|
||||
lean_dec(x_23);
|
||||
x_41 = !lean_is_exclusive(x_27);
|
||||
if (x_41 == 0)
|
||||
{
|
||||
return x_27;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44;
|
||||
x_42 = lean_ctor_get(x_27, 0);
|
||||
x_43 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_43);
|
||||
lean_inc(x_42);
|
||||
lean_dec(x_27);
|
||||
x_44 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_44, 0, x_42);
|
||||
lean_ctor_set(x_44, 1, x_43);
|
||||
return x_44;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_45;
|
||||
lean_dec(x_23);
|
||||
x_45 = !lean_is_exclusive(x_24);
|
||||
if (x_45 == 0)
|
||||
{
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_46; lean_object* x_47; lean_object* x_48;
|
||||
x_46 = lean_ctor_get(x_24, 0);
|
||||
x_47 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_47);
|
||||
lean_inc(x_46);
|
||||
uint8_t x_40;
|
||||
lean_dec(x_24);
|
||||
x_48 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_48, 0, x_46);
|
||||
lean_ctor_set(x_48, 1, x_47);
|
||||
return x_48;
|
||||
lean_dec(x_22);
|
||||
x_40 = !lean_is_exclusive(x_26);
|
||||
if (x_40 == 0)
|
||||
{
|
||||
return x_26;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_41; lean_object* x_42; lean_object* x_43;
|
||||
x_41 = lean_ctor_get(x_26, 0);
|
||||
x_42 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_42);
|
||||
lean_inc(x_41);
|
||||
lean_dec(x_26);
|
||||
x_43 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_43, 0, x_41);
|
||||
lean_ctor_set(x_43, 1, x_42);
|
||||
return x_43;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_49;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_1);
|
||||
x_49 = !lean_is_exclusive(x_16);
|
||||
if (x_49 == 0)
|
||||
uint8_t x_44;
|
||||
lean_dec(x_22);
|
||||
x_44 = !lean_is_exclusive(x_23);
|
||||
if (x_44 == 0)
|
||||
{
|
||||
return x_16;
|
||||
return x_23;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_50; lean_object* x_51; lean_object* x_52;
|
||||
x_50 = lean_ctor_get(x_16, 0);
|
||||
x_51 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_51);
|
||||
lean_inc(x_50);
|
||||
lean_object* x_45; lean_object* x_46; lean_object* x_47;
|
||||
x_45 = lean_ctor_get(x_23, 0);
|
||||
x_46 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_46);
|
||||
lean_inc(x_45);
|
||||
lean_dec(x_23);
|
||||
x_47 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_47, 0, x_45);
|
||||
lean_ctor_set(x_47, 1, x_46);
|
||||
return x_47;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_48;
|
||||
lean_dec(x_16);
|
||||
x_52 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_52, 0, x_50);
|
||||
lean_ctor_set(x_52, 1, x_51);
|
||||
return x_52;
|
||||
lean_dec(x_15);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_11);
|
||||
x_48 = !lean_is_exclusive(x_19);
|
||||
if (x_48 == 0)
|
||||
{
|
||||
return x_19;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_49; lean_object* x_50; lean_object* x_51;
|
||||
x_49 = lean_ctor_get(x_19, 0);
|
||||
x_50 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_50);
|
||||
lean_inc(x_49);
|
||||
lean_dec(x_19);
|
||||
x_51 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_51, 0, x_49);
|
||||
lean_ctor_set(x_51, 1, x_50);
|
||||
return x_51;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
|
||||
x_53 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_53);
|
||||
lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
|
||||
x_52 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_1);
|
||||
x_54 = l_Lean_Name_toString___closed__1;
|
||||
x_55 = l_Lean_Name_toStringWithSep___main(x_54, x_53);
|
||||
x_56 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_57 = lean_string_append(x_56, x_55);
|
||||
lean_dec(x_55);
|
||||
x_58 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_59 = lean_string_append(x_57, x_58);
|
||||
x_53 = l_Lean_Name_toString___closed__1;
|
||||
x_54 = l_Lean_Name_toStringWithSep___main(x_53, x_52);
|
||||
x_55 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_56 = lean_string_append(x_55, x_54);
|
||||
lean_dec(x_54);
|
||||
x_57 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_58 = lean_string_append(x_56, x_57);
|
||||
lean_ctor_set_tag(x_4, 1);
|
||||
lean_ctor_set(x_4, 0, x_59);
|
||||
lean_ctor_set(x_4, 0, x_58);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64;
|
||||
x_60 = lean_ctor_get(x_4, 0);
|
||||
x_61 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_61);
|
||||
lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63;
|
||||
x_59 = lean_ctor_get(x_4, 0);
|
||||
x_60 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_60);
|
||||
lean_inc(x_59);
|
||||
lean_dec(x_4);
|
||||
x_62 = lean_array_get_size(x_60);
|
||||
x_63 = lean_unsigned_to_nat(0u);
|
||||
x_64 = l_Array_anyRangeMAux___main___at_Lean_mkClosedTermCacheExtension___spec__21(x_1, x_60, x_60, x_62, x_63);
|
||||
lean_dec(x_62);
|
||||
lean_dec(x_60);
|
||||
if (x_64 == 0)
|
||||
x_61 = lean_array_get_size(x_59);
|
||||
x_62 = lean_unsigned_to_nat(0u);
|
||||
x_63 = l_Array_anyRangeMAux___main___at_Lean_mkClosedTermCacheExtension___spec__21(x_1, x_59, x_59, x_61, x_62);
|
||||
lean_dec(x_61);
|
||||
lean_dec(x_59);
|
||||
if (x_63 == 0)
|
||||
{
|
||||
lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
|
||||
lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
|
||||
x_64 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_64);
|
||||
x_65 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_65);
|
||||
x_66 = l_Array_empty___closed__1;
|
||||
lean_inc(x_65);
|
||||
x_67 = lean_apply_1(x_65, x_66);
|
||||
x_68 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_69 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_69, 0, x_67);
|
||||
lean_closure_set(x_69, 1, x_68);
|
||||
x_70 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkClosedTermCacheExtension___spec__22(x_69, x_61);
|
||||
if (lean_obj_tag(x_70) == 0)
|
||||
x_66 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_66);
|
||||
x_67 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_67);
|
||||
x_68 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_68);
|
||||
x_69 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_69);
|
||||
lean_dec(x_1);
|
||||
x_70 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_71 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_71, 0, x_65);
|
||||
lean_closure_set(x_71, 1, x_70);
|
||||
x_72 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkClosedTermCacheExtension___spec__22(x_71, x_60);
|
||||
if (lean_obj_tag(x_72) == 0)
|
||||
{
|
||||
lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
|
||||
x_71 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_71);
|
||||
x_72 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_72);
|
||||
lean_dec(x_70);
|
||||
x_73 = lean_ctor_get(x_1, 0);
|
||||
lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
|
||||
x_73 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_73);
|
||||
x_74 = lean_ctor_get(x_1, 2);
|
||||
x_74 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_74);
|
||||
x_75 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_75);
|
||||
x_76 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_76);
|
||||
lean_dec(x_1);
|
||||
x_77 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_77, 0, x_71);
|
||||
lean_ctor_set(x_77, 1, x_73);
|
||||
lean_ctor_set(x_77, 2, x_65);
|
||||
lean_ctor_set(x_77, 3, x_74);
|
||||
lean_ctor_set(x_77, 4, x_75);
|
||||
lean_ctor_set(x_77, 5, x_76);
|
||||
x_78 = lean_io_ref_get(x_3, x_72);
|
||||
if (lean_obj_tag(x_78) == 0)
|
||||
lean_dec(x_72);
|
||||
x_75 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_75, 0, x_73);
|
||||
lean_ctor_set(x_75, 1, x_64);
|
||||
lean_ctor_set(x_75, 2, x_66);
|
||||
lean_ctor_set(x_75, 3, x_67);
|
||||
lean_ctor_set(x_75, 4, x_68);
|
||||
lean_ctor_set(x_75, 5, x_69);
|
||||
x_76 = lean_io_ref_get(x_3, x_74);
|
||||
if (lean_obj_tag(x_76) == 0)
|
||||
{
|
||||
lean_object* x_79; lean_object* x_80; lean_object* x_81;
|
||||
x_79 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_79);
|
||||
x_80 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_78);
|
||||
x_81 = lean_io_ref_reset(x_3, x_80);
|
||||
if (lean_obj_tag(x_81) == 0)
|
||||
{
|
||||
lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86;
|
||||
x_82 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_82);
|
||||
lean_dec(x_81);
|
||||
x_83 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_object* x_77; lean_object* x_78; lean_object* x_79;
|
||||
x_77 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_77);
|
||||
x_84 = x_77;
|
||||
x_85 = lean_array_push(x_79, x_84);
|
||||
x_86 = lean_io_ref_set(x_3, x_85, x_82);
|
||||
if (lean_obj_tag(x_86) == 0)
|
||||
x_78 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_78);
|
||||
lean_dec(x_76);
|
||||
x_79 = lean_io_ref_reset(x_3, x_78);
|
||||
if (lean_obj_tag(x_79) == 0)
|
||||
{
|
||||
lean_object* x_87; lean_object* x_88; lean_object* x_89;
|
||||
x_87 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_87);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_88 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_88 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_88)) {
|
||||
x_89 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_89 = x_88;
|
||||
}
|
||||
lean_ctor_set(x_89, 0, x_77);
|
||||
lean_ctor_set(x_89, 1, x_87);
|
||||
return x_89;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93;
|
||||
lean_dec(x_77);
|
||||
x_90 = lean_ctor_get(x_86, 0);
|
||||
lean_inc(x_90);
|
||||
x_91 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_91);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_92 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_92 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_92)) {
|
||||
x_93 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_93 = x_92;
|
||||
}
|
||||
lean_ctor_set(x_93, 0, x_90);
|
||||
lean_ctor_set(x_93, 1, x_91);
|
||||
return x_93;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97;
|
||||
lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
|
||||
x_80 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_79);
|
||||
x_81 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_75);
|
||||
x_82 = x_75;
|
||||
x_83 = lean_array_push(x_77, x_82);
|
||||
x_84 = lean_io_ref_set(x_3, x_83, x_80);
|
||||
if (lean_obj_tag(x_84) == 0)
|
||||
{
|
||||
lean_object* x_85; lean_object* x_86; lean_object* x_87;
|
||||
x_85 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_85);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_86 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_86 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_86)) {
|
||||
x_87 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_87 = x_86;
|
||||
}
|
||||
lean_ctor_set(x_87, 0, x_75);
|
||||
lean_ctor_set(x_87, 1, x_85);
|
||||
return x_87;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91;
|
||||
lean_dec(x_75);
|
||||
x_88 = lean_ctor_get(x_84, 0);
|
||||
lean_inc(x_88);
|
||||
x_89 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_89);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_90 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_90 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_90)) {
|
||||
x_91 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_91 = x_90;
|
||||
}
|
||||
lean_ctor_set(x_91, 0, x_88);
|
||||
lean_ctor_set(x_91, 1, x_89);
|
||||
return x_91;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95;
|
||||
lean_dec(x_77);
|
||||
x_94 = lean_ctor_get(x_81, 0);
|
||||
lean_inc(x_94);
|
||||
x_95 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_95);
|
||||
if (lean_is_exclusive(x_81)) {
|
||||
lean_ctor_release(x_81, 0);
|
||||
lean_ctor_release(x_81, 1);
|
||||
x_96 = x_81;
|
||||
lean_dec(x_75);
|
||||
x_92 = lean_ctor_get(x_79, 0);
|
||||
lean_inc(x_92);
|
||||
x_93 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_93);
|
||||
if (lean_is_exclusive(x_79)) {
|
||||
lean_ctor_release(x_79, 0);
|
||||
lean_ctor_release(x_79, 1);
|
||||
x_94 = x_79;
|
||||
} else {
|
||||
lean_dec_ref(x_81);
|
||||
x_96 = lean_box(0);
|
||||
lean_dec_ref(x_79);
|
||||
x_94 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_96)) {
|
||||
x_97 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_94)) {
|
||||
x_95 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_97 = x_96;
|
||||
x_95 = x_94;
|
||||
}
|
||||
lean_ctor_set(x_97, 0, x_94);
|
||||
lean_ctor_set(x_97, 1, x_95);
|
||||
return x_97;
|
||||
lean_ctor_set(x_95, 0, x_92);
|
||||
lean_ctor_set(x_95, 1, x_93);
|
||||
return x_95;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101;
|
||||
lean_dec(x_77);
|
||||
x_98 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_98);
|
||||
x_99 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_99);
|
||||
if (lean_is_exclusive(x_78)) {
|
||||
lean_ctor_release(x_78, 0);
|
||||
lean_ctor_release(x_78, 1);
|
||||
x_100 = x_78;
|
||||
lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99;
|
||||
lean_dec(x_75);
|
||||
x_96 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_96);
|
||||
x_97 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_97);
|
||||
if (lean_is_exclusive(x_76)) {
|
||||
lean_ctor_release(x_76, 0);
|
||||
lean_ctor_release(x_76, 1);
|
||||
x_98 = x_76;
|
||||
} else {
|
||||
lean_dec_ref(x_78);
|
||||
x_100 = lean_box(0);
|
||||
lean_dec_ref(x_76);
|
||||
x_98 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_100)) {
|
||||
x_101 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_98)) {
|
||||
x_99 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_101 = x_100;
|
||||
x_99 = x_98;
|
||||
}
|
||||
lean_ctor_set(x_101, 0, x_98);
|
||||
lean_ctor_set(x_101, 1, x_99);
|
||||
return x_101;
|
||||
lean_ctor_set(x_99, 0, x_96);
|
||||
lean_ctor_set(x_99, 1, x_97);
|
||||
return x_99;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105;
|
||||
lean_dec(x_65);
|
||||
lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103;
|
||||
lean_dec(x_69);
|
||||
lean_dec(x_68);
|
||||
lean_dec(x_67);
|
||||
lean_dec(x_66);
|
||||
lean_dec(x_64);
|
||||
x_100 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_100);
|
||||
x_101 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_101);
|
||||
if (lean_is_exclusive(x_72)) {
|
||||
lean_ctor_release(x_72, 0);
|
||||
lean_ctor_release(x_72, 1);
|
||||
x_102 = x_72;
|
||||
} else {
|
||||
lean_dec_ref(x_72);
|
||||
x_102 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_102)) {
|
||||
x_103 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_103 = x_102;
|
||||
}
|
||||
lean_ctor_set(x_103, 0, x_100);
|
||||
lean_ctor_set(x_103, 1, x_101);
|
||||
return x_103;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111;
|
||||
x_104 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_104);
|
||||
lean_dec(x_1);
|
||||
x_102 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_102);
|
||||
x_103 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_103);
|
||||
if (lean_is_exclusive(x_70)) {
|
||||
lean_ctor_release(x_70, 0);
|
||||
lean_ctor_release(x_70, 1);
|
||||
x_104 = x_70;
|
||||
} else {
|
||||
lean_dec_ref(x_70);
|
||||
x_104 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_104)) {
|
||||
x_105 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_105 = x_104;
|
||||
}
|
||||
lean_ctor_set(x_105, 0, x_102);
|
||||
lean_ctor_set(x_105, 1, x_103);
|
||||
return x_105;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113;
|
||||
x_106 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_106);
|
||||
lean_dec(x_1);
|
||||
x_107 = l_Lean_Name_toString___closed__1;
|
||||
x_108 = l_Lean_Name_toStringWithSep___main(x_107, x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_110 = lean_string_append(x_109, x_108);
|
||||
lean_dec(x_108);
|
||||
x_111 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_112 = lean_string_append(x_110, x_111);
|
||||
x_113 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_113, 0, x_112);
|
||||
lean_ctor_set(x_113, 1, x_61);
|
||||
return x_113;
|
||||
x_105 = l_Lean_Name_toString___closed__1;
|
||||
x_106 = l_Lean_Name_toStringWithSep___main(x_105, x_104);
|
||||
x_107 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_108 = lean_string_append(x_107, x_106);
|
||||
lean_dec(x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_110 = lean_string_append(x_108, x_109);
|
||||
x_111 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_111, 0, x_110);
|
||||
lean_ctor_set(x_111, 1, x_60);
|
||||
return x_111;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_114;
|
||||
uint8_t x_112;
|
||||
lean_dec(x_1);
|
||||
x_114 = !lean_is_exclusive(x_4);
|
||||
if (x_114 == 0)
|
||||
x_112 = !lean_is_exclusive(x_4);
|
||||
if (x_112 == 0)
|
||||
{
|
||||
return x_4;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_115; lean_object* x_116; lean_object* x_117;
|
||||
x_115 = lean_ctor_get(x_4, 0);
|
||||
x_116 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_116);
|
||||
lean_inc(x_115);
|
||||
lean_object* x_113; lean_object* x_114; lean_object* x_115;
|
||||
x_113 = lean_ctor_get(x_4, 0);
|
||||
x_114 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_114);
|
||||
lean_inc(x_113);
|
||||
lean_dec(x_4);
|
||||
x_117 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_117, 0, x_115);
|
||||
lean_ctor_set(x_117, 1, x_116);
|
||||
return x_117;
|
||||
x_115 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_115, 0, x_113);
|
||||
lean_ctor_set(x_115, 1, x_114);
|
||||
return x_115;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1924,26 +1929,38 @@ return x_117;
|
|||
lean_object* l_Lean_registerSimplePersistentEnvExtension___at_Lean_mkClosedTermCacheExtension___spec__19(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
|
||||
x_3 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_3);
|
||||
x_4 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_4);
|
||||
x_5 = lean_box(0);
|
||||
x_6 = l_Array_empty___closed__1;
|
||||
lean_inc(x_4);
|
||||
x_7 = lean_apply_1(x_4, x_6);
|
||||
x_8 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_8, 0, x_5);
|
||||
lean_ctor_set(x_8, 1, x_7);
|
||||
x_9 = lean_alloc_closure((void*)(l_EStateM_pure___rarg), 2, 1);
|
||||
lean_closure_set(x_9, 0, x_8);
|
||||
x_10 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1___boxed), 5, 2);
|
||||
lean_closure_set(x_10, 0, x_4);
|
||||
lean_closure_set(x_10, 1, x_5);
|
||||
lean_inc(x_1);
|
||||
x_4 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1), 3, 1);
|
||||
lean_closure_set(x_4, 0, x_1);
|
||||
lean_inc(x_1);
|
||||
x_5 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2), 3, 1);
|
||||
lean_closure_set(x_5, 0, x_1);
|
||||
x_6 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3), 2, 1);
|
||||
lean_closure_set(x_6, 0, x_1);
|
||||
x_7 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1;
|
||||
x_8 = lean_alloc_ctor(0, 5, 0);
|
||||
lean_ctor_set(x_8, 0, x_3);
|
||||
lean_ctor_set(x_8, 1, x_4);
|
||||
lean_ctor_set(x_8, 2, x_5);
|
||||
lean_ctor_set(x_8, 3, x_6);
|
||||
lean_ctor_set(x_8, 4, x_7);
|
||||
x_9 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_mkClosedTermCacheExtension___spec__20(x_8, x_2);
|
||||
return x_9;
|
||||
x_11 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2), 3, 1);
|
||||
lean_closure_set(x_11, 0, x_1);
|
||||
x_12 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3), 2, 1);
|
||||
lean_closure_set(x_12, 0, x_1);
|
||||
x_13 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1;
|
||||
x_14 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_14, 0, x_3);
|
||||
lean_ctor_set(x_14, 1, x_9);
|
||||
lean_ctor_set(x_14, 2, x_10);
|
||||
lean_ctor_set(x_14, 3, x_11);
|
||||
lean_ctor_set(x_14, 4, x_12);
|
||||
lean_ctor_set(x_14, 5, x_13);
|
||||
x_15 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_mkClosedTermCacheExtension___spec__20(x_14, x_2);
|
||||
return x_15;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_mkClosedTermCacheExtension___lambda__1(lean_object* x_1, lean_object* x_2) {
|
||||
|
|
@ -2150,12 +2167,12 @@ lean_ctor_set(x_3, 1, x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_closedTermCacheExt___elambda__4(lean_object* x_1) {
|
||||
lean_object* l_Lean_closedTermCacheExt___elambda__4(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_alloc_closure((void*)(l_Lean_closedTermCacheExt___elambda__4___rarg), 1, 0);
|
||||
return x_2;
|
||||
lean_object* x_3;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_closedTermCacheExt___elambda__4___rarg), 1, 0);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_closedTermCacheExt___closed__1() {
|
||||
|
|
@ -2214,7 +2231,7 @@ lean_object* _init_l_Lean_closedTermCacheExt___closed__5() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_closedTermCacheExt___elambda__4___boxed), 1, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_closedTermCacheExt___elambda__4___boxed), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -2290,13 +2307,14 @@ lean_dec(x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_closedTermCacheExt___elambda__4___boxed(lean_object* x_1) {
|
||||
lean_object* l_Lean_closedTermCacheExt___elambda__4___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_closedTermCacheExt___elambda__4(x_1);
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_closedTermCacheExt___elambda__4(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* lean_cache_closed_term_name(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -129,7 +129,7 @@ lean_object* l_Lean_IR_getDecl(lean_object*, lean_object*, lean_object*);
|
|||
size_t lean_usize_modn(size_t, lean_object*);
|
||||
extern lean_object* l___private_Init_Lean_Environment_5__envExtensionsRef;
|
||||
extern lean_object* l_Lean_registerEnvExtensionUnsafe___rarg___closed__1;
|
||||
lean_object* l_Lean_IR_declMapExt___elambda__4___boxed(lean_object*);
|
||||
lean_object* l_Lean_IR_declMapExt___elambda__4___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_mkDeclMapExtension___closed__3;
|
||||
size_t l_USize_mul(size_t, size_t);
|
||||
lean_object* l_Lean_registerEnvExtensionUnsafe___at_Lean_IR_mkDeclMapExtension___spec__15___closed__1;
|
||||
|
|
@ -139,7 +139,7 @@ lean_object* l_Lean_registerEnvExtensionUnsafe___at_Lean_IR_mkDeclMapExtension__
|
|||
lean_object* l_HashMapImp_contains___at_Lean_IR_containsDecl___spec__2___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_mkDeclMapExtension___closed__5;
|
||||
lean_object* l_Lean_IR_modifyEnv(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_declMapExt___elambda__4(lean_object*);
|
||||
lean_object* l_Lean_IR_declMapExt___elambda__4(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_mkDeclMapExtension___lambda__2___boxed(lean_object*);
|
||||
lean_object* l_Array_iterateMAux___main___at_Lean_IR_mkDeclMapExtension___spec__5(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PersistentEnvExtension_addEntry___rarg(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -155,11 +155,11 @@ lean_object* l_Lean_IR_addDecls(lean_object*, lean_object*, lean_object*);
|
|||
uint8_t l_Array_anyRangeMAux___main___at_Lean_IR_mkDeclMapExtension___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_tracePrefixOptionName;
|
||||
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
lean_object* l_Lean_IR_declMapExt___closed__2;
|
||||
lean_object* l_Lean_IR_Log_format(lean_object*);
|
||||
lean_object* l_Lean_IR_declMapExt___closed__1;
|
||||
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_HashMapImp_insert___at___private_Init_Lean_Compiler_IR_CompilerM_4__mkEntryArray___spec__2(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_logDecls(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
|
||||
|
|
@ -215,6 +215,7 @@ lean_object* l_Lean_IR_declMapExt;
|
|||
lean_object* lean_usize_to_nat(size_t);
|
||||
lean_object* l___private_Init_Lean_Compiler_IR_CompilerM_3__logMessageIfAux___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_registerEnvExtensionUnsafe___at_Lean_IR_mkDeclMapExtension___spec__15(lean_object*, lean_object*);
|
||||
lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_PersistentHashMap_findAux___main___at_Lean_IR_findEnvDecl___spec__3___boxed(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_HashMap_Inhabited___closed__1;
|
||||
lean_object* l_Lean_IR_tracePrefixOptionName___closed__2;
|
||||
|
|
@ -2213,443 +2214,447 @@ lean_dec(x_8);
|
|||
lean_dec(x_6);
|
||||
if (x_10 == 0)
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
lean_object* x_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_free_object(x_4);
|
||||
x_11 = lean_ctor_get(x_1, 1);
|
||||
x_11 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_11);
|
||||
x_12 = l_Array_empty___closed__1;
|
||||
lean_inc(x_11);
|
||||
x_13 = lean_apply_1(x_11, x_12);
|
||||
x_14 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_15 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_15, 0, x_13);
|
||||
lean_closure_set(x_15, 1, x_14);
|
||||
x_16 = l_Lean_registerEnvExtensionUnsafe___at_Lean_IR_mkDeclMapExtension___spec__15(x_15, x_7);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
x_12 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_12);
|
||||
x_13 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_13);
|
||||
x_14 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_14);
|
||||
x_15 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_15);
|
||||
x_16 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_1);
|
||||
x_17 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_18 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_18, 0, x_12);
|
||||
lean_closure_set(x_18, 1, x_17);
|
||||
x_19 = l_Lean_registerEnvExtensionUnsafe___at_Lean_IR_mkDeclMapExtension___spec__15(x_18, x_7);
|
||||
if (lean_obj_tag(x_19) == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_17 = lean_ctor_get(x_16, 0);
|
||||
lean_inc(x_17);
|
||||
x_18 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_16);
|
||||
x_19 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_19);
|
||||
x_20 = lean_ctor_get(x_1, 2);
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
|
||||
x_20 = lean_ctor_get(x_19, 0);
|
||||
lean_inc(x_20);
|
||||
x_21 = lean_ctor_get(x_1, 3);
|
||||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
x_22 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_1);
|
||||
x_23 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_23, 0, x_17);
|
||||
lean_ctor_set(x_23, 1, x_19);
|
||||
lean_ctor_set(x_23, 2, x_11);
|
||||
lean_ctor_set(x_23, 3, x_20);
|
||||
lean_ctor_set(x_23, 4, x_21);
|
||||
lean_ctor_set(x_23, 5, x_22);
|
||||
x_24 = lean_io_ref_get(x_3, x_18);
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
lean_dec(x_19);
|
||||
x_22 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_22, 0, x_20);
|
||||
lean_ctor_set(x_22, 1, x_11);
|
||||
lean_ctor_set(x_22, 2, x_13);
|
||||
lean_ctor_set(x_22, 3, x_14);
|
||||
lean_ctor_set(x_22, 4, x_15);
|
||||
lean_ctor_set(x_22, 5, x_16);
|
||||
x_23 = lean_io_ref_get(x_3, x_21);
|
||||
if (lean_obj_tag(x_23) == 0)
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27;
|
||||
x_25 = lean_ctor_get(x_24, 0);
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_24 = lean_ctor_get(x_23, 0);
|
||||
lean_inc(x_24);
|
||||
x_25 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_25);
|
||||
x_26 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_24);
|
||||
x_27 = lean_io_ref_reset(x_3, x_26);
|
||||
if (lean_obj_tag(x_27) == 0)
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
|
||||
x_28 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_27);
|
||||
x_29 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_23);
|
||||
x_30 = x_23;
|
||||
x_31 = lean_array_push(x_25, x_30);
|
||||
x_32 = lean_io_ref_set(x_3, x_31, x_28);
|
||||
if (lean_obj_tag(x_32) == 0)
|
||||
{
|
||||
uint8_t x_33;
|
||||
x_33 = !lean_is_exclusive(x_32);
|
||||
if (x_33 == 0)
|
||||
{
|
||||
lean_object* x_34;
|
||||
x_34 = lean_ctor_get(x_32, 0);
|
||||
lean_dec(x_34);
|
||||
lean_ctor_set(x_32, 0, x_23);
|
||||
return x_32;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36;
|
||||
x_35 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_35);
|
||||
lean_dec(x_32);
|
||||
x_36 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_23);
|
||||
lean_ctor_set(x_36, 1, x_35);
|
||||
return x_36;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_37;
|
||||
lean_dec(x_23);
|
||||
x_37 = !lean_is_exclusive(x_32);
|
||||
if (x_37 == 0)
|
||||
x_26 = lean_io_ref_reset(x_3, x_25);
|
||||
if (lean_obj_tag(x_26) == 0)
|
||||
{
|
||||
return x_32;
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
|
||||
x_27 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_27);
|
||||
lean_dec(x_26);
|
||||
x_28 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_22);
|
||||
x_29 = x_22;
|
||||
x_30 = lean_array_push(x_24, x_29);
|
||||
x_31 = lean_io_ref_set(x_3, x_30, x_27);
|
||||
if (lean_obj_tag(x_31) == 0)
|
||||
{
|
||||
uint8_t x_32;
|
||||
x_32 = !lean_is_exclusive(x_31);
|
||||
if (x_32 == 0)
|
||||
{
|
||||
lean_object* x_33;
|
||||
x_33 = lean_ctor_get(x_31, 0);
|
||||
lean_dec(x_33);
|
||||
lean_ctor_set(x_31, 0, x_22);
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_38; lean_object* x_39; lean_object* x_40;
|
||||
x_38 = lean_ctor_get(x_32, 0);
|
||||
x_39 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_39);
|
||||
lean_object* x_34; lean_object* x_35;
|
||||
x_34 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_34);
|
||||
lean_dec(x_31);
|
||||
x_35 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_35, 0, x_22);
|
||||
lean_ctor_set(x_35, 1, x_34);
|
||||
return x_35;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_36;
|
||||
lean_dec(x_22);
|
||||
x_36 = !lean_is_exclusive(x_31);
|
||||
if (x_36 == 0)
|
||||
{
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_37; lean_object* x_38; lean_object* x_39;
|
||||
x_37 = lean_ctor_get(x_31, 0);
|
||||
x_38 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_38);
|
||||
lean_dec(x_32);
|
||||
x_40 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_40, 0, x_38);
|
||||
lean_ctor_set(x_40, 1, x_39);
|
||||
return x_40;
|
||||
lean_inc(x_37);
|
||||
lean_dec(x_31);
|
||||
x_39 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_37);
|
||||
lean_ctor_set(x_39, 1, x_38);
|
||||
return x_39;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_41;
|
||||
lean_dec(x_25);
|
||||
lean_dec(x_23);
|
||||
x_41 = !lean_is_exclusive(x_27);
|
||||
if (x_41 == 0)
|
||||
{
|
||||
return x_27;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44;
|
||||
x_42 = lean_ctor_get(x_27, 0);
|
||||
x_43 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_43);
|
||||
lean_inc(x_42);
|
||||
lean_dec(x_27);
|
||||
x_44 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_44, 0, x_42);
|
||||
lean_ctor_set(x_44, 1, x_43);
|
||||
return x_44;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_45;
|
||||
lean_dec(x_23);
|
||||
x_45 = !lean_is_exclusive(x_24);
|
||||
if (x_45 == 0)
|
||||
{
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_46; lean_object* x_47; lean_object* x_48;
|
||||
x_46 = lean_ctor_get(x_24, 0);
|
||||
x_47 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_47);
|
||||
lean_inc(x_46);
|
||||
uint8_t x_40;
|
||||
lean_dec(x_24);
|
||||
x_48 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_48, 0, x_46);
|
||||
lean_ctor_set(x_48, 1, x_47);
|
||||
return x_48;
|
||||
lean_dec(x_22);
|
||||
x_40 = !lean_is_exclusive(x_26);
|
||||
if (x_40 == 0)
|
||||
{
|
||||
return x_26;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_41; lean_object* x_42; lean_object* x_43;
|
||||
x_41 = lean_ctor_get(x_26, 0);
|
||||
x_42 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_42);
|
||||
lean_inc(x_41);
|
||||
lean_dec(x_26);
|
||||
x_43 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_43, 0, x_41);
|
||||
lean_ctor_set(x_43, 1, x_42);
|
||||
return x_43;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_49;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_1);
|
||||
x_49 = !lean_is_exclusive(x_16);
|
||||
if (x_49 == 0)
|
||||
uint8_t x_44;
|
||||
lean_dec(x_22);
|
||||
x_44 = !lean_is_exclusive(x_23);
|
||||
if (x_44 == 0)
|
||||
{
|
||||
return x_16;
|
||||
return x_23;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_50; lean_object* x_51; lean_object* x_52;
|
||||
x_50 = lean_ctor_get(x_16, 0);
|
||||
x_51 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_51);
|
||||
lean_inc(x_50);
|
||||
lean_object* x_45; lean_object* x_46; lean_object* x_47;
|
||||
x_45 = lean_ctor_get(x_23, 0);
|
||||
x_46 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_46);
|
||||
lean_inc(x_45);
|
||||
lean_dec(x_23);
|
||||
x_47 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_47, 0, x_45);
|
||||
lean_ctor_set(x_47, 1, x_46);
|
||||
return x_47;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_48;
|
||||
lean_dec(x_16);
|
||||
x_52 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_52, 0, x_50);
|
||||
lean_ctor_set(x_52, 1, x_51);
|
||||
return x_52;
|
||||
lean_dec(x_15);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_11);
|
||||
x_48 = !lean_is_exclusive(x_19);
|
||||
if (x_48 == 0)
|
||||
{
|
||||
return x_19;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_49; lean_object* x_50; lean_object* x_51;
|
||||
x_49 = lean_ctor_get(x_19, 0);
|
||||
x_50 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_50);
|
||||
lean_inc(x_49);
|
||||
lean_dec(x_19);
|
||||
x_51 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_51, 0, x_49);
|
||||
lean_ctor_set(x_51, 1, x_50);
|
||||
return x_51;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
|
||||
x_53 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_53);
|
||||
lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
|
||||
x_52 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_1);
|
||||
x_54 = l_Lean_Name_toString___closed__1;
|
||||
x_55 = l_Lean_Name_toStringWithSep___main(x_54, x_53);
|
||||
x_56 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_57 = lean_string_append(x_56, x_55);
|
||||
lean_dec(x_55);
|
||||
x_58 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_59 = lean_string_append(x_57, x_58);
|
||||
x_53 = l_Lean_Name_toString___closed__1;
|
||||
x_54 = l_Lean_Name_toStringWithSep___main(x_53, x_52);
|
||||
x_55 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_56 = lean_string_append(x_55, x_54);
|
||||
lean_dec(x_54);
|
||||
x_57 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_58 = lean_string_append(x_56, x_57);
|
||||
lean_ctor_set_tag(x_4, 1);
|
||||
lean_ctor_set(x_4, 0, x_59);
|
||||
lean_ctor_set(x_4, 0, x_58);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64;
|
||||
x_60 = lean_ctor_get(x_4, 0);
|
||||
x_61 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_61);
|
||||
lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63;
|
||||
x_59 = lean_ctor_get(x_4, 0);
|
||||
x_60 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_60);
|
||||
lean_inc(x_59);
|
||||
lean_dec(x_4);
|
||||
x_62 = lean_array_get_size(x_60);
|
||||
x_63 = lean_unsigned_to_nat(0u);
|
||||
x_64 = l_Array_anyRangeMAux___main___at_Lean_IR_mkDeclMapExtension___spec__14(x_1, x_60, x_60, x_62, x_63);
|
||||
lean_dec(x_62);
|
||||
lean_dec(x_60);
|
||||
if (x_64 == 0)
|
||||
x_61 = lean_array_get_size(x_59);
|
||||
x_62 = lean_unsigned_to_nat(0u);
|
||||
x_63 = l_Array_anyRangeMAux___main___at_Lean_IR_mkDeclMapExtension___spec__14(x_1, x_59, x_59, x_61, x_62);
|
||||
lean_dec(x_61);
|
||||
lean_dec(x_59);
|
||||
if (x_63 == 0)
|
||||
{
|
||||
lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
|
||||
lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
|
||||
x_64 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_64);
|
||||
x_65 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_65);
|
||||
x_66 = l_Array_empty___closed__1;
|
||||
lean_inc(x_65);
|
||||
x_67 = lean_apply_1(x_65, x_66);
|
||||
x_68 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_69 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_69, 0, x_67);
|
||||
lean_closure_set(x_69, 1, x_68);
|
||||
x_70 = l_Lean_registerEnvExtensionUnsafe___at_Lean_IR_mkDeclMapExtension___spec__15(x_69, x_61);
|
||||
if (lean_obj_tag(x_70) == 0)
|
||||
x_66 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_66);
|
||||
x_67 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_67);
|
||||
x_68 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_68);
|
||||
x_69 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_69);
|
||||
lean_dec(x_1);
|
||||
x_70 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_71 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_71, 0, x_65);
|
||||
lean_closure_set(x_71, 1, x_70);
|
||||
x_72 = l_Lean_registerEnvExtensionUnsafe___at_Lean_IR_mkDeclMapExtension___spec__15(x_71, x_60);
|
||||
if (lean_obj_tag(x_72) == 0)
|
||||
{
|
||||
lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
|
||||
x_71 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_71);
|
||||
x_72 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_72);
|
||||
lean_dec(x_70);
|
||||
x_73 = lean_ctor_get(x_1, 0);
|
||||
lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
|
||||
x_73 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_73);
|
||||
x_74 = lean_ctor_get(x_1, 2);
|
||||
x_74 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_74);
|
||||
x_75 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_75);
|
||||
x_76 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_76);
|
||||
lean_dec(x_1);
|
||||
x_77 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_77, 0, x_71);
|
||||
lean_ctor_set(x_77, 1, x_73);
|
||||
lean_ctor_set(x_77, 2, x_65);
|
||||
lean_ctor_set(x_77, 3, x_74);
|
||||
lean_ctor_set(x_77, 4, x_75);
|
||||
lean_ctor_set(x_77, 5, x_76);
|
||||
x_78 = lean_io_ref_get(x_3, x_72);
|
||||
if (lean_obj_tag(x_78) == 0)
|
||||
lean_dec(x_72);
|
||||
x_75 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_75, 0, x_73);
|
||||
lean_ctor_set(x_75, 1, x_64);
|
||||
lean_ctor_set(x_75, 2, x_66);
|
||||
lean_ctor_set(x_75, 3, x_67);
|
||||
lean_ctor_set(x_75, 4, x_68);
|
||||
lean_ctor_set(x_75, 5, x_69);
|
||||
x_76 = lean_io_ref_get(x_3, x_74);
|
||||
if (lean_obj_tag(x_76) == 0)
|
||||
{
|
||||
lean_object* x_79; lean_object* x_80; lean_object* x_81;
|
||||
x_79 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_79);
|
||||
x_80 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_78);
|
||||
x_81 = lean_io_ref_reset(x_3, x_80);
|
||||
if (lean_obj_tag(x_81) == 0)
|
||||
{
|
||||
lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86;
|
||||
x_82 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_82);
|
||||
lean_dec(x_81);
|
||||
x_83 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_object* x_77; lean_object* x_78; lean_object* x_79;
|
||||
x_77 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_77);
|
||||
x_84 = x_77;
|
||||
x_85 = lean_array_push(x_79, x_84);
|
||||
x_86 = lean_io_ref_set(x_3, x_85, x_82);
|
||||
if (lean_obj_tag(x_86) == 0)
|
||||
x_78 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_78);
|
||||
lean_dec(x_76);
|
||||
x_79 = lean_io_ref_reset(x_3, x_78);
|
||||
if (lean_obj_tag(x_79) == 0)
|
||||
{
|
||||
lean_object* x_87; lean_object* x_88; lean_object* x_89;
|
||||
x_87 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_87);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_88 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_88 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_88)) {
|
||||
x_89 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_89 = x_88;
|
||||
}
|
||||
lean_ctor_set(x_89, 0, x_77);
|
||||
lean_ctor_set(x_89, 1, x_87);
|
||||
return x_89;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93;
|
||||
lean_dec(x_77);
|
||||
x_90 = lean_ctor_get(x_86, 0);
|
||||
lean_inc(x_90);
|
||||
x_91 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_91);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_92 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_92 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_92)) {
|
||||
x_93 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_93 = x_92;
|
||||
}
|
||||
lean_ctor_set(x_93, 0, x_90);
|
||||
lean_ctor_set(x_93, 1, x_91);
|
||||
return x_93;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97;
|
||||
lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
|
||||
x_80 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_79);
|
||||
x_81 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_75);
|
||||
x_82 = x_75;
|
||||
x_83 = lean_array_push(x_77, x_82);
|
||||
x_84 = lean_io_ref_set(x_3, x_83, x_80);
|
||||
if (lean_obj_tag(x_84) == 0)
|
||||
{
|
||||
lean_object* x_85; lean_object* x_86; lean_object* x_87;
|
||||
x_85 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_85);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_86 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_86 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_86)) {
|
||||
x_87 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_87 = x_86;
|
||||
}
|
||||
lean_ctor_set(x_87, 0, x_75);
|
||||
lean_ctor_set(x_87, 1, x_85);
|
||||
return x_87;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91;
|
||||
lean_dec(x_75);
|
||||
x_88 = lean_ctor_get(x_84, 0);
|
||||
lean_inc(x_88);
|
||||
x_89 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_89);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_90 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_90 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_90)) {
|
||||
x_91 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_91 = x_90;
|
||||
}
|
||||
lean_ctor_set(x_91, 0, x_88);
|
||||
lean_ctor_set(x_91, 1, x_89);
|
||||
return x_91;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95;
|
||||
lean_dec(x_77);
|
||||
x_94 = lean_ctor_get(x_81, 0);
|
||||
lean_inc(x_94);
|
||||
x_95 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_95);
|
||||
if (lean_is_exclusive(x_81)) {
|
||||
lean_ctor_release(x_81, 0);
|
||||
lean_ctor_release(x_81, 1);
|
||||
x_96 = x_81;
|
||||
lean_dec(x_75);
|
||||
x_92 = lean_ctor_get(x_79, 0);
|
||||
lean_inc(x_92);
|
||||
x_93 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_93);
|
||||
if (lean_is_exclusive(x_79)) {
|
||||
lean_ctor_release(x_79, 0);
|
||||
lean_ctor_release(x_79, 1);
|
||||
x_94 = x_79;
|
||||
} else {
|
||||
lean_dec_ref(x_81);
|
||||
x_96 = lean_box(0);
|
||||
lean_dec_ref(x_79);
|
||||
x_94 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_96)) {
|
||||
x_97 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_94)) {
|
||||
x_95 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_97 = x_96;
|
||||
x_95 = x_94;
|
||||
}
|
||||
lean_ctor_set(x_97, 0, x_94);
|
||||
lean_ctor_set(x_97, 1, x_95);
|
||||
return x_97;
|
||||
lean_ctor_set(x_95, 0, x_92);
|
||||
lean_ctor_set(x_95, 1, x_93);
|
||||
return x_95;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101;
|
||||
lean_dec(x_77);
|
||||
x_98 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_98);
|
||||
x_99 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_99);
|
||||
if (lean_is_exclusive(x_78)) {
|
||||
lean_ctor_release(x_78, 0);
|
||||
lean_ctor_release(x_78, 1);
|
||||
x_100 = x_78;
|
||||
lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99;
|
||||
lean_dec(x_75);
|
||||
x_96 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_96);
|
||||
x_97 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_97);
|
||||
if (lean_is_exclusive(x_76)) {
|
||||
lean_ctor_release(x_76, 0);
|
||||
lean_ctor_release(x_76, 1);
|
||||
x_98 = x_76;
|
||||
} else {
|
||||
lean_dec_ref(x_78);
|
||||
x_100 = lean_box(0);
|
||||
lean_dec_ref(x_76);
|
||||
x_98 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_100)) {
|
||||
x_101 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_98)) {
|
||||
x_99 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_101 = x_100;
|
||||
x_99 = x_98;
|
||||
}
|
||||
lean_ctor_set(x_101, 0, x_98);
|
||||
lean_ctor_set(x_101, 1, x_99);
|
||||
return x_101;
|
||||
lean_ctor_set(x_99, 0, x_96);
|
||||
lean_ctor_set(x_99, 1, x_97);
|
||||
return x_99;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105;
|
||||
lean_dec(x_65);
|
||||
lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103;
|
||||
lean_dec(x_69);
|
||||
lean_dec(x_68);
|
||||
lean_dec(x_67);
|
||||
lean_dec(x_66);
|
||||
lean_dec(x_64);
|
||||
x_100 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_100);
|
||||
x_101 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_101);
|
||||
if (lean_is_exclusive(x_72)) {
|
||||
lean_ctor_release(x_72, 0);
|
||||
lean_ctor_release(x_72, 1);
|
||||
x_102 = x_72;
|
||||
} else {
|
||||
lean_dec_ref(x_72);
|
||||
x_102 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_102)) {
|
||||
x_103 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_103 = x_102;
|
||||
}
|
||||
lean_ctor_set(x_103, 0, x_100);
|
||||
lean_ctor_set(x_103, 1, x_101);
|
||||
return x_103;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111;
|
||||
x_104 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_104);
|
||||
lean_dec(x_1);
|
||||
x_102 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_102);
|
||||
x_103 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_103);
|
||||
if (lean_is_exclusive(x_70)) {
|
||||
lean_ctor_release(x_70, 0);
|
||||
lean_ctor_release(x_70, 1);
|
||||
x_104 = x_70;
|
||||
} else {
|
||||
lean_dec_ref(x_70);
|
||||
x_104 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_104)) {
|
||||
x_105 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_105 = x_104;
|
||||
}
|
||||
lean_ctor_set(x_105, 0, x_102);
|
||||
lean_ctor_set(x_105, 1, x_103);
|
||||
return x_105;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113;
|
||||
x_106 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_106);
|
||||
lean_dec(x_1);
|
||||
x_107 = l_Lean_Name_toString___closed__1;
|
||||
x_108 = l_Lean_Name_toStringWithSep___main(x_107, x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_110 = lean_string_append(x_109, x_108);
|
||||
lean_dec(x_108);
|
||||
x_111 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_112 = lean_string_append(x_110, x_111);
|
||||
x_113 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_113, 0, x_112);
|
||||
lean_ctor_set(x_113, 1, x_61);
|
||||
return x_113;
|
||||
x_105 = l_Lean_Name_toString___closed__1;
|
||||
x_106 = l_Lean_Name_toStringWithSep___main(x_105, x_104);
|
||||
x_107 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_108 = lean_string_append(x_107, x_106);
|
||||
lean_dec(x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_110 = lean_string_append(x_108, x_109);
|
||||
x_111 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_111, 0, x_110);
|
||||
lean_ctor_set(x_111, 1, x_60);
|
||||
return x_111;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_114;
|
||||
uint8_t x_112;
|
||||
lean_dec(x_1);
|
||||
x_114 = !lean_is_exclusive(x_4);
|
||||
if (x_114 == 0)
|
||||
x_112 = !lean_is_exclusive(x_4);
|
||||
if (x_112 == 0)
|
||||
{
|
||||
return x_4;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_115; lean_object* x_116; lean_object* x_117;
|
||||
x_115 = lean_ctor_get(x_4, 0);
|
||||
x_116 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_116);
|
||||
lean_inc(x_115);
|
||||
lean_object* x_113; lean_object* x_114; lean_object* x_115;
|
||||
x_113 = lean_ctor_get(x_4, 0);
|
||||
x_114 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_114);
|
||||
lean_inc(x_113);
|
||||
lean_dec(x_4);
|
||||
x_117 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_117, 0, x_115);
|
||||
lean_ctor_set(x_117, 1, x_116);
|
||||
return x_117;
|
||||
x_115 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_115, 0, x_113);
|
||||
lean_ctor_set(x_115, 1, x_114);
|
||||
return x_115;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2657,26 +2662,38 @@ return x_117;
|
|||
lean_object* l_Lean_registerSimplePersistentEnvExtension___at_Lean_IR_mkDeclMapExtension___spec__12(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
|
||||
x_3 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_3);
|
||||
x_4 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_4);
|
||||
x_5 = lean_box(0);
|
||||
x_6 = l_Array_empty___closed__1;
|
||||
lean_inc(x_4);
|
||||
x_7 = lean_apply_1(x_4, x_6);
|
||||
x_8 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_8, 0, x_5);
|
||||
lean_ctor_set(x_8, 1, x_7);
|
||||
x_9 = lean_alloc_closure((void*)(l_EStateM_pure___rarg), 2, 1);
|
||||
lean_closure_set(x_9, 0, x_8);
|
||||
x_10 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1___boxed), 5, 2);
|
||||
lean_closure_set(x_10, 0, x_4);
|
||||
lean_closure_set(x_10, 1, x_5);
|
||||
lean_inc(x_1);
|
||||
x_4 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1), 3, 1);
|
||||
lean_closure_set(x_4, 0, x_1);
|
||||
lean_inc(x_1);
|
||||
x_5 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2), 3, 1);
|
||||
lean_closure_set(x_5, 0, x_1);
|
||||
x_6 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3), 2, 1);
|
||||
lean_closure_set(x_6, 0, x_1);
|
||||
x_7 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1;
|
||||
x_8 = lean_alloc_ctor(0, 5, 0);
|
||||
lean_ctor_set(x_8, 0, x_3);
|
||||
lean_ctor_set(x_8, 1, x_4);
|
||||
lean_ctor_set(x_8, 2, x_5);
|
||||
lean_ctor_set(x_8, 3, x_6);
|
||||
lean_ctor_set(x_8, 4, x_7);
|
||||
x_9 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_IR_mkDeclMapExtension___spec__13(x_8, x_2);
|
||||
return x_9;
|
||||
x_11 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2), 3, 1);
|
||||
lean_closure_set(x_11, 0, x_1);
|
||||
x_12 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3), 2, 1);
|
||||
lean_closure_set(x_12, 0, x_1);
|
||||
x_13 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1;
|
||||
x_14 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_14, 0, x_3);
|
||||
lean_ctor_set(x_14, 1, x_9);
|
||||
lean_ctor_set(x_14, 2, x_10);
|
||||
lean_ctor_set(x_14, 3, x_11);
|
||||
lean_ctor_set(x_14, 4, x_12);
|
||||
lean_ctor_set(x_14, 5, x_13);
|
||||
x_15 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_IR_mkDeclMapExtension___spec__13(x_14, x_2);
|
||||
return x_15;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_IR_mkDeclMapExtension___lambda__1(lean_object* x_1, lean_object* x_2) {
|
||||
|
|
@ -2876,12 +2893,12 @@ lean_ctor_set(x_3, 1, x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_IR_declMapExt___elambda__4(lean_object* x_1) {
|
||||
lean_object* l_Lean_IR_declMapExt___elambda__4(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_alloc_closure((void*)(l_Lean_IR_declMapExt___elambda__4___rarg), 1, 0);
|
||||
return x_2;
|
||||
lean_object* x_3;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_IR_declMapExt___elambda__4___rarg), 1, 0);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_IR_declMapExt___closed__1() {
|
||||
|
|
@ -2902,7 +2919,7 @@ lean_object* _init_l_Lean_IR_declMapExt___closed__2() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_IR_declMapExt___elambda__4___boxed), 1, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_IR_declMapExt___elambda__4___boxed), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -2978,13 +2995,14 @@ lean_dec(x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_IR_declMapExt___elambda__4___boxed(lean_object* x_1) {
|
||||
lean_object* l_Lean_IR_declMapExt___elambda__4___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_IR_declMapExt___elambda__4(x_1);
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_IR_declMapExt___elambda__4(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_PersistentHashMap_findAtAux___main___at_Lean_IR_findEnvDecl___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
|
|
|
|||
|
|
@ -192,7 +192,7 @@ lean_object* l_Lean_IR_UnreachableBranches_projValue___boxed(lean_object*, lean_
|
|||
size_t lean_usize_of_nat(lean_object*);
|
||||
uint8_t l_Lean_IR_UnreachableBranches_containsCtor(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_UnreachableBranches_Value_addChoice(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_UnreachableBranches_functionSummariesExt___elambda__4___boxed(lean_object*);
|
||||
lean_object* l_Lean_IR_UnreachableBranches_functionSummariesExt___elambda__4___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_UnreachableBranches_Value_HasBeq___closed__1;
|
||||
lean_object* l_Lean_PersistentEnvExtension_addEntry___rarg(lean_object*, lean_object*, lean_object*);
|
||||
size_t l_USize_land(size_t, size_t);
|
||||
|
|
@ -212,7 +212,6 @@ lean_object* l_Array_umapMAux___main___at_Lean_IR_UnreachableBranches_interpExpr
|
|||
lean_object* l_List_elem___main___at_Lean_IR_UnreachableBranches_Value_truncate___main___spec__3___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Array_iterateMAux___main___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__17___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_UnreachableBranches_Value_Lean_HasFormat___closed__1;
|
||||
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Format_paren___closed__1;
|
||||
lean_object* l_AssocList_replace___main___at_Lean_IR_UnreachableBranches_updateVarAssignment___spec__7(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
|
|
@ -220,6 +219,7 @@ lean_object* l_Lean_IR_UnreachableBranches_updateVarAssignment___closed__1;
|
|||
lean_object* l_mkHashMap___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__13(lean_object*);
|
||||
lean_object* l_HashMapImp_moveEntries___main___at_Lean_IR_UnreachableBranches_updateVarAssignment___spec__5(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_elimDeadBranches(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_UnreachableBranches_Value_beq___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_FnBody_setBody(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_registerEnvExtensionUnsafe___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__22___closed__1;
|
||||
|
|
@ -295,7 +295,7 @@ lean_object* l_Lean_IR_UnreachableBranches_Value_addChoice___main___closed__4;
|
|||
lean_object* l_Lean_IR_UnreachableBranches_Value_Lean_HasFormat;
|
||||
lean_object* l_Array_findIdxAux___main___at_Lean_IR_UnreachableBranches_interpExpr___spec__2___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_PersistentArray_get_x21___at_Lean_IR_UnreachableBranches_interpExpr___spec__3(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_UnreachableBranches_functionSummariesExt___elambda__4(lean_object*);
|
||||
lean_object* l_Lean_IR_UnreachableBranches_functionSummariesExt___elambda__4(lean_object*, lean_object*);
|
||||
lean_object* l_AssocList_find___main___at_Lean_IR_UnreachableBranches_findVarValue___spec__2___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Name_toStringWithSep___main(lean_object*, lean_object*);
|
||||
|
|
@ -304,6 +304,7 @@ lean_object* lean_usize_to_nat(size_t);
|
|||
extern lean_object* l_Lean_regNamespacesExtension___closed__4;
|
||||
lean_object* l_Lean_IR_UnreachableBranches_functionSummariesExt___closed__4;
|
||||
lean_object* l_Lean_IR_FnBody_body(lean_object*);
|
||||
lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*);
|
||||
extern lean_object* l_HashMap_Inhabited___closed__1;
|
||||
lean_object* l_Lean_IR_UnreachableBranches_Value_truncate___main(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_SMap_empty___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__12___closed__2;
|
||||
|
|
@ -3225,443 +3226,447 @@ lean_dec(x_8);
|
|||
lean_dec(x_6);
|
||||
if (x_10 == 0)
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
lean_object* x_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_free_object(x_4);
|
||||
x_11 = lean_ctor_get(x_1, 1);
|
||||
x_11 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_11);
|
||||
x_12 = l_Array_empty___closed__1;
|
||||
lean_inc(x_11);
|
||||
x_13 = lean_apply_1(x_11, x_12);
|
||||
x_14 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_15 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_15, 0, x_13);
|
||||
lean_closure_set(x_15, 1, x_14);
|
||||
x_16 = l_Lean_registerEnvExtensionUnsafe___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__22(x_15, x_7);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
x_12 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_12);
|
||||
x_13 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_13);
|
||||
x_14 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_14);
|
||||
x_15 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_15);
|
||||
x_16 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_1);
|
||||
x_17 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_18 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_18, 0, x_12);
|
||||
lean_closure_set(x_18, 1, x_17);
|
||||
x_19 = l_Lean_registerEnvExtensionUnsafe___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__22(x_18, x_7);
|
||||
if (lean_obj_tag(x_19) == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_17 = lean_ctor_get(x_16, 0);
|
||||
lean_inc(x_17);
|
||||
x_18 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_16);
|
||||
x_19 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_19);
|
||||
x_20 = lean_ctor_get(x_1, 2);
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
|
||||
x_20 = lean_ctor_get(x_19, 0);
|
||||
lean_inc(x_20);
|
||||
x_21 = lean_ctor_get(x_1, 3);
|
||||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
x_22 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_1);
|
||||
x_23 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_23, 0, x_17);
|
||||
lean_ctor_set(x_23, 1, x_19);
|
||||
lean_ctor_set(x_23, 2, x_11);
|
||||
lean_ctor_set(x_23, 3, x_20);
|
||||
lean_ctor_set(x_23, 4, x_21);
|
||||
lean_ctor_set(x_23, 5, x_22);
|
||||
x_24 = lean_io_ref_get(x_3, x_18);
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
lean_dec(x_19);
|
||||
x_22 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_22, 0, x_20);
|
||||
lean_ctor_set(x_22, 1, x_11);
|
||||
lean_ctor_set(x_22, 2, x_13);
|
||||
lean_ctor_set(x_22, 3, x_14);
|
||||
lean_ctor_set(x_22, 4, x_15);
|
||||
lean_ctor_set(x_22, 5, x_16);
|
||||
x_23 = lean_io_ref_get(x_3, x_21);
|
||||
if (lean_obj_tag(x_23) == 0)
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27;
|
||||
x_25 = lean_ctor_get(x_24, 0);
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_24 = lean_ctor_get(x_23, 0);
|
||||
lean_inc(x_24);
|
||||
x_25 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_25);
|
||||
x_26 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_24);
|
||||
x_27 = lean_io_ref_reset(x_3, x_26);
|
||||
if (lean_obj_tag(x_27) == 0)
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
|
||||
x_28 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_27);
|
||||
x_29 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_23);
|
||||
x_30 = x_23;
|
||||
x_31 = lean_array_push(x_25, x_30);
|
||||
x_32 = lean_io_ref_set(x_3, x_31, x_28);
|
||||
if (lean_obj_tag(x_32) == 0)
|
||||
{
|
||||
uint8_t x_33;
|
||||
x_33 = !lean_is_exclusive(x_32);
|
||||
if (x_33 == 0)
|
||||
{
|
||||
lean_object* x_34;
|
||||
x_34 = lean_ctor_get(x_32, 0);
|
||||
lean_dec(x_34);
|
||||
lean_ctor_set(x_32, 0, x_23);
|
||||
return x_32;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36;
|
||||
x_35 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_35);
|
||||
lean_dec(x_32);
|
||||
x_36 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_23);
|
||||
lean_ctor_set(x_36, 1, x_35);
|
||||
return x_36;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_37;
|
||||
lean_dec(x_23);
|
||||
x_37 = !lean_is_exclusive(x_32);
|
||||
if (x_37 == 0)
|
||||
x_26 = lean_io_ref_reset(x_3, x_25);
|
||||
if (lean_obj_tag(x_26) == 0)
|
||||
{
|
||||
return x_32;
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
|
||||
x_27 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_27);
|
||||
lean_dec(x_26);
|
||||
x_28 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_22);
|
||||
x_29 = x_22;
|
||||
x_30 = lean_array_push(x_24, x_29);
|
||||
x_31 = lean_io_ref_set(x_3, x_30, x_27);
|
||||
if (lean_obj_tag(x_31) == 0)
|
||||
{
|
||||
uint8_t x_32;
|
||||
x_32 = !lean_is_exclusive(x_31);
|
||||
if (x_32 == 0)
|
||||
{
|
||||
lean_object* x_33;
|
||||
x_33 = lean_ctor_get(x_31, 0);
|
||||
lean_dec(x_33);
|
||||
lean_ctor_set(x_31, 0, x_22);
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_38; lean_object* x_39; lean_object* x_40;
|
||||
x_38 = lean_ctor_get(x_32, 0);
|
||||
x_39 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_39);
|
||||
lean_object* x_34; lean_object* x_35;
|
||||
x_34 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_34);
|
||||
lean_dec(x_31);
|
||||
x_35 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_35, 0, x_22);
|
||||
lean_ctor_set(x_35, 1, x_34);
|
||||
return x_35;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_36;
|
||||
lean_dec(x_22);
|
||||
x_36 = !lean_is_exclusive(x_31);
|
||||
if (x_36 == 0)
|
||||
{
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_37; lean_object* x_38; lean_object* x_39;
|
||||
x_37 = lean_ctor_get(x_31, 0);
|
||||
x_38 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_38);
|
||||
lean_dec(x_32);
|
||||
x_40 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_40, 0, x_38);
|
||||
lean_ctor_set(x_40, 1, x_39);
|
||||
return x_40;
|
||||
lean_inc(x_37);
|
||||
lean_dec(x_31);
|
||||
x_39 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_37);
|
||||
lean_ctor_set(x_39, 1, x_38);
|
||||
return x_39;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_41;
|
||||
lean_dec(x_25);
|
||||
lean_dec(x_23);
|
||||
x_41 = !lean_is_exclusive(x_27);
|
||||
if (x_41 == 0)
|
||||
{
|
||||
return x_27;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44;
|
||||
x_42 = lean_ctor_get(x_27, 0);
|
||||
x_43 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_43);
|
||||
lean_inc(x_42);
|
||||
lean_dec(x_27);
|
||||
x_44 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_44, 0, x_42);
|
||||
lean_ctor_set(x_44, 1, x_43);
|
||||
return x_44;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_45;
|
||||
lean_dec(x_23);
|
||||
x_45 = !lean_is_exclusive(x_24);
|
||||
if (x_45 == 0)
|
||||
{
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_46; lean_object* x_47; lean_object* x_48;
|
||||
x_46 = lean_ctor_get(x_24, 0);
|
||||
x_47 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_47);
|
||||
lean_inc(x_46);
|
||||
uint8_t x_40;
|
||||
lean_dec(x_24);
|
||||
x_48 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_48, 0, x_46);
|
||||
lean_ctor_set(x_48, 1, x_47);
|
||||
return x_48;
|
||||
lean_dec(x_22);
|
||||
x_40 = !lean_is_exclusive(x_26);
|
||||
if (x_40 == 0)
|
||||
{
|
||||
return x_26;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_41; lean_object* x_42; lean_object* x_43;
|
||||
x_41 = lean_ctor_get(x_26, 0);
|
||||
x_42 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_42);
|
||||
lean_inc(x_41);
|
||||
lean_dec(x_26);
|
||||
x_43 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_43, 0, x_41);
|
||||
lean_ctor_set(x_43, 1, x_42);
|
||||
return x_43;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_49;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_1);
|
||||
x_49 = !lean_is_exclusive(x_16);
|
||||
if (x_49 == 0)
|
||||
uint8_t x_44;
|
||||
lean_dec(x_22);
|
||||
x_44 = !lean_is_exclusive(x_23);
|
||||
if (x_44 == 0)
|
||||
{
|
||||
return x_16;
|
||||
return x_23;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_50; lean_object* x_51; lean_object* x_52;
|
||||
x_50 = lean_ctor_get(x_16, 0);
|
||||
x_51 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_51);
|
||||
lean_inc(x_50);
|
||||
lean_object* x_45; lean_object* x_46; lean_object* x_47;
|
||||
x_45 = lean_ctor_get(x_23, 0);
|
||||
x_46 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_46);
|
||||
lean_inc(x_45);
|
||||
lean_dec(x_23);
|
||||
x_47 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_47, 0, x_45);
|
||||
lean_ctor_set(x_47, 1, x_46);
|
||||
return x_47;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_48;
|
||||
lean_dec(x_16);
|
||||
x_52 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_52, 0, x_50);
|
||||
lean_ctor_set(x_52, 1, x_51);
|
||||
return x_52;
|
||||
lean_dec(x_15);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_11);
|
||||
x_48 = !lean_is_exclusive(x_19);
|
||||
if (x_48 == 0)
|
||||
{
|
||||
return x_19;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_49; lean_object* x_50; lean_object* x_51;
|
||||
x_49 = lean_ctor_get(x_19, 0);
|
||||
x_50 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_50);
|
||||
lean_inc(x_49);
|
||||
lean_dec(x_19);
|
||||
x_51 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_51, 0, x_49);
|
||||
lean_ctor_set(x_51, 1, x_50);
|
||||
return x_51;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
|
||||
x_53 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_53);
|
||||
lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
|
||||
x_52 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_1);
|
||||
x_54 = l_Lean_Name_toString___closed__1;
|
||||
x_55 = l_Lean_Name_toStringWithSep___main(x_54, x_53);
|
||||
x_56 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_57 = lean_string_append(x_56, x_55);
|
||||
lean_dec(x_55);
|
||||
x_58 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_59 = lean_string_append(x_57, x_58);
|
||||
x_53 = l_Lean_Name_toString___closed__1;
|
||||
x_54 = l_Lean_Name_toStringWithSep___main(x_53, x_52);
|
||||
x_55 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_56 = lean_string_append(x_55, x_54);
|
||||
lean_dec(x_54);
|
||||
x_57 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_58 = lean_string_append(x_56, x_57);
|
||||
lean_ctor_set_tag(x_4, 1);
|
||||
lean_ctor_set(x_4, 0, x_59);
|
||||
lean_ctor_set(x_4, 0, x_58);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64;
|
||||
x_60 = lean_ctor_get(x_4, 0);
|
||||
x_61 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_61);
|
||||
lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63;
|
||||
x_59 = lean_ctor_get(x_4, 0);
|
||||
x_60 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_60);
|
||||
lean_inc(x_59);
|
||||
lean_dec(x_4);
|
||||
x_62 = lean_array_get_size(x_60);
|
||||
x_63 = lean_unsigned_to_nat(0u);
|
||||
x_64 = l_Array_anyRangeMAux___main___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__21(x_1, x_60, x_60, x_62, x_63);
|
||||
lean_dec(x_62);
|
||||
lean_dec(x_60);
|
||||
if (x_64 == 0)
|
||||
x_61 = lean_array_get_size(x_59);
|
||||
x_62 = lean_unsigned_to_nat(0u);
|
||||
x_63 = l_Array_anyRangeMAux___main___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__21(x_1, x_59, x_59, x_61, x_62);
|
||||
lean_dec(x_61);
|
||||
lean_dec(x_59);
|
||||
if (x_63 == 0)
|
||||
{
|
||||
lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
|
||||
lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
|
||||
x_64 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_64);
|
||||
x_65 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_65);
|
||||
x_66 = l_Array_empty___closed__1;
|
||||
lean_inc(x_65);
|
||||
x_67 = lean_apply_1(x_65, x_66);
|
||||
x_68 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_69 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_69, 0, x_67);
|
||||
lean_closure_set(x_69, 1, x_68);
|
||||
x_70 = l_Lean_registerEnvExtensionUnsafe___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__22(x_69, x_61);
|
||||
if (lean_obj_tag(x_70) == 0)
|
||||
x_66 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_66);
|
||||
x_67 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_67);
|
||||
x_68 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_68);
|
||||
x_69 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_69);
|
||||
lean_dec(x_1);
|
||||
x_70 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_71 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_71, 0, x_65);
|
||||
lean_closure_set(x_71, 1, x_70);
|
||||
x_72 = l_Lean_registerEnvExtensionUnsafe___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__22(x_71, x_60);
|
||||
if (lean_obj_tag(x_72) == 0)
|
||||
{
|
||||
lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
|
||||
x_71 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_71);
|
||||
x_72 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_72);
|
||||
lean_dec(x_70);
|
||||
x_73 = lean_ctor_get(x_1, 0);
|
||||
lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
|
||||
x_73 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_73);
|
||||
x_74 = lean_ctor_get(x_1, 2);
|
||||
x_74 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_74);
|
||||
x_75 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_75);
|
||||
x_76 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_76);
|
||||
lean_dec(x_1);
|
||||
x_77 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_77, 0, x_71);
|
||||
lean_ctor_set(x_77, 1, x_73);
|
||||
lean_ctor_set(x_77, 2, x_65);
|
||||
lean_ctor_set(x_77, 3, x_74);
|
||||
lean_ctor_set(x_77, 4, x_75);
|
||||
lean_ctor_set(x_77, 5, x_76);
|
||||
x_78 = lean_io_ref_get(x_3, x_72);
|
||||
if (lean_obj_tag(x_78) == 0)
|
||||
lean_dec(x_72);
|
||||
x_75 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_75, 0, x_73);
|
||||
lean_ctor_set(x_75, 1, x_64);
|
||||
lean_ctor_set(x_75, 2, x_66);
|
||||
lean_ctor_set(x_75, 3, x_67);
|
||||
lean_ctor_set(x_75, 4, x_68);
|
||||
lean_ctor_set(x_75, 5, x_69);
|
||||
x_76 = lean_io_ref_get(x_3, x_74);
|
||||
if (lean_obj_tag(x_76) == 0)
|
||||
{
|
||||
lean_object* x_79; lean_object* x_80; lean_object* x_81;
|
||||
x_79 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_79);
|
||||
x_80 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_78);
|
||||
x_81 = lean_io_ref_reset(x_3, x_80);
|
||||
if (lean_obj_tag(x_81) == 0)
|
||||
{
|
||||
lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86;
|
||||
x_82 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_82);
|
||||
lean_dec(x_81);
|
||||
x_83 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_object* x_77; lean_object* x_78; lean_object* x_79;
|
||||
x_77 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_77);
|
||||
x_84 = x_77;
|
||||
x_85 = lean_array_push(x_79, x_84);
|
||||
x_86 = lean_io_ref_set(x_3, x_85, x_82);
|
||||
if (lean_obj_tag(x_86) == 0)
|
||||
x_78 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_78);
|
||||
lean_dec(x_76);
|
||||
x_79 = lean_io_ref_reset(x_3, x_78);
|
||||
if (lean_obj_tag(x_79) == 0)
|
||||
{
|
||||
lean_object* x_87; lean_object* x_88; lean_object* x_89;
|
||||
x_87 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_87);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_88 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_88 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_88)) {
|
||||
x_89 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_89 = x_88;
|
||||
}
|
||||
lean_ctor_set(x_89, 0, x_77);
|
||||
lean_ctor_set(x_89, 1, x_87);
|
||||
return x_89;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93;
|
||||
lean_dec(x_77);
|
||||
x_90 = lean_ctor_get(x_86, 0);
|
||||
lean_inc(x_90);
|
||||
x_91 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_91);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_92 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_92 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_92)) {
|
||||
x_93 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_93 = x_92;
|
||||
}
|
||||
lean_ctor_set(x_93, 0, x_90);
|
||||
lean_ctor_set(x_93, 1, x_91);
|
||||
return x_93;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97;
|
||||
lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
|
||||
x_80 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_79);
|
||||
x_81 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_75);
|
||||
x_82 = x_75;
|
||||
x_83 = lean_array_push(x_77, x_82);
|
||||
x_84 = lean_io_ref_set(x_3, x_83, x_80);
|
||||
if (lean_obj_tag(x_84) == 0)
|
||||
{
|
||||
lean_object* x_85; lean_object* x_86; lean_object* x_87;
|
||||
x_85 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_85);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_86 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_86 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_86)) {
|
||||
x_87 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_87 = x_86;
|
||||
}
|
||||
lean_ctor_set(x_87, 0, x_75);
|
||||
lean_ctor_set(x_87, 1, x_85);
|
||||
return x_87;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91;
|
||||
lean_dec(x_75);
|
||||
x_88 = lean_ctor_get(x_84, 0);
|
||||
lean_inc(x_88);
|
||||
x_89 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_89);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_90 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_90 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_90)) {
|
||||
x_91 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_91 = x_90;
|
||||
}
|
||||
lean_ctor_set(x_91, 0, x_88);
|
||||
lean_ctor_set(x_91, 1, x_89);
|
||||
return x_91;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95;
|
||||
lean_dec(x_77);
|
||||
x_94 = lean_ctor_get(x_81, 0);
|
||||
lean_inc(x_94);
|
||||
x_95 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_95);
|
||||
if (lean_is_exclusive(x_81)) {
|
||||
lean_ctor_release(x_81, 0);
|
||||
lean_ctor_release(x_81, 1);
|
||||
x_96 = x_81;
|
||||
lean_dec(x_75);
|
||||
x_92 = lean_ctor_get(x_79, 0);
|
||||
lean_inc(x_92);
|
||||
x_93 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_93);
|
||||
if (lean_is_exclusive(x_79)) {
|
||||
lean_ctor_release(x_79, 0);
|
||||
lean_ctor_release(x_79, 1);
|
||||
x_94 = x_79;
|
||||
} else {
|
||||
lean_dec_ref(x_81);
|
||||
x_96 = lean_box(0);
|
||||
lean_dec_ref(x_79);
|
||||
x_94 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_96)) {
|
||||
x_97 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_94)) {
|
||||
x_95 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_97 = x_96;
|
||||
x_95 = x_94;
|
||||
}
|
||||
lean_ctor_set(x_97, 0, x_94);
|
||||
lean_ctor_set(x_97, 1, x_95);
|
||||
return x_97;
|
||||
lean_ctor_set(x_95, 0, x_92);
|
||||
lean_ctor_set(x_95, 1, x_93);
|
||||
return x_95;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101;
|
||||
lean_dec(x_77);
|
||||
x_98 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_98);
|
||||
x_99 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_99);
|
||||
if (lean_is_exclusive(x_78)) {
|
||||
lean_ctor_release(x_78, 0);
|
||||
lean_ctor_release(x_78, 1);
|
||||
x_100 = x_78;
|
||||
lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99;
|
||||
lean_dec(x_75);
|
||||
x_96 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_96);
|
||||
x_97 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_97);
|
||||
if (lean_is_exclusive(x_76)) {
|
||||
lean_ctor_release(x_76, 0);
|
||||
lean_ctor_release(x_76, 1);
|
||||
x_98 = x_76;
|
||||
} else {
|
||||
lean_dec_ref(x_78);
|
||||
x_100 = lean_box(0);
|
||||
lean_dec_ref(x_76);
|
||||
x_98 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_100)) {
|
||||
x_101 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_98)) {
|
||||
x_99 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_101 = x_100;
|
||||
x_99 = x_98;
|
||||
}
|
||||
lean_ctor_set(x_101, 0, x_98);
|
||||
lean_ctor_set(x_101, 1, x_99);
|
||||
return x_101;
|
||||
lean_ctor_set(x_99, 0, x_96);
|
||||
lean_ctor_set(x_99, 1, x_97);
|
||||
return x_99;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105;
|
||||
lean_dec(x_65);
|
||||
lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103;
|
||||
lean_dec(x_69);
|
||||
lean_dec(x_68);
|
||||
lean_dec(x_67);
|
||||
lean_dec(x_66);
|
||||
lean_dec(x_64);
|
||||
x_100 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_100);
|
||||
x_101 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_101);
|
||||
if (lean_is_exclusive(x_72)) {
|
||||
lean_ctor_release(x_72, 0);
|
||||
lean_ctor_release(x_72, 1);
|
||||
x_102 = x_72;
|
||||
} else {
|
||||
lean_dec_ref(x_72);
|
||||
x_102 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_102)) {
|
||||
x_103 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_103 = x_102;
|
||||
}
|
||||
lean_ctor_set(x_103, 0, x_100);
|
||||
lean_ctor_set(x_103, 1, x_101);
|
||||
return x_103;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111;
|
||||
x_104 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_104);
|
||||
lean_dec(x_1);
|
||||
x_102 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_102);
|
||||
x_103 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_103);
|
||||
if (lean_is_exclusive(x_70)) {
|
||||
lean_ctor_release(x_70, 0);
|
||||
lean_ctor_release(x_70, 1);
|
||||
x_104 = x_70;
|
||||
} else {
|
||||
lean_dec_ref(x_70);
|
||||
x_104 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_104)) {
|
||||
x_105 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_105 = x_104;
|
||||
}
|
||||
lean_ctor_set(x_105, 0, x_102);
|
||||
lean_ctor_set(x_105, 1, x_103);
|
||||
return x_105;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113;
|
||||
x_106 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_106);
|
||||
lean_dec(x_1);
|
||||
x_107 = l_Lean_Name_toString___closed__1;
|
||||
x_108 = l_Lean_Name_toStringWithSep___main(x_107, x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_110 = lean_string_append(x_109, x_108);
|
||||
lean_dec(x_108);
|
||||
x_111 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_112 = lean_string_append(x_110, x_111);
|
||||
x_113 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_113, 0, x_112);
|
||||
lean_ctor_set(x_113, 1, x_61);
|
||||
return x_113;
|
||||
x_105 = l_Lean_Name_toString___closed__1;
|
||||
x_106 = l_Lean_Name_toStringWithSep___main(x_105, x_104);
|
||||
x_107 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_108 = lean_string_append(x_107, x_106);
|
||||
lean_dec(x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_110 = lean_string_append(x_108, x_109);
|
||||
x_111 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_111, 0, x_110);
|
||||
lean_ctor_set(x_111, 1, x_60);
|
||||
return x_111;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_114;
|
||||
uint8_t x_112;
|
||||
lean_dec(x_1);
|
||||
x_114 = !lean_is_exclusive(x_4);
|
||||
if (x_114 == 0)
|
||||
x_112 = !lean_is_exclusive(x_4);
|
||||
if (x_112 == 0)
|
||||
{
|
||||
return x_4;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_115; lean_object* x_116; lean_object* x_117;
|
||||
x_115 = lean_ctor_get(x_4, 0);
|
||||
x_116 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_116);
|
||||
lean_inc(x_115);
|
||||
lean_object* x_113; lean_object* x_114; lean_object* x_115;
|
||||
x_113 = lean_ctor_get(x_4, 0);
|
||||
x_114 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_114);
|
||||
lean_inc(x_113);
|
||||
lean_dec(x_4);
|
||||
x_117 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_117, 0, x_115);
|
||||
lean_ctor_set(x_117, 1, x_116);
|
||||
return x_117;
|
||||
x_115 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_115, 0, x_113);
|
||||
lean_ctor_set(x_115, 1, x_114);
|
||||
return x_115;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3669,26 +3674,38 @@ return x_117;
|
|||
lean_object* l_Lean_registerSimplePersistentEnvExtension___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__19(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
|
||||
x_3 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_3);
|
||||
x_4 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_4);
|
||||
x_5 = lean_box(0);
|
||||
x_6 = l_Array_empty___closed__1;
|
||||
lean_inc(x_4);
|
||||
x_7 = lean_apply_1(x_4, x_6);
|
||||
x_8 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_8, 0, x_5);
|
||||
lean_ctor_set(x_8, 1, x_7);
|
||||
x_9 = lean_alloc_closure((void*)(l_EStateM_pure___rarg), 2, 1);
|
||||
lean_closure_set(x_9, 0, x_8);
|
||||
x_10 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1___boxed), 5, 2);
|
||||
lean_closure_set(x_10, 0, x_4);
|
||||
lean_closure_set(x_10, 1, x_5);
|
||||
lean_inc(x_1);
|
||||
x_4 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1), 3, 1);
|
||||
lean_closure_set(x_4, 0, x_1);
|
||||
lean_inc(x_1);
|
||||
x_5 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2), 3, 1);
|
||||
lean_closure_set(x_5, 0, x_1);
|
||||
x_6 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3), 2, 1);
|
||||
lean_closure_set(x_6, 0, x_1);
|
||||
x_7 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1;
|
||||
x_8 = lean_alloc_ctor(0, 5, 0);
|
||||
lean_ctor_set(x_8, 0, x_3);
|
||||
lean_ctor_set(x_8, 1, x_4);
|
||||
lean_ctor_set(x_8, 2, x_5);
|
||||
lean_ctor_set(x_8, 3, x_6);
|
||||
lean_ctor_set(x_8, 4, x_7);
|
||||
x_9 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__20(x_8, x_2);
|
||||
return x_9;
|
||||
x_11 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2), 3, 1);
|
||||
lean_closure_set(x_11, 0, x_1);
|
||||
x_12 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3), 2, 1);
|
||||
lean_closure_set(x_12, 0, x_1);
|
||||
x_13 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1;
|
||||
x_14 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_14, 0, x_3);
|
||||
lean_ctor_set(x_14, 1, x_9);
|
||||
lean_ctor_set(x_14, 2, x_10);
|
||||
lean_ctor_set(x_14, 3, x_11);
|
||||
lean_ctor_set(x_14, 4, x_12);
|
||||
lean_ctor_set(x_14, 5, x_13);
|
||||
x_15 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__20(x_14, x_2);
|
||||
return x_15;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___lambda__1(lean_object* x_1, lean_object* x_2) {
|
||||
|
|
@ -3895,12 +3912,12 @@ lean_ctor_set(x_3, 1, x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_IR_UnreachableBranches_functionSummariesExt___elambda__4(lean_object* x_1) {
|
||||
lean_object* l_Lean_IR_UnreachableBranches_functionSummariesExt___elambda__4(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_alloc_closure((void*)(l_Lean_IR_UnreachableBranches_functionSummariesExt___elambda__4___rarg), 1, 0);
|
||||
return x_2;
|
||||
lean_object* x_3;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_IR_UnreachableBranches_functionSummariesExt___elambda__4___rarg), 1, 0);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_IR_UnreachableBranches_functionSummariesExt___closed__1() {
|
||||
|
|
@ -3959,7 +3976,7 @@ lean_object* _init_l_Lean_IR_UnreachableBranches_functionSummariesExt___closed__
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_IR_UnreachableBranches_functionSummariesExt___elambda__4___boxed), 1, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_IR_UnreachableBranches_functionSummariesExt___elambda__4___boxed), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -4035,13 +4052,14 @@ lean_dec(x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_IR_UnreachableBranches_functionSummariesExt___elambda__4___boxed(lean_object* x_1) {
|
||||
lean_object* l_Lean_IR_UnreachableBranches_functionSummariesExt___elambda__4___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_IR_UnreachableBranches_functionSummariesExt___elambda__4(x_1);
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_IR_UnreachableBranches_functionSummariesExt___elambda__4(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_IR_UnreachableBranches_addFunctionSummary(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -50,6 +50,7 @@ lean_object* l_Lean_Compiler_mkInlineAttrs___closed__3;
|
|||
lean_object* l_Lean_Compiler_mkInlineAttrs___closed__14;
|
||||
uint8_t lean_has_macro_inline_attribute(lean_object*, lean_object*);
|
||||
lean_object* lean_nat_add(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_registerTagAttribute___closed__2;
|
||||
lean_object* l_Lean_Compiler_InlineAttributeKind_HasBeq;
|
||||
extern lean_object* l_Lean_AttributeImpl_inhabited___closed__4;
|
||||
lean_object* l_Lean_Compiler_mkInlineAttrs___closed__7;
|
||||
|
|
@ -803,443 +804,447 @@ lean_dec(x_8);
|
|||
lean_dec(x_6);
|
||||
if (x_10 == 0)
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
lean_object* x_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_free_object(x_4);
|
||||
x_11 = lean_ctor_get(x_1, 1);
|
||||
x_11 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_11);
|
||||
x_12 = l_Array_empty___closed__1;
|
||||
lean_inc(x_11);
|
||||
x_13 = lean_apply_1(x_11, x_12);
|
||||
x_14 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_15 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_15, 0, x_13);
|
||||
lean_closure_set(x_15, 1, x_14);
|
||||
x_16 = l_Lean_registerEnvExtensionUnsafe___at_Lean_Compiler_mkInlineAttrs___spec__7(x_15, x_7);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
x_12 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_12);
|
||||
x_13 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_13);
|
||||
x_14 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_14);
|
||||
x_15 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_15);
|
||||
x_16 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_1);
|
||||
x_17 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_18 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_18, 0, x_12);
|
||||
lean_closure_set(x_18, 1, x_17);
|
||||
x_19 = l_Lean_registerEnvExtensionUnsafe___at_Lean_Compiler_mkInlineAttrs___spec__7(x_18, x_7);
|
||||
if (lean_obj_tag(x_19) == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_17 = lean_ctor_get(x_16, 0);
|
||||
lean_inc(x_17);
|
||||
x_18 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_16);
|
||||
x_19 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_19);
|
||||
x_20 = lean_ctor_get(x_1, 2);
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
|
||||
x_20 = lean_ctor_get(x_19, 0);
|
||||
lean_inc(x_20);
|
||||
x_21 = lean_ctor_get(x_1, 3);
|
||||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
x_22 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_1);
|
||||
x_23 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_23, 0, x_17);
|
||||
lean_ctor_set(x_23, 1, x_19);
|
||||
lean_ctor_set(x_23, 2, x_11);
|
||||
lean_ctor_set(x_23, 3, x_20);
|
||||
lean_ctor_set(x_23, 4, x_21);
|
||||
lean_ctor_set(x_23, 5, x_22);
|
||||
x_24 = lean_io_ref_get(x_3, x_18);
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
lean_dec(x_19);
|
||||
x_22 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_22, 0, x_20);
|
||||
lean_ctor_set(x_22, 1, x_11);
|
||||
lean_ctor_set(x_22, 2, x_13);
|
||||
lean_ctor_set(x_22, 3, x_14);
|
||||
lean_ctor_set(x_22, 4, x_15);
|
||||
lean_ctor_set(x_22, 5, x_16);
|
||||
x_23 = lean_io_ref_get(x_3, x_21);
|
||||
if (lean_obj_tag(x_23) == 0)
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27;
|
||||
x_25 = lean_ctor_get(x_24, 0);
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_24 = lean_ctor_get(x_23, 0);
|
||||
lean_inc(x_24);
|
||||
x_25 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_25);
|
||||
x_26 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_24);
|
||||
x_27 = lean_io_ref_reset(x_3, x_26);
|
||||
if (lean_obj_tag(x_27) == 0)
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
|
||||
x_28 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_27);
|
||||
x_29 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_23);
|
||||
x_30 = x_23;
|
||||
x_31 = lean_array_push(x_25, x_30);
|
||||
x_32 = lean_io_ref_set(x_3, x_31, x_28);
|
||||
if (lean_obj_tag(x_32) == 0)
|
||||
{
|
||||
uint8_t x_33;
|
||||
x_33 = !lean_is_exclusive(x_32);
|
||||
if (x_33 == 0)
|
||||
{
|
||||
lean_object* x_34;
|
||||
x_34 = lean_ctor_get(x_32, 0);
|
||||
lean_dec(x_34);
|
||||
lean_ctor_set(x_32, 0, x_23);
|
||||
return x_32;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36;
|
||||
x_35 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_35);
|
||||
lean_dec(x_32);
|
||||
x_36 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_23);
|
||||
lean_ctor_set(x_36, 1, x_35);
|
||||
return x_36;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_37;
|
||||
lean_dec(x_23);
|
||||
x_37 = !lean_is_exclusive(x_32);
|
||||
if (x_37 == 0)
|
||||
x_26 = lean_io_ref_reset(x_3, x_25);
|
||||
if (lean_obj_tag(x_26) == 0)
|
||||
{
|
||||
return x_32;
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
|
||||
x_27 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_27);
|
||||
lean_dec(x_26);
|
||||
x_28 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_22);
|
||||
x_29 = x_22;
|
||||
x_30 = lean_array_push(x_24, x_29);
|
||||
x_31 = lean_io_ref_set(x_3, x_30, x_27);
|
||||
if (lean_obj_tag(x_31) == 0)
|
||||
{
|
||||
uint8_t x_32;
|
||||
x_32 = !lean_is_exclusive(x_31);
|
||||
if (x_32 == 0)
|
||||
{
|
||||
lean_object* x_33;
|
||||
x_33 = lean_ctor_get(x_31, 0);
|
||||
lean_dec(x_33);
|
||||
lean_ctor_set(x_31, 0, x_22);
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_38; lean_object* x_39; lean_object* x_40;
|
||||
x_38 = lean_ctor_get(x_32, 0);
|
||||
x_39 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_39);
|
||||
lean_object* x_34; lean_object* x_35;
|
||||
x_34 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_34);
|
||||
lean_dec(x_31);
|
||||
x_35 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_35, 0, x_22);
|
||||
lean_ctor_set(x_35, 1, x_34);
|
||||
return x_35;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_36;
|
||||
lean_dec(x_22);
|
||||
x_36 = !lean_is_exclusive(x_31);
|
||||
if (x_36 == 0)
|
||||
{
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_37; lean_object* x_38; lean_object* x_39;
|
||||
x_37 = lean_ctor_get(x_31, 0);
|
||||
x_38 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_38);
|
||||
lean_dec(x_32);
|
||||
x_40 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_40, 0, x_38);
|
||||
lean_ctor_set(x_40, 1, x_39);
|
||||
return x_40;
|
||||
lean_inc(x_37);
|
||||
lean_dec(x_31);
|
||||
x_39 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_37);
|
||||
lean_ctor_set(x_39, 1, x_38);
|
||||
return x_39;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_41;
|
||||
lean_dec(x_25);
|
||||
lean_dec(x_23);
|
||||
x_41 = !lean_is_exclusive(x_27);
|
||||
if (x_41 == 0)
|
||||
{
|
||||
return x_27;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44;
|
||||
x_42 = lean_ctor_get(x_27, 0);
|
||||
x_43 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_43);
|
||||
lean_inc(x_42);
|
||||
lean_dec(x_27);
|
||||
x_44 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_44, 0, x_42);
|
||||
lean_ctor_set(x_44, 1, x_43);
|
||||
return x_44;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_45;
|
||||
lean_dec(x_23);
|
||||
x_45 = !lean_is_exclusive(x_24);
|
||||
if (x_45 == 0)
|
||||
{
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_46; lean_object* x_47; lean_object* x_48;
|
||||
x_46 = lean_ctor_get(x_24, 0);
|
||||
x_47 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_47);
|
||||
lean_inc(x_46);
|
||||
uint8_t x_40;
|
||||
lean_dec(x_24);
|
||||
x_48 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_48, 0, x_46);
|
||||
lean_ctor_set(x_48, 1, x_47);
|
||||
return x_48;
|
||||
lean_dec(x_22);
|
||||
x_40 = !lean_is_exclusive(x_26);
|
||||
if (x_40 == 0)
|
||||
{
|
||||
return x_26;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_41; lean_object* x_42; lean_object* x_43;
|
||||
x_41 = lean_ctor_get(x_26, 0);
|
||||
x_42 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_42);
|
||||
lean_inc(x_41);
|
||||
lean_dec(x_26);
|
||||
x_43 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_43, 0, x_41);
|
||||
lean_ctor_set(x_43, 1, x_42);
|
||||
return x_43;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_49;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_1);
|
||||
x_49 = !lean_is_exclusive(x_16);
|
||||
if (x_49 == 0)
|
||||
uint8_t x_44;
|
||||
lean_dec(x_22);
|
||||
x_44 = !lean_is_exclusive(x_23);
|
||||
if (x_44 == 0)
|
||||
{
|
||||
return x_16;
|
||||
return x_23;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_50; lean_object* x_51; lean_object* x_52;
|
||||
x_50 = lean_ctor_get(x_16, 0);
|
||||
x_51 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_51);
|
||||
lean_inc(x_50);
|
||||
lean_object* x_45; lean_object* x_46; lean_object* x_47;
|
||||
x_45 = lean_ctor_get(x_23, 0);
|
||||
x_46 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_46);
|
||||
lean_inc(x_45);
|
||||
lean_dec(x_23);
|
||||
x_47 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_47, 0, x_45);
|
||||
lean_ctor_set(x_47, 1, x_46);
|
||||
return x_47;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_48;
|
||||
lean_dec(x_16);
|
||||
x_52 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_52, 0, x_50);
|
||||
lean_ctor_set(x_52, 1, x_51);
|
||||
return x_52;
|
||||
lean_dec(x_15);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_11);
|
||||
x_48 = !lean_is_exclusive(x_19);
|
||||
if (x_48 == 0)
|
||||
{
|
||||
return x_19;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_49; lean_object* x_50; lean_object* x_51;
|
||||
x_49 = lean_ctor_get(x_19, 0);
|
||||
x_50 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_50);
|
||||
lean_inc(x_49);
|
||||
lean_dec(x_19);
|
||||
x_51 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_51, 0, x_49);
|
||||
lean_ctor_set(x_51, 1, x_50);
|
||||
return x_51;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
|
||||
x_53 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_53);
|
||||
lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
|
||||
x_52 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_1);
|
||||
x_54 = l_Lean_Name_toString___closed__1;
|
||||
x_55 = l_Lean_Name_toStringWithSep___main(x_54, x_53);
|
||||
x_56 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_57 = lean_string_append(x_56, x_55);
|
||||
lean_dec(x_55);
|
||||
x_58 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_59 = lean_string_append(x_57, x_58);
|
||||
x_53 = l_Lean_Name_toString___closed__1;
|
||||
x_54 = l_Lean_Name_toStringWithSep___main(x_53, x_52);
|
||||
x_55 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_56 = lean_string_append(x_55, x_54);
|
||||
lean_dec(x_54);
|
||||
x_57 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_58 = lean_string_append(x_56, x_57);
|
||||
lean_ctor_set_tag(x_4, 1);
|
||||
lean_ctor_set(x_4, 0, x_59);
|
||||
lean_ctor_set(x_4, 0, x_58);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64;
|
||||
x_60 = lean_ctor_get(x_4, 0);
|
||||
x_61 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_61);
|
||||
lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63;
|
||||
x_59 = lean_ctor_get(x_4, 0);
|
||||
x_60 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_60);
|
||||
lean_inc(x_59);
|
||||
lean_dec(x_4);
|
||||
x_62 = lean_array_get_size(x_60);
|
||||
x_63 = lean_unsigned_to_nat(0u);
|
||||
x_64 = l_Array_anyRangeMAux___main___at_Lean_Compiler_mkInlineAttrs___spec__6(x_1, x_60, x_60, x_62, x_63);
|
||||
lean_dec(x_62);
|
||||
lean_dec(x_60);
|
||||
if (x_64 == 0)
|
||||
x_61 = lean_array_get_size(x_59);
|
||||
x_62 = lean_unsigned_to_nat(0u);
|
||||
x_63 = l_Array_anyRangeMAux___main___at_Lean_Compiler_mkInlineAttrs___spec__6(x_1, x_59, x_59, x_61, x_62);
|
||||
lean_dec(x_61);
|
||||
lean_dec(x_59);
|
||||
if (x_63 == 0)
|
||||
{
|
||||
lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
|
||||
lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
|
||||
x_64 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_64);
|
||||
x_65 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_65);
|
||||
x_66 = l_Array_empty___closed__1;
|
||||
lean_inc(x_65);
|
||||
x_67 = lean_apply_1(x_65, x_66);
|
||||
x_68 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_69 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_69, 0, x_67);
|
||||
lean_closure_set(x_69, 1, x_68);
|
||||
x_70 = l_Lean_registerEnvExtensionUnsafe___at_Lean_Compiler_mkInlineAttrs___spec__7(x_69, x_61);
|
||||
if (lean_obj_tag(x_70) == 0)
|
||||
x_66 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_66);
|
||||
x_67 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_67);
|
||||
x_68 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_68);
|
||||
x_69 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_69);
|
||||
lean_dec(x_1);
|
||||
x_70 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_71 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_71, 0, x_65);
|
||||
lean_closure_set(x_71, 1, x_70);
|
||||
x_72 = l_Lean_registerEnvExtensionUnsafe___at_Lean_Compiler_mkInlineAttrs___spec__7(x_71, x_60);
|
||||
if (lean_obj_tag(x_72) == 0)
|
||||
{
|
||||
lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
|
||||
x_71 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_71);
|
||||
x_72 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_72);
|
||||
lean_dec(x_70);
|
||||
x_73 = lean_ctor_get(x_1, 0);
|
||||
lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
|
||||
x_73 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_73);
|
||||
x_74 = lean_ctor_get(x_1, 2);
|
||||
x_74 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_74);
|
||||
x_75 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_75);
|
||||
x_76 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_76);
|
||||
lean_dec(x_1);
|
||||
x_77 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_77, 0, x_71);
|
||||
lean_ctor_set(x_77, 1, x_73);
|
||||
lean_ctor_set(x_77, 2, x_65);
|
||||
lean_ctor_set(x_77, 3, x_74);
|
||||
lean_ctor_set(x_77, 4, x_75);
|
||||
lean_ctor_set(x_77, 5, x_76);
|
||||
x_78 = lean_io_ref_get(x_3, x_72);
|
||||
if (lean_obj_tag(x_78) == 0)
|
||||
lean_dec(x_72);
|
||||
x_75 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_75, 0, x_73);
|
||||
lean_ctor_set(x_75, 1, x_64);
|
||||
lean_ctor_set(x_75, 2, x_66);
|
||||
lean_ctor_set(x_75, 3, x_67);
|
||||
lean_ctor_set(x_75, 4, x_68);
|
||||
lean_ctor_set(x_75, 5, x_69);
|
||||
x_76 = lean_io_ref_get(x_3, x_74);
|
||||
if (lean_obj_tag(x_76) == 0)
|
||||
{
|
||||
lean_object* x_79; lean_object* x_80; lean_object* x_81;
|
||||
x_79 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_79);
|
||||
x_80 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_78);
|
||||
x_81 = lean_io_ref_reset(x_3, x_80);
|
||||
if (lean_obj_tag(x_81) == 0)
|
||||
{
|
||||
lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86;
|
||||
x_82 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_82);
|
||||
lean_dec(x_81);
|
||||
x_83 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_object* x_77; lean_object* x_78; lean_object* x_79;
|
||||
x_77 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_77);
|
||||
x_84 = x_77;
|
||||
x_85 = lean_array_push(x_79, x_84);
|
||||
x_86 = lean_io_ref_set(x_3, x_85, x_82);
|
||||
if (lean_obj_tag(x_86) == 0)
|
||||
x_78 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_78);
|
||||
lean_dec(x_76);
|
||||
x_79 = lean_io_ref_reset(x_3, x_78);
|
||||
if (lean_obj_tag(x_79) == 0)
|
||||
{
|
||||
lean_object* x_87; lean_object* x_88; lean_object* x_89;
|
||||
x_87 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_87);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_88 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_88 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_88)) {
|
||||
x_89 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_89 = x_88;
|
||||
}
|
||||
lean_ctor_set(x_89, 0, x_77);
|
||||
lean_ctor_set(x_89, 1, x_87);
|
||||
return x_89;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93;
|
||||
lean_dec(x_77);
|
||||
x_90 = lean_ctor_get(x_86, 0);
|
||||
lean_inc(x_90);
|
||||
x_91 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_91);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_92 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_92 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_92)) {
|
||||
x_93 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_93 = x_92;
|
||||
}
|
||||
lean_ctor_set(x_93, 0, x_90);
|
||||
lean_ctor_set(x_93, 1, x_91);
|
||||
return x_93;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97;
|
||||
lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
|
||||
x_80 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_79);
|
||||
x_81 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_75);
|
||||
x_82 = x_75;
|
||||
x_83 = lean_array_push(x_77, x_82);
|
||||
x_84 = lean_io_ref_set(x_3, x_83, x_80);
|
||||
if (lean_obj_tag(x_84) == 0)
|
||||
{
|
||||
lean_object* x_85; lean_object* x_86; lean_object* x_87;
|
||||
x_85 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_85);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_86 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_86 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_86)) {
|
||||
x_87 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_87 = x_86;
|
||||
}
|
||||
lean_ctor_set(x_87, 0, x_75);
|
||||
lean_ctor_set(x_87, 1, x_85);
|
||||
return x_87;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91;
|
||||
lean_dec(x_75);
|
||||
x_88 = lean_ctor_get(x_84, 0);
|
||||
lean_inc(x_88);
|
||||
x_89 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_89);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_90 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_90 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_90)) {
|
||||
x_91 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_91 = x_90;
|
||||
}
|
||||
lean_ctor_set(x_91, 0, x_88);
|
||||
lean_ctor_set(x_91, 1, x_89);
|
||||
return x_91;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95;
|
||||
lean_dec(x_77);
|
||||
x_94 = lean_ctor_get(x_81, 0);
|
||||
lean_inc(x_94);
|
||||
x_95 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_95);
|
||||
if (lean_is_exclusive(x_81)) {
|
||||
lean_ctor_release(x_81, 0);
|
||||
lean_ctor_release(x_81, 1);
|
||||
x_96 = x_81;
|
||||
lean_dec(x_75);
|
||||
x_92 = lean_ctor_get(x_79, 0);
|
||||
lean_inc(x_92);
|
||||
x_93 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_93);
|
||||
if (lean_is_exclusive(x_79)) {
|
||||
lean_ctor_release(x_79, 0);
|
||||
lean_ctor_release(x_79, 1);
|
||||
x_94 = x_79;
|
||||
} else {
|
||||
lean_dec_ref(x_81);
|
||||
x_96 = lean_box(0);
|
||||
lean_dec_ref(x_79);
|
||||
x_94 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_96)) {
|
||||
x_97 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_94)) {
|
||||
x_95 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_97 = x_96;
|
||||
x_95 = x_94;
|
||||
}
|
||||
lean_ctor_set(x_97, 0, x_94);
|
||||
lean_ctor_set(x_97, 1, x_95);
|
||||
return x_97;
|
||||
lean_ctor_set(x_95, 0, x_92);
|
||||
lean_ctor_set(x_95, 1, x_93);
|
||||
return x_95;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101;
|
||||
lean_dec(x_77);
|
||||
x_98 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_98);
|
||||
x_99 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_99);
|
||||
if (lean_is_exclusive(x_78)) {
|
||||
lean_ctor_release(x_78, 0);
|
||||
lean_ctor_release(x_78, 1);
|
||||
x_100 = x_78;
|
||||
lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99;
|
||||
lean_dec(x_75);
|
||||
x_96 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_96);
|
||||
x_97 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_97);
|
||||
if (lean_is_exclusive(x_76)) {
|
||||
lean_ctor_release(x_76, 0);
|
||||
lean_ctor_release(x_76, 1);
|
||||
x_98 = x_76;
|
||||
} else {
|
||||
lean_dec_ref(x_78);
|
||||
x_100 = lean_box(0);
|
||||
lean_dec_ref(x_76);
|
||||
x_98 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_100)) {
|
||||
x_101 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_98)) {
|
||||
x_99 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_101 = x_100;
|
||||
x_99 = x_98;
|
||||
}
|
||||
lean_ctor_set(x_101, 0, x_98);
|
||||
lean_ctor_set(x_101, 1, x_99);
|
||||
return x_101;
|
||||
lean_ctor_set(x_99, 0, x_96);
|
||||
lean_ctor_set(x_99, 1, x_97);
|
||||
return x_99;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105;
|
||||
lean_dec(x_65);
|
||||
lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103;
|
||||
lean_dec(x_69);
|
||||
lean_dec(x_68);
|
||||
lean_dec(x_67);
|
||||
lean_dec(x_66);
|
||||
lean_dec(x_64);
|
||||
x_100 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_100);
|
||||
x_101 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_101);
|
||||
if (lean_is_exclusive(x_72)) {
|
||||
lean_ctor_release(x_72, 0);
|
||||
lean_ctor_release(x_72, 1);
|
||||
x_102 = x_72;
|
||||
} else {
|
||||
lean_dec_ref(x_72);
|
||||
x_102 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_102)) {
|
||||
x_103 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_103 = x_102;
|
||||
}
|
||||
lean_ctor_set(x_103, 0, x_100);
|
||||
lean_ctor_set(x_103, 1, x_101);
|
||||
return x_103;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111;
|
||||
x_104 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_104);
|
||||
lean_dec(x_1);
|
||||
x_102 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_102);
|
||||
x_103 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_103);
|
||||
if (lean_is_exclusive(x_70)) {
|
||||
lean_ctor_release(x_70, 0);
|
||||
lean_ctor_release(x_70, 1);
|
||||
x_104 = x_70;
|
||||
} else {
|
||||
lean_dec_ref(x_70);
|
||||
x_104 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_104)) {
|
||||
x_105 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_105 = x_104;
|
||||
}
|
||||
lean_ctor_set(x_105, 0, x_102);
|
||||
lean_ctor_set(x_105, 1, x_103);
|
||||
return x_105;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113;
|
||||
x_106 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_106);
|
||||
lean_dec(x_1);
|
||||
x_107 = l_Lean_Name_toString___closed__1;
|
||||
x_108 = l_Lean_Name_toStringWithSep___main(x_107, x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_110 = lean_string_append(x_109, x_108);
|
||||
lean_dec(x_108);
|
||||
x_111 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_112 = lean_string_append(x_110, x_111);
|
||||
x_113 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_113, 0, x_112);
|
||||
lean_ctor_set(x_113, 1, x_61);
|
||||
return x_113;
|
||||
x_105 = l_Lean_Name_toString___closed__1;
|
||||
x_106 = l_Lean_Name_toStringWithSep___main(x_105, x_104);
|
||||
x_107 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_108 = lean_string_append(x_107, x_106);
|
||||
lean_dec(x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_110 = lean_string_append(x_108, x_109);
|
||||
x_111 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_111, 0, x_110);
|
||||
lean_ctor_set(x_111, 1, x_60);
|
||||
return x_111;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_114;
|
||||
uint8_t x_112;
|
||||
lean_dec(x_1);
|
||||
x_114 = !lean_is_exclusive(x_4);
|
||||
if (x_114 == 0)
|
||||
x_112 = !lean_is_exclusive(x_4);
|
||||
if (x_112 == 0)
|
||||
{
|
||||
return x_4;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_115; lean_object* x_116; lean_object* x_117;
|
||||
x_115 = lean_ctor_get(x_4, 0);
|
||||
x_116 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_116);
|
||||
lean_inc(x_115);
|
||||
lean_object* x_113; lean_object* x_114; lean_object* x_115;
|
||||
x_113 = lean_ctor_get(x_4, 0);
|
||||
x_114 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_114);
|
||||
lean_inc(x_113);
|
||||
lean_dec(x_4);
|
||||
x_117 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_117, 0, x_115);
|
||||
lean_ctor_set(x_117, 1, x_116);
|
||||
return x_117;
|
||||
x_115 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_115, 0, x_113);
|
||||
lean_ctor_set(x_115, 1, x_114);
|
||||
return x_115;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1501,107 +1506,109 @@ return x_1;
|
|||
lean_object* l_Lean_registerEnumAttributes___at_Lean_Compiler_mkInlineAttrs___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
|
||||
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
|
||||
x_6 = l_Lean_registerTagAttribute___closed__1;
|
||||
x_7 = l_Lean_registerEnumAttributes___at_Lean_Compiler_mkInlineAttrs___spec__1___closed__1;
|
||||
x_8 = l_Lean_registerEnumAttributes___at_Lean_Compiler_mkInlineAttrs___spec__1___closed__2;
|
||||
x_9 = l_Lean_registerEnumAttributes___rarg___closed__1;
|
||||
x_10 = lean_alloc_ctor(0, 5, 0);
|
||||
lean_ctor_set(x_10, 0, x_1);
|
||||
lean_ctor_set(x_10, 1, x_6);
|
||||
lean_ctor_set(x_10, 2, x_7);
|
||||
lean_ctor_set(x_10, 3, x_8);
|
||||
lean_ctor_set(x_10, 4, x_9);
|
||||
x_11 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_Compiler_mkInlineAttrs___spec__5(x_10, x_5);
|
||||
if (lean_obj_tag(x_11) == 0)
|
||||
x_7 = l_Lean_registerTagAttribute___closed__2;
|
||||
x_8 = l_Lean_registerEnumAttributes___at_Lean_Compiler_mkInlineAttrs___spec__1___closed__1;
|
||||
x_9 = l_Lean_registerEnumAttributes___at_Lean_Compiler_mkInlineAttrs___spec__1___closed__2;
|
||||
x_10 = l_Lean_registerEnumAttributes___rarg___closed__1;
|
||||
x_11 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_11, 0, x_1);
|
||||
lean_ctor_set(x_11, 1, x_6);
|
||||
lean_ctor_set(x_11, 2, x_7);
|
||||
lean_ctor_set(x_11, 3, x_8);
|
||||
lean_ctor_set(x_11, 4, x_9);
|
||||
lean_ctor_set(x_11, 5, x_10);
|
||||
x_12 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_Compiler_mkInlineAttrs___spec__5(x_11, x_5);
|
||||
if (lean_obj_tag(x_12) == 0)
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
|
||||
x_12 = lean_ctor_get(x_11, 0);
|
||||
lean_inc(x_12);
|
||||
x_13 = lean_ctor_get(x_11, 1);
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
x_13 = lean_ctor_get(x_12, 0);
|
||||
lean_inc(x_13);
|
||||
lean_dec(x_11);
|
||||
lean_inc(x_12);
|
||||
x_14 = l_List_map___main___at_Lean_Compiler_mkInlineAttrs___spec__8(x_3, x_4, x_12, x_2);
|
||||
x_14 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_14);
|
||||
x_15 = l_List_forM___main___at_Lean_registerEnumAttributes___spec__11(x_14, x_13);
|
||||
if (lean_obj_tag(x_15) == 0)
|
||||
{
|
||||
uint8_t x_16;
|
||||
x_16 = !lean_is_exclusive(x_15);
|
||||
if (x_16 == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18;
|
||||
x_17 = lean_ctor_get(x_15, 0);
|
||||
lean_dec(x_17);
|
||||
x_18 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_18, 0, x_14);
|
||||
lean_ctor_set(x_18, 1, x_12);
|
||||
lean_ctor_set(x_15, 0, x_18);
|
||||
return x_15;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_19; lean_object* x_20; lean_object* x_21;
|
||||
x_19 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_15);
|
||||
x_20 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_20, 0, x_14);
|
||||
lean_ctor_set(x_20, 1, x_12);
|
||||
x_21 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_21, 0, x_20);
|
||||
lean_ctor_set(x_21, 1, x_19);
|
||||
return x_21;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_22;
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_12);
|
||||
x_22 = !lean_is_exclusive(x_15);
|
||||
if (x_22 == 0)
|
||||
lean_inc(x_13);
|
||||
x_15 = l_List_map___main___at_Lean_Compiler_mkInlineAttrs___spec__8(x_3, x_4, x_13, x_2);
|
||||
lean_inc(x_15);
|
||||
x_16 = l_List_forM___main___at_Lean_registerEnumAttributes___spec__11(x_15, x_14);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
{
|
||||
return x_15;
|
||||
uint8_t x_17;
|
||||
x_17 = !lean_is_exclusive(x_16);
|
||||
if (x_17 == 0)
|
||||
{
|
||||
lean_object* x_18; lean_object* x_19;
|
||||
x_18 = lean_ctor_get(x_16, 0);
|
||||
lean_dec(x_18);
|
||||
x_19 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_19, 0, x_15);
|
||||
lean_ctor_set(x_19, 1, x_13);
|
||||
lean_ctor_set(x_16, 0, x_19);
|
||||
return x_16;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_23; lean_object* x_24; lean_object* x_25;
|
||||
x_23 = lean_ctor_get(x_15, 0);
|
||||
x_24 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_24);
|
||||
lean_inc(x_23);
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22;
|
||||
x_20 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_20);
|
||||
lean_dec(x_16);
|
||||
x_21 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_21, 0, x_15);
|
||||
lean_ctor_set(x_21, 1, x_13);
|
||||
x_22 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_22, 0, x_21);
|
||||
lean_ctor_set(x_22, 1, x_20);
|
||||
return x_22;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_23;
|
||||
lean_dec(x_15);
|
||||
x_25 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_25, 0, x_23);
|
||||
lean_ctor_set(x_25, 1, x_24);
|
||||
return x_25;
|
||||
lean_dec(x_13);
|
||||
x_23 = !lean_is_exclusive(x_16);
|
||||
if (x_23 == 0)
|
||||
{
|
||||
return x_16;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_24 = lean_ctor_get(x_16, 0);
|
||||
x_25 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_25);
|
||||
lean_inc(x_24);
|
||||
lean_dec(x_16);
|
||||
x_26 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_26, 0, x_24);
|
||||
lean_ctor_set(x_26, 1, x_25);
|
||||
return x_26;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_26;
|
||||
uint8_t x_27;
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_26 = !lean_is_exclusive(x_11);
|
||||
if (x_26 == 0)
|
||||
x_27 = !lean_is_exclusive(x_12);
|
||||
if (x_27 == 0)
|
||||
{
|
||||
return x_11;
|
||||
return x_12;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29;
|
||||
x_27 = lean_ctor_get(x_11, 0);
|
||||
x_28 = lean_ctor_get(x_11, 1);
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30;
|
||||
x_28 = lean_ctor_get(x_12, 0);
|
||||
x_29 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_29);
|
||||
lean_inc(x_28);
|
||||
lean_inc(x_27);
|
||||
lean_dec(x_11);
|
||||
x_29 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_29, 0, x_27);
|
||||
lean_ctor_set(x_29, 1, x_28);
|
||||
return x_29;
|
||||
lean_dec(x_12);
|
||||
x_30 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_30, 0, x_28);
|
||||
lean_ctor_set(x_30, 1, x_29);
|
||||
return x_30;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -30,7 +30,7 @@ uint8_t l_List_elem___main___at_Lean_addAliasEntry___spec__18(lean_object*, lean
|
|||
lean_object* l_Lean_aliasExtension___closed__3;
|
||||
size_t l_USize_sub(size_t, size_t);
|
||||
extern lean_object* l_Array_empty___closed__1;
|
||||
lean_object* l_Lean_aliasExtension___elambda__4___boxed(lean_object*);
|
||||
lean_object* l_Lean_aliasExtension___elambda__4___boxed(lean_object*, lean_object*);
|
||||
uint8_t lean_name_eq(lean_object*, lean_object*);
|
||||
lean_object* lean_io_ref_get(lean_object*, lean_object*);
|
||||
uint8_t l_AssocList_contains___main___at_Lean_addAliasEntry___spec__13(lean_object*, lean_object*);
|
||||
|
|
@ -99,15 +99,15 @@ size_t l_USize_land(size_t, size_t);
|
|||
lean_object* l_Lean_SimplePersistentEnvExtension_getState___rarg(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
lean_object* l_PersistentHashMap_empty___at_Lean_mkAliasExtension___spec__3;
|
||||
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_aliasExtension___closed__1;
|
||||
lean_object* l_Lean_SMap_find_x3f___at_Lean_addAliasEntry___spec__1___boxed(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_aliasExtension___closed__2;
|
||||
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
|
||||
uint8_t l_USize_decLe(size_t, size_t);
|
||||
lean_object* l_Array_iterateMAux___main___at_Lean_addAliasEntry___spec__11(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_aliasExtension___elambda__4(lean_object*);
|
||||
lean_object* l_Lean_aliasExtension___elambda__4(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1;
|
||||
lean_object* l_Lean_aliasExtension___closed__9;
|
||||
lean_object* l_Lean_SMap_switch___at_Lean_mkAliasExtension___spec__7(lean_object*);
|
||||
|
|
@ -141,6 +141,7 @@ lean_object* l_PersistentHashMap_findAux___main___at_Lean_addAliasEntry___spec__
|
|||
lean_object* l_Lean_Name_toStringWithSep___main(lean_object*, lean_object*);
|
||||
lean_object* lean_usize_to_nat(size_t);
|
||||
extern lean_object* l_Lean_regNamespacesExtension___closed__4;
|
||||
lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*);
|
||||
extern lean_object* l_HashMap_Inhabited___closed__1;
|
||||
lean_object* l_PersistentHashMap_mkCollisionNode___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_aliasExtension___closed__6;
|
||||
|
|
@ -1868,443 +1869,447 @@ lean_dec(x_8);
|
|||
lean_dec(x_6);
|
||||
if (x_10 == 0)
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
lean_object* x_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_free_object(x_4);
|
||||
x_11 = lean_ctor_get(x_1, 1);
|
||||
x_11 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_11);
|
||||
x_12 = l_Array_empty___closed__1;
|
||||
lean_inc(x_11);
|
||||
x_13 = lean_apply_1(x_11, x_12);
|
||||
x_14 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_15 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_15, 0, x_13);
|
||||
lean_closure_set(x_15, 1, x_14);
|
||||
x_16 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkAliasExtension___spec__11(x_15, x_7);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
x_12 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_12);
|
||||
x_13 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_13);
|
||||
x_14 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_14);
|
||||
x_15 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_15);
|
||||
x_16 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_1);
|
||||
x_17 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_18 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_18, 0, x_12);
|
||||
lean_closure_set(x_18, 1, x_17);
|
||||
x_19 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkAliasExtension___spec__11(x_18, x_7);
|
||||
if (lean_obj_tag(x_19) == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_17 = lean_ctor_get(x_16, 0);
|
||||
lean_inc(x_17);
|
||||
x_18 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_16);
|
||||
x_19 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_19);
|
||||
x_20 = lean_ctor_get(x_1, 2);
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
|
||||
x_20 = lean_ctor_get(x_19, 0);
|
||||
lean_inc(x_20);
|
||||
x_21 = lean_ctor_get(x_1, 3);
|
||||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
x_22 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_1);
|
||||
x_23 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_23, 0, x_17);
|
||||
lean_ctor_set(x_23, 1, x_19);
|
||||
lean_ctor_set(x_23, 2, x_11);
|
||||
lean_ctor_set(x_23, 3, x_20);
|
||||
lean_ctor_set(x_23, 4, x_21);
|
||||
lean_ctor_set(x_23, 5, x_22);
|
||||
x_24 = lean_io_ref_get(x_3, x_18);
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
lean_dec(x_19);
|
||||
x_22 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_22, 0, x_20);
|
||||
lean_ctor_set(x_22, 1, x_11);
|
||||
lean_ctor_set(x_22, 2, x_13);
|
||||
lean_ctor_set(x_22, 3, x_14);
|
||||
lean_ctor_set(x_22, 4, x_15);
|
||||
lean_ctor_set(x_22, 5, x_16);
|
||||
x_23 = lean_io_ref_get(x_3, x_21);
|
||||
if (lean_obj_tag(x_23) == 0)
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27;
|
||||
x_25 = lean_ctor_get(x_24, 0);
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_24 = lean_ctor_get(x_23, 0);
|
||||
lean_inc(x_24);
|
||||
x_25 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_25);
|
||||
x_26 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_24);
|
||||
x_27 = lean_io_ref_reset(x_3, x_26);
|
||||
if (lean_obj_tag(x_27) == 0)
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
|
||||
x_28 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_27);
|
||||
x_29 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_23);
|
||||
x_30 = x_23;
|
||||
x_31 = lean_array_push(x_25, x_30);
|
||||
x_32 = lean_io_ref_set(x_3, x_31, x_28);
|
||||
if (lean_obj_tag(x_32) == 0)
|
||||
{
|
||||
uint8_t x_33;
|
||||
x_33 = !lean_is_exclusive(x_32);
|
||||
if (x_33 == 0)
|
||||
{
|
||||
lean_object* x_34;
|
||||
x_34 = lean_ctor_get(x_32, 0);
|
||||
lean_dec(x_34);
|
||||
lean_ctor_set(x_32, 0, x_23);
|
||||
return x_32;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36;
|
||||
x_35 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_35);
|
||||
lean_dec(x_32);
|
||||
x_36 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_23);
|
||||
lean_ctor_set(x_36, 1, x_35);
|
||||
return x_36;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_37;
|
||||
lean_dec(x_23);
|
||||
x_37 = !lean_is_exclusive(x_32);
|
||||
if (x_37 == 0)
|
||||
x_26 = lean_io_ref_reset(x_3, x_25);
|
||||
if (lean_obj_tag(x_26) == 0)
|
||||
{
|
||||
return x_32;
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
|
||||
x_27 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_27);
|
||||
lean_dec(x_26);
|
||||
x_28 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_22);
|
||||
x_29 = x_22;
|
||||
x_30 = lean_array_push(x_24, x_29);
|
||||
x_31 = lean_io_ref_set(x_3, x_30, x_27);
|
||||
if (lean_obj_tag(x_31) == 0)
|
||||
{
|
||||
uint8_t x_32;
|
||||
x_32 = !lean_is_exclusive(x_31);
|
||||
if (x_32 == 0)
|
||||
{
|
||||
lean_object* x_33;
|
||||
x_33 = lean_ctor_get(x_31, 0);
|
||||
lean_dec(x_33);
|
||||
lean_ctor_set(x_31, 0, x_22);
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_38; lean_object* x_39; lean_object* x_40;
|
||||
x_38 = lean_ctor_get(x_32, 0);
|
||||
x_39 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_39);
|
||||
lean_object* x_34; lean_object* x_35;
|
||||
x_34 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_34);
|
||||
lean_dec(x_31);
|
||||
x_35 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_35, 0, x_22);
|
||||
lean_ctor_set(x_35, 1, x_34);
|
||||
return x_35;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_36;
|
||||
lean_dec(x_22);
|
||||
x_36 = !lean_is_exclusive(x_31);
|
||||
if (x_36 == 0)
|
||||
{
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_37; lean_object* x_38; lean_object* x_39;
|
||||
x_37 = lean_ctor_get(x_31, 0);
|
||||
x_38 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_38);
|
||||
lean_dec(x_32);
|
||||
x_40 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_40, 0, x_38);
|
||||
lean_ctor_set(x_40, 1, x_39);
|
||||
return x_40;
|
||||
lean_inc(x_37);
|
||||
lean_dec(x_31);
|
||||
x_39 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_37);
|
||||
lean_ctor_set(x_39, 1, x_38);
|
||||
return x_39;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_41;
|
||||
lean_dec(x_25);
|
||||
lean_dec(x_23);
|
||||
x_41 = !lean_is_exclusive(x_27);
|
||||
if (x_41 == 0)
|
||||
{
|
||||
return x_27;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44;
|
||||
x_42 = lean_ctor_get(x_27, 0);
|
||||
x_43 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_43);
|
||||
lean_inc(x_42);
|
||||
lean_dec(x_27);
|
||||
x_44 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_44, 0, x_42);
|
||||
lean_ctor_set(x_44, 1, x_43);
|
||||
return x_44;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_45;
|
||||
lean_dec(x_23);
|
||||
x_45 = !lean_is_exclusive(x_24);
|
||||
if (x_45 == 0)
|
||||
{
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_46; lean_object* x_47; lean_object* x_48;
|
||||
x_46 = lean_ctor_get(x_24, 0);
|
||||
x_47 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_47);
|
||||
lean_inc(x_46);
|
||||
uint8_t x_40;
|
||||
lean_dec(x_24);
|
||||
x_48 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_48, 0, x_46);
|
||||
lean_ctor_set(x_48, 1, x_47);
|
||||
return x_48;
|
||||
lean_dec(x_22);
|
||||
x_40 = !lean_is_exclusive(x_26);
|
||||
if (x_40 == 0)
|
||||
{
|
||||
return x_26;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_41; lean_object* x_42; lean_object* x_43;
|
||||
x_41 = lean_ctor_get(x_26, 0);
|
||||
x_42 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_42);
|
||||
lean_inc(x_41);
|
||||
lean_dec(x_26);
|
||||
x_43 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_43, 0, x_41);
|
||||
lean_ctor_set(x_43, 1, x_42);
|
||||
return x_43;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_49;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_1);
|
||||
x_49 = !lean_is_exclusive(x_16);
|
||||
if (x_49 == 0)
|
||||
uint8_t x_44;
|
||||
lean_dec(x_22);
|
||||
x_44 = !lean_is_exclusive(x_23);
|
||||
if (x_44 == 0)
|
||||
{
|
||||
return x_16;
|
||||
return x_23;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_50; lean_object* x_51; lean_object* x_52;
|
||||
x_50 = lean_ctor_get(x_16, 0);
|
||||
x_51 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_51);
|
||||
lean_inc(x_50);
|
||||
lean_object* x_45; lean_object* x_46; lean_object* x_47;
|
||||
x_45 = lean_ctor_get(x_23, 0);
|
||||
x_46 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_46);
|
||||
lean_inc(x_45);
|
||||
lean_dec(x_23);
|
||||
x_47 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_47, 0, x_45);
|
||||
lean_ctor_set(x_47, 1, x_46);
|
||||
return x_47;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_48;
|
||||
lean_dec(x_16);
|
||||
x_52 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_52, 0, x_50);
|
||||
lean_ctor_set(x_52, 1, x_51);
|
||||
return x_52;
|
||||
lean_dec(x_15);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_11);
|
||||
x_48 = !lean_is_exclusive(x_19);
|
||||
if (x_48 == 0)
|
||||
{
|
||||
return x_19;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_49; lean_object* x_50; lean_object* x_51;
|
||||
x_49 = lean_ctor_get(x_19, 0);
|
||||
x_50 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_50);
|
||||
lean_inc(x_49);
|
||||
lean_dec(x_19);
|
||||
x_51 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_51, 0, x_49);
|
||||
lean_ctor_set(x_51, 1, x_50);
|
||||
return x_51;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
|
||||
x_53 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_53);
|
||||
lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
|
||||
x_52 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_1);
|
||||
x_54 = l_Lean_Name_toString___closed__1;
|
||||
x_55 = l_Lean_Name_toStringWithSep___main(x_54, x_53);
|
||||
x_56 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_57 = lean_string_append(x_56, x_55);
|
||||
lean_dec(x_55);
|
||||
x_58 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_59 = lean_string_append(x_57, x_58);
|
||||
x_53 = l_Lean_Name_toString___closed__1;
|
||||
x_54 = l_Lean_Name_toStringWithSep___main(x_53, x_52);
|
||||
x_55 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_56 = lean_string_append(x_55, x_54);
|
||||
lean_dec(x_54);
|
||||
x_57 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_58 = lean_string_append(x_56, x_57);
|
||||
lean_ctor_set_tag(x_4, 1);
|
||||
lean_ctor_set(x_4, 0, x_59);
|
||||
lean_ctor_set(x_4, 0, x_58);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64;
|
||||
x_60 = lean_ctor_get(x_4, 0);
|
||||
x_61 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_61);
|
||||
lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63;
|
||||
x_59 = lean_ctor_get(x_4, 0);
|
||||
x_60 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_60);
|
||||
lean_inc(x_59);
|
||||
lean_dec(x_4);
|
||||
x_62 = lean_array_get_size(x_60);
|
||||
x_63 = lean_unsigned_to_nat(0u);
|
||||
x_64 = l_Array_anyRangeMAux___main___at_Lean_mkAliasExtension___spec__10(x_1, x_60, x_60, x_62, x_63);
|
||||
lean_dec(x_62);
|
||||
lean_dec(x_60);
|
||||
if (x_64 == 0)
|
||||
x_61 = lean_array_get_size(x_59);
|
||||
x_62 = lean_unsigned_to_nat(0u);
|
||||
x_63 = l_Array_anyRangeMAux___main___at_Lean_mkAliasExtension___spec__10(x_1, x_59, x_59, x_61, x_62);
|
||||
lean_dec(x_61);
|
||||
lean_dec(x_59);
|
||||
if (x_63 == 0)
|
||||
{
|
||||
lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
|
||||
lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
|
||||
x_64 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_64);
|
||||
x_65 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_65);
|
||||
x_66 = l_Array_empty___closed__1;
|
||||
lean_inc(x_65);
|
||||
x_67 = lean_apply_1(x_65, x_66);
|
||||
x_68 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_69 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_69, 0, x_67);
|
||||
lean_closure_set(x_69, 1, x_68);
|
||||
x_70 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkAliasExtension___spec__11(x_69, x_61);
|
||||
if (lean_obj_tag(x_70) == 0)
|
||||
x_66 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_66);
|
||||
x_67 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_67);
|
||||
x_68 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_68);
|
||||
x_69 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_69);
|
||||
lean_dec(x_1);
|
||||
x_70 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_71 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_71, 0, x_65);
|
||||
lean_closure_set(x_71, 1, x_70);
|
||||
x_72 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkAliasExtension___spec__11(x_71, x_60);
|
||||
if (lean_obj_tag(x_72) == 0)
|
||||
{
|
||||
lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
|
||||
x_71 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_71);
|
||||
x_72 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_72);
|
||||
lean_dec(x_70);
|
||||
x_73 = lean_ctor_get(x_1, 0);
|
||||
lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
|
||||
x_73 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_73);
|
||||
x_74 = lean_ctor_get(x_1, 2);
|
||||
x_74 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_74);
|
||||
x_75 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_75);
|
||||
x_76 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_76);
|
||||
lean_dec(x_1);
|
||||
x_77 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_77, 0, x_71);
|
||||
lean_ctor_set(x_77, 1, x_73);
|
||||
lean_ctor_set(x_77, 2, x_65);
|
||||
lean_ctor_set(x_77, 3, x_74);
|
||||
lean_ctor_set(x_77, 4, x_75);
|
||||
lean_ctor_set(x_77, 5, x_76);
|
||||
x_78 = lean_io_ref_get(x_3, x_72);
|
||||
if (lean_obj_tag(x_78) == 0)
|
||||
lean_dec(x_72);
|
||||
x_75 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_75, 0, x_73);
|
||||
lean_ctor_set(x_75, 1, x_64);
|
||||
lean_ctor_set(x_75, 2, x_66);
|
||||
lean_ctor_set(x_75, 3, x_67);
|
||||
lean_ctor_set(x_75, 4, x_68);
|
||||
lean_ctor_set(x_75, 5, x_69);
|
||||
x_76 = lean_io_ref_get(x_3, x_74);
|
||||
if (lean_obj_tag(x_76) == 0)
|
||||
{
|
||||
lean_object* x_79; lean_object* x_80; lean_object* x_81;
|
||||
x_79 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_79);
|
||||
x_80 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_78);
|
||||
x_81 = lean_io_ref_reset(x_3, x_80);
|
||||
if (lean_obj_tag(x_81) == 0)
|
||||
{
|
||||
lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86;
|
||||
x_82 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_82);
|
||||
lean_dec(x_81);
|
||||
x_83 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_object* x_77; lean_object* x_78; lean_object* x_79;
|
||||
x_77 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_77);
|
||||
x_84 = x_77;
|
||||
x_85 = lean_array_push(x_79, x_84);
|
||||
x_86 = lean_io_ref_set(x_3, x_85, x_82);
|
||||
if (lean_obj_tag(x_86) == 0)
|
||||
x_78 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_78);
|
||||
lean_dec(x_76);
|
||||
x_79 = lean_io_ref_reset(x_3, x_78);
|
||||
if (lean_obj_tag(x_79) == 0)
|
||||
{
|
||||
lean_object* x_87; lean_object* x_88; lean_object* x_89;
|
||||
x_87 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_87);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_88 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_88 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_88)) {
|
||||
x_89 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_89 = x_88;
|
||||
}
|
||||
lean_ctor_set(x_89, 0, x_77);
|
||||
lean_ctor_set(x_89, 1, x_87);
|
||||
return x_89;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93;
|
||||
lean_dec(x_77);
|
||||
x_90 = lean_ctor_get(x_86, 0);
|
||||
lean_inc(x_90);
|
||||
x_91 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_91);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_92 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_92 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_92)) {
|
||||
x_93 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_93 = x_92;
|
||||
}
|
||||
lean_ctor_set(x_93, 0, x_90);
|
||||
lean_ctor_set(x_93, 1, x_91);
|
||||
return x_93;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97;
|
||||
lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
|
||||
x_80 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_79);
|
||||
x_81 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_75);
|
||||
x_82 = x_75;
|
||||
x_83 = lean_array_push(x_77, x_82);
|
||||
x_84 = lean_io_ref_set(x_3, x_83, x_80);
|
||||
if (lean_obj_tag(x_84) == 0)
|
||||
{
|
||||
lean_object* x_85; lean_object* x_86; lean_object* x_87;
|
||||
x_85 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_85);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_86 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_86 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_86)) {
|
||||
x_87 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_87 = x_86;
|
||||
}
|
||||
lean_ctor_set(x_87, 0, x_75);
|
||||
lean_ctor_set(x_87, 1, x_85);
|
||||
return x_87;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91;
|
||||
lean_dec(x_75);
|
||||
x_88 = lean_ctor_get(x_84, 0);
|
||||
lean_inc(x_88);
|
||||
x_89 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_89);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_90 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_90 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_90)) {
|
||||
x_91 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_91 = x_90;
|
||||
}
|
||||
lean_ctor_set(x_91, 0, x_88);
|
||||
lean_ctor_set(x_91, 1, x_89);
|
||||
return x_91;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95;
|
||||
lean_dec(x_77);
|
||||
x_94 = lean_ctor_get(x_81, 0);
|
||||
lean_inc(x_94);
|
||||
x_95 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_95);
|
||||
if (lean_is_exclusive(x_81)) {
|
||||
lean_ctor_release(x_81, 0);
|
||||
lean_ctor_release(x_81, 1);
|
||||
x_96 = x_81;
|
||||
lean_dec(x_75);
|
||||
x_92 = lean_ctor_get(x_79, 0);
|
||||
lean_inc(x_92);
|
||||
x_93 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_93);
|
||||
if (lean_is_exclusive(x_79)) {
|
||||
lean_ctor_release(x_79, 0);
|
||||
lean_ctor_release(x_79, 1);
|
||||
x_94 = x_79;
|
||||
} else {
|
||||
lean_dec_ref(x_81);
|
||||
x_96 = lean_box(0);
|
||||
lean_dec_ref(x_79);
|
||||
x_94 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_96)) {
|
||||
x_97 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_94)) {
|
||||
x_95 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_97 = x_96;
|
||||
x_95 = x_94;
|
||||
}
|
||||
lean_ctor_set(x_97, 0, x_94);
|
||||
lean_ctor_set(x_97, 1, x_95);
|
||||
return x_97;
|
||||
lean_ctor_set(x_95, 0, x_92);
|
||||
lean_ctor_set(x_95, 1, x_93);
|
||||
return x_95;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101;
|
||||
lean_dec(x_77);
|
||||
x_98 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_98);
|
||||
x_99 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_99);
|
||||
if (lean_is_exclusive(x_78)) {
|
||||
lean_ctor_release(x_78, 0);
|
||||
lean_ctor_release(x_78, 1);
|
||||
x_100 = x_78;
|
||||
lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99;
|
||||
lean_dec(x_75);
|
||||
x_96 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_96);
|
||||
x_97 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_97);
|
||||
if (lean_is_exclusive(x_76)) {
|
||||
lean_ctor_release(x_76, 0);
|
||||
lean_ctor_release(x_76, 1);
|
||||
x_98 = x_76;
|
||||
} else {
|
||||
lean_dec_ref(x_78);
|
||||
x_100 = lean_box(0);
|
||||
lean_dec_ref(x_76);
|
||||
x_98 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_100)) {
|
||||
x_101 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_98)) {
|
||||
x_99 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_101 = x_100;
|
||||
x_99 = x_98;
|
||||
}
|
||||
lean_ctor_set(x_101, 0, x_98);
|
||||
lean_ctor_set(x_101, 1, x_99);
|
||||
return x_101;
|
||||
lean_ctor_set(x_99, 0, x_96);
|
||||
lean_ctor_set(x_99, 1, x_97);
|
||||
return x_99;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105;
|
||||
lean_dec(x_65);
|
||||
lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103;
|
||||
lean_dec(x_69);
|
||||
lean_dec(x_68);
|
||||
lean_dec(x_67);
|
||||
lean_dec(x_66);
|
||||
lean_dec(x_64);
|
||||
x_100 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_100);
|
||||
x_101 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_101);
|
||||
if (lean_is_exclusive(x_72)) {
|
||||
lean_ctor_release(x_72, 0);
|
||||
lean_ctor_release(x_72, 1);
|
||||
x_102 = x_72;
|
||||
} else {
|
||||
lean_dec_ref(x_72);
|
||||
x_102 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_102)) {
|
||||
x_103 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_103 = x_102;
|
||||
}
|
||||
lean_ctor_set(x_103, 0, x_100);
|
||||
lean_ctor_set(x_103, 1, x_101);
|
||||
return x_103;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111;
|
||||
x_104 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_104);
|
||||
lean_dec(x_1);
|
||||
x_102 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_102);
|
||||
x_103 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_103);
|
||||
if (lean_is_exclusive(x_70)) {
|
||||
lean_ctor_release(x_70, 0);
|
||||
lean_ctor_release(x_70, 1);
|
||||
x_104 = x_70;
|
||||
} else {
|
||||
lean_dec_ref(x_70);
|
||||
x_104 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_104)) {
|
||||
x_105 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_105 = x_104;
|
||||
}
|
||||
lean_ctor_set(x_105, 0, x_102);
|
||||
lean_ctor_set(x_105, 1, x_103);
|
||||
return x_105;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113;
|
||||
x_106 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_106);
|
||||
lean_dec(x_1);
|
||||
x_107 = l_Lean_Name_toString___closed__1;
|
||||
x_108 = l_Lean_Name_toStringWithSep___main(x_107, x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_110 = lean_string_append(x_109, x_108);
|
||||
lean_dec(x_108);
|
||||
x_111 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_112 = lean_string_append(x_110, x_111);
|
||||
x_113 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_113, 0, x_112);
|
||||
lean_ctor_set(x_113, 1, x_61);
|
||||
return x_113;
|
||||
x_105 = l_Lean_Name_toString___closed__1;
|
||||
x_106 = l_Lean_Name_toStringWithSep___main(x_105, x_104);
|
||||
x_107 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_108 = lean_string_append(x_107, x_106);
|
||||
lean_dec(x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_110 = lean_string_append(x_108, x_109);
|
||||
x_111 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_111, 0, x_110);
|
||||
lean_ctor_set(x_111, 1, x_60);
|
||||
return x_111;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_114;
|
||||
uint8_t x_112;
|
||||
lean_dec(x_1);
|
||||
x_114 = !lean_is_exclusive(x_4);
|
||||
if (x_114 == 0)
|
||||
x_112 = !lean_is_exclusive(x_4);
|
||||
if (x_112 == 0)
|
||||
{
|
||||
return x_4;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_115; lean_object* x_116; lean_object* x_117;
|
||||
x_115 = lean_ctor_get(x_4, 0);
|
||||
x_116 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_116);
|
||||
lean_inc(x_115);
|
||||
lean_object* x_113; lean_object* x_114; lean_object* x_115;
|
||||
x_113 = lean_ctor_get(x_4, 0);
|
||||
x_114 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_114);
|
||||
lean_inc(x_113);
|
||||
lean_dec(x_4);
|
||||
x_117 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_117, 0, x_115);
|
||||
lean_ctor_set(x_117, 1, x_116);
|
||||
return x_117;
|
||||
x_115 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_115, 0, x_113);
|
||||
lean_ctor_set(x_115, 1, x_114);
|
||||
return x_115;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2312,26 +2317,38 @@ return x_117;
|
|||
lean_object* l_Lean_registerSimplePersistentEnvExtension___at_Lean_mkAliasExtension___spec__8(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
|
||||
x_3 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_3);
|
||||
x_4 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_4);
|
||||
x_5 = lean_box(0);
|
||||
x_6 = l_Array_empty___closed__1;
|
||||
lean_inc(x_4);
|
||||
x_7 = lean_apply_1(x_4, x_6);
|
||||
x_8 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_8, 0, x_5);
|
||||
lean_ctor_set(x_8, 1, x_7);
|
||||
x_9 = lean_alloc_closure((void*)(l_EStateM_pure___rarg), 2, 1);
|
||||
lean_closure_set(x_9, 0, x_8);
|
||||
x_10 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1___boxed), 5, 2);
|
||||
lean_closure_set(x_10, 0, x_4);
|
||||
lean_closure_set(x_10, 1, x_5);
|
||||
lean_inc(x_1);
|
||||
x_4 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1), 3, 1);
|
||||
lean_closure_set(x_4, 0, x_1);
|
||||
lean_inc(x_1);
|
||||
x_5 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2), 3, 1);
|
||||
lean_closure_set(x_5, 0, x_1);
|
||||
x_6 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3), 2, 1);
|
||||
lean_closure_set(x_6, 0, x_1);
|
||||
x_7 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1;
|
||||
x_8 = lean_alloc_ctor(0, 5, 0);
|
||||
lean_ctor_set(x_8, 0, x_3);
|
||||
lean_ctor_set(x_8, 1, x_4);
|
||||
lean_ctor_set(x_8, 2, x_5);
|
||||
lean_ctor_set(x_8, 3, x_6);
|
||||
lean_ctor_set(x_8, 4, x_7);
|
||||
x_9 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_mkAliasExtension___spec__9(x_8, x_2);
|
||||
return x_9;
|
||||
x_11 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2), 3, 1);
|
||||
lean_closure_set(x_11, 0, x_1);
|
||||
x_12 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3), 2, 1);
|
||||
lean_closure_set(x_12, 0, x_1);
|
||||
x_13 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1;
|
||||
x_14 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_14, 0, x_3);
|
||||
lean_ctor_set(x_14, 1, x_9);
|
||||
lean_ctor_set(x_14, 2, x_10);
|
||||
lean_ctor_set(x_14, 3, x_11);
|
||||
lean_ctor_set(x_14, 4, x_12);
|
||||
lean_ctor_set(x_14, 5, x_13);
|
||||
x_15 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_mkAliasExtension___spec__9(x_14, x_2);
|
||||
return x_15;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_mkAliasExtension___lambda__1(lean_object* x_1) {
|
||||
|
|
@ -2489,12 +2506,12 @@ lean_ctor_set(x_3, 1, x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_aliasExtension___elambda__4(lean_object* x_1) {
|
||||
lean_object* l_Lean_aliasExtension___elambda__4(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_alloc_closure((void*)(l_Lean_aliasExtension___elambda__4___rarg), 1, 0);
|
||||
return x_2;
|
||||
lean_object* x_3;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_aliasExtension___elambda__4___rarg), 1, 0);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_aliasExtension___closed__1() {
|
||||
|
|
@ -2553,7 +2570,7 @@ lean_object* _init_l_Lean_aliasExtension___closed__5() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_aliasExtension___elambda__4___boxed), 1, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_aliasExtension___elambda__4___boxed), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -2629,13 +2646,14 @@ lean_dec(x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_aliasExtension___elambda__4___boxed(lean_object* x_1) {
|
||||
lean_object* l_Lean_aliasExtension___elambda__4___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_aliasExtension___elambda__4(x_1);
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_aliasExtension___elambda__4(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_addAlias(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -45,6 +45,7 @@ lean_object* l_RBNode_find___main___at_Lean_getElaboratorStrategy___spec__2___bo
|
|||
lean_object* l_Lean_elaboratorStrategyAttrs;
|
||||
lean_object* l_Lean_mkElaboratorStrategyAttrs___closed__21;
|
||||
lean_object* lean_nat_add(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_registerTagAttribute___closed__2;
|
||||
extern lean_object* l_Lean_AttributeImpl_inhabited___closed__4;
|
||||
lean_object* l_List_map___main___at_Lean_mkElaboratorStrategyAttrs___spec__8___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_registerTagAttribute___lambda__4___closed__3;
|
||||
|
|
@ -671,443 +672,447 @@ lean_dec(x_8);
|
|||
lean_dec(x_6);
|
||||
if (x_10 == 0)
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
lean_object* x_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_free_object(x_4);
|
||||
x_11 = lean_ctor_get(x_1, 1);
|
||||
x_11 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_11);
|
||||
x_12 = l_Array_empty___closed__1;
|
||||
lean_inc(x_11);
|
||||
x_13 = lean_apply_1(x_11, x_12);
|
||||
x_14 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_15 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_15, 0, x_13);
|
||||
lean_closure_set(x_15, 1, x_14);
|
||||
x_16 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkElaboratorStrategyAttrs___spec__7(x_15, x_7);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
x_12 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_12);
|
||||
x_13 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_13);
|
||||
x_14 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_14);
|
||||
x_15 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_15);
|
||||
x_16 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_1);
|
||||
x_17 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_18 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_18, 0, x_12);
|
||||
lean_closure_set(x_18, 1, x_17);
|
||||
x_19 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkElaboratorStrategyAttrs___spec__7(x_18, x_7);
|
||||
if (lean_obj_tag(x_19) == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_17 = lean_ctor_get(x_16, 0);
|
||||
lean_inc(x_17);
|
||||
x_18 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_16);
|
||||
x_19 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_19);
|
||||
x_20 = lean_ctor_get(x_1, 2);
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
|
||||
x_20 = lean_ctor_get(x_19, 0);
|
||||
lean_inc(x_20);
|
||||
x_21 = lean_ctor_get(x_1, 3);
|
||||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
x_22 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_1);
|
||||
x_23 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_23, 0, x_17);
|
||||
lean_ctor_set(x_23, 1, x_19);
|
||||
lean_ctor_set(x_23, 2, x_11);
|
||||
lean_ctor_set(x_23, 3, x_20);
|
||||
lean_ctor_set(x_23, 4, x_21);
|
||||
lean_ctor_set(x_23, 5, x_22);
|
||||
x_24 = lean_io_ref_get(x_3, x_18);
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
lean_dec(x_19);
|
||||
x_22 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_22, 0, x_20);
|
||||
lean_ctor_set(x_22, 1, x_11);
|
||||
lean_ctor_set(x_22, 2, x_13);
|
||||
lean_ctor_set(x_22, 3, x_14);
|
||||
lean_ctor_set(x_22, 4, x_15);
|
||||
lean_ctor_set(x_22, 5, x_16);
|
||||
x_23 = lean_io_ref_get(x_3, x_21);
|
||||
if (lean_obj_tag(x_23) == 0)
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27;
|
||||
x_25 = lean_ctor_get(x_24, 0);
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_24 = lean_ctor_get(x_23, 0);
|
||||
lean_inc(x_24);
|
||||
x_25 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_25);
|
||||
x_26 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_24);
|
||||
x_27 = lean_io_ref_reset(x_3, x_26);
|
||||
if (lean_obj_tag(x_27) == 0)
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
|
||||
x_28 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_27);
|
||||
x_29 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_23);
|
||||
x_30 = x_23;
|
||||
x_31 = lean_array_push(x_25, x_30);
|
||||
x_32 = lean_io_ref_set(x_3, x_31, x_28);
|
||||
if (lean_obj_tag(x_32) == 0)
|
||||
{
|
||||
uint8_t x_33;
|
||||
x_33 = !lean_is_exclusive(x_32);
|
||||
if (x_33 == 0)
|
||||
{
|
||||
lean_object* x_34;
|
||||
x_34 = lean_ctor_get(x_32, 0);
|
||||
lean_dec(x_34);
|
||||
lean_ctor_set(x_32, 0, x_23);
|
||||
return x_32;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36;
|
||||
x_35 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_35);
|
||||
lean_dec(x_32);
|
||||
x_36 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_23);
|
||||
lean_ctor_set(x_36, 1, x_35);
|
||||
return x_36;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_37;
|
||||
lean_dec(x_23);
|
||||
x_37 = !lean_is_exclusive(x_32);
|
||||
if (x_37 == 0)
|
||||
x_26 = lean_io_ref_reset(x_3, x_25);
|
||||
if (lean_obj_tag(x_26) == 0)
|
||||
{
|
||||
return x_32;
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
|
||||
x_27 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_27);
|
||||
lean_dec(x_26);
|
||||
x_28 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_22);
|
||||
x_29 = x_22;
|
||||
x_30 = lean_array_push(x_24, x_29);
|
||||
x_31 = lean_io_ref_set(x_3, x_30, x_27);
|
||||
if (lean_obj_tag(x_31) == 0)
|
||||
{
|
||||
uint8_t x_32;
|
||||
x_32 = !lean_is_exclusive(x_31);
|
||||
if (x_32 == 0)
|
||||
{
|
||||
lean_object* x_33;
|
||||
x_33 = lean_ctor_get(x_31, 0);
|
||||
lean_dec(x_33);
|
||||
lean_ctor_set(x_31, 0, x_22);
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_38; lean_object* x_39; lean_object* x_40;
|
||||
x_38 = lean_ctor_get(x_32, 0);
|
||||
x_39 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_39);
|
||||
lean_object* x_34; lean_object* x_35;
|
||||
x_34 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_34);
|
||||
lean_dec(x_31);
|
||||
x_35 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_35, 0, x_22);
|
||||
lean_ctor_set(x_35, 1, x_34);
|
||||
return x_35;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_36;
|
||||
lean_dec(x_22);
|
||||
x_36 = !lean_is_exclusive(x_31);
|
||||
if (x_36 == 0)
|
||||
{
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_37; lean_object* x_38; lean_object* x_39;
|
||||
x_37 = lean_ctor_get(x_31, 0);
|
||||
x_38 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_38);
|
||||
lean_dec(x_32);
|
||||
x_40 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_40, 0, x_38);
|
||||
lean_ctor_set(x_40, 1, x_39);
|
||||
return x_40;
|
||||
lean_inc(x_37);
|
||||
lean_dec(x_31);
|
||||
x_39 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_37);
|
||||
lean_ctor_set(x_39, 1, x_38);
|
||||
return x_39;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_41;
|
||||
lean_dec(x_25);
|
||||
lean_dec(x_23);
|
||||
x_41 = !lean_is_exclusive(x_27);
|
||||
if (x_41 == 0)
|
||||
{
|
||||
return x_27;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44;
|
||||
x_42 = lean_ctor_get(x_27, 0);
|
||||
x_43 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_43);
|
||||
lean_inc(x_42);
|
||||
lean_dec(x_27);
|
||||
x_44 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_44, 0, x_42);
|
||||
lean_ctor_set(x_44, 1, x_43);
|
||||
return x_44;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_45;
|
||||
lean_dec(x_23);
|
||||
x_45 = !lean_is_exclusive(x_24);
|
||||
if (x_45 == 0)
|
||||
{
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_46; lean_object* x_47; lean_object* x_48;
|
||||
x_46 = lean_ctor_get(x_24, 0);
|
||||
x_47 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_47);
|
||||
lean_inc(x_46);
|
||||
uint8_t x_40;
|
||||
lean_dec(x_24);
|
||||
x_48 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_48, 0, x_46);
|
||||
lean_ctor_set(x_48, 1, x_47);
|
||||
return x_48;
|
||||
lean_dec(x_22);
|
||||
x_40 = !lean_is_exclusive(x_26);
|
||||
if (x_40 == 0)
|
||||
{
|
||||
return x_26;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_41; lean_object* x_42; lean_object* x_43;
|
||||
x_41 = lean_ctor_get(x_26, 0);
|
||||
x_42 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_42);
|
||||
lean_inc(x_41);
|
||||
lean_dec(x_26);
|
||||
x_43 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_43, 0, x_41);
|
||||
lean_ctor_set(x_43, 1, x_42);
|
||||
return x_43;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_49;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_1);
|
||||
x_49 = !lean_is_exclusive(x_16);
|
||||
if (x_49 == 0)
|
||||
uint8_t x_44;
|
||||
lean_dec(x_22);
|
||||
x_44 = !lean_is_exclusive(x_23);
|
||||
if (x_44 == 0)
|
||||
{
|
||||
return x_16;
|
||||
return x_23;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_50; lean_object* x_51; lean_object* x_52;
|
||||
x_50 = lean_ctor_get(x_16, 0);
|
||||
x_51 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_51);
|
||||
lean_inc(x_50);
|
||||
lean_object* x_45; lean_object* x_46; lean_object* x_47;
|
||||
x_45 = lean_ctor_get(x_23, 0);
|
||||
x_46 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_46);
|
||||
lean_inc(x_45);
|
||||
lean_dec(x_23);
|
||||
x_47 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_47, 0, x_45);
|
||||
lean_ctor_set(x_47, 1, x_46);
|
||||
return x_47;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_48;
|
||||
lean_dec(x_16);
|
||||
x_52 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_52, 0, x_50);
|
||||
lean_ctor_set(x_52, 1, x_51);
|
||||
return x_52;
|
||||
lean_dec(x_15);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_11);
|
||||
x_48 = !lean_is_exclusive(x_19);
|
||||
if (x_48 == 0)
|
||||
{
|
||||
return x_19;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_49; lean_object* x_50; lean_object* x_51;
|
||||
x_49 = lean_ctor_get(x_19, 0);
|
||||
x_50 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_50);
|
||||
lean_inc(x_49);
|
||||
lean_dec(x_19);
|
||||
x_51 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_51, 0, x_49);
|
||||
lean_ctor_set(x_51, 1, x_50);
|
||||
return x_51;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
|
||||
x_53 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_53);
|
||||
lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
|
||||
x_52 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_1);
|
||||
x_54 = l_Lean_Name_toString___closed__1;
|
||||
x_55 = l_Lean_Name_toStringWithSep___main(x_54, x_53);
|
||||
x_56 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_57 = lean_string_append(x_56, x_55);
|
||||
lean_dec(x_55);
|
||||
x_58 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_59 = lean_string_append(x_57, x_58);
|
||||
x_53 = l_Lean_Name_toString___closed__1;
|
||||
x_54 = l_Lean_Name_toStringWithSep___main(x_53, x_52);
|
||||
x_55 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_56 = lean_string_append(x_55, x_54);
|
||||
lean_dec(x_54);
|
||||
x_57 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_58 = lean_string_append(x_56, x_57);
|
||||
lean_ctor_set_tag(x_4, 1);
|
||||
lean_ctor_set(x_4, 0, x_59);
|
||||
lean_ctor_set(x_4, 0, x_58);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64;
|
||||
x_60 = lean_ctor_get(x_4, 0);
|
||||
x_61 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_61);
|
||||
lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63;
|
||||
x_59 = lean_ctor_get(x_4, 0);
|
||||
x_60 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_60);
|
||||
lean_inc(x_59);
|
||||
lean_dec(x_4);
|
||||
x_62 = lean_array_get_size(x_60);
|
||||
x_63 = lean_unsigned_to_nat(0u);
|
||||
x_64 = l_Array_anyRangeMAux___main___at_Lean_mkElaboratorStrategyAttrs___spec__6(x_1, x_60, x_60, x_62, x_63);
|
||||
lean_dec(x_62);
|
||||
lean_dec(x_60);
|
||||
if (x_64 == 0)
|
||||
x_61 = lean_array_get_size(x_59);
|
||||
x_62 = lean_unsigned_to_nat(0u);
|
||||
x_63 = l_Array_anyRangeMAux___main___at_Lean_mkElaboratorStrategyAttrs___spec__6(x_1, x_59, x_59, x_61, x_62);
|
||||
lean_dec(x_61);
|
||||
lean_dec(x_59);
|
||||
if (x_63 == 0)
|
||||
{
|
||||
lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
|
||||
lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
|
||||
x_64 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_64);
|
||||
x_65 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_65);
|
||||
x_66 = l_Array_empty___closed__1;
|
||||
lean_inc(x_65);
|
||||
x_67 = lean_apply_1(x_65, x_66);
|
||||
x_68 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_69 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_69, 0, x_67);
|
||||
lean_closure_set(x_69, 1, x_68);
|
||||
x_70 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkElaboratorStrategyAttrs___spec__7(x_69, x_61);
|
||||
if (lean_obj_tag(x_70) == 0)
|
||||
x_66 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_66);
|
||||
x_67 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_67);
|
||||
x_68 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_68);
|
||||
x_69 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_69);
|
||||
lean_dec(x_1);
|
||||
x_70 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_71 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_71, 0, x_65);
|
||||
lean_closure_set(x_71, 1, x_70);
|
||||
x_72 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkElaboratorStrategyAttrs___spec__7(x_71, x_60);
|
||||
if (lean_obj_tag(x_72) == 0)
|
||||
{
|
||||
lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
|
||||
x_71 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_71);
|
||||
x_72 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_72);
|
||||
lean_dec(x_70);
|
||||
x_73 = lean_ctor_get(x_1, 0);
|
||||
lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
|
||||
x_73 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_73);
|
||||
x_74 = lean_ctor_get(x_1, 2);
|
||||
x_74 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_74);
|
||||
x_75 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_75);
|
||||
x_76 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_76);
|
||||
lean_dec(x_1);
|
||||
x_77 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_77, 0, x_71);
|
||||
lean_ctor_set(x_77, 1, x_73);
|
||||
lean_ctor_set(x_77, 2, x_65);
|
||||
lean_ctor_set(x_77, 3, x_74);
|
||||
lean_ctor_set(x_77, 4, x_75);
|
||||
lean_ctor_set(x_77, 5, x_76);
|
||||
x_78 = lean_io_ref_get(x_3, x_72);
|
||||
if (lean_obj_tag(x_78) == 0)
|
||||
lean_dec(x_72);
|
||||
x_75 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_75, 0, x_73);
|
||||
lean_ctor_set(x_75, 1, x_64);
|
||||
lean_ctor_set(x_75, 2, x_66);
|
||||
lean_ctor_set(x_75, 3, x_67);
|
||||
lean_ctor_set(x_75, 4, x_68);
|
||||
lean_ctor_set(x_75, 5, x_69);
|
||||
x_76 = lean_io_ref_get(x_3, x_74);
|
||||
if (lean_obj_tag(x_76) == 0)
|
||||
{
|
||||
lean_object* x_79; lean_object* x_80; lean_object* x_81;
|
||||
x_79 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_79);
|
||||
x_80 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_78);
|
||||
x_81 = lean_io_ref_reset(x_3, x_80);
|
||||
if (lean_obj_tag(x_81) == 0)
|
||||
{
|
||||
lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86;
|
||||
x_82 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_82);
|
||||
lean_dec(x_81);
|
||||
x_83 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_object* x_77; lean_object* x_78; lean_object* x_79;
|
||||
x_77 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_77);
|
||||
x_84 = x_77;
|
||||
x_85 = lean_array_push(x_79, x_84);
|
||||
x_86 = lean_io_ref_set(x_3, x_85, x_82);
|
||||
if (lean_obj_tag(x_86) == 0)
|
||||
x_78 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_78);
|
||||
lean_dec(x_76);
|
||||
x_79 = lean_io_ref_reset(x_3, x_78);
|
||||
if (lean_obj_tag(x_79) == 0)
|
||||
{
|
||||
lean_object* x_87; lean_object* x_88; lean_object* x_89;
|
||||
x_87 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_87);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_88 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_88 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_88)) {
|
||||
x_89 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_89 = x_88;
|
||||
}
|
||||
lean_ctor_set(x_89, 0, x_77);
|
||||
lean_ctor_set(x_89, 1, x_87);
|
||||
return x_89;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93;
|
||||
lean_dec(x_77);
|
||||
x_90 = lean_ctor_get(x_86, 0);
|
||||
lean_inc(x_90);
|
||||
x_91 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_91);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_92 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_92 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_92)) {
|
||||
x_93 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_93 = x_92;
|
||||
}
|
||||
lean_ctor_set(x_93, 0, x_90);
|
||||
lean_ctor_set(x_93, 1, x_91);
|
||||
return x_93;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97;
|
||||
lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
|
||||
x_80 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_79);
|
||||
x_81 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_75);
|
||||
x_82 = x_75;
|
||||
x_83 = lean_array_push(x_77, x_82);
|
||||
x_84 = lean_io_ref_set(x_3, x_83, x_80);
|
||||
if (lean_obj_tag(x_84) == 0)
|
||||
{
|
||||
lean_object* x_85; lean_object* x_86; lean_object* x_87;
|
||||
x_85 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_85);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_86 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_86 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_86)) {
|
||||
x_87 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_87 = x_86;
|
||||
}
|
||||
lean_ctor_set(x_87, 0, x_75);
|
||||
lean_ctor_set(x_87, 1, x_85);
|
||||
return x_87;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91;
|
||||
lean_dec(x_75);
|
||||
x_88 = lean_ctor_get(x_84, 0);
|
||||
lean_inc(x_88);
|
||||
x_89 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_89);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_90 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_90 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_90)) {
|
||||
x_91 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_91 = x_90;
|
||||
}
|
||||
lean_ctor_set(x_91, 0, x_88);
|
||||
lean_ctor_set(x_91, 1, x_89);
|
||||
return x_91;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95;
|
||||
lean_dec(x_77);
|
||||
x_94 = lean_ctor_get(x_81, 0);
|
||||
lean_inc(x_94);
|
||||
x_95 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_95);
|
||||
if (lean_is_exclusive(x_81)) {
|
||||
lean_ctor_release(x_81, 0);
|
||||
lean_ctor_release(x_81, 1);
|
||||
x_96 = x_81;
|
||||
lean_dec(x_75);
|
||||
x_92 = lean_ctor_get(x_79, 0);
|
||||
lean_inc(x_92);
|
||||
x_93 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_93);
|
||||
if (lean_is_exclusive(x_79)) {
|
||||
lean_ctor_release(x_79, 0);
|
||||
lean_ctor_release(x_79, 1);
|
||||
x_94 = x_79;
|
||||
} else {
|
||||
lean_dec_ref(x_81);
|
||||
x_96 = lean_box(0);
|
||||
lean_dec_ref(x_79);
|
||||
x_94 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_96)) {
|
||||
x_97 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_94)) {
|
||||
x_95 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_97 = x_96;
|
||||
x_95 = x_94;
|
||||
}
|
||||
lean_ctor_set(x_97, 0, x_94);
|
||||
lean_ctor_set(x_97, 1, x_95);
|
||||
return x_97;
|
||||
lean_ctor_set(x_95, 0, x_92);
|
||||
lean_ctor_set(x_95, 1, x_93);
|
||||
return x_95;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101;
|
||||
lean_dec(x_77);
|
||||
x_98 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_98);
|
||||
x_99 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_99);
|
||||
if (lean_is_exclusive(x_78)) {
|
||||
lean_ctor_release(x_78, 0);
|
||||
lean_ctor_release(x_78, 1);
|
||||
x_100 = x_78;
|
||||
lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99;
|
||||
lean_dec(x_75);
|
||||
x_96 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_96);
|
||||
x_97 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_97);
|
||||
if (lean_is_exclusive(x_76)) {
|
||||
lean_ctor_release(x_76, 0);
|
||||
lean_ctor_release(x_76, 1);
|
||||
x_98 = x_76;
|
||||
} else {
|
||||
lean_dec_ref(x_78);
|
||||
x_100 = lean_box(0);
|
||||
lean_dec_ref(x_76);
|
||||
x_98 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_100)) {
|
||||
x_101 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_98)) {
|
||||
x_99 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_101 = x_100;
|
||||
x_99 = x_98;
|
||||
}
|
||||
lean_ctor_set(x_101, 0, x_98);
|
||||
lean_ctor_set(x_101, 1, x_99);
|
||||
return x_101;
|
||||
lean_ctor_set(x_99, 0, x_96);
|
||||
lean_ctor_set(x_99, 1, x_97);
|
||||
return x_99;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105;
|
||||
lean_dec(x_65);
|
||||
lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103;
|
||||
lean_dec(x_69);
|
||||
lean_dec(x_68);
|
||||
lean_dec(x_67);
|
||||
lean_dec(x_66);
|
||||
lean_dec(x_64);
|
||||
x_100 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_100);
|
||||
x_101 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_101);
|
||||
if (lean_is_exclusive(x_72)) {
|
||||
lean_ctor_release(x_72, 0);
|
||||
lean_ctor_release(x_72, 1);
|
||||
x_102 = x_72;
|
||||
} else {
|
||||
lean_dec_ref(x_72);
|
||||
x_102 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_102)) {
|
||||
x_103 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_103 = x_102;
|
||||
}
|
||||
lean_ctor_set(x_103, 0, x_100);
|
||||
lean_ctor_set(x_103, 1, x_101);
|
||||
return x_103;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111;
|
||||
x_104 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_104);
|
||||
lean_dec(x_1);
|
||||
x_102 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_102);
|
||||
x_103 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_103);
|
||||
if (lean_is_exclusive(x_70)) {
|
||||
lean_ctor_release(x_70, 0);
|
||||
lean_ctor_release(x_70, 1);
|
||||
x_104 = x_70;
|
||||
} else {
|
||||
lean_dec_ref(x_70);
|
||||
x_104 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_104)) {
|
||||
x_105 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_105 = x_104;
|
||||
}
|
||||
lean_ctor_set(x_105, 0, x_102);
|
||||
lean_ctor_set(x_105, 1, x_103);
|
||||
return x_105;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113;
|
||||
x_106 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_106);
|
||||
lean_dec(x_1);
|
||||
x_107 = l_Lean_Name_toString___closed__1;
|
||||
x_108 = l_Lean_Name_toStringWithSep___main(x_107, x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_110 = lean_string_append(x_109, x_108);
|
||||
lean_dec(x_108);
|
||||
x_111 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_112 = lean_string_append(x_110, x_111);
|
||||
x_113 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_113, 0, x_112);
|
||||
lean_ctor_set(x_113, 1, x_61);
|
||||
return x_113;
|
||||
x_105 = l_Lean_Name_toString___closed__1;
|
||||
x_106 = l_Lean_Name_toStringWithSep___main(x_105, x_104);
|
||||
x_107 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_108 = lean_string_append(x_107, x_106);
|
||||
lean_dec(x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_110 = lean_string_append(x_108, x_109);
|
||||
x_111 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_111, 0, x_110);
|
||||
lean_ctor_set(x_111, 1, x_60);
|
||||
return x_111;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_114;
|
||||
uint8_t x_112;
|
||||
lean_dec(x_1);
|
||||
x_114 = !lean_is_exclusive(x_4);
|
||||
if (x_114 == 0)
|
||||
x_112 = !lean_is_exclusive(x_4);
|
||||
if (x_112 == 0)
|
||||
{
|
||||
return x_4;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_115; lean_object* x_116; lean_object* x_117;
|
||||
x_115 = lean_ctor_get(x_4, 0);
|
||||
x_116 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_116);
|
||||
lean_inc(x_115);
|
||||
lean_object* x_113; lean_object* x_114; lean_object* x_115;
|
||||
x_113 = lean_ctor_get(x_4, 0);
|
||||
x_114 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_114);
|
||||
lean_inc(x_113);
|
||||
lean_dec(x_4);
|
||||
x_117 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_117, 0, x_115);
|
||||
lean_ctor_set(x_117, 1, x_116);
|
||||
return x_117;
|
||||
x_115 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_115, 0, x_113);
|
||||
lean_ctor_set(x_115, 1, x_114);
|
||||
return x_115;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1369,107 +1374,109 @@ return x_1;
|
|||
lean_object* l_Lean_registerEnumAttributes___at_Lean_mkElaboratorStrategyAttrs___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
|
||||
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
|
||||
x_6 = l_Lean_registerTagAttribute___closed__1;
|
||||
x_7 = l_Lean_registerEnumAttributes___at_Lean_mkElaboratorStrategyAttrs___spec__1___closed__1;
|
||||
x_8 = l_Lean_registerEnumAttributes___at_Lean_mkElaboratorStrategyAttrs___spec__1___closed__2;
|
||||
x_9 = l_Lean_registerEnumAttributes___rarg___closed__1;
|
||||
x_10 = lean_alloc_ctor(0, 5, 0);
|
||||
lean_ctor_set(x_10, 0, x_1);
|
||||
lean_ctor_set(x_10, 1, x_6);
|
||||
lean_ctor_set(x_10, 2, x_7);
|
||||
lean_ctor_set(x_10, 3, x_8);
|
||||
lean_ctor_set(x_10, 4, x_9);
|
||||
x_11 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_mkElaboratorStrategyAttrs___spec__5(x_10, x_5);
|
||||
if (lean_obj_tag(x_11) == 0)
|
||||
x_7 = l_Lean_registerTagAttribute___closed__2;
|
||||
x_8 = l_Lean_registerEnumAttributes___at_Lean_mkElaboratorStrategyAttrs___spec__1___closed__1;
|
||||
x_9 = l_Lean_registerEnumAttributes___at_Lean_mkElaboratorStrategyAttrs___spec__1___closed__2;
|
||||
x_10 = l_Lean_registerEnumAttributes___rarg___closed__1;
|
||||
x_11 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_11, 0, x_1);
|
||||
lean_ctor_set(x_11, 1, x_6);
|
||||
lean_ctor_set(x_11, 2, x_7);
|
||||
lean_ctor_set(x_11, 3, x_8);
|
||||
lean_ctor_set(x_11, 4, x_9);
|
||||
lean_ctor_set(x_11, 5, x_10);
|
||||
x_12 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_mkElaboratorStrategyAttrs___spec__5(x_11, x_5);
|
||||
if (lean_obj_tag(x_12) == 0)
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
|
||||
x_12 = lean_ctor_get(x_11, 0);
|
||||
lean_inc(x_12);
|
||||
x_13 = lean_ctor_get(x_11, 1);
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
x_13 = lean_ctor_get(x_12, 0);
|
||||
lean_inc(x_13);
|
||||
lean_dec(x_11);
|
||||
lean_inc(x_12);
|
||||
x_14 = l_List_map___main___at_Lean_mkElaboratorStrategyAttrs___spec__8(x_3, x_4, x_12, x_2);
|
||||
x_14 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_14);
|
||||
x_15 = l_List_forM___main___at_Lean_registerEnumAttributes___spec__11(x_14, x_13);
|
||||
if (lean_obj_tag(x_15) == 0)
|
||||
{
|
||||
uint8_t x_16;
|
||||
x_16 = !lean_is_exclusive(x_15);
|
||||
if (x_16 == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18;
|
||||
x_17 = lean_ctor_get(x_15, 0);
|
||||
lean_dec(x_17);
|
||||
x_18 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_18, 0, x_14);
|
||||
lean_ctor_set(x_18, 1, x_12);
|
||||
lean_ctor_set(x_15, 0, x_18);
|
||||
return x_15;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_19; lean_object* x_20; lean_object* x_21;
|
||||
x_19 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_15);
|
||||
x_20 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_20, 0, x_14);
|
||||
lean_ctor_set(x_20, 1, x_12);
|
||||
x_21 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_21, 0, x_20);
|
||||
lean_ctor_set(x_21, 1, x_19);
|
||||
return x_21;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_22;
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_12);
|
||||
x_22 = !lean_is_exclusive(x_15);
|
||||
if (x_22 == 0)
|
||||
lean_inc(x_13);
|
||||
x_15 = l_List_map___main___at_Lean_mkElaboratorStrategyAttrs___spec__8(x_3, x_4, x_13, x_2);
|
||||
lean_inc(x_15);
|
||||
x_16 = l_List_forM___main___at_Lean_registerEnumAttributes___spec__11(x_15, x_14);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
{
|
||||
return x_15;
|
||||
uint8_t x_17;
|
||||
x_17 = !lean_is_exclusive(x_16);
|
||||
if (x_17 == 0)
|
||||
{
|
||||
lean_object* x_18; lean_object* x_19;
|
||||
x_18 = lean_ctor_get(x_16, 0);
|
||||
lean_dec(x_18);
|
||||
x_19 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_19, 0, x_15);
|
||||
lean_ctor_set(x_19, 1, x_13);
|
||||
lean_ctor_set(x_16, 0, x_19);
|
||||
return x_16;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_23; lean_object* x_24; lean_object* x_25;
|
||||
x_23 = lean_ctor_get(x_15, 0);
|
||||
x_24 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_24);
|
||||
lean_inc(x_23);
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22;
|
||||
x_20 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_20);
|
||||
lean_dec(x_16);
|
||||
x_21 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_21, 0, x_15);
|
||||
lean_ctor_set(x_21, 1, x_13);
|
||||
x_22 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_22, 0, x_21);
|
||||
lean_ctor_set(x_22, 1, x_20);
|
||||
return x_22;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_23;
|
||||
lean_dec(x_15);
|
||||
x_25 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_25, 0, x_23);
|
||||
lean_ctor_set(x_25, 1, x_24);
|
||||
return x_25;
|
||||
lean_dec(x_13);
|
||||
x_23 = !lean_is_exclusive(x_16);
|
||||
if (x_23 == 0)
|
||||
{
|
||||
return x_16;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_24 = lean_ctor_get(x_16, 0);
|
||||
x_25 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_25);
|
||||
lean_inc(x_24);
|
||||
lean_dec(x_16);
|
||||
x_26 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_26, 0, x_24);
|
||||
lean_ctor_set(x_26, 1, x_25);
|
||||
return x_26;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_26;
|
||||
uint8_t x_27;
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_26 = !lean_is_exclusive(x_11);
|
||||
if (x_26 == 0)
|
||||
x_27 = !lean_is_exclusive(x_12);
|
||||
if (x_27 == 0)
|
||||
{
|
||||
return x_11;
|
||||
return x_12;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29;
|
||||
x_27 = lean_ctor_get(x_11, 0);
|
||||
x_28 = lean_ctor_get(x_11, 1);
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30;
|
||||
x_28 = lean_ctor_get(x_12, 0);
|
||||
x_29 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_29);
|
||||
lean_inc(x_28);
|
||||
lean_inc(x_27);
|
||||
lean_dec(x_11);
|
||||
x_29 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_29, 0, x_27);
|
||||
lean_ctor_set(x_29, 1, x_28);
|
||||
return x_29;
|
||||
lean_dec(x_12);
|
||||
x_30 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_30, 0, x_28);
|
||||
lean_ctor_set(x_30, 1, x_29);
|
||||
return x_30;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,6 +67,7 @@ lean_object* l_Lean_Elab_Level_mkFreshId___rarg(lean_object*);
|
|||
lean_object* l_Lean_Elab_Level_elabLevel___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_back___at___private_Init_Lean_Parser_Parser_6__updateCache___spec__1(lean_object*);
|
||||
extern lean_object* l_Lean_Parser_Level_ident___elambda__1___closed__1;
|
||||
uint8_t l_List_elem___main___at_Lean_Parser_addLeadingParser___spec__4(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkLevelMVar(lean_object*);
|
||||
lean_object* l_Lean_Elab_Level_LevelElabM_MonadLog;
|
||||
extern lean_object* l_Lean_Parser_Level_hole___elambda__1___closed__2;
|
||||
|
|
@ -89,7 +90,6 @@ lean_object* l_Lean_mkLevelParam(lean_object*);
|
|||
lean_object* l___private_Init_Data_Array_Basic_4__foldrRangeMAux___main___at_Lean_Elab_Level_elabLevel___main___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Level_LevelElabM_MonadLog___lambda__2___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_throwError___at_Lean_Elab_Level_elabLevel___main___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_List_elem___main___at_Lean_Parser_addBuiltinLeadingParser___spec__4(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__4;
|
||||
lean_object* lean_name_mk_numeral(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Level_elabLevel___main___closed__4;
|
||||
|
|
@ -1122,7 +1122,7 @@ lean_dec(x_4);
|
|||
x_50 = lean_unsigned_to_nat(0u);
|
||||
x_51 = l_Lean_Syntax_getIdAt(x_1, x_50);
|
||||
x_52 = lean_ctor_get(x_2, 3);
|
||||
x_53 = l_List_elem___main___at_Lean_Parser_addBuiltinLeadingParser___spec__4(x_51, x_52);
|
||||
x_53 = l_List_elem___main___at_Lean_Parser_addLeadingParser___spec__4(x_51, x_52);
|
||||
if (x_53 == 0)
|
||||
{
|
||||
lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; uint8_t x_58;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -13,9 +13,10 @@
|
|||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
lean_object* l_Lean_fmt___at_Lean_Elab_mkElabAttribute___spec__1(lean_object*);
|
||||
extern lean_object* l_Lean_Name_toString___closed__1;
|
||||
lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Array_empty___closed__1;
|
||||
lean_object* lean_io_ref_get(lean_object*, lean_object*);
|
||||
lean_object* lean_get_namespaces(lean_object*);
|
||||
|
|
@ -38,7 +39,7 @@ extern lean_object* l_Char_HasRepr___closed__1;
|
|||
lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_name_mk_string(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__1;
|
||||
lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_attrParamSyntaxToIdentifier(lean_object*);
|
||||
lean_object* l_Lean_Elab_mkElabAttribute___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_PersistentEnvExtension_inhabited___rarg___closed__3;
|
||||
|
|
@ -59,6 +60,7 @@ lean_object* l_Lean_Elab_checkSyntaxNodeKind(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_Elab_checkSyntaxNodeKindAtNamespaces___main___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Name_toStringWithSep___main(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_AttributeImpl_inhabited___closed__5;
|
||||
lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*);
|
||||
lean_object* l___private_Init_Lean_Elab_Util_1__regTraceClasses___closed__3;
|
||||
extern lean_object* l_Lean_PersistentEnvExtension_inhabited___rarg___closed__4;
|
||||
lean_object* l_Lean_Elab_syntaxNodeKindOfAttrParam(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -392,53 +394,62 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Elab_ElabAttribute_inhabited___rarg), 1,
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
lean_object* l_Lean_fmt___at_Lean_Elab_mkElabAttribute___spec__1(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_4;
|
||||
x_4 = lean_io_ref_get(x_1, x_3);
|
||||
if (lean_obj_tag(x_4) == 0)
|
||||
lean_object* x_2;
|
||||
x_2 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_5;
|
||||
x_5 = !lean_is_exclusive(x_4);
|
||||
if (x_5 == 0)
|
||||
lean_object* x_5;
|
||||
x_5 = lean_io_ref_get(x_1, x_4);
|
||||
if (lean_obj_tag(x_5) == 0)
|
||||
{
|
||||
return x_4;
|
||||
uint8_t x_6;
|
||||
x_6 = !lean_is_exclusive(x_5);
|
||||
if (x_6 == 0)
|
||||
{
|
||||
return x_5;
|
||||
}
|
||||
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_object* x_7; lean_object* x_8; lean_object* x_9;
|
||||
x_7 = lean_ctor_get(x_5, 0);
|
||||
x_8 = lean_ctor_get(x_5, 1);
|
||||
lean_inc(x_8);
|
||||
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_dec(x_5);
|
||||
x_9 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_9, 0, x_7);
|
||||
lean_ctor_set(x_9, 1, x_8);
|
||||
return x_9;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_9;
|
||||
x_9 = !lean_is_exclusive(x_4);
|
||||
if (x_9 == 0)
|
||||
uint8_t x_10;
|
||||
x_10 = !lean_is_exclusive(x_5);
|
||||
if (x_10 == 0)
|
||||
{
|
||||
return x_4;
|
||||
return x_5;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_10; lean_object* x_11; lean_object* x_12;
|
||||
x_10 = lean_ctor_get(x_4, 0);
|
||||
x_11 = lean_ctor_get(x_4, 1);
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13;
|
||||
x_11 = lean_ctor_get(x_5, 0);
|
||||
x_12 = lean_ctor_get(x_5, 1);
|
||||
lean_inc(x_12);
|
||||
lean_inc(x_11);
|
||||
lean_inc(x_10);
|
||||
lean_dec(x_4);
|
||||
x_12 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_12, 0, x_10);
|
||||
lean_ctor_set(x_12, 1, x_11);
|
||||
return x_12;
|
||||
lean_dec(x_5);
|
||||
x_13 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_13, 0, x_11);
|
||||
lean_ctor_set(x_13, 1, x_12);
|
||||
return x_13;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -473,123 +484,127 @@ return x_1;
|
|||
lean_object* l_Lean_Elab_mkElabAttribute___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
|
||||
x_6 = lean_alloc_closure((void*)(l_Lean_Elab_mkElabAttribute___rarg___lambda__1___boxed), 3, 1);
|
||||
lean_closure_set(x_6, 0, x_4);
|
||||
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_inc(x_1);
|
||||
x_6 = lean_alloc_closure((void*)(l_EStateM_pure___rarg), 2, 1);
|
||||
lean_closure_set(x_6, 0, x_1);
|
||||
x_7 = lean_alloc_closure((void*)(l_Lean_Elab_mkElabAttribute___rarg___lambda__1___boxed), 4, 1);
|
||||
lean_closure_set(x_7, 0, x_4);
|
||||
lean_inc(x_3);
|
||||
x_7 = lean_alloc_closure((void*)(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___boxed), 2, 1);
|
||||
lean_closure_set(x_7, 0, x_3);
|
||||
x_8 = l_Lean_PersistentEnvExtension_inhabited___rarg___closed__2;
|
||||
x_9 = l_Lean_PersistentEnvExtension_inhabited___rarg___closed__3;
|
||||
x_8 = lean_alloc_closure((void*)(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___boxed), 2, 1);
|
||||
lean_closure_set(x_8, 0, x_3);
|
||||
x_9 = l_Lean_PersistentEnvExtension_inhabited___rarg___closed__2;
|
||||
x_10 = l_Lean_PersistentEnvExtension_inhabited___rarg___closed__3;
|
||||
lean_inc(x_2);
|
||||
x_10 = lean_alloc_ctor(0, 5, 0);
|
||||
lean_ctor_set(x_10, 0, x_2);
|
||||
lean_ctor_set(x_10, 1, x_6);
|
||||
lean_ctor_set(x_10, 2, x_8);
|
||||
lean_ctor_set(x_10, 3, x_9);
|
||||
lean_ctor_set(x_10, 4, x_7);
|
||||
x_11 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg(x_1, x_10, x_5);
|
||||
if (lean_obj_tag(x_11) == 0)
|
||||
x_11 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_11, 0, x_2);
|
||||
lean_ctor_set(x_11, 1, x_6);
|
||||
lean_ctor_set(x_11, 2, x_7);
|
||||
lean_ctor_set(x_11, 3, x_9);
|
||||
lean_ctor_set(x_11, 4, x_10);
|
||||
lean_ctor_set(x_11, 5, x_8);
|
||||
x_12 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg(x_1, x_11, x_5);
|
||||
if (lean_obj_tag(x_12) == 0)
|
||||
{
|
||||
uint8_t x_12;
|
||||
x_12 = !lean_is_exclusive(x_11);
|
||||
if (x_12 == 0)
|
||||
uint8_t x_13;
|
||||
x_13 = !lean_is_exclusive(x_12);
|
||||
if (x_13 == 0)
|
||||
{
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22; lean_object* x_23;
|
||||
x_13 = lean_ctor_get(x_11, 0);
|
||||
x_14 = l_Lean_Elab_mkElabAttribute___rarg___closed__1;
|
||||
lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_14 = lean_ctor_get(x_12, 0);
|
||||
x_15 = l_Lean_Elab_mkElabAttribute___rarg___closed__1;
|
||||
lean_inc(x_3);
|
||||
x_15 = lean_string_append(x_3, x_14);
|
||||
x_16 = lean_string_append(x_3, x_15);
|
||||
lean_inc(x_2);
|
||||
x_16 = lean_alloc_closure((void*)(l_Lean_registerTagAttribute___lambda__5___boxed), 5, 1);
|
||||
lean_closure_set(x_16, 0, x_2);
|
||||
lean_inc(x_2);
|
||||
x_17 = lean_alloc_closure((void*)(l_Lean_registerTagAttribute___lambda__6___boxed), 5, 1);
|
||||
x_17 = lean_alloc_closure((void*)(l_Lean_registerTagAttribute___lambda__5___boxed), 5, 1);
|
||||
lean_closure_set(x_17, 0, x_2);
|
||||
x_18 = l_Lean_AttributeImpl_inhabited___closed__1;
|
||||
x_19 = l_Lean_AttributeImpl_inhabited___closed__4;
|
||||
x_20 = l_Lean_AttributeImpl_inhabited___closed__5;
|
||||
x_21 = 0;
|
||||
x_22 = lean_alloc_ctor(0, 8, 1);
|
||||
lean_ctor_set(x_22, 0, x_2);
|
||||
lean_ctor_set(x_22, 1, x_15);
|
||||
lean_ctor_set(x_22, 2, x_18);
|
||||
lean_ctor_set(x_22, 3, x_16);
|
||||
lean_ctor_set(x_22, 4, x_17);
|
||||
lean_ctor_set(x_22, 5, x_19);
|
||||
lean_ctor_set(x_22, 6, x_20);
|
||||
lean_ctor_set(x_22, 7, x_20);
|
||||
lean_ctor_set_uint8(x_22, sizeof(void*)*8, x_21);
|
||||
x_23 = lean_alloc_ctor(0, 3, 0);
|
||||
lean_ctor_set(x_23, 0, x_22);
|
||||
lean_ctor_set(x_23, 1, x_13);
|
||||
lean_ctor_set(x_23, 2, x_3);
|
||||
lean_ctor_set(x_11, 0, x_23);
|
||||
return x_11;
|
||||
lean_inc(x_2);
|
||||
x_18 = lean_alloc_closure((void*)(l_Lean_registerTagAttribute___lambda__6___boxed), 5, 1);
|
||||
lean_closure_set(x_18, 0, x_2);
|
||||
x_19 = l_Lean_AttributeImpl_inhabited___closed__1;
|
||||
x_20 = l_Lean_AttributeImpl_inhabited___closed__4;
|
||||
x_21 = l_Lean_AttributeImpl_inhabited___closed__5;
|
||||
x_22 = 0;
|
||||
x_23 = lean_alloc_ctor(0, 8, 1);
|
||||
lean_ctor_set(x_23, 0, x_2);
|
||||
lean_ctor_set(x_23, 1, x_16);
|
||||
lean_ctor_set(x_23, 2, x_19);
|
||||
lean_ctor_set(x_23, 3, x_17);
|
||||
lean_ctor_set(x_23, 4, x_18);
|
||||
lean_ctor_set(x_23, 5, x_20);
|
||||
lean_ctor_set(x_23, 6, x_21);
|
||||
lean_ctor_set(x_23, 7, x_21);
|
||||
lean_ctor_set_uint8(x_23, sizeof(void*)*8, x_22);
|
||||
x_24 = lean_alloc_ctor(0, 3, 0);
|
||||
lean_ctor_set(x_24, 0, x_23);
|
||||
lean_ctor_set(x_24, 1, x_14);
|
||||
lean_ctor_set(x_24, 2, x_3);
|
||||
lean_ctor_set(x_12, 0, x_24);
|
||||
return x_12;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
|
||||
x_24 = lean_ctor_get(x_11, 0);
|
||||
x_25 = lean_ctor_get(x_11, 1);
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
|
||||
x_25 = lean_ctor_get(x_12, 0);
|
||||
x_26 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_26);
|
||||
lean_inc(x_25);
|
||||
lean_inc(x_24);
|
||||
lean_dec(x_11);
|
||||
x_26 = l_Lean_Elab_mkElabAttribute___rarg___closed__1;
|
||||
lean_dec(x_12);
|
||||
x_27 = l_Lean_Elab_mkElabAttribute___rarg___closed__1;
|
||||
lean_inc(x_3);
|
||||
x_27 = lean_string_append(x_3, x_26);
|
||||
x_28 = lean_string_append(x_3, x_27);
|
||||
lean_inc(x_2);
|
||||
x_28 = lean_alloc_closure((void*)(l_Lean_registerTagAttribute___lambda__5___boxed), 5, 1);
|
||||
lean_closure_set(x_28, 0, x_2);
|
||||
lean_inc(x_2);
|
||||
x_29 = lean_alloc_closure((void*)(l_Lean_registerTagAttribute___lambda__6___boxed), 5, 1);
|
||||
x_29 = lean_alloc_closure((void*)(l_Lean_registerTagAttribute___lambda__5___boxed), 5, 1);
|
||||
lean_closure_set(x_29, 0, x_2);
|
||||
x_30 = l_Lean_AttributeImpl_inhabited___closed__1;
|
||||
x_31 = l_Lean_AttributeImpl_inhabited___closed__4;
|
||||
x_32 = l_Lean_AttributeImpl_inhabited___closed__5;
|
||||
x_33 = 0;
|
||||
x_34 = lean_alloc_ctor(0, 8, 1);
|
||||
lean_ctor_set(x_34, 0, x_2);
|
||||
lean_ctor_set(x_34, 1, x_27);
|
||||
lean_ctor_set(x_34, 2, x_30);
|
||||
lean_ctor_set(x_34, 3, x_28);
|
||||
lean_ctor_set(x_34, 4, x_29);
|
||||
lean_ctor_set(x_34, 5, x_31);
|
||||
lean_ctor_set(x_34, 6, x_32);
|
||||
lean_ctor_set(x_34, 7, x_32);
|
||||
lean_ctor_set_uint8(x_34, sizeof(void*)*8, x_33);
|
||||
x_35 = lean_alloc_ctor(0, 3, 0);
|
||||
lean_ctor_set(x_35, 0, x_34);
|
||||
lean_ctor_set(x_35, 1, x_24);
|
||||
lean_ctor_set(x_35, 2, x_3);
|
||||
x_36 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_inc(x_2);
|
||||
x_30 = lean_alloc_closure((void*)(l_Lean_registerTagAttribute___lambda__6___boxed), 5, 1);
|
||||
lean_closure_set(x_30, 0, x_2);
|
||||
x_31 = l_Lean_AttributeImpl_inhabited___closed__1;
|
||||
x_32 = l_Lean_AttributeImpl_inhabited___closed__4;
|
||||
x_33 = l_Lean_AttributeImpl_inhabited___closed__5;
|
||||
x_34 = 0;
|
||||
x_35 = lean_alloc_ctor(0, 8, 1);
|
||||
lean_ctor_set(x_35, 0, x_2);
|
||||
lean_ctor_set(x_35, 1, x_28);
|
||||
lean_ctor_set(x_35, 2, x_31);
|
||||
lean_ctor_set(x_35, 3, x_29);
|
||||
lean_ctor_set(x_35, 4, x_30);
|
||||
lean_ctor_set(x_35, 5, x_32);
|
||||
lean_ctor_set(x_35, 6, x_33);
|
||||
lean_ctor_set(x_35, 7, x_33);
|
||||
lean_ctor_set_uint8(x_35, sizeof(void*)*8, x_34);
|
||||
x_36 = lean_alloc_ctor(0, 3, 0);
|
||||
lean_ctor_set(x_36, 0, x_35);
|
||||
lean_ctor_set(x_36, 1, x_25);
|
||||
return x_36;
|
||||
lean_ctor_set(x_36, 2, x_3);
|
||||
x_37 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_37, 0, x_36);
|
||||
lean_ctor_set(x_37, 1, x_26);
|
||||
return x_37;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_37;
|
||||
uint8_t x_38;
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_37 = !lean_is_exclusive(x_11);
|
||||
if (x_37 == 0)
|
||||
x_38 = !lean_is_exclusive(x_12);
|
||||
if (x_38 == 0)
|
||||
{
|
||||
return x_11;
|
||||
return x_12;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_38; lean_object* x_39; lean_object* x_40;
|
||||
x_38 = lean_ctor_get(x_11, 0);
|
||||
x_39 = lean_ctor_get(x_11, 1);
|
||||
lean_object* x_39; lean_object* x_40; lean_object* x_41;
|
||||
x_39 = lean_ctor_get(x_12, 0);
|
||||
x_40 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_40);
|
||||
lean_inc(x_39);
|
||||
lean_inc(x_38);
|
||||
lean_dec(x_11);
|
||||
x_40 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_40, 0, x_38);
|
||||
lean_ctor_set(x_40, 1, x_39);
|
||||
return x_40;
|
||||
lean_dec(x_12);
|
||||
x_41 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_41, 0, x_39);
|
||||
lean_ctor_set(x_41, 1, x_40);
|
||||
return x_41;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -602,14 +617,15 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Elab_mkElabAttribute___rarg), 5, 0);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_4;
|
||||
x_4 = l_Lean_Elab_mkElabAttribute___rarg___lambda__1(x_1, x_2, x_3);
|
||||
lean_object* x_5;
|
||||
x_5 = l_Lean_Elab_mkElabAttribute___rarg___lambda__1(x_1, x_2, x_3, x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_4;
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__2___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -16,7 +16,7 @@ extern "C" {
|
|||
lean_object* l_Lean_Meta_mkInstanceExtension___lambda__1(lean_object*);
|
||||
lean_object* l_Array_back___at_Lean_Meta_addInstanceEntry___spec__14(lean_object*);
|
||||
lean_object* l_Lean_Meta_mkInstanceExtension___lambda__1___boxed(lean_object*);
|
||||
lean_object* l_Lean_Meta_instanceExtension___elambda__4___boxed(lean_object*);
|
||||
lean_object* l_Lean_Meta_instanceExtension___elambda__4___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_DiscrTree_insertCore___at_Lean_Meta_addInstanceEntry___spec__1(lean_object*, lean_object*, lean_object*);
|
||||
size_t l_USize_add(size_t, size_t);
|
||||
lean_object* l_Lean_Meta_mkInstanceExtension___lambda__1___closed__1;
|
||||
|
|
@ -85,7 +85,7 @@ lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
|
|||
lean_object* l_List_map___main___at_Lean_Meta_addGlobalInstance___spec__1(lean_object*);
|
||||
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_iterateMAux___main___at_Lean_Meta_mkInstanceExtension___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_instanceExtension___elambda__4(lean_object*);
|
||||
lean_object* l_Lean_Meta_instanceExtension___elambda__4(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_mkInstanceExtension(lean_object*);
|
||||
lean_object* l_Lean_Meta_registerInstanceAttr___closed__2;
|
||||
extern lean_object* l_PersistentHashMap_insertAux___main___rarg___closed__3;
|
||||
|
|
@ -121,10 +121,10 @@ uint8_t l_Lean_Syntax_isMissing(lean_object*);
|
|||
lean_object* l_PersistentHashMap_insertAux___main___at_Lean_Meta_addInstanceEntry___spec__6(lean_object*, size_t, size_t, lean_object*, lean_object*);
|
||||
lean_object* l_PersistentHashMap_findAux___main___at_Lean_Meta_addInstanceEntry___spec__3(lean_object*, size_t, lean_object*);
|
||||
lean_object* l_Lean_Meta_registerInstanceAttr___lambda__1___closed__1;
|
||||
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_registerInstanceAttr(lean_object*);
|
||||
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
lean_object* l_Lean_Meta_registerInstanceAttr___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_back___at_Lean_Meta_addInstanceEntry___spec__14___boxed(lean_object*);
|
||||
uint8_t lean_expr_eqv(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_registerTagAttribute___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -173,6 +173,7 @@ lean_object* lean_usize_to_nat(size_t);
|
|||
extern lean_object* l_Lean_regNamespacesExtension___closed__4;
|
||||
lean_object* l_Lean_mkStateFromImportedEntries___at_Lean_Meta_mkInstanceExtension___spec__1___boxed(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_AttributeImpl_inhabited___closed__5;
|
||||
lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_Array_iterateMAux___main___at_Lean_Meta_addInstanceEntry___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_mkInstanceExtension___closed__1;
|
||||
lean_object* l_Lean_mkConst(lean_object*, lean_object*);
|
||||
|
|
@ -1836,443 +1837,447 @@ lean_dec(x_8);
|
|||
lean_dec(x_6);
|
||||
if (x_10 == 0)
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
lean_object* x_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_free_object(x_4);
|
||||
x_11 = lean_ctor_get(x_1, 1);
|
||||
x_11 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_11);
|
||||
x_12 = l_Array_empty___closed__1;
|
||||
lean_inc(x_11);
|
||||
x_13 = lean_apply_1(x_11, x_12);
|
||||
x_14 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_15 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_15, 0, x_13);
|
||||
lean_closure_set(x_15, 1, x_14);
|
||||
x_16 = l_Lean_registerEnvExtensionUnsafe___at_Lean_Meta_mkInstanceExtension___spec__7(x_15, x_7);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
x_12 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_12);
|
||||
x_13 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_13);
|
||||
x_14 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_14);
|
||||
x_15 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_15);
|
||||
x_16 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_1);
|
||||
x_17 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_18 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_18, 0, x_12);
|
||||
lean_closure_set(x_18, 1, x_17);
|
||||
x_19 = l_Lean_registerEnvExtensionUnsafe___at_Lean_Meta_mkInstanceExtension___spec__7(x_18, x_7);
|
||||
if (lean_obj_tag(x_19) == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_17 = lean_ctor_get(x_16, 0);
|
||||
lean_inc(x_17);
|
||||
x_18 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_16);
|
||||
x_19 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_19);
|
||||
x_20 = lean_ctor_get(x_1, 2);
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
|
||||
x_20 = lean_ctor_get(x_19, 0);
|
||||
lean_inc(x_20);
|
||||
x_21 = lean_ctor_get(x_1, 3);
|
||||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
x_22 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_1);
|
||||
x_23 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_23, 0, x_17);
|
||||
lean_ctor_set(x_23, 1, x_19);
|
||||
lean_ctor_set(x_23, 2, x_11);
|
||||
lean_ctor_set(x_23, 3, x_20);
|
||||
lean_ctor_set(x_23, 4, x_21);
|
||||
lean_ctor_set(x_23, 5, x_22);
|
||||
x_24 = lean_io_ref_get(x_3, x_18);
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
lean_dec(x_19);
|
||||
x_22 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_22, 0, x_20);
|
||||
lean_ctor_set(x_22, 1, x_11);
|
||||
lean_ctor_set(x_22, 2, x_13);
|
||||
lean_ctor_set(x_22, 3, x_14);
|
||||
lean_ctor_set(x_22, 4, x_15);
|
||||
lean_ctor_set(x_22, 5, x_16);
|
||||
x_23 = lean_io_ref_get(x_3, x_21);
|
||||
if (lean_obj_tag(x_23) == 0)
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27;
|
||||
x_25 = lean_ctor_get(x_24, 0);
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_24 = lean_ctor_get(x_23, 0);
|
||||
lean_inc(x_24);
|
||||
x_25 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_25);
|
||||
x_26 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_24);
|
||||
x_27 = lean_io_ref_reset(x_3, x_26);
|
||||
if (lean_obj_tag(x_27) == 0)
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
|
||||
x_28 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_27);
|
||||
x_29 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_23);
|
||||
x_30 = x_23;
|
||||
x_31 = lean_array_push(x_25, x_30);
|
||||
x_32 = lean_io_ref_set(x_3, x_31, x_28);
|
||||
if (lean_obj_tag(x_32) == 0)
|
||||
{
|
||||
uint8_t x_33;
|
||||
x_33 = !lean_is_exclusive(x_32);
|
||||
if (x_33 == 0)
|
||||
{
|
||||
lean_object* x_34;
|
||||
x_34 = lean_ctor_get(x_32, 0);
|
||||
lean_dec(x_34);
|
||||
lean_ctor_set(x_32, 0, x_23);
|
||||
return x_32;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36;
|
||||
x_35 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_35);
|
||||
lean_dec(x_32);
|
||||
x_36 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_23);
|
||||
lean_ctor_set(x_36, 1, x_35);
|
||||
return x_36;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_37;
|
||||
lean_dec(x_23);
|
||||
x_37 = !lean_is_exclusive(x_32);
|
||||
if (x_37 == 0)
|
||||
x_26 = lean_io_ref_reset(x_3, x_25);
|
||||
if (lean_obj_tag(x_26) == 0)
|
||||
{
|
||||
return x_32;
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
|
||||
x_27 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_27);
|
||||
lean_dec(x_26);
|
||||
x_28 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_22);
|
||||
x_29 = x_22;
|
||||
x_30 = lean_array_push(x_24, x_29);
|
||||
x_31 = lean_io_ref_set(x_3, x_30, x_27);
|
||||
if (lean_obj_tag(x_31) == 0)
|
||||
{
|
||||
uint8_t x_32;
|
||||
x_32 = !lean_is_exclusive(x_31);
|
||||
if (x_32 == 0)
|
||||
{
|
||||
lean_object* x_33;
|
||||
x_33 = lean_ctor_get(x_31, 0);
|
||||
lean_dec(x_33);
|
||||
lean_ctor_set(x_31, 0, x_22);
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_38; lean_object* x_39; lean_object* x_40;
|
||||
x_38 = lean_ctor_get(x_32, 0);
|
||||
x_39 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_39);
|
||||
lean_object* x_34; lean_object* x_35;
|
||||
x_34 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_34);
|
||||
lean_dec(x_31);
|
||||
x_35 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_35, 0, x_22);
|
||||
lean_ctor_set(x_35, 1, x_34);
|
||||
return x_35;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_36;
|
||||
lean_dec(x_22);
|
||||
x_36 = !lean_is_exclusive(x_31);
|
||||
if (x_36 == 0)
|
||||
{
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_37; lean_object* x_38; lean_object* x_39;
|
||||
x_37 = lean_ctor_get(x_31, 0);
|
||||
x_38 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_38);
|
||||
lean_dec(x_32);
|
||||
x_40 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_40, 0, x_38);
|
||||
lean_ctor_set(x_40, 1, x_39);
|
||||
return x_40;
|
||||
lean_inc(x_37);
|
||||
lean_dec(x_31);
|
||||
x_39 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_37);
|
||||
lean_ctor_set(x_39, 1, x_38);
|
||||
return x_39;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_41;
|
||||
lean_dec(x_25);
|
||||
lean_dec(x_23);
|
||||
x_41 = !lean_is_exclusive(x_27);
|
||||
if (x_41 == 0)
|
||||
{
|
||||
return x_27;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44;
|
||||
x_42 = lean_ctor_get(x_27, 0);
|
||||
x_43 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_43);
|
||||
lean_inc(x_42);
|
||||
lean_dec(x_27);
|
||||
x_44 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_44, 0, x_42);
|
||||
lean_ctor_set(x_44, 1, x_43);
|
||||
return x_44;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_45;
|
||||
lean_dec(x_23);
|
||||
x_45 = !lean_is_exclusive(x_24);
|
||||
if (x_45 == 0)
|
||||
{
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_46; lean_object* x_47; lean_object* x_48;
|
||||
x_46 = lean_ctor_get(x_24, 0);
|
||||
x_47 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_47);
|
||||
lean_inc(x_46);
|
||||
uint8_t x_40;
|
||||
lean_dec(x_24);
|
||||
x_48 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_48, 0, x_46);
|
||||
lean_ctor_set(x_48, 1, x_47);
|
||||
return x_48;
|
||||
lean_dec(x_22);
|
||||
x_40 = !lean_is_exclusive(x_26);
|
||||
if (x_40 == 0)
|
||||
{
|
||||
return x_26;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_41; lean_object* x_42; lean_object* x_43;
|
||||
x_41 = lean_ctor_get(x_26, 0);
|
||||
x_42 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_42);
|
||||
lean_inc(x_41);
|
||||
lean_dec(x_26);
|
||||
x_43 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_43, 0, x_41);
|
||||
lean_ctor_set(x_43, 1, x_42);
|
||||
return x_43;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_49;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_1);
|
||||
x_49 = !lean_is_exclusive(x_16);
|
||||
if (x_49 == 0)
|
||||
uint8_t x_44;
|
||||
lean_dec(x_22);
|
||||
x_44 = !lean_is_exclusive(x_23);
|
||||
if (x_44 == 0)
|
||||
{
|
||||
return x_16;
|
||||
return x_23;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_50; lean_object* x_51; lean_object* x_52;
|
||||
x_50 = lean_ctor_get(x_16, 0);
|
||||
x_51 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_51);
|
||||
lean_inc(x_50);
|
||||
lean_object* x_45; lean_object* x_46; lean_object* x_47;
|
||||
x_45 = lean_ctor_get(x_23, 0);
|
||||
x_46 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_46);
|
||||
lean_inc(x_45);
|
||||
lean_dec(x_23);
|
||||
x_47 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_47, 0, x_45);
|
||||
lean_ctor_set(x_47, 1, x_46);
|
||||
return x_47;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_48;
|
||||
lean_dec(x_16);
|
||||
x_52 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_52, 0, x_50);
|
||||
lean_ctor_set(x_52, 1, x_51);
|
||||
return x_52;
|
||||
lean_dec(x_15);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_11);
|
||||
x_48 = !lean_is_exclusive(x_19);
|
||||
if (x_48 == 0)
|
||||
{
|
||||
return x_19;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_49; lean_object* x_50; lean_object* x_51;
|
||||
x_49 = lean_ctor_get(x_19, 0);
|
||||
x_50 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_50);
|
||||
lean_inc(x_49);
|
||||
lean_dec(x_19);
|
||||
x_51 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_51, 0, x_49);
|
||||
lean_ctor_set(x_51, 1, x_50);
|
||||
return x_51;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
|
||||
x_53 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_53);
|
||||
lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
|
||||
x_52 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_1);
|
||||
x_54 = l_System_FilePath_dirName___closed__1;
|
||||
x_55 = l_Lean_Name_toStringWithSep___main(x_54, x_53);
|
||||
x_56 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_57 = lean_string_append(x_56, x_55);
|
||||
lean_dec(x_55);
|
||||
x_58 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_59 = lean_string_append(x_57, x_58);
|
||||
x_53 = l_System_FilePath_dirName___closed__1;
|
||||
x_54 = l_Lean_Name_toStringWithSep___main(x_53, x_52);
|
||||
x_55 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_56 = lean_string_append(x_55, x_54);
|
||||
lean_dec(x_54);
|
||||
x_57 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_58 = lean_string_append(x_56, x_57);
|
||||
lean_ctor_set_tag(x_4, 1);
|
||||
lean_ctor_set(x_4, 0, x_59);
|
||||
lean_ctor_set(x_4, 0, x_58);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64;
|
||||
x_60 = lean_ctor_get(x_4, 0);
|
||||
x_61 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_61);
|
||||
lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63;
|
||||
x_59 = lean_ctor_get(x_4, 0);
|
||||
x_60 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_60);
|
||||
lean_inc(x_59);
|
||||
lean_dec(x_4);
|
||||
x_62 = lean_array_get_size(x_60);
|
||||
x_63 = lean_unsigned_to_nat(0u);
|
||||
x_64 = l_Array_anyRangeMAux___main___at_Lean_Meta_mkInstanceExtension___spec__6(x_1, x_60, x_60, x_62, x_63);
|
||||
lean_dec(x_62);
|
||||
lean_dec(x_60);
|
||||
if (x_64 == 0)
|
||||
x_61 = lean_array_get_size(x_59);
|
||||
x_62 = lean_unsigned_to_nat(0u);
|
||||
x_63 = l_Array_anyRangeMAux___main___at_Lean_Meta_mkInstanceExtension___spec__6(x_1, x_59, x_59, x_61, x_62);
|
||||
lean_dec(x_61);
|
||||
lean_dec(x_59);
|
||||
if (x_63 == 0)
|
||||
{
|
||||
lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
|
||||
lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
|
||||
x_64 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_64);
|
||||
x_65 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_65);
|
||||
x_66 = l_Array_empty___closed__1;
|
||||
lean_inc(x_65);
|
||||
x_67 = lean_apply_1(x_65, x_66);
|
||||
x_68 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_69 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_69, 0, x_67);
|
||||
lean_closure_set(x_69, 1, x_68);
|
||||
x_70 = l_Lean_registerEnvExtensionUnsafe___at_Lean_Meta_mkInstanceExtension___spec__7(x_69, x_61);
|
||||
if (lean_obj_tag(x_70) == 0)
|
||||
x_66 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_66);
|
||||
x_67 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_67);
|
||||
x_68 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_68);
|
||||
x_69 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_69);
|
||||
lean_dec(x_1);
|
||||
x_70 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_71 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_71, 0, x_65);
|
||||
lean_closure_set(x_71, 1, x_70);
|
||||
x_72 = l_Lean_registerEnvExtensionUnsafe___at_Lean_Meta_mkInstanceExtension___spec__7(x_71, x_60);
|
||||
if (lean_obj_tag(x_72) == 0)
|
||||
{
|
||||
lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
|
||||
x_71 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_71);
|
||||
x_72 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_72);
|
||||
lean_dec(x_70);
|
||||
x_73 = lean_ctor_get(x_1, 0);
|
||||
lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
|
||||
x_73 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_73);
|
||||
x_74 = lean_ctor_get(x_1, 2);
|
||||
x_74 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_74);
|
||||
x_75 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_75);
|
||||
x_76 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_76);
|
||||
lean_dec(x_1);
|
||||
x_77 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_77, 0, x_71);
|
||||
lean_ctor_set(x_77, 1, x_73);
|
||||
lean_ctor_set(x_77, 2, x_65);
|
||||
lean_ctor_set(x_77, 3, x_74);
|
||||
lean_ctor_set(x_77, 4, x_75);
|
||||
lean_ctor_set(x_77, 5, x_76);
|
||||
x_78 = lean_io_ref_get(x_3, x_72);
|
||||
if (lean_obj_tag(x_78) == 0)
|
||||
lean_dec(x_72);
|
||||
x_75 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_75, 0, x_73);
|
||||
lean_ctor_set(x_75, 1, x_64);
|
||||
lean_ctor_set(x_75, 2, x_66);
|
||||
lean_ctor_set(x_75, 3, x_67);
|
||||
lean_ctor_set(x_75, 4, x_68);
|
||||
lean_ctor_set(x_75, 5, x_69);
|
||||
x_76 = lean_io_ref_get(x_3, x_74);
|
||||
if (lean_obj_tag(x_76) == 0)
|
||||
{
|
||||
lean_object* x_79; lean_object* x_80; lean_object* x_81;
|
||||
x_79 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_79);
|
||||
x_80 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_78);
|
||||
x_81 = lean_io_ref_reset(x_3, x_80);
|
||||
if (lean_obj_tag(x_81) == 0)
|
||||
{
|
||||
lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86;
|
||||
x_82 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_82);
|
||||
lean_dec(x_81);
|
||||
x_83 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_object* x_77; lean_object* x_78; lean_object* x_79;
|
||||
x_77 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_77);
|
||||
x_84 = x_77;
|
||||
x_85 = lean_array_push(x_79, x_84);
|
||||
x_86 = lean_io_ref_set(x_3, x_85, x_82);
|
||||
if (lean_obj_tag(x_86) == 0)
|
||||
x_78 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_78);
|
||||
lean_dec(x_76);
|
||||
x_79 = lean_io_ref_reset(x_3, x_78);
|
||||
if (lean_obj_tag(x_79) == 0)
|
||||
{
|
||||
lean_object* x_87; lean_object* x_88; lean_object* x_89;
|
||||
x_87 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_87);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_88 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_88 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_88)) {
|
||||
x_89 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_89 = x_88;
|
||||
}
|
||||
lean_ctor_set(x_89, 0, x_77);
|
||||
lean_ctor_set(x_89, 1, x_87);
|
||||
return x_89;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93;
|
||||
lean_dec(x_77);
|
||||
x_90 = lean_ctor_get(x_86, 0);
|
||||
lean_inc(x_90);
|
||||
x_91 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_91);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_92 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_92 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_92)) {
|
||||
x_93 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_93 = x_92;
|
||||
}
|
||||
lean_ctor_set(x_93, 0, x_90);
|
||||
lean_ctor_set(x_93, 1, x_91);
|
||||
return x_93;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97;
|
||||
lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
|
||||
x_80 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_79);
|
||||
x_81 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_75);
|
||||
x_82 = x_75;
|
||||
x_83 = lean_array_push(x_77, x_82);
|
||||
x_84 = lean_io_ref_set(x_3, x_83, x_80);
|
||||
if (lean_obj_tag(x_84) == 0)
|
||||
{
|
||||
lean_object* x_85; lean_object* x_86; lean_object* x_87;
|
||||
x_85 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_85);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_86 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_86 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_86)) {
|
||||
x_87 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_87 = x_86;
|
||||
}
|
||||
lean_ctor_set(x_87, 0, x_75);
|
||||
lean_ctor_set(x_87, 1, x_85);
|
||||
return x_87;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91;
|
||||
lean_dec(x_75);
|
||||
x_88 = lean_ctor_get(x_84, 0);
|
||||
lean_inc(x_88);
|
||||
x_89 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_89);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_90 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_90 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_90)) {
|
||||
x_91 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_91 = x_90;
|
||||
}
|
||||
lean_ctor_set(x_91, 0, x_88);
|
||||
lean_ctor_set(x_91, 1, x_89);
|
||||
return x_91;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95;
|
||||
lean_dec(x_77);
|
||||
x_94 = lean_ctor_get(x_81, 0);
|
||||
lean_inc(x_94);
|
||||
x_95 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_95);
|
||||
if (lean_is_exclusive(x_81)) {
|
||||
lean_ctor_release(x_81, 0);
|
||||
lean_ctor_release(x_81, 1);
|
||||
x_96 = x_81;
|
||||
lean_dec(x_75);
|
||||
x_92 = lean_ctor_get(x_79, 0);
|
||||
lean_inc(x_92);
|
||||
x_93 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_93);
|
||||
if (lean_is_exclusive(x_79)) {
|
||||
lean_ctor_release(x_79, 0);
|
||||
lean_ctor_release(x_79, 1);
|
||||
x_94 = x_79;
|
||||
} else {
|
||||
lean_dec_ref(x_81);
|
||||
x_96 = lean_box(0);
|
||||
lean_dec_ref(x_79);
|
||||
x_94 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_96)) {
|
||||
x_97 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_94)) {
|
||||
x_95 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_97 = x_96;
|
||||
x_95 = x_94;
|
||||
}
|
||||
lean_ctor_set(x_97, 0, x_94);
|
||||
lean_ctor_set(x_97, 1, x_95);
|
||||
return x_97;
|
||||
lean_ctor_set(x_95, 0, x_92);
|
||||
lean_ctor_set(x_95, 1, x_93);
|
||||
return x_95;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101;
|
||||
lean_dec(x_77);
|
||||
x_98 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_98);
|
||||
x_99 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_99);
|
||||
if (lean_is_exclusive(x_78)) {
|
||||
lean_ctor_release(x_78, 0);
|
||||
lean_ctor_release(x_78, 1);
|
||||
x_100 = x_78;
|
||||
lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99;
|
||||
lean_dec(x_75);
|
||||
x_96 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_96);
|
||||
x_97 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_97);
|
||||
if (lean_is_exclusive(x_76)) {
|
||||
lean_ctor_release(x_76, 0);
|
||||
lean_ctor_release(x_76, 1);
|
||||
x_98 = x_76;
|
||||
} else {
|
||||
lean_dec_ref(x_78);
|
||||
x_100 = lean_box(0);
|
||||
lean_dec_ref(x_76);
|
||||
x_98 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_100)) {
|
||||
x_101 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_98)) {
|
||||
x_99 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_101 = x_100;
|
||||
x_99 = x_98;
|
||||
}
|
||||
lean_ctor_set(x_101, 0, x_98);
|
||||
lean_ctor_set(x_101, 1, x_99);
|
||||
return x_101;
|
||||
lean_ctor_set(x_99, 0, x_96);
|
||||
lean_ctor_set(x_99, 1, x_97);
|
||||
return x_99;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105;
|
||||
lean_dec(x_65);
|
||||
lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103;
|
||||
lean_dec(x_69);
|
||||
lean_dec(x_68);
|
||||
lean_dec(x_67);
|
||||
lean_dec(x_66);
|
||||
lean_dec(x_64);
|
||||
x_100 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_100);
|
||||
x_101 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_101);
|
||||
if (lean_is_exclusive(x_72)) {
|
||||
lean_ctor_release(x_72, 0);
|
||||
lean_ctor_release(x_72, 1);
|
||||
x_102 = x_72;
|
||||
} else {
|
||||
lean_dec_ref(x_72);
|
||||
x_102 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_102)) {
|
||||
x_103 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_103 = x_102;
|
||||
}
|
||||
lean_ctor_set(x_103, 0, x_100);
|
||||
lean_ctor_set(x_103, 1, x_101);
|
||||
return x_103;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111;
|
||||
x_104 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_104);
|
||||
lean_dec(x_1);
|
||||
x_102 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_102);
|
||||
x_103 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_103);
|
||||
if (lean_is_exclusive(x_70)) {
|
||||
lean_ctor_release(x_70, 0);
|
||||
lean_ctor_release(x_70, 1);
|
||||
x_104 = x_70;
|
||||
} else {
|
||||
lean_dec_ref(x_70);
|
||||
x_104 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_104)) {
|
||||
x_105 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_105 = x_104;
|
||||
}
|
||||
lean_ctor_set(x_105, 0, x_102);
|
||||
lean_ctor_set(x_105, 1, x_103);
|
||||
return x_105;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113;
|
||||
x_106 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_106);
|
||||
lean_dec(x_1);
|
||||
x_107 = l_System_FilePath_dirName___closed__1;
|
||||
x_108 = l_Lean_Name_toStringWithSep___main(x_107, x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_110 = lean_string_append(x_109, x_108);
|
||||
lean_dec(x_108);
|
||||
x_111 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_112 = lean_string_append(x_110, x_111);
|
||||
x_113 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_113, 0, x_112);
|
||||
lean_ctor_set(x_113, 1, x_61);
|
||||
return x_113;
|
||||
x_105 = l_System_FilePath_dirName___closed__1;
|
||||
x_106 = l_Lean_Name_toStringWithSep___main(x_105, x_104);
|
||||
x_107 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_108 = lean_string_append(x_107, x_106);
|
||||
lean_dec(x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_110 = lean_string_append(x_108, x_109);
|
||||
x_111 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_111, 0, x_110);
|
||||
lean_ctor_set(x_111, 1, x_60);
|
||||
return x_111;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_114;
|
||||
uint8_t x_112;
|
||||
lean_dec(x_1);
|
||||
x_114 = !lean_is_exclusive(x_4);
|
||||
if (x_114 == 0)
|
||||
x_112 = !lean_is_exclusive(x_4);
|
||||
if (x_112 == 0)
|
||||
{
|
||||
return x_4;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_115; lean_object* x_116; lean_object* x_117;
|
||||
x_115 = lean_ctor_get(x_4, 0);
|
||||
x_116 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_116);
|
||||
lean_inc(x_115);
|
||||
lean_object* x_113; lean_object* x_114; lean_object* x_115;
|
||||
x_113 = lean_ctor_get(x_4, 0);
|
||||
x_114 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_114);
|
||||
lean_inc(x_113);
|
||||
lean_dec(x_4);
|
||||
x_117 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_117, 0, x_115);
|
||||
lean_ctor_set(x_117, 1, x_116);
|
||||
return x_117;
|
||||
x_115 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_115, 0, x_113);
|
||||
lean_ctor_set(x_115, 1, x_114);
|
||||
return x_115;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2280,26 +2285,38 @@ return x_117;
|
|||
lean_object* l_Lean_registerSimplePersistentEnvExtension___at_Lean_Meta_mkInstanceExtension___spec__4(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
|
||||
x_3 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_3);
|
||||
x_4 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_4);
|
||||
x_5 = lean_box(0);
|
||||
x_6 = l_Array_empty___closed__1;
|
||||
lean_inc(x_4);
|
||||
x_7 = lean_apply_1(x_4, x_6);
|
||||
x_8 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_8, 0, x_5);
|
||||
lean_ctor_set(x_8, 1, x_7);
|
||||
x_9 = lean_alloc_closure((void*)(l_EStateM_pure___rarg), 2, 1);
|
||||
lean_closure_set(x_9, 0, x_8);
|
||||
x_10 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1___boxed), 5, 2);
|
||||
lean_closure_set(x_10, 0, x_4);
|
||||
lean_closure_set(x_10, 1, x_5);
|
||||
lean_inc(x_1);
|
||||
x_4 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1), 3, 1);
|
||||
lean_closure_set(x_4, 0, x_1);
|
||||
lean_inc(x_1);
|
||||
x_5 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2), 3, 1);
|
||||
lean_closure_set(x_5, 0, x_1);
|
||||
x_6 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3), 2, 1);
|
||||
lean_closure_set(x_6, 0, x_1);
|
||||
x_7 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1;
|
||||
x_8 = lean_alloc_ctor(0, 5, 0);
|
||||
lean_ctor_set(x_8, 0, x_3);
|
||||
lean_ctor_set(x_8, 1, x_4);
|
||||
lean_ctor_set(x_8, 2, x_5);
|
||||
lean_ctor_set(x_8, 3, x_6);
|
||||
lean_ctor_set(x_8, 4, x_7);
|
||||
x_9 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_Meta_mkInstanceExtension___spec__5(x_8, x_2);
|
||||
return x_9;
|
||||
x_11 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2), 3, 1);
|
||||
lean_closure_set(x_11, 0, x_1);
|
||||
x_12 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3), 2, 1);
|
||||
lean_closure_set(x_12, 0, x_1);
|
||||
x_13 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1;
|
||||
x_14 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_14, 0, x_3);
|
||||
lean_ctor_set(x_14, 1, x_9);
|
||||
lean_ctor_set(x_14, 2, x_10);
|
||||
lean_ctor_set(x_14, 3, x_11);
|
||||
lean_ctor_set(x_14, 4, x_12);
|
||||
lean_ctor_set(x_14, 5, x_13);
|
||||
x_15 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_Meta_mkInstanceExtension___spec__5(x_14, x_2);
|
||||
return x_15;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Meta_mkInstanceExtension___lambda__1___closed__1() {
|
||||
|
|
@ -2464,12 +2481,12 @@ lean_ctor_set(x_3, 1, x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Meta_instanceExtension___elambda__4(lean_object* x_1) {
|
||||
lean_object* l_Lean_Meta_instanceExtension___elambda__4(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_alloc_closure((void*)(l_Lean_Meta_instanceExtension___elambda__4___rarg), 1, 0);
|
||||
return x_2;
|
||||
lean_object* x_3;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_Meta_instanceExtension___elambda__4___rarg), 1, 0);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Meta_instanceExtension___closed__1() {
|
||||
|
|
@ -2490,7 +2507,7 @@ lean_object* _init_l_Lean_Meta_instanceExtension___closed__2() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Meta_instanceExtension___elambda__4___boxed), 1, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Meta_instanceExtension___elambda__4___boxed), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -2566,13 +2583,14 @@ lean_dec(x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Meta_instanceExtension___elambda__4___boxed(lean_object* x_1) {
|
||||
lean_object* l_Lean_Meta_instanceExtension___elambda__4___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_Meta_instanceExtension___elambda__4(x_1);
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_Meta_instanceExtension___elambda__4(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l___private_Init_Lean_Meta_Instances_1__mkInstanceKey(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ lean_object* lean_io_ref_reset(lean_object*, lean_object*);
|
|||
extern lean_object* l_Lean_registerEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_object* l_Lean_protectedExt___elambda__3(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkPrivateExtension___closed__1;
|
||||
lean_object* l_Lean_protectedExt___elambda__4___boxed(lean_object*);
|
||||
lean_object* l_Lean_protectedExt___elambda__4___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_privateExt;
|
||||
lean_object* lean_io_ref_set(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkTagDeclarationExtension(lean_object*, lean_object*);
|
||||
|
|
@ -78,7 +78,7 @@ lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*, lean_object*
|
|||
lean_object* l___private_Init_Lean_Modifiers_1__privateToUserNameAux(lean_object*);
|
||||
lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_privateHeader___closed__2;
|
||||
lean_object* l_Lean_protectedExt___elambda__4(lean_object*);
|
||||
lean_object* l_Lean_protectedExt___elambda__4(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_protectedExt___closed__4;
|
||||
lean_object* l_Lean_mkProtectedExtension___closed__2;
|
||||
lean_object* lean_name_mk_numeral(lean_object*, lean_object*);
|
||||
|
|
@ -146,19 +146,19 @@ lean_ctor_set(x_3, 1, x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_protectedExt___elambda__4(lean_object* x_1) {
|
||||
lean_object* l_Lean_protectedExt___elambda__4(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_alloc_closure((void*)(l_Lean_protectedExt___elambda__4___rarg), 1, 0);
|
||||
return x_2;
|
||||
lean_object* x_3;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_protectedExt___elambda__4___rarg), 1, 0);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_protectedExt___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_protectedExt___elambda__4___boxed), 1, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_protectedExt___elambda__4___boxed), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -234,13 +234,14 @@ lean_dec(x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_protectedExt___elambda__4___boxed(lean_object* x_1) {
|
||||
lean_object* l_Lean_protectedExt___elambda__4___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_protectedExt___elambda__4(x_1);
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_protectedExt___elambda__4(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* lean_add_protected(lean_object* x_1, lean_object* x_2) {
|
||||
|
|
|
|||
|
|
@ -250,6 +250,7 @@ lean_object* l_Lean_Parser_symbolOrIdentInfo(lean_object*);
|
|||
lean_object* l_Lean_Parser_Command_example___elambda__1___closed__7;
|
||||
lean_object* l_Lean_Parser_Command_attribute___closed__10;
|
||||
lean_object* l_Lean_Parser_ParserAttribute_runParserFn(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_addBuiltinParser(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Command_attrInstance___elambda__1___closed__4;
|
||||
lean_object* lean_array_get_size(lean_object*);
|
||||
lean_object* l_Lean_Parser_Command_structFields;
|
||||
|
|
@ -802,7 +803,6 @@ lean_object* l_Lean_Parser_Command_unsafe___elambda__1___closed__5;
|
|||
lean_object* l_Lean_Parser_Command_openOnly___closed__5;
|
||||
lean_object* l_Lean_Parser_Command_infixl___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_Command_check___elambda__1___closed__8;
|
||||
lean_object* l_Lean_Parser_addBuiltinLeadingParser(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Command_docComment___elambda__1___closed__5;
|
||||
lean_object* l_Lean_Parser_mkBuiltinParsingTablesRef(lean_object*);
|
||||
lean_object* l_Lean_Parser_Command_example___elambda__1___closed__4;
|
||||
|
|
@ -16567,12 +16567,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_declaration(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_declaration;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_declaration;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Command_section___elambda__1___closed__1() {
|
||||
|
|
@ -16945,12 +16946,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_section(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_section___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_section;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_section___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_section;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Command_namespace___elambda__1___closed__1() {
|
||||
|
|
@ -17266,12 +17268,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_namespace(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_namespace___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_namespace;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_namespace___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_namespace;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Command_end___elambda__1___closed__1() {
|
||||
|
|
@ -17633,12 +17636,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_end(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_end___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_end;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_end___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_end;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Command_variable___elambda__1___closed__1() {
|
||||
|
|
@ -17954,12 +17958,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_variable(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_variable___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_variable;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_variable___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_variable;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Command_variables___elambda__1___closed__1() {
|
||||
|
|
@ -18307,12 +18312,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_variables(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_variables___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_variables;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_variables___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_variables;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Command_universe___elambda__1___closed__1() {
|
||||
|
|
@ -18628,12 +18634,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_universe(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_universe___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_universe;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_universe___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_universe;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Command_universes___elambda__1___closed__1() {
|
||||
|
|
@ -18981,12 +18988,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_universes(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_universes___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_universes;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_universes___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_universes;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Command_check___elambda__1___closed__1() {
|
||||
|
|
@ -19292,12 +19300,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_check(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_check___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_check;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_check___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_check;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Command_exit___elambda__1___closed__1() {
|
||||
|
|
@ -19576,12 +19585,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_exit(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_exit___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_exit;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_exit___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_exit;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Command_resolve__name___elambda__1___closed__1() {
|
||||
|
|
@ -19897,12 +19907,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_resolve__name(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_resolve__name;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_resolve__name;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Command_elab___elambda__1___closed__1() {
|
||||
|
|
@ -20208,12 +20219,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_elab(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_elab___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_elab;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_elab___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_elab;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Command_init__quot___elambda__1___closed__1() {
|
||||
|
|
@ -20484,12 +20496,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_init__quot(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_init__quot___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_init__quot;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_init__quot___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_init__quot;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Command_set__option___elambda__1___closed__1() {
|
||||
|
|
@ -21099,12 +21112,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_set__option(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_set__option;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_set__option;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Command_attribute___elambda__1___closed__1() {
|
||||
|
|
@ -21865,12 +21879,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_attribute(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_attribute;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_attribute;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Command_export___elambda__1___closed__1() {
|
||||
|
|
@ -22435,12 +22450,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_export(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_export___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_export;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_export___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_export;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Command_openHiding___elambda__1___closed__1() {
|
||||
|
|
@ -25039,12 +25055,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_open(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_open___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_open;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_open___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_open;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Command_maxPrec___elambda__1___closed__1() {
|
||||
|
|
@ -27851,12 +27868,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_reserve(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_reserve___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_reserve;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_reserve___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_reserve;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Parser_Command_mixfixSymbol___elambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
|
|
@ -28231,12 +28249,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_mixfix(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_mixfix___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_mixfix;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_mixfix___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_mixfix;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Command_identPrec___elambda__1___closed__1() {
|
||||
|
|
@ -29221,12 +29240,13 @@ return x_6;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Command_notation(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_3 = l_Lean_Parser_Command_notation___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Command_notation;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinCommandParsingTable;
|
||||
x_4 = l_Lean_Parser_Command_notation___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Command_notation;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* initialize_Init_Lean_Parser_Term(lean_object*);
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ lean_object* l_Lean_Parser_Level_addLit___elambda__1___closed__5;
|
|||
lean_object* l_Lean_Parser_Level_hole___elambda__1(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_symbolOrIdentInfo(lean_object*);
|
||||
lean_object* l_Lean_Parser_ParserAttribute_runParserFn(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_addBuiltinParser(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_array_get_size(lean_object*);
|
||||
lean_object* l_Lean_Parser_Level_ident___elambda__1___closed__3;
|
||||
lean_object* lean_string_append(lean_object*, lean_object*);
|
||||
|
|
@ -116,7 +117,6 @@ lean_object* l_Lean_Parser_Level_paren___closed__4;
|
|||
lean_object* l_Lean_Parser_registerParserAttribute(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_mkLevelParserAttribute___closed__3;
|
||||
lean_object* l_Lean_Parser_Level_imax___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_addBuiltinLeadingParser(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_mkBuiltinParsingTablesRef(lean_object*);
|
||||
lean_object* l_Lean_Parser_Level_paren___closed__9;
|
||||
lean_object* l_Lean_Parser_Level_addLit___closed__7;
|
||||
|
|
@ -156,7 +156,6 @@ lean_object* l_Lean_Parser_Level_addLit___elambda__1___closed__3;
|
|||
lean_object* l_Lean_Parser_Level_max___elambda__1(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Level_ident(lean_object*);
|
||||
lean_object* l_Lean_Parser_Level_addLit;
|
||||
lean_object* l_Lean_Parser_addBuiltinTrailingParser(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Syntax_getKind___closed__3;
|
||||
lean_object* l_Lean_Parser_mkAntiquot(uint8_t, lean_object*, lean_object*, uint8_t);
|
||||
lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__13;
|
||||
|
|
@ -795,12 +794,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Level_paren(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinLevelParsingTable;
|
||||
x_3 = l_Lean_Parser_Level_paren___elambda__1___closed__4;
|
||||
x_4 = l_Lean_Parser_Level_paren;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinLevelParsingTable;
|
||||
x_4 = l_Lean_Parser_Level_paren___elambda__1___closed__4;
|
||||
x_5 = l_Lean_Parser_Level_paren;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Level_max___elambda__1___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
|
|
@ -1130,12 +1130,13 @@ return x_6;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Level_max(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinLevelParsingTable;
|
||||
x_3 = l_Lean_Parser_Level_max___elambda__1___closed__1;
|
||||
x_4 = l_Lean_Parser_Level_max;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinLevelParsingTable;
|
||||
x_4 = l_Lean_Parser_Level_max___elambda__1___closed__1;
|
||||
x_5 = l_Lean_Parser_Level_max;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Level_imax___elambda__1___closed__1() {
|
||||
|
|
@ -1390,12 +1391,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Level_imax(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinLevelParsingTable;
|
||||
x_3 = l_Lean_Parser_Level_imax___elambda__1___closed__1;
|
||||
x_4 = l_Lean_Parser_Level_imax;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinLevelParsingTable;
|
||||
x_4 = l_Lean_Parser_Level_imax___elambda__1___closed__1;
|
||||
x_5 = l_Lean_Parser_Level_imax;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Level_hole___elambda__1___closed__1() {
|
||||
|
|
@ -1666,12 +1668,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Level_hole(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinLevelParsingTable;
|
||||
x_3 = l_Lean_Parser_Level_hole___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Level_hole;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinLevelParsingTable;
|
||||
x_4 = l_Lean_Parser_Level_hole___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Level_hole;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Level_num___elambda__1___closed__1() {
|
||||
|
|
@ -1829,12 +1832,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Level_num(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinLevelParsingTable;
|
||||
x_3 = l_Lean_Parser_Level_num___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Level_num;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinLevelParsingTable;
|
||||
x_4 = l_Lean_Parser_Level_num___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Level_num;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Level_ident___elambda__1___closed__1() {
|
||||
|
|
@ -2003,12 +2007,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Level_ident(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinLevelParsingTable;
|
||||
x_3 = l_Lean_Parser_Level_ident___elambda__1___closed__1;
|
||||
x_4 = l_Lean_Parser_Level_ident;
|
||||
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 0;
|
||||
x_3 = l_Lean_Parser_builtinLevelParsingTable;
|
||||
x_4 = l_Lean_Parser_Level_ident___elambda__1___closed__1;
|
||||
x_5 = l_Lean_Parser_Level_ident;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Level_addLit___elambda__1___closed__1() {
|
||||
|
|
@ -2245,12 +2250,13 @@ return x_1;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Level_addLit(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Parser_builtinLevelParsingTable;
|
||||
x_3 = l_Lean_Parser_Level_addLit___elambda__1___closed__2;
|
||||
x_4 = l_Lean_Parser_Level_addLit;
|
||||
x_5 = l_Lean_Parser_addBuiltinTrailingParser(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = 1;
|
||||
x_3 = l_Lean_Parser_builtinLevelParsingTable;
|
||||
x_4 = l_Lean_Parser_Level_addLit___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Level_addLit;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* initialize_Init_Lean_Parser_Parser(lean_object*);
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -74,9 +74,9 @@ lean_object* l_Lean_projectionFnInfoExt;
|
|||
lean_object* l_Lean_SimplePersistentEnvExtension_getState___rarg(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
lean_object* l_Lean_registerSimplePersistentEnvExtension___at_Lean_mkProjectionFnInfoExtension___spec__3(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_projectionFnInfoExt___elambda__1(lean_object*);
|
||||
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1;
|
||||
lean_object* l_Lean_registerEnvExtensionUnsafe___at_Lean_mkProjectionFnInfoExtension___spec__6(lean_object*, lean_object*);
|
||||
|
|
@ -89,7 +89,7 @@ lean_object* l_Array_qsortAux___main___at_Lean_mkProjectionFnInfoExtension___spe
|
|||
lean_object* l_Lean_projectionFnInfoExt___closed__1;
|
||||
lean_object* l_Lean_Environment_getModuleIdxFor_x3f(lean_object*, lean_object*);
|
||||
lean_object* lean_io_ref_set(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_projectionFnInfoExt___elambda__4(lean_object*);
|
||||
lean_object* l_Lean_projectionFnInfoExt___elambda__4(lean_object*, lean_object*);
|
||||
lean_object* l___private_Init_Data_Array_QSort_1__partitionAux___main___at_Lean_mkProjectionFnInfoExtension___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_namespacesExt___closed__1;
|
||||
lean_object* l_Lean_projectionFnInfoExt___closed__4;
|
||||
|
|
@ -102,8 +102,9 @@ lean_object* l_List_toArrayAux___main___rarg(lean_object*, lean_object*);
|
|||
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Name_toStringWithSep___main(lean_object*, lean_object*);
|
||||
lean_object* l_Array_anyRangeMAux___main___at_Lean_mkProjectionFnInfoExtension___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_projectionFnInfoExt___elambda__4___boxed(lean_object*);
|
||||
lean_object* l_Lean_projectionFnInfoExt___elambda__4___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ProjectionFunctionInfo_inhabited___closed__1;
|
||||
lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_Array_qsortAux___main___at_Lean_mkProjectionFnInfoExtension___spec__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_binSearchAux___main___at_Lean_Environment_getProjectionFnInfo___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_projectionFnInfoExt___elambda__1___boxed(lean_object*);
|
||||
|
|
@ -647,443 +648,447 @@ lean_dec(x_8);
|
|||
lean_dec(x_6);
|
||||
if (x_10 == 0)
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
lean_object* x_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_free_object(x_4);
|
||||
x_11 = lean_ctor_get(x_1, 1);
|
||||
x_11 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_11);
|
||||
x_12 = l_Array_empty___closed__1;
|
||||
lean_inc(x_11);
|
||||
x_13 = lean_apply_1(x_11, x_12);
|
||||
x_14 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_15 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_15, 0, x_13);
|
||||
lean_closure_set(x_15, 1, x_14);
|
||||
x_16 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkProjectionFnInfoExtension___spec__6(x_15, x_7);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
x_12 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_12);
|
||||
x_13 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_13);
|
||||
x_14 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_14);
|
||||
x_15 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_15);
|
||||
x_16 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_1);
|
||||
x_17 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_18 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_18, 0, x_12);
|
||||
lean_closure_set(x_18, 1, x_17);
|
||||
x_19 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkProjectionFnInfoExtension___spec__6(x_18, x_7);
|
||||
if (lean_obj_tag(x_19) == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_17 = lean_ctor_get(x_16, 0);
|
||||
lean_inc(x_17);
|
||||
x_18 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_16);
|
||||
x_19 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_19);
|
||||
x_20 = lean_ctor_get(x_1, 2);
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
|
||||
x_20 = lean_ctor_get(x_19, 0);
|
||||
lean_inc(x_20);
|
||||
x_21 = lean_ctor_get(x_1, 3);
|
||||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
x_22 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_1);
|
||||
x_23 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_23, 0, x_17);
|
||||
lean_ctor_set(x_23, 1, x_19);
|
||||
lean_ctor_set(x_23, 2, x_11);
|
||||
lean_ctor_set(x_23, 3, x_20);
|
||||
lean_ctor_set(x_23, 4, x_21);
|
||||
lean_ctor_set(x_23, 5, x_22);
|
||||
x_24 = lean_io_ref_get(x_3, x_18);
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
lean_dec(x_19);
|
||||
x_22 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_22, 0, x_20);
|
||||
lean_ctor_set(x_22, 1, x_11);
|
||||
lean_ctor_set(x_22, 2, x_13);
|
||||
lean_ctor_set(x_22, 3, x_14);
|
||||
lean_ctor_set(x_22, 4, x_15);
|
||||
lean_ctor_set(x_22, 5, x_16);
|
||||
x_23 = lean_io_ref_get(x_3, x_21);
|
||||
if (lean_obj_tag(x_23) == 0)
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27;
|
||||
x_25 = lean_ctor_get(x_24, 0);
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_24 = lean_ctor_get(x_23, 0);
|
||||
lean_inc(x_24);
|
||||
x_25 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_25);
|
||||
x_26 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_24);
|
||||
x_27 = lean_io_ref_reset(x_3, x_26);
|
||||
if (lean_obj_tag(x_27) == 0)
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
|
||||
x_28 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_27);
|
||||
x_29 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_23);
|
||||
x_30 = x_23;
|
||||
x_31 = lean_array_push(x_25, x_30);
|
||||
x_32 = lean_io_ref_set(x_3, x_31, x_28);
|
||||
if (lean_obj_tag(x_32) == 0)
|
||||
{
|
||||
uint8_t x_33;
|
||||
x_33 = !lean_is_exclusive(x_32);
|
||||
if (x_33 == 0)
|
||||
{
|
||||
lean_object* x_34;
|
||||
x_34 = lean_ctor_get(x_32, 0);
|
||||
lean_dec(x_34);
|
||||
lean_ctor_set(x_32, 0, x_23);
|
||||
return x_32;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36;
|
||||
x_35 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_35);
|
||||
lean_dec(x_32);
|
||||
x_36 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_23);
|
||||
lean_ctor_set(x_36, 1, x_35);
|
||||
return x_36;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_37;
|
||||
lean_dec(x_23);
|
||||
x_37 = !lean_is_exclusive(x_32);
|
||||
if (x_37 == 0)
|
||||
x_26 = lean_io_ref_reset(x_3, x_25);
|
||||
if (lean_obj_tag(x_26) == 0)
|
||||
{
|
||||
return x_32;
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
|
||||
x_27 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_27);
|
||||
lean_dec(x_26);
|
||||
x_28 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_22);
|
||||
x_29 = x_22;
|
||||
x_30 = lean_array_push(x_24, x_29);
|
||||
x_31 = lean_io_ref_set(x_3, x_30, x_27);
|
||||
if (lean_obj_tag(x_31) == 0)
|
||||
{
|
||||
uint8_t x_32;
|
||||
x_32 = !lean_is_exclusive(x_31);
|
||||
if (x_32 == 0)
|
||||
{
|
||||
lean_object* x_33;
|
||||
x_33 = lean_ctor_get(x_31, 0);
|
||||
lean_dec(x_33);
|
||||
lean_ctor_set(x_31, 0, x_22);
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_38; lean_object* x_39; lean_object* x_40;
|
||||
x_38 = lean_ctor_get(x_32, 0);
|
||||
x_39 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_39);
|
||||
lean_object* x_34; lean_object* x_35;
|
||||
x_34 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_34);
|
||||
lean_dec(x_31);
|
||||
x_35 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_35, 0, x_22);
|
||||
lean_ctor_set(x_35, 1, x_34);
|
||||
return x_35;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_36;
|
||||
lean_dec(x_22);
|
||||
x_36 = !lean_is_exclusive(x_31);
|
||||
if (x_36 == 0)
|
||||
{
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_37; lean_object* x_38; lean_object* x_39;
|
||||
x_37 = lean_ctor_get(x_31, 0);
|
||||
x_38 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_38);
|
||||
lean_dec(x_32);
|
||||
x_40 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_40, 0, x_38);
|
||||
lean_ctor_set(x_40, 1, x_39);
|
||||
return x_40;
|
||||
lean_inc(x_37);
|
||||
lean_dec(x_31);
|
||||
x_39 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_37);
|
||||
lean_ctor_set(x_39, 1, x_38);
|
||||
return x_39;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_41;
|
||||
lean_dec(x_25);
|
||||
lean_dec(x_23);
|
||||
x_41 = !lean_is_exclusive(x_27);
|
||||
if (x_41 == 0)
|
||||
{
|
||||
return x_27;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44;
|
||||
x_42 = lean_ctor_get(x_27, 0);
|
||||
x_43 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_43);
|
||||
lean_inc(x_42);
|
||||
lean_dec(x_27);
|
||||
x_44 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_44, 0, x_42);
|
||||
lean_ctor_set(x_44, 1, x_43);
|
||||
return x_44;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_45;
|
||||
lean_dec(x_23);
|
||||
x_45 = !lean_is_exclusive(x_24);
|
||||
if (x_45 == 0)
|
||||
{
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_46; lean_object* x_47; lean_object* x_48;
|
||||
x_46 = lean_ctor_get(x_24, 0);
|
||||
x_47 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_47);
|
||||
lean_inc(x_46);
|
||||
uint8_t x_40;
|
||||
lean_dec(x_24);
|
||||
x_48 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_48, 0, x_46);
|
||||
lean_ctor_set(x_48, 1, x_47);
|
||||
return x_48;
|
||||
lean_dec(x_22);
|
||||
x_40 = !lean_is_exclusive(x_26);
|
||||
if (x_40 == 0)
|
||||
{
|
||||
return x_26;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_41; lean_object* x_42; lean_object* x_43;
|
||||
x_41 = lean_ctor_get(x_26, 0);
|
||||
x_42 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_42);
|
||||
lean_inc(x_41);
|
||||
lean_dec(x_26);
|
||||
x_43 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_43, 0, x_41);
|
||||
lean_ctor_set(x_43, 1, x_42);
|
||||
return x_43;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_49;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_1);
|
||||
x_49 = !lean_is_exclusive(x_16);
|
||||
if (x_49 == 0)
|
||||
uint8_t x_44;
|
||||
lean_dec(x_22);
|
||||
x_44 = !lean_is_exclusive(x_23);
|
||||
if (x_44 == 0)
|
||||
{
|
||||
return x_16;
|
||||
return x_23;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_50; lean_object* x_51; lean_object* x_52;
|
||||
x_50 = lean_ctor_get(x_16, 0);
|
||||
x_51 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_51);
|
||||
lean_inc(x_50);
|
||||
lean_object* x_45; lean_object* x_46; lean_object* x_47;
|
||||
x_45 = lean_ctor_get(x_23, 0);
|
||||
x_46 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_46);
|
||||
lean_inc(x_45);
|
||||
lean_dec(x_23);
|
||||
x_47 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_47, 0, x_45);
|
||||
lean_ctor_set(x_47, 1, x_46);
|
||||
return x_47;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_48;
|
||||
lean_dec(x_16);
|
||||
x_52 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_52, 0, x_50);
|
||||
lean_ctor_set(x_52, 1, x_51);
|
||||
return x_52;
|
||||
lean_dec(x_15);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_11);
|
||||
x_48 = !lean_is_exclusive(x_19);
|
||||
if (x_48 == 0)
|
||||
{
|
||||
return x_19;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_49; lean_object* x_50; lean_object* x_51;
|
||||
x_49 = lean_ctor_get(x_19, 0);
|
||||
x_50 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_50);
|
||||
lean_inc(x_49);
|
||||
lean_dec(x_19);
|
||||
x_51 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_51, 0, x_49);
|
||||
lean_ctor_set(x_51, 1, x_50);
|
||||
return x_51;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
|
||||
x_53 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_53);
|
||||
lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
|
||||
x_52 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_1);
|
||||
x_54 = l_Lean_Name_toString___closed__1;
|
||||
x_55 = l_Lean_Name_toStringWithSep___main(x_54, x_53);
|
||||
x_56 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_57 = lean_string_append(x_56, x_55);
|
||||
lean_dec(x_55);
|
||||
x_58 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_59 = lean_string_append(x_57, x_58);
|
||||
x_53 = l_Lean_Name_toString___closed__1;
|
||||
x_54 = l_Lean_Name_toStringWithSep___main(x_53, x_52);
|
||||
x_55 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_56 = lean_string_append(x_55, x_54);
|
||||
lean_dec(x_54);
|
||||
x_57 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_58 = lean_string_append(x_56, x_57);
|
||||
lean_ctor_set_tag(x_4, 1);
|
||||
lean_ctor_set(x_4, 0, x_59);
|
||||
lean_ctor_set(x_4, 0, x_58);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64;
|
||||
x_60 = lean_ctor_get(x_4, 0);
|
||||
x_61 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_61);
|
||||
lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63;
|
||||
x_59 = lean_ctor_get(x_4, 0);
|
||||
x_60 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_60);
|
||||
lean_inc(x_59);
|
||||
lean_dec(x_4);
|
||||
x_62 = lean_array_get_size(x_60);
|
||||
x_63 = lean_unsigned_to_nat(0u);
|
||||
x_64 = l_Array_anyRangeMAux___main___at_Lean_mkProjectionFnInfoExtension___spec__5(x_1, x_60, x_60, x_62, x_63);
|
||||
lean_dec(x_62);
|
||||
lean_dec(x_60);
|
||||
if (x_64 == 0)
|
||||
x_61 = lean_array_get_size(x_59);
|
||||
x_62 = lean_unsigned_to_nat(0u);
|
||||
x_63 = l_Array_anyRangeMAux___main___at_Lean_mkProjectionFnInfoExtension___spec__5(x_1, x_59, x_59, x_61, x_62);
|
||||
lean_dec(x_61);
|
||||
lean_dec(x_59);
|
||||
if (x_63 == 0)
|
||||
{
|
||||
lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
|
||||
lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
|
||||
x_64 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_64);
|
||||
x_65 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_65);
|
||||
x_66 = l_Array_empty___closed__1;
|
||||
lean_inc(x_65);
|
||||
x_67 = lean_apply_1(x_65, x_66);
|
||||
x_68 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_69 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_69, 0, x_67);
|
||||
lean_closure_set(x_69, 1, x_68);
|
||||
x_70 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkProjectionFnInfoExtension___spec__6(x_69, x_61);
|
||||
if (lean_obj_tag(x_70) == 0)
|
||||
x_66 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_66);
|
||||
x_67 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_67);
|
||||
x_68 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_68);
|
||||
x_69 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_69);
|
||||
lean_dec(x_1);
|
||||
x_70 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_71 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_71, 0, x_65);
|
||||
lean_closure_set(x_71, 1, x_70);
|
||||
x_72 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkProjectionFnInfoExtension___spec__6(x_71, x_60);
|
||||
if (lean_obj_tag(x_72) == 0)
|
||||
{
|
||||
lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
|
||||
x_71 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_71);
|
||||
x_72 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_72);
|
||||
lean_dec(x_70);
|
||||
x_73 = lean_ctor_get(x_1, 0);
|
||||
lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
|
||||
x_73 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_73);
|
||||
x_74 = lean_ctor_get(x_1, 2);
|
||||
x_74 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_74);
|
||||
x_75 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_75);
|
||||
x_76 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_76);
|
||||
lean_dec(x_1);
|
||||
x_77 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_77, 0, x_71);
|
||||
lean_ctor_set(x_77, 1, x_73);
|
||||
lean_ctor_set(x_77, 2, x_65);
|
||||
lean_ctor_set(x_77, 3, x_74);
|
||||
lean_ctor_set(x_77, 4, x_75);
|
||||
lean_ctor_set(x_77, 5, x_76);
|
||||
x_78 = lean_io_ref_get(x_3, x_72);
|
||||
if (lean_obj_tag(x_78) == 0)
|
||||
lean_dec(x_72);
|
||||
x_75 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_75, 0, x_73);
|
||||
lean_ctor_set(x_75, 1, x_64);
|
||||
lean_ctor_set(x_75, 2, x_66);
|
||||
lean_ctor_set(x_75, 3, x_67);
|
||||
lean_ctor_set(x_75, 4, x_68);
|
||||
lean_ctor_set(x_75, 5, x_69);
|
||||
x_76 = lean_io_ref_get(x_3, x_74);
|
||||
if (lean_obj_tag(x_76) == 0)
|
||||
{
|
||||
lean_object* x_79; lean_object* x_80; lean_object* x_81;
|
||||
x_79 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_79);
|
||||
x_80 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_78);
|
||||
x_81 = lean_io_ref_reset(x_3, x_80);
|
||||
if (lean_obj_tag(x_81) == 0)
|
||||
{
|
||||
lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86;
|
||||
x_82 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_82);
|
||||
lean_dec(x_81);
|
||||
x_83 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_object* x_77; lean_object* x_78; lean_object* x_79;
|
||||
x_77 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_77);
|
||||
x_84 = x_77;
|
||||
x_85 = lean_array_push(x_79, x_84);
|
||||
x_86 = lean_io_ref_set(x_3, x_85, x_82);
|
||||
if (lean_obj_tag(x_86) == 0)
|
||||
x_78 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_78);
|
||||
lean_dec(x_76);
|
||||
x_79 = lean_io_ref_reset(x_3, x_78);
|
||||
if (lean_obj_tag(x_79) == 0)
|
||||
{
|
||||
lean_object* x_87; lean_object* x_88; lean_object* x_89;
|
||||
x_87 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_87);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_88 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_88 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_88)) {
|
||||
x_89 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_89 = x_88;
|
||||
}
|
||||
lean_ctor_set(x_89, 0, x_77);
|
||||
lean_ctor_set(x_89, 1, x_87);
|
||||
return x_89;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93;
|
||||
lean_dec(x_77);
|
||||
x_90 = lean_ctor_get(x_86, 0);
|
||||
lean_inc(x_90);
|
||||
x_91 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_91);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_92 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_92 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_92)) {
|
||||
x_93 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_93 = x_92;
|
||||
}
|
||||
lean_ctor_set(x_93, 0, x_90);
|
||||
lean_ctor_set(x_93, 1, x_91);
|
||||
return x_93;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97;
|
||||
lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
|
||||
x_80 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_79);
|
||||
x_81 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_75);
|
||||
x_82 = x_75;
|
||||
x_83 = lean_array_push(x_77, x_82);
|
||||
x_84 = lean_io_ref_set(x_3, x_83, x_80);
|
||||
if (lean_obj_tag(x_84) == 0)
|
||||
{
|
||||
lean_object* x_85; lean_object* x_86; lean_object* x_87;
|
||||
x_85 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_85);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_86 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_86 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_86)) {
|
||||
x_87 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_87 = x_86;
|
||||
}
|
||||
lean_ctor_set(x_87, 0, x_75);
|
||||
lean_ctor_set(x_87, 1, x_85);
|
||||
return x_87;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91;
|
||||
lean_dec(x_75);
|
||||
x_88 = lean_ctor_get(x_84, 0);
|
||||
lean_inc(x_88);
|
||||
x_89 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_89);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_90 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_90 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_90)) {
|
||||
x_91 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_91 = x_90;
|
||||
}
|
||||
lean_ctor_set(x_91, 0, x_88);
|
||||
lean_ctor_set(x_91, 1, x_89);
|
||||
return x_91;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95;
|
||||
lean_dec(x_77);
|
||||
x_94 = lean_ctor_get(x_81, 0);
|
||||
lean_inc(x_94);
|
||||
x_95 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_95);
|
||||
if (lean_is_exclusive(x_81)) {
|
||||
lean_ctor_release(x_81, 0);
|
||||
lean_ctor_release(x_81, 1);
|
||||
x_96 = x_81;
|
||||
lean_dec(x_75);
|
||||
x_92 = lean_ctor_get(x_79, 0);
|
||||
lean_inc(x_92);
|
||||
x_93 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_93);
|
||||
if (lean_is_exclusive(x_79)) {
|
||||
lean_ctor_release(x_79, 0);
|
||||
lean_ctor_release(x_79, 1);
|
||||
x_94 = x_79;
|
||||
} else {
|
||||
lean_dec_ref(x_81);
|
||||
x_96 = lean_box(0);
|
||||
lean_dec_ref(x_79);
|
||||
x_94 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_96)) {
|
||||
x_97 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_94)) {
|
||||
x_95 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_97 = x_96;
|
||||
x_95 = x_94;
|
||||
}
|
||||
lean_ctor_set(x_97, 0, x_94);
|
||||
lean_ctor_set(x_97, 1, x_95);
|
||||
return x_97;
|
||||
lean_ctor_set(x_95, 0, x_92);
|
||||
lean_ctor_set(x_95, 1, x_93);
|
||||
return x_95;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101;
|
||||
lean_dec(x_77);
|
||||
x_98 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_98);
|
||||
x_99 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_99);
|
||||
if (lean_is_exclusive(x_78)) {
|
||||
lean_ctor_release(x_78, 0);
|
||||
lean_ctor_release(x_78, 1);
|
||||
x_100 = x_78;
|
||||
lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99;
|
||||
lean_dec(x_75);
|
||||
x_96 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_96);
|
||||
x_97 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_97);
|
||||
if (lean_is_exclusive(x_76)) {
|
||||
lean_ctor_release(x_76, 0);
|
||||
lean_ctor_release(x_76, 1);
|
||||
x_98 = x_76;
|
||||
} else {
|
||||
lean_dec_ref(x_78);
|
||||
x_100 = lean_box(0);
|
||||
lean_dec_ref(x_76);
|
||||
x_98 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_100)) {
|
||||
x_101 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_98)) {
|
||||
x_99 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_101 = x_100;
|
||||
x_99 = x_98;
|
||||
}
|
||||
lean_ctor_set(x_101, 0, x_98);
|
||||
lean_ctor_set(x_101, 1, x_99);
|
||||
return x_101;
|
||||
lean_ctor_set(x_99, 0, x_96);
|
||||
lean_ctor_set(x_99, 1, x_97);
|
||||
return x_99;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105;
|
||||
lean_dec(x_65);
|
||||
lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103;
|
||||
lean_dec(x_69);
|
||||
lean_dec(x_68);
|
||||
lean_dec(x_67);
|
||||
lean_dec(x_66);
|
||||
lean_dec(x_64);
|
||||
x_100 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_100);
|
||||
x_101 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_101);
|
||||
if (lean_is_exclusive(x_72)) {
|
||||
lean_ctor_release(x_72, 0);
|
||||
lean_ctor_release(x_72, 1);
|
||||
x_102 = x_72;
|
||||
} else {
|
||||
lean_dec_ref(x_72);
|
||||
x_102 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_102)) {
|
||||
x_103 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_103 = x_102;
|
||||
}
|
||||
lean_ctor_set(x_103, 0, x_100);
|
||||
lean_ctor_set(x_103, 1, x_101);
|
||||
return x_103;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111;
|
||||
x_104 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_104);
|
||||
lean_dec(x_1);
|
||||
x_102 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_102);
|
||||
x_103 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_103);
|
||||
if (lean_is_exclusive(x_70)) {
|
||||
lean_ctor_release(x_70, 0);
|
||||
lean_ctor_release(x_70, 1);
|
||||
x_104 = x_70;
|
||||
} else {
|
||||
lean_dec_ref(x_70);
|
||||
x_104 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_104)) {
|
||||
x_105 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_105 = x_104;
|
||||
}
|
||||
lean_ctor_set(x_105, 0, x_102);
|
||||
lean_ctor_set(x_105, 1, x_103);
|
||||
return x_105;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113;
|
||||
x_106 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_106);
|
||||
lean_dec(x_1);
|
||||
x_107 = l_Lean_Name_toString___closed__1;
|
||||
x_108 = l_Lean_Name_toStringWithSep___main(x_107, x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_110 = lean_string_append(x_109, x_108);
|
||||
lean_dec(x_108);
|
||||
x_111 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_112 = lean_string_append(x_110, x_111);
|
||||
x_113 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_113, 0, x_112);
|
||||
lean_ctor_set(x_113, 1, x_61);
|
||||
return x_113;
|
||||
x_105 = l_Lean_Name_toString___closed__1;
|
||||
x_106 = l_Lean_Name_toStringWithSep___main(x_105, x_104);
|
||||
x_107 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_108 = lean_string_append(x_107, x_106);
|
||||
lean_dec(x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_110 = lean_string_append(x_108, x_109);
|
||||
x_111 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_111, 0, x_110);
|
||||
lean_ctor_set(x_111, 1, x_60);
|
||||
return x_111;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_114;
|
||||
uint8_t x_112;
|
||||
lean_dec(x_1);
|
||||
x_114 = !lean_is_exclusive(x_4);
|
||||
if (x_114 == 0)
|
||||
x_112 = !lean_is_exclusive(x_4);
|
||||
if (x_112 == 0)
|
||||
{
|
||||
return x_4;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_115; lean_object* x_116; lean_object* x_117;
|
||||
x_115 = lean_ctor_get(x_4, 0);
|
||||
x_116 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_116);
|
||||
lean_inc(x_115);
|
||||
lean_object* x_113; lean_object* x_114; lean_object* x_115;
|
||||
x_113 = lean_ctor_get(x_4, 0);
|
||||
x_114 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_114);
|
||||
lean_inc(x_113);
|
||||
lean_dec(x_4);
|
||||
x_117 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_117, 0, x_115);
|
||||
lean_ctor_set(x_117, 1, x_116);
|
||||
return x_117;
|
||||
x_115 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_115, 0, x_113);
|
||||
lean_ctor_set(x_115, 1, x_114);
|
||||
return x_115;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1091,26 +1096,38 @@ return x_117;
|
|||
lean_object* l_Lean_registerSimplePersistentEnvExtension___at_Lean_mkProjectionFnInfoExtension___spec__3(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
|
||||
x_3 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_3);
|
||||
x_4 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_4);
|
||||
x_5 = lean_box(0);
|
||||
x_6 = l_Array_empty___closed__1;
|
||||
lean_inc(x_4);
|
||||
x_7 = lean_apply_1(x_4, x_6);
|
||||
x_8 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_8, 0, x_5);
|
||||
lean_ctor_set(x_8, 1, x_7);
|
||||
x_9 = lean_alloc_closure((void*)(l_EStateM_pure___rarg), 2, 1);
|
||||
lean_closure_set(x_9, 0, x_8);
|
||||
x_10 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1___boxed), 5, 2);
|
||||
lean_closure_set(x_10, 0, x_4);
|
||||
lean_closure_set(x_10, 1, x_5);
|
||||
lean_inc(x_1);
|
||||
x_4 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1), 3, 1);
|
||||
lean_closure_set(x_4, 0, x_1);
|
||||
lean_inc(x_1);
|
||||
x_5 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2), 3, 1);
|
||||
lean_closure_set(x_5, 0, x_1);
|
||||
x_6 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3), 2, 1);
|
||||
lean_closure_set(x_6, 0, x_1);
|
||||
x_7 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1;
|
||||
x_8 = lean_alloc_ctor(0, 5, 0);
|
||||
lean_ctor_set(x_8, 0, x_3);
|
||||
lean_ctor_set(x_8, 1, x_4);
|
||||
lean_ctor_set(x_8, 2, x_5);
|
||||
lean_ctor_set(x_8, 3, x_6);
|
||||
lean_ctor_set(x_8, 4, x_7);
|
||||
x_9 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_mkProjectionFnInfoExtension___spec__4(x_8, x_2);
|
||||
return x_9;
|
||||
x_11 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2), 3, 1);
|
||||
lean_closure_set(x_11, 0, x_1);
|
||||
x_12 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3), 2, 1);
|
||||
lean_closure_set(x_12, 0, x_1);
|
||||
x_13 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1;
|
||||
x_14 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_14, 0, x_3);
|
||||
lean_ctor_set(x_14, 1, x_9);
|
||||
lean_ctor_set(x_14, 2, x_10);
|
||||
lean_ctor_set(x_14, 3, x_11);
|
||||
lean_ctor_set(x_14, 4, x_12);
|
||||
lean_ctor_set(x_14, 5, x_13);
|
||||
x_15 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_mkProjectionFnInfoExtension___spec__4(x_14, x_2);
|
||||
return x_15;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_mkProjectionFnInfoExtension___lambda__1(lean_object* x_1, lean_object* x_2) {
|
||||
|
|
@ -1269,19 +1286,19 @@ lean_ctor_set(x_3, 1, x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_projectionFnInfoExt___elambda__4(lean_object* x_1) {
|
||||
lean_object* l_Lean_projectionFnInfoExt___elambda__4(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_alloc_closure((void*)(l_Lean_projectionFnInfoExt___elambda__4___rarg), 1, 0);
|
||||
return x_2;
|
||||
lean_object* x_3;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_projectionFnInfoExt___elambda__4___rarg), 1, 0);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_projectionFnInfoExt___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_projectionFnInfoExt___elambda__4___boxed), 1, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_projectionFnInfoExt___elambda__4___boxed), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -1357,13 +1374,14 @@ lean_dec(x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_projectionFnInfoExt___elambda__4___boxed(lean_object* x_1) {
|
||||
lean_object* l_Lean_projectionFnInfoExt___elambda__4___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_projectionFnInfoExt___elambda__4(x_1);
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_projectionFnInfoExt___elambda__4(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* lean_add_projection_info(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, uint8_t x_6) {
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ uint8_t l_Lean_isReducible(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_isReducible___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkReducibilityAttrs___closed__2;
|
||||
lean_object* lean_nat_add(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_registerTagAttribute___closed__2;
|
||||
lean_object* l_Lean_mkReducibilityAttrs___closed__1;
|
||||
extern lean_object* l_Lean_AttributeImpl_inhabited___closed__4;
|
||||
lean_object* l_Array_binSearchAux___main___at_Lean_getReducibilityStatus___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -674,443 +675,447 @@ lean_dec(x_8);
|
|||
lean_dec(x_6);
|
||||
if (x_10 == 0)
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
lean_object* x_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_free_object(x_4);
|
||||
x_11 = lean_ctor_get(x_1, 1);
|
||||
x_11 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_11);
|
||||
x_12 = l_Array_empty___closed__1;
|
||||
lean_inc(x_11);
|
||||
x_13 = lean_apply_1(x_11, x_12);
|
||||
x_14 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_15 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_15, 0, x_13);
|
||||
lean_closure_set(x_15, 1, x_14);
|
||||
x_16 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkReducibilityAttrs___spec__7(x_15, x_7);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
x_12 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_12);
|
||||
x_13 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_13);
|
||||
x_14 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_14);
|
||||
x_15 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_15);
|
||||
x_16 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_1);
|
||||
x_17 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_18 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_18, 0, x_12);
|
||||
lean_closure_set(x_18, 1, x_17);
|
||||
x_19 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkReducibilityAttrs___spec__7(x_18, x_7);
|
||||
if (lean_obj_tag(x_19) == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_17 = lean_ctor_get(x_16, 0);
|
||||
lean_inc(x_17);
|
||||
x_18 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_16);
|
||||
x_19 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_19);
|
||||
x_20 = lean_ctor_get(x_1, 2);
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
|
||||
x_20 = lean_ctor_get(x_19, 0);
|
||||
lean_inc(x_20);
|
||||
x_21 = lean_ctor_get(x_1, 3);
|
||||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
x_22 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_1);
|
||||
x_23 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_23, 0, x_17);
|
||||
lean_ctor_set(x_23, 1, x_19);
|
||||
lean_ctor_set(x_23, 2, x_11);
|
||||
lean_ctor_set(x_23, 3, x_20);
|
||||
lean_ctor_set(x_23, 4, x_21);
|
||||
lean_ctor_set(x_23, 5, x_22);
|
||||
x_24 = lean_io_ref_get(x_3, x_18);
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
lean_dec(x_19);
|
||||
x_22 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_22, 0, x_20);
|
||||
lean_ctor_set(x_22, 1, x_11);
|
||||
lean_ctor_set(x_22, 2, x_13);
|
||||
lean_ctor_set(x_22, 3, x_14);
|
||||
lean_ctor_set(x_22, 4, x_15);
|
||||
lean_ctor_set(x_22, 5, x_16);
|
||||
x_23 = lean_io_ref_get(x_3, x_21);
|
||||
if (lean_obj_tag(x_23) == 0)
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27;
|
||||
x_25 = lean_ctor_get(x_24, 0);
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_24 = lean_ctor_get(x_23, 0);
|
||||
lean_inc(x_24);
|
||||
x_25 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_25);
|
||||
x_26 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_24);
|
||||
x_27 = lean_io_ref_reset(x_3, x_26);
|
||||
if (lean_obj_tag(x_27) == 0)
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
|
||||
x_28 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_27);
|
||||
x_29 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_23);
|
||||
x_30 = x_23;
|
||||
x_31 = lean_array_push(x_25, x_30);
|
||||
x_32 = lean_io_ref_set(x_3, x_31, x_28);
|
||||
if (lean_obj_tag(x_32) == 0)
|
||||
{
|
||||
uint8_t x_33;
|
||||
x_33 = !lean_is_exclusive(x_32);
|
||||
if (x_33 == 0)
|
||||
{
|
||||
lean_object* x_34;
|
||||
x_34 = lean_ctor_get(x_32, 0);
|
||||
lean_dec(x_34);
|
||||
lean_ctor_set(x_32, 0, x_23);
|
||||
return x_32;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36;
|
||||
x_35 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_35);
|
||||
lean_dec(x_32);
|
||||
x_36 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_23);
|
||||
lean_ctor_set(x_36, 1, x_35);
|
||||
return x_36;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_37;
|
||||
lean_dec(x_23);
|
||||
x_37 = !lean_is_exclusive(x_32);
|
||||
if (x_37 == 0)
|
||||
x_26 = lean_io_ref_reset(x_3, x_25);
|
||||
if (lean_obj_tag(x_26) == 0)
|
||||
{
|
||||
return x_32;
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
|
||||
x_27 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_27);
|
||||
lean_dec(x_26);
|
||||
x_28 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_22);
|
||||
x_29 = x_22;
|
||||
x_30 = lean_array_push(x_24, x_29);
|
||||
x_31 = lean_io_ref_set(x_3, x_30, x_27);
|
||||
if (lean_obj_tag(x_31) == 0)
|
||||
{
|
||||
uint8_t x_32;
|
||||
x_32 = !lean_is_exclusive(x_31);
|
||||
if (x_32 == 0)
|
||||
{
|
||||
lean_object* x_33;
|
||||
x_33 = lean_ctor_get(x_31, 0);
|
||||
lean_dec(x_33);
|
||||
lean_ctor_set(x_31, 0, x_22);
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_38; lean_object* x_39; lean_object* x_40;
|
||||
x_38 = lean_ctor_get(x_32, 0);
|
||||
x_39 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_39);
|
||||
lean_object* x_34; lean_object* x_35;
|
||||
x_34 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_34);
|
||||
lean_dec(x_31);
|
||||
x_35 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_35, 0, x_22);
|
||||
lean_ctor_set(x_35, 1, x_34);
|
||||
return x_35;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_36;
|
||||
lean_dec(x_22);
|
||||
x_36 = !lean_is_exclusive(x_31);
|
||||
if (x_36 == 0)
|
||||
{
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_37; lean_object* x_38; lean_object* x_39;
|
||||
x_37 = lean_ctor_get(x_31, 0);
|
||||
x_38 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_38);
|
||||
lean_dec(x_32);
|
||||
x_40 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_40, 0, x_38);
|
||||
lean_ctor_set(x_40, 1, x_39);
|
||||
return x_40;
|
||||
lean_inc(x_37);
|
||||
lean_dec(x_31);
|
||||
x_39 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_37);
|
||||
lean_ctor_set(x_39, 1, x_38);
|
||||
return x_39;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_41;
|
||||
lean_dec(x_25);
|
||||
lean_dec(x_23);
|
||||
x_41 = !lean_is_exclusive(x_27);
|
||||
if (x_41 == 0)
|
||||
{
|
||||
return x_27;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44;
|
||||
x_42 = lean_ctor_get(x_27, 0);
|
||||
x_43 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_43);
|
||||
lean_inc(x_42);
|
||||
lean_dec(x_27);
|
||||
x_44 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_44, 0, x_42);
|
||||
lean_ctor_set(x_44, 1, x_43);
|
||||
return x_44;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_45;
|
||||
lean_dec(x_23);
|
||||
x_45 = !lean_is_exclusive(x_24);
|
||||
if (x_45 == 0)
|
||||
{
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_46; lean_object* x_47; lean_object* x_48;
|
||||
x_46 = lean_ctor_get(x_24, 0);
|
||||
x_47 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_47);
|
||||
lean_inc(x_46);
|
||||
uint8_t x_40;
|
||||
lean_dec(x_24);
|
||||
x_48 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_48, 0, x_46);
|
||||
lean_ctor_set(x_48, 1, x_47);
|
||||
return x_48;
|
||||
lean_dec(x_22);
|
||||
x_40 = !lean_is_exclusive(x_26);
|
||||
if (x_40 == 0)
|
||||
{
|
||||
return x_26;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_41; lean_object* x_42; lean_object* x_43;
|
||||
x_41 = lean_ctor_get(x_26, 0);
|
||||
x_42 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_42);
|
||||
lean_inc(x_41);
|
||||
lean_dec(x_26);
|
||||
x_43 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_43, 0, x_41);
|
||||
lean_ctor_set(x_43, 1, x_42);
|
||||
return x_43;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_49;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_1);
|
||||
x_49 = !lean_is_exclusive(x_16);
|
||||
if (x_49 == 0)
|
||||
uint8_t x_44;
|
||||
lean_dec(x_22);
|
||||
x_44 = !lean_is_exclusive(x_23);
|
||||
if (x_44 == 0)
|
||||
{
|
||||
return x_16;
|
||||
return x_23;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_50; lean_object* x_51; lean_object* x_52;
|
||||
x_50 = lean_ctor_get(x_16, 0);
|
||||
x_51 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_51);
|
||||
lean_inc(x_50);
|
||||
lean_object* x_45; lean_object* x_46; lean_object* x_47;
|
||||
x_45 = lean_ctor_get(x_23, 0);
|
||||
x_46 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_46);
|
||||
lean_inc(x_45);
|
||||
lean_dec(x_23);
|
||||
x_47 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_47, 0, x_45);
|
||||
lean_ctor_set(x_47, 1, x_46);
|
||||
return x_47;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_48;
|
||||
lean_dec(x_16);
|
||||
x_52 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_52, 0, x_50);
|
||||
lean_ctor_set(x_52, 1, x_51);
|
||||
return x_52;
|
||||
lean_dec(x_15);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_11);
|
||||
x_48 = !lean_is_exclusive(x_19);
|
||||
if (x_48 == 0)
|
||||
{
|
||||
return x_19;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_49; lean_object* x_50; lean_object* x_51;
|
||||
x_49 = lean_ctor_get(x_19, 0);
|
||||
x_50 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_50);
|
||||
lean_inc(x_49);
|
||||
lean_dec(x_19);
|
||||
x_51 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_51, 0, x_49);
|
||||
lean_ctor_set(x_51, 1, x_50);
|
||||
return x_51;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
|
||||
x_53 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_53);
|
||||
lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
|
||||
x_52 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_1);
|
||||
x_54 = l_Lean_Name_toString___closed__1;
|
||||
x_55 = l_Lean_Name_toStringWithSep___main(x_54, x_53);
|
||||
x_56 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_57 = lean_string_append(x_56, x_55);
|
||||
lean_dec(x_55);
|
||||
x_58 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_59 = lean_string_append(x_57, x_58);
|
||||
x_53 = l_Lean_Name_toString___closed__1;
|
||||
x_54 = l_Lean_Name_toStringWithSep___main(x_53, x_52);
|
||||
x_55 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_56 = lean_string_append(x_55, x_54);
|
||||
lean_dec(x_54);
|
||||
x_57 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_58 = lean_string_append(x_56, x_57);
|
||||
lean_ctor_set_tag(x_4, 1);
|
||||
lean_ctor_set(x_4, 0, x_59);
|
||||
lean_ctor_set(x_4, 0, x_58);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64;
|
||||
x_60 = lean_ctor_get(x_4, 0);
|
||||
x_61 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_61);
|
||||
lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63;
|
||||
x_59 = lean_ctor_get(x_4, 0);
|
||||
x_60 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_60);
|
||||
lean_inc(x_59);
|
||||
lean_dec(x_4);
|
||||
x_62 = lean_array_get_size(x_60);
|
||||
x_63 = lean_unsigned_to_nat(0u);
|
||||
x_64 = l_Array_anyRangeMAux___main___at_Lean_mkReducibilityAttrs___spec__6(x_1, x_60, x_60, x_62, x_63);
|
||||
lean_dec(x_62);
|
||||
lean_dec(x_60);
|
||||
if (x_64 == 0)
|
||||
x_61 = lean_array_get_size(x_59);
|
||||
x_62 = lean_unsigned_to_nat(0u);
|
||||
x_63 = l_Array_anyRangeMAux___main___at_Lean_mkReducibilityAttrs___spec__6(x_1, x_59, x_59, x_61, x_62);
|
||||
lean_dec(x_61);
|
||||
lean_dec(x_59);
|
||||
if (x_63 == 0)
|
||||
{
|
||||
lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
|
||||
lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
|
||||
x_64 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_64);
|
||||
x_65 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_65);
|
||||
x_66 = l_Array_empty___closed__1;
|
||||
lean_inc(x_65);
|
||||
x_67 = lean_apply_1(x_65, x_66);
|
||||
x_68 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_69 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_69, 0, x_67);
|
||||
lean_closure_set(x_69, 1, x_68);
|
||||
x_70 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkReducibilityAttrs___spec__7(x_69, x_61);
|
||||
if (lean_obj_tag(x_70) == 0)
|
||||
x_66 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_66);
|
||||
x_67 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_67);
|
||||
x_68 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_68);
|
||||
x_69 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_69);
|
||||
lean_dec(x_1);
|
||||
x_70 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_71 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_71, 0, x_65);
|
||||
lean_closure_set(x_71, 1, x_70);
|
||||
x_72 = l_Lean_registerEnvExtensionUnsafe___at_Lean_mkReducibilityAttrs___spec__7(x_71, x_60);
|
||||
if (lean_obj_tag(x_72) == 0)
|
||||
{
|
||||
lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
|
||||
x_71 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_71);
|
||||
x_72 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_72);
|
||||
lean_dec(x_70);
|
||||
x_73 = lean_ctor_get(x_1, 0);
|
||||
lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
|
||||
x_73 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_73);
|
||||
x_74 = lean_ctor_get(x_1, 2);
|
||||
x_74 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_74);
|
||||
x_75 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_75);
|
||||
x_76 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_76);
|
||||
lean_dec(x_1);
|
||||
x_77 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_77, 0, x_71);
|
||||
lean_ctor_set(x_77, 1, x_73);
|
||||
lean_ctor_set(x_77, 2, x_65);
|
||||
lean_ctor_set(x_77, 3, x_74);
|
||||
lean_ctor_set(x_77, 4, x_75);
|
||||
lean_ctor_set(x_77, 5, x_76);
|
||||
x_78 = lean_io_ref_get(x_3, x_72);
|
||||
if (lean_obj_tag(x_78) == 0)
|
||||
lean_dec(x_72);
|
||||
x_75 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_75, 0, x_73);
|
||||
lean_ctor_set(x_75, 1, x_64);
|
||||
lean_ctor_set(x_75, 2, x_66);
|
||||
lean_ctor_set(x_75, 3, x_67);
|
||||
lean_ctor_set(x_75, 4, x_68);
|
||||
lean_ctor_set(x_75, 5, x_69);
|
||||
x_76 = lean_io_ref_get(x_3, x_74);
|
||||
if (lean_obj_tag(x_76) == 0)
|
||||
{
|
||||
lean_object* x_79; lean_object* x_80; lean_object* x_81;
|
||||
x_79 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_79);
|
||||
x_80 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_78);
|
||||
x_81 = lean_io_ref_reset(x_3, x_80);
|
||||
if (lean_obj_tag(x_81) == 0)
|
||||
{
|
||||
lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86;
|
||||
x_82 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_82);
|
||||
lean_dec(x_81);
|
||||
x_83 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_object* x_77; lean_object* x_78; lean_object* x_79;
|
||||
x_77 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_77);
|
||||
x_84 = x_77;
|
||||
x_85 = lean_array_push(x_79, x_84);
|
||||
x_86 = lean_io_ref_set(x_3, x_85, x_82);
|
||||
if (lean_obj_tag(x_86) == 0)
|
||||
x_78 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_78);
|
||||
lean_dec(x_76);
|
||||
x_79 = lean_io_ref_reset(x_3, x_78);
|
||||
if (lean_obj_tag(x_79) == 0)
|
||||
{
|
||||
lean_object* x_87; lean_object* x_88; lean_object* x_89;
|
||||
x_87 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_87);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_88 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_88 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_88)) {
|
||||
x_89 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_89 = x_88;
|
||||
}
|
||||
lean_ctor_set(x_89, 0, x_77);
|
||||
lean_ctor_set(x_89, 1, x_87);
|
||||
return x_89;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93;
|
||||
lean_dec(x_77);
|
||||
x_90 = lean_ctor_get(x_86, 0);
|
||||
lean_inc(x_90);
|
||||
x_91 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_91);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_92 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_92 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_92)) {
|
||||
x_93 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_93 = x_92;
|
||||
}
|
||||
lean_ctor_set(x_93, 0, x_90);
|
||||
lean_ctor_set(x_93, 1, x_91);
|
||||
return x_93;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97;
|
||||
lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
|
||||
x_80 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_79);
|
||||
x_81 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_75);
|
||||
x_82 = x_75;
|
||||
x_83 = lean_array_push(x_77, x_82);
|
||||
x_84 = lean_io_ref_set(x_3, x_83, x_80);
|
||||
if (lean_obj_tag(x_84) == 0)
|
||||
{
|
||||
lean_object* x_85; lean_object* x_86; lean_object* x_87;
|
||||
x_85 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_85);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_86 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_86 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_86)) {
|
||||
x_87 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_87 = x_86;
|
||||
}
|
||||
lean_ctor_set(x_87, 0, x_75);
|
||||
lean_ctor_set(x_87, 1, x_85);
|
||||
return x_87;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91;
|
||||
lean_dec(x_75);
|
||||
x_88 = lean_ctor_get(x_84, 0);
|
||||
lean_inc(x_88);
|
||||
x_89 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_89);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_90 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_90 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_90)) {
|
||||
x_91 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_91 = x_90;
|
||||
}
|
||||
lean_ctor_set(x_91, 0, x_88);
|
||||
lean_ctor_set(x_91, 1, x_89);
|
||||
return x_91;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95;
|
||||
lean_dec(x_77);
|
||||
x_94 = lean_ctor_get(x_81, 0);
|
||||
lean_inc(x_94);
|
||||
x_95 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_95);
|
||||
if (lean_is_exclusive(x_81)) {
|
||||
lean_ctor_release(x_81, 0);
|
||||
lean_ctor_release(x_81, 1);
|
||||
x_96 = x_81;
|
||||
lean_dec(x_75);
|
||||
x_92 = lean_ctor_get(x_79, 0);
|
||||
lean_inc(x_92);
|
||||
x_93 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_93);
|
||||
if (lean_is_exclusive(x_79)) {
|
||||
lean_ctor_release(x_79, 0);
|
||||
lean_ctor_release(x_79, 1);
|
||||
x_94 = x_79;
|
||||
} else {
|
||||
lean_dec_ref(x_81);
|
||||
x_96 = lean_box(0);
|
||||
lean_dec_ref(x_79);
|
||||
x_94 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_96)) {
|
||||
x_97 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_94)) {
|
||||
x_95 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_97 = x_96;
|
||||
x_95 = x_94;
|
||||
}
|
||||
lean_ctor_set(x_97, 0, x_94);
|
||||
lean_ctor_set(x_97, 1, x_95);
|
||||
return x_97;
|
||||
lean_ctor_set(x_95, 0, x_92);
|
||||
lean_ctor_set(x_95, 1, x_93);
|
||||
return x_95;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101;
|
||||
lean_dec(x_77);
|
||||
x_98 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_98);
|
||||
x_99 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_99);
|
||||
if (lean_is_exclusive(x_78)) {
|
||||
lean_ctor_release(x_78, 0);
|
||||
lean_ctor_release(x_78, 1);
|
||||
x_100 = x_78;
|
||||
lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99;
|
||||
lean_dec(x_75);
|
||||
x_96 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_96);
|
||||
x_97 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_97);
|
||||
if (lean_is_exclusive(x_76)) {
|
||||
lean_ctor_release(x_76, 0);
|
||||
lean_ctor_release(x_76, 1);
|
||||
x_98 = x_76;
|
||||
} else {
|
||||
lean_dec_ref(x_78);
|
||||
x_100 = lean_box(0);
|
||||
lean_dec_ref(x_76);
|
||||
x_98 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_100)) {
|
||||
x_101 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_98)) {
|
||||
x_99 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_101 = x_100;
|
||||
x_99 = x_98;
|
||||
}
|
||||
lean_ctor_set(x_101, 0, x_98);
|
||||
lean_ctor_set(x_101, 1, x_99);
|
||||
return x_101;
|
||||
lean_ctor_set(x_99, 0, x_96);
|
||||
lean_ctor_set(x_99, 1, x_97);
|
||||
return x_99;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105;
|
||||
lean_dec(x_65);
|
||||
lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103;
|
||||
lean_dec(x_69);
|
||||
lean_dec(x_68);
|
||||
lean_dec(x_67);
|
||||
lean_dec(x_66);
|
||||
lean_dec(x_64);
|
||||
x_100 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_100);
|
||||
x_101 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_101);
|
||||
if (lean_is_exclusive(x_72)) {
|
||||
lean_ctor_release(x_72, 0);
|
||||
lean_ctor_release(x_72, 1);
|
||||
x_102 = x_72;
|
||||
} else {
|
||||
lean_dec_ref(x_72);
|
||||
x_102 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_102)) {
|
||||
x_103 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_103 = x_102;
|
||||
}
|
||||
lean_ctor_set(x_103, 0, x_100);
|
||||
lean_ctor_set(x_103, 1, x_101);
|
||||
return x_103;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111;
|
||||
x_104 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_104);
|
||||
lean_dec(x_1);
|
||||
x_102 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_102);
|
||||
x_103 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_103);
|
||||
if (lean_is_exclusive(x_70)) {
|
||||
lean_ctor_release(x_70, 0);
|
||||
lean_ctor_release(x_70, 1);
|
||||
x_104 = x_70;
|
||||
} else {
|
||||
lean_dec_ref(x_70);
|
||||
x_104 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_104)) {
|
||||
x_105 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_105 = x_104;
|
||||
}
|
||||
lean_ctor_set(x_105, 0, x_102);
|
||||
lean_ctor_set(x_105, 1, x_103);
|
||||
return x_105;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113;
|
||||
x_106 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_106);
|
||||
lean_dec(x_1);
|
||||
x_107 = l_Lean_Name_toString___closed__1;
|
||||
x_108 = l_Lean_Name_toStringWithSep___main(x_107, x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_110 = lean_string_append(x_109, x_108);
|
||||
lean_dec(x_108);
|
||||
x_111 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_112 = lean_string_append(x_110, x_111);
|
||||
x_113 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_113, 0, x_112);
|
||||
lean_ctor_set(x_113, 1, x_61);
|
||||
return x_113;
|
||||
x_105 = l_Lean_Name_toString___closed__1;
|
||||
x_106 = l_Lean_Name_toStringWithSep___main(x_105, x_104);
|
||||
x_107 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_108 = lean_string_append(x_107, x_106);
|
||||
lean_dec(x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_110 = lean_string_append(x_108, x_109);
|
||||
x_111 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_111, 0, x_110);
|
||||
lean_ctor_set(x_111, 1, x_60);
|
||||
return x_111;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_114;
|
||||
uint8_t x_112;
|
||||
lean_dec(x_1);
|
||||
x_114 = !lean_is_exclusive(x_4);
|
||||
if (x_114 == 0)
|
||||
x_112 = !lean_is_exclusive(x_4);
|
||||
if (x_112 == 0)
|
||||
{
|
||||
return x_4;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_115; lean_object* x_116; lean_object* x_117;
|
||||
x_115 = lean_ctor_get(x_4, 0);
|
||||
x_116 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_116);
|
||||
lean_inc(x_115);
|
||||
lean_object* x_113; lean_object* x_114; lean_object* x_115;
|
||||
x_113 = lean_ctor_get(x_4, 0);
|
||||
x_114 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_114);
|
||||
lean_inc(x_113);
|
||||
lean_dec(x_4);
|
||||
x_117 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_117, 0, x_115);
|
||||
lean_ctor_set(x_117, 1, x_116);
|
||||
return x_117;
|
||||
x_115 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_115, 0, x_113);
|
||||
lean_ctor_set(x_115, 1, x_114);
|
||||
return x_115;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1372,107 +1377,109 @@ return x_1;
|
|||
lean_object* l_Lean_registerEnumAttributes___at_Lean_mkReducibilityAttrs___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
|
||||
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
|
||||
x_6 = l_Lean_registerTagAttribute___closed__1;
|
||||
x_7 = l_Lean_registerEnumAttributes___at_Lean_mkReducibilityAttrs___spec__1___closed__1;
|
||||
x_8 = l_Lean_registerEnumAttributes___at_Lean_mkReducibilityAttrs___spec__1___closed__2;
|
||||
x_9 = l_Lean_registerEnumAttributes___rarg___closed__1;
|
||||
x_10 = lean_alloc_ctor(0, 5, 0);
|
||||
lean_ctor_set(x_10, 0, x_1);
|
||||
lean_ctor_set(x_10, 1, x_6);
|
||||
lean_ctor_set(x_10, 2, x_7);
|
||||
lean_ctor_set(x_10, 3, x_8);
|
||||
lean_ctor_set(x_10, 4, x_9);
|
||||
x_11 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_mkReducibilityAttrs___spec__5(x_10, x_5);
|
||||
if (lean_obj_tag(x_11) == 0)
|
||||
x_7 = l_Lean_registerTagAttribute___closed__2;
|
||||
x_8 = l_Lean_registerEnumAttributes___at_Lean_mkReducibilityAttrs___spec__1___closed__1;
|
||||
x_9 = l_Lean_registerEnumAttributes___at_Lean_mkReducibilityAttrs___spec__1___closed__2;
|
||||
x_10 = l_Lean_registerEnumAttributes___rarg___closed__1;
|
||||
x_11 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_11, 0, x_1);
|
||||
lean_ctor_set(x_11, 1, x_6);
|
||||
lean_ctor_set(x_11, 2, x_7);
|
||||
lean_ctor_set(x_11, 3, x_8);
|
||||
lean_ctor_set(x_11, 4, x_9);
|
||||
lean_ctor_set(x_11, 5, x_10);
|
||||
x_12 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_mkReducibilityAttrs___spec__5(x_11, x_5);
|
||||
if (lean_obj_tag(x_12) == 0)
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
|
||||
x_12 = lean_ctor_get(x_11, 0);
|
||||
lean_inc(x_12);
|
||||
x_13 = lean_ctor_get(x_11, 1);
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
x_13 = lean_ctor_get(x_12, 0);
|
||||
lean_inc(x_13);
|
||||
lean_dec(x_11);
|
||||
lean_inc(x_12);
|
||||
x_14 = l_List_map___main___at_Lean_mkReducibilityAttrs___spec__8(x_3, x_4, x_12, x_2);
|
||||
x_14 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_14);
|
||||
x_15 = l_List_forM___main___at_Lean_registerEnumAttributes___spec__11(x_14, x_13);
|
||||
if (lean_obj_tag(x_15) == 0)
|
||||
{
|
||||
uint8_t x_16;
|
||||
x_16 = !lean_is_exclusive(x_15);
|
||||
if (x_16 == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18;
|
||||
x_17 = lean_ctor_get(x_15, 0);
|
||||
lean_dec(x_17);
|
||||
x_18 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_18, 0, x_14);
|
||||
lean_ctor_set(x_18, 1, x_12);
|
||||
lean_ctor_set(x_15, 0, x_18);
|
||||
return x_15;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_19; lean_object* x_20; lean_object* x_21;
|
||||
x_19 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_15);
|
||||
x_20 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_20, 0, x_14);
|
||||
lean_ctor_set(x_20, 1, x_12);
|
||||
x_21 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_21, 0, x_20);
|
||||
lean_ctor_set(x_21, 1, x_19);
|
||||
return x_21;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_22;
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_12);
|
||||
x_22 = !lean_is_exclusive(x_15);
|
||||
if (x_22 == 0)
|
||||
lean_inc(x_13);
|
||||
x_15 = l_List_map___main___at_Lean_mkReducibilityAttrs___spec__8(x_3, x_4, x_13, x_2);
|
||||
lean_inc(x_15);
|
||||
x_16 = l_List_forM___main___at_Lean_registerEnumAttributes___spec__11(x_15, x_14);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
{
|
||||
return x_15;
|
||||
uint8_t x_17;
|
||||
x_17 = !lean_is_exclusive(x_16);
|
||||
if (x_17 == 0)
|
||||
{
|
||||
lean_object* x_18; lean_object* x_19;
|
||||
x_18 = lean_ctor_get(x_16, 0);
|
||||
lean_dec(x_18);
|
||||
x_19 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_19, 0, x_15);
|
||||
lean_ctor_set(x_19, 1, x_13);
|
||||
lean_ctor_set(x_16, 0, x_19);
|
||||
return x_16;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_23; lean_object* x_24; lean_object* x_25;
|
||||
x_23 = lean_ctor_get(x_15, 0);
|
||||
x_24 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_24);
|
||||
lean_inc(x_23);
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22;
|
||||
x_20 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_20);
|
||||
lean_dec(x_16);
|
||||
x_21 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_21, 0, x_15);
|
||||
lean_ctor_set(x_21, 1, x_13);
|
||||
x_22 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_22, 0, x_21);
|
||||
lean_ctor_set(x_22, 1, x_20);
|
||||
return x_22;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_23;
|
||||
lean_dec(x_15);
|
||||
x_25 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_25, 0, x_23);
|
||||
lean_ctor_set(x_25, 1, x_24);
|
||||
return x_25;
|
||||
lean_dec(x_13);
|
||||
x_23 = !lean_is_exclusive(x_16);
|
||||
if (x_23 == 0)
|
||||
{
|
||||
return x_16;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_24 = lean_ctor_get(x_16, 0);
|
||||
x_25 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_25);
|
||||
lean_inc(x_24);
|
||||
lean_dec(x_16);
|
||||
x_26 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_26, 0, x_24);
|
||||
lean_ctor_set(x_26, 1, x_25);
|
||||
return x_26;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_26;
|
||||
uint8_t x_27;
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_26 = !lean_is_exclusive(x_11);
|
||||
if (x_26 == 0)
|
||||
x_27 = !lean_is_exclusive(x_12);
|
||||
if (x_27 == 0)
|
||||
{
|
||||
return x_11;
|
||||
return x_12;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29;
|
||||
x_27 = lean_ctor_get(x_11, 0);
|
||||
x_28 = lean_ctor_get(x_11, 1);
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30;
|
||||
x_28 = lean_ctor_get(x_12, 0);
|
||||
x_29 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_29);
|
||||
lean_inc(x_28);
|
||||
lean_inc(x_27);
|
||||
lean_dec(x_11);
|
||||
x_29 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_29, 0, x_27);
|
||||
lean_ctor_set(x_29, 1, x_28);
|
||||
return x_29;
|
||||
lean_dec(x_12);
|
||||
x_30 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_30, 0, x_28);
|
||||
lean_ctor_set(x_30, 1, x_29);
|
||||
return x_30;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,13 +43,13 @@ lean_object* l_Lean_scopeManagerExt___elambda__2___boxed(lean_object*);
|
|||
lean_object* l_Lean_regScopeManagerExtension___closed__5;
|
||||
lean_object* l_Lean_regScopeManagerExtension___closed__3;
|
||||
lean_object* lean_nat_add(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_scopeManagerExt___elambda__4(lean_object*);
|
||||
lean_object* l_Lean_scopeManagerExt___elambda__4(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Environment_popScopeCore___closed__1;
|
||||
lean_object* l_Lean_Environment_popScopeCore___lambda__1(lean_object*);
|
||||
lean_object* l_Lean_mkStateFromImportedEntries___at_Lean_regScopeManagerExtension___spec__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Environment_inSection___boxed(lean_object*);
|
||||
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_scopeManagerExt___elambda__4___boxed(lean_object*);
|
||||
lean_object* l_Lean_scopeManagerExt___elambda__4___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_scopeManagerExt___elambda__3___boxed(lean_object*, lean_object*);
|
||||
lean_object* lean_array_fget(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Environment_pushScopeCore___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -84,8 +84,8 @@ lean_object* l_Lean_SimplePersistentEnvExtension_getState___rarg(lean_object*, l
|
|||
lean_object* l_Lean_regScopeManagerExtension(lean_object*);
|
||||
lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_regScopeManagerExtension___spec__5(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_scopeManagerExt___elambda__3(lean_object*, lean_object*);
|
||||
lean_object* lean_register_namespace(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Environment_getNamespaceSet(lean_object*);
|
||||
|
|
@ -110,6 +110,7 @@ lean_object* l_Lean_Name_toStringWithSep___main(lean_object*, lean_object*);
|
|||
extern lean_object* l_Lean_regNamespacesExtension___closed__4;
|
||||
lean_object* l_Lean_ScopeManagerState_Inhabited___closed__1;
|
||||
lean_object* l_Lean_Environment_pushScopeCore(lean_object*, lean_object*, uint8_t);
|
||||
lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_scopeManagerExt;
|
||||
lean_object* l_Lean_regScopeManagerExtension___closed__1;
|
||||
lean_object* l_Lean_scopeManagerExt___closed__1;
|
||||
|
|
@ -571,443 +572,447 @@ lean_dec(x_8);
|
|||
lean_dec(x_6);
|
||||
if (x_10 == 0)
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
lean_object* x_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_free_object(x_4);
|
||||
x_11 = lean_ctor_get(x_1, 1);
|
||||
x_11 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_11);
|
||||
x_12 = l_Array_empty___closed__1;
|
||||
lean_inc(x_11);
|
||||
x_13 = lean_apply_1(x_11, x_12);
|
||||
x_14 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_15 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_15, 0, x_13);
|
||||
lean_closure_set(x_15, 1, x_14);
|
||||
x_16 = l_Lean_registerEnvExtensionUnsafe___at_Lean_regScopeManagerExtension___spec__7(x_15, x_7);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
x_12 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_12);
|
||||
x_13 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_13);
|
||||
x_14 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_14);
|
||||
x_15 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_15);
|
||||
x_16 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_1);
|
||||
x_17 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_18 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_18, 0, x_12);
|
||||
lean_closure_set(x_18, 1, x_17);
|
||||
x_19 = l_Lean_registerEnvExtensionUnsafe___at_Lean_regScopeManagerExtension___spec__7(x_18, x_7);
|
||||
if (lean_obj_tag(x_19) == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_17 = lean_ctor_get(x_16, 0);
|
||||
lean_inc(x_17);
|
||||
x_18 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_16);
|
||||
x_19 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_19);
|
||||
x_20 = lean_ctor_get(x_1, 2);
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
|
||||
x_20 = lean_ctor_get(x_19, 0);
|
||||
lean_inc(x_20);
|
||||
x_21 = lean_ctor_get(x_1, 3);
|
||||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
x_22 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_1);
|
||||
x_23 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_23, 0, x_17);
|
||||
lean_ctor_set(x_23, 1, x_19);
|
||||
lean_ctor_set(x_23, 2, x_11);
|
||||
lean_ctor_set(x_23, 3, x_20);
|
||||
lean_ctor_set(x_23, 4, x_21);
|
||||
lean_ctor_set(x_23, 5, x_22);
|
||||
x_24 = lean_io_ref_get(x_3, x_18);
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
lean_dec(x_19);
|
||||
x_22 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_22, 0, x_20);
|
||||
lean_ctor_set(x_22, 1, x_11);
|
||||
lean_ctor_set(x_22, 2, x_13);
|
||||
lean_ctor_set(x_22, 3, x_14);
|
||||
lean_ctor_set(x_22, 4, x_15);
|
||||
lean_ctor_set(x_22, 5, x_16);
|
||||
x_23 = lean_io_ref_get(x_3, x_21);
|
||||
if (lean_obj_tag(x_23) == 0)
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27;
|
||||
x_25 = lean_ctor_get(x_24, 0);
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_24 = lean_ctor_get(x_23, 0);
|
||||
lean_inc(x_24);
|
||||
x_25 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_25);
|
||||
x_26 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_24);
|
||||
x_27 = lean_io_ref_reset(x_3, x_26);
|
||||
if (lean_obj_tag(x_27) == 0)
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
|
||||
x_28 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_27);
|
||||
x_29 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_23);
|
||||
x_30 = x_23;
|
||||
x_31 = lean_array_push(x_25, x_30);
|
||||
x_32 = lean_io_ref_set(x_3, x_31, x_28);
|
||||
if (lean_obj_tag(x_32) == 0)
|
||||
{
|
||||
uint8_t x_33;
|
||||
x_33 = !lean_is_exclusive(x_32);
|
||||
if (x_33 == 0)
|
||||
{
|
||||
lean_object* x_34;
|
||||
x_34 = lean_ctor_get(x_32, 0);
|
||||
lean_dec(x_34);
|
||||
lean_ctor_set(x_32, 0, x_23);
|
||||
return x_32;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36;
|
||||
x_35 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_35);
|
||||
lean_dec(x_32);
|
||||
x_36 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_23);
|
||||
lean_ctor_set(x_36, 1, x_35);
|
||||
return x_36;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_37;
|
||||
lean_dec(x_23);
|
||||
x_37 = !lean_is_exclusive(x_32);
|
||||
if (x_37 == 0)
|
||||
x_26 = lean_io_ref_reset(x_3, x_25);
|
||||
if (lean_obj_tag(x_26) == 0)
|
||||
{
|
||||
return x_32;
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
|
||||
x_27 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_27);
|
||||
lean_dec(x_26);
|
||||
x_28 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_22);
|
||||
x_29 = x_22;
|
||||
x_30 = lean_array_push(x_24, x_29);
|
||||
x_31 = lean_io_ref_set(x_3, x_30, x_27);
|
||||
if (lean_obj_tag(x_31) == 0)
|
||||
{
|
||||
uint8_t x_32;
|
||||
x_32 = !lean_is_exclusive(x_31);
|
||||
if (x_32 == 0)
|
||||
{
|
||||
lean_object* x_33;
|
||||
x_33 = lean_ctor_get(x_31, 0);
|
||||
lean_dec(x_33);
|
||||
lean_ctor_set(x_31, 0, x_22);
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_38; lean_object* x_39; lean_object* x_40;
|
||||
x_38 = lean_ctor_get(x_32, 0);
|
||||
x_39 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_39);
|
||||
lean_object* x_34; lean_object* x_35;
|
||||
x_34 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_34);
|
||||
lean_dec(x_31);
|
||||
x_35 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_35, 0, x_22);
|
||||
lean_ctor_set(x_35, 1, x_34);
|
||||
return x_35;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_36;
|
||||
lean_dec(x_22);
|
||||
x_36 = !lean_is_exclusive(x_31);
|
||||
if (x_36 == 0)
|
||||
{
|
||||
return x_31;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_37; lean_object* x_38; lean_object* x_39;
|
||||
x_37 = lean_ctor_get(x_31, 0);
|
||||
x_38 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_38);
|
||||
lean_dec(x_32);
|
||||
x_40 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_40, 0, x_38);
|
||||
lean_ctor_set(x_40, 1, x_39);
|
||||
return x_40;
|
||||
lean_inc(x_37);
|
||||
lean_dec(x_31);
|
||||
x_39 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_37);
|
||||
lean_ctor_set(x_39, 1, x_38);
|
||||
return x_39;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_41;
|
||||
lean_dec(x_25);
|
||||
lean_dec(x_23);
|
||||
x_41 = !lean_is_exclusive(x_27);
|
||||
if (x_41 == 0)
|
||||
{
|
||||
return x_27;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44;
|
||||
x_42 = lean_ctor_get(x_27, 0);
|
||||
x_43 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_43);
|
||||
lean_inc(x_42);
|
||||
lean_dec(x_27);
|
||||
x_44 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_44, 0, x_42);
|
||||
lean_ctor_set(x_44, 1, x_43);
|
||||
return x_44;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_45;
|
||||
lean_dec(x_23);
|
||||
x_45 = !lean_is_exclusive(x_24);
|
||||
if (x_45 == 0)
|
||||
{
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_46; lean_object* x_47; lean_object* x_48;
|
||||
x_46 = lean_ctor_get(x_24, 0);
|
||||
x_47 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_47);
|
||||
lean_inc(x_46);
|
||||
uint8_t x_40;
|
||||
lean_dec(x_24);
|
||||
x_48 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_48, 0, x_46);
|
||||
lean_ctor_set(x_48, 1, x_47);
|
||||
return x_48;
|
||||
lean_dec(x_22);
|
||||
x_40 = !lean_is_exclusive(x_26);
|
||||
if (x_40 == 0)
|
||||
{
|
||||
return x_26;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_41; lean_object* x_42; lean_object* x_43;
|
||||
x_41 = lean_ctor_get(x_26, 0);
|
||||
x_42 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_42);
|
||||
lean_inc(x_41);
|
||||
lean_dec(x_26);
|
||||
x_43 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_43, 0, x_41);
|
||||
lean_ctor_set(x_43, 1, x_42);
|
||||
return x_43;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_49;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_1);
|
||||
x_49 = !lean_is_exclusive(x_16);
|
||||
if (x_49 == 0)
|
||||
uint8_t x_44;
|
||||
lean_dec(x_22);
|
||||
x_44 = !lean_is_exclusive(x_23);
|
||||
if (x_44 == 0)
|
||||
{
|
||||
return x_16;
|
||||
return x_23;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_50; lean_object* x_51; lean_object* x_52;
|
||||
x_50 = lean_ctor_get(x_16, 0);
|
||||
x_51 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_51);
|
||||
lean_inc(x_50);
|
||||
lean_object* x_45; lean_object* x_46; lean_object* x_47;
|
||||
x_45 = lean_ctor_get(x_23, 0);
|
||||
x_46 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_46);
|
||||
lean_inc(x_45);
|
||||
lean_dec(x_23);
|
||||
x_47 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_47, 0, x_45);
|
||||
lean_ctor_set(x_47, 1, x_46);
|
||||
return x_47;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_48;
|
||||
lean_dec(x_16);
|
||||
x_52 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_52, 0, x_50);
|
||||
lean_ctor_set(x_52, 1, x_51);
|
||||
return x_52;
|
||||
lean_dec(x_15);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_11);
|
||||
x_48 = !lean_is_exclusive(x_19);
|
||||
if (x_48 == 0)
|
||||
{
|
||||
return x_19;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_49; lean_object* x_50; lean_object* x_51;
|
||||
x_49 = lean_ctor_get(x_19, 0);
|
||||
x_50 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_50);
|
||||
lean_inc(x_49);
|
||||
lean_dec(x_19);
|
||||
x_51 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_51, 0, x_49);
|
||||
lean_ctor_set(x_51, 1, x_50);
|
||||
return x_51;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
|
||||
x_53 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_53);
|
||||
lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
|
||||
x_52 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_1);
|
||||
x_54 = l_Lean_Name_toString___closed__1;
|
||||
x_55 = l_Lean_Name_toStringWithSep___main(x_54, x_53);
|
||||
x_56 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_57 = lean_string_append(x_56, x_55);
|
||||
lean_dec(x_55);
|
||||
x_58 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_59 = lean_string_append(x_57, x_58);
|
||||
x_53 = l_Lean_Name_toString___closed__1;
|
||||
x_54 = l_Lean_Name_toStringWithSep___main(x_53, x_52);
|
||||
x_55 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_56 = lean_string_append(x_55, x_54);
|
||||
lean_dec(x_54);
|
||||
x_57 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_58 = lean_string_append(x_56, x_57);
|
||||
lean_ctor_set_tag(x_4, 1);
|
||||
lean_ctor_set(x_4, 0, x_59);
|
||||
lean_ctor_set(x_4, 0, x_58);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64;
|
||||
x_60 = lean_ctor_get(x_4, 0);
|
||||
x_61 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_61);
|
||||
lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63;
|
||||
x_59 = lean_ctor_get(x_4, 0);
|
||||
x_60 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_60);
|
||||
lean_inc(x_59);
|
||||
lean_dec(x_4);
|
||||
x_62 = lean_array_get_size(x_60);
|
||||
x_63 = lean_unsigned_to_nat(0u);
|
||||
x_64 = l_Array_anyRangeMAux___main___at_Lean_regScopeManagerExtension___spec__6(x_1, x_60, x_60, x_62, x_63);
|
||||
lean_dec(x_62);
|
||||
lean_dec(x_60);
|
||||
if (x_64 == 0)
|
||||
x_61 = lean_array_get_size(x_59);
|
||||
x_62 = lean_unsigned_to_nat(0u);
|
||||
x_63 = l_Array_anyRangeMAux___main___at_Lean_regScopeManagerExtension___spec__6(x_1, x_59, x_59, x_61, x_62);
|
||||
lean_dec(x_61);
|
||||
lean_dec(x_59);
|
||||
if (x_63 == 0)
|
||||
{
|
||||
lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
|
||||
lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
|
||||
x_64 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_64);
|
||||
x_65 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_65);
|
||||
x_66 = l_Array_empty___closed__1;
|
||||
lean_inc(x_65);
|
||||
x_67 = lean_apply_1(x_65, x_66);
|
||||
x_68 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_69 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_69, 0, x_67);
|
||||
lean_closure_set(x_69, 1, x_68);
|
||||
x_70 = l_Lean_registerEnvExtensionUnsafe___at_Lean_regScopeManagerExtension___spec__7(x_69, x_61);
|
||||
if (lean_obj_tag(x_70) == 0)
|
||||
x_66 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_66);
|
||||
x_67 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_67);
|
||||
x_68 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_68);
|
||||
x_69 = lean_ctor_get(x_1, 5);
|
||||
lean_inc(x_69);
|
||||
lean_dec(x_1);
|
||||
x_70 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
|
||||
x_71 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
|
||||
lean_closure_set(x_71, 0, x_65);
|
||||
lean_closure_set(x_71, 1, x_70);
|
||||
x_72 = l_Lean_registerEnvExtensionUnsafe___at_Lean_regScopeManagerExtension___spec__7(x_71, x_60);
|
||||
if (lean_obj_tag(x_72) == 0)
|
||||
{
|
||||
lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
|
||||
x_71 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_71);
|
||||
x_72 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_72);
|
||||
lean_dec(x_70);
|
||||
x_73 = lean_ctor_get(x_1, 0);
|
||||
lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
|
||||
x_73 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_73);
|
||||
x_74 = lean_ctor_get(x_1, 2);
|
||||
x_74 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_74);
|
||||
x_75 = lean_ctor_get(x_1, 3);
|
||||
lean_inc(x_75);
|
||||
x_76 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_76);
|
||||
lean_dec(x_1);
|
||||
x_77 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_77, 0, x_71);
|
||||
lean_ctor_set(x_77, 1, x_73);
|
||||
lean_ctor_set(x_77, 2, x_65);
|
||||
lean_ctor_set(x_77, 3, x_74);
|
||||
lean_ctor_set(x_77, 4, x_75);
|
||||
lean_ctor_set(x_77, 5, x_76);
|
||||
x_78 = lean_io_ref_get(x_3, x_72);
|
||||
if (lean_obj_tag(x_78) == 0)
|
||||
lean_dec(x_72);
|
||||
x_75 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_75, 0, x_73);
|
||||
lean_ctor_set(x_75, 1, x_64);
|
||||
lean_ctor_set(x_75, 2, x_66);
|
||||
lean_ctor_set(x_75, 3, x_67);
|
||||
lean_ctor_set(x_75, 4, x_68);
|
||||
lean_ctor_set(x_75, 5, x_69);
|
||||
x_76 = lean_io_ref_get(x_3, x_74);
|
||||
if (lean_obj_tag(x_76) == 0)
|
||||
{
|
||||
lean_object* x_79; lean_object* x_80; lean_object* x_81;
|
||||
x_79 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_79);
|
||||
x_80 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_78);
|
||||
x_81 = lean_io_ref_reset(x_3, x_80);
|
||||
if (lean_obj_tag(x_81) == 0)
|
||||
{
|
||||
lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86;
|
||||
x_82 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_82);
|
||||
lean_dec(x_81);
|
||||
x_83 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_object* x_77; lean_object* x_78; lean_object* x_79;
|
||||
x_77 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_77);
|
||||
x_84 = x_77;
|
||||
x_85 = lean_array_push(x_79, x_84);
|
||||
x_86 = lean_io_ref_set(x_3, x_85, x_82);
|
||||
if (lean_obj_tag(x_86) == 0)
|
||||
x_78 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_78);
|
||||
lean_dec(x_76);
|
||||
x_79 = lean_io_ref_reset(x_3, x_78);
|
||||
if (lean_obj_tag(x_79) == 0)
|
||||
{
|
||||
lean_object* x_87; lean_object* x_88; lean_object* x_89;
|
||||
x_87 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_87);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_88 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_88 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_88)) {
|
||||
x_89 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_89 = x_88;
|
||||
}
|
||||
lean_ctor_set(x_89, 0, x_77);
|
||||
lean_ctor_set(x_89, 1, x_87);
|
||||
return x_89;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93;
|
||||
lean_dec(x_77);
|
||||
x_90 = lean_ctor_get(x_86, 0);
|
||||
lean_inc(x_90);
|
||||
x_91 = lean_ctor_get(x_86, 1);
|
||||
lean_inc(x_91);
|
||||
if (lean_is_exclusive(x_86)) {
|
||||
lean_ctor_release(x_86, 0);
|
||||
lean_ctor_release(x_86, 1);
|
||||
x_92 = x_86;
|
||||
} else {
|
||||
lean_dec_ref(x_86);
|
||||
x_92 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_92)) {
|
||||
x_93 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_93 = x_92;
|
||||
}
|
||||
lean_ctor_set(x_93, 0, x_90);
|
||||
lean_ctor_set(x_93, 1, x_91);
|
||||
return x_93;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97;
|
||||
lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
|
||||
x_80 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_80);
|
||||
lean_dec(x_79);
|
||||
x_81 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
|
||||
lean_inc(x_75);
|
||||
x_82 = x_75;
|
||||
x_83 = lean_array_push(x_77, x_82);
|
||||
x_84 = lean_io_ref_set(x_3, x_83, x_80);
|
||||
if (lean_obj_tag(x_84) == 0)
|
||||
{
|
||||
lean_object* x_85; lean_object* x_86; lean_object* x_87;
|
||||
x_85 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_85);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_86 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_86 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_86)) {
|
||||
x_87 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_87 = x_86;
|
||||
}
|
||||
lean_ctor_set(x_87, 0, x_75);
|
||||
lean_ctor_set(x_87, 1, x_85);
|
||||
return x_87;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91;
|
||||
lean_dec(x_75);
|
||||
x_88 = lean_ctor_get(x_84, 0);
|
||||
lean_inc(x_88);
|
||||
x_89 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_89);
|
||||
if (lean_is_exclusive(x_84)) {
|
||||
lean_ctor_release(x_84, 0);
|
||||
lean_ctor_release(x_84, 1);
|
||||
x_90 = x_84;
|
||||
} else {
|
||||
lean_dec_ref(x_84);
|
||||
x_90 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_90)) {
|
||||
x_91 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_91 = x_90;
|
||||
}
|
||||
lean_ctor_set(x_91, 0, x_88);
|
||||
lean_ctor_set(x_91, 1, x_89);
|
||||
return x_91;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95;
|
||||
lean_dec(x_77);
|
||||
x_94 = lean_ctor_get(x_81, 0);
|
||||
lean_inc(x_94);
|
||||
x_95 = lean_ctor_get(x_81, 1);
|
||||
lean_inc(x_95);
|
||||
if (lean_is_exclusive(x_81)) {
|
||||
lean_ctor_release(x_81, 0);
|
||||
lean_ctor_release(x_81, 1);
|
||||
x_96 = x_81;
|
||||
lean_dec(x_75);
|
||||
x_92 = lean_ctor_get(x_79, 0);
|
||||
lean_inc(x_92);
|
||||
x_93 = lean_ctor_get(x_79, 1);
|
||||
lean_inc(x_93);
|
||||
if (lean_is_exclusive(x_79)) {
|
||||
lean_ctor_release(x_79, 0);
|
||||
lean_ctor_release(x_79, 1);
|
||||
x_94 = x_79;
|
||||
} else {
|
||||
lean_dec_ref(x_81);
|
||||
x_96 = lean_box(0);
|
||||
lean_dec_ref(x_79);
|
||||
x_94 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_96)) {
|
||||
x_97 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_94)) {
|
||||
x_95 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_97 = x_96;
|
||||
x_95 = x_94;
|
||||
}
|
||||
lean_ctor_set(x_97, 0, x_94);
|
||||
lean_ctor_set(x_97, 1, x_95);
|
||||
return x_97;
|
||||
lean_ctor_set(x_95, 0, x_92);
|
||||
lean_ctor_set(x_95, 1, x_93);
|
||||
return x_95;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101;
|
||||
lean_dec(x_77);
|
||||
x_98 = lean_ctor_get(x_78, 0);
|
||||
lean_inc(x_98);
|
||||
x_99 = lean_ctor_get(x_78, 1);
|
||||
lean_inc(x_99);
|
||||
if (lean_is_exclusive(x_78)) {
|
||||
lean_ctor_release(x_78, 0);
|
||||
lean_ctor_release(x_78, 1);
|
||||
x_100 = x_78;
|
||||
lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99;
|
||||
lean_dec(x_75);
|
||||
x_96 = lean_ctor_get(x_76, 0);
|
||||
lean_inc(x_96);
|
||||
x_97 = lean_ctor_get(x_76, 1);
|
||||
lean_inc(x_97);
|
||||
if (lean_is_exclusive(x_76)) {
|
||||
lean_ctor_release(x_76, 0);
|
||||
lean_ctor_release(x_76, 1);
|
||||
x_98 = x_76;
|
||||
} else {
|
||||
lean_dec_ref(x_78);
|
||||
x_100 = lean_box(0);
|
||||
lean_dec_ref(x_76);
|
||||
x_98 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_100)) {
|
||||
x_101 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_98)) {
|
||||
x_99 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_101 = x_100;
|
||||
x_99 = x_98;
|
||||
}
|
||||
lean_ctor_set(x_101, 0, x_98);
|
||||
lean_ctor_set(x_101, 1, x_99);
|
||||
return x_101;
|
||||
lean_ctor_set(x_99, 0, x_96);
|
||||
lean_ctor_set(x_99, 1, x_97);
|
||||
return x_99;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105;
|
||||
lean_dec(x_65);
|
||||
lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103;
|
||||
lean_dec(x_69);
|
||||
lean_dec(x_68);
|
||||
lean_dec(x_67);
|
||||
lean_dec(x_66);
|
||||
lean_dec(x_64);
|
||||
x_100 = lean_ctor_get(x_72, 0);
|
||||
lean_inc(x_100);
|
||||
x_101 = lean_ctor_get(x_72, 1);
|
||||
lean_inc(x_101);
|
||||
if (lean_is_exclusive(x_72)) {
|
||||
lean_ctor_release(x_72, 0);
|
||||
lean_ctor_release(x_72, 1);
|
||||
x_102 = x_72;
|
||||
} else {
|
||||
lean_dec_ref(x_72);
|
||||
x_102 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_102)) {
|
||||
x_103 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_103 = x_102;
|
||||
}
|
||||
lean_ctor_set(x_103, 0, x_100);
|
||||
lean_ctor_set(x_103, 1, x_101);
|
||||
return x_103;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111;
|
||||
x_104 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_104);
|
||||
lean_dec(x_1);
|
||||
x_102 = lean_ctor_get(x_70, 0);
|
||||
lean_inc(x_102);
|
||||
x_103 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_103);
|
||||
if (lean_is_exclusive(x_70)) {
|
||||
lean_ctor_release(x_70, 0);
|
||||
lean_ctor_release(x_70, 1);
|
||||
x_104 = x_70;
|
||||
} else {
|
||||
lean_dec_ref(x_70);
|
||||
x_104 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_104)) {
|
||||
x_105 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_105 = x_104;
|
||||
}
|
||||
lean_ctor_set(x_105, 0, x_102);
|
||||
lean_ctor_set(x_105, 1, x_103);
|
||||
return x_105;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113;
|
||||
x_106 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_106);
|
||||
lean_dec(x_1);
|
||||
x_107 = l_Lean_Name_toString___closed__1;
|
||||
x_108 = l_Lean_Name_toStringWithSep___main(x_107, x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_110 = lean_string_append(x_109, x_108);
|
||||
lean_dec(x_108);
|
||||
x_111 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_112 = lean_string_append(x_110, x_111);
|
||||
x_113 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_113, 0, x_112);
|
||||
lean_ctor_set(x_113, 1, x_61);
|
||||
return x_113;
|
||||
x_105 = l_Lean_Name_toString___closed__1;
|
||||
x_106 = l_Lean_Name_toStringWithSep___main(x_105, x_104);
|
||||
x_107 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
|
||||
x_108 = lean_string_append(x_107, x_106);
|
||||
lean_dec(x_106);
|
||||
x_109 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__4;
|
||||
x_110 = lean_string_append(x_108, x_109);
|
||||
x_111 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_111, 0, x_110);
|
||||
lean_ctor_set(x_111, 1, x_60);
|
||||
return x_111;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_114;
|
||||
uint8_t x_112;
|
||||
lean_dec(x_1);
|
||||
x_114 = !lean_is_exclusive(x_4);
|
||||
if (x_114 == 0)
|
||||
x_112 = !lean_is_exclusive(x_4);
|
||||
if (x_112 == 0)
|
||||
{
|
||||
return x_4;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_115; lean_object* x_116; lean_object* x_117;
|
||||
x_115 = lean_ctor_get(x_4, 0);
|
||||
x_116 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_116);
|
||||
lean_inc(x_115);
|
||||
lean_object* x_113; lean_object* x_114; lean_object* x_115;
|
||||
x_113 = lean_ctor_get(x_4, 0);
|
||||
x_114 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_114);
|
||||
lean_inc(x_113);
|
||||
lean_dec(x_4);
|
||||
x_117 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_117, 0, x_115);
|
||||
lean_ctor_set(x_117, 1, x_116);
|
||||
return x_117;
|
||||
x_115 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_115, 0, x_113);
|
||||
lean_ctor_set(x_115, 1, x_114);
|
||||
return x_115;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1015,26 +1020,38 @@ return x_117;
|
|||
lean_object* l_Lean_registerSimplePersistentEnvExtension___at_Lean_regScopeManagerExtension___spec__4(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
|
||||
x_3 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_3);
|
||||
x_4 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_4);
|
||||
x_5 = lean_box(0);
|
||||
x_6 = l_Array_empty___closed__1;
|
||||
lean_inc(x_4);
|
||||
x_7 = lean_apply_1(x_4, x_6);
|
||||
x_8 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_8, 0, x_5);
|
||||
lean_ctor_set(x_8, 1, x_7);
|
||||
x_9 = lean_alloc_closure((void*)(l_EStateM_pure___rarg), 2, 1);
|
||||
lean_closure_set(x_9, 0, x_8);
|
||||
x_10 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1___boxed), 5, 2);
|
||||
lean_closure_set(x_10, 0, x_4);
|
||||
lean_closure_set(x_10, 1, x_5);
|
||||
lean_inc(x_1);
|
||||
x_4 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__1), 3, 1);
|
||||
lean_closure_set(x_4, 0, x_1);
|
||||
lean_inc(x_1);
|
||||
x_5 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2), 3, 1);
|
||||
lean_closure_set(x_5, 0, x_1);
|
||||
x_6 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3), 2, 1);
|
||||
lean_closure_set(x_6, 0, x_1);
|
||||
x_7 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1;
|
||||
x_8 = lean_alloc_ctor(0, 5, 0);
|
||||
lean_ctor_set(x_8, 0, x_3);
|
||||
lean_ctor_set(x_8, 1, x_4);
|
||||
lean_ctor_set(x_8, 2, x_5);
|
||||
lean_ctor_set(x_8, 3, x_6);
|
||||
lean_ctor_set(x_8, 4, x_7);
|
||||
x_9 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_regScopeManagerExtension___spec__5(x_8, x_2);
|
||||
return x_9;
|
||||
x_11 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2), 3, 1);
|
||||
lean_closure_set(x_11, 0, x_1);
|
||||
x_12 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3), 2, 1);
|
||||
lean_closure_set(x_12, 0, x_1);
|
||||
x_13 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1;
|
||||
x_14 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_14, 0, x_3);
|
||||
lean_ctor_set(x_14, 1, x_9);
|
||||
lean_ctor_set(x_14, 2, x_10);
|
||||
lean_ctor_set(x_14, 3, x_11);
|
||||
lean_ctor_set(x_14, 4, x_12);
|
||||
lean_ctor_set(x_14, 5, x_13);
|
||||
x_15 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_regScopeManagerExtension___spec__5(x_14, x_2);
|
||||
return x_15;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_regScopeManagerExtension___lambda__1(lean_object* x_1, lean_object* x_2) {
|
||||
|
|
@ -1228,12 +1245,12 @@ lean_ctor_set(x_3, 1, x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_scopeManagerExt___elambda__4(lean_object* x_1) {
|
||||
lean_object* l_Lean_scopeManagerExt___elambda__4(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_alloc_closure((void*)(l_Lean_scopeManagerExt___elambda__4___rarg), 1, 0);
|
||||
return x_2;
|
||||
lean_object* x_3;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_scopeManagerExt___elambda__4___rarg), 1, 0);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_scopeManagerExt___closed__1() {
|
||||
|
|
@ -1254,7 +1271,7 @@ lean_object* _init_l_Lean_scopeManagerExt___closed__2() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_scopeManagerExt___elambda__4___boxed), 1, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_scopeManagerExt___elambda__4___boxed), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -1330,13 +1347,14 @@ lean_dec(x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_scopeManagerExt___elambda__4___boxed(lean_object* x_1) {
|
||||
lean_object* l_Lean_scopeManagerExt___elambda__4___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_scopeManagerExt___elambda__4(x_1);
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_scopeManagerExt___elambda__4(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* lean_get_namespaces(lean_object* x_1) {
|
||||
|
|
|
|||
|
|
@ -13,6 +13,324 @@
|
|||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
lean_object* l_Lean_ParserDescr_pushLeading;
|
||||
lean_object* l_Lean_ParserDescr_orelse(uint8_t, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_optional(uint8_t, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_lookahead(uint8_t, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_many(uint8_t, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_andthen___boxed(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_String_splitAux___main___closed__1;
|
||||
lean_object* l_Lean_ParserDescr_try(uint8_t, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_unicodeSymbol(uint8_t, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ParserDescrCore_inhabited(uint8_t);
|
||||
lean_object* l_Lean_ParserDescr_many1(uint8_t, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_many___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_many1___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_parser(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_lookahead___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_sepBy(uint8_t, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_andthen(uint8_t, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_symbol___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_node(uint8_t, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_try___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_node___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ParserDescrCore_inhabited___boxed(lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_sepBy1(uint8_t, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_unicodeSymbol___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_orelse___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_sepBy___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_symbol(uint8_t, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_optional___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ParserDescr_sepBy1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ParserDescrCore_inhabited(uint8_t x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4;
|
||||
x_2 = l_String_splitAux___main___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(0u);
|
||||
x_4 = lean_alloc_ctor(10, 2, 1);
|
||||
lean_ctor_set(x_4, 0, x_2);
|
||||
lean_ctor_set(x_4, 1, x_3);
|
||||
lean_ctor_set_uint8(x_4, sizeof(void*)*2, x_1);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescrCore_inhabited___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_2; lean_object* x_3;
|
||||
x_2 = lean_unbox(x_1);
|
||||
lean_dec(x_1);
|
||||
x_3 = l_Lean_ParserDescrCore_inhabited(x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_andthen(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_4;
|
||||
x_4 = lean_alloc_ctor(0, 2, 1);
|
||||
lean_ctor_set(x_4, 0, x_2);
|
||||
lean_ctor_set(x_4, 1, x_3);
|
||||
lean_ctor_set_uint8(x_4, sizeof(void*)*2, x_1);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_andthen___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_1);
|
||||
lean_dec(x_1);
|
||||
x_5 = l_Lean_ParserDescr_andthen(x_4, x_2, x_3);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_orelse(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_4;
|
||||
x_4 = lean_alloc_ctor(1, 2, 1);
|
||||
lean_ctor_set(x_4, 0, x_2);
|
||||
lean_ctor_set(x_4, 1, x_3);
|
||||
lean_ctor_set_uint8(x_4, sizeof(void*)*2, x_1);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_orelse___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_1);
|
||||
lean_dec(x_1);
|
||||
x_5 = l_Lean_ParserDescr_orelse(x_4, x_2, x_3);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_optional(uint8_t x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = lean_alloc_ctor(2, 1, 1);
|
||||
lean_ctor_set(x_3, 0, x_2);
|
||||
lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_optional___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_3; lean_object* x_4;
|
||||
x_3 = lean_unbox(x_1);
|
||||
lean_dec(x_1);
|
||||
x_4 = l_Lean_ParserDescr_optional(x_3, x_2);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_lookahead(uint8_t x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = lean_alloc_ctor(3, 1, 1);
|
||||
lean_ctor_set(x_3, 0, x_2);
|
||||
lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_lookahead___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_3; lean_object* x_4;
|
||||
x_3 = lean_unbox(x_1);
|
||||
lean_dec(x_1);
|
||||
x_4 = l_Lean_ParserDescr_lookahead(x_3, x_2);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_try(uint8_t x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = lean_alloc_ctor(4, 1, 1);
|
||||
lean_ctor_set(x_3, 0, x_2);
|
||||
lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_try___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_3; lean_object* x_4;
|
||||
x_3 = lean_unbox(x_1);
|
||||
lean_dec(x_1);
|
||||
x_4 = l_Lean_ParserDescr_try(x_3, x_2);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_many(uint8_t x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = lean_alloc_ctor(5, 1, 1);
|
||||
lean_ctor_set(x_3, 0, x_2);
|
||||
lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_many___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_3; lean_object* x_4;
|
||||
x_3 = lean_unbox(x_1);
|
||||
lean_dec(x_1);
|
||||
x_4 = l_Lean_ParserDescr_many(x_3, x_2);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_many1(uint8_t x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = lean_alloc_ctor(6, 1, 1);
|
||||
lean_ctor_set(x_3, 0, x_2);
|
||||
lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_many1___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_3; lean_object* x_4;
|
||||
x_3 = lean_unbox(x_1);
|
||||
lean_dec(x_1);
|
||||
x_4 = l_Lean_ParserDescr_many1(x_3, x_2);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_sepBy(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_4;
|
||||
x_4 = lean_alloc_ctor(7, 2, 1);
|
||||
lean_ctor_set(x_4, 0, x_2);
|
||||
lean_ctor_set(x_4, 1, x_3);
|
||||
lean_ctor_set_uint8(x_4, sizeof(void*)*2, x_1);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_sepBy___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_1);
|
||||
lean_dec(x_1);
|
||||
x_5 = l_Lean_ParserDescr_sepBy(x_4, x_2, x_3);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_sepBy1(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_4;
|
||||
x_4 = lean_alloc_ctor(8, 2, 1);
|
||||
lean_ctor_set(x_4, 0, x_2);
|
||||
lean_ctor_set(x_4, 1, x_3);
|
||||
lean_ctor_set_uint8(x_4, sizeof(void*)*2, x_1);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_sepBy1___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_1);
|
||||
lean_dec(x_1);
|
||||
x_5 = l_Lean_ParserDescr_sepBy1(x_4, x_2, x_3);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_node(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_4;
|
||||
x_4 = lean_alloc_ctor(9, 2, 1);
|
||||
lean_ctor_set(x_4, 0, x_2);
|
||||
lean_ctor_set(x_4, 1, x_3);
|
||||
lean_ctor_set_uint8(x_4, sizeof(void*)*2, x_1);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_node___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_1);
|
||||
lean_dec(x_1);
|
||||
x_5 = l_Lean_ParserDescr_node(x_4, x_2, x_3);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_symbol(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_4;
|
||||
x_4 = lean_alloc_ctor(10, 2, 1);
|
||||
lean_ctor_set(x_4, 0, x_2);
|
||||
lean_ctor_set(x_4, 1, x_3);
|
||||
lean_ctor_set_uint8(x_4, sizeof(void*)*2, x_1);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_symbol___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_1);
|
||||
lean_dec(x_1);
|
||||
x_5 = l_Lean_ParserDescr_symbol(x_4, x_2, x_3);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_unicodeSymbol(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = lean_alloc_ctor(11, 3, 1);
|
||||
lean_ctor_set(x_5, 0, x_2);
|
||||
lean_ctor_set(x_5, 1, x_3);
|
||||
lean_ctor_set(x_5, 2, x_4);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*3, x_1);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_unicodeSymbol___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_5; lean_object* x_6;
|
||||
x_5 = lean_unbox(x_1);
|
||||
lean_dec(x_1);
|
||||
x_6 = l_Lean_ParserDescr_unicodeSymbol(x_5, x_2, x_3, x_4);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_ParserDescr_pushLeading() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_box(12);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_ParserDescr_parser(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = lean_alloc_ctor(13, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
lean_ctor_set(x_3, 1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* initialize_Init_Data_String_Basic(lean_object*);
|
||||
lean_object* initialize_Init_Data_UInt(lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
|
|
@ -26,6 +344,8 @@ lean_dec_ref(res);
|
|||
res = initialize_Init_Data_UInt(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l_Lean_ParserDescr_pushLeading = _init_l_Lean_ParserDescr_pushLeading();
|
||||
lean_mark_persistent(l_Lean_ParserDescr_pushLeading);
|
||||
return lean_mk_io_result(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue