chore: update stage0

This commit is contained in:
Leonardo de Moura 2020-10-20 13:30:09 -07:00
parent b98fa56419
commit 8a7cafa12b
129 changed files with 73508 additions and 69467 deletions

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2019 Gabriel Ebner. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2018 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -151,30 +152,29 @@ subset m₁ m₂ && subset m₂ m₁
instance : HasBeq KVMap := ⟨eqv⟩
class isKVMapVal (α : Type) :=
class KVMapVal (α : Type) :=
(defVal : α)
(set : KVMap → Name → α → KVMap)
(get : KVMap → Name → αα)
export isKVMapVal (set)
export KVMapVal (set)
@[inline] def get {α : Type} [isKVMapVal α] (m : KVMap) (k : Name) (defVal := isKVMapVal.defVal) : α :=
isKVMapVal.get m k defVal
@[inline] def get {α : Type} [s : KVMapVal α] (m : KVMap) (k : Name) (defVal := s.defVal) : α :=
KVMapVal.get m k defVal
instance boolVal : isKVMapVal Bool :=
instance : KVMapVal Bool :=
{ defVal := false, set := setBool, get := fun k n v => getBool k n v }
instance natVal : isKVMapVal Nat :=
instance : KVMapVal Nat :=
{ defVal := 0, set := setNat, get := fun k n v => getNat k n v }
instance intVal : isKVMapVal Int :=
instance : KVMapVal Int :=
{ defVal := 0, set := setInt, get := fun k n v => getInt k n v }
instance nameVal : isKVMapVal Name :=
instance : KVMapVal Name :=
{ defVal := Name.anonymous, set := setName, get := fun k n v => getName k n v }
instance stringVal : isKVMapVal String :=
instance : KVMapVal String :=
{ defVal := "", set := setString, get := fun k n v => getString k n v }
end KVMap
end Lean
end Lean.KVMap

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2019 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -48,4 +49,5 @@ def Bool.toLBool : Bool → Lean.LBool
| false => Lean.LBool.false
@[inline] def toLBoolM {m : Type → Type} [Monad m] (x : m Bool) : m Lean.LBool := do
b ← x; pure b.toLBool
let b ← x
pure b.toLBool

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2019 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -8,9 +9,9 @@ universes u
namespace Lean
inductive LOption (α : Type u)
| none : LOption
| some : α → LOption
| undef : LOption
| none : LOption α
| some : α → LOption α
| undef : LOption α
namespace LOption
variables {α : Type u}
@ -36,4 +37,5 @@ def Option.toLOption {α : Type u} : Option α → Lean.LOption α
| some a => Lean.LOption.some a
@[inline] def toLOptionM {α} {m : Type → Type} [Monad m] (x : m (Option α)) : m (Lean.LOption α) := do
b ← x; pure b.toLOption
let b ← x
pure b.toLOption

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2020 Marc Huisinga. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2018 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -8,8 +9,8 @@ import Std.Data.RBMap
import Std.Data.RBTree
namespace Lean
instance stringToName : HasCoe String Name :=
⟨mkNameSimple⟩
instance : HasCoe String Name := ⟨mkNameSimple⟩ -- TODO delete
instance : Coe String Name := ⟨mkNameSimple⟩
namespace Name
@ -178,8 +179,8 @@ namespace NameHashSet
@[inline] def empty : NameHashSet := Std.HashSet.empty
instance : HasEmptyc NameHashSet := ⟨empty⟩
instance : Inhabited NameHashSet := ⟨{}⟩
def insert (s : NameHashSet) (n : Name) := s.insert n
def contains (s : NameHashSet) (n : Name) : Bool := s.contains n
def insert (s : NameHashSet) (n : Name) := Std.HashSet.insert s n
def contains (s : NameHashSet) (n : Name) : Bool := Std.HashSet.contains s n
end NameHashSet
end Lean

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2018 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -33,61 +34,59 @@ private constant optionDeclsRef : IO.Ref OptionDecls := arbitrary _
@[export lean_register_option]
def registerOption (name : Name) (decl : OptionDecl) : IO Unit := do
decls ← optionDeclsRef.get;
when (decls.contains name) $
throw $ IO.userError ("invalid option declaration '" ++ toString name ++ "', option already exists");
let decls ← optionDeclsRef.get
if decls.contains name then
throw $ IO.userError s!"invalid option declaration '{name}', option already exists"
optionDeclsRef.set $ decls.insert name decl
def getOptionDecls : IO OptionDecls := optionDeclsRef.get
@[export lean_get_option_decls_array]
def getOptionDeclsArray : IO (Array (Name × OptionDecl)) := do
decls ← getOptionDecls;
let decls ← getOptionDecls
pure $ decls.fold
(fun (r : Array (Name × OptionDecl)) k v => r.push (k, v))
#[]
def getOptionDecl (name : Name) : IO OptionDecl := do
decls ← getOptionDecls;
(some decl) ← pure (decls.find? name) | throw $ IO.userError ("unknown option '" ++ toString name ++ "'");
let decls ← getOptionDecls
let (some decl) ← pure (decls.find? name) | throw $ IO.userError s!"unknown option '{name}'"
pure decl
def getOptionDefaulValue (name : Name) : IO DataValue := do
decl ← getOptionDecl name;
let decl ← getOptionDecl name
pure decl.defValue
def getOptionDescr (name : Name) : IO String := do
decl ← getOptionDecl name;
let decl ← getOptionDecl name
pure decl.descr
def setOptionFromString (opts : Options) (entry : String) : IO Options := do
let ps := (entry.splitOn "=").map String.trim;
[key, val] ← pure ps | throw $ IO.userError "invalid configuration option entry, it must be of the form '<key> = <value>'";
defValue ← getOptionDefaulValue key.toName;
let ps := (entry.splitOn "=").map String.trim
let [key, val] ← pure ps | throw $ IO.userError "invalid configuration option entry, it must be of the form '<key> = <value>'"
let key := mkNameSimple key
let defValue ← getOptionDefaulValue key
match defValue with
| DataValue.ofString v => pure $ opts.setString key val
| DataValue.ofBool v =>
if key == "true" then pure $ opts.setBool key true
else if key == "false" then pure $ opts.setBool key false
else throw $ IO.userError ("invalid Bool option value '" ++ val ++ "'")
if key == `true then pure $ opts.setBool key true
else if key == `false then pure $ opts.setBool key false
else throw $ IO.userError s!"invalid Bool option value '{val}'"
| DataValue.ofName v => pure $ opts.setName key val.toName
| DataValue.ofNat v =>
match val.toNat? with
| none => throw (IO.userError ("invalid Nat option value '" ++ val ++ "'"))
| none => throw (IO.userError s!"invalid Nat option value '{val}'")
| some v => pure $ opts.setNat key v
| DataValue.ofInt v =>
match val.toInt? with
| none => throw (IO.userError ("invalid Int option value '" ++ val ++ "'"))
| none => throw (IO.userError s!"invalid Int option value '{val}'")
| some v => pure $ opts.setInt key v
@[builtinInit] def verboseOption : IO Unit :=
registerOption `verbose { defValue := true, group := "", descr := "disable/enable verbose messages" }
builtin_initialize registerOption `verbose { defValue := true, group := "", descr := "disable/enable verbose messages" }
@[builtinInit] def timeoutOption : IO Unit :=
registerOption `timeout { defValue := DataValue.ofNat 0, group := "", descr := "the (deterministic) timeout is measured as the maximum of memory allocations (in thousands) per task, the default is unbounded" }
builtin_initialize registerOption `timeout { defValue := DataValue.ofNat 0, group := "", descr := "the (deterministic) timeout is measured as the maximum of memory allocations (in thousands) per task, the default is unbounded" }
@[builtinInit] def maxMemoryOption : IO Unit :=
registerOption `maxMemory { defValue := DataValue.ofNat 2048, group := "", descr := "maximum amount of memory available for Lean in megabytes" }
builtin_initialize registerOption `maxMemory { defValue := DataValue.ofNat 2048, group := "", descr := "maximum amount of memory available for Lean in megabytes" }
class MonadOptions (m : Type → Type) :=
(getOptions : m Options)
@ -102,11 +101,11 @@ section Methods
variables {m : Type → Type} [Monad m] [MonadOptions m]
def getBoolOption (k : Name) (defValue := false) : m Bool := do
opts ← getOptions;
let opts ← getOptions
pure $ opts.getBool k defValue
def getNatOption (k : Name) (defValue := 0) : m Nat := do
opts ← getOptions;
let opts ← getOptions
pure $ opts.getNat k defValue
end Methods

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2018 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -15,9 +16,12 @@ namespace Position
instance : DecidableEq Position :=
fun ⟨l₁, c₁⟩ ⟨l₂, c₂⟩ =>
if h₁ : l₁ = l₂ then
if h₂ : c₁ = c₂ then isTrue (Eq.recOn h₁ (Eq.recOn h₂ rfl))
else isFalse (fun contra => Position.noConfusion contra (fun e₁ e₂ => absurd e₂ h₂))
else isFalse (fun contra => Position.noConfusion contra (fun e₁ e₂ => absurd e₁ h₁))
if h₂ : c₁ = c₂ then
isTrue $ by subst h₁; subst h₂; exact rfl
else
isFalse fun contra => Position.noConfusion contra (fun e₁ e₂ => absurd e₂ h₂)
else
isFalse fun contra => Position.noConfusion contra (fun e₁ e₂ => absurd e₁ h₁)
protected def lt : Position → Position → Bool
| ⟨l₁, c₁⟩, ⟨l₂, c₂⟩ => (l₁, c₁) < (l₂, c₂)
@ -41,39 +45,33 @@ namespace FileMap
instance : Inhabited FileMap :=
⟨{ source := "", positions := #[], lines := #[] }⟩
private partial def ofStringAux (s : String) : String.Pos → Nat → Array String.Pos → Array Nat → FileMap
| i, line, ps, lines =>
partial def ofString (s : String) : FileMap :=
let rec loop (i : String.Pos) (line : Nat) (ps : Array String.Pos) (lines : Array Nat) : FileMap :=
if s.atEnd i then { source := s, positions := ps.push i, lines := lines.push line }
else
let c := s.get i;
let i := s.next i;
if c == '\n' then ofStringAux i (line+1) (ps.push i) (lines.push (line+1))
else ofStringAux i line ps lines
if c == '\n' then loop i (line+1) (ps.push i) (lines.push (line+1))
else loop i line ps lines
loop 0 1 (#[0]) (#[1])
def ofString (s : String) : FileMap :=
ofStringAux s 0 1 (#[0]) (#[1])
private partial def toColumnAux (str : String) (pos : String.Pos) : String.Pos → Nat → Nat
| i, c =>
if i == pos || str.atEnd i then c
else toColumnAux (str.next i) (c+1)
/- Remark: `pos` is in `[ps.get b, ps.get e]` and `b < e` -/
private partial def toPositionAux (str : String) (ps : Array Nat) (lines : Array Nat) (pos : String.Pos) : Nat → Nat → Position
| b, e =>
let posB := ps.get! b;
if e == b + 1 then { line := lines.get! b, column := toColumnAux str pos posB 0 }
else
let m := (b + e) / 2;
let posM := ps.get! m;
if pos == posM then { line := lines.get! m, column := 0 }
else if pos > posM then toPositionAux m e
else toPositionAux b m
def toPosition : FileMap → String.Pos → Position
| { source := str, positions := ps, lines := lines }, pos =>
partial def toPosition (fmap : FileMap) (pos : String.Pos) : Position :=
match fmap with
| { source := str, positions := ps, lines := lines } =>
if ps.size >= 2 && pos <= ps.back then
toPositionAux str ps lines pos 0 (ps.size-1)
let rec toColumn (i : String.Pos) (c : Nat) : Nat :=
if i == pos || str.atEnd i then c
else toColumn (str.next i) (c+1)
let rec loop (b e : Nat) :=
let posB := ps[b]
if e == b + 1 then { line := lines.get! b, column := toColumn posB 0 }
else
let m := (b + e) / 2;
let posM := ps.get! m;
if pos == posM then { line := lines.get! m, column := 0 }
else if pos > posM then loop m e
else loop b m
loop 0 (ps.size -1)
else
-- Some systems like the delaborator use synthetic positions without an input file,
-- which would violate `toPositionAux`'s invariant

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2019 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2018 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -13,7 +14,7 @@ namespace Parser
open Std (RBNode RBNode.leaf RBNode.singleton RBNode.find RBNode.insert)
inductive Trie (α : Type)
| Node : Option α → RBNode Char (fun _ => Trie) → Trie
| Node : Option α → RBNode Char (fun _ => Trie α) → Trie α
namespace Trie
variables {α : Type}
@ -27,62 +28,58 @@ instance : HasEmptyc (Trie α) :=
instance : Inhabited (Trie α) :=
⟨Node none RBNode.leaf⟩
private partial def insertEmptyAux (s : String) (val : α) : String.Pos → Trie α
| i => match s.atEnd i with
partial def insert (t : Trie α) (s : String) (val : α) : Trie α :=
let rec insertEmpty (i : String.Pos) : Trie α :=
match s.atEnd i with
| true => Trie.Node (some val) RBNode.leaf
| false =>
let c := s.get i;
let t := insertEmptyAux (s.next i);
let c := s.get i
let t := insertEmpty (s.next i)
Trie.Node none (RBNode.singleton c t)
let rec loop
| Trie.Node v m, i =>
match s.atEnd i with
| true => Trie.Node (some val) m -- overrides old value
| false =>
let c := s.get i
let i := s.next i
let t := match RBNode.find Char.lt m c with
| none => insertEmpty i
| some t => loop t i
Trie.Node v (RBNode.insert Char.lt m c t)
loop t 0
private partial def insertAux (s : String) (val : α) : Trie α → String.Pos → Trie α
| Trie.Node v m, i =>
match s.atEnd i with
| true => Trie.Node (some val) m -- overrides old value
| false =>
let c := s.get i;
let i := s.next i;
let t := match RBNode.find Char.lt m c with
| none => insertEmptyAux s val i
| some t => insertAux t i;
Trie.Node v (RBNode.insert Char.lt m c t)
def insert (t : Trie α) (s : String) (val : α) : Trie α :=
insertAux s val t 0
private partial def findAux? (s : String) : Trie α → String.Pos → Option α
| Trie.Node val m, i =>
match s.atEnd i with
| true => val
| false =>
let c := s.get i;
let i := s.next i;
match RBNode.find Char.lt m c with
| none => none
| some t => findAux? t i
def find? (t : Trie α) (s : String) : Option α :=
findAux? s t 0
partial def find? (t : Trie α) (s : String) : Option α :=
let rec loop
| Trie.Node val m, i =>
match s.atEnd i with
| true => val
| false =>
let c := s.get i
let i := s.next i
match RBNode.find Char.lt m c with
| none => none
| some t => loop t i
loop t 0
private def updtAcc (v : Option α) (i : String.Pos) (acc : String.Pos × Option α) : String.Pos × Option α :=
match v, acc with
| some v, (j, w) => (i, some v) -- we pattern match on `acc` to enable memory reuse
| none, acc => acc
private partial def matchPrefixAux (s : String) : Trie α → String.Pos → (String.Pos × Option α) → String.Pos × Option α
| Trie.Node v m, i, acc =>
match s.atEnd i with
| true => updtAcc v i acc
| false =>
let acc := updtAcc v i acc;
let c := s.get i;
let i := s.next i;
match RBNode.find Char.lt m c with
| some t => matchPrefixAux t i acc
| none => acc
def matchPrefix (s : String) (t : Trie α) (i : String.Pos) : String.Pos × Option α :=
matchPrefixAux s t i (i, none)
partial def matchPrefix (s : String) (t : Trie α) (i : String.Pos) : String.Pos × Option α :=
let rec loop
| Trie.Node v m, i, acc =>
match s.atEnd i with
| true => updtAcc v i acc
| false =>
let acc := updtAcc v i acc
let c := s.get i
let i := s.next i
match RBNode.find Char.lt m c with
| some t => loop t i acc
| none => acc
loop t i (i, none)
private partial def toStringAux {α : Type} : Trie α → List Format
| Trie.Node val map => map.fold (fun Fs c t =>

View file

@ -14,6 +14,9 @@ import Lean.Util.PPExt
import Lean.Util.PPGoal
namespace Lean
namespace MonadOptions end MonadOptions -- hack for old frontend
export MonadOptions (getOptions) -- hack for old frontend
def mkErrorStringWithPos (fileName : String) (line col : Nat) (msg : String) : String :=
fileName ++ ":" ++ toString line ++ ":" ++ toString col ++ ": " ++ toString msg

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -15,51 +16,55 @@ abbrev cacheSize : USize := 8192
structure State :=
(keys : Array Expr) -- Remark: our "unsafe" implementation relies on the fact that `()` is not a valid Expr
abbrev FindM := StateM State
abbrev FindM := StateT State Id
@[inline] unsafe def visited (e : Expr) (size : USize) : FindM Bool := do
s ← get;
let h := ptrAddrUnsafe e;
let i := h % size;
let k := s.keys.uget i lcProof;
unsafe def visited (e : Expr) (size : USize) : FindM Bool := do
let s ← get
let h := ptrAddrUnsafe e
let i := h % size
let k := s.keys.uget i lcProof
if ptrAddrUnsafe k == h then pure true
else do
modify $ fun s => { keys := s.keys.uset i e lcProof };
modify $ fun s => { keys := s.keys.uset i e lcProof }
pure false
@[specialize] unsafe partial def findM? (p : Expr → Bool) (size : USize) : Expr → OptionT FindM Expr
| e => condM (liftM $ visited e size) failure $
if p e then pure e
@[specialize] unsafe def findM? (p : Expr → Bool) (size : USize) (e : Expr) : OptionT FindM Expr :=
let rec visit (e : Expr) := do
if (← visited e size) then
failure
else if p e then
pure e
else match e with
| Expr.forallE _ d b _ => findM? d <|> findM? b
| Expr.lam _ d b _ => findM? d <|> findM? b
| Expr.mdata _ b _ => findM? b
| Expr.letE _ t v b _ => findM? t <|> findM? v <|> findM? b
| Expr.app f a _ => findM? f <|> findM? a
| Expr.proj _ _ b _ => findM? b
| Expr.forallE _ d b _ => visit d <|> visit b
| Expr.lam _ d b _ => visit d <|> visit b
| Expr.mdata _ b _ => visit b
| Expr.letE _ t v b _ => visit t <|> visit v <|> visit b
| Expr.app f a _ => visit f <|> visit a
| Expr.proj _ _ b _ => visit b
| e => failure
visit e
unsafe def initCache : State :=
{ keys := mkArray cacheSize.toNat (cast lcProof ()) }
@[inline] unsafe def findUnsafe? (p : Expr → Bool) (e : Expr) : Option Expr :=
(findM? p cacheSize e).run' initCache
Id.run $ (findM? p cacheSize e).run' initCache
end FindImpl
@[implementedBy FindImpl.findUnsafe?]
partial def find? (p : Expr → Bool) : Expr → Option Expr
| e =>
/- This is a reference implementation for the unsafe one above -/
if p e then some e
else match e with
| Expr.forallE _ d b _ => find? d <|> find? b
| Expr.lam _ d b _ => find? d <|> find? b
| Expr.mdata _ b _ => find? b
| Expr.letE _ t v b _ => find? t <|> find? v <|> find? b
| Expr.app f a _ => find? f <|> find? a
| Expr.proj _ _ b _ => find? b
| e => none
partial def find? (p : Expr → Bool) (e : Expr) : Option Expr :=
/- This is a reference implementation for the unsafe one above -/
if p e then some e
else match e with
| Expr.forallE _ d b _ => find? p d <|> find? p b
| Expr.lam _ d b _ => find? p d <|> find? p b
| Expr.mdata _ b _ => find? p b
| Expr.letE _ t v b _ => find? p t <|> find? p v <|> find? p b
| Expr.app f a _ => find? p f <|> find? p a
| Expr.proj _ _ b _ => find? p b
| e => none
/-- Return true if `e` occurs in `t` -/
def occurs (e : Expr) (t : Expr) : Bool :=

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -11,19 +12,23 @@ namespace FindMVar
abbrev Visitor := Option MVarId → Option MVarId
@[inline] def visit (f : Expr → Visitor) (e : Expr) : Visitor :=
fun s => if s.isSome || !e.hasMVar then s else f e s
mutual
partial def visit (p : MVarId → Bool) (e : Expr) : Visitor :=
fun s => if s.isSome || !e.hasMVar then s else main p e s
@[specialize] partial def main (p : MVarId → Bool) : Expr → Visitor
| Expr.proj _ _ e _ => visit main e
| Expr.forallE _ d b _ => visit main b ∘ visit main d
| Expr.lam _ d b _ => visit main b ∘ visit main d
| Expr.letE _ t v b _ => visit main b ∘ visit main v ∘ visit main t
| Expr.app f a _ => visit main a ∘ visit main f
| Expr.mdata _ b _ => visit main b
@[specialize]
partial def main (p : MVarId → Bool) : Expr → Visitor
| Expr.proj _ _ e _ => visit p e
| Expr.forallE _ d b _ => visit p b ∘ visit p d
| Expr.lam _ d b _ => visit p b ∘ visit p d
| Expr.letE _ t v b _ => visit p b ∘ visit p v ∘ visit p t
| Expr.app f a _ => visit p a ∘ visit p f
| Expr.mdata _ b _ => visit p b
| Expr.mvar mvarId _ => fun s => if s.isNone && p mvarId then some mvarId else s
| _ => id
end
end FindMVar
@[inline] def Expr.findMVar? (e : Expr) (p : MVarId → Bool) : Option MVarId :=

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2019 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -15,7 +16,7 @@ open System.FilePath (pathSeparator extSeparator)
private def pathSep : String := toString pathSeparator
def realPathNormalized (fname : String) : IO String := do
fname ← IO.realPath fname;
fname ← IO.realPath fname
pure (System.FilePath.normalizePath fname)
abbrev SearchPath := List String
@ -33,12 +34,12 @@ pure $ System.FilePath.splitSearchPath path ++ sp
constant isStage0 (u : Unit) : Bool := arbitrary _
def getBuiltinSearchPath : IO SearchPath := do
appDir ← IO.appDir;
let appDir ← IO.appDir
-- use stage1 stdlib with stage0 executable (which should never be distributed outside of the build directory)
pure [appDir ++ pathSep ++ ".." ++ (if isStage0 () then pathSep ++ ".." ++ pathSep ++ "stage1" else "") ++ pathSep ++ "lib" ++ pathSep ++ "lean"]
def addSearchPathFromEnv (sp : SearchPath) : IO SearchPath := do
val ← IO.getEnv "LEAN_PATH";
let val ← IO.getEnv "LEAN_PATH"
match val with
| none => pure sp
| some val => parseSearchPath val sp
@ -48,8 +49,8 @@ def initSearchPath (path : Option String := none) : IO Unit :=
match path with
| some path => parseSearchPath path >>= searchPathRef.set
| none => do
sp ← getBuiltinSearchPath;
sp ← addSearchPathFromEnv sp;
let sp ← getBuiltinSearchPath
let sp ← addSearchPathFromEnv sp
searchPathRef.set sp
def modPathToFilePath : Name → String
@ -58,30 +59,30 @@ def modPathToFilePath : Name → String
| Name.num p _ _ => panic! "ill-formed import"
def findOLean (mod : Name) : IO String := do
sp ← searchPathRef.get;
let pkg := mod.getRoot.toString;
some root ← sp.findM? (fun path => IO.isDir $ path ++ pathSep ++ pkg)
| throw $ IO.userError $ "unknown package '" ++ pkg ++ "'";
let sp ← searchPathRef.get
let pkg := mod.getRoot.toString
let some root ← sp.findM? (fun path => IO.isDir $ path ++ pathSep ++ pkg)
| throw $ IO.userError $ "unknown package '" ++ pkg ++ "'"
pure $ root ++ modPathToFilePath mod ++ ".olean"
/-- Infer module name of source file name. -/
@[export lean_module_name_of_file]
def moduleNameOfFileName (fname : String) (rootDir : Option String) : IO Name := do
fname ← realPathNormalized fname;
rootDir ← match rootDir with
let fname ← realPathNormalized fname
let rootDir ← match rootDir with
| some rootDir => pure rootDir
| none => IO.currentDir;
rootDir ← realPathNormalized rootDir;
when (!rootDir.isPrefixOf fname) $
throw $ IO.userError $ "input file '" ++ fname ++ "' must be contained in root directory (" ++ rootDir ++ ")";
let fnameSuffix := fname.drop rootDir.length;
let fnameSuffix := if fnameSuffix.get 0 == pathSeparator then fnameSuffix.drop 1 else fnameSuffix;
some extPos ← pure (fnameSuffix.revPosOf '.')
| throw (IO.userError ("failed to convert file name '" ++ fname ++ "' to module name, extension is missing"));
let modNameStr := fnameSuffix.extract 0 extPos;
let extStr := fnameSuffix.extract (extPos + 1) fnameSuffix.bsize;
let parts := modNameStr.splitOn pathSep;
let modName := parts.foldl mkNameStr Name.anonymous;
| none => IO.currentDir
let rootDir ← realPathNormalized rootDir
if !rootDir.isPrefixOf fname then
throw $ IO.userError s!"input file '{fname}' must be contained in root directory ({rootDir})"
let fnameSuffix := fname.drop rootDir.length
let fnameSuffix := if fnameSuffix.get 0 == pathSeparator then fnameSuffix.drop 1 else fnameSuffix
let some extPos ← pure (fnameSuffix.revPosOf '.')
| throw (IO.userError ("failed to convert file name '" ++ fname ++ "' to module name, extension is missing"))
let modNameStr := fnameSuffix.extract 0 extPos
let extStr := fnameSuffix.extract (extPos + 1) fnameSuffix.bsize
let parts := modNameStr.splitOn pathSep
let modName := parts.foldl mkNameStr Name.anonymous
pure modName
end Lean

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2019 Sebastian Ullrich. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -10,7 +11,6 @@ namespace Lean
def getMaxRecDepth (opts : Options) : Nat :=
opts.getNat `maxRecDepth defaultMaxRecDepth
@[builtinInit] def maxRecDepth : IO Unit :=
registerOption `maxRecDepth { defValue := defaultMaxRecDepth, group := "", descr := "maximum recursion depth for many Lean procedures" }
builtin_initialize registerOption `maxRecDepth { defValue := defaultMaxRecDepth, group := "", descr := "maximum recursion depth for many Lean procedures" }
end Lean

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -85,15 +86,15 @@ def constructorApp? (env : Environment) (e : Expr) : Option (ConstructorVal × A
match e with
| Expr.lit (Literal.natVal n) _ =>
if n == 0 then do
v ← getConstructorVal? env `Nat.zero;
let v ← getConstructorVal? env `Nat.zero
pure (v, #[])
else do
v ← getConstructorVal? env `Nat.succ;
let v ← getConstructorVal? env `Nat.succ
pure (v, #[mkNatLit (n-1)])
| _ =>
match e.getAppFn with
| Expr.const n _ _ => do
v ← getConstructorVal? env n;
let v ← getConstructorVal? env n
if v.nparams + v.nfields == e.getAppNumArgs then
pure (v, e.getAppArgs)
else

View file

@ -1,11 +1,11 @@
#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Leonardo de Moura
-/
import Std.Data.HashMap
namespace Lean
namespace SCC
namespace Lean.SCC
/-
Very simple implementation of Tarjan's SCC algorithm.
Performance is not a goal here since we use this module to
@ -34,7 +34,7 @@ end
variables {α : Type} [HasBeq α] [Hashable α]
private def getDataOf (a : α) : M α Data := do
s ← get;
let s ← get
match s.data.find? a with
| some d => pure d
| none => pure {}
@ -74,42 +74,38 @@ private partial def addSCCAux (a : α) : List α → List α → M α Unit
resetOnStack b;
let newSCC := b::newSCC;
if a != b then
addSCCAux bs newSCC
addSCCAux a bs newSCC
else
modify fun s => { s with stack := bs, sccs := newSCC :: s.sccs }
private def addSCC (a : α) : M α Unit := do
s ← get;
let s ← get
addSCCAux a s.stack []
@[specialize] private partial def sccAux (successorsOf : α → List α) : α → M α Unit
| a => do
push a;
(successorsOf a).forM fun b => do {
bData ← getDataOf b;
if bData.index?.isNone then do
-- `b` has not been visited yet
sccAux b;
bData ← getDataOf b;
updateLowLinkOf a bData.lowlink?
else if bData.onStack then do
-- `b` is on the stack. So, it must be in the current SCC
-- The edge `(a, b)` is pointing to an SCC already found and must be ignored
updateLowLinkOf a bData.index?
else
pure ()
};
aData ← getDataOf a;
when (aData.lowlink? == aData.index?) $
addSCC a
@[specialize] private partial def sccAux (successorsOf : α → List α) (a : α) : M α Unit := do
push a
(successorsOf a).forM fun b => do
let bData ← getDataOf b;
if bData.index?.isNone then
-- `b` has not been visited yet
sccAux successorsOf b;
let bData ← getDataOf b;
updateLowLinkOf a bData.lowlink?
else if bData.onStack then do
-- `b` is on the stack. So, it must be in the current SCC
-- The edge `(a, b)` is pointing to an SCC already found and must be ignored
updateLowLinkOf a bData.index?
else
pure ()
let aData ← getDataOf a;
if aData.lowlink? == aData.index? then
addSCC a
@[specialize] def scc (vertices : List α) (successorsOf : α → List α) : List (List α) :=
let main : M α Unit := vertices.forM fun a => do {
aData ← getDataOf a;
when aData.index?.isNone do sccAux successorsOf a
};
let (_, s) := main.run {};
let main : M α Unit := vertices.forM fun a => do
let aData ← getDataOf a
if aData.index?.isNone then sccAux successorsOf a
let (_, s) := main.run {}
s.sccs.reverse
end SCC
end Lean
end Lean.SCC

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2019 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -42,7 +43,7 @@ partial def MessageData.hasSorry : MessageData → Bool
| MessageData.group msg => msg.hasSorry
| MessageData.compose msg₁ msg₂ => msg₁.hasSorry || msg₂.hasSorry
| MessageData.tagged _ msg => msg.hasSorry
| MessageData.node msgs => msgs.any MessageData.hasSorry
| MessageData.node msgs => msgs.any hasSorry
| _ => false
partial def MessageData.hasSyntheticSorry : MessageData → Bool
@ -52,7 +53,7 @@ partial def MessageData.hasSyntheticSorry : MessageData → Bool
| MessageData.group msg => msg.hasSyntheticSorry
| MessageData.compose msg₁ msg₂ => msg₁.hasSyntheticSorry || msg₂.hasSyntheticSorry
| MessageData.tagged _ msg => msg.hasSyntheticSorry
| MessageData.node msgs => msgs.any MessageData.hasSyntheticSorry
| MessageData.node msgs => msgs.any hasSyntheticSorry
| _ => false
def Exception.hasSyntheticSorry : Exception → Bool

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2019 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -11,8 +12,8 @@ structure HeapNodeAux (α : Type u) (h : Type u) :=
(val : α) (rank : Nat) (children : List h)
inductive Heap (α : Type u) : Type u
| empty : Heap
| heap (ns : List (HeapNodeAux α Heap)) : Heap
| empty : Heap α
| heap (ns : List (HeapNodeAux α (Heap α))) : Heap α
abbrev HeapNode (α) := HeapNodeAux α (Heap α)
@ -41,15 +42,15 @@ else
| [], h => h
| h, [] => h
| f@(h₁ :: t₁), s@(h₂ :: t₂) =>
if h₁.rank < h₂.rank then h₁ :: mergeNodes t₁ s
else if h₂.rank < h₁.rank then h₂ :: mergeNodes t₂ f
if h₁.rank < h₂.rank then h₁ :: mergeNodes lt t₁ s
else if h₂.rank < h₁.rank then h₂ :: mergeNodes lt t₂ f
else
let merged := combine lt h₁ h₂;
let r := merged.rank;
if r != hRank t₁ then
if r != hRank t₂ then merged :: mergeNodes t₁ t₂ else mergeNodes (merged :: t₁) t₂
if r != hRank t₂ then merged :: mergeNodes lt t₁ t₂ else mergeNodes lt (merged :: t₁) t₂
else
if r != hRank t₂ then mergeNodes t₁ (merged :: t₂) else merged :: mergeNodes t₁ t₂
if r != hRank t₂ then mergeNodes lt t₁ (merged :: t₂) else merged :: mergeNodes lt t₁ t₂
@[specialize] def merge (lt : αα → Bool) : Heap α → Heap α → Heap α
| Heap.empty, h => h
@ -58,10 +59,9 @@ else
@[specialize] def head? (lt : αα → Bool) : Heap α → Option α
| Heap.empty => none
| Heap.heap h => h.foldl
(fun r n => match r with
| none => n.val
| some v => if lt v n.val then v else n.val) none
| Heap.heap h => h.foldl (init := none) fun r n => match r with
| none => some n.val
| some v => if lt v n.val then v else some n.val
/- O(log n) -/
@[specialize] def head [Inhabited α] (lt : αα → Bool) : Heap αα
@ -71,7 +71,7 @@ else
@[specialize] def findMin (lt : αα → Bool) : List (HeapNode α) → Nat → HeapNode α × Nat → HeapNode α × Nat
| [], _, r => r
| h::hs, idx, (h', idx') => if lt h.val h'.val then findMin hs (idx+1) (h, idx) else findMin hs (idx+1) (h', idx')
| h::hs, idx, (h', idx') => if lt h.val h'.val then findMin lt hs (idx+1) (h, idx) else findMin lt hs (idx+1) (h', idx')
def tail (lt : αα → Bool) : Heap α → Heap α
| Heap.empty => Heap.empty
@ -89,13 +89,13 @@ partial def toList (lt : αα → Bool) : Heap α → List α
| Heap.empty => []
| h => match head? lt h with
| none => []
| some a => a :: toList (tail lt h)
| some a => a :: toList lt (tail lt h)
inductive WellFormed (lt : αα → Bool) : Heap α → Prop
| emptyWff : WellFormed Heap.empty
| singletonWff (a : α) : WellFormed (singleton a)
| mergeWff (h₁ h₂ : Heap α) : WellFormed h₁ → WellFormed h₂ → WellFormed (merge lt h₁ h₂)
| tailWff (h : Heap α) : WellFormed h → WellFormed (tail lt h)
| emptyWff : WellFormed lt Heap.empty
| singletonWff (a : α) : WellFormed lt (singleton a)
| mergeWff (h₁ h₂ : Heap α) : WellFormed lt h₁ → WellFormed lt h₂ → WellFormed lt (merge lt h₁ h₂)
| tailWff (h : Heap α) : WellFormed lt h → WellFormed lt (tail lt h)
end BinomialHeapImp

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2018 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -20,7 +21,7 @@ variables {α : Type u}
open List
def ofList (l : List α) : DList α :=
⟨HasAppend.append l, fun t => (appendNil l).symm ▸ rfl⟩
⟨HasAppend.append l, fun t => by rw appendNil; exact rfl⟩
def empty : DList α :=
⟨id, fun t => rfl⟩
@ -40,20 +41,26 @@ def cons : α → DList α → DList α
⟨fun t => a :: f t,
fun t =>
show a :: f t = a :: f [] ++ t from
have h₁ : a :: f t = a :: (f nil ++ t) := h t ▸ rfl;
have h₂ : a :: (f nil ++ t) = a :: f nil ++ t := (consAppend _ _ _).symm;
have h₁ : a :: f t = a :: (f nil ++ t) by rw h t; exact rfl
have h₂ : a :: (f nil ++ t) = a :: f nil ++ t := (consAppend _ _ _).symm
Eq.trans h₁ h₂⟩
def append : DList α → DList α → DList α
| ⟨f, h₁⟩, ⟨g, h₂⟩ =>
⟨f ∘ g, fun t =>
show f (g t) = (f (g [])) ++ t from
(h₁ (g [])).symm ▸ (appendAssoc (f []) (g []) t).symm ▸ h₂ t ▸ h₁ (g t) ▸ rfl⟩
⟨f ∘ g, by
intro t
show f (g t) = (f (g [])) ++ t
rw [h₁ (g t), h₂ t, ← appendAssoc (f []) (g []) t, ← h₁ (g [])]
exact rfl⟩
def push : DList αα → DList α
| ⟨f, h⟩, a =>
⟨fun t => f (a :: t),
fun t => (h (a::t)).symm ▸ (h [a]).symm ▸ (appendAssoc (f []) [a] t).symm ▸ rfl⟩
by
intro t
show f (a :: t) = f (a :: nil) ++ t
rw [h [a], h (a::t), appendAssoc (f []) [a] t]
exact rfl⟩
instance : HasAppend (DList α) :=
⟨DList.append⟩

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2019 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2017 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -10,8 +11,8 @@ inductive Rbcolor
| red | black
inductive RBNode (α : Type u) (β : α → Type v)
| leaf : RBNode
| node (color : Rbcolor) (lchild : RBNode) (key : α) (val : β key) (rchild : RBNode) : RBNode
| leaf : RBNode α β
| node (color : Rbcolor) (lchild : RBNode α β) (key : α) (val : β key) (rchild : RBNode α β) : RBNode α β
namespace RBNode
variables {α : Type u} {β : α → Type v} {σ : Type w}
@ -20,51 +21,51 @@ open Std.Rbcolor Nat
def depth (f : Nat → Nat → Nat) : RBNode α β → Nat
| leaf => 0
| node _ l _ _ r => succ (f (depth l) (depth r))
| node _ l _ _ r => succ (f (depth f l) (depth f r))
protected def min : RBNode α β → Option (Sigma (fun k => β k))
| leaf => none
| node _ leaf k v _ => some ⟨k, v⟩
| node _ l k v _ => min l
| node _ l k v _ => RBNode.min l
protected def max : RBNode α β → Option (Sigma (fun k => β k))
| leaf => none
| node _ _ k v leaf => some ⟨k, v⟩
| node _ _ k v r => max r
| node _ _ k v r => RBNode.max r
@[specialize] def fold (f : σ → ∀ (k : α), β k → σ) : σ → RBNode α β → σ
| b, leaf => b
| b, node _ l k v r => fold (f (fold b l) k v) r
| b, node _ l k v r => fold f (f (fold f b l) k v) r
@[specialize] def foldM {m : Type w → Type w'} [Monad m] (f : σ → ∀ (k : α), β k → m σ) : σ RBNode α β → m σ
| b, leaf => pure b
| b, node _ l k v r => do
b ← foldM b l;
b ← f b k v;
foldM b r
@[specialize] def foldM {m : Type w → Type w'} [Monad m] (f : σ → ∀ (k : α), β k → m σ) (b : σ) : RBNode α β → m σ
| leaf => pure b
| node _ l k v r => do
let b ← foldM f b l
let b ← f b k v
foldM f b r
@[specialize] def revFold (f : σ → ∀ (k : α), β k → σ) : σ RBNode α β → σ
| b, leaf => b
| b, node _ l k v r => revFold (f (revFold b r) k v) l
@[specialize] def revFold (f : σ → ∀ (k : α), β k → σ) (b : σ) : RBNode α β → σ
| leaf => b
| node _ l k v r => revFold f (f (revFold f b r) k v) l
@[specialize] def all (p : ∀ k, β k → Bool) : RBNode α β → Bool
| leaf => true
| node _ l k v r => p k v && all l && all r
| node _ l k v r => p k v && all p l && all p r
@[specialize] def any (p : ∀ k, β k → Bool) : RBNode α β → Bool
| leaf => false
| node _ l k v r => p k v || any l || any r
| node _ l k v r => p k v || any p l || any p r
def singleton (k : α) (v : β k) : RBNode α β :=
node red leaf k v leaf
@[inline] def balance1 : ∀ a, β a → RBNode α β → RBNode α β → RBNode α β
@[inline] def balance1 : (a : α) → β a → RBNode α β → RBNode α β → RBNode α β
| kv, vv, t, node _ (node red l kx vx r₁) ky vy r₂ => node red (node black l kx vx r₁) ky vy (node black r₂ kv vv t)
| kv, vv, t, node _ l₁ ky vy (node red l₂ kx vx r) => node red (node black l₁ ky vy l₂) kx vx (node black r kv vv t)
| kv, vv, t, node _ l ky vy r => node black (node red l ky vy r) kv vv t
| _, _, _, _ => leaf -- unreachable
@[inline] def balance2 : RBNode α β → ∀ a, β a → RBNode α β → RBNode α β
@[inline] def balance2 : RBNode α β → (a : α) → β a → RBNode α β → RBNode α β
| t, kv, vv, node _ (node red l kx₁ vx₁ r₁) ky vy r₂ => node red (node black t kv vv l) kx₁ vx₁ (node black r₁ ky vy r₂)
| t, kv, vv, node _ l₁ ky vy (node red l₂ kx₂ vx₂ r₂) => node red (node black t kv vv l₁) ky vy (node black l₂ kx₂ vx₂ r₂)
| t, kv, vv, node _ l ky vy r => node black t kv vv (node red l ky vy r)
@ -108,12 +109,14 @@ else ins lt t k v
end Insert
def balance₃ : RBNode α β → ∀ k, β k → RBNode α β → RBNode α β
| node red (node red a kx vx b) ky vy c, k, v, d => node red (node black a kx vx b) ky vy (node black c k v d)
| node red a kx vx (node red b ky vy c), k, v, d => node red (node black a kx vx b) ky vy (node black c k v d)
| a, k, v, node red b ky vy (node red c kz vz d) => node red (node black a k v b) ky vy (node black c kz vz d)
| a, k, v, node red (node red b ky vy c) kz vz d => node red (node black a k v b) ky vy (node black c kz vz d)
| l, k, v, r => node black l k v r
def balance₃ (a : RBNode α β) (k : α) (v : β k) (d : RBNode α β) : RBNode α β :=
match a with
| node red (node red a kx vx b) ky vy c => node red (node black a kx vx b) ky vy (node black c k v d)
| node red a kx vx (node red b ky vy c) => node red (node black a kx vx b) ky vy (node black c k v d)
| a => match d with
| node red b ky vy (node red c kz vz d) => node red (node black a k v b) ky vy (node black c kz vz d)
| node red (node red b ky vy c) kz vz d => node red (node black a k v b) ky vy (node black c kz vz d)
| _ => node black a k v d
def setRed : RBNode α β → RBNode α β
| node _ a k v b => node red a k v b
@ -156,11 +159,11 @@ variables (lt : αα → Bool)
| leaf => leaf
| node _ a y v b =>
if lt x y then
if a.isBlack then balLeft (del a) y v b
else node red (del a) y v b
if a.isBlack then balLeft (del x a) y v b
else node red (del x a) y v b
else if lt y x then
if b.isBlack then balRight a y v (del b)
else node red a y v (del b)
if b.isBlack then balRight a y v (del x b)
else node red a y v (del x b)
else appendTrees a b
@[specialize] def erase (x : α) (t : RBNode α β) : RBNode α β :=
@ -196,9 +199,9 @@ variable (lt : αα → Bool)
end Membership
inductive WellFormed (lt : αα → Bool) : RBNode α β → Prop
| leafWff : WellFormed leaf
| insertWff {n n' : RBNode α β} {k : α} {v : β k} : WellFormed n → n' = insert lt n k v → WellFormed n'
| eraseWff {n n' : RBNode α β} {k : α} : WellFormed n → n' = erase lt k n → WellFormed n'
| leafWff : WellFormed lt leaf
| insertWff {n n' : RBNode α β} {k : α} {v : β k} : WellFormed lt n → n' = insert lt n k v → WellFormed lt n'
| eraseWff {n n' : RBNode α β} {k : α} : WellFormed lt n → n' = erase lt k n → WellFormed lt n'
end RBNode

View file

@ -13,17 +13,14 @@
#ifdef __cplusplus
extern "C" {
#endif
lean_object* l_Std_RBNode_find___main___at_Lean_ParametricAttribute_getParam___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* l_List_reverse___rarg(lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_getBuiltinAttributeNames___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at_Lean_ParametricAttribute_setParam___spec__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_EnumAttributes_getValue___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkAttributeExtension___closed__1;
lean_object* l_Lean_registerEnumAttributes___rarg___lambda__1___boxed(lean_object*, lean_object*);
size_t l_USize_add(size_t, size_t);
lean_object* l_Lean_attrParamSyntaxToIdentifier___boxed(lean_object*);
lean_object* l_Lean_registerTagAttribute___closed__3;
lean_object* l_Std_RBNode_fold___main___at_Lean_registerParametricAttribute___spec__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_mkAttributeImplOfBuilder___closed__1;
uint8_t l_Std_AssocList_contains___at_Lean_registerAttributeImplBuilder___spec__2(lean_object*, lean_object*);
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
@ -59,11 +56,11 @@ extern lean_object* l_Lean_mkTagDeclarationExtension___closed__1;
lean_object* l_Array_iterateMAux___main___at___private_Lean_Attributes_2__AttributeExtension_addImported___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_registerEnumAttributes___rarg___lambda__2___closed__3;
lean_object* l_Lean_ParametricAttribute_setParam___rarg___closed__2;
lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_getValue___spec__1___rarg(lean_object*, lean_object*);
extern lean_object* l_Lean_registerInternalExceptionId___closed__2;
lean_object* l_Lean_attributeExtension___elambda__4___rarg(lean_object*);
lean_object* l_Lean_EnvExtensionInterfaceUnsafe_registerExt___rarg(lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_contains___at_Lean_registerAttributeImplBuilder___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at_Lean_EnumAttributes_setValue___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_ParametricAttribute_Inhabited(lean_object*);
lean_object* l_Lean_mkAttributeExtension___closed__2;
lean_object* l_Lean_mkAttributeImplBuilderTable(lean_object*);
@ -73,7 +70,6 @@ uint8_t l_Array_anyRangeMAux___main___at_Lean_registerTagAttribute___spec__3(lea
lean_object* l_Lean_Environment_addAttributeOld___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_environment_find(lean_object*, lean_object*);
lean_object* l_IO_mkRef___at_Lean_mkAttributeImplBuilderTable___spec__2(lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___main___at_Lean_registerEnumAttributes___spec__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_registerTagAttribute___closed__1;
lean_object* l_Std_PersistentHashMap_insertAux___main___at_Lean_registerBuiltinAttribute___spec__4(lean_object*, size_t, size_t, lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerParametricAttribute___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -102,11 +98,13 @@ lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_registerTagAt
extern lean_object* l_String_splitAux___main___closed__1;
lean_object* l_Lean_setEnv___at_Lean_registerTagAttribute___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_AssocList_replace___at_Lean_registerAttributeImplBuilder___spec__7(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___at_Lean_registerEnumAttributes___spec__1(lean_object*);
lean_object* l_Lean_attributeMapRef;
lean_object* l_Lean_attributeImplBuilderTableRef;
lean_object* l_Lean_AttributeExtensionState_inhabited;
size_t l_USize_shiftRight(size_t, size_t);
lean_object* l_Lean_attributeExtension___elambda__2___boxed(lean_object*);
lean_object* l_Std_RBNode_fold___at_Lean_registerParametricAttribute___spec__1(lean_object*);
lean_object* l_Array_binSearchAux___main___at_Lean_EnumAttributes_getValue___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerParametricAttribute___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_read___at_Lean_attrResolveName___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
@ -117,7 +115,6 @@ lean_object* l_Lean_attributeExtension___elambda__3(lean_object*, lean_object*);
lean_object* l_Lean_TagAttribute_hasTag___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_TODELETE_popScopeCore(lean_object*);
extern lean_object* l_Lean_LocalContext_Inhabited___closed__1;
lean_object* l_Std_RBNode_find___main___at_Lean_EnumAttributes_setValue___spec__1(lean_object*);
lean_object* l_Std_PersistentHashMap_foldlMAux___main___at_Lean_getBuiltinAttributeNames___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_attrResolveName___closed__3;
lean_object* l_Std_PersistentHashMap_findAtAux___main___at_Lean_getBuiltinAttributeImpl___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -131,14 +128,14 @@ lean_object* l_Lean_registerTagAttribute___lambda__4___closed__7;
lean_object* l_Lean_attrResolveName___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkAttributeImplOfConstant___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkAttributeImplOfConstant___closed__1;
lean_object* l_Std_RBNode_find___main___at_Lean_EnumAttributes_getValue___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_registerTagAttribute___lambda__4___closed__3;
lean_object* l_Lean_attributeExtension___elambda__4(lean_object*, lean_object*);
lean_object* l_Lean_attrResolveName;
lean_object* l_Std_RBNode_fold___at_Lean_registerTagAttribute___spec__1(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_getValue___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* l_List_forM___main___at_Lean_registerEnumAttributes___spec__10(lean_object*, lean_object*);
uint8_t l_Lean_AttributeApplicationTime_beq(uint8_t, uint8_t);
lean_object* l_Std_HashMapImp_find_x3f___at_Lean_mkAttributeImplOfBuilder___spec__1(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at_Lean_ParametricAttribute_getParam___spec__1(lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerEnumAttributes___spec__4(lean_object*);
lean_object* l_Lean_mkAttributeExtension___lambda__2___boxed(lean_object*);
lean_object* l_Lean_registerEnumAttributes___rarg___lambda__2___closed__2;
@ -158,7 +155,6 @@ lean_object* lean_st_ref_take(lean_object*, lean_object*);
lean_object* l_EStateM_bind___rarg(lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_sub(lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerParametricAttribute___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at_Lean_ParametricAttribute_setParam___spec__1(lean_object*);
lean_object* l_Lean_registerParametricAttribute___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Attributes_2__AttributeExtension_addImported(lean_object*, lean_object*, lean_object*);
lean_object* lean_array_swap(lean_object*, lean_object*, lean_object*);
@ -196,6 +192,7 @@ lean_object* l_Lean_ofExcept___at_Lean_addAttribute___spec__1(lean_object*, lean
lean_object* l_Array_qsortAux___main___at_Lean_mkTagDeclarationExtension___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_registerEnumAttributes___spec__7(lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerEnumAttributes___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___at_Lean_registerEnumAttributes___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* lean_st_mk_ref(lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerParametricAttribute___spec__3(lean_object*);
lean_object* lean_name_mk_string(lean_object*, lean_object*);
@ -207,6 +204,7 @@ lean_object* lean_eval_const(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_registerTagAttribute___lambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkAttributeExtension___lambda__2(lean_object*);
lean_object* l_Lean_attributeExtension___closed__4;
lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_getValue___spec__1(lean_object*);
lean_object* l_Array_binSearchAux___main___at_Lean_ParametricAttribute_getParam___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Environment_evalConstCheck___rarg___closed__1;
lean_object* l_Lean_TODELETE_pushScopeCore(lean_object*, lean_object*, uint8_t);
@ -214,7 +212,6 @@ lean_object* l_Lean_registerParametricAttribute___rarg___boxed(lean_object*, lea
extern lean_object* l_IO_Error_Inhabited___closed__1;
lean_object* l_Lean_attrParamSyntaxToIdentifier(lean_object*);
lean_object* l_Lean_registerParametricAttribute___rarg___closed__1;
lean_object* l_Std_RBNode_find___main___at_Lean_ParametricAttribute_getParam___spec__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_registerTagAttribute___lambda__4___closed__6;
lean_object* l_Lean_registerParametricAttribute___rarg___closed__2;
lean_object* l_Lean_mkAttributeExtension___closed__7;
@ -230,21 +227,21 @@ lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerEnumAttributes___spec__3(lean_object*);
lean_object* l_Lean_registerParametricAttribute___rarg___lambda__4___boxed(lean_object*);
lean_object* l_Lean_mkAttributeImplOfEntry(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_ParametricAttribute_setParam___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_registerTagAttribute___lambda__3(lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_setValue___spec__1___rarg___boxed(lean_object*, lean_object*);
size_t l_USize_mul(size_t, size_t);
lean_object* l_List_redLength___main___rarg(lean_object*);
lean_object* l_Lean_registerParametricAttribute___rarg___lambda__4___closed__2;
lean_object* l_Std_RBNode_fold___at_Std_RBMap_size___spec__1___rarg(lean_object*, lean_object*);
lean_object* l_IO_ofExcept___at_Lean_mkAttributeImplOfBuilder___spec__3(lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___main___at_Std_RBMap_size___spec__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_registerTagAttribute___lambda__3___closed__3;
lean_object* l_Lean_registerAttributeImplBuilder___closed__2;
lean_object* l_Std_RBNode_fold___main___at_Lean_registerParametricAttribute___spec__1(lean_object*);
lean_object* l_Lean_registerParametricAttribute___rarg___closed__4;
extern lean_object* l_Lean_NameSet_empty;
lean_object* l_Lean_ConstantInfo_type(lean_object*);
lean_object* l_Std_PersistentHashMap_containsAux___main___at_Lean_registerBuiltinAttribute___spec__2___boxed(lean_object*, lean_object*, lean_object*);
lean_object* lean_pop_scope(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at_Lean_EnumAttributes_getValue___spec__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_registerAttributeImplBuilder___closed__1;
lean_object* l_Lean_PersistentEnvExtension_addEntry___rarg(lean_object*, lean_object*, lean_object*);
size_t l_USize_land(size_t, size_t);
@ -252,7 +249,6 @@ extern lean_object* l_Lean_EnvExtensionInterfaceUnsafe_Ext_inhabitedExt___closed
lean_object* l_Std_HashMapImp_moveEntries___main___at_Lean_registerAttributeImplBuilder___spec__5(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_registerTagAttribute___lambda__4___closed__2;
lean_object* l_Lean_ParametricAttribute_setParam___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___main___at_Lean_registerEnumAttributes___spec__1(lean_object*);
lean_object* l_Std_PersistentHashMap_contains___at_Lean_registerBuiltinAttribute___spec__1___boxed(lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerParametricAttribute___spec__3___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_attrResolveName___closed__4;
@ -269,7 +265,6 @@ uint8_t l_Std_PersistentHashMap_containsAux___main___at_Lean_registerBuiltinAttr
extern lean_object* l_Lean_Syntax_inhabited;
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
lean_object* l_Lean_EnumAttributes_Inhabited___closed__1;
lean_object* l_Std_RBNode_fold___main___at_Lean_registerEnumAttributes___spec__1___rarg___boxed(lean_object*, lean_object*);
uint8_t l_Lean_isAttribute(lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at_Lean_mkAttributeExtension___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_getBuiltinAttributeNames___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
@ -287,10 +282,12 @@ uint8_t l_USize_decLe(size_t, size_t);
lean_object* l_Lean_registerTagAttribute___lambda__4___closed__5;
lean_object* l_Lean_registerAttributeOfDecl___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_attrResolveName___closed__1;
lean_object* l_Std_RBNode_find___at_Lean_ParametricAttribute_setParam___spec__1___rarg(lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerEnumAttributes___spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_EnumAttributes_setValue___rarg___closed__1;
lean_object* l_Lean_registerParametricAttribute(lean_object*);
lean_object* l_Lean_Environment_pushScope___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_setValue___spec__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_registerEnumAttributes___rarg___closed__1;
lean_object* l_Lean_AttributeImpl_inhabited___closed__1;
lean_object* l_Lean_AttributeApplicationTime_beq___boxed(lean_object*, lean_object*);
@ -310,10 +307,10 @@ lean_object* l_Lean_registerEnumAttributes___rarg___lambda__2___closed__4;
lean_object* l_List_map___main___at_Lean_registerEnumAttributes___spec__9___rarg(lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_registerEnumAttributes___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_binSearchAux___main___at_Lean_ParametricAttribute_getParam___spec__2(lean_object*);
lean_object* l_Std_RBNode_find___main___at_Lean_EnumAttributes_getValue___spec__1(lean_object*);
lean_object* l_IO_mkRef___at_Lean_mkAttributeMapRef___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_registerTagAttribute___lambda__4___closed__9;
lean_object* lean_nat_mul(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_ParametricAttribute_getParam___spec__1(lean_object*);
lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_getBuiltinAttributeImpl___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_ParametricAttribute_getParam___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwError___at_Lean_addAttribute___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -344,8 +341,8 @@ lean_object* l_Lean_PersistentEnvExtension_getState___rarg(lean_object*, lean_ob
lean_object* l_Array_qsortAux___main___at_Lean_registerEnumAttributes___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_EnumAttributes_getValue___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at_Lean_registerEnumAttributes___spec__8___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_ParametricAttribute_getParam___spec__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_mkAttributeImplOfConstantUnsafe___closed__1;
lean_object* l_Std_RBNode_fold___main___at_Lean_registerParametricAttribute___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* lean_io_initializing(lean_object*);
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
lean_object* l_Lean_mkAttributeImplOfConstantUnsafe___closed__2;
@ -354,6 +351,7 @@ uint8_t l_Std_PersistentHashMap_contains___at_Lean_registerBuiltinAttribute___sp
lean_object* l_Lean_registerParametricAttribute___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*);
lean_object* l_Lean_attrResolveName___closed__5;
lean_object* l_Lean_registerTagAttribute___lambda__4___closed__11;
lean_object* l_Std_RBNode_find___at_Lean_ParametricAttribute_getParam___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_EnumAttributes_setValue___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_registerParametricAttribute___rarg___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at_Lean_registerTagAttribute___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -372,16 +370,18 @@ lean_object* l_List_toArrayAux___main___rarg(lean_object*, lean_object*);
lean_object* l_ReaderT_read___at_Lean_attrResolveName___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_System_FilePath_dirName___closed__1;
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at_Lean_ParametricAttribute_setParam___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Name_toStringWithSep___main(lean_object*, lean_object*);
lean_object* l_Lean_registerTagAttribute___lambda__3___closed__4;
lean_object* lean_add_attribute(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*);
lean_object* l_Std_RBNode_fold___at_Lean_registerParametricAttribute___spec__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_attributeExtension___elambda__3___boxed(lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerEnumAttributes___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_usize_to_nat(size_t);
lean_object* l_Std_RBNode_fold___at_Lean_registerParametricAttribute___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_getBuiltinAttributeImpl___closed__1;
lean_object* l_ReaderT_bind___at_Lean_attrResolveName___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_bind___at_Lean_attrResolveName___spec__2(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_setValue___spec__1(lean_object*);
lean_object* l_Lean_registerAttributeImplBuilder(lean_object*, lean_object*, lean_object*);
lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*);
lean_object* l_Lean_mkAttributeExtension___closed__5;
@ -390,11 +390,11 @@ lean_object* l_Std_PersistentHashMap_findAux___main___at_Lean_getBuiltinAttribut
lean_object* l_Lean_attributeExtension___elambda__1(lean_object*);
lean_object* l_Lean_registerAttributeOfDecl(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_registerTagAttribute___lambda__4___closed__8;
lean_object* l_Std_RBNode_fold___main___at_Lean_registerTagAttribute___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_registerTagAttribute___lambda__4___closed__4;
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerEnumAttributes___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at_Lean_EnumAttributes_setValue___spec__1___rarg(lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___at_Lean_registerEnumAttributes___spec__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_mkAttributeExtension___spec__1(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_ParametricAttribute_setParam___spec__1(lean_object*);
lean_object* l_Lean_registerParametricAttribute___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_registerTagAttribute___lambda__3___closed__1;
lean_object* l_Lean_getAttributeNames(lean_object*);
@ -4914,7 +4914,7 @@ x_10 = l_Lean_addAttribute(x_1, x_2, x_3, x_9, x_5, x_6, x_7, x_8);
return x_10;
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_registerTagAttribute___spec__1(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_registerTagAttribute___spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@ -4931,7 +4931,7 @@ lean_inc(x_4);
x_5 = lean_ctor_get(x_2, 3);
lean_inc(x_5);
lean_dec(x_2);
x_6 = l_Std_RBNode_fold___main___at_Lean_registerTagAttribute___spec__1(x_1, x_3);
x_6 = l_Std_RBNode_fold___at_Lean_registerTagAttribute___spec__1(x_1, x_3);
x_7 = lean_array_push(x_6, x_4);
x_1 = x_7;
x_2 = x_5;
@ -5337,7 +5337,7 @@ _start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_2 = l_Array_empty___closed__1;
x_3 = l_Std_RBNode_fold___main___at_Lean_registerTagAttribute___spec__1(x_2, x_1);
x_3 = l_Std_RBNode_fold___at_Lean_registerTagAttribute___spec__1(x_2, x_1);
x_4 = lean_array_get_size(x_3);
x_5 = lean_unsigned_to_nat(1u);
x_6 = lean_nat_sub(x_4, x_5);
@ -5395,7 +5395,7 @@ _start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_2 = lean_unsigned_to_nat(0u);
x_3 = l_Std_RBNode_fold___main___at_Std_RBMap_size___spec__1___rarg(x_2, x_1);
x_3 = l_Std_RBNode_fold___at_Std_RBMap_size___spec__1___rarg(x_2, x_1);
x_4 = l_Nat_repr(x_3);
x_5 = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(x_5, 0, x_4);
@ -6018,7 +6018,7 @@ x_5 = lean_box(x_4);
return x_5;
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_registerParametricAttribute___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_registerParametricAttribute___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@ -6032,7 +6032,7 @@ x_3 = lean_ctor_get(x_2, 0);
x_4 = lean_ctor_get(x_2, 1);
x_5 = lean_ctor_get(x_2, 2);
x_6 = lean_ctor_get(x_2, 3);
x_7 = l_Std_RBNode_fold___main___at_Lean_registerParametricAttribute___spec__1___rarg(x_1, x_3);
x_7 = l_Std_RBNode_fold___at_Lean_registerParametricAttribute___spec__1___rarg(x_1, x_3);
lean_inc(x_5);
lean_inc(x_4);
x_8 = lean_alloc_ctor(0, 2, 0);
@ -6045,11 +6045,11 @@ goto _start;
}
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_registerParametricAttribute___spec__1(lean_object* x_1) {
lean_object* l_Std_RBNode_fold___at_Lean_registerParametricAttribute___spec__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Std_RBNode_fold___main___at_Lean_registerParametricAttribute___spec__1___rarg___boxed), 2, 0);
x_2 = lean_alloc_closure((void*)(l_Std_RBNode_fold___at_Lean_registerParametricAttribute___spec__1___rarg___boxed), 2, 0);
return x_2;
}
}
@ -6851,7 +6851,7 @@ _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;
x_3 = l_Array_empty___closed__1;
x_4 = l_Std_RBNode_fold___main___at_Lean_registerParametricAttribute___spec__1___rarg(x_3, x_2);
x_4 = l_Std_RBNode_fold___at_Lean_registerParametricAttribute___spec__1___rarg(x_3, x_2);
x_5 = lean_array_get_size(x_4);
x_6 = lean_unsigned_to_nat(1u);
x_7 = lean_nat_sub(x_5, x_6);
@ -6909,7 +6909,7 @@ _start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_2 = lean_unsigned_to_nat(0u);
x_3 = l_Std_RBNode_fold___main___at_Std_RBMap_size___spec__1___rarg(x_2, x_1);
x_3 = l_Std_RBNode_fold___at_Std_RBMap_size___spec__1___rarg(x_2, x_1);
x_4 = l_Nat_repr(x_3);
x_5 = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(x_5, 0, x_4);
@ -7288,11 +7288,11 @@ x_2 = lean_alloc_closure((void*)(l_Lean_registerParametricAttribute___rarg___box
return x_2;
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_registerParametricAttribute___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_registerParametricAttribute___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_fold___main___at_Lean_registerParametricAttribute___spec__1___rarg(x_1, x_2);
x_3 = l_Std_RBNode_fold___at_Lean_registerParametricAttribute___spec__1___rarg(x_1, x_2);
lean_dec(x_2);
return x_3;
}
@ -7427,7 +7427,7 @@ x_2 = l_Lean_ParametricAttribute_Inhabited___closed__1;
return x_2;
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_ParametricAttribute_getParam___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at_Lean_ParametricAttribute_getParam___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -7470,11 +7470,11 @@ goto _start;
}
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_ParametricAttribute_getParam___spec__1(lean_object* x_1) {
lean_object* l_Std_RBNode_find___at_Lean_ParametricAttribute_getParam___spec__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Std_RBNode_find___main___at_Lean_ParametricAttribute_getParam___spec__1___rarg___boxed), 2, 0);
x_2 = lean_alloc_closure((void*)(l_Std_RBNode_find___at_Lean_ParametricAttribute_getParam___spec__1___rarg___boxed), 2, 0);
return x_2;
}
}
@ -7586,7 +7586,7 @@ lean_object* x_6; lean_object* x_7; lean_object* x_8;
lean_dec(x_1);
x_6 = lean_ctor_get(x_2, 1);
x_7 = l_Lean_PersistentEnvExtension_getState___rarg(x_6, x_3);
x_8 = l_Std_RBNode_find___main___at_Lean_ParametricAttribute_getParam___spec__1___rarg(x_7, x_4);
x_8 = l_Std_RBNode_find___at_Lean_ParametricAttribute_getParam___spec__1___rarg(x_7, x_4);
lean_dec(x_4);
lean_dec(x_7);
return x_8;
@ -7657,11 +7657,11 @@ x_2 = lean_alloc_closure((void*)(l_Lean_ParametricAttribute_getParam___rarg___bo
return x_2;
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_ParametricAttribute_getParam___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at_Lean_ParametricAttribute_getParam___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_find___main___at_Lean_ParametricAttribute_getParam___spec__1___rarg(x_1, x_2);
x_3 = l_Std_RBNode_find___at_Lean_ParametricAttribute_getParam___spec__1___rarg(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;
@ -7687,7 +7687,7 @@ lean_dec(x_2);
return x_5;
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_ParametricAttribute_setParam___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at_Lean_ParametricAttribute_setParam___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -7730,11 +7730,11 @@ goto _start;
}
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_ParametricAttribute_setParam___spec__1(lean_object* x_1) {
lean_object* l_Std_RBNode_find___at_Lean_ParametricAttribute_setParam___spec__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Std_RBNode_find___main___at_Lean_ParametricAttribute_setParam___spec__1___rarg___boxed), 2, 0);
x_2 = lean_alloc_closure((void*)(l_Std_RBNode_find___at_Lean_ParametricAttribute_setParam___spec__1___rarg___boxed), 2, 0);
return x_2;
}
}
@ -7773,7 +7773,7 @@ lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_6 = lean_ctor_get(x_1, 1);
lean_inc(x_6);
x_7 = l_Lean_PersistentEnvExtension_getState___rarg(x_6, x_2);
x_8 = l_Std_RBNode_find___main___at_Lean_ParametricAttribute_setParam___spec__1___rarg(x_7, x_3);
x_8 = l_Std_RBNode_find___at_Lean_ParametricAttribute_setParam___spec__1___rarg(x_7, x_3);
lean_dec(x_7);
if (lean_obj_tag(x_8) == 0)
{
@ -7847,17 +7847,17 @@ x_2 = lean_alloc_closure((void*)(l_Lean_ParametricAttribute_setParam___rarg), 4,
return x_2;
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_ParametricAttribute_setParam___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at_Lean_ParametricAttribute_setParam___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_find___main___at_Lean_ParametricAttribute_setParam___spec__1___rarg(x_1, x_2);
x_3 = l_Std_RBNode_find___at_Lean_ParametricAttribute_setParam___spec__1___rarg(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_registerEnumAttributes___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_registerEnumAttributes___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@ -7871,7 +7871,7 @@ x_3 = lean_ctor_get(x_2, 0);
x_4 = lean_ctor_get(x_2, 1);
x_5 = lean_ctor_get(x_2, 2);
x_6 = lean_ctor_get(x_2, 3);
x_7 = l_Std_RBNode_fold___main___at_Lean_registerEnumAttributes___spec__1___rarg(x_1, x_3);
x_7 = l_Std_RBNode_fold___at_Lean_registerEnumAttributes___spec__1___rarg(x_1, x_3);
lean_inc(x_5);
lean_inc(x_4);
x_8 = lean_alloc_ctor(0, 2, 0);
@ -7884,11 +7884,11 @@ goto _start;
}
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_registerEnumAttributes___spec__1(lean_object* x_1) {
lean_object* l_Std_RBNode_fold___at_Lean_registerEnumAttributes___spec__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Std_RBNode_fold___main___at_Lean_registerEnumAttributes___spec__1___rarg___boxed), 2, 0);
x_2 = lean_alloc_closure((void*)(l_Std_RBNode_fold___at_Lean_registerEnumAttributes___spec__1___rarg___boxed), 2, 0);
return x_2;
}
}
@ -8991,7 +8991,7 @@ _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;
x_3 = l_Array_empty___closed__1;
x_4 = l_Std_RBNode_fold___main___at_Lean_registerEnumAttributes___spec__1___rarg(x_3, x_2);
x_4 = l_Std_RBNode_fold___at_Lean_registerEnumAttributes___spec__1___rarg(x_3, x_2);
x_5 = lean_array_get_size(x_4);
x_6 = lean_unsigned_to_nat(1u);
x_7 = lean_nat_sub(x_5, x_6);
@ -9049,7 +9049,7 @@ _start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_2 = lean_unsigned_to_nat(0u);
x_3 = l_Std_RBNode_fold___main___at_Std_RBMap_size___spec__1___rarg(x_2, x_1);
x_3 = l_Std_RBNode_fold___at_Std_RBMap_size___spec__1___rarg(x_2, x_1);
x_4 = l_Nat_repr(x_3);
x_5 = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(x_5, 0, x_4);
@ -9187,11 +9187,11 @@ x_2 = lean_alloc_closure((void*)(l_Lean_registerEnumAttributes___rarg___boxed),
return x_2;
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_registerEnumAttributes___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_registerEnumAttributes___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_fold___main___at_Lean_registerEnumAttributes___spec__1___rarg(x_1, x_2);
x_3 = l_Std_RBNode_fold___at_Lean_registerEnumAttributes___spec__1___rarg(x_1, x_2);
lean_dec(x_2);
return x_3;
}
@ -9327,7 +9327,7 @@ x_2 = l_Lean_EnumAttributes_Inhabited___closed__1;
return x_2;
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_EnumAttributes_getValue___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_getValue___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -9370,11 +9370,11 @@ goto _start;
}
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_EnumAttributes_getValue___spec__1(lean_object* x_1) {
lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_getValue___spec__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Std_RBNode_find___main___at_Lean_EnumAttributes_getValue___spec__1___rarg___boxed), 2, 0);
x_2 = lean_alloc_closure((void*)(l_Std_RBNode_find___at_Lean_EnumAttributes_getValue___spec__1___rarg___boxed), 2, 0);
return x_2;
}
}
@ -9486,7 +9486,7 @@ lean_object* x_6; lean_object* x_7; lean_object* x_8;
lean_dec(x_1);
x_6 = lean_ctor_get(x_2, 1);
x_7 = l_Lean_PersistentEnvExtension_getState___rarg(x_6, x_3);
x_8 = l_Std_RBNode_find___main___at_Lean_EnumAttributes_getValue___spec__1___rarg(x_7, x_4);
x_8 = l_Std_RBNode_find___at_Lean_EnumAttributes_getValue___spec__1___rarg(x_7, x_4);
lean_dec(x_4);
lean_dec(x_7);
return x_8;
@ -9557,11 +9557,11 @@ x_2 = lean_alloc_closure((void*)(l_Lean_EnumAttributes_getValue___rarg___boxed),
return x_2;
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_EnumAttributes_getValue___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_getValue___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_find___main___at_Lean_EnumAttributes_getValue___spec__1___rarg(x_1, x_2);
x_3 = l_Std_RBNode_find___at_Lean_EnumAttributes_getValue___spec__1___rarg(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;
@ -9587,7 +9587,7 @@ lean_dec(x_2);
return x_5;
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_EnumAttributes_setValue___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_setValue___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -9630,11 +9630,11 @@ goto _start;
}
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_EnumAttributes_setValue___spec__1(lean_object* x_1) {
lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_setValue___spec__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Std_RBNode_find___main___at_Lean_EnumAttributes_setValue___spec__1___rarg___boxed), 2, 0);
x_2 = lean_alloc_closure((void*)(l_Std_RBNode_find___at_Lean_EnumAttributes_setValue___spec__1___rarg___boxed), 2, 0);
return x_2;
}
}
@ -9666,7 +9666,7 @@ x_6 = lean_ctor_get(x_1, 1);
lean_inc(x_6);
lean_dec(x_1);
x_7 = l_Lean_PersistentEnvExtension_getState___rarg(x_6, x_2);
x_8 = l_Std_RBNode_find___main___at_Lean_EnumAttributes_setValue___spec__1___rarg(x_7, x_3);
x_8 = l_Std_RBNode_find___at_Lean_EnumAttributes_setValue___spec__1___rarg(x_7, x_3);
lean_dec(x_7);
if (lean_obj_tag(x_8) == 0)
{
@ -9735,11 +9735,11 @@ x_2 = lean_alloc_closure((void*)(l_Lean_EnumAttributes_setValue___rarg), 4, 0);
return x_2;
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_EnumAttributes_setValue___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_setValue___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_find___main___at_Lean_EnumAttributes_setValue___spec__1___rarg(x_1, x_2);
x_3 = l_Std_RBNode_find___at_Lean_EnumAttributes_setValue___spec__1___rarg(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;

View file

@ -1221,54 +1221,60 @@ uint8_t x_5;
x_5 = !lean_is_exclusive(x_1);
if (x_5 == 0)
{
lean_object* x_6; lean_object* x_7;
lean_object* x_6; lean_object* x_7; uint8_t x_8;
x_6 = lean_ctor_get(x_1, 1);
x_7 = l_Std_PersistentHashMap_insert___at_Lean_ClassState_addEntry___spec__2(x_6, x_2, x_3);
x_8 = 0;
lean_ctor_set(x_1, 1, x_7);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_8);
return x_1;
}
else
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_8 = lean_ctor_get(x_1, 0);
x_9 = lean_ctor_get(x_1, 1);
lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_1, 0);
x_10 = lean_ctor_get(x_1, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_dec(x_1);
x_10 = l_Std_PersistentHashMap_insert___at_Lean_ClassState_addEntry___spec__2(x_9, x_2, x_3);
x_11 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_11, 0, x_8);
lean_ctor_set(x_11, 1, x_10);
lean_ctor_set_uint8(x_11, sizeof(void*)*2, x_4);
return x_11;
x_11 = l_Std_PersistentHashMap_insert___at_Lean_ClassState_addEntry___spec__2(x_10, x_2, x_3);
x_12 = 0;
x_13 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_13, 0, x_9);
lean_ctor_set(x_13, 1, x_11);
lean_ctor_set_uint8(x_13, sizeof(void*)*2, x_12);
return x_13;
}
}
else
{
uint8_t x_12;
x_12 = !lean_is_exclusive(x_1);
if (x_12 == 0)
uint8_t x_14;
x_14 = !lean_is_exclusive(x_1);
if (x_14 == 0)
{
lean_object* x_13; lean_object* x_14;
x_13 = lean_ctor_get(x_1, 0);
x_14 = l_Std_HashMapImp_insert___at_Lean_ClassState_addEntry___spec__6(x_13, x_2, x_3);
lean_ctor_set(x_1, 0, x_14);
lean_object* x_15; lean_object* x_16; uint8_t x_17;
x_15 = lean_ctor_get(x_1, 0);
x_16 = l_Std_HashMapImp_insert___at_Lean_ClassState_addEntry___spec__6(x_15, x_2, x_3);
x_17 = 1;
lean_ctor_set(x_1, 0, x_16);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_17);
return x_1;
}
else
{
lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
x_15 = lean_ctor_get(x_1, 0);
x_16 = lean_ctor_get(x_1, 1);
lean_inc(x_16);
lean_inc(x_15);
lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22;
x_18 = lean_ctor_get(x_1, 0);
x_19 = lean_ctor_get(x_1, 1);
lean_inc(x_19);
lean_inc(x_18);
lean_dec(x_1);
x_17 = l_Std_HashMapImp_insert___at_Lean_ClassState_addEntry___spec__6(x_15, x_2, x_3);
x_18 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_18, 0, x_17);
lean_ctor_set(x_18, 1, x_16);
lean_ctor_set_uint8(x_18, sizeof(void*)*2, x_4);
return x_18;
x_20 = l_Std_HashMapImp_insert___at_Lean_ClassState_addEntry___spec__6(x_18, x_2, x_3);
x_21 = 1;
x_22 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_22, 0, x_20);
lean_ctor_set(x_22, 1, x_19);
lean_ctor_set_uint8(x_22, sizeof(void*)*2, x_21);
return x_22;
}
}
}
@ -2075,54 +2081,60 @@ uint8_t x_5;
x_5 = !lean_is_exclusive(x_1);
if (x_5 == 0)
{
lean_object* x_6; lean_object* x_7;
lean_object* x_6; lean_object* x_7; uint8_t x_8;
x_6 = lean_ctor_get(x_1, 1);
x_7 = l_Std_PersistentHashMap_insert___at_Lean_ClassState_addEntry___spec__13(x_6, x_2, x_3);
x_8 = 0;
lean_ctor_set(x_1, 1, x_7);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_8);
return x_1;
}
else
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_8 = lean_ctor_get(x_1, 0);
x_9 = lean_ctor_get(x_1, 1);
lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_1, 0);
x_10 = lean_ctor_get(x_1, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_dec(x_1);
x_10 = l_Std_PersistentHashMap_insert___at_Lean_ClassState_addEntry___spec__13(x_9, x_2, x_3);
x_11 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_11, 0, x_8);
lean_ctor_set(x_11, 1, x_10);
lean_ctor_set_uint8(x_11, sizeof(void*)*2, x_4);
return x_11;
x_11 = l_Std_PersistentHashMap_insert___at_Lean_ClassState_addEntry___spec__13(x_10, x_2, x_3);
x_12 = 0;
x_13 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_13, 0, x_9);
lean_ctor_set(x_13, 1, x_11);
lean_ctor_set_uint8(x_13, sizeof(void*)*2, x_12);
return x_13;
}
}
else
{
uint8_t x_12;
x_12 = !lean_is_exclusive(x_1);
if (x_12 == 0)
uint8_t x_14;
x_14 = !lean_is_exclusive(x_1);
if (x_14 == 0)
{
lean_object* x_13; lean_object* x_14;
x_13 = lean_ctor_get(x_1, 0);
x_14 = l_Std_HashMapImp_insert___at_Lean_ClassState_addEntry___spec__17(x_13, x_2, x_3);
lean_ctor_set(x_1, 0, x_14);
lean_object* x_15; lean_object* x_16; uint8_t x_17;
x_15 = lean_ctor_get(x_1, 0);
x_16 = l_Std_HashMapImp_insert___at_Lean_ClassState_addEntry___spec__17(x_15, x_2, x_3);
x_17 = 1;
lean_ctor_set(x_1, 0, x_16);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_17);
return x_1;
}
else
{
lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
x_15 = lean_ctor_get(x_1, 0);
x_16 = lean_ctor_get(x_1, 1);
lean_inc(x_16);
lean_inc(x_15);
lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22;
x_18 = lean_ctor_get(x_1, 0);
x_19 = lean_ctor_get(x_1, 1);
lean_inc(x_19);
lean_inc(x_18);
lean_dec(x_1);
x_17 = l_Std_HashMapImp_insert___at_Lean_ClassState_addEntry___spec__17(x_15, x_2, x_3);
x_18 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_18, 0, x_17);
lean_ctor_set(x_18, 1, x_16);
lean_ctor_set_uint8(x_18, sizeof(void*)*2, x_4);
return x_18;
x_20 = l_Std_HashMapImp_insert___at_Lean_ClassState_addEntry___spec__17(x_18, x_2, x_3);
x_21 = 1;
x_22 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_22, 0, x_20);
lean_ctor_set(x_22, 1, x_19);
lean_ctor_set_uint8(x_22, sizeof(void*)*2, x_21);
return x_22;
}
}
}

View file

@ -959,54 +959,60 @@ uint8_t x_5;
x_5 = !lean_is_exclusive(x_1);
if (x_5 == 0)
{
lean_object* x_6; lean_object* x_7;
lean_object* x_6; lean_object* x_7; uint8_t x_8;
x_6 = lean_ctor_get(x_1, 1);
x_7 = l_Std_PersistentHashMap_insert___at_Lean_initFn____x40_Lean_Compiler_ClosedTermCache___hyg_8____spec__2(x_6, x_2, x_3);
x_8 = 0;
lean_ctor_set(x_1, 1, x_7);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_8);
return x_1;
}
else
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_8 = lean_ctor_get(x_1, 0);
x_9 = lean_ctor_get(x_1, 1);
lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_1, 0);
x_10 = lean_ctor_get(x_1, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_dec(x_1);
x_10 = l_Std_PersistentHashMap_insert___at_Lean_initFn____x40_Lean_Compiler_ClosedTermCache___hyg_8____spec__2(x_9, x_2, x_3);
x_11 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_11, 0, x_8);
lean_ctor_set(x_11, 1, x_10);
lean_ctor_set_uint8(x_11, sizeof(void*)*2, x_4);
return x_11;
x_11 = l_Std_PersistentHashMap_insert___at_Lean_initFn____x40_Lean_Compiler_ClosedTermCache___hyg_8____spec__2(x_10, x_2, x_3);
x_12 = 0;
x_13 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_13, 0, x_9);
lean_ctor_set(x_13, 1, x_11);
lean_ctor_set_uint8(x_13, sizeof(void*)*2, x_12);
return x_13;
}
}
else
{
uint8_t x_12;
x_12 = !lean_is_exclusive(x_1);
if (x_12 == 0)
uint8_t x_14;
x_14 = !lean_is_exclusive(x_1);
if (x_14 == 0)
{
lean_object* x_13; lean_object* x_14;
x_13 = lean_ctor_get(x_1, 0);
x_14 = l_Std_HashMapImp_insert___at_Lean_initFn____x40_Lean_Compiler_ClosedTermCache___hyg_8____spec__6(x_13, x_2, x_3);
lean_ctor_set(x_1, 0, x_14);
lean_object* x_15; lean_object* x_16; uint8_t x_17;
x_15 = lean_ctor_get(x_1, 0);
x_16 = l_Std_HashMapImp_insert___at_Lean_initFn____x40_Lean_Compiler_ClosedTermCache___hyg_8____spec__6(x_15, x_2, x_3);
x_17 = 1;
lean_ctor_set(x_1, 0, x_16);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_17);
return x_1;
}
else
{
lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
x_15 = lean_ctor_get(x_1, 0);
x_16 = lean_ctor_get(x_1, 1);
lean_inc(x_16);
lean_inc(x_15);
lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22;
x_18 = lean_ctor_get(x_1, 0);
x_19 = lean_ctor_get(x_1, 1);
lean_inc(x_19);
lean_inc(x_18);
lean_dec(x_1);
x_17 = l_Std_HashMapImp_insert___at_Lean_initFn____x40_Lean_Compiler_ClosedTermCache___hyg_8____spec__6(x_15, x_2, x_3);
x_18 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_18, 0, x_17);
lean_ctor_set(x_18, 1, x_16);
lean_ctor_set_uint8(x_18, sizeof(void*)*2, x_4);
return x_18;
x_20 = l_Std_HashMapImp_insert___at_Lean_initFn____x40_Lean_Compiler_ClosedTermCache___hyg_8____spec__6(x_18, x_2, x_3);
x_21 = 1;
x_22 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_22, 0, x_20);
lean_ctor_set(x_22, 1, x_19);
lean_ctor_set_uint8(x_22, sizeof(void*)*2, x_21);
return x_22;
}
}
}

View file

@ -20,11 +20,13 @@ lean_object* l_Lean_isExport___boxed(lean_object*, lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81__match__1(lean_object*);
lean_object* lean_nat_div(lean_object*, lean_object*);
lean_object* l_Lean_PersistentEnvExtension_getModuleEntries___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____spec__2(lean_object*, lean_object*);
lean_object* l_Lean_ParametricAttribute_getParam___at_Lean_getExportNameFor___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____closed__5;
uint8_t l_Lean_Name_quickLt(lean_object*, lean_object*);
uint8_t lean_name_eq(lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_ExportAttr_0__Lean_isValidCppName___boxed(lean_object*);
lean_object* l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____spec__2___boxed(lean_object*, lean_object*);
extern lean_object* l_Lean_registerInternalExceptionId___closed__2;
lean_object* l_Lean_EnvExtensionInterfaceUnsafe_registerExt___rarg(lean_object*, lean_object*);
extern lean_object* l_Array_empty___closed__1;
@ -47,12 +49,10 @@ lean_object* l_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____lambda__1
lean_object* l_String_anyAux___main___at___private_Lean_Compiler_ExportAttr_0__Lean_isValidCppId___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
extern lean_object* l___private_Lean_Environment_8__persistentEnvExtensionsRef;
lean_object* l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____spec__2(lean_object*, lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81__match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* lean_string_utf8_next(lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_ExportAttr_0__Lean_isValidCppName_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fget(lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____spec__2___boxed(lean_object*, lean_object*);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* lean_st_ref_take(lean_object*, lean_object*);
lean_object* l_EStateM_bind___rarg(lean_object*, lean_object*, lean_object*);
@ -85,12 +85,12 @@ uint8_t l_UInt32_decEq(uint32_t, uint32_t);
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____spec__5(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____closed__2;
extern lean_object* l_Lean_registerParametricAttribute___rarg___closed__3;
lean_object* l_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____closed__1;
lean_object* l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____spec__1___lambda__1(lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_throwError___at_Lean_addAttribute___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -414,7 +414,7 @@ x_2 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Compiler_ExportAttr__
return x_2;
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____spec__2(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____spec__2(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@ -428,7 +428,7 @@ x_3 = lean_ctor_get(x_2, 0);
x_4 = lean_ctor_get(x_2, 1);
x_5 = lean_ctor_get(x_2, 2);
x_6 = lean_ctor_get(x_2, 3);
x_7 = l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____spec__2(x_1, x_3);
x_7 = l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____spec__2(x_1, x_3);
lean_inc(x_5);
lean_inc(x_4);
x_8 = lean_alloc_ctor(0, 2, 0);
@ -971,7 +971,7 @@ _start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_2 = l_Array_empty___closed__1;
x_3 = l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____spec__2(x_2, x_1);
x_3 = l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____spec__2(x_2, x_1);
x_4 = lean_array_get_size(x_3);
x_5 = lean_unsigned_to_nat(1u);
x_6 = lean_nat_sub(x_4, x_5);
@ -1274,11 +1274,11 @@ x_7 = l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_E
return x_7;
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____spec__2___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____spec__2___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____spec__2(x_1, x_2);
x_3 = l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Compiler_ExportAttr___hyg_81____spec__2(x_1, x_2);
lean_dec(x_2);
return x_3;
}
@ -1451,7 +1451,7 @@ if (lean_obj_tag(x_4) == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_5 = lean_ctor_get(x_1, 1);
x_6 = l_Lean_PersistentEnvExtension_getState___rarg(x_5, x_2);
x_7 = l_Std_RBNode_find___main___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(x_6, x_3);
x_7 = l_Std_RBNode_find___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(x_6, x_3);
lean_dec(x_3);
lean_dec(x_6);
return x_7;

View file

@ -16,6 +16,7 @@ extern "C" {
lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternEntries_match__5(lean_object*);
uint8_t l_Array_anyRangeMAux___main___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_string_push(lean_object*, uint32_t);
lean_object* l_Std_RBNode_find___at_Lean_getExternAttrData___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_Syntax_isNatLitAux(lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternEntries_match__4(lean_object*);
lean_object* l_Lean_getExternEntryForAux(lean_object*, lean_object*);
@ -80,7 +81,6 @@ lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* l_Lean_expandExternPatternAux_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l___private_Lean_Environment_8__persistentEnvExtensionsRef;
lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternAttrData___closed__10;
lean_object* l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__5(lean_object*, lean_object*);
uint8_t l_Lean_Environment_isConstructor(lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternEntries_match__5___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -151,7 +151,6 @@ lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternEntries_
lean_object* l_Lean_getConstInfo___at_Lean_getExternConstArity___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ConstantInfo_type(lean_object*);
uint8_t l_String_Iterator_hasNext(lean_object*);
lean_object* l_Std_RBNode_find___main___at_Lean_getExternAttrData___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_ofExcept___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwError___at_Lean_getExternConstArity___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -169,7 +168,6 @@ extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed_
lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternAttrData_match__2(lean_object*);
lean_object* l_Lean_getExternNameFor_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_getExternEntryForAux_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at_Lean_getExternAttrData___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Lean_addMessageContextPartial___at_Lean_Core_Lean_AddMessageContext___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternAttrData_match__4___rarg(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
@ -199,6 +197,7 @@ lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternAttrData
lean_object* l_Lean_isExternC_match__1(lean_object*);
lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternAttrData___closed__2;
lean_object* l_Lean_getExternConstArity_match__3___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_getExternAttrData___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Lean_PersistentEnvExtension_getState___rarg(lean_object*, lean_object*);
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
lean_object* lean_string_length(lean_object*);
@ -230,10 +229,11 @@ lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternAttrData
lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternAttrData___closed__6;
lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternEntries___closed__5;
lean_object* l_List_foldl___main___at_Lean_mkSimpleFnCall___spec__1(lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__5___boxed(lean_object*, lean_object*);
lean_object* l_Lean_ParametricAttribute_getParam___at_Lean_getExternAttrData___spec__1(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_NameGenerator_Inhabited___closed__3;
lean_object* l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__5(lean_object*, lean_object*);
uint8_t lean_string_dec_eq(lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__5___boxed(lean_object*, lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
lean_object* l_Lean_getExternConstArity(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* _init_l_Lean_ExternAttrData_arity_x3f___default() {
@ -1316,7 +1316,7 @@ return x_26;
}
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__5(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__5(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@ -1330,7 +1330,7 @@ x_3 = lean_ctor_get(x_2, 0);
x_4 = lean_ctor_get(x_2, 1);
x_5 = lean_ctor_get(x_2, 2);
x_6 = lean_ctor_get(x_2, 3);
x_7 = l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__5(x_1, x_3);
x_7 = l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__5(x_1, x_3);
lean_inc(x_5);
lean_inc(x_4);
x_8 = lean_alloc_ctor(0, 2, 0);
@ -1874,7 +1874,7 @@ _start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_2 = l_Array_empty___closed__1;
x_3 = l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__5(x_2, x_1);
x_3 = l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__5(x_2, x_1);
x_4 = lean_array_get_size(x_3);
x_5 = lean_unsigned_to_nat(1u);
x_6 = lean_nat_sub(x_4, x_5);
@ -2349,11 +2349,11 @@ lean_dec(x_2);
return x_6;
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__5___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__5___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__5(x_1, x_2);
x_3 = l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__5(x_1, x_2);
lean_dec(x_2);
return x_3;
}
@ -2434,7 +2434,7 @@ lean_dec(x_2);
return x_7;
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_getExternAttrData___spec__2(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at_Lean_getExternAttrData___spec__2(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -2568,7 +2568,7 @@ if (lean_obj_tag(x_4) == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_5 = lean_ctor_get(x_1, 1);
x_6 = l_Lean_PersistentEnvExtension_getState___rarg(x_5, x_2);
x_7 = l_Std_RBNode_find___main___at_Lean_getExternAttrData___spec__2(x_6, x_3);
x_7 = l_Std_RBNode_find___at_Lean_getExternAttrData___spec__2(x_6, x_3);
lean_dec(x_3);
lean_dec(x_6);
return x_7;
@ -2641,11 +2641,11 @@ lean_dec(x_1);
return x_4;
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_getExternAttrData___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at_Lean_getExternAttrData___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_find___main___at_Lean_getExternAttrData___spec__2(x_1, x_2);
x_3 = l_Std_RBNode_find___at_Lean_getExternAttrData___spec__2(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;

File diff suppressed because it is too large Load diff

View file

@ -15,6 +15,7 @@ extern "C" {
#endif
extern lean_object* l_Lean_IR_Lean_Compiler_IR_Basic___instance__11;
lean_object* l_Std_AssocList_replace___at_Lean_IR_Borrow_OwnedSet_insert___spec__6(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l_Array_iterateMAux___main___at_Lean_IR_Borrow_updateParamSet___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_IR_Borrow_OwnedSet_beq(lean_object*, lean_object*);
lean_object* l_Lean_IR_Borrow_ownArg_match__1(lean_object*);
@ -48,6 +49,7 @@ lean_object* l_Lean_IR_Borrow_OwnedSet_Lean_Compiler_IR_Borrow___instance__1___c
lean_object* l_Lean_IR_Borrow_preserveTailCall_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_Borrow_InitParamMap_visitDecls(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_Borrow_OwnedSet_contains___boxed(lean_object*, lean_object*);
lean_object* l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_insert___at_Lean_IR_Borrow_OwnedSet_insert___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_Borrow_getParamInfo_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_AssocList_foldlM___at_Lean_IR_Borrow_OwnedSet_insert___spec__5(lean_object*, lean_object*);
@ -184,7 +186,6 @@ lean_object* l_Array_forMAux___main___at_Lean_IR_Borrow_ownArgs___spec__1___boxe
lean_object* l_Lean_IR_inferBorrow(lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_mul(lean_object*, lean_object*);
lean_object* l_Lean_IR_Borrow_isOwned___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
lean_object* l_Lean_IR_Borrow_updateParamMap_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_Borrow_ApplyParamMap_visitDecls_match__1(lean_object*);
lean_object* l_Lean_IR_Borrow_ApplyParamMap_visitFnBody_match__2___rarg(lean_object*, lean_object*);
@ -193,7 +194,6 @@ lean_object* l_Lean_IR_Borrow_ownArgsIfParam(lean_object*, lean_object*, lean_ob
lean_object* l_Lean_IR_Borrow_ownArgsUsingParams(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_Borrow_ownArgsIfParam___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_IR_Decl_Lean_Compiler_IR_Basic___instance__12;
lean_object* l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_IR_Borrow_updateParamMap___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_Borrow_InitParamMap_visitFnBody(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_Borrow_InitParamMap_initBorrowIfNotExported___boxed(lean_object*, lean_object*);
@ -2307,7 +2307,7 @@ x_1 = l_Lean_IR_Borrow_ApplyParamMap_visitFnBody___closed__1;
x_2 = l_Lean_IR_Borrow_ApplyParamMap_visitFnBody___closed__2;
x_3 = lean_unsigned_to_nat(119u);
x_4 = lean_unsigned_to_nat(15u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -2591,7 +2591,7 @@ x_1 = l_Lean_IR_Borrow_ApplyParamMap_visitFnBody___closed__1;
x_2 = l_Array_umapMAux___main___at_Lean_IR_Borrow_ApplyParamMap_visitDecls___spec__1___closed__1;
x_3 = lean_unsigned_to_nat(135u);
x_4 = lean_unsigned_to_nat(17u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -3714,7 +3714,7 @@ x_1 = l_Lean_IR_Borrow_ApplyParamMap_visitFnBody___closed__1;
x_2 = l_Lean_IR_Borrow_getParamInfo___closed__3;
x_3 = lean_unsigned_to_nat(210u);
x_4 = lean_unsigned_to_nat(19u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -3727,7 +3727,7 @@ x_1 = l_Lean_IR_Borrow_ApplyParamMap_visitFnBody___closed__1;
x_2 = l_Lean_IR_Borrow_getParamInfo___closed__3;
x_3 = lean_unsigned_to_nat(211u);
x_4 = lean_unsigned_to_nat(9u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -4088,7 +4088,7 @@ x_11 = lean_ctor_get(x_10, 0);
lean_inc(x_11);
lean_dec(x_10);
x_12 = lean_ctor_get(x_1, 2);
x_13 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_12, x_11);
x_13 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_12, x_11);
if (lean_obj_tag(x_13) == 0)
{
lean_object* x_14; lean_object* x_15;

View file

@ -67,6 +67,7 @@ uint8_t l_Lean_IR_CtorInfo_isRef(lean_object*);
lean_object* l_Lean_IR_LocalContext_addJP(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_Checker_checkObjVar___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_Checker_checkObjType(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_findCore___at_Lean_IR_Checker_markIndex___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_IR_Checker_getDecl___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_Checker_checkPartialApp(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_Checker_checkExpr_match__2(lean_object*);
@ -83,7 +84,6 @@ lean_object* l_Lean_IR_Checker_checkScalarType(lean_object*, lean_object*, lean_
lean_object* l_Lean_IR_Checker_checkEqTypes___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_Checker_checkObjType___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_Checker_checkEqTypes___closed__2;
lean_object* l_Std_RBNode_findCore___main___at_Lean_IR_Checker_markIndex___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_IR_Checker_checkPartialApp___closed__3;
lean_object* l_Lean_IR_checkDecls(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forMAux___main___at_Lean_IR_checkDecls___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -126,10 +126,10 @@ lean_object* l_Lean_IR_LocalContext_addLocal(lean_object*, lean_object*, lean_ob
lean_object* l_Array_forMAux___main___at_Lean_IR_Checker_checkArgs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_Checker_checkFullApp___closed__1;
lean_object* l_Lean_IR_Checker_checkFnBody_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_findCore___main___at_Lean_IR_Checker_markIndex___spec__1(lean_object*, lean_object*);
extern lean_object* l_Lean_IR_VarId_Lean_Compiler_IR_Basic___instance__2___closed__1;
lean_object* l_Lean_IR_Checker_getDecl_match__1(lean_object*);
lean_object* l_Lean_IR_checkDecl_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_findCore___at_Lean_IR_Checker_markIndex___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_IR_Checker_checkArgs(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_Checker_checkVar(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forMAux___main___at_Lean_IR_Checker_checkFnBody___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
@ -176,7 +176,7 @@ x_1 = lean_box(0);
return x_1;
}
}
lean_object* l_Std_RBNode_findCore___main___at_Lean_IR_Checker_markIndex___spec__1(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_findCore___at_Lean_IR_Checker_markIndex___spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -256,7 +256,7 @@ lean_object* l_Lean_IR_Checker_markIndex(lean_object* x_1, lean_object* x_2, lea
_start:
{
lean_object* x_4;
x_4 = l_Std_RBNode_findCore___main___at_Lean_IR_Checker_markIndex___spec__1(x_3, x_1);
x_4 = l_Std_RBNode_findCore___at_Lean_IR_Checker_markIndex___spec__1(x_3, x_1);
if (lean_obj_tag(x_4) == 0)
{
lean_object* x_5; lean_object* x_6;
@ -283,11 +283,11 @@ return x_13;
}
}
}
lean_object* l_Std_RBNode_findCore___main___at_Lean_IR_Checker_markIndex___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_findCore___at_Lean_IR_Checker_markIndex___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_findCore___main___at_Lean_IR_Checker_markIndex___spec__1(x_1, x_2);
x_3 = l_Std_RBNode_findCore___at_Lean_IR_Checker_markIndex___spec__1(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;

View file

@ -43,7 +43,6 @@ extern lean_object* l_Array_empty___closed__1;
lean_object* l_Array_iterateMAux___main___at___private_Lean_Compiler_IR_CompilerM_0__Lean_IR_mkEntryArray___spec__10(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_findDecl_x27___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_get(lean_object*, lean_object*);
lean_object* l_Lean_KVMap_findCore___main(lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_IR_initFn____x40_Lean_Compiler_IR_CompilerM___hyg_335____spec__5(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_initFn____x40_Lean_Compiler_IR_CompilerM___hyg_335_(lean_object*);
lean_object* l_Lean_IR_log___boxed(lean_object*, lean_object*, lean_object*);
@ -191,6 +190,7 @@ lean_object* l_Lean_IR_getDecl_match__1(lean_object*);
lean_object* l___private_Lean_Compiler_IR_CompilerM_0__Lean_IR_logDeclsAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_addDecl(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_LogEntry_Lean_Compiler_IR_CompilerM___instance__1;
lean_object* l_Lean_KVMap_findCore(lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at_Lean_IR_initFn____x40_Lean_Compiler_IR_CompilerM___hyg_335____spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_Log_format___boxed(lean_object*);
lean_object* l___private_Lean_Compiler_IR_CompilerM_0__Lean_IR_isLogEnabledFor_match__1(lean_object*);
@ -622,7 +622,7 @@ uint8_t l___private_Lean_Compiler_IR_CompilerM_0__Lean_IR_isLogEnabledFor(lean_o
_start:
{
lean_object* x_3;
x_3 = l_Lean_KVMap_findCore___main(x_1, x_2);
x_3 = l_Lean_KVMap_findCore(x_1, x_2);
if (lean_obj_tag(x_3) == 0)
{
lean_object* x_4; uint8_t x_5; uint8_t x_6;
@ -1798,54 +1798,60 @@ uint8_t x_5;
x_5 = !lean_is_exclusive(x_1);
if (x_5 == 0)
{
lean_object* x_6; lean_object* x_7;
lean_object* x_6; lean_object* x_7; uint8_t x_8;
x_6 = lean_ctor_get(x_1, 1);
x_7 = l_Std_PersistentHashMap_insert___at_Lean_IR_initFn____x40_Lean_Compiler_IR_CompilerM___hyg_335____spec__2(x_6, x_2, x_3);
x_8 = 0;
lean_ctor_set(x_1, 1, x_7);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_8);
return x_1;
}
else
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_8 = lean_ctor_get(x_1, 0);
x_9 = lean_ctor_get(x_1, 1);
lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_1, 0);
x_10 = lean_ctor_get(x_1, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_dec(x_1);
x_10 = l_Std_PersistentHashMap_insert___at_Lean_IR_initFn____x40_Lean_Compiler_IR_CompilerM___hyg_335____spec__2(x_9, x_2, x_3);
x_11 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_11, 0, x_8);
lean_ctor_set(x_11, 1, x_10);
lean_ctor_set_uint8(x_11, sizeof(void*)*2, x_4);
return x_11;
x_11 = l_Std_PersistentHashMap_insert___at_Lean_IR_initFn____x40_Lean_Compiler_IR_CompilerM___hyg_335____spec__2(x_10, x_2, x_3);
x_12 = 0;
x_13 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_13, 0, x_9);
lean_ctor_set(x_13, 1, x_11);
lean_ctor_set_uint8(x_13, sizeof(void*)*2, x_12);
return x_13;
}
}
else
{
uint8_t x_12;
x_12 = !lean_is_exclusive(x_1);
if (x_12 == 0)
uint8_t x_14;
x_14 = !lean_is_exclusive(x_1);
if (x_14 == 0)
{
lean_object* x_13; lean_object* x_14;
x_13 = lean_ctor_get(x_1, 0);
x_14 = l_Std_HashMapImp_insert___at___private_Lean_Compiler_IR_CompilerM_0__Lean_IR_mkEntryArray___spec__2(x_13, x_2, x_3);
lean_ctor_set(x_1, 0, x_14);
lean_object* x_15; lean_object* x_16; uint8_t x_17;
x_15 = lean_ctor_get(x_1, 0);
x_16 = l_Std_HashMapImp_insert___at___private_Lean_Compiler_IR_CompilerM_0__Lean_IR_mkEntryArray___spec__2(x_15, x_2, x_3);
x_17 = 1;
lean_ctor_set(x_1, 0, x_16);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_17);
return x_1;
}
else
{
lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
x_15 = lean_ctor_get(x_1, 0);
x_16 = lean_ctor_get(x_1, 1);
lean_inc(x_16);
lean_inc(x_15);
lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22;
x_18 = lean_ctor_get(x_1, 0);
x_19 = lean_ctor_get(x_1, 1);
lean_inc(x_19);
lean_inc(x_18);
lean_dec(x_1);
x_17 = l_Std_HashMapImp_insert___at___private_Lean_Compiler_IR_CompilerM_0__Lean_IR_mkEntryArray___spec__2(x_15, x_2, x_3);
x_18 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_18, 0, x_17);
lean_ctor_set(x_18, 1, x_16);
lean_ctor_set_uint8(x_18, sizeof(void*)*2, x_4);
return x_18;
x_20 = l_Std_HashMapImp_insert___at___private_Lean_Compiler_IR_CompilerM_0__Lean_IR_mkEntryArray___spec__2(x_18, x_2, x_3);
x_21 = 1;
x_22 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_22, 0, x_20);
lean_ctor_set(x_22, 1, x_19);
lean_ctor_set_uint8(x_22, sizeof(void*)*2, x_21);
return x_22;
}
}
}

View file

@ -14,8 +14,8 @@
extern "C" {
#endif
lean_object* l_Lean_IR_CtorFieldInfo_format___closed__7;
lean_object* l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(lean_object*);
lean_object* l_Lean_IR_CtorFieldInfo_Lean_Compiler_IR_CtorLayout___instance__1;
lean_object* l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(lean_object*);
lean_object* l_Lean_IR_CtorFieldInfo_format_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_CtorFieldInfo_format___closed__6;
lean_object* l_Lean_fmt___at_Lean_IR_CtorFieldInfo_format___spec__1(lean_object*);
@ -196,7 +196,7 @@ lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_obj
x_3 = lean_ctor_get(x_1, 0);
lean_inc(x_3);
lean_dec(x_1);
x_4 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_3);
x_4 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_3);
x_5 = l_Lean_IR_CtorFieldInfo_format___closed__2;
x_6 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_6, 0, x_5);
@ -213,7 +213,7 @@ lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_
x_9 = lean_ctor_get(x_1, 0);
lean_inc(x_9);
lean_dec(x_1);
x_10 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_9);
x_10 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_9);
x_11 = l_Lean_IR_CtorFieldInfo_format___closed__4;
x_12 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_12, 0, x_11);
@ -234,7 +234,7 @@ lean_inc(x_16);
x_17 = lean_ctor_get(x_1, 2);
lean_inc(x_17);
lean_dec(x_1);
x_18 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_15);
x_18 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_15);
x_19 = l_Lean_IR_CtorFieldInfo_format___closed__6;
x_20 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_20, 0, x_19);
@ -243,7 +243,7 @@ x_21 = l_Lean_IR_CtorFieldInfo_format___closed__8;
x_22 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_22, 0, x_20);
lean_ctor_set(x_22, 1, x_21);
x_23 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_16);
x_23 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_16);
x_24 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_24, 0, x_22);
lean_ctor_set(x_24, 1, x_23);

View file

@ -3686,54 +3686,60 @@ uint8_t x_5;
x_5 = !lean_is_exclusive(x_1);
if (x_5 == 0)
{
lean_object* x_6; lean_object* x_7;
lean_object* x_6; lean_object* x_7; uint8_t x_8;
x_6 = lean_ctor_get(x_1, 1);
x_7 = l_Std_PersistentHashMap_insert___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__2(x_6, x_2, x_3);
x_8 = 0;
lean_ctor_set(x_1, 1, x_7);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_8);
return x_1;
}
else
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_8 = lean_ctor_get(x_1, 0);
x_9 = lean_ctor_get(x_1, 1);
lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_1, 0);
x_10 = lean_ctor_get(x_1, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_dec(x_1);
x_10 = l_Std_PersistentHashMap_insert___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__2(x_9, x_2, x_3);
x_11 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_11, 0, x_8);
lean_ctor_set(x_11, 1, x_10);
lean_ctor_set_uint8(x_11, sizeof(void*)*2, x_4);
return x_11;
x_11 = l_Std_PersistentHashMap_insert___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__2(x_10, x_2, x_3);
x_12 = 0;
x_13 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_13, 0, x_9);
lean_ctor_set(x_13, 1, x_11);
lean_ctor_set_uint8(x_13, sizeof(void*)*2, x_12);
return x_13;
}
}
else
{
uint8_t x_12;
x_12 = !lean_is_exclusive(x_1);
if (x_12 == 0)
uint8_t x_14;
x_14 = !lean_is_exclusive(x_1);
if (x_14 == 0)
{
lean_object* x_13; lean_object* x_14;
x_13 = lean_ctor_get(x_1, 0);
x_14 = l_Std_HashMapImp_insert___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__6(x_13, x_2, x_3);
lean_ctor_set(x_1, 0, x_14);
lean_object* x_15; lean_object* x_16; uint8_t x_17;
x_15 = lean_ctor_get(x_1, 0);
x_16 = l_Std_HashMapImp_insert___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__6(x_15, x_2, x_3);
x_17 = 1;
lean_ctor_set(x_1, 0, x_16);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_17);
return x_1;
}
else
{
lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
x_15 = lean_ctor_get(x_1, 0);
x_16 = lean_ctor_get(x_1, 1);
lean_inc(x_16);
lean_inc(x_15);
lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22;
x_18 = lean_ctor_get(x_1, 0);
x_19 = lean_ctor_get(x_1, 1);
lean_inc(x_19);
lean_inc(x_18);
lean_dec(x_1);
x_17 = l_Std_HashMapImp_insert___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__6(x_15, x_2, x_3);
x_18 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_18, 0, x_17);
lean_ctor_set(x_18, 1, x_16);
lean_ctor_set_uint8(x_18, sizeof(void*)*2, x_4);
return x_18;
x_20 = l_Std_HashMapImp_insert___at_Lean_IR_UnreachableBranches_mkFunctionSummariesExtension___spec__6(x_18, x_2, x_3);
x_21 = 1;
x_22 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_22, 0, x_20);
lean_ctor_set(x_22, 1, x_19);
lean_ctor_set_uint8(x_22, sizeof(void*)*2, x_21);
return x_22;
}
}
}

View file

@ -16,6 +16,7 @@ extern "C" {
extern lean_object* l_Lean_IR_Lean_Compiler_IR_Basic___instance__11;
lean_object* l_Lean_IR_FnBody_elimDead(lean_object*);
lean_object* l_Lean_IR_FnBody_elimDead_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_IR_reshapeWithoutDeadAux_match__2(lean_object*);
lean_object* lean_array_get_size(lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
@ -27,7 +28,6 @@ lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_FnBody_freeIndices(lean_object*);
lean_object* l_Lean_IR_FnBody_elimDead_match__2(lean_object*);
lean_object* l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(lean_object*, lean_object*);
uint8_t l_Array_isEmpty___rarg(lean_object*);
lean_object* l_Lean_IR_reshapeWithoutDeadAux_match__1(lean_object*);
lean_object* l_Lean_IR_reshapeWithoutDeadAux(lean_object*, lean_object*, lean_object*);
@ -152,7 +152,7 @@ case 0:
lean_object* x_7; lean_object* x_8;
x_7 = lean_ctor_get(x_5, 0);
lean_inc(x_7);
x_8 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_3, x_7);
x_8 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_3, x_7);
lean_dec(x_7);
if (lean_obj_tag(x_8) == 0)
{
@ -178,7 +178,7 @@ case 1:
lean_object* x_13; lean_object* x_14;
x_13 = lean_ctor_get(x_5, 0);
lean_inc(x_13);
x_14 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_3, x_13);
x_14 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_3, x_13);
lean_dec(x_13);
if (lean_obj_tag(x_14) == 0)
{

View file

@ -33,7 +33,7 @@ lean_object* l_Array_forMAux___main___at_Lean_IR_CollectUsedDecls_collectFnBody_
lean_object* l_Lean_IR_CollectUsedDecls_collectInitDecl_match__1(lean_object*);
lean_object* l_List_foldr___main___at_Lean_IR_usesModuleFrom___spec__3___boxed(lean_object*, lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
lean_object* l_Std_RBNode_revFold___main___at_Lean_IR_usesModuleFrom___spec__2(lean_object*, lean_object*);
uint8_t l_Lean_Name_isPrefixOf(lean_object*, lean_object*);
lean_object* l_Lean_IR_CollectUsedDecls_collectFnBody(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_CollectUsedDecls_collectInitDecl_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_AssocList_foldlM___at_Lean_IR_CollectMaps_collectVar___spec__5(lean_object*, lean_object*);
@ -51,12 +51,10 @@ uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_IR_CollectMaps_collectFnBody_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_CollectMaps_collectVar_match__1(lean_object*);
lean_object* l_Std_mkHashMap___at_Lean_IR_mkVarJPMaps___spec__2(lean_object*);
lean_object* l_Std_RBNode_revFold___main___at_Lean_IR_usesModuleFrom___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_IR_CollectMaps_collectFnBody___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_mkHashMapImp___rarg(lean_object*);
uint8_t l_Lean_IR_FnBody_isTerminal(lean_object*);
uint8_t l_Lean_Name_isPrefixOf___main(lean_object*, lean_object*);
lean_object* l_Std_AssocList_replace___at_Lean_IR_CollectMaps_collectJP___spec__6(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_insert___at_Lean_IR_CollectMaps_collectJP___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_expand___at_Lean_IR_CollectMaps_collectVar___spec__3(lean_object*, lean_object*);
@ -64,7 +62,9 @@ lean_object* l_Lean_IR_CollectUsedDecls_collect(lean_object*, lean_object*, lean
size_t lean_usize_modn(size_t, lean_object*);
size_t lean_usize_of_nat(lean_object*);
uint8_t l_List_foldr___main___at_Lean_IR_usesModuleFrom___spec__3(lean_object*, uint8_t, lean_object*);
lean_object* l_Std_RBNode_revFold___at_Lean_IR_usesModuleFrom___spec__2(lean_object*, lean_object*);
uint8_t l_Std_AssocList_contains___at_Lean_IR_CollectMaps_collectVar___spec__2(lean_object*, lean_object*);
lean_object* l_Std_RBNode_revFold___at_Lean_IR_usesModuleFrom___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Lean_IR_CollectMaps_collectJP(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_CollectMaps_collectVar_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Std_RBTree_toList___at_Lean_IR_usesModuleFrom___spec__1(lean_object*);
@ -261,7 +261,7 @@ x_4 = lean_box(x_3);
return x_4;
}
}
lean_object* l_Std_RBNode_revFold___main___at_Lean_IR_usesModuleFrom___spec__2(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_revFold___at_Lean_IR_usesModuleFrom___spec__2(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@ -274,7 +274,7 @@ lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_obj
x_3 = lean_ctor_get(x_2, 0);
x_4 = lean_ctor_get(x_2, 1);
x_5 = lean_ctor_get(x_2, 3);
x_6 = l_Std_RBNode_revFold___main___at_Lean_IR_usesModuleFrom___spec__2(x_1, x_5);
x_6 = l_Std_RBNode_revFold___at_Lean_IR_usesModuleFrom___spec__2(x_1, x_5);
lean_inc(x_4);
x_7 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_7, 0, x_4);
@ -290,7 +290,7 @@ _start:
{
lean_object* x_2; lean_object* x_3;
x_2 = lean_box(0);
x_3 = l_Std_RBNode_revFold___main___at_Lean_IR_usesModuleFrom___spec__2(x_2, x_1);
x_3 = l_Std_RBNode_revFold___at_Lean_IR_usesModuleFrom___spec__2(x_2, x_1);
return x_3;
}
}
@ -307,7 +307,7 @@ lean_object* x_4; lean_object* x_5; uint8_t x_6; uint8_t x_7;
x_4 = lean_ctor_get(x_3, 0);
x_5 = lean_ctor_get(x_3, 1);
x_6 = l_List_foldr___main___at_Lean_IR_usesModuleFrom___spec__3(x_1, x_2, x_5);
x_7 = l_Lean_Name_isPrefixOf___main(x_1, x_4);
x_7 = l_Lean_Name_isPrefixOf(x_1, x_4);
if (x_7 == 0)
{
return x_6;
@ -334,11 +334,11 @@ lean_dec(x_4);
return x_6;
}
}
lean_object* l_Std_RBNode_revFold___main___at_Lean_IR_usesModuleFrom___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_revFold___at_Lean_IR_usesModuleFrom___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_revFold___main___at_Lean_IR_usesModuleFrom___spec__2(x_1, x_2);
x_3 = l_Std_RBNode_revFold___at_Lean_IR_usesModuleFrom___spec__2(x_1, x_2);
lean_dec(x_2);
return x_3;
}

View file

@ -14,7 +14,6 @@
extern "C" {
#endif
lean_object* l_Lean_IR_litValHasFormat___closed__1;
lean_object* l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(lean_object*);
lean_object* l_Lean_IR_typeHasToString;
lean_object* l_Lean_IR_formatFnBodyHead___closed__15;
lean_object* l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatCtorInfo___closed__1;
@ -58,6 +57,7 @@ lean_object* l_Lean_IR_formatAlt___closed__4;
lean_object* l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatIRType___closed__22;
lean_object* lean_array_get_size(lean_object*);
lean_object* lean_string_append(lean_object*, lean_object*);
lean_object* l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(lean_object*);
lean_object* l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatExpr___closed__25;
extern lean_object* l_Lean_formatKVMap___closed__1;
lean_object* l_Lean_IR_formatArray___at_Lean_IR_formatParams___spec__1(lean_object*);
@ -593,7 +593,7 @@ lean_inc(x_4);
x_5 = lean_ctor_get(x_1, 4);
lean_inc(x_5);
lean_dec(x_1);
x_6 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_3);
x_6 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_3);
x_7 = l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatCtorInfo___closed__2;
x_8 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_8, 0, x_7);
@ -627,14 +627,14 @@ x_17 = l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatCtorInfo___closed__3
x_18 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_18, 0, x_16);
lean_ctor_set(x_18, 1, x_17);
x_19 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_4);
x_19 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_4);
x_20 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_20, 0, x_18);
lean_ctor_set(x_20, 1, x_19);
x_21 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_21, 0, x_20);
lean_ctor_set(x_21, 1, x_17);
x_22 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_5);
x_22 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_5);
x_23 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_23, 0, x_21);
lean_ctor_set(x_23, 1, x_22);
@ -656,14 +656,14 @@ x_28 = l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatCtorInfo___closed__3
x_29 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_29, 0, x_27);
lean_ctor_set(x_29, 1, x_28);
x_30 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_4);
x_30 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_4);
x_31 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_31, 0, x_29);
lean_ctor_set(x_31, 1, x_30);
x_32 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_32, 0, x_31);
lean_ctor_set(x_32, 1, x_28);
x_33 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_5);
x_33 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_5);
x_34 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_34, 0, x_32);
lean_ctor_set(x_34, 1, x_33);

View file

@ -26,6 +26,7 @@ lean_object* l___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_withPa
lean_object* l_Array_iterateMAux___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectArgs___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_IR_FreeIndices_insertParams___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectAlts___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_MaxIndex_collectJP(lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectArray___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectArg(lean_object*, lean_object*, lean_object*);
@ -90,7 +91,6 @@ lean_object* l_Array_iterateMAux___main___at___private_Lean_Compiler_IR_FreeVars
lean_object* l___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_skip___boxed(lean_object*);
lean_object* l___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_MaxIndex_collectAlts___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_FreeIndices_collectFnBody(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_skip(lean_object*);
lean_object* l___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_MaxIndex_collectArray___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_MaxIndex_collectParams___spec__1___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_MaxIndex_collectParam___boxed(lean_object*, lean_object*);
@ -107,6 +107,7 @@ lean_object* l_Lean_IR_HasIndex_visitArg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_IR_FreeIndices_insertParams(lean_object*, lean_object*);
lean_object* l_Lean_IR_MaxIndex_Lean_Compiler_IR_FreeVars___instance__1;
lean_object* l_Array_anyRangeMAux___main___at_Lean_IR_HasIndex_visitArgs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_IR_HasIndex_visitArgs___boxed(lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_MaxIndex_collectParams___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_withJP(lean_object*, lean_object*, lean_object*, lean_object*);
@ -116,7 +117,6 @@ lean_object* l_Lean_IR_FreeIndices_collectFnBody___closed__1;
lean_object* l___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectArray___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectArgs___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectExpr_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1___boxed(lean_object*, lean_object*);
uint8_t l_Lean_IR_HasIndex_visitArg(lean_object*, lean_object*);
uint8_t l_Lean_IR_HasIndex_visitArgs(lean_object*, lean_object*);
lean_object* l_Lean_IR_HasIndex_visitExpr_match__1(lean_object*);
@ -2018,7 +2018,7 @@ lean_dec(x_1);
return x_2;
}
}
lean_object* l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -2069,7 +2069,7 @@ lean_object* l___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collec
_start:
{
lean_object* x_4;
x_4 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_1);
x_4 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_1);
if (lean_obj_tag(x_4) == 0)
{
lean_object* x_5; lean_object* x_6;
@ -2085,11 +2085,11 @@ return x_3;
}
}
}
lean_object* l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_1, x_2);
x_3 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;
@ -2108,7 +2108,7 @@ lean_object* l___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collec
_start:
{
lean_object* x_4;
x_4 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_1);
x_4 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_1);
if (lean_obj_tag(x_4) == 0)
{
lean_object* x_5; lean_object* x_6;
@ -2137,7 +2137,7 @@ lean_object* l___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collec
_start:
{
lean_object* x_4;
x_4 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_1);
x_4 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_1);
if (lean_obj_tag(x_4) == 0)
{
lean_object* x_5; lean_object* x_6;
@ -2334,7 +2334,7 @@ lean_object* x_4; lean_object* x_5;
x_4 = lean_ctor_get(x_1, 0);
lean_inc(x_4);
lean_dec(x_1);
x_5 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_4);
x_5 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_4);
if (lean_obj_tag(x_5) == 0)
{
lean_object* x_6; lean_object* x_7;
@ -2849,7 +2849,7 @@ lean_inc(x_7);
x_8 = lean_ctor_get(x_1, 2);
lean_inc(x_8);
lean_dec(x_1);
x_9 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_7);
x_9 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_7);
if (lean_obj_tag(x_9) == 0)
{
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
@ -2877,7 +2877,7 @@ lean_object* x_16; lean_object* x_17;
x_16 = lean_ctor_get(x_1, 2);
lean_inc(x_16);
lean_dec(x_1);
x_17 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_16);
x_17 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_16);
if (lean_obj_tag(x_17) == 0)
{
lean_object* x_18; lean_object* x_19;
@ -2922,7 +2922,7 @@ lean_inc(x_26);
x_27 = lean_ctor_get(x_1, 1);
lean_inc(x_27);
lean_dec(x_1);
x_28 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_26);
x_28 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_26);
if (lean_obj_tag(x_28) == 0)
{
lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
@ -2950,7 +2950,7 @@ lean_object* x_35; lean_object* x_36;
x_35 = lean_ctor_get(x_1, 0);
lean_inc(x_35);
lean_dec(x_1);
x_36 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_35);
x_36 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_35);
if (lean_obj_tag(x_36) == 0)
{
lean_object* x_37; lean_object* x_38;
@ -2976,7 +2976,7 @@ lean_object* x_39; lean_object* x_40;
x_39 = lean_ctor_get(x_1, 0);
lean_inc(x_39);
lean_dec(x_1);
x_40 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_39);
x_40 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_39);
if (lean_obj_tag(x_40) == 0)
{
lean_object* x_41; lean_object* x_42;
@ -2997,7 +2997,7 @@ lean_object* x_43; lean_object* x_44;
x_43 = lean_ctor_get(x_1, 0);
lean_inc(x_43);
lean_dec(x_1);
x_44 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_43);
x_44 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_43);
if (lean_obj_tag(x_44) == 0)
{
lean_object* x_45; lean_object* x_46;
@ -3018,7 +3018,7 @@ lean_object* x_47; lean_object* x_48;
x_47 = lean_ctor_get(x_1, 1);
lean_inc(x_47);
lean_dec(x_1);
x_48 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_47);
x_48 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_47);
if (lean_obj_tag(x_48) == 0)
{
lean_object* x_49; lean_object* x_50;
@ -3574,7 +3574,7 @@ lean_inc(x_22);
x_23 = lean_ctor_get(x_1, 3);
lean_inc(x_23);
lean_dec(x_1);
x_24 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_21);
x_24 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_21);
if (lean_obj_tag(x_24) == 0)
{
lean_object* x_25; lean_object* x_26; lean_object* x_27;
@ -3606,7 +3606,7 @@ lean_inc(x_32);
x_33 = lean_ctor_get(x_1, 3);
lean_inc(x_33);
lean_dec(x_1);
x_42 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_31);
x_42 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_31);
if (lean_obj_tag(x_42) == 0)
{
lean_object* x_43; lean_object* x_44;
@ -3629,7 +3629,7 @@ goto block_41;
block_41:
{
lean_object* x_36;
x_36 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_35, x_32);
x_36 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_35, x_32);
lean_dec(x_35);
if (lean_obj_tag(x_36) == 0)
{
@ -3660,7 +3660,7 @@ lean_inc(x_46);
x_47 = lean_ctor_get(x_1, 5);
lean_inc(x_47);
lean_dec(x_1);
x_56 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_45);
x_56 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_45);
if (lean_obj_tag(x_56) == 0)
{
lean_object* x_57; lean_object* x_58;
@ -3683,7 +3683,7 @@ goto block_55;
block_55:
{
lean_object* x_50;
x_50 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_49, x_46);
x_50 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_49, x_46);
lean_dec(x_49);
if (lean_obj_tag(x_50) == 0)
{
@ -3712,7 +3712,7 @@ lean_inc(x_59);
x_60 = lean_ctor_get(x_1, 1);
lean_inc(x_60);
lean_dec(x_1);
x_61 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_59);
x_61 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_59);
if (lean_obj_tag(x_61) == 0)
{
lean_object* x_62; lean_object* x_63;
@ -3747,7 +3747,7 @@ lean_inc(x_68);
x_69 = lean_ctor_get(x_1, 3);
lean_inc(x_69);
lean_dec(x_1);
x_70 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_68);
x_70 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_68);
if (lean_obj_tag(x_70) == 0)
{
lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75;
@ -3789,7 +3789,7 @@ lean_inc(x_81);
x_82 = lean_ctor_get(x_1, 1);
lean_inc(x_82);
lean_dec(x_1);
x_83 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_81);
x_83 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_81);
if (lean_obj_tag(x_83) == 0)
{
lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87;
@ -3826,7 +3826,7 @@ lean_inc(x_90);
x_91 = lean_ctor_get(x_1, 2);
lean_inc(x_91);
lean_dec(x_1);
x_92 = l_Std_RBNode_findCore___main___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_90);
x_92 = l_Std_RBNode_findCore___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectIndex___spec__1(x_2, x_90);
if (lean_obj_tag(x_92) == 0)
{
lean_object* x_93; lean_object* x_94;

File diff suppressed because it is too large Load diff

View file

@ -21,7 +21,6 @@ lean_object* l_Lean_IR_UniqueIds_checkFnBody_match__1(lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_IR_FnBody_replaceVar___spec__4(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_NormalizeIds_normJP___boxed(lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_IR_FnBody_replaceVar___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_IR_NormalizeIds_normFnBody___spec__3(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_NormalizeIds_normDecl_match__1(lean_object*);
lean_object* l_Lean_IR_MapVars_mapArgs(lean_object*, lean_object*);
@ -29,6 +28,7 @@ lean_object* l_Lean_IR_MapVars_mapArgs___at_Lean_IR_FnBody_replaceVar___spec__11
lean_object* l_Array_anyRangeMAux___main___at_Lean_IR_UniqueIds_checkFnBody___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_MapVars_mapArgs___at_Lean_IR_FnBody_replaceVar___spec__3___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_NormalizeIds_normExpr___boxed(lean_object*, lean_object*);
lean_object* l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_IR_NormalizeIds_normFnBody_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_IR_NormalizeIds_normArgs___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_UniqueIds_checkFnBody(lean_object*, lean_object*);
@ -101,14 +101,12 @@ lean_object* l_Lean_IR_UniqueIds_checkId(lean_object*, lean_object*);
lean_object* l_Lean_IR_MapVars_mapExpr___at_Lean_IR_FnBody_replaceVar___spec__2___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_IR_NormalizeIds_normFnBody___spec__2___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_IR_FnBody_replaceVar___spec__10(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at_Lean_IR_VarId_alphaEqv___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_IR_NormalizeIds_normJP(lean_object*, lean_object*);
lean_object* l_Lean_IR_NormalizeIds_normArg_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_MapVars_mapExpr___at_Lean_IR_FnBody_replaceVar___spec__2(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_IR_FnBody_replaceVar___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_MapVars_mapArgs___at_Lean_IR_FnBody_replaceVar___spec__9___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_MapVars_mapArgs___at_Lean_IR_FnBody_replaceVar___spec__3(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_IR_NormalizeIds_withParams(lean_object*);
lean_object* l_Lean_IR_MapVars_mapArg(lean_object*, lean_object*);
lean_object* l_Lean_IR_MapVars_mapArgs___at_Lean_IR_FnBody_replaceVar___spec__14___boxed(lean_object*, lean_object*, lean_object*);
@ -116,6 +114,7 @@ lean_object* l_Lean_IR_Decl_uniqueIds(lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_IR_NormalizeIds_normDecl___spec__2___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_Decl_normalizeIds(lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_IR_NormalizeIds_withParams___spec__2___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_IR_MapVars_mapArgs___at_Lean_IR_FnBody_replaceVar___spec__7(lean_object*, lean_object*, lean_object*);
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_NormalizeIds_normArgs(lean_object*, lean_object*);
@ -125,6 +124,7 @@ lean_object* l_Lean_IR_FnBody_body(lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_IR_NormalizeIds_withParams___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_UniqueIds_checkDecl(lean_object*, lean_object*);
lean_object* l_Lean_IR_NormalizeIds_normIndex(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_IR_VarId_alphaEqv___spec__1(lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_IR_FnBody_replaceVar___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_NormalizeIds_withJP___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_NormalizeIds_normIndex___boxed(lean_object*, lean_object*);
@ -141,7 +141,7 @@ lean_object* l_Std_RBNode_insert___at_Lean_IR_mkIndexSet___spec__1(lean_object*,
lean_object* l_Lean_IR_MapVars_mapFnBody_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_IR_NormalizeIds_normDecl___spec__2(lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
lean_object* l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -192,7 +192,7 @@ lean_object* l_Lean_IR_UniqueIds_checkId(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_2, x_1);
x_3 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_2, x_1);
if (lean_obj_tag(x_3) == 0)
{
lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; lean_object* x_8;
@ -219,11 +219,11 @@ return x_11;
}
}
}
lean_object* l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_1, x_2);
x_3 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;
@ -947,7 +947,7 @@ lean_object* l_Lean_IR_NormalizeIds_normIndex(lean_object* x_1, lean_object* x_2
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_find___main___at_Lean_IR_VarId_alphaEqv___spec__1(x_2, x_1);
x_3 = l_Std_RBNode_find___at_Lean_IR_VarId_alphaEqv___spec__1(x_2, x_1);
if (lean_obj_tag(x_3) == 0)
{
lean_inc(x_1);

View file

@ -24,6 +24,7 @@ lean_object* l_Array_back___at_Lean_IR_pushProjs___spec__1___boxed(lean_object*)
lean_object* l_Lean_IR_pushProjs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_reverseAux___main___rarg(lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_IR_FnBody_pushProj___spec__2(lean_object*, lean_object*);
lean_object* l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_IR_FnBody_pushProj_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_pushProjs_match__1(lean_object*);
lean_object* lean_array_push(lean_object*, lean_object*);
@ -60,7 +61,6 @@ lean_object* l_Lean_IR_FnBody_flatten(lean_object*);
lean_object* l_Lean_IR_mkIndexSet(lean_object*);
lean_object* l_Lean_IR_reshape(lean_object*, lean_object*);
extern lean_object* l_Lean_IR_vsetInh;
lean_object* l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(lean_object*, lean_object*);
lean_object* lean_array_pop(lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_IR_pushProjs___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_FnBody_pushProj_match__4___rarg(lean_object*, lean_object*);
@ -278,7 +278,7 @@ lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
x_22 = lean_ctor_get(x_13, 1);
x_23 = l_Lean_IR_vsetInh;
x_24 = lean_array_get(x_23, x_1, x_5);
x_25 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_24, x_4);
x_25 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_24, x_4);
lean_dec(x_24);
if (lean_obj_tag(x_25) == 0)
{
@ -306,7 +306,7 @@ lean_inc(x_27);
lean_dec(x_13);
x_29 = l_Lean_IR_vsetInh;
x_30 = lean_array_get(x_29, x_1, x_5);
x_31 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_30, x_4);
x_31 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_30, x_4);
lean_dec(x_30);
if (lean_obj_tag(x_31) == 0)
{
@ -341,7 +341,7 @@ lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
x_36 = lean_ctor_get(x_13, 0);
x_37 = l_Lean_IR_vsetInh;
x_38 = lean_array_get(x_37, x_1, x_5);
x_39 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_38, x_4);
x_39 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_38, x_4);
lean_dec(x_38);
if (lean_obj_tag(x_39) == 0)
{
@ -367,7 +367,7 @@ lean_inc(x_41);
lean_dec(x_13);
x_42 = l_Lean_IR_vsetInh;
x_43 = lean_array_get(x_42, x_1, x_5);
x_44 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_43, x_4);
x_44 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_43, x_4);
lean_dec(x_43);
if (lean_obj_tag(x_44) == 0)
{
@ -427,7 +427,7 @@ x_11 = lean_array_fset(x_5, x_4, x_10);
x_12 = x_9;
x_13 = lean_unsigned_to_nat(1u);
x_14 = lean_nat_add(x_4, x_13);
x_15 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_12, x_3);
x_15 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_12, x_3);
if (lean_obj_tag(x_15) == 0)
{
lean_object* x_16; lean_object* x_17;
@ -488,7 +488,7 @@ lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
x_22 = lean_ctor_get(x_13, 1);
x_23 = l_Lean_IR_vsetInh;
x_24 = lean_array_get(x_23, x_1, x_5);
x_25 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_24, x_4);
x_25 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_24, x_4);
lean_dec(x_24);
if (lean_obj_tag(x_25) == 0)
{
@ -516,7 +516,7 @@ lean_inc(x_27);
lean_dec(x_13);
x_29 = l_Lean_IR_vsetInh;
x_30 = lean_array_get(x_29, x_1, x_5);
x_31 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_30, x_4);
x_31 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_30, x_4);
lean_dec(x_30);
if (lean_obj_tag(x_31) == 0)
{
@ -551,7 +551,7 @@ lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
x_36 = lean_ctor_get(x_13, 0);
x_37 = l_Lean_IR_vsetInh;
x_38 = lean_array_get(x_37, x_1, x_5);
x_39 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_38, x_4);
x_39 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_38, x_4);
lean_dec(x_38);
if (lean_obj_tag(x_39) == 0)
{
@ -577,7 +577,7 @@ lean_inc(x_41);
lean_dec(x_13);
x_42 = l_Lean_IR_vsetInh;
x_43 = lean_array_get(x_42, x_1, x_5);
x_44 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_43, x_4);
x_44 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_43, x_4);
lean_dec(x_43);
if (lean_obj_tag(x_44) == 0)
{
@ -637,7 +637,7 @@ x_11 = lean_array_fset(x_5, x_4, x_10);
x_12 = x_9;
x_13 = lean_unsigned_to_nat(1u);
x_14 = lean_nat_add(x_4, x_13);
x_15 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_12, x_3);
x_15 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_12, x_3);
if (lean_obj_tag(x_15) == 0)
{
lean_object* x_16; lean_object* x_17;
@ -698,7 +698,7 @@ lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
x_22 = lean_ctor_get(x_13, 1);
x_23 = l_Lean_IR_vsetInh;
x_24 = lean_array_get(x_23, x_1, x_5);
x_25 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_24, x_4);
x_25 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_24, x_4);
lean_dec(x_24);
if (lean_obj_tag(x_25) == 0)
{
@ -726,7 +726,7 @@ lean_inc(x_27);
lean_dec(x_13);
x_29 = l_Lean_IR_vsetInh;
x_30 = lean_array_get(x_29, x_1, x_5);
x_31 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_30, x_4);
x_31 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_30, x_4);
lean_dec(x_30);
if (lean_obj_tag(x_31) == 0)
{
@ -761,7 +761,7 @@ lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
x_36 = lean_ctor_get(x_13, 0);
x_37 = l_Lean_IR_vsetInh;
x_38 = lean_array_get(x_37, x_1, x_5);
x_39 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_38, x_4);
x_39 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_38, x_4);
lean_dec(x_38);
if (lean_obj_tag(x_39) == 0)
{
@ -787,7 +787,7 @@ lean_inc(x_41);
lean_dec(x_13);
x_42 = l_Lean_IR_vsetInh;
x_43 = lean_array_get(x_42, x_1, x_5);
x_44 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_43, x_4);
x_44 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_43, x_4);
lean_dec(x_43);
if (lean_obj_tag(x_44) == 0)
{
@ -847,7 +847,7 @@ x_11 = lean_array_fset(x_5, x_4, x_10);
x_12 = x_9;
x_13 = lean_unsigned_to_nat(1u);
x_14 = lean_nat_add(x_4, x_13);
x_15 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_12, x_3);
x_15 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_12, x_3);
if (lean_obj_tag(x_15) == 0)
{
lean_object* x_16; lean_object* x_17;
@ -896,7 +896,7 @@ lean_object* x_10; uint8_t x_11; lean_object* x_24;
lean_dec(x_9);
x_10 = lean_ctor_get(x_7, 0);
lean_inc(x_10);
x_24 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_5, x_10);
x_24 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_5, x_10);
if (lean_obj_tag(x_24) == 0)
{
uint8_t x_25;
@ -951,7 +951,7 @@ lean_object* x_27; uint8_t x_28; lean_object* x_41;
lean_dec(x_9);
x_27 = lean_ctor_get(x_7, 0);
lean_inc(x_27);
x_41 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_5, x_27);
x_41 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_5, x_27);
if (lean_obj_tag(x_41) == 0)
{
uint8_t x_42;
@ -1006,7 +1006,7 @@ lean_object* x_44; uint8_t x_45; lean_object* x_58;
lean_dec(x_9);
x_44 = lean_ctor_get(x_7, 0);
lean_inc(x_44);
x_58 = l_Std_RBNode_findCore___main___at_Lean_IR_UniqueIds_checkId___spec__1(x_5, x_44);
x_58 = l_Std_RBNode_findCore___at_Lean_IR_UniqueIds_checkId___spec__1(x_5, x_44);
if (lean_obj_tag(x_58) == 0)
{
uint8_t x_59;

File diff suppressed because it is too large Load diff

View file

@ -34,6 +34,7 @@ lean_object* lean_environment_find(lean_object*, lean_object*);
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____lambda__1___closed__5;
lean_object* l_Lean_registerParametricAttribute___at_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____spec__7___closed__1;
lean_object* lean_st_ref_get(lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____spec__8___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3__match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_setImplementedBy_match__1(lean_object*);
lean_object* lean_array_push(lean_object*, lean_object*);
@ -84,7 +85,6 @@ extern lean_object* l_Lean_registerParametricAttribute___rarg___closed__4;
lean_object* l_Lean_ConstantInfo_type(lean_object*);
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ParametricAttribute_setParam___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____spec__8(lean_object*, lean_object*);
lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_resolveGlobalConstNoOverload___rarg___lambda__1___closed__1;
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
@ -96,13 +96,13 @@ lean_object* l_Lean_addMessageContextPartial___at_Lean_Core_Lean_AddMessageConte
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
lean_object* l_Lean_setImplementedBy___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_binSearchAux___main___at_Lean_Compiler_getImplementedBy___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_ParametricAttribute_getParam___at_Lean_Compiler_getImplementedBy___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_resolveGlobalName___at_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_registerParametricAttribute___rarg___closed__3;
lean_object* lean_get_implemented_by(lean_object*, lean_object*);
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwError___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Environment_getModuleIdxFor_x3f(lean_object*, lean_object*);
@ -111,13 +111,13 @@ lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean
lean_object* l_Lean_PersistentEnvExtension_getState___rarg(lean_object*, lean_object*);
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____closed__1;
lean_object* l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____spec__8(lean_object*, lean_object*);
lean_object* l_Array_binSearchAux___main___at_Lean_Compiler_getImplementedBy___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_getConstInfo___at_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_map___main___at_Lean_resolveGlobalConst___spec__2(lean_object*);
lean_object* l_Lean_setImplementedBy___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____closed__2;
extern lean_object* l_Lean_ParametricAttribute_Inhabited___closed__1;
lean_object* l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____spec__8___boxed(lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____spec__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_System_FilePath_dirName___closed__1;
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
@ -577,7 +577,7 @@ return x_50;
}
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____spec__8(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____spec__8(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@ -591,7 +591,7 @@ x_3 = lean_ctor_get(x_2, 0);
x_4 = lean_ctor_get(x_2, 1);
x_5 = lean_ctor_get(x_2, 2);
x_6 = lean_ctor_get(x_2, 3);
x_7 = l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____spec__8(x_1, x_3);
x_7 = l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____spec__8(x_1, x_3);
lean_inc(x_5);
lean_inc(x_4);
x_8 = lean_alloc_ctor(0, 2, 0);
@ -1134,7 +1134,7 @@ _start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_2 = l_Array_empty___closed__1;
x_3 = l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____spec__8(x_2, x_1);
x_3 = l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____spec__8(x_2, x_1);
x_4 = lean_array_get_size(x_3);
x_5 = lean_unsigned_to_nat(1u);
x_6 = lean_nat_sub(x_4, x_5);
@ -1681,11 +1681,11 @@ lean_dec(x_3);
return x_6;
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____spec__8___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____spec__8___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____spec__8(x_1, x_2);
x_3 = l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_ImplementedByAttr___hyg_3____spec__8(x_1, x_2);
lean_dec(x_2);
return x_3;
}
@ -1856,7 +1856,7 @@ if (lean_obj_tag(x_4) == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_5 = lean_ctor_get(x_1, 1);
x_6 = l_Lean_PersistentEnvExtension_getState___rarg(x_5, x_2);
x_7 = l_Std_RBNode_find___main___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(x_6, x_3);
x_7 = l_Std_RBNode_find___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(x_6, x_3);
lean_dec(x_3);
lean_dec(x_6);
return x_7;

View file

@ -63,6 +63,7 @@ lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_isIOUnit_match__1___rarg
lean_object* l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_378_(lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362_(lean_object*);
lean_object* l_Std_RBNode_fold___at_Lean_registerInitAttr___spec__8(lean_object*, lean_object*);
lean_object* lean_array_fget(lean_object*, lean_object*);
lean_object* l_Lean_throwUnknownConstant___at_Lean_registerInitAttr___spec__6___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_get_init_fn_name_for(lean_object*, lean_object*);
@ -80,7 +81,6 @@ lean_object* l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg___box
lean_object* l_Lean_registerInitAttr___lambda__1___closed__6;
lean_object* l_Lean_registerInitAttr_match__2(lean_object*);
lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg_match__1___rarg___closed__1;
lean_object* l_Std_RBNode_fold___main___at_Lean_registerInitAttr___spec__8(lean_object*, lean_object*);
lean_object* l_Lean_throwUnknownConstant___at_Lean_registerInitAttr___spec__6(lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_378____closed__1;
@ -91,6 +91,7 @@ lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean
lean_object* l_Lean_registerInitAttr_match__3___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_378____closed__2;
lean_object* l_Lean_registerInitAttr___closed__3;
lean_object* l_Std_RBNode_fold___at_Lean_registerInitAttr___spec__8___boxed(lean_object*, lean_object*);
lean_object* l_Lean_registerInitAttr___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_getInitFnNameForCore_x3f___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_resolveGlobalName___at_Lean_registerInitAttr___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -126,7 +127,6 @@ extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed_
lean_object* l_List_filterAux___main___at_Lean_resolveGlobalConst___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_registerInitAttr_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_registerInitAttr___lambda__1___closed__4;
lean_object* l_Std_RBNode_fold___main___at_Lean_registerInitAttr___spec__8___boxed(lean_object*, lean_object*);
lean_object* l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_resolveGlobalConstNoOverload___rarg___lambda__1___closed__2;
uint8_t l___private_Lean_Compiler_InitAttr_0__Lean_isIOUnit(lean_object*);
@ -137,6 +137,7 @@ lean_object* l_Lean_isIOUnitInitFnCore___boxed(lean_object*, lean_object*, lean_
lean_object* l_Lean_registerInitAttr___lambda__1___closed__8;
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
lean_object* l_Lean_isIOUnitRegularInitFn___boxed(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_registerInitAttr___lambda__1___closed__2;
lean_object* l_Lean_ParametricAttribute_getParam___at_Lean_getInitFnNameForCore_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_registerInitAttr___lambda__1___closed__1;
@ -147,7 +148,6 @@ lean_object* l_Lean_regularInitAttr;
uint8_t l_Lean_isIOUnitInitFn(lean_object*, lean_object*);
lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_registerInitAttr___spec__11(lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerInitAttr___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Environment_getModuleIdxFor_x3f(lean_object*, lean_object*);
lean_object* l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7___lambda__1(lean_object*);
@ -1059,7 +1059,7 @@ return x_50;
}
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_registerInitAttr___spec__8(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_registerInitAttr___spec__8(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@ -1073,7 +1073,7 @@ x_3 = lean_ctor_get(x_2, 0);
x_4 = lean_ctor_get(x_2, 1);
x_5 = lean_ctor_get(x_2, 2);
x_6 = lean_ctor_get(x_2, 3);
x_7 = l_Std_RBNode_fold___main___at_Lean_registerInitAttr___spec__8(x_1, x_3);
x_7 = l_Std_RBNode_fold___at_Lean_registerInitAttr___spec__8(x_1, x_3);
lean_inc(x_5);
lean_inc(x_4);
x_8 = lean_alloc_ctor(0, 2, 0);
@ -1616,7 +1616,7 @@ _start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_2 = l_Array_empty___closed__1;
x_3 = l_Std_RBNode_fold___main___at_Lean_registerInitAttr___spec__8(x_2, x_1);
x_3 = l_Std_RBNode_fold___at_Lean_registerInitAttr___spec__8(x_2, x_1);
x_4 = lean_array_get_size(x_3);
x_5 = lean_unsigned_to_nat(1u);
x_6 = lean_nat_sub(x_4, x_5);
@ -2512,11 +2512,11 @@ lean_dec(x_3);
return x_6;
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_registerInitAttr___spec__8___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_registerInitAttr___spec__8___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_fold___main___at_Lean_registerInitAttr___spec__8(x_1, x_2);
x_3 = l_Std_RBNode_fold___at_Lean_registerInitAttr___spec__8(x_1, x_2);
lean_dec(x_2);
return x_3;
}
@ -2793,7 +2793,7 @@ if (lean_obj_tag(x_4) == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_5 = lean_ctor_get(x_1, 1);
x_6 = l_Lean_PersistentEnvExtension_getState___rarg(x_5, x_2);
x_7 = l_Std_RBNode_find___main___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(x_6, x_3);
x_7 = l_Std_RBNode_find___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(x_6, x_3);
lean_dec(x_3);
lean_dec(x_6);
return x_7;

View file

@ -25,7 +25,6 @@ lean_object* l_List_map___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_In
lean_object* lean_nat_div(lean_object*, lean_object*);
lean_object* l_Lean_PersistentEnvExtension_getModuleEntries___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwError___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__4___boxed(lean_object*, lean_object*);
lean_object* l_Lean_ofExcept___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Name_quickLt(lean_object*, lean_object*);
uint8_t lean_name_eq(lean_object*, lean_object*);
@ -58,6 +57,7 @@ lean_object* l_Lean_setEnv___at_Lean_registerTagAttribute___spec__4(lean_object*
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____closed__8;
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____closed__4;
lean_object* l_Lean_Compiler_hasMacroInlineAttribute___boxed(lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__4___boxed(lean_object*, lean_object*);
uint8_t lean_has_macro_inline_attribute(lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* l_List_map___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__9(lean_object*, uint8_t, lean_object*, lean_object*);
@ -68,7 +68,6 @@ uint8_t lean_is_eager_lambda_lifting_name(lean_object*);
extern lean_object* l_Lean_registerTagAttribute___lambda__4___closed__3;
lean_object* l_Lean_Compiler_inlineAttrs;
lean_object* l_List_forM___main___at_Lean_registerEnumAttributes___spec__10(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux___spec__2(lean_object*, lean_object*);
uint8_t l_Lean_Compiler_InlineAttributeKind_Lean_Compiler_InlineAttrs___instance__1;
lean_object* lean_array_fget(lean_object*, lean_object*);
lean_object* l_Array_qsortAux___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__5(lean_object*, lean_object*, lean_object*);
@ -79,8 +78,10 @@ lean_object* lean_nat_sub(lean_object*, lean_object*);
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____closed__14;
lean_object* lean_array_swap(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____closed__22;
lean_object* l_Std_RBNode_find___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_Compiler_hasInlineAttribute___boxed(lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Name_isInternal(lean_object*);
lean_object* l_Array_binSearchAux___main___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwError___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__2(lean_object*);
lean_object* l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1___rarg(lean_object*, lean_object*, lean_object*);
@ -89,6 +90,7 @@ lean_object* lean_name_mk_string(lean_object*, lean_object*);
lean_object* l_Lean_Compiler_InlineAttributeKind_beq_match__1(lean_object*);
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____closed__25;
lean_object* l_List_map___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__4(lean_object*, lean_object*);
extern lean_object* l_Lean_registerParametricAttribute___rarg___closed__1;
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____closed__16;
extern lean_object* l_Lean_registerTagAttribute___lambda__4___closed__6;
@ -100,9 +102,9 @@ lean_object* l_Lean_registerEnumAttributes___at_Lean_Compiler_initFn____x40_Lean
lean_object* l_Array_qsortAux___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__5___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PersistentEnvExtension_addEntry___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Compiler_checkIsDefinition(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux___spec__2___boxed(lean_object*, lean_object*);
uint8_t lean_has_inline_attribute(lean_object*, lean_object*);
lean_object* l_Lean_Compiler_InlineAttributeKind_Lean_Compiler_InlineAttrs___instance__2;
lean_object* l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__4(lean_object*, lean_object*);
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____closed__20;
lean_object* l_Lean_Compiler_InlineAttributeKind_Lean_Compiler_InlineAttrs___instance__2___closed__1;
lean_object* l_Lean_Compiler_hasNoInlineAttribute___boxed(lean_object*, lean_object*);
@ -110,13 +112,11 @@ extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed_
extern lean_object* l_Lean_EnumAttributes_Inhabited___closed__1;
uint8_t l___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux(lean_object*, uint8_t, lean_object*);
lean_object* l_Lean_Compiler_setInlineAttribute___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____closed__19;
lean_object* l_Lean_addMessageContextPartial___at_Lean_Core_Lean_AddMessageContext___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_map___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__9___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux_match__2(lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
uint8_t l_Lean_Name_isInternal___main(lean_object*);
extern lean_object* l_Lean_registerEnumAttributes___rarg___closed__1;
lean_object* l_Lean_throwError___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____closed__12;
@ -470,7 +470,7 @@ return x_11;
}
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__4(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__4(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@ -484,7 +484,7 @@ x_3 = lean_ctor_get(x_2, 0);
x_4 = lean_ctor_get(x_2, 1);
x_5 = lean_ctor_get(x_2, 2);
x_6 = lean_ctor_get(x_2, 3);
x_7 = l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__4(x_1, x_3);
x_7 = l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__4(x_1, x_3);
lean_inc(x_5);
lean_inc(x_4);
x_8 = lean_alloc_ctor(0, 2, 0);
@ -1299,7 +1299,7 @@ _start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_2 = l_Array_empty___closed__1;
x_3 = l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__4(x_2, x_1);
x_3 = l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__4(x_2, x_1);
x_4 = lean_array_get_size(x_3);
x_5 = lean_unsigned_to_nat(1u);
x_6 = lean_nat_sub(x_4, x_5);
@ -1768,11 +1768,11 @@ lean_dec(x_1);
return x_6;
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__4___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__4___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__4(x_1, x_2);
x_3 = l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_54____spec__4(x_1, x_2);
lean_dec(x_2);
return x_3;
}
@ -1911,7 +1911,7 @@ x_2 = lean_alloc_closure((void*)(l___private_Lean_Compiler_InlineAttrs_0__Lean_C
return x_2;
}
}
lean_object* l_Std_RBNode_find___main___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux___spec__2(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux___spec__2(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -2045,7 +2045,7 @@ if (lean_obj_tag(x_4) == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_5 = lean_ctor_get(x_1, 1);
x_6 = l_Lean_PersistentEnvExtension_getState___rarg(x_5, x_2);
x_7 = l_Std_RBNode_find___main___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux___spec__2(x_6, x_3);
x_7 = l_Std_RBNode_find___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux___spec__2(x_6, x_3);
lean_dec(x_3);
lean_dec(x_6);
return x_7;
@ -2124,7 +2124,7 @@ x_6 = l_Lean_EnumAttributes_getValue___at___private_Lean_Compiler_InlineAttrs_0_
if (lean_obj_tag(x_6) == 0)
{
uint8_t x_7;
x_7 = l_Lean_Name_isInternal___main(x_3);
x_7 = l_Lean_Name_isInternal(x_3);
if (x_7 == 0)
{
uint8_t x_8;
@ -2163,11 +2163,11 @@ return x_14;
}
}
}
lean_object* l_Std_RBNode_find___main___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_find___main___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux___spec__2(x_1, x_2);
x_3 = l_Std_RBNode_find___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux___spec__2(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;

View file

@ -16,13 +16,13 @@ extern "C" {
lean_object* l_Lean_hasNeverExtractAttribute___boxed(lean_object*, lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Compiler_NeverExtractAttr___hyg_3____closed__4;
extern lean_object* l_Lean_TagAttribute_Inhabited___closed__1;
uint8_t l_Lean_Name_isInternal(lean_object*);
lean_object* lean_name_mk_string(lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_NeverExtractAttr_0__Lean_hasNeverExtractAttributeAux___boxed(lean_object*, lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Compiler_NeverExtractAttr___hyg_3_(lean_object*);
lean_object* l_Lean_neverExtractAttr;
lean_object* l_Lean_initFn____x40_Lean_Compiler_NeverExtractAttr___hyg_3____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_NeverExtractAttr_0__Lean_hasNeverExtractAttributeAux_match__1___rarg(lean_object*, lean_object*);
uint8_t l_Lean_Name_isInternal___main(lean_object*);
lean_object* l___private_Lean_Compiler_NeverExtractAttr_0__Lean_hasNeverExtractAttributeAux_match__1(lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Compiler_NeverExtractAttr___hyg_3____closed__2;
lean_object* l_Lean_initFn____x40_Lean_Compiler_NeverExtractAttr___hyg_3____closed__1;
@ -126,7 +126,7 @@ x_4 = l_Lean_TagAttribute_hasTag(x_3, x_1, x_2);
if (x_4 == 0)
{
uint8_t x_5;
x_5 = l_Lean_Name_isInternal___main(x_2);
x_5 = l_Lean_Name_isInternal(x_2);
if (x_5 == 0)
{
lean_dec(x_2);

View file

@ -40,7 +40,6 @@ lean_object* l_Std_PersistentHashMap_findAux___main___at_Lean_Compiler_getSpecia
lean_object* l_Lean_Compiler_SpecState_switch_match__1(lean_object*);
extern lean_object* l_Std_HashMap_inhabited___closed__1;
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
lean_object* l_Std_RBNode_find___main___at___private_Lean_Compiler_Specialize_0__Lean_Compiler_hasSpecializeAttrAux___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_Compiler_SpecState_specInfo___default;
extern lean_object* l_Lean_registerInternalExceptionId___closed__2;
lean_object* l_Lean_EnvExtensionInterfaceUnsafe_registerExt___rarg(lean_object*, lean_object*);
@ -87,6 +86,7 @@ lean_object* l_Lean_SMap_find_x3f___at_Lean_Compiler_getCachedSpecialization___s
extern lean_object* l___private_Lean_Environment_8__persistentEnvExtensionsRef;
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____closed__9;
lean_object* l_Lean_Compiler_specExtension___elambda__2___boxed(lean_object*);
lean_object* l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_registerEnumAttributes___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_getCachedSpecialization___spec__6(lean_object*, lean_object*);
@ -118,12 +118,14 @@ lean_object* lean_array_swap(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Std_PersistentHashMap_insertAux___main___rarg___closed__3;
lean_object* l_Array_iterateMAux___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_230____spec__3(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_SpecState_addEntry___spec__21(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at___private_Lean_Compiler_Specialize_0__Lean_Compiler_hasSpecializeAttrAux___spec__2(lean_object*, lean_object*);
extern lean_object* l_Lean_mkEmptyEnvironment___closed__1;
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3(lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____closed__11;
lean_object* l_Std_PersistentHashMap_insertAux___main___at_Lean_Compiler_SpecState_addEntry___spec__3(lean_object*, size_t, size_t, lean_object*, lean_object*);
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Name_isInternal(lean_object*);
lean_object* l_Std_mkHashMapImp___rarg(lean_object*);
lean_object* l_Lean_Compiler_SpecState_Lean_Compiler_Specialize___instance__3;
lean_object* l_Std_AssocList_replace___at_Lean_Compiler_SpecState_addEntry___spec__22(lean_object*, lean_object*, lean_object*);
@ -153,15 +155,12 @@ lean_object* l_Lean_mkStateFromImportedEntries___at_Lean_Compiler_initFn____x40_
lean_object* l_Lean_Compiler_SpecState_cache___default___closed__1;
lean_object* lean_add_specialization_info(lean_object*, lean_object*, lean_object*);
size_t l_USize_mul(size_t, size_t);
lean_object* l_Std_RBNode_find___main___at___private_Lean_Compiler_Specialize_0__Lean_Compiler_hasSpecializeAttrAux___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_findAtAux___main___at_Lean_Compiler_getCachedSpecialization___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_insert___at_Lean_Compiler_SpecState_addEntry___spec__2(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_moveEntries___main___at_Lean_Compiler_SpecState_addEntry___spec__20(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Compiler_SpecState_cache___default___closed__2;
lean_object* l_Std_PersistentHashMap_findAux___main___at_Lean_Compiler_getSpecializationInfo___spec__3___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____spec__2(lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_Compiler_getCachedSpecialization___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_insertAux___main___at_Lean_Compiler_SpecState_addEntry___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Compiler_getCachedSpecialization___spec__5(lean_object*, lean_object*);
@ -195,7 +194,6 @@ uint8_t lean_nat_dec_le(lean_object*, lean_object*);
uint8_t l_USize_decLe(size_t, size_t);
lean_object* l_Lean_SMap_find_x3f___at_Lean_Compiler_getSpecializationInfo___spec__1(lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Name_isInternal___main(lean_object*);
lean_object* l_Std_HashMapImp_moveEntries___main___at_Lean_Compiler_SpecState_addEntry___spec__9(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_registerEnumAttributes___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____spec__1___lambda__1(lean_object*, lean_object*);
uint8_t l_Std_AssocList_contains___at_Lean_Compiler_SpecState_addEntry___spec__18(lean_object*, lean_object*);
@ -212,6 +210,7 @@ extern lean_object* l_Lean_registerTagAttribute___lambda__4___closed__9;
lean_object* lean_nat_mul(lean_object*, lean_object*);
lean_object* l_Lean_Name_getPrefix(lean_object*);
lean_object* l_Lean_throwError___at_Lean_addAttribute___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at___private_Lean_Compiler_Specialize_0__Lean_Compiler_hasSpecializeAttrAux___spec__2___boxed(lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_230____closed__1;
lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Compiler_getSpecializationInfo___spec__5___boxed(lean_object*, lean_object*);
@ -222,6 +221,7 @@ lean_object* l_Lean_Compiler_specExtension___elambda__1(lean_object*);
lean_object* l_Std_mkHashMap___at_Lean_Compiler_SpecState_specInfo___default___spec__1(lean_object*);
lean_object* lean_mk_array(lean_object*, lean_object*);
lean_object* l_Lean_PersistentEnvExtension_getState___rarg(lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____spec__2(lean_object*, lean_object*);
lean_object* l_Lean_mkStateFromImportedEntries___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_230____spec__1___boxed(lean_object*, lean_object*);
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_getCachedSpecialization___spec__6___boxed(lean_object*, lean_object*);
@ -403,7 +403,7 @@ x_1 = l_Lean_Compiler_SpecializeAttributeKind_Lean_Compiler_Specialize___instanc
return x_1;
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____spec__2(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____spec__2(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@ -417,7 +417,7 @@ x_3 = lean_ctor_get(x_2, 0);
x_4 = lean_ctor_get(x_2, 1);
x_5 = lean_ctor_get(x_2, 2);
x_6 = lean_ctor_get(x_2, 3);
x_7 = l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____spec__2(x_1, x_3);
x_7 = l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____spec__2(x_1, x_3);
lean_inc(x_5);
lean_inc(x_4);
x_8 = lean_alloc_ctor(0, 2, 0);
@ -1232,7 +1232,7 @@ _start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_2 = l_Array_empty___closed__1;
x_3 = l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____spec__2(x_2, x_1);
x_3 = l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____spec__2(x_2, x_1);
x_4 = lean_array_get_size(x_3);
x_5 = lean_unsigned_to_nat(1u);
x_6 = lean_nat_sub(x_4, x_5);
@ -1544,11 +1544,11 @@ x_6 = l_Lean_registerEnumAttributes___at_Lean_Compiler_initFn____x40_Lean_Compil
return x_6;
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____spec__2___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____spec__2___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_fold___main___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____spec__2(x_1, x_2);
x_3 = l_Std_RBNode_fold___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_48____spec__2(x_1, x_2);
lean_dec(x_2);
return x_3;
}
@ -1688,7 +1688,7 @@ x_2 = lean_alloc_closure((void*)(l___private_Lean_Compiler_Specialize_0__Lean_Co
return x_2;
}
}
lean_object* l_Std_RBNode_find___main___at___private_Lean_Compiler_Specialize_0__Lean_Compiler_hasSpecializeAttrAux___spec__2(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at___private_Lean_Compiler_Specialize_0__Lean_Compiler_hasSpecializeAttrAux___spec__2(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -1822,7 +1822,7 @@ if (lean_obj_tag(x_4) == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_5 = lean_ctor_get(x_1, 1);
x_6 = l_Lean_PersistentEnvExtension_getState___rarg(x_5, x_2);
x_7 = l_Std_RBNode_find___main___at___private_Lean_Compiler_Specialize_0__Lean_Compiler_hasSpecializeAttrAux___spec__2(x_6, x_3);
x_7 = l_Std_RBNode_find___at___private_Lean_Compiler_Specialize_0__Lean_Compiler_hasSpecializeAttrAux___spec__2(x_6, x_3);
lean_dec(x_3);
lean_dec(x_6);
return x_7;
@ -1896,7 +1896,7 @@ x_5 = l_Lean_EnumAttributes_getValue___at___private_Lean_Compiler_Specialize_0__
if (lean_obj_tag(x_5) == 0)
{
uint8_t x_6;
x_6 = l_Lean_Name_isInternal___main(x_3);
x_6 = l_Lean_Name_isInternal(x_3);
if (x_6 == 0)
{
uint8_t x_7;
@ -1927,11 +1927,11 @@ return x_12;
}
}
}
lean_object* l_Std_RBNode_find___main___at___private_Lean_Compiler_Specialize_0__Lean_Compiler_hasSpecializeAttrAux___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at___private_Lean_Compiler_Specialize_0__Lean_Compiler_hasSpecializeAttrAux___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_find___main___at___private_Lean_Compiler_Specialize_0__Lean_Compiler_hasSpecializeAttrAux___spec__2(x_1, x_2);
x_3 = l_Std_RBNode_find___at___private_Lean_Compiler_Specialize_0__Lean_Compiler_hasSpecializeAttrAux___spec__2(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;
@ -2970,54 +2970,60 @@ uint8_t x_5;
x_5 = !lean_is_exclusive(x_1);
if (x_5 == 0)
{
lean_object* x_6; lean_object* x_7;
lean_object* x_6; lean_object* x_7; uint8_t x_8;
x_6 = lean_ctor_get(x_1, 1);
x_7 = l_Std_PersistentHashMap_insert___at_Lean_Compiler_SpecState_addEntry___spec__2(x_6, x_2, x_3);
x_8 = 0;
lean_ctor_set(x_1, 1, x_7);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_8);
return x_1;
}
else
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_8 = lean_ctor_get(x_1, 0);
x_9 = lean_ctor_get(x_1, 1);
lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_1, 0);
x_10 = lean_ctor_get(x_1, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_dec(x_1);
x_10 = l_Std_PersistentHashMap_insert___at_Lean_Compiler_SpecState_addEntry___spec__2(x_9, x_2, x_3);
x_11 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_11, 0, x_8);
lean_ctor_set(x_11, 1, x_10);
lean_ctor_set_uint8(x_11, sizeof(void*)*2, x_4);
return x_11;
x_11 = l_Std_PersistentHashMap_insert___at_Lean_Compiler_SpecState_addEntry___spec__2(x_10, x_2, x_3);
x_12 = 0;
x_13 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_13, 0, x_9);
lean_ctor_set(x_13, 1, x_11);
lean_ctor_set_uint8(x_13, sizeof(void*)*2, x_12);
return x_13;
}
}
else
{
uint8_t x_12;
x_12 = !lean_is_exclusive(x_1);
if (x_12 == 0)
uint8_t x_14;
x_14 = !lean_is_exclusive(x_1);
if (x_14 == 0)
{
lean_object* x_13; lean_object* x_14;
x_13 = lean_ctor_get(x_1, 0);
x_14 = l_Std_HashMapImp_insert___at_Lean_Compiler_SpecState_addEntry___spec__6(x_13, x_2, x_3);
lean_ctor_set(x_1, 0, x_14);
lean_object* x_15; lean_object* x_16; uint8_t x_17;
x_15 = lean_ctor_get(x_1, 0);
x_16 = l_Std_HashMapImp_insert___at_Lean_Compiler_SpecState_addEntry___spec__6(x_15, x_2, x_3);
x_17 = 1;
lean_ctor_set(x_1, 0, x_16);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_17);
return x_1;
}
else
{
lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
x_15 = lean_ctor_get(x_1, 0);
x_16 = lean_ctor_get(x_1, 1);
lean_inc(x_16);
lean_inc(x_15);
lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22;
x_18 = lean_ctor_get(x_1, 0);
x_19 = lean_ctor_get(x_1, 1);
lean_inc(x_19);
lean_inc(x_18);
lean_dec(x_1);
x_17 = l_Std_HashMapImp_insert___at_Lean_Compiler_SpecState_addEntry___spec__6(x_15, x_2, x_3);
x_18 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_18, 0, x_17);
lean_ctor_set(x_18, 1, x_16);
lean_ctor_set_uint8(x_18, sizeof(void*)*2, x_4);
return x_18;
x_20 = l_Std_HashMapImp_insert___at_Lean_Compiler_SpecState_addEntry___spec__6(x_18, x_2, x_3);
x_21 = 1;
x_22 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_22, 0, x_20);
lean_ctor_set(x_22, 1, x_19);
lean_ctor_set_uint8(x_22, sizeof(void*)*2, x_21);
return x_22;
}
}
}
@ -3824,54 +3830,60 @@ uint8_t x_5;
x_5 = !lean_is_exclusive(x_1);
if (x_5 == 0)
{
lean_object* x_6; lean_object* x_7;
lean_object* x_6; lean_object* x_7; uint8_t x_8;
x_6 = lean_ctor_get(x_1, 1);
x_7 = l_Std_PersistentHashMap_insert___at_Lean_Compiler_SpecState_addEntry___spec__13(x_6, x_2, x_3);
x_8 = 0;
lean_ctor_set(x_1, 1, x_7);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_8);
return x_1;
}
else
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_8 = lean_ctor_get(x_1, 0);
x_9 = lean_ctor_get(x_1, 1);
lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_1, 0);
x_10 = lean_ctor_get(x_1, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_dec(x_1);
x_10 = l_Std_PersistentHashMap_insert___at_Lean_Compiler_SpecState_addEntry___spec__13(x_9, x_2, x_3);
x_11 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_11, 0, x_8);
lean_ctor_set(x_11, 1, x_10);
lean_ctor_set_uint8(x_11, sizeof(void*)*2, x_4);
return x_11;
x_11 = l_Std_PersistentHashMap_insert___at_Lean_Compiler_SpecState_addEntry___spec__13(x_10, x_2, x_3);
x_12 = 0;
x_13 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_13, 0, x_9);
lean_ctor_set(x_13, 1, x_11);
lean_ctor_set_uint8(x_13, sizeof(void*)*2, x_12);
return x_13;
}
}
else
{
uint8_t x_12;
x_12 = !lean_is_exclusive(x_1);
if (x_12 == 0)
uint8_t x_14;
x_14 = !lean_is_exclusive(x_1);
if (x_14 == 0)
{
lean_object* x_13; lean_object* x_14;
x_13 = lean_ctor_get(x_1, 0);
x_14 = l_Std_HashMapImp_insert___at_Lean_Compiler_SpecState_addEntry___spec__17(x_13, x_2, x_3);
lean_ctor_set(x_1, 0, x_14);
lean_object* x_15; lean_object* x_16; uint8_t x_17;
x_15 = lean_ctor_get(x_1, 0);
x_16 = l_Std_HashMapImp_insert___at_Lean_Compiler_SpecState_addEntry___spec__17(x_15, x_2, x_3);
x_17 = 1;
lean_ctor_set(x_1, 0, x_16);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_17);
return x_1;
}
else
{
lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
x_15 = lean_ctor_get(x_1, 0);
x_16 = lean_ctor_get(x_1, 1);
lean_inc(x_16);
lean_inc(x_15);
lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22;
x_18 = lean_ctor_get(x_1, 0);
x_19 = lean_ctor_get(x_1, 1);
lean_inc(x_19);
lean_inc(x_18);
lean_dec(x_1);
x_17 = l_Std_HashMapImp_insert___at_Lean_Compiler_SpecState_addEntry___spec__17(x_15, x_2, x_3);
x_18 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_18, 0, x_17);
lean_ctor_set(x_18, 1, x_16);
lean_ctor_set_uint8(x_18, sizeof(void*)*2, x_4);
return x_18;
x_20 = l_Std_HashMapImp_insert___at_Lean_Compiler_SpecState_addEntry___spec__17(x_18, x_2, x_3);
x_21 = 1;
x_22 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_22, 0, x_20);
lean_ctor_set(x_22, 1, x_19);
lean_ctor_set_uint8(x_22, sizeof(void*)*2, x_21);
return x_22;
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -17,7 +17,6 @@ lean_object* lean_string_push(lean_object*, uint32_t);
lean_object* l_Lean_Json_escape(lean_object*);
lean_object* lean_nat_div(lean_object*, lean_object*);
lean_object* l_Lean_Json_jsonHasFormat___closed__1;
lean_object* l_Std_RBNode_fold___main___at_Lean_Json_compress___main___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_Json_render___main___closed__4;
lean_object* l_Lean_Json_render___main___lambda__2(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_JsonNumber_toString(lean_object*);
@ -29,7 +28,6 @@ lean_object* l_Lean_Json_render___main(lean_object*);
extern lean_object* l_String_splitAux___main___closed__1;
extern lean_object* l_String_quote___closed__1;
extern lean_object* l_List_repr___rarg___closed__3;
lean_object* l_Std_RBNode_fold___main___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Json_escape___boxed(lean_object*);
lean_object* lean_string_utf8_byte_size(lean_object*);
lean_object* l_Lean_Json_jsonHasFormat;
@ -56,6 +54,7 @@ lean_object* l_Lean_Json_renderString___boxed(lean_object*);
uint32_t lean_string_utf8_get(lean_object*, lean_object*);
uint32_t l_Nat_digitChar(lean_object*);
lean_object* l_Lean_Format_joinSep___main___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___at_Lean_Json_compress___main___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_Json_render___main___closed__5;
extern lean_object* l_Lean_nullKind___closed__1;
extern lean_object* l_Id_Monad;
@ -80,6 +79,7 @@ lean_object* l_Array_toList___rarg(lean_object*);
lean_object* lean_string_length(lean_object*);
extern lean_object* l_Lean_List_format___rarg___closed__3;
lean_object* l_Lean_Json_render___main___lambda__2___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___rarg(lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_mod(lean_object*, lean_object*);
extern lean_object* l_Char_quoteCore___closed__5;
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
@ -541,7 +541,7 @@ lean_inc(x_31);
lean_dec(x_1);
x_32 = lean_box(0);
x_33 = l_Lean_Json_render___main___closed__3;
x_34 = l_Std_RBNode_fold___main___rarg(x_33, x_32, x_31);
x_34 = l_Std_RBNode_fold___rarg(x_33, x_32, x_31);
x_35 = l_Lean_formatHasFormat;
x_36 = l_Lean_List_format___rarg___closed__3;
x_37 = l_Lean_Format_joinSep___main___rarg(x_35, x_34, x_36);
@ -634,7 +634,7 @@ goto _start;
}
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_Json_compress___main___spec__2(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_Json_compress___main___spec__2(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@ -653,7 +653,7 @@ lean_inc(x_5);
x_6 = lean_ctor_get(x_2, 3);
lean_inc(x_6);
lean_dec(x_2);
x_7 = l_Std_RBNode_fold___main___at_Lean_Json_compress___main___spec__2(x_1, x_3);
x_7 = l_Std_RBNode_fold___at_Lean_Json_compress___main___spec__2(x_1, x_3);
x_8 = l_Lean_Json_renderString(x_4);
lean_dec(x_4);
x_9 = l___private_Init_Util_1__mkPanicMessage___closed__2;
@ -745,7 +745,7 @@ x_22 = lean_ctor_get(x_1, 0);
lean_inc(x_22);
lean_dec(x_1);
x_23 = lean_box(0);
x_24 = l_Std_RBNode_fold___main___at_Lean_Json_compress___main___spec__2(x_23, x_22);
x_24 = l_Std_RBNode_fold___at_Lean_Json_compress___main___spec__2(x_23, x_22);
x_25 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_530____closed__8;
x_26 = l_String_intercalate(x_25, x_24);
x_27 = l_addParenHeuristic___closed__1;

File diff suppressed because it is too large Load diff

View file

@ -13,29 +13,44 @@
#ifdef __cplusplus
extern "C" {
#endif
uint8_t l_Lean_LBool_Inhabited;
lean_object* l_Lean_LBool_HasToString;
lean_object* l_Lean_LBool_neg_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_LBool_Lean_Data_LBool___instance__3;
lean_object* l_Lean_LBool_toString(uint8_t);
lean_object* l_toLBoolM___rarg___lambda__1(lean_object*, uint8_t);
lean_object* l_Lean_LBool_HasBeq;
lean_object* l_Lean_LBool_HasBeq___closed__1;
uint8_t l_Lean_LBool_Lean_Data_LBool___instance__1;
lean_object* l_Lean_LBool_Lean_Data_LBool___instance__2___closed__1;
lean_object* l_Lean_LBool_toString___boxed(lean_object*);
lean_object* l_Bool_toLBool_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_toLBoolM(lean_object*);
lean_object* l_Bool_toLBool_match__1___rarg(uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_LBool_neg_match__1(lean_object*);
lean_object* l_Lean_LBool_neg_match__1___rarg(uint8_t, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_LBool_beq_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_LBool_and(uint8_t, uint8_t);
lean_object* l_Lean_LBool_and_match__1(lean_object*);
lean_object* l_Lean_LBool_neg___boxed(lean_object*);
lean_object* l_Bool_toLBool___boxed(lean_object*);
lean_object* l_Lean_LBool_and___boxed(lean_object*, lean_object*);
lean_object* l_Lean_LBool_and_match__1___rarg(uint8_t, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_LBool_beq_match__1(lean_object*);
extern lean_object* l_Bool_HasRepr___closed__1;
lean_object* l_Lean_LBool_toString_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_toLBoolM___rarg___lambda__1___boxed(lean_object*, lean_object*);
extern lean_object* l_Bool_HasRepr___closed__2;
lean_object* l_Bool_toLBool_match__1(lean_object*);
lean_object* l_Lean_LBool_Lean_Data_LBool___instance__2;
uint8_t l_Lean_LBool_neg(uint8_t);
uint8_t l_Bool_toLBool(uint8_t);
lean_object* l_Lean_LBool_toString___closed__1;
uint8_t l_Lean_LBool_beq(uint8_t, uint8_t);
lean_object* l_Lean_LBool_toString_match__1(lean_object*);
lean_object* l_Lean_LBool_and_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_LBool_beq___boxed(lean_object*, lean_object*);
lean_object* l_Lean_LBool_HasToString___closed__1;
lean_object* l_Lean_LBool_Lean_Data_LBool___instance__3___closed__1;
lean_object* l_toLBoolM___rarg(lean_object*, lean_object*);
static uint8_t _init_l_Lean_LBool_Inhabited() {
lean_object* l_Lean_LBool_toString_match__1___rarg(uint8_t, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_LBool_beq_match__1___rarg(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
static uint8_t _init_l_Lean_LBool_Lean_Data_LBool___instance__1() {
_start:
{
uint8_t x_1;
@ -43,6 +58,58 @@ x_1 = 0;
return x_1;
}
}
lean_object* l_Lean_LBool_neg_match__1___rarg(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
switch (x_1) {
case 0:
{
lean_object* x_5; lean_object* x_6;
lean_dec(x_4);
lean_dec(x_2);
x_5 = lean_box(0);
x_6 = lean_apply_1(x_3, x_5);
return x_6;
}
case 1:
{
lean_object* x_7; lean_object* x_8;
lean_dec(x_4);
lean_dec(x_3);
x_7 = lean_box(0);
x_8 = lean_apply_1(x_2, x_7);
return x_8;
}
default:
{
lean_object* x_9; lean_object* x_10;
lean_dec(x_3);
lean_dec(x_2);
x_9 = lean_box(0);
x_10 = lean_apply_1(x_4, x_9);
return x_10;
}
}
}
}
lean_object* l_Lean_LBool_neg_match__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_LBool_neg_match__1___rarg___boxed), 4, 0);
return x_2;
}
}
lean_object* l_Lean_LBool_neg_match__1___rarg___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_LBool_neg_match__1___rarg(x_5, x_2, x_3, x_4);
return x_6;
}
}
uint8_t l_Lean_LBool_neg(uint8_t x_1) {
_start:
{
@ -61,7 +128,9 @@ return x_3;
}
default:
{
return x_1;
uint8_t x_4;
x_4 = 2;
return x_4;
}
}
}
@ -77,6 +146,51 @@ x_4 = lean_box(x_3);
return x_4;
}
}
lean_object* l_Lean_LBool_and_match__1___rarg(uint8_t x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5;
x_5 = lean_box(x_1);
if (lean_obj_tag(x_5) == 1)
{
lean_object* x_6; lean_object* x_7;
lean_dec(x_4);
x_6 = lean_box(x_2);
x_7 = lean_apply_1(x_3, x_6);
return x_7;
}
else
{
lean_object* x_8; lean_object* x_9; lean_object* x_10;
lean_dec(x_5);
lean_dec(x_3);
x_8 = lean_box(x_1);
x_9 = lean_box(x_2);
x_10 = lean_apply_2(x_4, x_8, x_9);
return x_10;
}
}
}
lean_object* l_Lean_LBool_and_match__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_LBool_and_match__1___rarg___boxed), 4, 0);
return x_2;
}
}
lean_object* l_Lean_LBool_and_match__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
uint8_t x_5; uint8_t x_6; lean_object* x_7;
x_5 = lean_unbox(x_1);
lean_dec(x_1);
x_6 = lean_unbox(x_2);
lean_dec(x_2);
x_7 = l_Lean_LBool_and_match__1___rarg(x_5, x_6, x_3, x_4);
return x_7;
}
}
uint8_t l_Lean_LBool_and(uint8_t x_1, uint8_t x_2) {
_start:
{
@ -106,6 +220,108 @@ x_6 = lean_box(x_5);
return x_6;
}
}
lean_object* l_Lean_LBool_beq_match__1___rarg(uint8_t x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
switch (x_1) {
case 0:
{
lean_object* x_7;
lean_dec(x_5);
lean_dec(x_3);
x_7 = lean_box(x_2);
if (lean_obj_tag(x_7) == 0)
{
lean_object* x_8; lean_object* x_9;
lean_dec(x_6);
x_8 = lean_box(0);
x_9 = lean_apply_1(x_4, x_8);
return x_9;
}
else
{
lean_object* x_10; lean_object* x_11; lean_object* x_12;
lean_dec(x_7);
lean_dec(x_4);
x_10 = lean_box(x_1);
x_11 = lean_box(x_2);
x_12 = lean_apply_2(x_6, x_10, x_11);
return x_12;
}
}
case 1:
{
lean_object* x_13;
lean_dec(x_5);
lean_dec(x_4);
x_13 = lean_box(x_2);
if (lean_obj_tag(x_13) == 1)
{
lean_object* x_14; lean_object* x_15;
lean_dec(x_6);
x_14 = lean_box(0);
x_15 = lean_apply_1(x_3, x_14);
return x_15;
}
else
{
lean_object* x_16; lean_object* x_17; lean_object* x_18;
lean_dec(x_13);
lean_dec(x_3);
x_16 = lean_box(x_1);
x_17 = lean_box(x_2);
x_18 = lean_apply_2(x_6, x_16, x_17);
return x_18;
}
}
default:
{
lean_object* x_19;
lean_dec(x_4);
lean_dec(x_3);
x_19 = lean_box(x_2);
if (lean_obj_tag(x_19) == 2)
{
lean_object* x_20; lean_object* x_21;
lean_dec(x_6);
x_20 = lean_box(0);
x_21 = lean_apply_1(x_5, x_20);
return x_21;
}
else
{
lean_object* x_22; lean_object* x_23; lean_object* x_24;
lean_dec(x_19);
lean_dec(x_5);
x_22 = lean_box(x_1);
x_23 = lean_box(x_2);
x_24 = lean_apply_2(x_6, x_22, x_23);
return x_24;
}
}
}
}
}
lean_object* l_Lean_LBool_beq_match__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_LBool_beq_match__1___rarg___boxed), 6, 0);
return x_2;
}
}
lean_object* l_Lean_LBool_beq_match__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
uint8_t x_7; uint8_t x_8; lean_object* x_9;
x_7 = lean_unbox(x_1);
lean_dec(x_1);
x_8 = lean_unbox(x_2);
lean_dec(x_2);
x_9 = l_Lean_LBool_beq_match__1___rarg(x_7, x_8, x_3, x_4, x_5, x_6);
return x_9;
}
}
uint8_t l_Lean_LBool_beq(uint8_t x_1, uint8_t x_2) {
_start:
{
@ -180,7 +396,7 @@ x_6 = lean_box(x_5);
return x_6;
}
}
static lean_object* _init_l_Lean_LBool_HasBeq___closed__1() {
static lean_object* _init_l_Lean_LBool_Lean_Data_LBool___instance__2___closed__1() {
_start:
{
lean_object* x_1;
@ -188,14 +404,66 @@ x_1 = lean_alloc_closure((void*)(l_Lean_LBool_beq___boxed), 2, 0);
return x_1;
}
}
static lean_object* _init_l_Lean_LBool_HasBeq() {
static lean_object* _init_l_Lean_LBool_Lean_Data_LBool___instance__2() {
_start:
{
lean_object* x_1;
x_1 = l_Lean_LBool_HasBeq___closed__1;
x_1 = l_Lean_LBool_Lean_Data_LBool___instance__2___closed__1;
return x_1;
}
}
lean_object* l_Lean_LBool_toString_match__1___rarg(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
switch (x_1) {
case 0:
{
lean_object* x_5; lean_object* x_6;
lean_dec(x_4);
lean_dec(x_2);
x_5 = lean_box(0);
x_6 = lean_apply_1(x_3, x_5);
return x_6;
}
case 1:
{
lean_object* x_7; lean_object* x_8;
lean_dec(x_4);
lean_dec(x_3);
x_7 = lean_box(0);
x_8 = lean_apply_1(x_2, x_7);
return x_8;
}
default:
{
lean_object* x_9; lean_object* x_10;
lean_dec(x_3);
lean_dec(x_2);
x_9 = lean_box(0);
x_10 = lean_apply_1(x_4, x_9);
return x_10;
}
}
}
}
lean_object* l_Lean_LBool_toString_match__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_LBool_toString_match__1___rarg___boxed), 4, 0);
return x_2;
}
}
lean_object* l_Lean_LBool_toString_match__1___rarg___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_LBool_toString_match__1___rarg(x_5, x_2, x_3, x_4);
return x_6;
}
}
static lean_object* _init_l_Lean_LBool_toString___closed__1() {
_start:
{
@ -239,7 +507,7 @@ x_3 = l_Lean_LBool_toString(x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_LBool_HasToString___closed__1() {
static lean_object* _init_l_Lean_LBool_Lean_Data_LBool___instance__3___closed__1() {
_start:
{
lean_object* x_1;
@ -247,14 +515,53 @@ x_1 = lean_alloc_closure((void*)(l_Lean_LBool_toString___boxed), 1, 0);
return x_1;
}
}
static lean_object* _init_l_Lean_LBool_HasToString() {
static lean_object* _init_l_Lean_LBool_Lean_Data_LBool___instance__3() {
_start:
{
lean_object* x_1;
x_1 = l_Lean_LBool_HasToString___closed__1;
x_1 = l_Lean_LBool_Lean_Data_LBool___instance__3___closed__1;
return x_1;
}
}
lean_object* l_Bool_toLBool_match__1___rarg(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
if (x_1 == 0)
{
lean_object* x_4; lean_object* x_5;
lean_dec(x_2);
x_4 = lean_box(0);
x_5 = lean_apply_1(x_3, x_4);
return x_5;
}
else
{
lean_object* x_6; lean_object* x_7;
lean_dec(x_3);
x_6 = lean_box(0);
x_7 = lean_apply_1(x_2, x_6);
return x_7;
}
}
}
lean_object* l_Bool_toLBool_match__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Bool_toLBool_match__1___rarg___boxed), 3, 0);
return x_2;
}
}
lean_object* l_Bool_toLBool_match__1___rarg___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_Bool_toLBool_match__1___rarg(x_4, x_2, x_3);
return x_5;
}
}
uint8_t l_Bool_toLBool(uint8_t x_1) {
_start:
{
@ -338,17 +645,17 @@ _G_initialized = true;
res = initialize_Init(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_LBool_Inhabited = _init_l_Lean_LBool_Inhabited();
l_Lean_LBool_HasBeq___closed__1 = _init_l_Lean_LBool_HasBeq___closed__1();
lean_mark_persistent(l_Lean_LBool_HasBeq___closed__1);
l_Lean_LBool_HasBeq = _init_l_Lean_LBool_HasBeq();
lean_mark_persistent(l_Lean_LBool_HasBeq);
l_Lean_LBool_Lean_Data_LBool___instance__1 = _init_l_Lean_LBool_Lean_Data_LBool___instance__1();
l_Lean_LBool_Lean_Data_LBool___instance__2___closed__1 = _init_l_Lean_LBool_Lean_Data_LBool___instance__2___closed__1();
lean_mark_persistent(l_Lean_LBool_Lean_Data_LBool___instance__2___closed__1);
l_Lean_LBool_Lean_Data_LBool___instance__2 = _init_l_Lean_LBool_Lean_Data_LBool___instance__2();
lean_mark_persistent(l_Lean_LBool_Lean_Data_LBool___instance__2);
l_Lean_LBool_toString___closed__1 = _init_l_Lean_LBool_toString___closed__1();
lean_mark_persistent(l_Lean_LBool_toString___closed__1);
l_Lean_LBool_HasToString___closed__1 = _init_l_Lean_LBool_HasToString___closed__1();
lean_mark_persistent(l_Lean_LBool_HasToString___closed__1);
l_Lean_LBool_HasToString = _init_l_Lean_LBool_HasToString();
lean_mark_persistent(l_Lean_LBool_HasToString);
l_Lean_LBool_Lean_Data_LBool___instance__3___closed__1 = _init_l_Lean_LBool_Lean_Data_LBool___instance__3___closed__1();
lean_mark_persistent(l_Lean_LBool_Lean_Data_LBool___instance__3___closed__1);
l_Lean_LBool_Lean_Data_LBool___instance__3 = _init_l_Lean_LBool_Lean_Data_LBool___instance__3();
lean_mark_persistent(l_Lean_LBool_Lean_Data_LBool___instance__3);
return lean_io_result_mk_ok(lean_box(0));
}
#ifdef __cplusplus

View file

@ -13,26 +13,32 @@
#ifdef __cplusplus
extern "C" {
#endif
lean_object* l_Lean_LOption_beq_match__1(lean_object*, lean_object*);
extern lean_object* l_Option_HasRepr___rarg___closed__2;
lean_object* l_toLOptionM___rarg___lambda__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_LOption_beq_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Option_toLOption___rarg(lean_object*);
lean_object* l_toLOptionM(lean_object*, lean_object*);
extern lean_object* l_Option_HasRepr___rarg___closed__1;
lean_object* l_Lean_LOption_HasBeq(lean_object*);
lean_object* l_Lean_LOption_Lean_Data_LOption___instance__2___rarg(lean_object*, lean_object*);
lean_object* l_Lean_LOption_Lean_Data_LOption___instance__2_match__1(lean_object*, lean_object*);
lean_object* l_Lean_LOption_beq___rarg(lean_object*, lean_object*, lean_object*);
lean_object* lean_string_append(lean_object*, lean_object*);
lean_object* l_Lean_LOption_HasToString___rarg___closed__1;
lean_object* l_Lean_LOption_beq(lean_object*);
lean_object* l_Lean_LOption_Lean_Data_LOption___instance__2(lean_object*);
extern lean_object* l_ULift_HasRepr___rarg___closed__2;
lean_object* l_Lean_LOption_HasToString___rarg(lean_object*, lean_object*);
lean_object* l_Lean_LOption_HasToString(lean_object*);
lean_object* l_Lean_LOption_Inhabited(lean_object*);
lean_object* l_Lean_LOption_HasBeq___rarg(lean_object*);
lean_object* l_Lean_LOption_Lean_Data_LOption___instance__1(lean_object*);
lean_object* l_Lean_LOption_Lean_Data_LOption___instance__3___rarg(lean_object*);
lean_object* l_Option_toLOption___rarg___boxed(lean_object*);
lean_object* l_Lean_LOption_Lean_Data_LOption___instance__3(lean_object*);
lean_object* l_Option_toLOption(lean_object*);
lean_object* l_Option_toLOption_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_toLOptionM___rarg(lean_object*, lean_object*);
lean_object* l_toLOptionM___rarg___lambda__1(lean_object*, lean_object*);
lean_object* l_Lean_LOption_Inhabited(lean_object* x_1) {
lean_object* l_Lean_LOption_Lean_Data_LOption___instance__2_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Option_toLOption_match__1(lean_object*, lean_object*);
lean_object* l_Lean_LOption_Lean_Data_LOption___instance__2___rarg___closed__1;
lean_object* l_Lean_LOption_Lean_Data_LOption___instance__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
@ -40,7 +46,51 @@ x_2 = lean_box(0);
return x_2;
}
}
static lean_object* _init_l_Lean_LOption_HasToString___rarg___closed__1() {
lean_object* l_Lean_LOption_Lean_Data_LOption___instance__2_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
switch (lean_obj_tag(x_1)) {
case 0:
{
lean_object* x_5; lean_object* x_6;
lean_dec(x_4);
lean_dec(x_3);
x_5 = lean_box(0);
x_6 = lean_apply_1(x_2, x_5);
return x_6;
}
case 1:
{
lean_object* x_7; lean_object* x_8;
lean_dec(x_3);
lean_dec(x_2);
x_7 = lean_ctor_get(x_1, 0);
lean_inc(x_7);
lean_dec(x_1);
x_8 = lean_apply_1(x_4, x_7);
return x_8;
}
default:
{
lean_object* x_9; lean_object* x_10;
lean_dec(x_4);
lean_dec(x_2);
x_9 = lean_box(0);
x_10 = lean_apply_1(x_3, x_9);
return x_10;
}
}
}
}
lean_object* l_Lean_LOption_Lean_Data_LOption___instance__2_match__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_Lean_LOption_Lean_Data_LOption___instance__2_match__1___rarg), 4, 0);
return x_3;
}
}
static lean_object* _init_l_Lean_LOption_Lean_Data_LOption___instance__2___rarg___closed__1() {
_start:
{
lean_object* x_1;
@ -48,7 +98,7 @@ x_1 = lean_mk_string("undef");
return x_1;
}
}
lean_object* l_Lean_LOption_HasToString___rarg(lean_object* x_1, lean_object* x_2) {
lean_object* l_Lean_LOption_Lean_Data_LOption___instance__2___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
switch (lean_obj_tag(x_2)) {
@ -77,20 +127,100 @@ default:
{
lean_object* x_10;
lean_dec(x_1);
x_10 = l_Lean_LOption_HasToString___rarg___closed__1;
x_10 = l_Lean_LOption_Lean_Data_LOption___instance__2___rarg___closed__1;
return x_10;
}
}
}
}
lean_object* l_Lean_LOption_HasToString(lean_object* x_1) {
lean_object* l_Lean_LOption_Lean_Data_LOption___instance__2(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_LOption_HasToString___rarg), 2, 0);
x_2 = lean_alloc_closure((void*)(l_Lean_LOption_Lean_Data_LOption___instance__2___rarg), 2, 0);
return x_2;
}
}
lean_object* l_Lean_LOption_beq_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
switch (lean_obj_tag(x_1)) {
case 0:
{
lean_dec(x_5);
lean_dec(x_4);
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_7; lean_object* x_8;
lean_dec(x_6);
x_7 = lean_box(0);
x_8 = lean_apply_1(x_3, x_7);
return x_8;
}
else
{
lean_object* x_9;
lean_dec(x_3);
x_9 = lean_apply_2(x_6, x_1, x_2);
return x_9;
}
}
case 1:
{
lean_dec(x_4);
lean_dec(x_3);
if (lean_obj_tag(x_2) == 1)
{
lean_object* x_10; lean_object* x_11; lean_object* x_12;
lean_dec(x_6);
x_10 = lean_ctor_get(x_1, 0);
lean_inc(x_10);
lean_dec(x_1);
x_11 = lean_ctor_get(x_2, 0);
lean_inc(x_11);
lean_dec(x_2);
x_12 = lean_apply_2(x_5, x_10, x_11);
return x_12;
}
else
{
lean_object* x_13;
lean_dec(x_5);
x_13 = lean_apply_2(x_6, x_1, x_2);
return x_13;
}
}
default:
{
lean_dec(x_5);
lean_dec(x_3);
if (lean_obj_tag(x_2) == 2)
{
lean_object* x_14; lean_object* x_15;
lean_dec(x_6);
x_14 = lean_box(0);
x_15 = lean_apply_1(x_4, x_14);
return x_15;
}
else
{
lean_object* x_16;
lean_dec(x_4);
x_16 = lean_apply_2(x_6, x_1, x_2);
return x_16;
}
}
}
}
}
lean_object* l_Lean_LOption_beq_match__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_Lean_LOption_beq_match__1___rarg), 6, 0);
return x_3;
}
}
lean_object* l_Lean_LOption_beq___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@ -169,7 +299,7 @@ x_2 = lean_alloc_closure((void*)(l_Lean_LOption_beq___rarg), 3, 0);
return x_2;
}
}
lean_object* l_Lean_LOption_HasBeq___rarg(lean_object* x_1) {
lean_object* l_Lean_LOption_Lean_Data_LOption___instance__3___rarg(lean_object* x_1) {
_start:
{
lean_object* x_2;
@ -178,14 +308,45 @@ lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
lean_object* l_Lean_LOption_HasBeq(lean_object* x_1) {
lean_object* l_Lean_LOption_Lean_Data_LOption___instance__3(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_LOption_HasBeq___rarg), 1, 0);
x_2 = lean_alloc_closure((void*)(l_Lean_LOption_Lean_Data_LOption___instance__3___rarg), 1, 0);
return x_2;
}
}
lean_object* l_Option_toLOption_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
if (lean_obj_tag(x_1) == 0)
{
lean_object* x_4; lean_object* x_5;
lean_dec(x_3);
x_4 = lean_box(0);
x_5 = lean_apply_1(x_2, x_4);
return x_5;
}
else
{
lean_object* x_6; lean_object* x_7;
lean_dec(x_2);
x_6 = lean_ctor_get(x_1, 0);
lean_inc(x_6);
lean_dec(x_1);
x_7 = lean_apply_1(x_3, x_6);
return x_7;
}
}
}
lean_object* l_Option_toLOption_match__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_Option_toLOption_match__1___rarg), 3, 0);
return x_3;
}
}
lean_object* l_Option_toLOption___rarg(lean_object* x_1) {
_start:
{
@ -276,8 +437,8 @@ _G_initialized = true;
res = initialize_Init(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_LOption_HasToString___rarg___closed__1 = _init_l_Lean_LOption_HasToString___rarg___closed__1();
lean_mark_persistent(l_Lean_LOption_HasToString___rarg___closed__1);
l_Lean_LOption_Lean_Data_LOption___instance__2___rarg___closed__1 = _init_l_Lean_LOption_Lean_Data_LOption___instance__2___rarg___closed__1();
lean_mark_persistent(l_Lean_LOption_Lean_Data_LOption___instance__2___rarg___closed__1);
return lean_io_result_mk_ok(lean_box(0));
}
#ifdef __cplusplus

View file

@ -16,6 +16,7 @@ extern "C" {
lean_object* l_Lean_Lsp_Trace_hasFromJson___boxed(lean_object*);
lean_object* l_Lean_Lsp_Trace_hasFromJson___closed__1;
lean_object* l_Lean_Lsp_ServerInfo_hasToJson___boxed(lean_object*);
extern lean_object* l_Lean_initFn____x40_Lean_Data_Options___hyg_481____closed__1;
lean_object* l_Lean_Lsp_ClientInfo_hasFromJson___boxed(lean_object*);
lean_object* l_Lean_Json_getObjValAs_x3f___at_Lean_Lsp_Location_hasFromJson___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Lsp_ClientInfo_hasFromJson(lean_object*);
@ -47,7 +48,6 @@ lean_object* l_Lean_Json_opt___at_Lean_Lsp_InitializeResult_hasToJson___spec__1(
lean_object* l_Lean_Lsp_InitializeParams_hasFromJson___closed__5;
lean_object* l_Lean_Lsp_InitializeParams_hasFromJson___closed__7;
lean_object* l_Lean_Lsp_Trace_hasFromJson___closed__5;
extern lean_object* l_Lean_verboseOption___closed__1;
lean_object* l_Lean_Lsp_Trace_hasFromJson___closed__3;
lean_object* l_Lean_Json_mkObj(lean_object*);
lean_object* l_Lean_Json_getObjValAs_x3f___at_Lean_Lsp_InitializeParams_hasFromJson___spec__5(lean_object*, lean_object*);
@ -206,7 +206,7 @@ x_8 = lean_string_dec_eq(x_4, x_7);
if (x_8 == 0)
{
lean_object* x_9; uint8_t x_10;
x_9 = l_Lean_verboseOption___closed__1;
x_9 = l_Lean_initFn____x40_Lean_Data_Options___hyg_481____closed__1;
x_10 = lean_string_dec_eq(x_4, x_9);
lean_dec(x_4);
if (x_10 == 0)
@ -396,7 +396,7 @@ x_12 = lean_string_dec_eq(x_8, x_11);
if (x_12 == 0)
{
lean_object* x_13; uint8_t x_14;
x_13 = l_Lean_verboseOption___closed__1;
x_13 = l_Lean_initFn____x40_Lean_Data_Options___hyg_481____closed__1;
x_14 = lean_string_dec_eq(x_8, x_13);
lean_dec(x_8);
if (x_14 == 0)

File diff suppressed because it is too large Load diff

View file

@ -13,21 +13,27 @@
#ifdef __cplusplus
extern "C" {
#endif
lean_object* l_Lean_Occurrences_beq_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Occurrences_isAll_match__1(lean_object*);
lean_object* l_Lean_Occurrences_contains___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Occurrences_contains_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Occurrences_beq_match__1(lean_object*);
uint8_t l_List_elem___main___at_Lean_Occurrences_contains___spec__1(lean_object*, lean_object*);
uint8_t l_Lean_Occurrences_beq(lean_object*, lean_object*);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Occurrences_HasBeq;
uint8_t l_Lean_Occurrences_contains(lean_object*, lean_object*);
uint8_t l_List_beq___main___at_Lean_Occurrences_beq___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Occurrences_Lean_Data_Occurrences___instance__2;
lean_object* l_Lean_Occurrences_beq___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Occurrences_Inhabited;
lean_object* l_Lean_Occurrences_HasBeq___closed__1;
lean_object* l_List_elem___main___at_Lean_Occurrences_contains___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Occurrences_Lean_Data_Occurrences___instance__2___closed__1;
lean_object* l_Lean_Occurrences_contains_match__1(lean_object*);
lean_object* l_Lean_Occurrences_isAll_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Occurrences_isAll___boxed(lean_object*);
uint8_t l_Lean_Occurrences_isAll(lean_object*);
lean_object* l_List_beq___main___at_Lean_Occurrences_beq___spec__1___boxed(lean_object*, lean_object*);
static lean_object* _init_l_Lean_Occurrences_Inhabited() {
lean_object* l_Lean_Occurrences_Lean_Data_Occurrences___instance__1;
static lean_object* _init_l_Lean_Occurrences_Lean_Data_Occurrences___instance__1() {
_start:
{
lean_object* x_1;
@ -35,6 +41,51 @@ x_1 = lean_box(0);
return x_1;
}
}
lean_object* l_Lean_Occurrences_contains_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
switch (lean_obj_tag(x_1)) {
case 0:
{
lean_object* x_6;
lean_dec(x_5);
lean_dec(x_4);
x_6 = lean_apply_1(x_3, x_2);
return x_6;
}
case 1:
{
lean_object* x_7; lean_object* x_8;
lean_dec(x_5);
lean_dec(x_3);
x_7 = lean_ctor_get(x_1, 0);
lean_inc(x_7);
lean_dec(x_1);
x_8 = lean_apply_2(x_4, x_7, x_2);
return x_8;
}
default:
{
lean_object* x_9; lean_object* x_10;
lean_dec(x_4);
lean_dec(x_3);
x_9 = lean_ctor_get(x_1, 0);
lean_inc(x_9);
lean_dec(x_1);
x_10 = lean_apply_2(x_5, x_9, x_2);
return x_10;
}
}
}
}
lean_object* l_Lean_Occurrences_contains_match__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_Occurrences_contains_match__1___rarg), 5, 0);
return x_2;
}
}
uint8_t l_List_elem___main___at_Lean_Occurrences_contains___spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@ -124,6 +175,34 @@ x_4 = lean_box(x_3);
return x_4;
}
}
lean_object* l_Lean_Occurrences_isAll_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
if (lean_obj_tag(x_1) == 0)
{
lean_object* x_4; lean_object* x_5;
lean_dec(x_3);
x_4 = lean_box(0);
x_5 = lean_apply_1(x_2, x_4);
return x_5;
}
else
{
lean_object* x_6;
lean_dec(x_2);
x_6 = lean_apply_1(x_3, x_1);
return x_6;
}
}
}
lean_object* l_Lean_Occurrences_isAll_match__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_Occurrences_isAll_match__1___rarg), 3, 0);
return x_2;
}
}
uint8_t l_Lean_Occurrences_isAll(lean_object* x_1) {
_start:
{
@ -151,6 +230,91 @@ x_3 = lean_box(x_2);
return x_3;
}
}
lean_object* l_Lean_Occurrences_beq_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
switch (lean_obj_tag(x_1)) {
case 0:
{
lean_dec(x_5);
lean_dec(x_4);
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_7; lean_object* x_8;
lean_dec(x_6);
x_7 = lean_box(0);
x_8 = lean_apply_1(x_3, x_7);
return x_8;
}
else
{
lean_object* x_9;
lean_dec(x_3);
x_9 = lean_apply_2(x_6, x_1, x_2);
return x_9;
}
}
case 1:
{
lean_dec(x_5);
lean_dec(x_3);
if (lean_obj_tag(x_2) == 1)
{
lean_object* x_10; lean_object* x_11; lean_object* x_12;
lean_dec(x_6);
x_10 = lean_ctor_get(x_1, 0);
lean_inc(x_10);
lean_dec(x_1);
x_11 = lean_ctor_get(x_2, 0);
lean_inc(x_11);
lean_dec(x_2);
x_12 = lean_apply_2(x_4, x_10, x_11);
return x_12;
}
else
{
lean_object* x_13;
lean_dec(x_4);
x_13 = lean_apply_2(x_6, x_1, x_2);
return x_13;
}
}
default:
{
lean_dec(x_4);
lean_dec(x_3);
if (lean_obj_tag(x_2) == 2)
{
lean_object* x_14; lean_object* x_15; lean_object* x_16;
lean_dec(x_6);
x_14 = lean_ctor_get(x_1, 0);
lean_inc(x_14);
lean_dec(x_1);
x_15 = lean_ctor_get(x_2, 0);
lean_inc(x_15);
lean_dec(x_2);
x_16 = lean_apply_2(x_5, x_14, x_15);
return x_16;
}
else
{
lean_object* x_17;
lean_dec(x_5);
x_17 = lean_apply_2(x_6, x_1, x_2);
return x_17;
}
}
}
}
}
lean_object* l_Lean_Occurrences_beq_match__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_Occurrences_beq_match__1___rarg), 6, 0);
return x_2;
}
}
uint8_t l_List_beq___main___at_Lean_Occurrences_beq___spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@ -279,7 +443,7 @@ x_4 = lean_box(x_3);
return x_4;
}
}
static lean_object* _init_l_Lean_Occurrences_HasBeq___closed__1() {
static lean_object* _init_l_Lean_Occurrences_Lean_Data_Occurrences___instance__2___closed__1() {
_start:
{
lean_object* x_1;
@ -287,11 +451,11 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Occurrences_beq___boxed), 2, 0);
return x_1;
}
}
static lean_object* _init_l_Lean_Occurrences_HasBeq() {
static lean_object* _init_l_Lean_Occurrences_Lean_Data_Occurrences___instance__2() {
_start:
{
lean_object* x_1;
x_1 = l_Lean_Occurrences_HasBeq___closed__1;
x_1 = l_Lean_Occurrences_Lean_Data_Occurrences___instance__2___closed__1;
return x_1;
}
}
@ -304,12 +468,12 @@ _G_initialized = true;
res = initialize_Init(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_Occurrences_Inhabited = _init_l_Lean_Occurrences_Inhabited();
lean_mark_persistent(l_Lean_Occurrences_Inhabited);
l_Lean_Occurrences_HasBeq___closed__1 = _init_l_Lean_Occurrences_HasBeq___closed__1();
lean_mark_persistent(l_Lean_Occurrences_HasBeq___closed__1);
l_Lean_Occurrences_HasBeq = _init_l_Lean_Occurrences_HasBeq();
lean_mark_persistent(l_Lean_Occurrences_HasBeq);
l_Lean_Occurrences_Lean_Data_Occurrences___instance__1 = _init_l_Lean_Occurrences_Lean_Data_Occurrences___instance__1();
lean_mark_persistent(l_Lean_Occurrences_Lean_Data_Occurrences___instance__1);
l_Lean_Occurrences_Lean_Data_Occurrences___instance__2___closed__1 = _init_l_Lean_Occurrences_Lean_Data_Occurrences___instance__2___closed__1();
lean_mark_persistent(l_Lean_Occurrences_Lean_Data_Occurrences___instance__2___closed__1);
l_Lean_Occurrences_Lean_Data_Occurrences___instance__2 = _init_l_Lean_Occurrences_Lean_Data_Occurrences___instance__2();
lean_mark_persistent(l_Lean_Occurrences_Lean_Data_Occurrences___instance__2);
return lean_io_result_mk_ok(lean_box(0));
}
#ifdef __cplusplus

View file

@ -14,31 +14,33 @@
extern "C" {
#endif
lean_object* l_Lean_rootNamespace;
lean_object* l_List_toString___at_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___spec__2(lean_object*);
extern lean_object* l_List_repr___rarg___closed__1;
uint8_t lean_name_eq(lean_object*, lean_object*);
lean_object* l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___closed__2;
lean_object* l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__1;
lean_object* lean_string_append(lean_object*, lean_object*);
uint8_t l_List_beq___main___at_Lean_OpenDecl_HasToString___spec__1(lean_object*, lean_object*);
extern lean_object* l_String_splitAux___main___closed__1;
extern lean_object* l_List_repr___rarg___closed__3;
lean_object* l_Lean_rootNamespace___closed__1;
lean_object* l_Lean_rootNamespace___closed__2;
lean_object* l_Lean_OpenDecl_Inhabited___closed__1;
lean_object* l_List_toStringAux___main___at_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___spec__3(uint8_t, lean_object*);
lean_object* l_Lean_removeRoot(lean_object*);
lean_object* l_List_toStringAux___main___at_Lean_OpenDecl_HasToString___spec__3___boxed(lean_object*, lean_object*);
lean_object* l_List_toStringAux___main___at_Lean_OpenDecl_HasToString___spec__3(uint8_t, lean_object*);
lean_object* l_Lean_OpenDecl_HasToString___closed__1;
lean_object* l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__1___closed__1;
lean_object* lean_name_mk_string(lean_object*, lean_object*);
extern lean_object* l_List_repr___rarg___closed__2;
extern lean_object* l_List_reprAux___main___rarg___closed__1;
lean_object* l_List_beq___main___at_Lean_OpenDecl_HasToString___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Name_replacePrefix___main(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_OpenDecl_HasToString___closed__2;
lean_object* l_List_toString___at_Lean_OpenDecl_HasToString___spec__2(lean_object*);
lean_object* l_Lean_OpenDecl_HasToString(lean_object*);
lean_object* l_Lean_OpenDecl_Inhabited;
lean_object* l_List_toStringAux___main___at_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___spec__3___boxed(lean_object*, lean_object*);
lean_object* l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2_match__1(lean_object*);
lean_object* l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2(lean_object*);
lean_object* l_List_beq___main___at_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___spec__1___boxed(lean_object*, lean_object*);
extern lean_object* l_System_FilePath_dirName___closed__1;
lean_object* l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___closed__1;
lean_object* l_Lean_Name_toStringWithSep___main(lean_object*, lean_object*);
static lean_object* _init_l_Lean_OpenDecl_Inhabited___closed__1() {
lean_object* l_Lean_Name_replacePrefix(lean_object*, lean_object*, lean_object*);
uint8_t l_List_beq___main___at_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___spec__1(lean_object*, lean_object*);
static lean_object* _init_l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__1___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@ -50,15 +52,52 @@ lean_ctor_set(x_3, 1, x_1);
return x_3;
}
}
static lean_object* _init_l_Lean_OpenDecl_Inhabited() {
static lean_object* _init_l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__1() {
_start:
{
lean_object* x_1;
x_1 = l_Lean_OpenDecl_Inhabited___closed__1;
x_1 = l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__1___closed__1;
return x_1;
}
}
uint8_t l_List_beq___main___at_Lean_OpenDecl_HasToString___spec__1(lean_object* x_1, lean_object* x_2) {
lean_object* l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
if (lean_obj_tag(x_1) == 0)
{
lean_object* x_4; lean_object* x_5; lean_object* x_6;
lean_dec(x_2);
x_4 = lean_ctor_get(x_1, 0);
lean_inc(x_4);
x_5 = lean_ctor_get(x_1, 1);
lean_inc(x_5);
lean_dec(x_1);
x_6 = lean_apply_2(x_3, x_4, x_5);
return x_6;
}
else
{
lean_object* x_7; lean_object* x_8; lean_object* x_9;
lean_dec(x_3);
x_7 = lean_ctor_get(x_1, 0);
lean_inc(x_7);
x_8 = lean_ctor_get(x_1, 1);
lean_inc(x_8);
lean_dec(x_1);
x_9 = lean_apply_2(x_2, x_7, x_8);
return x_9;
}
}
}
lean_object* l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2_match__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2_match__1___rarg), 3, 0);
return x_2;
}
}
uint8_t l_List_beq___main___at_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -108,7 +147,7 @@ goto _start;
}
}
}
lean_object* l_List_toStringAux___main___at_Lean_OpenDecl_HasToString___spec__3(uint8_t x_1, lean_object* x_2) {
lean_object* l_List_toStringAux___main___at_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___spec__3(uint8_t x_1, lean_object* x_2) {
_start:
{
if (x_1 == 0)
@ -132,7 +171,7 @@ x_7 = l_Lean_Name_toStringWithSep___main(x_6, x_4);
x_8 = l_List_reprAux___main___rarg___closed__1;
x_9 = lean_string_append(x_8, x_7);
lean_dec(x_7);
x_10 = l_List_toStringAux___main___at_Lean_OpenDecl_HasToString___spec__3(x_1, x_5);
x_10 = l_List_toStringAux___main___at_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___spec__3(x_1, x_5);
x_11 = lean_string_append(x_9, x_10);
lean_dec(x_10);
return x_11;
@ -157,7 +196,7 @@ lean_dec(x_2);
x_15 = l_System_FilePath_dirName___closed__1;
x_16 = l_Lean_Name_toStringWithSep___main(x_15, x_13);
x_17 = 0;
x_18 = l_List_toStringAux___main___at_Lean_OpenDecl_HasToString___spec__3(x_17, x_14);
x_18 = l_List_toStringAux___main___at_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___spec__3(x_17, x_14);
x_19 = lean_string_append(x_16, x_18);
lean_dec(x_18);
return x_19;
@ -165,7 +204,7 @@ return x_19;
}
}
}
lean_object* l_List_toString___at_Lean_OpenDecl_HasToString___spec__2(lean_object* x_1) {
lean_object* l_List_toString___at_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___spec__2(lean_object* x_1) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -178,7 +217,7 @@ else
{
uint8_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_3 = 1;
x_4 = l_List_toStringAux___main___at_Lean_OpenDecl_HasToString___spec__3(x_3, x_1);
x_4 = l_List_toStringAux___main___at_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___spec__3(x_3, x_1);
x_5 = l_List_repr___rarg___closed__2;
x_6 = lean_string_append(x_5, x_4);
lean_dec(x_4);
@ -188,7 +227,7 @@ return x_8;
}
}
}
static lean_object* _init_l_Lean_OpenDecl_HasToString___closed__1() {
static lean_object* _init_l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___closed__1() {
_start:
{
lean_object* x_1;
@ -196,7 +235,7 @@ x_1 = lean_mk_string(" hiding ");
return x_1;
}
}
static lean_object* _init_l_Lean_OpenDecl_HasToString___closed__2() {
static lean_object* _init_l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___closed__2() {
_start:
{
lean_object* x_1;
@ -204,7 +243,7 @@ x_1 = lean_mk_string(" → ");
return x_1;
}
}
lean_object* l_Lean_OpenDecl_HasToString(lean_object* x_1) {
lean_object* l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2(lean_object* x_1) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -218,12 +257,12 @@ lean_dec(x_1);
x_4 = l_System_FilePath_dirName___closed__1;
x_5 = l_Lean_Name_toStringWithSep___main(x_4, x_2);
x_6 = lean_box(0);
x_7 = l_List_beq___main___at_Lean_OpenDecl_HasToString___spec__1(x_3, x_6);
x_7 = l_List_beq___main___at_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___spec__1(x_3, x_6);
if (x_7 == 0)
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_8 = l_List_toString___at_Lean_OpenDecl_HasToString___spec__2(x_3);
x_9 = l_Lean_OpenDecl_HasToString___closed__1;
x_8 = l_List_toString___at_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___spec__2(x_3);
x_9 = l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___closed__1;
x_10 = lean_string_append(x_9, x_8);
lean_dec(x_8);
x_11 = lean_string_append(x_5, x_10);
@ -249,7 +288,7 @@ lean_inc(x_15);
lean_dec(x_1);
x_16 = l_System_FilePath_dirName___closed__1;
x_17 = l_Lean_Name_toStringWithSep___main(x_16, x_14);
x_18 = l_Lean_OpenDecl_HasToString___closed__2;
x_18 = l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___closed__2;
x_19 = lean_string_append(x_17, x_18);
x_20 = l_Lean_Name_toStringWithSep___main(x_16, x_15);
x_21 = lean_string_append(x_19, x_20);
@ -258,24 +297,24 @@ return x_21;
}
}
}
lean_object* l_List_beq___main___at_Lean_OpenDecl_HasToString___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_List_beq___main___at_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_3; lean_object* x_4;
x_3 = l_List_beq___main___at_Lean_OpenDecl_HasToString___spec__1(x_1, x_2);
x_3 = l_List_beq___main___at_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___spec__1(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
x_4 = lean_box(x_3);
return x_4;
}
}
lean_object* l_List_toStringAux___main___at_Lean_OpenDecl_HasToString___spec__3___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_List_toStringAux___main___at_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___spec__3___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_List_toStringAux___main___at_Lean_OpenDecl_HasToString___spec__3(x_3, x_2);
x_4 = l_List_toStringAux___main___at_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___spec__3(x_3, x_2);
return x_4;
}
}
@ -311,7 +350,7 @@ _start:
lean_object* x_2; lean_object* x_3; lean_object* x_4;
x_2 = l_Lean_rootNamespace;
x_3 = lean_box(0);
x_4 = l_Lean_Name_replacePrefix___main(x_1, x_2, x_3);
x_4 = l_Lean_Name_replacePrefix(x_1, x_2, x_3);
return x_4;
}
}
@ -328,14 +367,14 @@ lean_dec_ref(res);
res = initialize_Lean_Data_Name(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_OpenDecl_Inhabited___closed__1 = _init_l_Lean_OpenDecl_Inhabited___closed__1();
lean_mark_persistent(l_Lean_OpenDecl_Inhabited___closed__1);
l_Lean_OpenDecl_Inhabited = _init_l_Lean_OpenDecl_Inhabited();
lean_mark_persistent(l_Lean_OpenDecl_Inhabited);
l_Lean_OpenDecl_HasToString___closed__1 = _init_l_Lean_OpenDecl_HasToString___closed__1();
lean_mark_persistent(l_Lean_OpenDecl_HasToString___closed__1);
l_Lean_OpenDecl_HasToString___closed__2 = _init_l_Lean_OpenDecl_HasToString___closed__2();
lean_mark_persistent(l_Lean_OpenDecl_HasToString___closed__2);
l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__1___closed__1 = _init_l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__1___closed__1();
lean_mark_persistent(l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__1___closed__1);
l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__1 = _init_l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__1();
lean_mark_persistent(l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__1);
l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___closed__1 = _init_l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___closed__1();
lean_mark_persistent(l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___closed__1);
l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___closed__2 = _init_l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___closed__2();
lean_mark_persistent(l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___closed__2);
l_Lean_rootNamespace___closed__1 = _init_l_Lean_rootNamespace___closed__1();
lean_mark_persistent(l_Lean_rootNamespace___closed__1);
l_Lean_rootNamespace___closed__2 = _init_l_Lean_rootNamespace___closed__2();

File diff suppressed because it is too large Load diff

View file

@ -13,66 +13,115 @@
#ifdef __cplusplus
extern "C" {
#endif
lean_object* l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(lean_object*);
lean_object* l_Lean_FileMap_toPosition_match__1(lean_object*);
lean_object* l_Lean_Position_Lean_Data_Position___instance__1_match__2___rarg(lean_object*, lean_object*);
lean_object* lean_nat_div(lean_object*, lean_object*);
lean_object* l_Lean_Position_Lean_Data_Position___instance__4;
lean_object* l_Lean_FileMap_ofString_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_FileMap_ofString___closed__2;
lean_object* l_Lean_Position_Inhabited;
lean_object* l_Lean_Position_HasToString(lean_object*);
extern lean_object* l_Array_empty___closed__1;
extern lean_object* l_Sigma_HasRepr___rarg___closed__1;
lean_object* l_Nat_decLt___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Position_Inhabited___closed__1;
lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
lean_object* lean_string_append(lean_object*, lean_object*);
lean_object* l___private_Lean_Data_Position_1__ofStringAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(lean_object*);
lean_object* l_prodHasDecidableLt___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_formatKVMap___closed__1;
lean_object* l_Lean_Position_Lean_Data_Position___instance__1___boxed(lean_object*, lean_object*);
extern lean_object* l_String_splitAux___main___closed__1;
lean_object* l_Lean_Position_Lean_Data_Position___instance__1_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_FileMap_ofString___closed__1;
lean_object* l_Lean_Position_Lean_Data_Position___instance__2_match__1___rarg(lean_object*, lean_object*);
extern lean_object* l_Sigma_HasRepr___rarg___closed__2;
lean_object* l_Lean_Position_lt(lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* l___private_Lean_Data_Position_2__toColumnAux(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_string_utf8_next(lean_object*, lean_object*);
lean_object* l_Lean_FileMap_Lean_Data_Position___instance__5;
lean_object* l_Lean_FileMap_toPosition_toColumn(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Position_Lean_HasFormat(lean_object*);
lean_object* l_Lean_Position_Lean_Data_Position___instance__2(lean_object*);
lean_object* lean_nat_sub(lean_object*, lean_object*);
lean_object* l_Array_back___at_Lean_FileMap_toPosition___spec__1___boxed(lean_object*);
lean_object* l___private_Lean_Data_Position_3__toPositionAux___main___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Position_Lean_Data_Position___instance__2_match__1(lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Data_Position_2__toColumnAux___main(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Data_Position_2__toColumnAux___main___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_FileMap_toPosition_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Nat_repr(lean_object*);
lean_object* l___private_Lean_Data_Position_1__ofStringAux___main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_List_reprAux___main___rarg___closed__1;
lean_object* l_Lean_Position_Lean_Data_Position___instance__3_match__1(lean_object*);
uint32_t lean_string_utf8_get(lean_object*, lean_object*);
lean_object* l___private_Lean_Data_Position_2__toColumnAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_FileMap_toPosition(lean_object*, lean_object*);
lean_object* l_Lean_FileMap_toPosition_loop___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_FileMap_ofString(lean_object*);
lean_object* l_Lean_Position_Lean_HasFormat___closed__2;
lean_object* l_Lean_FileMap_Inhabited;
lean_object* l___private_Lean_Data_Position_3__toPositionAux___main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_FileMap_toPosition_toColumn___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_FileMap_toPosition_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_UInt32_decEq(uint32_t, uint32_t);
lean_object* l_Lean_Position_Lean_HasFormat___closed__1;
uint8_t l_Lean_Position_Lean_Data_Position___instance__1(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
lean_object* l_Lean_Position_Lean_Data_Position___instance__2___closed__1;
lean_object* l_Array_back___at_Lean_FileMap_toPosition___spec__1(lean_object*);
lean_object* l_Lean_Position_DecidableEq___boxed(lean_object*, lean_object*);
lean_object* l_Lean_FileMap_Inhabited___closed__1;
lean_object* l___private_Lean_Data_Position_3__toPositionAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Position_Lean_Data_Position___instance__3_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Position_Lean_Data_Position___instance__3(lean_object*);
lean_object* l_Lean_Position_Lean_Data_Position___instance__2___closed__2;
lean_object* l_Lean_Position_Lean_Data_Position___instance__1_match__1(lean_object*);
lean_object* l_Lean_Position_Lean_Data_Position___instance__4___closed__1;
lean_object* l_Lean_Position_lt___closed__1;
uint8_t l_Lean_Position_DecidableEq(lean_object*, lean_object*);
lean_object* l_Lean_Position_Lean_Data_Position___instance__1_match__2(lean_object*);
lean_object* l_Lean_FileMap_Lean_Data_Position___instance__5___closed__1;
extern lean_object* l_Lean_mkOptionalNode___closed__2;
lean_object* l___private_Lean_Data_Position_3__toPositionAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Nat_Inhabited;
uint8_t lean_string_utf8_at_end(lean_object*, lean_object*);
lean_object* l_Lean_Position_lt___boxed(lean_object*, lean_object*);
lean_object* l_Lean_FileMap_toPosition___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Position_lt___closed__2;
lean_object* l_Lean_Position_lt_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Nat_decEq___boxed(lean_object*, lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
lean_object* l_String_toFileMap(lean_object*);
uint8_t l_Lean_Position_DecidableEq(lean_object* x_1, lean_object* x_2) {
lean_object* l_Lean_Position_lt_match__1(lean_object*);
lean_object* l_Lean_Position_Lean_Data_Position___instance__1_match__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5;
x_3 = lean_ctor_get(x_1, 0);
lean_inc(x_3);
x_4 = lean_ctor_get(x_1, 1);
lean_inc(x_4);
lean_dec(x_1);
x_5 = lean_apply_2(x_2, x_3, x_4);
return x_5;
}
}
lean_object* l_Lean_Position_Lean_Data_Position___instance__1_match__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_Position_Lean_Data_Position___instance__1_match__1___rarg), 2, 0);
return x_2;
}
}
lean_object* l_Lean_Position_Lean_Data_Position___instance__1_match__2___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5;
x_3 = lean_ctor_get(x_1, 0);
lean_inc(x_3);
x_4 = lean_ctor_get(x_1, 1);
lean_inc(x_4);
lean_dec(x_1);
x_5 = lean_apply_2(x_2, x_3, x_4);
return x_5;
}
}
lean_object* l_Lean_Position_Lean_Data_Position___instance__1_match__2(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_Position_Lean_Data_Position___instance__1_match__2___rarg), 2, 0);
return x_2;
}
}
uint8_t l_Lean_Position_Lean_Data_Position___instance__1(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; uint8_t x_7;
@ -95,17 +144,43 @@ return x_9;
}
}
}
lean_object* l_Lean_Position_DecidableEq___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Lean_Position_Lean_Data_Position___instance__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_3; lean_object* x_4;
x_3 = l_Lean_Position_DecidableEq(x_1, x_2);
x_3 = l_Lean_Position_Lean_Data_Position___instance__1(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
x_4 = lean_box(x_3);
return x_4;
}
}
lean_object* l_Lean_Position_lt_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_4 = lean_ctor_get(x_1, 0);
lean_inc(x_4);
x_5 = lean_ctor_get(x_1, 1);
lean_inc(x_5);
lean_dec(x_1);
x_6 = lean_ctor_get(x_2, 0);
lean_inc(x_6);
x_7 = lean_ctor_get(x_2, 1);
lean_inc(x_7);
lean_dec(x_2);
x_8 = lean_apply_4(x_3, x_4, x_5, x_6, x_7);
return x_8;
}
}
lean_object* l_Lean_Position_lt_match__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_Position_lt_match__1___rarg), 3, 0);
return x_2;
}
}
static lean_object* _init_l_Lean_Position_lt___closed__1() {
_start:
{
@ -156,7 +231,28 @@ lean_dec(x_1);
return x_3;
}
}
lean_object* l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(lean_object* x_1) {
lean_object* l_Lean_Position_Lean_Data_Position___instance__2_match__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5;
x_3 = lean_ctor_get(x_1, 0);
lean_inc(x_3);
x_4 = lean_ctor_get(x_1, 1);
lean_inc(x_4);
lean_dec(x_1);
x_5 = lean_apply_2(x_2, x_3, x_4);
return x_5;
}
}
lean_object* l_Lean_Position_Lean_Data_Position___instance__2_match__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_Position_Lean_Data_Position___instance__2_match__1___rarg), 2, 0);
return x_2;
}
}
lean_object* l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3;
@ -166,7 +262,7 @@ lean_ctor_set(x_3, 0, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Position_Lean_HasFormat___closed__1() {
static lean_object* _init_l_Lean_Position_Lean_Data_Position___instance__2___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2;
@ -176,7 +272,7 @@ lean_ctor_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Position_Lean_HasFormat___closed__2() {
static lean_object* _init_l_Lean_Position_Lean_Data_Position___instance__2___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2;
@ -186,7 +282,7 @@ lean_ctor_set(x_2, 0, x_1);
return x_2;
}
}
lean_object* l_Lean_Position_Lean_HasFormat(lean_object* x_1) {
lean_object* l_Lean_Position_Lean_Data_Position___instance__2(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
@ -195,8 +291,8 @@ lean_inc(x_2);
x_3 = lean_ctor_get(x_1, 1);
lean_inc(x_3);
lean_dec(x_1);
x_4 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_2);
x_5 = l_Lean_Position_Lean_HasFormat___closed__1;
x_4 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_2);
x_5 = l_Lean_Position_Lean_Data_Position___instance__2___closed__1;
x_6 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_6, 0, x_5);
lean_ctor_set(x_6, 1, x_4);
@ -204,18 +300,39 @@ x_7 = l_Lean_formatKVMap___closed__1;
x_8 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_8, 0, x_6);
lean_ctor_set(x_8, 1, x_7);
x_9 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_3);
x_9 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_3);
x_10 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_10, 0, x_8);
lean_ctor_set(x_10, 1, x_9);
x_11 = l_Lean_Position_Lean_HasFormat___closed__2;
x_11 = l_Lean_Position_Lean_Data_Position___instance__2___closed__2;
x_12 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_12, 0, x_10);
lean_ctor_set(x_12, 1, x_11);
return x_12;
}
}
lean_object* l_Lean_Position_HasToString(lean_object* x_1) {
lean_object* l_Lean_Position_Lean_Data_Position___instance__3_match__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5;
x_3 = lean_ctor_get(x_1, 0);
lean_inc(x_3);
x_4 = lean_ctor_get(x_1, 1);
lean_inc(x_4);
lean_dec(x_1);
x_5 = lean_apply_2(x_2, x_3, x_4);
return x_5;
}
}
lean_object* l_Lean_Position_Lean_Data_Position___instance__3_match__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_Position_Lean_Data_Position___instance__3_match__1___rarg), 2, 0);
return x_2;
}
}
lean_object* l_Lean_Position_Lean_Data_Position___instance__3(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
@ -238,7 +355,7 @@ x_12 = lean_string_append(x_10, x_11);
return x_12;
}
}
static lean_object* _init_l_Lean_Position_Inhabited___closed__1() {
static lean_object* _init_l_Lean_Position_Lean_Data_Position___instance__4___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@ -250,15 +367,15 @@ lean_ctor_set(x_3, 1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Position_Inhabited() {
static lean_object* _init_l_Lean_Position_Lean_Data_Position___instance__4() {
_start:
{
lean_object* x_1;
x_1 = l_Lean_Position_Inhabited___closed__1;
x_1 = l_Lean_Position_Lean_Data_Position___instance__4___closed__1;
return x_1;
}
}
static lean_object* _init_l_Lean_FileMap_Inhabited___closed__1() {
static lean_object* _init_l_Lean_FileMap_Lean_Data_Position___instance__5___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@ -271,15 +388,15 @@ lean_ctor_set(x_3, 2, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_FileMap_Inhabited() {
static lean_object* _init_l_Lean_FileMap_Lean_Data_Position___instance__5() {
_start:
{
lean_object* x_1;
x_1 = l_Lean_FileMap_Inhabited___closed__1;
x_1 = l_Lean_FileMap_Lean_Data_Position___instance__5___closed__1;
return x_1;
}
}
lean_object* l___private_Lean_Data_Position_1__ofStringAux___main(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
lean_object* l_Lean_FileMap_ofString_loop(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
uint8_t x_6;
@ -327,14 +444,6 @@ return x_19;
}
}
}
lean_object* l___private_Lean_Data_Position_1__ofStringAux(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6;
x_6 = l___private_Lean_Data_Position_1__ofStringAux___main(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
}
static lean_object* _init_l_Lean_FileMap_ofString___closed__1() {
_start:
{
@ -363,23 +472,46 @@ x_2 = lean_unsigned_to_nat(0u);
x_3 = lean_unsigned_to_nat(1u);
x_4 = l_Lean_FileMap_ofString___closed__1;
x_5 = l_Lean_FileMap_ofString___closed__2;
x_6 = l___private_Lean_Data_Position_1__ofStringAux___main(x_1, x_2, x_3, x_4, x_5);
x_6 = l_Lean_FileMap_ofString_loop(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
}
lean_object* l___private_Lean_Data_Position_2__toColumnAux___main(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
lean_object* l_Lean_FileMap_toPosition_match__1___rarg(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;
x_3 = lean_ctor_get(x_1, 0);
lean_inc(x_3);
x_4 = lean_ctor_get(x_1, 1);
lean_inc(x_4);
x_5 = lean_ctor_get(x_1, 2);
lean_inc(x_5);
lean_dec(x_1);
x_6 = lean_apply_3(x_2, x_3, x_4, x_5);
return x_6;
}
}
lean_object* l_Lean_FileMap_toPosition_match__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_FileMap_toPosition_match__1___rarg), 2, 0);
return x_2;
}
}
lean_object* l_Lean_FileMap_toPosition_toColumn(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
uint8_t x_5;
x_5 = lean_nat_dec_eq(x_3, x_2);
x_5 = lean_nat_dec_eq(x_3, x_1);
if (x_5 == 0)
{
uint8_t x_6;
x_6 = lean_string_utf8_at_end(x_1, x_3);
x_6 = lean_string_utf8_at_end(x_2, x_3);
if (x_6 == 0)
{
lean_object* x_7; lean_object* x_8; lean_object* x_9;
x_7 = lean_string_utf8_next(x_1, x_3);
x_7 = lean_string_utf8_next(x_2, x_3);
lean_dec(x_3);
x_8 = lean_unsigned_to_nat(1u);
x_9 = lean_nat_add(x_4, x_8);
@ -401,40 +533,22 @@ return x_4;
}
}
}
lean_object* l___private_Lean_Data_Position_2__toColumnAux___main___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
lean_object* l_Lean_FileMap_toPosition_toColumn___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5;
x_5 = l___private_Lean_Data_Position_2__toColumnAux___main(x_1, x_2, x_3, x_4);
x_5 = l_Lean_FileMap_toPosition_toColumn(x_1, x_2, x_3, x_4);
lean_dec(x_2);
lean_dec(x_1);
return x_5;
}
}
lean_object* l___private_Lean_Data_Position_2__toColumnAux(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5;
x_5 = l___private_Lean_Data_Position_2__toColumnAux___main(x_1, x_2, x_3, x_4);
return x_5;
}
}
lean_object* l___private_Lean_Data_Position_2__toColumnAux___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5;
x_5 = l___private_Lean_Data_Position_2__toColumnAux(x_1, x_2, x_3, x_4);
lean_dec(x_2);
lean_dec(x_1);
return x_5;
}
}
lean_object* l___private_Lean_Data_Position_3__toPositionAux___main(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
lean_object* l_Lean_FileMap_toPosition_loop(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11;
x_7 = l_Nat_Inhabited;
x_8 = lean_array_get(x_7, x_2, x_5);
x_8 = lean_array_get(x_7, x_3, x_5);
x_9 = lean_unsigned_to_nat(1u);
x_10 = lean_nat_add(x_5, x_9);
x_11 = lean_nat_dec_eq(x_6, x_10);
@ -447,12 +561,12 @@ x_12 = lean_nat_add(x_5, x_6);
x_13 = lean_unsigned_to_nat(2u);
x_14 = lean_nat_div(x_12, x_13);
lean_dec(x_12);
x_15 = lean_array_get(x_7, x_2, x_14);
x_16 = lean_nat_dec_eq(x_4, x_15);
x_15 = lean_array_get(x_7, x_3, x_14);
x_16 = lean_nat_dec_eq(x_1, x_15);
if (x_16 == 0)
{
uint8_t x_17;
x_17 = lean_nat_dec_lt(x_15, x_4);
x_17 = lean_nat_dec_lt(x_15, x_1);
lean_dec(x_15);
if (x_17 == 0)
{
@ -473,7 +587,7 @@ lean_object* x_20; lean_object* x_21; lean_object* x_22;
lean_dec(x_15);
lean_dec(x_6);
lean_dec(x_5);
x_20 = lean_array_get(x_7, x_3, x_14);
x_20 = lean_array_get(x_7, x_4, x_14);
lean_dec(x_14);
x_21 = lean_unsigned_to_nat(0u);
x_22 = lean_alloc_ctor(0, 2, 0);
@ -486,10 +600,10 @@ else
{
lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
lean_dec(x_6);
x_23 = lean_array_get(x_7, x_3, x_5);
x_23 = lean_array_get(x_7, x_4, x_5);
lean_dec(x_5);
x_24 = lean_unsigned_to_nat(0u);
x_25 = l___private_Lean_Data_Position_2__toColumnAux___main(x_1, x_4, x_8, x_24);
x_25 = l_Lean_FileMap_toPosition_toColumn(x_1, x_2, x_8, x_24);
x_26 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_26, 0, x_23);
lean_ctor_set(x_26, 1, x_25);
@ -497,31 +611,11 @@ return x_26;
}
}
}
lean_object* l___private_Lean_Data_Position_3__toPositionAux___main___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
lean_object* l_Lean_FileMap_toPosition_loop___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7;
x_7 = l___private_Lean_Data_Position_3__toPositionAux___main(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
return x_7;
}
}
lean_object* l___private_Lean_Data_Position_3__toPositionAux(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7;
x_7 = l___private_Lean_Data_Position_3__toPositionAux___main(x_1, x_2, x_3, x_4, x_5, x_6);
return x_7;
}
}
lean_object* l___private_Lean_Data_Position_3__toPositionAux___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7;
x_7 = l___private_Lean_Data_Position_3__toPositionAux(x_1, x_2, x_3, x_4, x_5, x_6);
x_7 = l_Lean_FileMap_toPosition_loop(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
@ -586,7 +680,7 @@ x_15 = lean_unsigned_to_nat(1u);
x_16 = lean_nat_sub(x_6, x_15);
lean_dec(x_6);
x_17 = lean_unsigned_to_nat(0u);
x_18 = l___private_Lean_Data_Position_3__toPositionAux___main(x_3, x_4, x_5, x_2, x_17, x_16);
x_18 = l_Lean_FileMap_toPosition_loop(x_2, x_3, x_4, x_5, x_17, x_16);
lean_dec(x_2);
return x_18;
}
@ -636,18 +730,18 @@ l_Lean_Position_lt___closed__1 = _init_l_Lean_Position_lt___closed__1();
lean_mark_persistent(l_Lean_Position_lt___closed__1);
l_Lean_Position_lt___closed__2 = _init_l_Lean_Position_lt___closed__2();
lean_mark_persistent(l_Lean_Position_lt___closed__2);
l_Lean_Position_Lean_HasFormat___closed__1 = _init_l_Lean_Position_Lean_HasFormat___closed__1();
lean_mark_persistent(l_Lean_Position_Lean_HasFormat___closed__1);
l_Lean_Position_Lean_HasFormat___closed__2 = _init_l_Lean_Position_Lean_HasFormat___closed__2();
lean_mark_persistent(l_Lean_Position_Lean_HasFormat___closed__2);
l_Lean_Position_Inhabited___closed__1 = _init_l_Lean_Position_Inhabited___closed__1();
lean_mark_persistent(l_Lean_Position_Inhabited___closed__1);
l_Lean_Position_Inhabited = _init_l_Lean_Position_Inhabited();
lean_mark_persistent(l_Lean_Position_Inhabited);
l_Lean_FileMap_Inhabited___closed__1 = _init_l_Lean_FileMap_Inhabited___closed__1();
lean_mark_persistent(l_Lean_FileMap_Inhabited___closed__1);
l_Lean_FileMap_Inhabited = _init_l_Lean_FileMap_Inhabited();
lean_mark_persistent(l_Lean_FileMap_Inhabited);
l_Lean_Position_Lean_Data_Position___instance__2___closed__1 = _init_l_Lean_Position_Lean_Data_Position___instance__2___closed__1();
lean_mark_persistent(l_Lean_Position_Lean_Data_Position___instance__2___closed__1);
l_Lean_Position_Lean_Data_Position___instance__2___closed__2 = _init_l_Lean_Position_Lean_Data_Position___instance__2___closed__2();
lean_mark_persistent(l_Lean_Position_Lean_Data_Position___instance__2___closed__2);
l_Lean_Position_Lean_Data_Position___instance__4___closed__1 = _init_l_Lean_Position_Lean_Data_Position___instance__4___closed__1();
lean_mark_persistent(l_Lean_Position_Lean_Data_Position___instance__4___closed__1);
l_Lean_Position_Lean_Data_Position___instance__4 = _init_l_Lean_Position_Lean_Data_Position___instance__4();
lean_mark_persistent(l_Lean_Position_Lean_Data_Position___instance__4);
l_Lean_FileMap_Lean_Data_Position___instance__5___closed__1 = _init_l_Lean_FileMap_Lean_Data_Position___instance__5___closed__1();
lean_mark_persistent(l_Lean_FileMap_Lean_Data_Position___instance__5___closed__1);
l_Lean_FileMap_Lean_Data_Position___instance__5 = _init_l_Lean_FileMap_Lean_Data_Position___instance__5();
lean_mark_persistent(l_Lean_FileMap_Lean_Data_Position___instance__5);
l_Lean_FileMap_ofString___closed__1 = _init_l_Lean_FileMap_ofString___closed__1();
lean_mark_persistent(l_Lean_FileMap_ofString___closed__1);
l_Lean_FileMap_ofString___closed__2 = _init_l_Lean_FileMap_ofString___closed__2();

View file

@ -17,15 +17,17 @@ lean_object* l_Lean_SMap_find_x21___rarg___closed__1;
extern lean_object* l_Std_PersistentHashMap_empty___rarg___closed__2;
lean_object* l_Lean_SMap_fold(lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_SMap_foldStage2___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_find_x21___rarg___closed__3;
extern lean_object* l_Std_HashMap_inhabited___closed__1;
lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_SMap_foldStage2___spec__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Init_Util_1__mkPanicMessage(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_SMap_fold___spec__3___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_Inhabited___rarg(lean_object*, lean_object*);
lean_object* l_Lean_SMap_Inhabited(lean_object*, lean_object*);
uint8_t l_Lean_SMap_stage_u2081___default;
lean_object* lean_array_get_size(lean_object*);
lean_object* l_Lean_SMap_find_x3f_x27_match__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_find_x3f_x27(lean_object*, lean_object*);
lean_object* l_Lean_SMap_map_u2082___default(lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_SMap_fold___spec__6___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_map_u2081___default___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_empty(lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* l_Std_AssocList_foldlM___at_Lean_SMap_fold___spec__1___rarg(lean_object*, lean_object*, lean_object*);
@ -35,11 +37,15 @@ lean_object* l_Lean_SMap_findD___rarg(lean_object*, lean_object*, lean_object*,
lean_object* l_Std_HashMap_numBuckets___rarg(lean_object*);
lean_object* l_Std_PersistentHashMap_foldlMAux___main___at_Lean_SMap_foldStage2___spec__2(lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fget(lean_object*, lean_object*);
lean_object* l_Lean_SMap_find_x3f_match__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_Lean_Data_SMap___instance__1___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_SMap_foldStage2___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_numBuckets___rarg(lean_object*);
lean_object* l_Std_PersistentHashMap_contains___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_find_x3f___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_foldlMAux___main___at_Lean_SMap_foldStage2___spec__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_map_u2081___default(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_insert_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Std_PersistentHashMap_find_x21___rarg___closed__2;
lean_object* l_Lean_SMap_findD(lean_object*, lean_object*);
uint8_t l_Std_HashMapImp_contains___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
@ -47,10 +53,13 @@ lean_object* l_Lean_SMap_insert___rarg(lean_object*, lean_object*, lean_object*,
lean_object* l_Array_iterateMAux___main___at_Lean_SMap_foldStage2___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_find_x21___rarg___closed__2;
lean_object* l_Lean_SMap_switch(lean_object*, lean_object*);
lean_object* l_Lean_SMap_Lean_Data_SMap___instance__1(lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_foldlMAux___main___at_Lean_SMap_fold___spec__4(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_SMap_fold___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_empty___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_SMap_find_x3f_x27___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_find_x3f_x27_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_map_u2082___default___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_SMap_stageSizes___rarg(lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_SMap_foldStage2___spec__4(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_SMap_fold___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -70,7 +79,6 @@ lean_object* l_Lean_SMap_switch___rarg___boxed(lean_object*, lean_object*, lean_
lean_object* l_Lean_SMap_stageSizes___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_foldlMAux___main___at_Lean_SMap_fold___spec__4___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_SMap_foldStage2___spec__3(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_Inhabited___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_SMap_foldStage2___spec__3___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_SMap_fold___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_findD___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -81,28 +89,97 @@ lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_SMap_foldStage2___spec__1_
lean_object* lean_panic_fn(lean_object*, lean_object*);
lean_object* l_Lean_SMap_find_x3f___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_size___rarg___boxed(lean_object*);
lean_object* l_Lean_SMap_find_x21_match__1(lean_object*, lean_object*);
lean_object* l_Lean_SMap_contains_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_find_x3f_x27_match__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_contains_match__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_size___rarg(lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_SMap_fold___spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_foldlMAux___main___at_Lean_SMap_fold___spec__4___rarg___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_contains_match__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_switch___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_SMap_fold___spec__5(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_insert_match__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_contains___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_size(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_find_x21___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_map_u2082___default___rarg(lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_SMap_fold___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_find_x3f_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_find_x3f_match__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_find_x3f___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_find_x21_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_numBuckets(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_stageSizes(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_insert___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_SMap_fold___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_SMap_foldStage2___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_Lean_Data_SMap___instance__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_SMap_size___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_SMap_fold___spec__2(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_insert_match__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_find_x21(lean_object*, lean_object*);
lean_object* l_Lean_SMap_fold___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Init_Util_2__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_SMap_fold___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
lean_object* l_Lean_SMap_Inhabited___rarg(lean_object* x_1, lean_object* x_2) {
static uint8_t _init_l_Lean_SMap_stage_u2081___default() {
_start:
{
uint8_t x_1;
x_1 = 1;
return x_1;
}
}
lean_object* l_Lean_SMap_map_u2081___default(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5;
x_5 = l_Std_HashMap_inhabited___closed__1;
return x_5;
}
}
lean_object* l_Lean_SMap_map_u2081___default___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5;
x_5 = l_Lean_SMap_map_u2081___default(x_1, x_2, x_3, x_4);
lean_dec(x_4);
lean_dec(x_3);
return x_5;
}
}
lean_object* l_Lean_SMap_map_u2082___default___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5;
x_3 = l_Std_PersistentHashMap_empty___rarg___closed__2;
x_4 = lean_unsigned_to_nat(0u);
x_5 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_5, 0, x_3);
lean_ctor_set(x_5, 1, x_4);
return x_5;
}
}
lean_object* l_Lean_SMap_map_u2082___default(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_Lean_SMap_map_u2082___default___rarg___boxed), 2, 0);
return x_3;
}
}
lean_object* l_Lean_SMap_map_u2082___default___rarg___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Lean_SMap_map_u2082___default___rarg(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;
}
}
lean_object* l_Lean_SMap_Lean_Data_SMap___instance__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; lean_object* x_8;
@ -120,19 +197,19 @@ lean_ctor_set_uint8(x_8, sizeof(void*)*2, x_6);
return x_8;
}
}
lean_object* l_Lean_SMap_Inhabited(lean_object* x_1, lean_object* x_2) {
lean_object* l_Lean_SMap_Lean_Data_SMap___instance__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_Lean_SMap_Inhabited___rarg___boxed), 2, 0);
x_3 = lean_alloc_closure((void*)(l_Lean_SMap_Lean_Data_SMap___instance__1___rarg___boxed), 2, 0);
return x_3;
}
}
lean_object* l_Lean_SMap_Inhabited___rarg___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Lean_SMap_Lean_Data_SMap___instance__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Lean_SMap_Inhabited___rarg(x_1, x_2);
x_3 = l_Lean_SMap_Lean_Data_SMap___instance__1___rarg(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;
@ -174,6 +251,55 @@ lean_dec(x_1);
return x_3;
}
}
lean_object* l_Lean_SMap_insert_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
uint8_t x_6;
x_6 = lean_ctor_get_uint8(x_1, sizeof(void*)*2);
if (x_6 == 0)
{
lean_object* x_7; lean_object* x_8; lean_object* x_9;
lean_dec(x_4);
x_7 = lean_ctor_get(x_1, 0);
lean_inc(x_7);
x_8 = lean_ctor_get(x_1, 1);
lean_inc(x_8);
lean_dec(x_1);
x_9 = lean_apply_4(x_5, x_7, x_8, x_2, x_3);
return x_9;
}
else
{
lean_object* x_10; lean_object* x_11; lean_object* x_12;
lean_dec(x_5);
x_10 = lean_ctor_get(x_1, 0);
lean_inc(x_10);
x_11 = lean_ctor_get(x_1, 1);
lean_inc(x_11);
lean_dec(x_1);
x_12 = lean_apply_4(x_4, x_10, x_11, x_2, x_3);
return x_12;
}
}
}
lean_object* l_Lean_SMap_insert_match__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6;
x_6 = lean_alloc_closure((void*)(l_Lean_SMap_insert_match__1___rarg), 5, 0);
return x_6;
}
}
lean_object* l_Lean_SMap_insert_match__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6;
x_6 = l_Lean_SMap_insert_match__1(x_1, x_2, x_3, x_4, x_5);
lean_dec(x_4);
lean_dec(x_3);
return x_6;
}
}
lean_object* l_Lean_SMap_insert___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
@ -185,54 +311,60 @@ uint8_t x_7;
x_7 = !lean_is_exclusive(x_3);
if (x_7 == 0)
{
lean_object* x_8; lean_object* x_9;
lean_object* x_8; lean_object* x_9; uint8_t x_10;
x_8 = lean_ctor_get(x_3, 1);
x_9 = l_Std_PersistentHashMap_insert___rarg(x_1, x_2, x_8, x_4, x_5);
x_10 = 0;
lean_ctor_set(x_3, 1, x_9);
lean_ctor_set_uint8(x_3, sizeof(void*)*2, x_10);
return x_3;
}
else
{
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
x_10 = lean_ctor_get(x_3, 0);
x_11 = lean_ctor_get(x_3, 1);
lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; lean_object* x_15;
x_11 = lean_ctor_get(x_3, 0);
x_12 = lean_ctor_get(x_3, 1);
lean_inc(x_12);
lean_inc(x_11);
lean_inc(x_10);
lean_dec(x_3);
x_12 = l_Std_PersistentHashMap_insert___rarg(x_1, x_2, x_11, x_4, x_5);
x_13 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_13, 0, x_10);
lean_ctor_set(x_13, 1, x_12);
lean_ctor_set_uint8(x_13, sizeof(void*)*2, x_6);
return x_13;
x_13 = l_Std_PersistentHashMap_insert___rarg(x_1, x_2, x_12, x_4, x_5);
x_14 = 0;
x_15 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_15, 0, x_11);
lean_ctor_set(x_15, 1, x_13);
lean_ctor_set_uint8(x_15, sizeof(void*)*2, x_14);
return x_15;
}
}
else
{
uint8_t x_14;
x_14 = !lean_is_exclusive(x_3);
if (x_14 == 0)
uint8_t x_16;
x_16 = !lean_is_exclusive(x_3);
if (x_16 == 0)
{
lean_object* x_15; lean_object* x_16;
x_15 = lean_ctor_get(x_3, 0);
x_16 = l_Std_HashMapImp_insert___rarg(x_1, x_2, x_15, x_4, x_5);
lean_ctor_set(x_3, 0, x_16);
lean_object* x_17; lean_object* x_18; uint8_t x_19;
x_17 = lean_ctor_get(x_3, 0);
x_18 = l_Std_HashMapImp_insert___rarg(x_1, x_2, x_17, x_4, x_5);
x_19 = 1;
lean_ctor_set(x_3, 0, x_18);
lean_ctor_set_uint8(x_3, sizeof(void*)*2, x_19);
return x_3;
}
else
{
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
x_17 = lean_ctor_get(x_3, 0);
x_18 = lean_ctor_get(x_3, 1);
lean_inc(x_18);
lean_inc(x_17);
lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; lean_object* x_24;
x_20 = lean_ctor_get(x_3, 0);
x_21 = lean_ctor_get(x_3, 1);
lean_inc(x_21);
lean_inc(x_20);
lean_dec(x_3);
x_19 = l_Std_HashMapImp_insert___rarg(x_1, x_2, x_17, x_4, x_5);
x_20 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_20, 0, x_19);
lean_ctor_set(x_20, 1, x_18);
lean_ctor_set_uint8(x_20, sizeof(void*)*2, x_6);
return x_20;
x_22 = l_Std_HashMapImp_insert___rarg(x_1, x_2, x_20, x_4, x_5);
x_23 = 1;
x_24 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_24, 0, x_22);
lean_ctor_set(x_24, 1, x_21);
lean_ctor_set_uint8(x_24, sizeof(void*)*2, x_23);
return x_24;
}
}
}
@ -245,6 +377,55 @@ x_3 = lean_alloc_closure((void*)(l_Lean_SMap_insert___rarg), 5, 0);
return x_3;
}
}
lean_object* l_Lean_SMap_find_x3f_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
uint8_t x_5;
x_5 = lean_ctor_get_uint8(x_1, sizeof(void*)*2);
if (x_5 == 0)
{
lean_object* x_6; lean_object* x_7; lean_object* x_8;
lean_dec(x_3);
x_6 = lean_ctor_get(x_1, 0);
lean_inc(x_6);
x_7 = lean_ctor_get(x_1, 1);
lean_inc(x_7);
lean_dec(x_1);
x_8 = lean_apply_3(x_4, x_6, x_7, x_2);
return x_8;
}
else
{
lean_object* x_9; lean_object* x_10; lean_object* x_11;
lean_dec(x_4);
x_9 = lean_ctor_get(x_1, 0);
lean_inc(x_9);
x_10 = lean_ctor_get(x_1, 1);
lean_inc(x_10);
lean_dec(x_1);
x_11 = lean_apply_3(x_3, x_9, x_10, x_2);
return x_11;
}
}
}
lean_object* l_Lean_SMap_find_x3f_match__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6;
x_6 = lean_alloc_closure((void*)(l_Lean_SMap_find_x3f_match__1___rarg), 4, 0);
return x_6;
}
}
lean_object* l_Lean_SMap_find_x3f_match__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6;
x_6 = l_Lean_SMap_find_x3f_match__1(x_1, x_2, x_3, x_4, x_5);
lean_dec(x_4);
lean_dec(x_3);
return x_6;
}
}
lean_object* l_Lean_SMap_find_x3f___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
@ -335,6 +516,37 @@ lean_dec(x_5);
return x_6;
}
}
lean_object* l_Lean_SMap_find_x21_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
if (lean_obj_tag(x_1) == 0)
{
lean_object* x_4; lean_object* x_5;
lean_dec(x_2);
x_4 = lean_box(0);
x_5 = lean_apply_1(x_3, x_4);
return x_5;
}
else
{
lean_object* x_6; lean_object* x_7;
lean_dec(x_3);
x_6 = lean_ctor_get(x_1, 0);
lean_inc(x_6);
lean_dec(x_1);
x_7 = lean_apply_1(x_2, x_6);
return x_7;
}
}
}
lean_object* l_Lean_SMap_find_x21_match__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_alloc_closure((void*)(l_Lean_SMap_find_x21_match__1___rarg), 3, 0);
return x_3;
}
}
static lean_object* _init_l_Lean_SMap_find_x21___rarg___closed__1() {
_start:
{
@ -346,13 +558,22 @@ return x_1;
static lean_object* _init_l_Lean_SMap_find_x21___rarg___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
lean_object* x_1;
x_1 = lean_mk_string("Lean.SMap.find!");
return x_1;
}
}
static lean_object* _init_l_Lean_SMap_find_x21___rarg___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_1 = l_Lean_SMap_find_x21___rarg___closed__1;
x_2 = lean_unsigned_to_nat(55u);
x_3 = lean_unsigned_to_nat(12u);
x_4 = l_Std_PersistentHashMap_find_x21___rarg___closed__2;
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
return x_5;
x_2 = l_Lean_SMap_find_x21___rarg___closed__2;
x_3 = lean_unsigned_to_nat(56u);
x_4 = lean_unsigned_to_nat(12u);
x_5 = l_Std_PersistentHashMap_find_x21___rarg___closed__2;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
}
lean_object* l_Lean_SMap_find_x21___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
@ -363,7 +584,7 @@ x_6 = l_Lean_SMap_find_x3f___rarg(x_1, x_2, x_4, x_5);
if (lean_obj_tag(x_6) == 0)
{
lean_object* x_7; lean_object* x_8;
x_7 = l_Lean_SMap_find_x21___rarg___closed__2;
x_7 = l_Lean_SMap_find_x21___rarg___closed__3;
x_8 = lean_panic_fn(x_3, x_7);
return x_8;
}
@ -386,6 +607,55 @@ x_3 = lean_alloc_closure((void*)(l_Lean_SMap_find_x21___rarg), 5, 0);
return x_3;
}
}
lean_object* l_Lean_SMap_contains_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
uint8_t x_5;
x_5 = lean_ctor_get_uint8(x_1, sizeof(void*)*2);
if (x_5 == 0)
{
lean_object* x_6; lean_object* x_7; lean_object* x_8;
lean_dec(x_3);
x_6 = lean_ctor_get(x_1, 0);
lean_inc(x_6);
x_7 = lean_ctor_get(x_1, 1);
lean_inc(x_7);
lean_dec(x_1);
x_8 = lean_apply_3(x_4, x_6, x_7, x_2);
return x_8;
}
else
{
lean_object* x_9; lean_object* x_10; lean_object* x_11;
lean_dec(x_4);
x_9 = lean_ctor_get(x_1, 0);
lean_inc(x_9);
x_10 = lean_ctor_get(x_1, 1);
lean_inc(x_10);
lean_dec(x_1);
x_11 = lean_apply_3(x_3, x_9, x_10, x_2);
return x_11;
}
}
}
lean_object* l_Lean_SMap_contains_match__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6;
x_6 = lean_alloc_closure((void*)(l_Lean_SMap_contains_match__1___rarg), 4, 0);
return x_6;
}
}
lean_object* l_Lean_SMap_contains_match__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6;
x_6 = l_Lean_SMap_contains_match__1(x_1, x_2, x_3, x_4, x_5);
lean_dec(x_4);
lean_dec(x_3);
return x_6;
}
}
lean_object* l_Lean_SMap_contains___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
@ -443,6 +713,55 @@ x_3 = lean_alloc_closure((void*)(l_Lean_SMap_contains___rarg), 4, 0);
return x_3;
}
}
lean_object* l_Lean_SMap_find_x3f_x27_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
uint8_t x_5;
x_5 = lean_ctor_get_uint8(x_1, sizeof(void*)*2);
if (x_5 == 0)
{
lean_object* x_6; lean_object* x_7; lean_object* x_8;
lean_dec(x_3);
x_6 = lean_ctor_get(x_1, 0);
lean_inc(x_6);
x_7 = lean_ctor_get(x_1, 1);
lean_inc(x_7);
lean_dec(x_1);
x_8 = lean_apply_3(x_4, x_6, x_7, x_2);
return x_8;
}
else
{
lean_object* x_9; lean_object* x_10; lean_object* x_11;
lean_dec(x_4);
x_9 = lean_ctor_get(x_1, 0);
lean_inc(x_9);
x_10 = lean_ctor_get(x_1, 1);
lean_inc(x_10);
lean_dec(x_1);
x_11 = lean_apply_3(x_3, x_9, x_10, x_2);
return x_11;
}
}
}
lean_object* l_Lean_SMap_find_x3f_x27_match__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6;
x_6 = lean_alloc_closure((void*)(l_Lean_SMap_find_x3f_x27_match__1___rarg), 4, 0);
return x_6;
}
}
lean_object* l_Lean_SMap_find_x3f_x27_match__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6;
x_6 = l_Lean_SMap_find_x3f_x27_match__1(x_1, x_2, x_3, x_4, x_5);
lean_dec(x_4);
lean_dec(x_3);
return x_6;
}
}
lean_object* l_Lean_SMap_find_x3f_x27___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
@ -1224,10 +1543,13 @@ lean_dec_ref(res);
res = initialize_Std_Data_PersistentHashMap(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_SMap_stage_u2081___default = _init_l_Lean_SMap_stage_u2081___default();
l_Lean_SMap_find_x21___rarg___closed__1 = _init_l_Lean_SMap_find_x21___rarg___closed__1();
lean_mark_persistent(l_Lean_SMap_find_x21___rarg___closed__1);
l_Lean_SMap_find_x21___rarg___closed__2 = _init_l_Lean_SMap_find_x21___rarg___closed__2();
lean_mark_persistent(l_Lean_SMap_find_x21___rarg___closed__2);
l_Lean_SMap_find_x21___rarg___closed__3 = _init_l_Lean_SMap_find_x21___rarg___closed__3();
lean_mark_persistent(l_Lean_SMap_find_x21___rarg___closed__3);
return lean_io_result_mk_ok(lean_box(0));
}
#ifdef __cplusplus

File diff suppressed because it is too large Load diff

View file

@ -570,7 +570,6 @@ lean_object* l___private_Init_Data_Array_Basic_3__iterateRevMAux___main___at_Lea
lean_object* l_Lean_Delaborator_failure___rarg___closed__1;
extern lean_object* l_Lean_throwUnknownConstant___rarg___closed__5;
lean_object* l_Lean_Delaborator_registerDelabFailureId___closed__2;
lean_object* l_Std_RBNode_find___main___at_Lean_Delaborator_getPPOption___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Level_getOffsetAux___main(lean_object*, lean_object*);
lean_object* l_Lean_Delaborator_delabProd___lambda__1___closed__1;
lean_object* l_Lean_Delaborator_delabHEq___lambda__1___closed__4;
@ -662,7 +661,6 @@ lean_object* l_Lean_Delaborator_delabLT___lambda__1___closed__3;
lean_object* l_Lean_Delaborator_mkDelabAttribute___closed__6;
lean_object* l_Lean_Delaborator_delabNot___closed__1;
extern lean_object* l_Lean_Meta_reduceNat_x3f___closed__8;
lean_object* l_Lean_Name_replacePrefix___main(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Delaborator_delabFComp___closed__4;
lean_object* l_Lean_Delaborator_DelabM_monadQuotation;
lean_object* l_Lean_getPPCoercions___closed__1;
@ -671,6 +669,7 @@ lean_object* l___regBuiltin_Lean_Delaborator_delabOrM___closed__1;
lean_object* l___regBuiltin_Lean_Delaborator_delabBNot___closed__1;
lean_object* l_Lean_Delaborator_delabOfNat___closed__1;
extern lean_object* l_Lean_Elab_Level_elabLevel___closed__8;
lean_object* l_Std_RBNode_find___at_Lean_Delaborator_getPPOption___spec__1___boxed(lean_object*, lean_object*);
size_t l_USize_land(size_t, size_t);
lean_object* l_Lean_Delaborator_delabGE___lambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Delaborator_delabLT___closed__2;
@ -713,6 +712,7 @@ lean_object* l___regBuiltin_Lean_Delaborator_delabMul___closed__4;
lean_object* l_Lean_Delaborator_failure___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_findAux___main___at_Lean_Delaborator_delabFor___main___spec__3(lean_object*, size_t, lean_object*);
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
lean_object* l_Std_RBNode_find___at_Lean_Delaborator_getPPOption___spec__1(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Delaborator_delabMul___closed__1;
lean_object* l___regBuiltin_Lean_Delaborator_delabCons___closed__3;
lean_object* l_Lean_Delaborator_getPPOption___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -883,10 +883,8 @@ lean_object* l_Lean_Delaborator_getParamKinds___lambda__1___boxed(lean_object*,
lean_object* l_Lean_Delaborator_delabSort___closed__9;
lean_object* l_Lean_Delaborator_delabInfixOp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Delaborator_delabMul___closed__1;
lean_object* l_Lean_Name_getRoot___main(lean_object*);
extern lean_object* l_Lean_Meta_evalNat___closed__1;
lean_object* l_Lean_getPPNotation___closed__2;
lean_object* l_Std_RBNode_find___main___at_Lean_Delaborator_getPPOption___spec__1(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Delaborator_delabLit___closed__1;
lean_object* l___regBuiltin_Lean_Delaborator_delabLT(lean_object*);
uint8_t l_Lean_Expr_hasLooseBVars(lean_object*);
@ -1017,6 +1015,7 @@ extern lean_object* l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed
lean_object* l___regBuiltin_Lean_Delaborator_delabTuple___closed__2;
lean_object* l___regBuiltin_Lean_Delaborator_delabAndThen___closed__2;
lean_object* l___regBuiltin_Lean_Delaborator_delabPow___closed__1;
lean_object* l_Lean_Name_getRoot(lean_object*);
lean_object* l_Lean_Delaborator_delabMapRev(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Delaborator_Alternative___closed__3;
lean_object* l_Lean_Delaborator_delabNe___lambda__1___closed__3;
@ -1066,6 +1065,7 @@ lean_object* l_Lean_Delaborator_delabConst___closed__3;
lean_object* l___regBuiltin_Lean_Delaborator_delabForall(lean_object*);
lean_object* l_Lean_Delaborator_delabBEq___lambda__1___closed__3;
lean_object* l_Array_anyRangeMAux___main___at_Lean_Delaborator_hasIdent___main___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_replacePrefix(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Delaborator_delabBOr___closed__1;
lean_object* l_Lean_Delaborator_delabLetE___closed__2;
lean_object* l___private_Lean_Delaborator_3__unresolveOpenDecls___main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -4038,7 +4038,7 @@ lean_dec(x_1);
return x_7;
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_Delaborator_getPPOption___spec__1(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at_Lean_Delaborator_getPPOption___spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -4102,7 +4102,7 @@ lean_inc(x_12);
lean_dec(x_2);
x_13 = l_Lean_getPPAll(x_8);
lean_dec(x_8);
x_14 = l_Std_RBNode_find___main___at_Lean_Delaborator_getPPOption___spec__1(x_11, x_12);
x_14 = l_Std_RBNode_find___at_Lean_Delaborator_getPPOption___spec__1(x_11, x_12);
lean_dec(x_12);
lean_dec(x_11);
if (lean_obj_tag(x_14) == 0)
@ -4158,7 +4158,7 @@ lean_inc(x_26);
x_27 = lean_ctor_get(x_2, 1);
lean_inc(x_27);
lean_dec(x_2);
x_28 = l_Std_RBNode_find___main___at_Lean_Delaborator_getPPOption___spec__1(x_26, x_27);
x_28 = l_Std_RBNode_find___at_Lean_Delaborator_getPPOption___spec__1(x_26, x_27);
lean_dec(x_27);
lean_dec(x_26);
if (lean_obj_tag(x_28) == 0)
@ -4208,11 +4208,11 @@ return x_40;
}
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_Delaborator_getPPOption___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at_Lean_Delaborator_getPPOption___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_find___main___at_Lean_Delaborator_getPPOption___spec__1(x_1, x_2);
x_3 = l_Std_RBNode_find___at_Lean_Delaborator_getPPOption___spec__1(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;
@ -8075,7 +8075,7 @@ return x_26;
else
{
lean_object* x_27;
x_27 = l_Lean_Name_getRoot___main(x_25);
x_27 = l_Lean_Name_getRoot(x_25);
lean_dec(x_25);
x_1 = x_27;
x_7 = x_19;
@ -8656,7 +8656,7 @@ lean_inc(x_11);
lean_dec(x_8);
x_12 = l_Lean_NameGenerator_Inhabited___closed__2;
x_13 = l_Lean_Delaborator_delabMVar___closed__2;
x_14 = l_Lean_Name_replacePrefix___main(x_11, x_12, x_13);
x_14 = l_Lean_Name_replacePrefix(x_11, x_12, x_13);
x_15 = lean_mk_syntax_ident(x_14);
x_16 = l_Lean_Delaborator_delabMVar___closed__4;
x_17 = lean_array_push(x_16, x_15);
@ -8678,7 +8678,7 @@ lean_inc(x_21);
lean_dec(x_8);
x_22 = l_Lean_NameGenerator_Inhabited___closed__2;
x_23 = l_Lean_Delaborator_delabMVar___closed__2;
x_24 = l_Lean_Name_replacePrefix___main(x_21, x_22, x_23);
x_24 = l_Lean_Name_replacePrefix(x_21, x_22, x_23);
x_25 = lean_mk_syntax_ident(x_24);
x_26 = l_Lean_Delaborator_delabMVar___closed__4;
x_27 = lean_array_push(x_26, x_25);
@ -9051,7 +9051,7 @@ _start:
lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12;
x_9 = lean_box(0);
lean_inc(x_2);
x_10 = l_Lean_Name_replacePrefix___main(x_2, x_1, x_9);
x_10 = l_Lean_Name_replacePrefix(x_2, x_1, x_9);
x_11 = lean_st_ref_get(x_7, x_8);
x_12 = !lean_is_exclusive(x_11);
if (x_12 == 0)
@ -9490,7 +9490,7 @@ x_12 = lean_ctor_get(x_10, 0);
x_13 = lean_ctor_get(x_10, 1);
x_14 = lean_box(0);
lean_inc(x_1);
x_15 = l_Lean_Name_replacePrefix___main(x_1, x_12, x_14);
x_15 = l_Lean_Name_replacePrefix(x_1, x_12, x_14);
x_16 = lean_name_eq(x_15, x_1);
if (x_16 == 0)
{

File diff suppressed because it is too large Load diff

View file

@ -26,6 +26,7 @@ lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall__
lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_elabBinderViews___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Binders_0__Lean_Elab_Term_expandMatchAltsIntoMatchAux___closed__10;
size_t l_USize_add(size_t, size_t);
extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l_Lean_Elab_Term_elabLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_elabLetDeclAux___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_quoteAutoTactic___closed__3;
@ -373,7 +374,6 @@ lean_object* l_Lean_Meta_setMCtx___at___private_Lean_Meta_Basic_0__Lean_Meta_lif
uint8_t l_Lean_Elab_Term_Quotation_isAntiquotSplice(lean_object*);
lean_object* l_Lean_Elab_Term_FunBinders_elabFunBindersAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabLetDeclCore___closed__10;
extern lean_object* l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
lean_object* l_Lean_Elab_Term_elabType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__11;
@ -970,7 +970,7 @@ x_1 = l_Lean_Elab_Term_quoteAutoTactic___closed__1;
x_2 = l_Lean_Elab_Term_quoteAutoTactic___closed__2;
x_3 = lean_unsigned_to_nat(55u);
x_4 = lean_unsigned_to_nat(26u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -19756,7 +19756,7 @@ x_1 = l_Lean_Elab_Term_quoteAutoTactic___closed__1;
x_2 = l_Lean_Elab_Term_elabLetDeclCore___closed__7;
x_3 = lean_unsigned_to_nat(517u);
x_4 = lean_unsigned_to_nat(22u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}

View file

@ -282,7 +282,6 @@ lean_object* l___regBuiltin_Lean_Elab_Term_expandGE___closed__2;
lean_object* l_Lean_Elab_Term_expandEmptyC___closed__5;
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__5;
lean_object* l___regBuiltin_Lean_Elab_Term_expandseqLeft___closed__2;
extern lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__15;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
lean_object* l___regBuiltin_Lean_Elab_Term_expandAdd___closed__2;
lean_object* l___regBuiltin_Lean_Elab_Term_expandHave___closed__1;
@ -359,6 +358,7 @@ lean_object* l_Lean_Elab_Term_expandGE___boxed(lean_object*, lean_object*, lean_
lean_object* l_Lean_Meta_mkExpectedTypeHint___at_Lean_Elab_Term_elabNativeRefl___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabPanic___closed__5;
lean_object* l_Lean_Elab_Term_expandEquiv___closed__2;
extern lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__14;
lean_object* l_Lean_Elab_Term_expandShow___closed__5;
lean_object* l_Lean_Elab_Term_expandShow___closed__15;
lean_object* l_Lean_Elab_Term_expandEquiv___closed__1;
@ -441,6 +441,7 @@ lean_object* l_Lean_compileDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__
lean_object* l_Lean_Elab_Term_elabPanic___closed__11;
lean_object* l_Lean_Elab_Term_expandDiv___closed__3;
lean_object* l___regBuiltin_Lean_Elab_Term_elabBorrowed(lean_object*);
extern lean_object* l_Lean_setOptionFromString___closed__5;
lean_object* l_Lean_Elab_Term_expandPow___closed__4;
lean_object* l_Lean_Elab_Term_expandAssert___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
@ -461,7 +462,6 @@ lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_mkNativeRef
extern lean_object* l_Lean_Meta_reduceNat_x3f___closed__8;
lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__22;
lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*);
extern lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__13;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13;
extern lean_object* l___regBuiltin_Lean_Elab_Term_elabByTactic___closed__2;
lean_object* l_Lean_Elab_Term_expandAppend___closed__2;
@ -515,6 +515,7 @@ extern lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_
lean_object* l_Lean_Elab_Term_elabNativeRefl_match__1(lean_object*);
lean_object* l_Lean_Elab_Term_expandShow___closed__13;
extern lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__7;
extern lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__12;
lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabTParserMacroAux___closed__7;
lean_object* l___regBuiltin_Lean_Elab_Term_expandShow(lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_expandSubtype___closed__1;
@ -631,7 +632,6 @@ lean_object* l_List_beq___main___at___private_Lean_Elab_BuiltinNotation_0__Lean_
lean_object* l_Lean_Elab_Term_expandBOr(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabPanic___closed__9;
extern lean_object* l_Lean_Meta_mkSorry___rarg___lambda__1___closed__1;
lean_object* l_Lean_Elab_Term_expandSorry___rarg___closed__9;
lean_object* l___regBuiltin_Lean_Elab_Term_expandMapRev___closed__2;
lean_object* l_Lean_Elab_Term_elabPanic___closed__1;
lean_object* l_Lean_Elab_Term_expandShow___closed__4;
@ -11101,10 +11101,10 @@ if (lean_obj_tag(x_8) == 0)
lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
x_9 = l_Lean_Elab_Term_expandAssert___closed__1;
x_10 = lean_array_push(x_9, x_5);
x_11 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__13;
x_11 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__12;
x_12 = lean_array_push(x_10, x_11);
x_13 = lean_array_push(x_12, x_7);
x_14 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__15;
x_14 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__14;
x_15 = lean_array_push(x_13, x_14);
x_16 = l_Lean_Elab_Term_expandAssert___closed__13;
x_17 = lean_array_push(x_15, x_16);
@ -11125,10 +11125,10 @@ lean_inc(x_21);
lean_dec(x_8);
x_22 = l_Lean_Elab_Term_expandAssert___closed__1;
x_23 = lean_array_push(x_22, x_5);
x_24 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__13;
x_24 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__12;
x_25 = lean_array_push(x_23, x_24);
x_26 = lean_array_push(x_25, x_7);
x_27 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__15;
x_27 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__14;
x_28 = lean_array_push(x_26, x_27);
x_29 = l_Lean_SourceInfo_inhabited___closed__1;
x_30 = l_Lean_mkStxStrLit(x_21, x_29);
@ -11637,8 +11637,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
x_2 = l_Bool_HasRepr___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
x_2 = l_Lean_boolToExpr___lambda__1___closed__3;
x_3 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_3, 0, x_2);
lean_ctor_set(x_3, 1, x_1);
return x_3;
}
}
@ -11647,19 +11649,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
x_2 = l_Lean_boolToExpr___lambda__1___closed__3;
x_3 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_3, 0, x_2);
lean_ctor_set(x_3, 1, x_1);
return x_3;
}
}
static lean_object* _init_l_Lean_Elab_Term_expandSorry___rarg___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
x_2 = l_Lean_Elab_Term_expandSorry___rarg___closed__8;
x_2 = l_Lean_Elab_Term_expandSorry___rarg___closed__7;
x_3 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_3, 0, x_2);
lean_ctor_set(x_3, 1, x_1);
@ -11689,10 +11679,10 @@ lean_ctor_set(x_10, 2, x_6);
lean_ctor_set(x_10, 3, x_9);
x_11 = l_Array_empty___closed__1;
x_12 = lean_array_push(x_11, x_10);
x_13 = l_Lean_Elab_Term_expandSorry___rarg___closed__7;
x_13 = l_Lean_setOptionFromString___closed__5;
x_14 = l_Lean_addMacroScope(x_4, x_13, x_3);
x_15 = l_Lean_Elab_Term_expandSorry___rarg___closed__6;
x_16 = l_Lean_Elab_Term_expandSorry___rarg___closed__9;
x_16 = l_Lean_Elab_Term_expandSorry___rarg___closed__8;
x_17 = lean_alloc_ctor(3, 4, 0);
lean_ctor_set(x_17, 0, x_7);
lean_ctor_set(x_17, 1, x_15);
@ -12924,8 +12914,6 @@ l_Lean_Elab_Term_expandSorry___rarg___closed__7 = _init_l_Lean_Elab_Term_expandS
lean_mark_persistent(l_Lean_Elab_Term_expandSorry___rarg___closed__7);
l_Lean_Elab_Term_expandSorry___rarg___closed__8 = _init_l_Lean_Elab_Term_expandSorry___rarg___closed__8();
lean_mark_persistent(l_Lean_Elab_Term_expandSorry___rarg___closed__8);
l_Lean_Elab_Term_expandSorry___rarg___closed__9 = _init_l_Lean_Elab_Term_expandSorry___rarg___closed__9();
lean_mark_persistent(l_Lean_Elab_Term_expandSorry___rarg___closed__9);
l___regBuiltin_Lean_Elab_Term_expandSorry___closed__1 = _init_l___regBuiltin_Lean_Elab_Term_expandSorry___closed__1();
lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_expandSorry___closed__1);
l___regBuiltin_Lean_Elab_Term_expandSorry___closed__2 = _init_l___regBuiltin_Lean_Elab_Term_expandSorry___closed__2();

View file

@ -28,6 +28,7 @@ lean_object* l___private_Lean_Elab_Command_0__Lean_Elab_Command_addNamespace(lea
lean_object* l___regBuiltin_Lean_Elab_Command_elabEval___closed__3;
lean_object* l_Lean_extractMacroScopes(lean_object*);
lean_object* l_Lean_throwError___at___private_Lean_Elab_Command_0__Lean_Elab_Command_elabCommandUsing___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l_Lean_Meta_inferType___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at_Lean_Elab_Command_expandDeclId___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_Lean_Elab_Command___instance__7___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
@ -108,7 +109,6 @@ lean_object* l___private_Lean_Elab_Command_0__Lean_Elab_Command_addNamespace___b
lean_object* l_Lean_addMessageContextPartial___at_Lean_Elab_Command_Lean_Elab_Command___instance__3___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_addAndCompile___at_Lean_Elab_Command_elabEvalUnsafe___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Array_empty___closed__1;
extern lean_object* l_Lean_verboseOption___closed__3;
lean_object* l_Lean_Elab_Command_CommandElabM_monadLog___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_withLogging___closed__2;
lean_object* l_Lean_Elab_Command_hasNoErrorMessages___rarg___boxed(lean_object*, lean_object*);
@ -204,7 +204,6 @@ lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_obj
lean_object* l_Lean_Elab_Command_elabEvalUnsafe_match__2___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Command_0__Lean_Elab_Command_elabCommandUsing_match__1(lean_object*);
lean_object* l_Lean_Elab_Command_failIfSucceeds___lambda__1___closed__2;
lean_object* l_Lean_Name_getNumParts___main(lean_object*);
lean_object* l_Lean_Elab_Command_elabOpen___closed__3;
lean_object* l_Lean_Elab_Command_elabOpen(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Command_elabOpen___closed__3;
@ -381,7 +380,6 @@ lean_object* lean_name_mk_string(lean_object*, lean_object*);
lean_object* l_Lean_Elab_expandDeclId___at_Lean_Elab_Command_expandDeclId___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_synthesizeSyntheticMVars_loop(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_mkCommandElabAttributeUnsafe___closed__5;
lean_object* l_Lean_KVMap_insertCore___main(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_runTermElabM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_Command_0__Lean_Elab_Command_addTraceAsMessages___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_AssocList_find_x3f___at_Lean_Elab_Command_elabCommand___spec__6___boxed(lean_object*, lean_object*);
@ -405,6 +403,7 @@ lean_object* l_Lean_Elab_Command_elabExport(lean_object*, lean_object*, lean_obj
lean_object* l_Lean_Elab_Command_elabSynth___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabCheck___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabOpenOnly(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_getNumParts(lean_object*);
lean_object* l_Lean_Elab_Command_hasNoErrorMessages(lean_object*);
lean_object* l_Lean_SMap_find_x3f___at_Lean_Elab_Command_elabCommand___spec__1(lean_object*, lean_object*);
extern lean_object* l_IO_Error_Inhabited___closed__1;
@ -579,10 +578,12 @@ lean_object* l_Lean_Elab_Command_setOption_match__1___rarg(lean_object*, lean_ob
lean_object* lean_panic_fn(lean_object*, lean_object*);
extern lean_object* l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda___spec__1___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_initFn____x40_Lean_Data_Options___hyg_481____closed__3;
lean_object* l___private_Lean_Elab_Command_0__Lean_Elab_Command_ioErrorToMessage___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_mkCommandElabAttributeUnsafe___closed__2;
lean_object* l_Lean_Elab_Command_modifyScope___at_Lean_Elab_Command_setOption___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_resolveNamespace___rarg___lambda__1___closed__1;
lean_object* l_Lean_KVMap_insertCore(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_evalConst___at_Lean_Elab_Command_elabEvalUnsafe___spec__2(lean_object*);
lean_object* l_Lean_Elab_Command_Lean_Elab_Command___instance__9___closed__1;
lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabCommand___spec__8___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -607,7 +608,6 @@ lean_object* l_Lean_Elab_Command_mkCommandElabAttributeUnsafe___closed__3;
lean_object* l_Lean_Syntax_getPos(lean_object*);
lean_object* l_Lean_Elab_Command_getRef(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_State_inhabited;
extern lean_object* l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
lean_object* l_Std_PersistentArray_foldlMAux___at___private_Lean_Elab_Command_0__Lean_Elab_Command_addTraceAsMessages___spec__2(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_expandDeclId___at_Lean_Elab_Command_expandDeclId___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
@ -9113,7 +9113,7 @@ lean_inc(x_77);
x_78 = lean_ctor_get(x_8, 1);
lean_inc(x_78);
lean_dec(x_8);
x_79 = l_Lean_Name_getNumParts___main(x_76);
x_79 = l_Lean_Name_getNumParts(x_76);
lean_dec(x_76);
x_9 = x_79;
x_10 = x_77;
@ -9398,7 +9398,7 @@ if (x_16 == 0)
{
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21;
x_17 = lean_ctor_get(x_14, 2);
x_18 = l_Lean_Name_getNumParts___main(x_1);
x_18 = l_Lean_Name_getNumParts(x_1);
lean_dec(x_1);
x_19 = l_List_drop___main___rarg(x_18, x_17);
lean_dec(x_17);
@ -9444,7 +9444,7 @@ lean_inc(x_27);
lean_inc(x_26);
lean_inc(x_25);
lean_dec(x_14);
x_32 = l_Lean_Name_getNumParts___main(x_1);
x_32 = l_Lean_Name_getNumParts(x_1);
lean_dec(x_1);
x_33 = l_List_drop___main___rarg(x_32, x_27);
lean_dec(x_27);
@ -9596,7 +9596,7 @@ x_1 = l_Lean_Elab_Command_modifyScope___closed__1;
x_2 = l_Lean_Elab_Command_modifyScope___closed__2;
x_3 = lean_unsigned_to_nat(343u);
x_4 = lean_unsigned_to_nat(14u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -17729,7 +17729,7 @@ if (x_43 == 0)
{
lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47;
x_44 = lean_ctor_get(x_37, 2);
x_45 = l_Lean_KVMap_insertCore___main(x_44, x_1, x_2);
x_45 = l_Lean_KVMap_insertCore(x_44, x_1, x_2);
lean_ctor_set(x_37, 2, x_45);
x_46 = lean_st_ref_set(x_4, x_7, x_38);
x_47 = !lean_is_exclusive(x_46);
@ -17773,7 +17773,7 @@ lean_inc(x_55);
lean_inc(x_54);
lean_inc(x_53);
lean_dec(x_37);
x_60 = l_Lean_KVMap_insertCore___main(x_55, x_1, x_2);
x_60 = l_Lean_KVMap_insertCore(x_55, x_1, x_2);
x_61 = lean_alloc_ctor(0, 7, 0);
lean_ctor_set(x_61, 0, x_53);
lean_ctor_set(x_61, 1, x_54);
@ -17838,7 +17838,7 @@ if (lean_is_exclusive(x_37)) {
lean_dec_ref(x_37);
x_75 = lean_box(0);
}
x_76 = l_Lean_KVMap_insertCore___main(x_70, x_1, x_2);
x_76 = l_Lean_KVMap_insertCore(x_70, x_1, x_2);
if (lean_is_scalar(x_75)) {
x_77 = lean_alloc_ctor(0, 7, 0);
} else {
@ -17930,7 +17930,7 @@ if (lean_is_exclusive(x_37)) {
lean_dec_ref(x_37);
x_99 = lean_box(0);
}
x_100 = l_Lean_KVMap_insertCore___main(x_94, x_1, x_2);
x_100 = l_Lean_KVMap_insertCore(x_94, x_1, x_2);
if (lean_is_scalar(x_99)) {
x_101 = lean_alloc_ctor(0, 7, 0);
} else {
@ -18660,7 +18660,7 @@ else
lean_object* x_27; lean_object* x_28;
lean_dec(x_13);
lean_dec(x_9);
x_27 = l_Lean_verboseOption___closed__3;
x_27 = l_Lean_initFn____x40_Lean_Data_Options___hyg_481____closed__3;
x_28 = l_Lean_Elab_Command_setOption(x_7, x_27, x_2, x_3, x_4);
return x_28;
}

View file

@ -72,7 +72,6 @@ lean_object* l_Lean_Elab_Modifiers_hasFormat(lean_object*);
lean_object* l_Lean_Elab_expandDeclId_match__2(lean_object*);
lean_object* l_Lean_Elab_mkDeclName___rarg___closed__2;
lean_object* l_Lean_Elab_mkDeclName___rarg___lambda__1___closed__3;
lean_object* l_Lean_Format_joinSep___main___at___private_Lean_Data_Trie_6__toStringAux___main___spec__1(lean_object*, lean_object*);
lean_object* lean_nat_sub(lean_object*, lean_object*);
lean_object* l_Lean_Elab_applyVisibility_match__1___rarg(uint8_t, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_append___main(lean_object*, lean_object*);
@ -107,6 +106,7 @@ lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__3;
lean_object* l_Lean_Elab_Modifiers_attrs___default;
lean_object* l_Array_iterateMAux___main___at_Lean_Elab_expandDeclId___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_mkDeclName___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Format_joinSep___main___at___private_Lean_Data_Trie_0__Lean_Parser_Trie_toStringAux___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Elab_elabModifiers_match__3(lean_object*);
lean_object* l_Lean_throwErrorAt___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_mkDeclName_match__2___rarg(uint8_t, lean_object*, lean_object*);
@ -1424,7 +1424,7 @@ lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean
x_17 = l_List_append___rarg(x_16, x_15);
x_18 = l_List_append___rarg(x_17, x_9);
x_19 = l_Lean_List_format___rarg___closed__3;
x_20 = l_Lean_Format_joinSep___main___at___private_Lean_Data_Trie_6__toStringAux___main___spec__1(x_18, x_19);
x_20 = l_Lean_Format_joinSep___main___at___private_Lean_Data_Trie_0__Lean_Parser_Trie_toStringAux___spec__1(x_18, x_19);
lean_dec(x_18);
x_21 = l_Lean_Elab_Modifiers_hasFormat___closed__3;
x_22 = lean_alloc_ctor(4, 2, 0);
@ -1451,7 +1451,7 @@ x_29 = l_Lean_Elab_Modifiers_hasFormat___closed__7;
x_30 = l_List_append___rarg(x_16, x_29);
x_31 = l_List_append___rarg(x_30, x_9);
x_32 = l_Lean_List_format___rarg___closed__3;
x_33 = l_Lean_Format_joinSep___main___at___private_Lean_Data_Trie_6__toStringAux___main___spec__1(x_31, x_32);
x_33 = l_Lean_Format_joinSep___main___at___private_Lean_Data_Trie_0__Lean_Parser_Trie_toStringAux___spec__1(x_31, x_32);
lean_dec(x_31);
x_34 = l_Lean_Elab_Modifiers_hasFormat___closed__3;
x_35 = lean_alloc_ctor(4, 2, 0);
@ -1484,7 +1484,7 @@ lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean
x_45 = l_List_append___rarg(x_44, x_42);
x_46 = l_List_append___rarg(x_45, x_9);
x_47 = l_Lean_List_format___rarg___closed__3;
x_48 = l_Lean_Format_joinSep___main___at___private_Lean_Data_Trie_6__toStringAux___main___spec__1(x_46, x_47);
x_48 = l_Lean_Format_joinSep___main___at___private_Lean_Data_Trie_0__Lean_Parser_Trie_toStringAux___spec__1(x_46, x_47);
lean_dec(x_46);
x_49 = l_Lean_Elab_Modifiers_hasFormat___closed__3;
x_50 = lean_alloc_ctor(4, 2, 0);
@ -1511,7 +1511,7 @@ x_57 = l_Lean_Elab_Modifiers_hasFormat___closed__7;
x_58 = l_List_append___rarg(x_44, x_57);
x_59 = l_List_append___rarg(x_58, x_9);
x_60 = l_Lean_List_format___rarg___closed__3;
x_61 = l_Lean_Format_joinSep___main___at___private_Lean_Data_Trie_6__toStringAux___main___spec__1(x_59, x_60);
x_61 = l_Lean_Format_joinSep___main___at___private_Lean_Data_Trie_0__Lean_Parser_Trie_toStringAux___spec__1(x_59, x_60);
lean_dec(x_59);
x_62 = l_Lean_Elab_Modifiers_hasFormat___closed__3;
x_63 = lean_alloc_ctor(4, 2, 0);
@ -1646,7 +1646,7 @@ lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean
x_17 = l_List_append___rarg(x_16, x_15);
x_18 = l_List_append___rarg(x_17, x_9);
x_19 = l_Lean_List_format___rarg___closed__3;
x_20 = l_Lean_Format_joinSep___main___at___private_Lean_Data_Trie_6__toStringAux___main___spec__1(x_18, x_19);
x_20 = l_Lean_Format_joinSep___main___at___private_Lean_Data_Trie_0__Lean_Parser_Trie_toStringAux___spec__1(x_18, x_19);
lean_dec(x_18);
x_21 = l_Lean_Elab_Modifiers_hasFormat___closed__3;
x_22 = lean_alloc_ctor(4, 2, 0);
@ -1673,7 +1673,7 @@ x_29 = l_Lean_Elab_Modifiers_hasFormat___closed__7;
x_30 = l_List_append___rarg(x_16, x_29);
x_31 = l_List_append___rarg(x_30, x_9);
x_32 = l_Lean_List_format___rarg___closed__3;
x_33 = l_Lean_Format_joinSep___main___at___private_Lean_Data_Trie_6__toStringAux___main___spec__1(x_31, x_32);
x_33 = l_Lean_Format_joinSep___main___at___private_Lean_Data_Trie_0__Lean_Parser_Trie_toStringAux___spec__1(x_31, x_32);
lean_dec(x_31);
x_34 = l_Lean_Elab_Modifiers_hasFormat___closed__3;
x_35 = lean_alloc_ctor(4, 2, 0);
@ -1706,7 +1706,7 @@ lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean
x_45 = l_List_append___rarg(x_44, x_42);
x_46 = l_List_append___rarg(x_45, x_9);
x_47 = l_Lean_List_format___rarg___closed__3;
x_48 = l_Lean_Format_joinSep___main___at___private_Lean_Data_Trie_6__toStringAux___main___spec__1(x_46, x_47);
x_48 = l_Lean_Format_joinSep___main___at___private_Lean_Data_Trie_0__Lean_Parser_Trie_toStringAux___spec__1(x_46, x_47);
lean_dec(x_46);
x_49 = l_Lean_Elab_Modifiers_hasFormat___closed__3;
x_50 = lean_alloc_ctor(4, 2, 0);
@ -1733,7 +1733,7 @@ x_57 = l_Lean_Elab_Modifiers_hasFormat___closed__7;
x_58 = l_List_append___rarg(x_44, x_57);
x_59 = l_List_append___rarg(x_58, x_9);
x_60 = l_Lean_List_format___rarg___closed__3;
x_61 = l_Lean_Format_joinSep___main___at___private_Lean_Data_Trie_6__toStringAux___main___spec__1(x_59, x_60);
x_61 = l_Lean_Format_joinSep___main___at___private_Lean_Data_Trie_0__Lean_Parser_Trie_toStringAux___spec__1(x_59, x_60);
lean_dec(x_59);
x_62 = l_Lean_Elab_Modifiers_hasFormat___closed__3;
x_63 = lean_alloc_ctor(4, 2, 0);

View file

@ -24,7 +24,6 @@ lean_object* l_Lean_Meta_forallTelescopeCompatibleAux___rarg___lambda__4___boxed
lean_object* l_Lean_Meta_forallTelescopeCompatibleAux___rarg___closed__1;
lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__1(lean_object*);
lean_object* l_Lean_Meta_forallTelescopeCompatibleAux_match__1(lean_object*);
uint8_t l_Lean_Name_lt___main(lean_object*, lean_object*);
lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__1___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_forallTelescopeCompatibleAux___rarg___lambda__4___closed__2;
uint8_t lean_name_eq(lean_object*, lean_object*);
@ -82,6 +81,7 @@ lean_object* l_Lean_Meta_forallTelescopeCompatibleAux___rarg___lambda__2___boxed
uint8_t l_Lean_Elab_sortDeclLevelParams___lambda__1(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_BinderInfo_beq(uint8_t, uint8_t);
extern lean_object* l_Lean_Meta_getMVarDecl___rarg___lambda__1___closed__3;
uint8_t l_Lean_Name_lt(lean_object*, lean_object*);
lean_object* l_List_foldl___main___at_Lean_Elab_sortDeclLevelParams___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* lean_environment_main_module(lean_object*);
uint8_t l_String_isPrefixOf(lean_object*, lean_object*);
@ -1303,7 +1303,7 @@ else
lean_object* x_9; lean_object* x_10; uint8_t x_11;
x_9 = l_Lean_Name_inhabited;
x_10 = lean_array_get(x_9, x_3, x_5);
x_11 = l_Lean_Name_lt___main(x_10, x_2);
x_11 = l_Lean_Name_lt(x_10, x_2);
lean_dec(x_10);
if (x_11 == 0)
{
@ -1351,7 +1351,7 @@ lean_dec(x_14);
x_37 = l_Lean_Name_inhabited;
x_38 = lean_array_get(x_37, x_1, x_16);
x_39 = lean_array_get(x_37, x_1, x_2);
x_40 = l_Lean_Name_lt___main(x_38, x_39);
x_40 = l_Lean_Name_lt(x_38, x_39);
lean_dec(x_39);
lean_dec(x_38);
if (x_40 == 0)
@ -1372,13 +1372,13 @@ lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21;
x_18 = l_Lean_Name_inhabited;
x_19 = lean_array_get(x_18, x_17, x_3);
x_20 = lean_array_get(x_18, x_17, x_2);
x_21 = l_Lean_Name_lt___main(x_19, x_20);
x_21 = l_Lean_Name_lt(x_19, x_20);
lean_dec(x_20);
if (x_21 == 0)
{
lean_object* x_22; uint8_t x_23;
x_22 = lean_array_get(x_18, x_17, x_16);
x_23 = l_Lean_Name_lt___main(x_22, x_19);
x_23 = l_Lean_Name_lt(x_22, x_19);
lean_dec(x_22);
if (x_23 == 0)
{
@ -1411,7 +1411,7 @@ lean_dec(x_19);
x_28 = lean_array_swap(x_17, x_2, x_3);
x_29 = lean_array_get(x_18, x_28, x_16);
x_30 = lean_array_get(x_18, x_28, x_3);
x_31 = l_Lean_Name_lt___main(x_29, x_30);
x_31 = l_Lean_Name_lt(x_29, x_30);
lean_dec(x_29);
if (x_31 == 0)
{

View file

@ -39,6 +39,7 @@ lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doLetArrowToCode___closed__2;
extern lean_object* l_Lean_unitToExpr___lambda__1___closed__2;
lean_object* l_Lean_Elab_Term_Do_ToTerm_declToTermCore___closed__4;
size_t l_USize_add(size_t, size_t);
extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_inferType___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult_match__1(lean_object*);
@ -62,6 +63,7 @@ lean_object* l_Lean_stringToMessageData(lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToTerm_declToTermCore___closed__2;
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doSeqToCode___closed__8;
lean_object* l_Array_anyRangeMAux___main___at_Lean_Elab_Term_Do_hasBreakContinue___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_del___at_Lean_Elab_Term_Do_eraseVars___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToTerm_continueToTermCore___closed__13;
lean_object* l_Lean_Elab_Term_Do_ToTerm_returnToTermCore_match__1___rarg(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_mkFreshJP___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -103,7 +105,6 @@ lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_Do_ToCodeBlo
lean_object* l_Lean_Elab_Term_Do_hasBreakContinue___boxed(lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToTerm_breakToTermCore___closed__19;
lean_object* l_Array_anyRangeMAux___main___at_Lean_Elab_Term_Do_extendUpdatedVarsAux_update___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___main___at___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_union___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_withFor___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_mkPureUnitAction___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___spec__2___closed__12;
@ -250,6 +251,7 @@ lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_extractBind___lambda__1(
lean_object* l_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult___closed__19;
lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_Do_ToCodeBlock_mkForInBody___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_mkAuxDeclFor___rarg___lambda__3___closed__5;
lean_object* l_Std_RBNode_fold___at___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_union___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToTerm_reassignToTermCore___closed__7;
lean_object* l_Array_anyRangeMAux___main___at_Lean_Elab_Term_Do_mkReassignCore___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToTerm_declToTermCore___closed__8;
@ -312,6 +314,7 @@ lean_object* l_Lean_Elab_Term_Do_CodeBlocl_toMessageData_loop___closed__17;
extern lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__11;
lean_object* l_Lean_Elab_Term_Do_ToTerm_breakToTermCore___closed__9;
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doUnlessToCode(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___at_Lean_registerTagAttribute___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___lambda__1(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_hasLiftMethod___closed__1;
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_checkReassignable_match__1___rarg(lean_object*, lean_object*, lean_object*);
@ -450,6 +453,7 @@ lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_withNewVars___rarg___boxed(lean_obj
lean_object* l_Lean_Elab_Term_Do_pullExitPointsAux_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doReassignArrowToCode___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__7;
lean_object* l_Std_RBNode_appendTrees___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doForToCode___closed__1;
lean_object* l_Lean_Elab_Term_Do_mkAuxDeclFor___rarg___lambda__3___closed__7;
extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__6;
@ -468,7 +472,6 @@ lean_object* l_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult___closed__43;
lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_Do_concat___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_getLetPatDeclVars_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_ensureInsideFor___closed__2;
extern lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__14;
lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_extractBind___closed__3;
lean_object* l_Std_RBNode_balRight___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_convertTerminalActionIntoJmp_loop_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -521,7 +524,6 @@ extern lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__28;
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_tryCatchPred___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo___closed__4;
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doForToCode___closed__11;
uint8_t l_Std_RBNode_any___main___at_Lean_Elab_Term_Do_extendUpdatedVars___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_Do_ToCodeBlock_doIfToCode___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_CodeBlocl_toMessageData_loop_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -588,7 +590,6 @@ lean_object* l_Std_RBNode_balLeft___rarg(lean_object*, lean_object*, lean_object
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_ensureEOS___closed__2;
lean_object* l___regBuiltin_Lean_Elab_Term_Do_elabDo(lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Term_Do_ToTerm_mkJoinPointCore___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_appendTrees___main___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_withNewVars___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___closed__16;
lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_ToCodeBlock_expandLiftMethodAux_match__1___rarg(lean_object*, lean_object*, lean_object*);
@ -625,6 +626,7 @@ lean_object* l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_pos
lean_object* l_Lean_Elab_Term_Do_ToTerm_breakToTermCore___closed__18;
lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_getDoLetArrowVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__13;
lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_Do_concat___spec__1___rarg(lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13;
lean_object* l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__32;
@ -692,7 +694,6 @@ lean_object* l_Lean_Elab_Term_Do_mkAuxDeclFor___rarg___lambda__5___closed__7;
lean_object* l_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult___closed__18;
lean_object* l___regBuiltin_Lean_Elab_Term_elabLiftMethod(lean_object*);
extern lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__12;
lean_object* l_Std_RBNode_del___main___at_Lean_Elab_Term_Do_eraseVars___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToTerm_mkJmp___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult___closed__5;
lean_object* l_Lean_Elab_Term_Do_hasExitPointPred_loop___at_Lean_Elab_Term_Do_hasBreakContinue___spec__1___boxed(lean_object*);
@ -727,7 +728,6 @@ lean_object* l_Lean_Elab_Term_Do_CodeBlocl_toMessageData_loop___closed__10;
lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_mkIdBindFor___closed__2;
extern lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__7;
extern lean_object* l_Lean_Meta_getMVarDecl___rarg___lambda__1___closed__3;
extern lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__12;
lean_object* l_Lean_Elab_Term_Do_getDoLetRecVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Elab_Term_Do_ToTerm_Kind_isRegular(uint8_t);
lean_object* l_Lean_Elab_Term_Do_concat_match__1___rarg(lean_object*, lean_object*, lean_object*);
@ -799,6 +799,7 @@ lean_object* l_Lean_Elab_Term_Do_ToTerm_declToTermCore___closed__7;
lean_object* l_Lean_Elab_Term_Do_mkAuxDeclFor___rarg___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToTerm_seqToTermCore___closed__7;
lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Std_RBNode_any___at_Lean_Elab_Term_Do_extendUpdatedVars___spec__1(lean_object*, lean_object*);
extern lean_object* l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__2;
lean_object* l_Lean_Elab_Term_elabLiftMethod___closed__2;
lean_object* l_Lean_Elab_Term_Do_ToTerm_breakToTermCore___closed__4;
@ -843,7 +844,6 @@ lean_object* l_Lean_Elab_Term_Do_mkAuxDeclFor___rarg___lambda__3___closed__2;
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doForToCode___closed__5;
lean_object* l_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult_match__1___rarg(uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Term_Do_CodeBlocl_toMessageData_loop___spec__1(lean_object*, lean_object*);
extern lean_object* l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
lean_object* l_Lean_Elab_Term_Do_mkMatch(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_mkFreshJP___lambda__1___closed__1;
@ -883,7 +883,6 @@ lean_object* l_Lean_throwError___at_Lean_Elab_Term_Do_mkJmp___spec__5___rarg(lea
lean_object* l_Lean_Elab_Term_Do_mkFreshJP___lambda__1___closed__2;
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doReassignArrowToCode(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_mkOptionalNode___closed__1;
lean_object* l_Std_RBNode_del___main___at_Lean_Elab_Term_Do_eraseVars___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToTerm_actionTerminalToTermCore_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_getDoHaveVar(lean_object*);
lean_object* l_Lean_Macro_expandMacro_x3fImp(lean_object*, lean_object*, lean_object*);
@ -1014,6 +1013,7 @@ lean_object* l_Lean_Elab_Term_Do_getDoReassignVars___boxed(lean_object*, lean_ob
lean_object* l_Array_iterateMAux___main___at_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___spec__2___closed__4;
lean_object* l_Lean_Core_mkFreshUserName___at_Lean_Elab_Term_Do_mkJmp___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___lambda__4___closed__4;
lean_object* l_Std_RBNode_del___at_Lean_Elab_Term_Do_eraseVars___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToTerm_breakToTermCore___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToTerm_returnToTermCore_match__1(lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___spec__1___closed__11;
@ -1028,7 +1028,6 @@ lean_object* l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__26;
lean_object* l_Lean_Elab_Term_Do_CodeBlocl_toMessageData_loop___closed__19;
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_Do_ToCodeBlock_checkReassignable___spec__2___closed__2;
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doForToCode___closed__3;
lean_object* l_Std_RBNode_any___main___at_Lean_Elab_Term_Do_extendUpdatedVars___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_mkAuxDeclFor___rarg___lambda__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_getDoLetArrowVars___closed__2;
lean_object* l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__12;
@ -1036,11 +1035,11 @@ lean_object* l_Lean_Elab_Term_Do_ToTerm_seqToTerm(lean_object*, lean_object*, le
uint8_t l_Array_anyRangeMAux___main___at_Lean_Elab_Term_Do_hasBreakContinue___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_inhabited___rarg___boxed(lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_Basic_3__iterateRevMAux___main___at___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_mkTuple___spec__1___closed__2;
lean_object* l_Std_RBNode_fold___main___at_Lean_registerTagAttribute___spec__1(lean_object*, lean_object*);
lean_object* l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__11;
lean_object* l_Lean_Elab_Term_Do_ToTerm_continueToTermCore___closed__22;
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doLetArrowToCode_match__2(lean_object*);
extern lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__11;
lean_object* l_Lean_Elab_Term_Do_ToTerm_actionTerminalToTermCore___closed__20;
uint8_t l_Array_anyRangeMAux___main___at_Lean_Elab_Term_Do_ToCodeBlock_tryCatchPred___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_Do_ToCodeBlock_checkReassignable___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -1091,6 +1090,7 @@ lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_mkTuple(lean_object*,
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doReassignArrowToCode___closed__5;
extern lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__1;
lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_ToCodeBlock_expandLiftMethodAux_match__1(lean_object*);
lean_object* l_Std_RBNode_any___at_Lean_Elab_Term_Do_extendUpdatedVars___spec__1___boxed(lean_object*, lean_object*);
extern lean_object* l___regBuiltin_Lean_Elab_Term_elabTypeOf___closed__2;
lean_object* l_Array_iterateMAux___main___at_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___spec__2___closed__2;
lean_object* l_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -2175,7 +2175,7 @@ _start:
{
lean_object* x_2; lean_object* x_3;
x_2 = l_Array_empty___closed__1;
x_3 = l_Std_RBNode_fold___main___at_Lean_registerTagAttribute___spec__1(x_2, x_1);
x_3 = l_Std_RBNode_fold___at_Lean_registerTagAttribute___spec__1(x_2, x_1);
return x_3;
}
}
@ -7063,158 +7063,160 @@ lean_dec(x_2);
return x_3;
}
}
lean_object* l_Std_RBNode_del___main___at_Lean_Elab_Term_Do_eraseVars___spec__2(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_del___at_Lean_Elab_Term_Do_eraseVars___spec__2(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
{
return x_2;
lean_object* x_3;
x_3 = lean_box(0);
return x_3;
}
else
{
uint8_t x_3;
x_3 = !lean_is_exclusive(x_2);
if (x_3 == 0)
uint8_t x_4;
x_4 = !lean_is_exclusive(x_2);
if (x_4 == 0)
{
lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8;
x_4 = lean_ctor_get(x_2, 0);
x_5 = lean_ctor_get(x_2, 1);
x_6 = lean_ctor_get(x_2, 2);
x_7 = lean_ctor_get(x_2, 3);
x_8 = l_Lean_Name_quickLt(x_1, x_5);
if (x_8 == 0)
{
uint8_t x_9;
x_9 = l_Lean_Name_quickLt(x_5, x_1);
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9;
x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_ctor_get(x_2, 1);
x_7 = lean_ctor_get(x_2, 2);
x_8 = lean_ctor_get(x_2, 3);
x_9 = l_Lean_Name_quickLt(x_1, x_6);
if (x_9 == 0)
{
lean_object* x_10;
uint8_t x_10;
x_10 = l_Lean_Name_quickLt(x_6, x_1);
if (x_10 == 0)
{
lean_object* x_11;
lean_free_object(x_2);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
x_10 = l_Std_RBNode_appendTrees___main___rarg(x_4, x_7);
return x_10;
x_11 = l_Std_RBNode_appendTrees___rarg(x_5, x_8);
return x_11;
}
else
{
uint8_t x_11;
x_11 = l_Std_RBNode_isBlack___rarg(x_7);
if (x_11 == 0)
uint8_t x_12;
x_12 = l_Std_RBNode_isBlack___rarg(x_8);
if (x_12 == 0)
{
lean_object* x_12; uint8_t x_13;
x_12 = l_Std_RBNode_del___main___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_7);
x_13 = 0;
lean_ctor_set(x_2, 3, x_12);
lean_ctor_set_uint8(x_2, sizeof(void*)*4, x_13);
lean_object* x_13; uint8_t x_14;
x_13 = l_Std_RBNode_del___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_8);
x_14 = 0;
lean_ctor_set(x_2, 3, x_13);
lean_ctor_set_uint8(x_2, sizeof(void*)*4, x_14);
return x_2;
}
else
{
lean_object* x_14; lean_object* x_15;
lean_object* x_15; lean_object* x_16;
lean_free_object(x_2);
x_14 = l_Std_RBNode_del___main___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_7);
x_15 = l_Std_RBNode_balRight___rarg(x_4, x_5, x_6, x_14);
return x_15;
x_15 = l_Std_RBNode_del___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_8);
x_16 = l_Std_RBNode_balRight___rarg(x_5, x_6, x_7, x_15);
return x_16;
}
}
}
else
{
uint8_t x_16;
x_16 = l_Std_RBNode_isBlack___rarg(x_4);
if (x_16 == 0)
uint8_t x_17;
x_17 = l_Std_RBNode_isBlack___rarg(x_5);
if (x_17 == 0)
{
lean_object* x_17; uint8_t x_18;
x_17 = l_Std_RBNode_del___main___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_4);
x_18 = 0;
lean_ctor_set(x_2, 0, x_17);
lean_ctor_set_uint8(x_2, sizeof(void*)*4, x_18);
lean_object* x_18; uint8_t x_19;
x_18 = l_Std_RBNode_del___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_5);
x_19 = 0;
lean_ctor_set(x_2, 0, x_18);
lean_ctor_set_uint8(x_2, sizeof(void*)*4, x_19);
return x_2;
}
else
{
lean_object* x_19; lean_object* x_20;
lean_object* x_20; lean_object* x_21;
lean_free_object(x_2);
x_19 = l_Std_RBNode_del___main___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_4);
x_20 = l_Std_RBNode_balLeft___rarg(x_19, x_5, x_6, x_7);
return x_20;
x_20 = l_Std_RBNode_del___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_5);
x_21 = l_Std_RBNode_balLeft___rarg(x_20, x_6, x_7, x_8);
return x_21;
}
}
}
else
{
lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25;
x_21 = lean_ctor_get(x_2, 0);
x_22 = lean_ctor_get(x_2, 1);
x_23 = lean_ctor_get(x_2, 2);
x_24 = lean_ctor_get(x_2, 3);
lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26;
x_22 = lean_ctor_get(x_2, 0);
x_23 = lean_ctor_get(x_2, 1);
x_24 = lean_ctor_get(x_2, 2);
x_25 = lean_ctor_get(x_2, 3);
lean_inc(x_25);
lean_inc(x_24);
lean_inc(x_23);
lean_inc(x_22);
lean_inc(x_21);
lean_dec(x_2);
x_25 = l_Lean_Name_quickLt(x_1, x_22);
if (x_25 == 0)
{
uint8_t x_26;
x_26 = l_Lean_Name_quickLt(x_22, x_1);
x_26 = l_Lean_Name_quickLt(x_1, x_23);
if (x_26 == 0)
{
lean_object* x_27;
uint8_t x_27;
x_27 = l_Lean_Name_quickLt(x_23, x_1);
if (x_27 == 0)
{
lean_object* x_28;
lean_dec(x_24);
lean_dec(x_23);
lean_dec(x_22);
x_27 = l_Std_RBNode_appendTrees___main___rarg(x_21, x_24);
return x_27;
x_28 = l_Std_RBNode_appendTrees___rarg(x_22, x_25);
return x_28;
}
else
{
uint8_t x_28;
x_28 = l_Std_RBNode_isBlack___rarg(x_24);
if (x_28 == 0)
uint8_t x_29;
x_29 = l_Std_RBNode_isBlack___rarg(x_25);
if (x_29 == 0)
{
lean_object* x_29; uint8_t x_30; lean_object* x_31;
x_29 = l_Std_RBNode_del___main___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_24);
x_30 = 0;
x_31 = lean_alloc_ctor(1, 4, 1);
lean_ctor_set(x_31, 0, x_21);
lean_ctor_set(x_31, 1, x_22);
lean_ctor_set(x_31, 2, x_23);
lean_ctor_set(x_31, 3, x_29);
lean_ctor_set_uint8(x_31, sizeof(void*)*4, x_30);
return x_31;
lean_object* x_30; uint8_t x_31; lean_object* x_32;
x_30 = l_Std_RBNode_del___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_25);
x_31 = 0;
x_32 = lean_alloc_ctor(1, 4, 1);
lean_ctor_set(x_32, 0, x_22);
lean_ctor_set(x_32, 1, x_23);
lean_ctor_set(x_32, 2, x_24);
lean_ctor_set(x_32, 3, x_30);
lean_ctor_set_uint8(x_32, sizeof(void*)*4, x_31);
return x_32;
}
else
{
lean_object* x_32; lean_object* x_33;
x_32 = l_Std_RBNode_del___main___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_24);
x_33 = l_Std_RBNode_balRight___rarg(x_21, x_22, x_23, x_32);
return x_33;
lean_object* x_33; lean_object* x_34;
x_33 = l_Std_RBNode_del___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_25);
x_34 = l_Std_RBNode_balRight___rarg(x_22, x_23, x_24, x_33);
return x_34;
}
}
}
else
{
uint8_t x_34;
x_34 = l_Std_RBNode_isBlack___rarg(x_21);
if (x_34 == 0)
uint8_t x_35;
x_35 = l_Std_RBNode_isBlack___rarg(x_22);
if (x_35 == 0)
{
lean_object* x_35; uint8_t x_36; lean_object* x_37;
x_35 = l_Std_RBNode_del___main___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_21);
x_36 = 0;
x_37 = lean_alloc_ctor(1, 4, 1);
lean_ctor_set(x_37, 0, x_35);
lean_ctor_set(x_37, 1, x_22);
lean_ctor_set(x_37, 2, x_23);
lean_ctor_set(x_37, 3, x_24);
lean_ctor_set_uint8(x_37, sizeof(void*)*4, x_36);
return x_37;
lean_object* x_36; uint8_t x_37; lean_object* x_38;
x_36 = l_Std_RBNode_del___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_22);
x_37 = 0;
x_38 = lean_alloc_ctor(1, 4, 1);
lean_ctor_set(x_38, 0, x_36);
lean_ctor_set(x_38, 1, x_23);
lean_ctor_set(x_38, 2, x_24);
lean_ctor_set(x_38, 3, x_25);
lean_ctor_set_uint8(x_38, sizeof(void*)*4, x_37);
return x_38;
}
else
{
lean_object* x_38; lean_object* x_39;
x_38 = l_Std_RBNode_del___main___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_21);
x_39 = l_Std_RBNode_balLeft___rarg(x_38, x_22, x_23, x_24);
return x_39;
lean_object* x_39; lean_object* x_40;
x_39 = l_Std_RBNode_del___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_22);
x_40 = l_Std_RBNode_balLeft___rarg(x_39, x_23, x_24, x_25);
return x_40;
}
}
}
@ -7225,7 +7227,7 @@ lean_object* l_Std_RBNode_erase___at_Lean_Elab_Term_Do_eraseVars___spec__1(lean_
_start:
{
lean_object* x_3; lean_object* x_4;
x_3 = l_Std_RBNode_del___main___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_2);
x_3 = l_Std_RBNode_del___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_2);
x_4 = l_Std_RBNode_setBlack___rarg(x_3);
return x_4;
}
@ -7266,11 +7268,11 @@ x_4 = l_Array_iterateMAux___main___at_Lean_Elab_Term_Do_eraseVars___spec__3(x_2,
return x_4;
}
}
lean_object* l_Std_RBNode_del___main___at_Lean_Elab_Term_Do_eraseVars___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_del___at_Lean_Elab_Term_Do_eraseVars___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_del___main___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_2);
x_3 = l_Std_RBNode_del___at_Lean_Elab_Term_Do_eraseVars___spec__2(x_1, x_2);
lean_dec(x_1);
return x_3;
}
@ -12656,7 +12658,7 @@ x_10 = l_Lean_Elab_Term_Do_extendUpdatedVarsAux_update(x_2, x_1, x_3, x_4, x_5,
return x_10;
}
}
uint8_t l_Std_RBNode_any___main___at_Lean_Elab_Term_Do_extendUpdatedVars___spec__1(lean_object* x_1, lean_object* x_2) {
uint8_t l_Std_RBNode_any___at_Lean_Elab_Term_Do_extendUpdatedVars___spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@ -12682,7 +12684,7 @@ return x_9;
else
{
uint8_t x_10;
x_10 = l_Std_RBNode_any___main___at_Lean_Elab_Term_Do_extendUpdatedVars___spec__1(x_1, x_4);
x_10 = l_Std_RBNode_any___at_Lean_Elab_Term_Do_extendUpdatedVars___spec__1(x_1, x_4);
if (x_10 == 0)
{
x_2 = x_6;
@ -12702,7 +12704,7 @@ lean_object* l_Lean_Elab_Term_Do_extendUpdatedVars(lean_object* x_1, lean_object
_start:
{
uint8_t x_10;
x_10 = l_Std_RBNode_any___main___at_Lean_Elab_Term_Do_extendUpdatedVars___spec__1(x_1, x_2);
x_10 = l_Std_RBNode_any___at_Lean_Elab_Term_Do_extendUpdatedVars___spec__1(x_1, x_2);
if (x_10 == 0)
{
uint8_t x_11;
@ -12869,18 +12871,18 @@ return x_40;
}
}
}
lean_object* l_Std_RBNode_any___main___at_Lean_Elab_Term_Do_extendUpdatedVars___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_any___at_Lean_Elab_Term_Do_extendUpdatedVars___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_3; lean_object* x_4;
x_3 = l_Std_RBNode_any___main___at_Lean_Elab_Term_Do_extendUpdatedVars___spec__1(x_1, x_2);
x_3 = l_Std_RBNode_any___at_Lean_Elab_Term_Do_extendUpdatedVars___spec__1(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
x_4 = lean_box(x_3);
return x_4;
}
}
lean_object* l_Std_RBNode_fold___main___at___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_union___spec__1(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_union___spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@ -12897,7 +12899,7 @@ lean_inc(x_4);
x_5 = lean_ctor_get(x_2, 3);
lean_inc(x_5);
lean_dec(x_2);
x_6 = l_Std_RBNode_fold___main___at___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_union___spec__1(x_1, x_3);
x_6 = l_Std_RBNode_fold___at___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_union___spec__1(x_1, x_3);
x_7 = lean_box(0);
x_8 = l_Std_RBNode_insert___at_Lean_NameSet_insert___spec__1(x_6, x_4, x_7);
x_1 = x_8;
@ -12910,7 +12912,7 @@ lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_union(lean_object* x_
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_fold___main___at___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_union___spec__1(x_2, x_1);
x_3 = l_Std_RBNode_fold___at___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_union___spec__1(x_2, x_1);
return x_3;
}
}
@ -12922,7 +12924,7 @@ x_10 = lean_ctor_get(x_1, 1);
lean_inc(x_10);
x_11 = lean_ctor_get(x_2, 1);
lean_inc(x_11);
x_12 = l_Std_RBNode_fold___main___at___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_union___spec__1(x_11, x_10);
x_12 = l_Std_RBNode_fold___at___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_union___spec__1(x_11, x_10);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
@ -13986,7 +13988,7 @@ lean_dec(x_7);
x_9 = lean_ctor_get(x_8, 1);
lean_inc(x_9);
lean_dec(x_8);
x_10 = l_Std_RBNode_fold___main___at___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_union___spec__1(x_9, x_4);
x_10 = l_Std_RBNode_fold___at___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_union___spec__1(x_9, x_4);
x_11 = lean_unsigned_to_nat(1u);
x_12 = lean_nat_add(x_3, x_11);
lean_dec(x_3);
@ -15822,7 +15824,7 @@ x_15 = lean_array_set(x_14, x_7, x_13);
x_16 = l_Lean_mkOptionalNode___closed__1;
x_17 = lean_array_push(x_15, x_16);
x_18 = lean_array_push(x_17, x_6);
x_19 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__14;
x_19 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__13;
x_20 = l_Lean_mkAtomFrom(x_11, x_19);
lean_dec(x_11);
lean_inc(x_2);
@ -15972,7 +15974,7 @@ lean_inc(x_16);
x_17 = lean_ctor_get(x_15, 1);
lean_inc(x_17);
lean_dec(x_15);
x_18 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__14;
x_18 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__13;
x_19 = l_Lean_mkAtomFrom(x_1, x_18);
x_20 = l_Lean_mkOptionalNode___closed__2;
x_21 = lean_array_push(x_20, x_16);
@ -16799,7 +16801,7 @@ x_1 = l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__19;
x_2 = l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__20;
x_3 = lean_unsigned_to_nat(809u);
x_4 = lean_unsigned_to_nat(26u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -18406,7 +18408,7 @@ x_1 = l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__19;
x_2 = l_Lean_Elab_Term_Do_ToTerm_continueToTermCore___closed__1;
x_3 = lean_unsigned_to_nat(822u);
x_4 = lean_unsigned_to_nat(26u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -18583,7 +18585,7 @@ x_1 = l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__19;
x_2 = l_Lean_Elab_Term_Do_ToTerm_continueToTermCore___closed__1;
x_3 = lean_unsigned_to_nat(826u);
x_4 = lean_unsigned_to_nat(26u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -19784,7 +19786,7 @@ x_1 = l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__19;
x_2 = l_Lean_Elab_Term_Do_ToTerm_breakToTermCore___closed__1;
x_3 = lean_unsigned_to_nat(838u);
x_4 = lean_unsigned_to_nat(26u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -19870,7 +19872,7 @@ x_1 = l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__19;
x_2 = l_Lean_Elab_Term_Do_ToTerm_breakToTermCore___closed__1;
x_3 = lean_unsigned_to_nat(842u);
x_4 = lean_unsigned_to_nat(26u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -21149,7 +21151,7 @@ x_1 = l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__19;
x_2 = l_Lean_Elab_Term_Do_ToTerm_actionTerminalToTermCore___closed__8;
x_3 = lean_unsigned_to_nat(858u);
x_4 = lean_unsigned_to_nat(26u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -25194,9 +25196,9 @@ _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_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
x_6 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__1;
x_7 = l_Lean_mkAtomFrom(x_1, x_6);
x_8 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__12;
x_8 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__11;
x_9 = l_Lean_mkAtomFrom(x_1, x_8);
x_10 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__14;
x_10 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__13;
x_11 = l_Lean_mkAtomFrom(x_1, x_10);
x_12 = l_Lean_Elab_Term_Do_ToTerm_mkIte___closed__1;
x_13 = lean_array_push(x_12, x_7);
@ -26966,7 +26968,7 @@ x_1 = l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__19;
x_2 = l_Lean_Elab_Term_Do_ToTerm_mkNestedKind___closed__1;
x_3 = lean_unsigned_to_nat(1027u);
x_4 = lean_unsigned_to_nat(25u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -27279,7 +27281,7 @@ x_1 = l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__19;
x_2 = l_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult___closed__3;
x_3 = lean_unsigned_to_nat(1083u);
x_4 = lean_unsigned_to_nat(25u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -37654,7 +37656,7 @@ lean_dec(x_7);
x_9 = lean_ctor_get(x_8, 1);
lean_inc(x_9);
lean_dec(x_8);
x_10 = l_Std_RBNode_fold___main___at___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_union___spec__1(x_4, x_9);
x_10 = l_Std_RBNode_fold___at___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_union___spec__1(x_4, x_9);
x_11 = lean_unsigned_to_nat(1u);
x_12 = lean_nat_add(x_3, x_11);
lean_dec(x_3);
@ -37686,7 +37688,7 @@ lean_dec(x_3);
x_8 = lean_ctor_get(x_7, 1);
lean_inc(x_8);
lean_dec(x_7);
x_9 = l_Std_RBNode_fold___main___at___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_union___spec__1(x_6, x_8);
x_9 = l_Std_RBNode_fold___at___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_union___spec__1(x_6, x_8);
return x_9;
}
}

View file

@ -107,7 +107,6 @@ lean_object* l_Lean_Elab_Command_accLevelAtCtor___closed__1;
lean_object* lean_string_append(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_applyAttributesAt(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_List_beq___main___at_Lean_OpenDecl_HasToString___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Expr_getAppFn___main(lean_object*);
lean_object* l_Lean_Elab_Command_ElabHeaderResult_inhabited;
extern lean_object* l_String_splitAux___main___closed__1;
@ -505,6 +504,7 @@ lean_object* l_Lean_Elab_Command_checkValidCtorModifier___lambda__2___closed__3;
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniversesFromCtorTypeAux_match__2(lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUsed___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkLevelNames___spec__1___closed__2;
uint8_t l_List_beq___main___at_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___spec__1(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withInductiveLocalDecls_loop_match__1___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_InferType_0__Lean_Meta_isTypeImp___at_Lean_Meta_isType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType_match__2(lean_object*);
@ -2028,7 +2028,7 @@ lean_dec(x_5);
x_15 = lean_array_uget(x_2, x_4);
x_16 = lean_ctor_get(x_15, 4);
lean_inc(x_16);
x_17 = l_List_beq___main___at_Lean_OpenDecl_HasToString___spec__1(x_16, x_1);
x_17 = l_List_beq___main___at_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___spec__1(x_16, x_1);
lean_dec(x_16);
if (x_17 == 0)
{

View file

@ -44,6 +44,7 @@ lean_object* l___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView_mat
lean_object* l_Lean_Elab_Term_applyAttributesAt(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__7___lambda__1___closed__1;
lean_object* l_Lean_Meta_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_hasSyntheticSorry(lean_object*);
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_USize_decLt(size_t, size_t);
lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__5___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -81,7 +82,6 @@ lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_T
lean_object* l___private_Lean_Elab_LetRec_0__Lean_Elab_Term_withAuxLocalDecls_loop___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__5___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkLambdaFVars___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambdaAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_hasSyntheticSorry___main(lean_object*);
lean_object* l_Lean_Syntax_getId(lean_object*);
lean_object* l___private_Lean_Elab_LetRec_0__Lean_Elab_Term_withAuxLocalDecls_loop___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_name_mk_string(lean_object*, lean_object*);
@ -2089,7 +2089,7 @@ if (x_10 == 0)
lean_object* x_11; lean_object* x_12; uint8_t x_13;
x_11 = lean_ctor_get(x_9, 0);
x_12 = lean_ctor_get(x_9, 1);
x_13 = l_Lean_Expr_hasSyntheticSorry___main(x_11);
x_13 = l_Lean_Expr_hasSyntheticSorry(x_11);
lean_dec(x_11);
if (x_13 == 0)
{
@ -2114,7 +2114,7 @@ x_17 = lean_ctor_get(x_9, 1);
lean_inc(x_17);
lean_inc(x_16);
lean_dec(x_9);
x_18 = l_Lean_Expr_hasSyntheticSorry___main(x_16);
x_18 = l_Lean_Expr_hasSyntheticSorry(x_16);
lean_dec(x_16);
if (x_18 == 0)
{

View file

@ -18,7 +18,6 @@ lean_object* l_List_reverse___rarg(lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__2;
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_processId_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType_match__3(lean_object*);
lean_object* l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(lean_object*);
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withElaboratedLHS___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_set(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabNoMatch___closed__1;
@ -31,6 +30,7 @@ lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall__
lean_object* l_Lean_Elab_Term_PatternVar_hasToString_match__1(lean_object*);
lean_object* l_Lean_Elab_Term_elabMatch_match__2(lean_object*);
size_t l_USize_add(size_t, size_t);
extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_elabLetDeclAux___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_inferType___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_CtorApp_pushNewArg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -184,6 +184,7 @@ lean_object* l_Lean_Meta_mkFreshExprMVarWithIdImpl(lean_object*, lean_object*, u
lean_object* l_Lean_Meta_forallBoundedTelescope___at___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_getNumExplicitCtorParams___spec__2(lean_object*);
lean_object* lean_string_append(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___closed__13;
lean_object* l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(lean_object*);
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_processVar___lambda__3___closed__1;
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_waitExpectedType_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_processVar___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -661,7 +662,6 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabAtomicDiscr_match
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_getNumExplicitCtorParams___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withElaboratedLHS___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwError___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_throwInvalidPattern___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
lean_object* l_Lean_Meta_kabstract_visit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabMatchAltView_match__1(lean_object*);
lean_object* l_Lean_Elab_Term_elabType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -1432,7 +1432,7 @@ else
lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61;
lean_dec(x_36);
lean_inc(x_18);
x_45 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_18);
x_45 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_18);
x_46 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_46, 0, x_45);
x_47 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__7;
@ -1692,7 +1692,7 @@ else
lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134;
lean_dec(x_102);
lean_inc(x_18);
x_111 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_18);
x_111 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_18);
x_112 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_112, 0, x_111);
x_113 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__7;
@ -1820,7 +1820,7 @@ x_152 = lean_ctor_get(x_19, 1);
lean_inc(x_152);
lean_dec(x_19);
x_153 = lean_array_get_size(x_4);
x_154 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_153);
x_154 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_153);
x_155 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_155, 0, x_154);
x_156 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__2;
@ -5587,7 +5587,7 @@ x_1 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_CtorApp_p
x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_CtorApp_pushNewArg___closed__3;
x_3 = lean_unsigned_to_nat(307u);
x_4 = lean_unsigned_to_nat(17u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -18068,6 +18068,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_3);
lean_dec(x_1);
x_6 = lean_box(0);
return x_6;
}
@ -18077,6 +18078,7 @@ lean_object* x_7; lean_object* x_8; uint8_t x_9;
x_7 = lean_array_fget(x_2, x_3);
x_8 = l_Lean_LocalDecl_type(x_7);
lean_dec(x_7);
lean_inc(x_1);
x_9 = l_Lean_Expr_occurs(x_1, x_8);
if (x_9 == 0)
{
@ -18090,6 +18092,7 @@ goto _start;
else
{
lean_object* x_13;
lean_dec(x_1);
x_13 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_13, 0, x_3);
return x_13;
@ -18174,7 +18177,6 @@ lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean
x_35 = lean_ctor_get(x_32, 1);
x_36 = lean_ctor_get(x_32, 2);
x_37 = l_Array_findIdxAux___main___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkLocalDeclFor___spec__5(x_1, x_35, x_28);
lean_dec(x_1);
x_38 = lean_box(0);
lean_inc(x_17);
x_39 = l_Std_RBNode_insert___at_Lean_NameSet_insert___spec__1(x_36, x_17, x_38);
@ -18258,7 +18260,6 @@ lean_inc(x_58);
lean_inc(x_57);
lean_dec(x_32);
x_60 = l_Array_findIdxAux___main___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkLocalDeclFor___spec__5(x_1, x_58, x_28);
lean_dec(x_1);
x_61 = lean_box(0);
lean_inc(x_17);
x_62 = l_Std_RBNode_insert___at_Lean_NameSet_insert___spec__1(x_59, x_17, x_61);
@ -18472,7 +18473,6 @@ _start:
lean_object* x_4;
x_4 = l_Array_findIdxAux___main___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkLocalDeclFor___spec__5(x_1, x_2, x_3);
lean_dec(x_2);
lean_dec(x_1);
return x_4;
}
}

File diff suppressed because it is too large Load diff

View file

@ -18,6 +18,7 @@ lean_object* lean_expr_update_forall(lean_object*, uint8_t, lean_object*, lean_o
lean_object* l_Array_umapMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__3(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_Elab_fixLevelParams___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
size_t l_USize_add(size_t, size_t);
extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__3(lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Lean_Elab_addAsAxiom(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -110,7 +111,6 @@ lean_object* lean_panic_fn(lean_object*, lean_object*);
lean_object* l_Lean_Elab_applyAttributesOf___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at_Lean_Elab_fixLevelParams___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_PreDefinition_inhabited___closed__2;
extern lean_object* l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
lean_object* l_Lean_Elab_fixLevelParams_match__1(lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at_Lean_Elab_fixLevelParams___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -2696,7 +2696,7 @@ x_1 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___clos
x_2 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___closed__2;
x_3 = lean_unsigned_to_nat(98u);
x_4 = lean_unsigned_to_nat(25u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}

File diff suppressed because it is too large Load diff

View file

@ -14,7 +14,6 @@
extern "C" {
#endif
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadIndexDep_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(lean_object*);
lean_object* l_Lean_Expr_withAppAux___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_withBelowDict___spec__1___rarg___closed__2;
extern lean_object* l_Lean_Meta_binductionOnSuffix;
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___lambda__3___closed__3;
@ -27,6 +26,7 @@ lean_object* l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hy
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop_match__1(lean_object*, lean_object*);
size_t l_USize_add(size_t, size_t);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadIndexDep_x3f___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_elimRecursion___lambda__2___closed__1;
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_withBelowDict___rarg___closed__2;
lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*);
@ -49,7 +49,6 @@ lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Stru
lean_object* l_Lean_Meta_isExprDefEq___at_Lean_Meta_isExprDefEqGuarded___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_MessageData_ofList___closed__3;
uint8_t l_USize_decEq(size_t, size_t);
lean_object* lean_array_uget(lean_object*, size_t);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg(lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop_match__3(lean_object*);
@ -62,7 +61,6 @@ lean_object* l_Lean_Meta_MatcherApp_addArg(lean_object*, lean_object*, lean_obje
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___closed__2;
extern lean_object* l_Std_HashMap_inhabited___closed__1;
lean_object* l___private_Init_Data_Array_Basic_9__allDiffAux___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___spec__3___boxed(lean_object*, lean_object*);
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
lean_object* l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_ensureNoRecFn___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__16;
@ -98,6 +96,7 @@ lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelow
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_withAppAux___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__3___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___closed__1;
lean_object* l_Lean_MessageData_ofList(lean_object*);
lean_object* l_Lean_Expr_getAppFn___main(lean_object*);
@ -208,7 +207,6 @@ lean_object* lean_name_mk_string(lean_object*, lean_object*);
lean_object* l_Lean_Expr_withAppAux___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__3___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_withAppAux___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_elimRecursion___lambda__1___closed__1;
lean_object* l_Lean_Expr_FindImpl_findM_x3f___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_setEnv___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_elimRecursion___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_elimRecursion___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignmentFOApprox_loop___closed__3;
@ -258,7 +256,6 @@ lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecO
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__2;
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__4;
size_t l_USize_mod(size_t, size_t);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___lambda__3___closed__4;
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop_match__3___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_withBelowDict(lean_object*);
@ -274,7 +271,6 @@ lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelow
extern lean_object* l_Lean_Expr_FindImpl_initCache;
lean_object* l_Lean_Expr_withAppAux___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__11___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadIndexDep_x3f_match__4___rarg(lean_object*, lean_object*, lean_object*);
size_t lean_ptr_addr(lean_object*);
uint8_t l___private_Init_Data_Array_Basic_9__allDiffAux___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___spec__3(lean_object*, lean_object*);
lean_object* l_Lean_Expr_withAppAux___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__3___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadParamDep_x3f___spec__2(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -313,7 +309,6 @@ lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadP
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadParamDep_x3f___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_setMCtx___at___private_Lean_Meta_Basic_0__Lean_Meta_liftMkBindingM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg___closed__16;
extern lean_object* l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_isFVar(lean_object*);
@ -344,7 +339,7 @@ lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_ensureN
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_indentD(lean_object*);
lean_object* l_Lean_Expr_FindImpl_findM_x3f___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn___spec__1(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Lean_Expr_FindImpl_findM_x3f_visit(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Lean_Expr_withAppAux___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_withBelowDict___spec__1___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___lambda__3___closed__5;
extern lean_object* l_Lean_mkOptionalNode___closed__2;
@ -357,9 +352,11 @@ lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*,
extern lean_object* l_Nat_Inhabited;
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop_match__2(lean_object*);
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
uint8_t l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn___lambda__1(lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_mkAppN___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_lambdaTelescopeImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop(lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn___lambda__1___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_ensureNoRecFn___lambda__1___closed__2;
@ -3385,7 +3382,7 @@ x_1 = l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Structural_
x_2 = l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___spec__2___closed__2;
x_3 = lean_unsigned_to_nat(111u);
x_4 = lean_unsigned_to_nat(117u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -4274,7 +4271,7 @@ lean_dec(x_136);
x_140 = lean_nat_add(x_4, x_54);
lean_dec(x_4);
lean_inc(x_140);
x_141 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_140);
x_141 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_140);
x_142 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_142, 0, x_141);
x_143 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg___closed__2;
@ -4557,7 +4554,7 @@ lean_dec(x_214);
x_218 = lean_nat_add(x_4, x_54);
lean_dec(x_4);
lean_inc(x_218);
x_219 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_218);
x_219 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_218);
x_220 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_220, 0, x_219);
x_221 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg___closed__2;
@ -4848,7 +4845,7 @@ lean_dec(x_10);
x_296 = lean_nat_add(x_4, x_54);
lean_dec(x_4);
lean_inc(x_296);
x_297 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_296);
x_297 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_296);
x_298 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_298, 0, x_297);
x_299 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg___closed__2;
@ -5086,7 +5083,7 @@ lean_dec(x_10);
x_363 = lean_nat_add(x_4, x_54);
lean_dec(x_4);
lean_inc(x_363);
x_364 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_363);
x_364 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_363);
x_365 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_365, 0, x_364);
x_366 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg___closed__2;
@ -5521,504 +5518,50 @@ x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_
return x_2;
}
}
lean_object* l_Lean_Expr_FindImpl_findM_x3f___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn___spec__1(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4) {
uint8_t l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn___lambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_5; lean_object* x_6; size_t x_97; size_t x_98; lean_object* x_99; size_t x_100; uint8_t x_101;
x_97 = lean_ptr_addr(x_3);
x_98 = x_2 == 0 ? 0 : x_97 % x_2;
x_99 = lean_array_uget(x_4, x_98);
x_100 = lean_ptr_addr(x_99);
lean_dec(x_99);
x_101 = x_100 == x_97;
if (x_101 == 0)
{
lean_object* x_102; uint8_t x_103;
lean_inc(x_3);
x_102 = lean_array_uset(x_4, x_98, x_3);
x_103 = 0;
x_5 = x_103;
x_6 = x_102;
goto block_96;
}
else
{
uint8_t x_104;
x_104 = 1;
x_5 = x_104;
x_6 = x_4;
goto block_96;
}
block_96:
{
if (x_5 == 0)
{
uint8_t x_7;
x_7 = l_Lean_Expr_isConstOf(x_3, x_1);
if (x_7 == 0)
{
switch (lean_obj_tag(x_3)) {
case 5:
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_8 = lean_ctor_get(x_3, 0);
lean_inc(x_8);
x_9 = lean_ctor_get(x_3, 1);
lean_inc(x_9);
lean_dec(x_3);
x_10 = l_Lean_Expr_FindImpl_findM_x3f___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn___spec__1(x_1, x_2, x_8, x_6);
x_11 = lean_ctor_get(x_10, 0);
lean_inc(x_11);
if (lean_obj_tag(x_11) == 0)
{
lean_object* x_12;
x_12 = lean_ctor_get(x_10, 1);
lean_inc(x_12);
lean_dec(x_10);
x_3 = x_9;
x_4 = x_12;
goto _start;
}
else
{
uint8_t x_14;
lean_dec(x_9);
x_14 = !lean_is_exclusive(x_10);
if (x_14 == 0)
{
lean_object* x_15; uint8_t x_16;
x_15 = lean_ctor_get(x_10, 0);
lean_dec(x_15);
x_16 = !lean_is_exclusive(x_11);
if (x_16 == 0)
{
return x_10;
}
else
{
lean_object* x_17; lean_object* x_18;
x_17 = lean_ctor_get(x_11, 0);
lean_inc(x_17);
lean_dec(x_11);
x_18 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_18, 0, x_17);
lean_ctor_set(x_10, 0, x_18);
return x_10;
}
}
else
{
lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
x_19 = lean_ctor_get(x_10, 1);
lean_inc(x_19);
lean_dec(x_10);
x_20 = lean_ctor_get(x_11, 0);
lean_inc(x_20);
if (lean_is_exclusive(x_11)) {
lean_ctor_release(x_11, 0);
x_21 = x_11;
} else {
lean_dec_ref(x_11);
x_21 = lean_box(0);
}
if (lean_is_scalar(x_21)) {
x_22 = lean_alloc_ctor(1, 1, 0);
} else {
x_22 = x_21;
}
lean_ctor_set(x_22, 0, x_20);
x_23 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_23, 0, x_22);
lean_ctor_set(x_23, 1, x_19);
return x_23;
}
}
}
case 6:
{
lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
x_24 = lean_ctor_get(x_3, 1);
lean_inc(x_24);
x_25 = lean_ctor_get(x_3, 2);
lean_inc(x_25);
lean_dec(x_3);
x_26 = l_Lean_Expr_FindImpl_findM_x3f___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn___spec__1(x_1, x_2, x_24, x_6);
x_27 = lean_ctor_get(x_26, 0);
lean_inc(x_27);
if (lean_obj_tag(x_27) == 0)
{
lean_object* x_28;
x_28 = lean_ctor_get(x_26, 1);
lean_inc(x_28);
lean_dec(x_26);
x_3 = x_25;
x_4 = x_28;
goto _start;
}
else
{
uint8_t x_30;
lean_dec(x_25);
x_30 = !lean_is_exclusive(x_26);
if (x_30 == 0)
{
lean_object* x_31; uint8_t x_32;
x_31 = lean_ctor_get(x_26, 0);
lean_dec(x_31);
x_32 = !lean_is_exclusive(x_27);
if (x_32 == 0)
{
return x_26;
}
else
{
lean_object* x_33; lean_object* x_34;
x_33 = lean_ctor_get(x_27, 0);
lean_inc(x_33);
lean_dec(x_27);
x_34 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_34, 0, x_33);
lean_ctor_set(x_26, 0, x_34);
return x_26;
}
}
else
{
lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
x_35 = lean_ctor_get(x_26, 1);
lean_inc(x_35);
lean_dec(x_26);
x_36 = lean_ctor_get(x_27, 0);
lean_inc(x_36);
if (lean_is_exclusive(x_27)) {
lean_ctor_release(x_27, 0);
x_37 = x_27;
} else {
lean_dec_ref(x_27);
x_37 = lean_box(0);
}
if (lean_is_scalar(x_37)) {
x_38 = lean_alloc_ctor(1, 1, 0);
} else {
x_38 = x_37;
}
lean_ctor_set(x_38, 0, x_36);
x_39 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_39, 0, x_38);
lean_ctor_set(x_39, 1, x_35);
return x_39;
}
}
}
case 7:
{
lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
x_40 = lean_ctor_get(x_3, 1);
lean_inc(x_40);
x_41 = lean_ctor_get(x_3, 2);
lean_inc(x_41);
lean_dec(x_3);
x_42 = l_Lean_Expr_FindImpl_findM_x3f___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn___spec__1(x_1, x_2, x_40, x_6);
x_43 = lean_ctor_get(x_42, 0);
lean_inc(x_43);
if (lean_obj_tag(x_43) == 0)
{
lean_object* x_44;
x_44 = lean_ctor_get(x_42, 1);
lean_inc(x_44);
lean_dec(x_42);
x_3 = x_41;
x_4 = x_44;
goto _start;
}
else
{
uint8_t x_46;
lean_dec(x_41);
x_46 = !lean_is_exclusive(x_42);
if (x_46 == 0)
{
lean_object* x_47; uint8_t x_48;
x_47 = lean_ctor_get(x_42, 0);
lean_dec(x_47);
x_48 = !lean_is_exclusive(x_43);
if (x_48 == 0)
{
return x_42;
}
else
{
lean_object* x_49; lean_object* x_50;
x_49 = lean_ctor_get(x_43, 0);
lean_inc(x_49);
lean_dec(x_43);
x_50 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_50, 0, x_49);
lean_ctor_set(x_42, 0, x_50);
return x_42;
}
}
else
{
lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55;
x_51 = lean_ctor_get(x_42, 1);
lean_inc(x_51);
lean_dec(x_42);
x_52 = lean_ctor_get(x_43, 0);
lean_inc(x_52);
if (lean_is_exclusive(x_43)) {
lean_ctor_release(x_43, 0);
x_53 = x_43;
} else {
lean_dec_ref(x_43);
x_53 = lean_box(0);
}
if (lean_is_scalar(x_53)) {
x_54 = lean_alloc_ctor(1, 1, 0);
} else {
x_54 = x_53;
}
lean_ctor_set(x_54, 0, x_52);
x_55 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_55, 0, x_54);
lean_ctor_set(x_55, 1, x_51);
return x_55;
}
}
}
case 8:
{
lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
x_56 = lean_ctor_get(x_3, 1);
lean_inc(x_56);
x_57 = lean_ctor_get(x_3, 2);
lean_inc(x_57);
x_58 = lean_ctor_get(x_3, 3);
lean_inc(x_58);
lean_dec(x_3);
x_59 = l_Lean_Expr_FindImpl_findM_x3f___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn___spec__1(x_1, x_2, x_56, x_6);
x_60 = lean_ctor_get(x_59, 0);
lean_inc(x_60);
if (lean_obj_tag(x_60) == 0)
{
lean_object* x_61; lean_object* x_62; lean_object* x_63;
x_61 = lean_ctor_get(x_59, 1);
lean_inc(x_61);
lean_dec(x_59);
x_62 = l_Lean_Expr_FindImpl_findM_x3f___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn___spec__1(x_1, x_2, x_57, x_61);
x_63 = lean_ctor_get(x_62, 0);
lean_inc(x_63);
if (lean_obj_tag(x_63) == 0)
{
lean_object* x_64;
x_64 = lean_ctor_get(x_62, 1);
lean_inc(x_64);
lean_dec(x_62);
x_3 = x_58;
x_4 = x_64;
goto _start;
}
else
{
uint8_t x_66;
lean_dec(x_58);
x_66 = !lean_is_exclusive(x_62);
if (x_66 == 0)
{
lean_object* x_67; uint8_t x_68;
x_67 = lean_ctor_get(x_62, 0);
lean_dec(x_67);
x_68 = !lean_is_exclusive(x_63);
if (x_68 == 0)
{
return x_62;
}
else
{
lean_object* x_69; lean_object* x_70;
x_69 = lean_ctor_get(x_63, 0);
lean_inc(x_69);
lean_dec(x_63);
x_70 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_70, 0, x_69);
lean_ctor_set(x_62, 0, x_70);
return x_62;
}
}
else
{
lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75;
x_71 = lean_ctor_get(x_62, 1);
lean_inc(x_71);
lean_dec(x_62);
x_72 = lean_ctor_get(x_63, 0);
lean_inc(x_72);
if (lean_is_exclusive(x_63)) {
lean_ctor_release(x_63, 0);
x_73 = x_63;
} else {
lean_dec_ref(x_63);
x_73 = lean_box(0);
}
if (lean_is_scalar(x_73)) {
x_74 = lean_alloc_ctor(1, 1, 0);
} else {
x_74 = x_73;
}
lean_ctor_set(x_74, 0, x_72);
x_75 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_75, 0, x_74);
lean_ctor_set(x_75, 1, x_71);
return x_75;
}
}
}
else
{
uint8_t x_76;
lean_dec(x_58);
lean_dec(x_57);
x_76 = !lean_is_exclusive(x_59);
if (x_76 == 0)
{
lean_object* x_77; uint8_t x_78;
x_77 = lean_ctor_get(x_59, 0);
lean_dec(x_77);
x_78 = !lean_is_exclusive(x_60);
if (x_78 == 0)
{
return x_59;
}
else
{
lean_object* x_79; lean_object* x_80;
x_79 = lean_ctor_get(x_60, 0);
lean_inc(x_79);
lean_dec(x_60);
x_80 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_80, 0, x_79);
lean_ctor_set(x_59, 0, x_80);
return x_59;
}
}
else
{
lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85;
x_81 = lean_ctor_get(x_59, 1);
lean_inc(x_81);
lean_dec(x_59);
x_82 = lean_ctor_get(x_60, 0);
lean_inc(x_82);
if (lean_is_exclusive(x_60)) {
lean_ctor_release(x_60, 0);
x_83 = x_60;
} else {
lean_dec_ref(x_60);
x_83 = lean_box(0);
}
if (lean_is_scalar(x_83)) {
x_84 = lean_alloc_ctor(1, 1, 0);
} else {
x_84 = x_83;
}
lean_ctor_set(x_84, 0, x_82);
x_85 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_85, 0, x_84);
lean_ctor_set(x_85, 1, x_81);
return x_85;
}
}
}
case 10:
{
lean_object* x_86;
x_86 = lean_ctor_get(x_3, 1);
lean_inc(x_86);
lean_dec(x_3);
x_3 = x_86;
x_4 = x_6;
goto _start;
}
case 11:
{
lean_object* x_88;
x_88 = lean_ctor_get(x_3, 2);
lean_inc(x_88);
lean_dec(x_3);
x_3 = x_88;
x_4 = x_6;
goto _start;
}
default:
{
lean_object* x_90; lean_object* x_91;
lean_dec(x_3);
x_90 = lean_box(0);
x_91 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_91, 0, x_90);
lean_ctor_set(x_91, 1, x_6);
return x_91;
}
}
}
else
{
lean_object* x_92; lean_object* x_93;
x_92 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_92, 0, x_3);
x_93 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_93, 0, x_92);
lean_ctor_set(x_93, 1, x_6);
return x_93;
}
}
else
{
lean_object* x_94; lean_object* x_95;
lean_dec(x_3);
x_94 = lean_box(0);
x_95 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_95, 0, x_94);
lean_ctor_set(x_95, 1, x_6);
return x_95;
}
}
uint8_t x_3;
x_3 = l_Lean_Expr_isConstOf(x_2, x_1);
return x_3;
}
}
uint8_t l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn(lean_object* x_1, lean_object* x_2) {
_start:
{
size_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_3 = 8192;
x_4 = l_Lean_Expr_FindImpl_initCache;
x_5 = l_Lean_Expr_FindImpl_findM_x3f___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn___spec__1(x_1, x_3, x_2, x_4);
x_6 = lean_ctor_get(x_5, 0);
lean_inc(x_6);
lean_dec(x_5);
if (lean_obj_tag(x_6) == 0)
lean_object* x_3; size_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_3 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn___lambda__1___boxed), 2, 1);
lean_closure_set(x_3, 0, x_1);
x_4 = 8192;
x_5 = l_Lean_Expr_FindImpl_initCache;
x_6 = l_Lean_Expr_FindImpl_findM_x3f_visit(x_3, x_4, x_2, x_5);
x_7 = lean_ctor_get(x_6, 0);
lean_inc(x_7);
lean_dec(x_6);
if (lean_obj_tag(x_7) == 0)
{
uint8_t x_7;
x_7 = 0;
return x_7;
uint8_t x_8;
x_8 = 0;
return x_8;
}
else
{
uint8_t x_8;
lean_dec(x_6);
x_8 = 1;
return x_8;
uint8_t x_9;
lean_dec(x_7);
x_9 = 1;
return x_9;
}
}
}
lean_object* l_Lean_Expr_FindImpl_findM_x3f___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn___lambda__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
size_t x_5; lean_object* x_6;
x_5 = lean_unbox_usize(x_2);
uint8_t x_3; lean_object* x_4;
x_3 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn___lambda__1(x_1, x_2);
lean_dec(x_2);
x_6 = l_Lean_Expr_FindImpl_findM_x3f___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn___spec__1(x_1, x_5, x_3, x_4);
lean_dec(x_1);
return x_6;
x_4 = lean_box(x_3);
return x_4;
}
}
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn___boxed(lean_object* x_1, lean_object* x_2) {
@ -6026,7 +5569,6 @@ _start:
{
uint8_t x_3; lean_object* x_4;
x_3 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn(x_1, x_2);
lean_dec(x_1);
x_4 = lean_box(x_3);
return x_4;
}
@ -6103,6 +5645,7 @@ _start:
{
uint8_t x_8;
lean_inc(x_2);
lean_inc(x_1);
x_8 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn(x_1, x_2);
if (x_8 == 0)
{
@ -9737,7 +9280,7 @@ else
{
lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49;
lean_inc(x_1);
x_35 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_1);
x_35 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_1);
x_36 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_36, 0, x_35);
x_37 = l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__6;
@ -10737,6 +10280,7 @@ x_21 = lean_ctor_get(x_11, 0);
lean_inc(x_21);
lean_dec(x_11);
lean_inc(x_4);
lean_inc(x_1);
x_110 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_containsRecFn(x_1, x_4);
if (x_110 == 0)
{

View file

@ -25,6 +25,7 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_explode
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__2___closed__5;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__4;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__51;
extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___closed__7;
lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__21;
extern lean_object* l_Lean_Expr_eq_x3f___closed__2;
@ -231,13 +232,13 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compile
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabfunBinderQuot(lean_object*);
lean_object* l_Lean_Syntax_findAux___main(lean_object*, lean_object*);
extern lean_object* l_Lean_setOptionFromString___closed__4;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getPatternVarsAux_match__1(lean_object*);
lean_object* l_Lean_MessageData_toString(lean_object*, lean_object*);
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__5;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___lambda__2___closed__4;
extern lean_object* l_Lean_Elab_Term_State_inhabited___closed__1;
lean_object* lean_st_ref_take(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__15;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___closed__11;
extern lean_object* l_Lean_numLitKind;
@ -503,7 +504,6 @@ uint8_t l_Lean_Elab_Term_Quotation_isAntiquotSplice(lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__4___closed__1;
lean_object* lean_parse_expr(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__1;
extern lean_object* l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
lean_object* l_List_mapM___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Term_resolveName___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -1925,7 +1925,7 @@ x_1 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___
x_2 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__2;
x_3 = lean_unsigned_to_nat(103u);
x_4 = lean_unsigned_to_nat(20u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -6455,7 +6455,7 @@ x_1 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___
x_2 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_explodeHeadPat___closed__1;
x_3 = lean_unsigned_to_nat(225u);
x_4 = lean_unsigned_to_nat(7u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -7949,34 +7949,24 @@ return x_4;
static lean_object* _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__11() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
x_2 = l_Bool_HasRepr___closed__2;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
static lean_object* _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__12() {
_start:
{
lean_object* x_1;
x_1 = lean_mk_string("then");
return x_1;
}
}
static lean_object* _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__13() {
static lean_object* _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__12() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_SourceInfo_inhabited___closed__1;
x_2 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__12;
x_2 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__11;
x_3 = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(x_3, 0, x_1);
lean_ctor_set(x_3, 1, x_2);
return x_3;
}
}
static lean_object* _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__14() {
static lean_object* _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__13() {
_start:
{
lean_object* x_1;
@ -7984,12 +7974,12 @@ x_1 = lean_mk_string("else");
return x_1;
}
}
static lean_object* _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__15() {
static lean_object* _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__14() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_SourceInfo_inhabited___closed__1;
x_2 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__14;
x_2 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__13;
x_3 = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(x_3, 0, x_1);
lean_ctor_set(x_3, 1, x_2);
@ -8048,7 +8038,7 @@ x_40 = lean_array_push(x_38, x_39);
x_41 = lean_array_push(x_24, x_5);
x_42 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__8;
x_43 = lean_array_push(x_41, x_42);
x_44 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__11;
x_44 = l_Lean_setOptionFromString___closed__4;
x_45 = l_Lean_addMacroScope(x_18, x_44, x_14);
x_46 = l_Lean_boolToExpr___lambda__1___closed__5;
lean_inc(x_1);
@ -8071,10 +8061,10 @@ lean_ctor_set(x_53, 0, x_52);
lean_ctor_set(x_53, 1, x_51);
x_54 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__5;
x_55 = lean_array_push(x_54, x_53);
x_56 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__13;
x_56 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__12;
x_57 = lean_array_push(x_55, x_56);
x_58 = lean_array_push(x_57, x_3);
x_59 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__15;
x_59 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__14;
x_60 = lean_array_push(x_58, x_59);
x_61 = lean_array_push(x_60, x_4);
x_62 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__2;
@ -8133,7 +8123,7 @@ x_90 = lean_array_push(x_88, x_89);
x_91 = lean_array_push(x_74, x_5);
x_92 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__8;
x_93 = lean_array_push(x_91, x_92);
x_94 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__11;
x_94 = l_Lean_setOptionFromString___closed__4;
x_95 = l_Lean_addMacroScope(x_67, x_94, x_14);
x_96 = l_Lean_boolToExpr___lambda__1___closed__5;
lean_inc(x_1);
@ -8156,10 +8146,10 @@ lean_ctor_set(x_103, 0, x_102);
lean_ctor_set(x_103, 1, x_101);
x_104 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__5;
x_105 = lean_array_push(x_104, x_103);
x_106 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__13;
x_106 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__12;
x_107 = lean_array_push(x_105, x_106);
x_108 = lean_array_push(x_107, x_3);
x_109 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__15;
x_109 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__14;
x_110 = lean_array_push(x_108, x_109);
x_111 = lean_array_push(x_110, x_4);
x_112 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__2;
@ -9856,7 +9846,7 @@ x_1 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___
x_2 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___closed__4;
x_3 = lean_unsigned_to_nat(254u);
x_4 = lean_unsigned_to_nat(10u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -15908,7 +15898,7 @@ x_1 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___
x_2 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___closed__6;
x_3 = lean_unsigned_to_nat(334u);
x_4 = lean_unsigned_to_nat(11u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -15921,7 +15911,7 @@ x_1 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___
x_2 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___closed__6;
x_3 = lean_unsigned_to_nat(333u);
x_4 = lean_unsigned_to_nat(14u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -22634,8 +22624,6 @@ l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___la
lean_mark_persistent(l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__13);
l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__14 = _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__14();
lean_mark_persistent(l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__14);
l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__15 = _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__15();
lean_mark_persistent(l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__15);
l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__2___closed__1 = _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__2___closed__1();
lean_mark_persistent(l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__2___closed__1);
l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__2___closed__2 = _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__2___closed__2();

View file

@ -13,8 +13,6 @@
#ifdef __cplusplus
extern "C" {
#endif
lean_object* l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____spec__2(lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____spec__2___boxed(lean_object*, lean_object*);
lean_object* lean_nat_div(lean_object*, lean_object*);
lean_object* l_Lean_PersistentEnvExtension_getModuleEntries___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____closed__10;
@ -25,6 +23,7 @@ uint8_t l_Lean_Name_quickLt(lean_object*, lean_object*);
uint8_t lean_name_eq(lean_object*, lean_object*);
uint8_t l_Lean_ElaboratorStrategy_inhabited;
extern lean_object* l_Lean_registerInternalExceptionId___closed__2;
lean_object* l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____spec__2(lean_object*, lean_object*);
lean_object* l_Lean_EnvExtensionInterfaceUnsafe_registerExt___rarg(lean_object*, lean_object*);
extern lean_object* l_Array_empty___closed__1;
lean_object* lean_st_ref_get(lean_object*, lean_object*);
@ -41,7 +40,6 @@ lean_object* l_Lean_registerEnumAttributes___at_Lean_initFn____x40_Lean_Elab_Str
lean_object* l_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____closed__3;
lean_object* l_Lean_elaboratorStrategyAttrs;
lean_object* l_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____closed__18;
lean_object* l_Std_RBNode_find___main___at_Lean_getElaboratorStrategy___spec__2___boxed(lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
extern lean_object* l___private_Lean_Environment_8__persistentEnvExtensionsRef;
lean_object* l_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -64,7 +62,7 @@ lean_object* l_List_map___main___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs__
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_registerEnumAttributes___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____spec__1___lambda__2(lean_object*);
lean_object* l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at_Lean_getElaboratorStrategy___spec__2(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_getElaboratorStrategy___spec__2___boxed(lean_object*, lean_object*);
lean_object* lean_name_mk_string(lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____spec__4___closed__1;
lean_object* l_Array_qsortAux___main___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____spec__3(lean_object*, lean_object*, lean_object*);
@ -81,7 +79,9 @@ lean_object* l_Lean_PersistentEnvExtension_addEntry___rarg(lean_object*, lean_ob
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
extern lean_object* l_Lean_EnumAttributes_Inhabited___closed__1;
lean_object* l_List_map___main___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____spec__7___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____closed__11;
lean_object* l_Std_RBNode_find___at_Lean_getElaboratorStrategy___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_registerEnumAttributes___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____spec__1___lambda__2___boxed(lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
extern lean_object* l_Lean_registerEnumAttributes___rarg___closed__1;
@ -119,7 +119,7 @@ x_1 = 1;
return x_1;
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____spec__2(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____spec__2(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@ -133,7 +133,7 @@ x_3 = lean_ctor_get(x_2, 0);
x_4 = lean_ctor_get(x_2, 1);
x_5 = lean_ctor_get(x_2, 2);
x_6 = lean_ctor_get(x_2, 3);
x_7 = l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____spec__2(x_1, x_3);
x_7 = l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____spec__2(x_1, x_3);
lean_inc(x_5);
lean_inc(x_4);
x_8 = lean_alloc_ctor(0, 2, 0);
@ -948,7 +948,7 @@ _start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_2 = l_Array_empty___closed__1;
x_3 = l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____spec__2(x_2, x_1);
x_3 = l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____spec__2(x_2, x_1);
x_4 = lean_array_get_size(x_3);
x_5 = lean_unsigned_to_nat(1u);
x_6 = lean_nat_sub(x_4, x_5);
@ -1323,11 +1323,11 @@ x_6 = l_Lean_registerEnumAttributes___at_Lean_initFn____x40_Lean_Elab_StrategyAt
return x_6;
}
}
lean_object* l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____spec__2___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____spec__2___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____spec__2(x_1, x_2);
x_3 = l_Std_RBNode_fold___at_Lean_initFn____x40_Lean_Elab_StrategyAttrs___hyg_14____spec__2(x_1, x_2);
lean_dec(x_2);
return x_3;
}
@ -1420,7 +1420,7 @@ lean_dec(x_1);
return x_8;
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_getElaboratorStrategy___spec__2(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at_Lean_getElaboratorStrategy___spec__2(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -1554,7 +1554,7 @@ if (lean_obj_tag(x_4) == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_5 = lean_ctor_get(x_1, 1);
x_6 = l_Lean_PersistentEnvExtension_getState___rarg(x_5, x_2);
x_7 = l_Std_RBNode_find___main___at_Lean_getElaboratorStrategy___spec__2(x_6, x_3);
x_7 = l_Std_RBNode_find___at_Lean_getElaboratorStrategy___spec__2(x_6, x_3);
lean_dec(x_3);
lean_dec(x_6);
return x_7;
@ -1628,11 +1628,11 @@ lean_dec(x_1);
return x_4;
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_getElaboratorStrategy___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at_Lean_getElaboratorStrategy___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_find___main___at_Lean_getElaboratorStrategy___spec__2(x_1, x_2);
x_3 = l_Std_RBNode_find___at_Lean_getElaboratorStrategy___spec__2(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;

File diff suppressed because it is too large Load diff

View file

@ -25,6 +25,7 @@ lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToPar
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_match__1(lean_object*);
lean_object* l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_916____spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
size_t l_USize_add(size_t, size_t);
extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l_Array_forMAux___main___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_cases_on(lean_object*, lean_object*);
lean_object* l_Lean_Meta_inferType___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -416,7 +417,6 @@ lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields_m
lean_object* l_Lean_Elab_Command_getRef(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_expandDeclSig(lean_object*);
lean_object* l_Lean_Elab_Command_checkValidFieldModifier___closed__2;
extern lean_object* l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
lean_object* l_Lean_Elab_Command_StructFieldInfo_isSubobject_match__1___rarg(uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__2___closed__3;
lean_object* l_Lean_Elab_Term_elabType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -6642,7 +6642,7 @@ x_1 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___c
x_2 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___closed__11;
x_3 = lean_unsigned_to_nat(300u);
x_4 = lean_unsigned_to_nat(37u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}

View file

@ -28,6 +28,7 @@ lean_object* l_Lean_Elab_Command_expandMixfix___closed__5;
lean_object* l_Lean_Elab_Command_elabNoKindMacroRulesAux(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabMacroRules___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
size_t l_USize_add(size_t, size_t);
extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__124;
lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*);
lean_object* lean_erase_macro_scopes(lean_object*);
@ -124,6 +125,7 @@ lean_object* lean_array_fswap(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_identKind___closed__2;
lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__47;
lean_object* l_Lean_Elab_Term_toParserDescrAux_match__1(lean_object*);
extern lean_object* l_Lean_Expr_isSyntheticSorry_match__1___rarg___closed__1;
lean_object* l_Lean_Elab_Command_elabMacroRulesAux___closed__13;
extern lean_object* l_Lean_Elab_Tactic_mkTacticAttribute___closed__6;
lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_toParserDescrAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -300,7 +302,6 @@ lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQ
lean_object* l___regBuiltin_Lean_Elab_Command_expandElab___closed__2;
lean_object* l_Lean_Elab_Command_expandElab___closed__49;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__7;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__177;
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_Syntax_0__Lean_Elab_Command_expandNotationAux___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__24;
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__5;
@ -327,7 +328,6 @@ lean_object* l_Lean_Elab_Command_expandElab___closed__22;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__78;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__153;
lean_object* l_Lean_Elab_Command_expandMixfix___closed__2;
extern lean_object* l_Lean_Expr_isSyntheticSorry___closed__1;
lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Term_markAsTrailingParser___boxed(lean_object*);
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__93;
extern lean_object* l_Lean_Elab_Tactic_mkTacticAttribute___closed__7;
@ -502,6 +502,7 @@ lean_object* l_List_filterAux___main___at_Lean_Elab_Term_toParserDescrAux___spec
lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Elab_Syntax_0__Lean_Elab_Term_mkParserSeq___spec__1___closed__10;
lean_object* l_Lean_Elab_Command_expandMixfix___closed__11;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__25;
extern lean_object* l_Lean_setOptionFromString___closed__5;
lean_object* l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_quotedSymbolKind;
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Command_expandMacro___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
@ -671,7 +672,6 @@ lean_object* l_Lean_Elab_Command_elabMacroRulesAux___lambda__2(lean_object*, lea
extern lean_object* l_Lean_Elab_Tactic_evalIntro___closed__5;
lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__42;
lean_object* l_Lean_Elab_Command_expandElab___closed__11;
extern lean_object* l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabNoKindMacroRulesAux___closed__7;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__36;
@ -5772,7 +5772,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
x_2 = l_Bool_HasRepr___closed__1;
x_2 = l_Lean_Expr_isSyntheticSorry_match__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
@ -5781,8 +5781,8 @@ static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__155() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
x_2 = l_Lean_Expr_isSyntheticSorry___closed__1;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__154;
x_2 = l_Bool_HasRepr___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
@ -5791,9 +5791,11 @@ static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__156() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__155;
x_2 = l_Bool_HasRepr___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
x_1 = lean_box(0);
x_2 = l_Lean_Elab_Term_toParserDescrAux___closed__155;
x_3 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_3, 0, x_2);
lean_ctor_set(x_3, 1, x_1);
return x_3;
}
}
@ -5803,7 +5805,7 @@ _start:
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
x_2 = l_Lean_Elab_Term_toParserDescrAux___closed__156;
x_3 = lean_alloc_ctor(0, 2, 0);
x_3 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_3, 0, x_2);
lean_ctor_set(x_3, 1, x_1);
return x_3;
@ -5812,39 +5814,27 @@ return x_3;
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__158() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
x_2 = l_Lean_Elab_Term_toParserDescrAux___closed__157;
x_3 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_3, 0, x_2);
lean_ctor_set(x_3, 1, x_1);
return x_3;
}
}
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__159() {
_start:
{
lean_object* x_1;
x_1 = lean_mk_string("ParserDescr.cat");
return x_1;
}
}
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__160() {
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__159() {
_start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__159;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__158;
x_2 = lean_string_utf8_byte_size(x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__161() {
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__160() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__159;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__158;
x_2 = lean_unsigned_to_nat(0u);
x_3 = l_Lean_Elab_Term_toParserDescrAux___closed__160;
x_3 = l_Lean_Elab_Term_toParserDescrAux___closed__159;
x_4 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_4, 0, x_1);
lean_ctor_set(x_4, 1, x_2);
@ -5852,7 +5842,7 @@ lean_ctor_set(x_4, 2, x_3);
return x_4;
}
}
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__162() {
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__161() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@ -5862,7 +5852,7 @@ x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__163() {
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__162() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@ -5872,13 +5862,25 @@ x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__163() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
x_2 = l_Lean_Elab_Term_toParserDescrAux___closed__162;
x_3 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_3, 0, x_2);
lean_ctor_set(x_3, 1, x_1);
return x_3;
}
}
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__164() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
x_2 = l_Lean_Elab_Term_toParserDescrAux___closed__163;
x_3 = lean_alloc_ctor(0, 2, 0);
x_3 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_3, 0, x_2);
lean_ctor_set(x_3, 1, x_1);
return x_3;
@ -5887,33 +5889,21 @@ return x_3;
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__165() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
x_2 = l_Lean_Elab_Term_toParserDescrAux___closed__164;
x_3 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_3, 0, x_2);
lean_ctor_set(x_3, 1, x_1);
return x_3;
}
}
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__166() {
_start:
{
lean_object* x_1;
x_1 = lean_mk_string("unknown category '");
return x_1;
}
}
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__167() {
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__166() {
_start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__166;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__165;
x_2 = l_Lean_stringToMessageData(x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__168() {
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__167() {
_start:
{
lean_object* x_1;
@ -5921,16 +5911,16 @@ x_1 = lean_mk_string("' or parser declaration");
return x_1;
}
}
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__169() {
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__168() {
_start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__168;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__167;
x_2 = l_Lean_stringToMessageData(x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__170() {
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__169() {
_start:
{
lean_object* x_1;
@ -5938,12 +5928,22 @@ x_1 = lean_mk_string("unexpected precedence");
return x_1;
}
}
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__170() {
_start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__169;
x_2 = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__171() {
_start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__170;
x_2 = lean_alloc_ctor(2, 1, 0);
x_2 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_2, 0, x_1);
return x_2;
}
@ -5951,31 +5951,21 @@ return x_2;
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__172() {
_start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__171;
x_2 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__173() {
_start:
{
lean_object* x_1;
x_1 = lean_mk_string("ambiguous parser declaration ");
return x_1;
}
}
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__174() {
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__173() {
_start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__173;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__172;
x_2 = l_Lean_stringToMessageData(x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__175() {
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__174() {
_start:
{
lean_object* x_1;
@ -5983,21 +5973,21 @@ x_1 = lean_mk_string("invalid atomic left recursive syntax");
return x_1;
}
}
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__176() {
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__175() {
_start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__175;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__174;
x_2 = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__177() {
static lean_object* _init_l_Lean_Elab_Term_toParserDescrAux___closed__176() {
_start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__176;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__175;
x_2 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_2, 0, x_1);
return x_2;
@ -9663,10 +9653,10 @@ x_1158 = lean_array_push(x_1157, x_1156);
x_1159 = l_Lean_mkStxStrLit(x_1144, x_1153);
lean_dec(x_1144);
x_1160 = lean_array_push(x_1157, x_1159);
x_1161 = l_Lean_Elab_Term_toParserDescrAux___closed__154;
x_1161 = l_Lean_setOptionFromString___closed__5;
x_1162 = l_Lean_addMacroScope(x_1150, x_1161, x_1146);
x_1163 = l_Lean_Elab_Term_toParserDescrAux___closed__153;
x_1164 = l_Lean_Elab_Term_toParserDescrAux___closed__158;
x_1164 = l_Lean_Elab_Term_toParserDescrAux___closed__157;
x_1165 = lean_alloc_ctor(3, 4, 0);
lean_ctor_set(x_1165, 0, x_1153);
lean_ctor_set(x_1165, 1, x_1163);
@ -9710,10 +9700,10 @@ x_1181 = lean_array_push(x_1180, x_1179);
x_1182 = l_Lean_mkStxStrLit(x_1144, x_1176);
lean_dec(x_1144);
x_1183 = lean_array_push(x_1180, x_1182);
x_1184 = l_Lean_Elab_Term_toParserDescrAux___closed__154;
x_1184 = l_Lean_setOptionFromString___closed__5;
x_1185 = l_Lean_addMacroScope(x_1172, x_1184, x_1146);
x_1186 = l_Lean_Elab_Term_toParserDescrAux___closed__153;
x_1187 = l_Lean_Elab_Term_toParserDescrAux___closed__158;
x_1187 = l_Lean_Elab_Term_toParserDescrAux___closed__157;
x_1188 = lean_alloc_ctor(3, 4, 0);
lean_ctor_set(x_1188, 0, x_1176);
lean_ctor_set(x_1188, 1, x_1186);
@ -9809,11 +9799,11 @@ x_1264 = l_Lean_Syntax_getArg(x_1, x_1263);
lean_dec(x_1);
x_1265 = lean_alloc_ctor(4, 1, 0);
lean_ctor_set(x_1265, 0, x_1199);
x_1266 = l_Lean_Elab_Term_toParserDescrAux___closed__167;
x_1266 = l_Lean_Elab_Term_toParserDescrAux___closed__166;
x_1267 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_1267, 0, x_1266);
lean_ctor_set(x_1267, 1, x_1265);
x_1268 = l_Lean_Elab_Term_toParserDescrAux___closed__169;
x_1268 = l_Lean_Elab_Term_toParserDescrAux___closed__168;
x_1269 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_1269, 0, x_1267);
lean_ctor_set(x_1269, 1, x_1268);
@ -9865,7 +9855,7 @@ lean_dec(x_1203);
x_1277 = lean_unsigned_to_nat(3u);
x_1278 = l_Lean_Syntax_getArg(x_1, x_1277);
lean_dec(x_1);
x_1279 = l_Lean_Elab_Term_toParserDescrAux___closed__172;
x_1279 = l_Lean_Elab_Term_toParserDescrAux___closed__171;
x_1280 = l_Lean_throwErrorAt___at_Lean_Elab_Term_checkLeftRec___spec__1___rarg(x_1278, x_1279, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_1260);
lean_dec(x_9);
lean_dec(x_7);
@ -9906,7 +9896,7 @@ lean_dec(x_1);
x_1287 = l_List_map___main___at_Lean_Elab_Term_toParserDescrAux___spec__7(x_1262);
x_1288 = l_Lean_MessageData_ofList(x_1287);
lean_dec(x_1287);
x_1289 = l_Lean_Elab_Term_toParserDescrAux___closed__174;
x_1289 = l_Lean_Elab_Term_toParserDescrAux___closed__173;
x_1290 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_1290, 0, x_1289);
lean_ctor_set(x_1290, 1, x_1288);
@ -10004,11 +9994,11 @@ if (x_1213 == 0)
{
lean_object* x_1214; lean_object* x_1215; lean_object* x_1216; lean_object* x_1217; lean_object* x_1218; lean_object* x_1219; lean_object* x_1220; lean_object* x_1221; lean_object* x_1222; lean_object* x_1223; lean_object* x_1224; lean_object* x_1225; lean_object* x_1226; lean_object* x_1227; lean_object* x_1228; lean_object* x_1229; lean_object* x_1230; lean_object* x_1231; lean_object* x_1232; lean_object* x_1233;
x_1214 = lean_ctor_get(x_1212, 0);
x_1215 = l_Lean_Elab_Term_toParserDescrAux___closed__162;
x_1215 = l_Lean_Elab_Term_toParserDescrAux___closed__161;
x_1216 = l_Lean_addMacroScope(x_1214, x_1215, x_1210);
x_1217 = l_Lean_SourceInfo_inhabited___closed__1;
x_1218 = l_Lean_Elab_Term_toParserDescrAux___closed__161;
x_1219 = l_Lean_Elab_Term_toParserDescrAux___closed__165;
x_1218 = l_Lean_Elab_Term_toParserDescrAux___closed__160;
x_1219 = l_Lean_Elab_Term_toParserDescrAux___closed__164;
x_1220 = lean_alloc_ctor(3, 4, 0);
lean_ctor_set(x_1220, 0, x_1217);
lean_ctor_set(x_1220, 1, x_1218);
@ -10042,11 +10032,11 @@ x_1235 = lean_ctor_get(x_1212, 1);
lean_inc(x_1235);
lean_inc(x_1234);
lean_dec(x_1212);
x_1236 = l_Lean_Elab_Term_toParserDescrAux___closed__162;
x_1236 = l_Lean_Elab_Term_toParserDescrAux___closed__161;
x_1237 = l_Lean_addMacroScope(x_1234, x_1236, x_1210);
x_1238 = l_Lean_SourceInfo_inhabited___closed__1;
x_1239 = l_Lean_Elab_Term_toParserDescrAux___closed__161;
x_1240 = l_Lean_Elab_Term_toParserDescrAux___closed__165;
x_1239 = l_Lean_Elab_Term_toParserDescrAux___closed__160;
x_1240 = l_Lean_Elab_Term_toParserDescrAux___closed__164;
x_1241 = lean_alloc_ctor(3, 4, 0);
lean_ctor_set(x_1241, 0, x_1238);
lean_ctor_set(x_1241, 1, x_1239);
@ -10080,7 +10070,7 @@ else
{
lean_object* x_1299; lean_object* x_1300;
lean_dec(x_1199);
x_1299 = l_Lean_Elab_Term_toParserDescrAux___closed__177;
x_1299 = l_Lean_Elab_Term_toParserDescrAux___closed__176;
x_1300 = l_Lean_throwErrorAt___at_Lean_Elab_Term_checkLeftRec___spec__1___rarg(x_1, x_1299, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
lean_dec(x_9);
lean_dec(x_7);
@ -10227,7 +10217,7 @@ else
{
lean_object* x_1336; lean_object* x_1337; uint8_t x_1338;
lean_dec(x_1312);
x_1336 = l_Lean_Elab_Term_toParserDescrAux___closed__177;
x_1336 = l_Lean_Elab_Term_toParserDescrAux___closed__176;
x_1337 = l_Lean_throwErrorAt___at_Lean_Elab_Term_checkLeftRec___spec__1___rarg(x_1, x_1336, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_1330);
lean_dec(x_9);
lean_dec(x_7);
@ -10573,7 +10563,7 @@ x_1 = l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_getCatSuffix___closed__1
x_2 = l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_getCatSuffix___closed__2;
x_3 = lean_unsigned_to_nat(187u);
x_4 = lean_unsigned_to_nat(20u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -11114,7 +11104,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
x_2 = l_Lean_Elab_Term_toParserDescrAux___closed__163;
x_2 = l_Lean_Elab_Term_toParserDescrAux___closed__162;
x_3 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_3, 0, x_2);
lean_ctor_set(x_3, 1, x_1);
@ -11366,7 +11356,7 @@ x_104 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_104, 0, x_103);
lean_ctor_set(x_104, 1, x_102);
x_105 = lean_array_push(x_24, x_104);
x_106 = l_Lean_Elab_Term_toParserDescrAux___closed__163;
x_106 = l_Lean_Elab_Term_toParserDescrAux___closed__162;
x_107 = l_Lean_addMacroScope(x_16, x_106, x_13);
x_108 = l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__49;
x_109 = l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__51;
@ -13146,7 +13136,7 @@ static lean_object* _init_l_Lean_Elab_Command_elabSyntax___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__166;
x_1 = l_Lean_Elab_Term_toParserDescrAux___closed__165;
x_2 = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(x_2, 0, x_1);
return x_2;
@ -23683,8 +23673,6 @@ l_Lean_Elab_Term_toParserDescrAux___closed__175 = _init_l_Lean_Elab_Term_toParse
lean_mark_persistent(l_Lean_Elab_Term_toParserDescrAux___closed__175);
l_Lean_Elab_Term_toParserDescrAux___closed__176 = _init_l_Lean_Elab_Term_toParserDescrAux___closed__176();
lean_mark_persistent(l_Lean_Elab_Term_toParserDescrAux___closed__176);
l_Lean_Elab_Term_toParserDescrAux___closed__177 = _init_l_Lean_Elab_Term_toParserDescrAux___closed__177();
lean_mark_persistent(l_Lean_Elab_Term_toParserDescrAux___closed__177);
l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_getCatSuffix___closed__1 = _init_l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_getCatSuffix___closed__1();
lean_mark_persistent(l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_getCatSuffix___closed__1);
l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_getCatSuffix___closed__2 = _init_l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_getCatSuffix___closed__2();

View file

@ -20,6 +20,7 @@ lean_object* l_Lean_Elab_Term_liftTacticElabM___rarg___closed__2;
lean_object* l_Lean_Elab_Term_ensureAssignmentHasNoMVars___closed__2;
lean_object* l_Lean_Meta_withMVarContext___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSyntheticMVarsStep___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_forInAux___main___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_reportStuckSyntheticMVars___spec__1___closed__1;
extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l_Lean_stringToMessageData(lean_object*);
lean_object* l_Lean_Meta_withMVarContext___at_Lean_Elab_Term_liftTacticElabM___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_checkWithDefault(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -162,7 +163,6 @@ lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizePe
lean_object* l_List_filterAuxM___main___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSyntheticMVarsStep___spec__2(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_getPos(lean_object*);
lean_object* l_Lean_Elab_Term_runTactic___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
lean_object* l_Lean_Elab_Term_runTactic___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_synthesizeSyntheticMVarsNoPostponing(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
@ -1846,7 +1846,7 @@ x_1 = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizePendingIn
x_2 = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizePendingInstMVar___lambda__1___closed__2;
x_3 = lean_unsigned_to_nat(85u);
x_4 = lean_unsigned_to_nat(34u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -2016,7 +2016,7 @@ x_1 = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizePendingIn
x_2 = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizePendingCoeInstMVar___lambda__1___closed__1;
x_3 = lean_unsigned_to_nat(96u);
x_4 = lean_unsigned_to_nat(31u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -4712,7 +4712,7 @@ x_1 = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizePendingIn
x_2 = l_List_forInAux___main___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_reportStuckSyntheticMVars___spec__1___closed__2;
x_3 = lean_unsigned_to_nat(180u);
x_4 = lean_unsigned_to_nat(9u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}

View file

@ -138,6 +138,7 @@ lean_object* lean_array_get_size(lean_object*);
lean_object* l_Lean_Elab_Tactic_setGoals___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_evalTacticUsing_loop_match__2(lean_object*);
lean_object* l_Lean_Elab_Tactic_liftMetaMAtMain_match__1___rarg(lean_object*, lean_object*);
uint8_t l_Lean_Name_isPrefixOf(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_getGoals___boxed(lean_object*);
extern lean_object* l_Lean_Name_inhabited;
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_evalClear___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -271,7 +272,6 @@ lean_object* l___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_regTraceClas
lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFocus___closed__2;
lean_object* l_Lean_Elab_Tactic_getUnsolvedGoals(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalIntros___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Name_isPrefixOf___main(lean_object*, lean_object*);
lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_expandTacticMacroFns_loop___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_getGoals___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_expandTacticMacroFns_loop___spec__2(lean_object*);
@ -439,6 +439,7 @@ lean_object* l_Lean_Syntax_getKind(lean_object*);
lean_object* l_Lean_Elab_Tactic_withMainMVarContext_match__1(lean_object*);
lean_object* l_Lean_Elab_Tactic_getFVarId(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_ensureHasNoMVars___closed__1;
uint8_t l_Lean_Name_isSuffixOf(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalIntro___closed__1;
lean_object* l_Lean_Elab_Tactic_evalAssumption(lean_object*);
lean_object* l_Lean_Elab_Tactic_evalIntro___closed__8;
@ -462,7 +463,6 @@ lean_object* l_Std_PersistentHashMap_findAtAux___main___at_Lean_Elab_Tactic_eval
lean_object* l_Lean_Elab_Tactic_tagUntaggedGoals_match__2(lean_object*);
extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__16;
lean_object* l_Lean_Elab_Tactic_evalIntro___closed__9;
uint8_t l_Lean_Name_isSuffixOf___main(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalFailIfSuccess(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalIntros_match__1(lean_object*);
lean_object* l_Lean_Elab_Tactic_evalOrelse___closed__1;
@ -14676,7 +14676,7 @@ x_19 = lean_ctor_get(x_16, 1);
x_20 = lean_ctor_get(x_18, 0);
lean_inc(x_20);
lean_dec(x_18);
x_21 = l_Lean_Name_isSuffixOf___main(x_1, x_20);
x_21 = l_Lean_Name_isSuffixOf(x_1, x_20);
lean_dec(x_20);
if (x_21 == 0)
{
@ -14707,7 +14707,7 @@ lean_dec(x_16);
x_26 = lean_ctor_get(x_24, 0);
lean_inc(x_26);
lean_dec(x_24);
x_27 = l_Lean_Name_isSuffixOf___main(x_1, x_26);
x_27 = l_Lean_Name_isSuffixOf(x_1, x_26);
lean_dec(x_26);
if (x_27 == 0)
{
@ -14790,7 +14790,7 @@ x_19 = lean_ctor_get(x_16, 1);
x_20 = lean_ctor_get(x_18, 0);
lean_inc(x_20);
lean_dec(x_18);
x_21 = l_Lean_Name_isPrefixOf___main(x_1, x_20);
x_21 = l_Lean_Name_isPrefixOf(x_1, x_20);
lean_dec(x_20);
if (x_21 == 0)
{
@ -14821,7 +14821,7 @@ lean_dec(x_16);
x_26 = lean_ctor_get(x_24, 0);
lean_inc(x_26);
lean_dec(x_24);
x_27 = l_Lean_Name_isPrefixOf___main(x_1, x_26);
x_27 = l_Lean_Name_isPrefixOf(x_1, x_26);
lean_dec(x_26);
if (x_27 == 0)
{

View file

@ -13,7 +13,6 @@
#ifdef __cplusplus
extern "C" {
#endif
lean_object* l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generalizeMajor___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalCases(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_findIdxAux___main___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo___spec__2(lean_object*, lean_object*, lean_object*);
@ -82,6 +81,7 @@ lean_object* l_Lean_Elab_Tactic_getInductiveValFromMajor___lambda__1___closed__2
lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
lean_object* lean_string_append(lean_object*, lean_object*);
lean_object* l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault_match__4___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_getRecFromUsing_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_getAppFn___main(lean_object*);
@ -252,6 +252,7 @@ lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecIn
lean_object* l_Lean_Syntax_getArgs(lean_object*);
lean_object* l_ReaderT_bind___at_Lean_Elab_Tactic_liftMetaTacticAux___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault_match__3(lean_object*);
uint8_t l_Lean_Name_isSuffixOf(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_saveBacktrackableState___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalInduction(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
@ -266,7 +267,6 @@ lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecFr
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_elabMajor___lambda__1___closed__2;
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo_match__4(lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generalizeVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Name_isSuffixOf___main(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalCases_match__1(lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___closed__1;
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltName___boxed(lean_object*);
@ -1625,7 +1625,7 @@ lean_object* x_4; lean_object* x_5; uint8_t x_6; uint8_t x_7;
x_4 = lean_ctor_get(x_3, 0);
x_5 = lean_ctor_get(x_3, 1);
x_6 = l_List_foldr___main___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__1(x_1, x_2, x_5);
x_7 = l_Lean_Name_isSuffixOf___main(x_1, x_4);
x_7 = l_Lean_Name_isSuffixOf(x_1, x_4);
if (x_7 == 0)
{
return x_6;
@ -4244,7 +4244,7 @@ lean_object* x_7; lean_object* x_8; uint8_t x_9;
x_7 = lean_array_fget(x_2, x_3);
x_8 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltName(x_7);
lean_dec(x_7);
x_9 = l_Lean_Name_isSuffixOf___main(x_8, x_1);
x_9 = l_Lean_Name_isSuffixOf(x_8, x_1);
lean_dec(x_8);
if (x_9 == 0)
{
@ -8873,7 +8873,7 @@ x_15 = lean_nat_dec_eq(x_13, x_14);
if (x_15 == 0)
{
lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28;
x_16 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_14);
x_16 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_14);
x_17 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_17, 0, x_16);
x_18 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult___closed__2;
@ -8884,7 +8884,7 @@ x_20 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult_
x_21 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_21, 0, x_19);
lean_ctor_set(x_21, 1, x_20);
x_22 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_13);
x_22 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_13);
x_23 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_23, 0, x_22);
x_24 = lean_alloc_ctor(10, 2, 0);

View file

@ -37,6 +37,7 @@ lean_object* l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hy
lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError___closed__6;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_exceptionToSorry(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
size_t l_USize_add(size_t, size_t);
extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l_Lean_Meta_inferType___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isType___at_Lean_Elab_Term_ensureType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFnsAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -841,7 +842,6 @@ lean_object* l_Lean_Syntax_getPos(lean_object*);
lean_object* l_Lean_Elab_Term_getMessageLog___boxed(lean_object*);
lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__1;
lean_object* l_Lean_Elab_Term_isLocalIdent_x3f_match__1(lean_object*);
extern lean_object* l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__6(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -883,7 +883,6 @@ extern lean_object* l_Lean_Meta_mkSorry___rarg___lambda__1___closed__2;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkFreshLevelMVar___at_Lean_Elab_Term_ensureType___spec__2(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_FileMap_Inhabited___closed__1;
lean_object* l_Lean_Elab_Term_getLetRecsToLift___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_mkOptionalNode___closed__1;
lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__4;
@ -978,6 +977,7 @@ lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___closed__5;
lean_object* l_Lean_Meta_mkFreshLevelMVar___at_Lean_Elab_Term_ensureType___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabEnsureExpectedType___closed__3;
extern lean_object* l_Lean_FileMap_Lean_Data_Position___instance__5___closed__1;
extern lean_object* l_Lean_mkOptionalNode___closed__2;
lean_object* l_Lean_Elab_Term_monadLog___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_logUnassignedUsingErrorInfos_match__1(lean_object*);
@ -2491,7 +2491,7 @@ x_1 = l_Lean_Elab_Term_getFVarLocalDecl_x21___closed__2;
x_2 = l_Lean_Elab_Term_getFVarLocalDecl_x21___closed__3;
x_3 = lean_unsigned_to_nat(222u);
x_4 = lean_unsigned_to_nat(14u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -34877,7 +34877,7 @@ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_obj
x_1 = lean_box(0);
x_2 = lean_box(0);
x_3 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__1;
x_4 = l_Lean_FileMap_Inhabited___closed__1;
x_4 = l_Lean_FileMap_Lean_Data_Position___instance__5___closed__1;
x_5 = lean_box(0);
x_6 = l_Lean_firstFrontendMacroScope;
x_7 = 1;

View file

@ -51,7 +51,6 @@ lean_object* l_Lean_EnvExtension_setState(lean_object*);
lean_object* l_Std_AssocList_find_x3f___at_Lean_Environment_find_x3f___spec__3___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Environment_displayStats___closed__1;
lean_object* l_Nat_foldAux___main___at_Lean_mkModuleData___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_USize_decEq(size_t, size_t);
lean_object* lean_array_uget(lean_object*, size_t);
lean_object* l_Array_iterateMAux___main___at_Lean_importModules___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forMAux___main___at_Lean_Environment_freeRegions___spec__1___boxed(lean_object*, lean_object*, lean_object*);
@ -102,13 +101,13 @@ size_t l_USize_sub(size_t, size_t);
extern lean_object* l_Array_empty___closed__1;
lean_object* lean_environment_find(lean_object*, lean_object*);
lean_object* l_Lean_Environment_Inhabited___closed__4;
lean_object* l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Environment_hasUnsafe___spec__1(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_importModules___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_get(lean_object*, lean_object*);
lean_object* lean_read_module_data(lean_object*, lean_object*);
lean_object* l_Lean_EnvExtensionInterfaceUnsafe_imp___elambda__3___rarg___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_TagDeclarationExtension_Inhabited___closed__1;
lean_object* l_Array_iterateMAux___main___at_Lean_importModules___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_NameSet_Lean_Data_Name___instance__7;
uint8_t l_Lean_ConstantInfo_isUnsafe(lean_object*);
lean_object* l_Lean_mkTagDeclarationExtension___closed__2;
lean_object* l_Lean_PersistentEnvExtension_setState___rarg(lean_object*, lean_object*, lean_object*);
@ -204,6 +203,7 @@ lean_object* l_Lean_EnvExtensionInterfaceImp___elambda__3___rarg(lean_object*, l
lean_object* lean_array_fget(lean_object*, lean_object*);
lean_object* l_Lean_SimplePersistentEnvExtension_modifyState___rarg___boxed(lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Environment_hasUnsafe___lambda__1___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Environment_11__finalizePersistentExtensions(lean_object*, lean_object*, lean_object*);
lean_object* lean_environment_add_modification(lean_object*, lean_object*);
lean_object* l_Lean_serializeModifications___boxed(lean_object*, lean_object*);
@ -375,9 +375,7 @@ lean_object* l_fix1___rarg___lambda__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_EnvExtensionInterfaceUnsafe_imp;
lean_object* l_Array_forMAux___main___at_Lean_Environment_displayStats___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Std_PersistentHashMap_containsAux___main___at_Lean_Environment_contains___spec__4(lean_object*, size_t, lean_object*);
size_t l_USize_mod(size_t, size_t);
lean_object* l_Lean_namespacesExt___elambda__2___boxed(lean_object*);
lean_object* l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Environment_hasUnsafe___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
lean_object* l_Lean_PersistentEnvExtension_setState___rarg___lambda__1(lean_object*, lean_object*);
uint32_t lean_environment_trust_level(lean_object*);
@ -396,7 +394,6 @@ lean_object* l___private_Lean_Environment_12__isNamespaceName___boxed(lean_objec
lean_object* lean_import_modules(lean_object*, lean_object*, uint32_t, lean_object*);
lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Environment_getModuleIdxFor_x3f___spec__1(lean_object*, lean_object*);
extern lean_object* l_monadControlRefl___rarg___lambda__2___closed__1;
size_t lean_ptr_addr(lean_object*);
lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
lean_object* l_Lean_EnvExtensionInterfaceUnsafe_registerExt___rarg___closed__1;
lean_object* l_Std_HashMap_numBuckets___at_Lean_Environment_displayStats___spec__6(lean_object*);
@ -419,6 +416,7 @@ lean_object* l_Lean_PersistentEnvExtension_modifyState___rarg___boxed(lean_objec
lean_object* l_Lean_withImportModules___rarg(lean_object*, lean_object*, uint32_t, lean_object*, lean_object*);
lean_object* l_Lean_mkStateFromImportedEntries(lean_object*, lean_object*);
lean_object* l_Lean_Environment_addAndCompile(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Environment_hasUnsafe___lambda__1(lean_object*, lean_object*);
lean_object* l_Lean_namespacesExt___closed__5;
lean_object* l_Lean_regModListExtension(lean_object*);
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___boxed(lean_object*, lean_object*, lean_object*);
@ -431,7 +429,6 @@ lean_object* l_Lean_namespacesExt___closed__3;
lean_object* l_Lean_Kernel_whnf___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PersistentEnvExtension_inhabited___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4___closed__1;
extern lean_object* l_Lean_NameSet_Inhabited;
lean_object* l___private_Lean_Environment_14__throwUnexpectedType___rarg___closed__3;
lean_object* l_Array_iterateMAux___main___at_Lean_mkModuleData___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_EnvExtensionInterfaceImp___elambda__4(lean_object*, lean_object*);
@ -496,6 +493,7 @@ lean_object* l_Std_mkHashMap___at_Lean_Environment_Inhabited___spec__1(lean_obje
lean_object* l_Lean_modListExtension;
lean_object* l_Lean_EnvExtensionInterfaceImp___elambda__1(lean_object*);
lean_object* l_Lean_TagDeclarationExtension_isTagged___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_FindImpl_findM_x3f_visit(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Lean_Environment_isConstructor___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Environment_14__throwUnexpectedType___rarg___closed__1;
uint8_t l_Lean_NameSet_contains(lean_object*, lean_object*);
@ -1530,54 +1528,60 @@ uint8_t x_5;
x_5 = !lean_is_exclusive(x_1);
if (x_5 == 0)
{
lean_object* x_6; lean_object* x_7;
lean_object* x_6; lean_object* x_7; uint8_t x_8;
x_6 = lean_ctor_get(x_1, 1);
x_7 = l_Std_PersistentHashMap_insert___at_Lean_Environment_addAux___spec__2(x_6, x_2, x_3);
x_8 = 0;
lean_ctor_set(x_1, 1, x_7);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_8);
return x_1;
}
else
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_8 = lean_ctor_get(x_1, 0);
x_9 = lean_ctor_get(x_1, 1);
lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_1, 0);
x_10 = lean_ctor_get(x_1, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_dec(x_1);
x_10 = l_Std_PersistentHashMap_insert___at_Lean_Environment_addAux___spec__2(x_9, x_2, x_3);
x_11 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_11, 0, x_8);
lean_ctor_set(x_11, 1, x_10);
lean_ctor_set_uint8(x_11, sizeof(void*)*2, x_4);
return x_11;
x_11 = l_Std_PersistentHashMap_insert___at_Lean_Environment_addAux___spec__2(x_10, x_2, x_3);
x_12 = 0;
x_13 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_13, 0, x_9);
lean_ctor_set(x_13, 1, x_11);
lean_ctor_set_uint8(x_13, sizeof(void*)*2, x_12);
return x_13;
}
}
else
{
uint8_t x_12;
x_12 = !lean_is_exclusive(x_1);
if (x_12 == 0)
uint8_t x_14;
x_14 = !lean_is_exclusive(x_1);
if (x_14 == 0)
{
lean_object* x_13; lean_object* x_14;
x_13 = lean_ctor_get(x_1, 0);
x_14 = l_Std_HashMapImp_insert___at_Lean_Environment_addAux___spec__6(x_13, x_2, x_3);
lean_ctor_set(x_1, 0, x_14);
lean_object* x_15; lean_object* x_16; uint8_t x_17;
x_15 = lean_ctor_get(x_1, 0);
x_16 = l_Std_HashMapImp_insert___at_Lean_Environment_addAux___spec__6(x_15, x_2, x_3);
x_17 = 1;
lean_ctor_set(x_1, 0, x_16);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_17);
return x_1;
}
else
{
lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
x_15 = lean_ctor_get(x_1, 0);
x_16 = lean_ctor_get(x_1, 1);
lean_inc(x_16);
lean_inc(x_15);
lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22;
x_18 = lean_ctor_get(x_1, 0);
x_19 = lean_ctor_get(x_1, 1);
lean_inc(x_19);
lean_inc(x_18);
lean_dec(x_1);
x_17 = l_Std_HashMapImp_insert___at_Lean_Environment_addAux___spec__6(x_15, x_2, x_3);
x_18 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_18, 0, x_17);
lean_ctor_set(x_18, 1, x_16);
lean_ctor_set_uint8(x_18, sizeof(void*)*2, x_4);
return x_18;
x_20 = l_Std_HashMapImp_insert___at_Lean_Environment_addAux___spec__6(x_18, x_2, x_3);
x_21 = 1;
x_22 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_22, 0, x_20);
lean_ctor_set(x_22, 1, x_19);
lean_ctor_set_uint8(x_22, sizeof(void*)*2, x_21);
return x_22;
}
}
}
@ -6332,7 +6336,7 @@ static lean_object* _init_l_Lean_TagDeclarationExtension_Inhabited___closed__1()
_start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_NameSet_Inhabited;
x_1 = l_Lean_NameSet_Lean_Data_Name___instance__7;
x_2 = l_Lean_SimplePersistentEnvExtension_Inhabited___rarg(x_1);
return x_2;
}
@ -10890,584 +10894,77 @@ lean_dec(x_2);
return x_5;
}
}
lean_object* l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Environment_hasUnsafe___spec__1(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4) {
uint8_t l_Lean_Environment_hasUnsafe___lambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_5; lean_object* x_6; size_t x_110; size_t x_111; lean_object* x_112; size_t x_113; uint8_t x_114;
x_110 = lean_ptr_addr(x_3);
x_111 = x_2 == 0 ? 0 : x_110 % x_2;
x_112 = lean_array_uget(x_4, x_111);
x_113 = lean_ptr_addr(x_112);
lean_dec(x_112);
x_114 = x_113 == x_110;
if (x_114 == 0)
if (lean_obj_tag(x_2) == 4)
{
lean_object* x_115; uint8_t x_116;
lean_object* x_3; lean_object* x_4;
x_3 = lean_ctor_get(x_2, 0);
lean_inc(x_3);
x_115 = lean_array_uset(x_4, x_111, x_3);
x_116 = 0;
x_5 = x_116;
x_6 = x_115;
goto block_109;
lean_dec(x_2);
x_4 = lean_environment_find(x_1, x_3);
if (lean_obj_tag(x_4) == 0)
{
uint8_t x_5;
x_5 = 0;
return x_5;
}
else
{
uint8_t x_117;
x_117 = 1;
x_5 = x_117;
x_6 = x_4;
goto block_109;
lean_object* x_6; uint8_t x_7;
x_6 = lean_ctor_get(x_4, 0);
lean_inc(x_6);
lean_dec(x_4);
x_7 = l_Lean_ConstantInfo_isUnsafe(x_6);
lean_dec(x_6);
return x_7;
}
block_109:
{
lean_object* x_7;
if (x_5 == 0)
{
if (lean_obj_tag(x_3) == 4)
{
lean_object* x_93; lean_object* x_94;
x_93 = lean_ctor_get(x_3, 0);
lean_inc(x_93);
lean_inc(x_1);
x_94 = lean_environment_find(x_1, x_93);
if (lean_obj_tag(x_94) == 0)
{
lean_object* x_95;
x_95 = lean_box(0);
x_7 = x_95;
goto block_92;
}
else
{
uint8_t x_96;
x_96 = !lean_is_exclusive(x_94);
if (x_96 == 0)
{
lean_object* x_97; uint8_t x_98;
x_97 = lean_ctor_get(x_94, 0);
x_98 = l_Lean_ConstantInfo_isUnsafe(x_97);
lean_dec(x_97);
if (x_98 == 0)
{
lean_object* x_99;
lean_free_object(x_94);
x_99 = lean_box(0);
x_7 = x_99;
goto block_92;
}
else
{
lean_object* x_100;
uint8_t x_8;
lean_dec(x_2);
lean_dec(x_1);
lean_ctor_set(x_94, 0, x_3);
x_100 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_100, 0, x_94);
lean_ctor_set(x_100, 1, x_6);
return x_100;
}
}
else
{
lean_object* x_101; uint8_t x_102;
x_101 = lean_ctor_get(x_94, 0);
lean_inc(x_101);
lean_dec(x_94);
x_102 = l_Lean_ConstantInfo_isUnsafe(x_101);
lean_dec(x_101);
if (x_102 == 0)
{
lean_object* x_103;
x_103 = lean_box(0);
x_7 = x_103;
goto block_92;
}
else
{
lean_object* x_104; lean_object* x_105;
lean_dec(x_1);
x_104 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_104, 0, x_3);
x_105 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_105, 0, x_104);
lean_ctor_set(x_105, 1, x_6);
return x_105;
}
}
}
}
else
{
lean_object* x_106;
x_106 = lean_box(0);
x_7 = x_106;
goto block_92;
}
}
else
{
lean_object* x_107; lean_object* x_108;
lean_dec(x_3);
lean_dec(x_1);
x_107 = lean_box(0);
x_108 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_108, 0, x_107);
lean_ctor_set(x_108, 1, x_6);
return x_108;
}
block_92:
{
lean_dec(x_7);
switch (lean_obj_tag(x_3)) {
case 5:
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_8 = lean_ctor_get(x_3, 0);
lean_inc(x_8);
x_9 = lean_ctor_get(x_3, 1);
lean_inc(x_9);
lean_dec(x_3);
lean_inc(x_1);
x_10 = l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Environment_hasUnsafe___spec__1(x_1, x_2, x_8, x_6);
x_11 = lean_ctor_get(x_10, 0);
lean_inc(x_11);
if (lean_obj_tag(x_11) == 0)
{
lean_object* x_12;
x_12 = lean_ctor_get(x_10, 1);
lean_inc(x_12);
lean_dec(x_10);
x_3 = x_9;
x_4 = x_12;
goto _start;
}
else
{
uint8_t x_14;
lean_dec(x_9);
lean_dec(x_1);
x_14 = !lean_is_exclusive(x_10);
if (x_14 == 0)
{
lean_object* x_15; uint8_t x_16;
x_15 = lean_ctor_get(x_10, 0);
lean_dec(x_15);
x_16 = !lean_is_exclusive(x_11);
if (x_16 == 0)
{
return x_10;
}
else
{
lean_object* x_17; lean_object* x_18;
x_17 = lean_ctor_get(x_11, 0);
lean_inc(x_17);
lean_dec(x_11);
x_18 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_18, 0, x_17);
lean_ctor_set(x_10, 0, x_18);
return x_10;
}
}
else
{
lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
x_19 = lean_ctor_get(x_10, 1);
lean_inc(x_19);
lean_dec(x_10);
x_20 = lean_ctor_get(x_11, 0);
lean_inc(x_20);
if (lean_is_exclusive(x_11)) {
lean_ctor_release(x_11, 0);
x_21 = x_11;
} else {
lean_dec_ref(x_11);
x_21 = lean_box(0);
}
if (lean_is_scalar(x_21)) {
x_22 = lean_alloc_ctor(1, 1, 0);
} else {
x_22 = x_21;
}
lean_ctor_set(x_22, 0, x_20);
x_23 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_23, 0, x_22);
lean_ctor_set(x_23, 1, x_19);
return x_23;
}
}
}
case 6:
{
lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
x_24 = lean_ctor_get(x_3, 1);
lean_inc(x_24);
x_25 = lean_ctor_get(x_3, 2);
lean_inc(x_25);
lean_dec(x_3);
lean_inc(x_1);
x_26 = l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Environment_hasUnsafe___spec__1(x_1, x_2, x_24, x_6);
x_27 = lean_ctor_get(x_26, 0);
lean_inc(x_27);
if (lean_obj_tag(x_27) == 0)
{
lean_object* x_28;
x_28 = lean_ctor_get(x_26, 1);
lean_inc(x_28);
lean_dec(x_26);
x_3 = x_25;
x_4 = x_28;
goto _start;
}
else
{
uint8_t x_30;
lean_dec(x_25);
lean_dec(x_1);
x_30 = !lean_is_exclusive(x_26);
if (x_30 == 0)
{
lean_object* x_31; uint8_t x_32;
x_31 = lean_ctor_get(x_26, 0);
lean_dec(x_31);
x_32 = !lean_is_exclusive(x_27);
if (x_32 == 0)
{
return x_26;
}
else
{
lean_object* x_33; lean_object* x_34;
x_33 = lean_ctor_get(x_27, 0);
lean_inc(x_33);
lean_dec(x_27);
x_34 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_34, 0, x_33);
lean_ctor_set(x_26, 0, x_34);
return x_26;
}
}
else
{
lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
x_35 = lean_ctor_get(x_26, 1);
lean_inc(x_35);
lean_dec(x_26);
x_36 = lean_ctor_get(x_27, 0);
lean_inc(x_36);
if (lean_is_exclusive(x_27)) {
lean_ctor_release(x_27, 0);
x_37 = x_27;
} else {
lean_dec_ref(x_27);
x_37 = lean_box(0);
}
if (lean_is_scalar(x_37)) {
x_38 = lean_alloc_ctor(1, 1, 0);
} else {
x_38 = x_37;
}
lean_ctor_set(x_38, 0, x_36);
x_39 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_39, 0, x_38);
lean_ctor_set(x_39, 1, x_35);
return x_39;
}
}
}
case 7:
{
lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
x_40 = lean_ctor_get(x_3, 1);
lean_inc(x_40);
x_41 = lean_ctor_get(x_3, 2);
lean_inc(x_41);
lean_dec(x_3);
lean_inc(x_1);
x_42 = l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Environment_hasUnsafe___spec__1(x_1, x_2, x_40, x_6);
x_43 = lean_ctor_get(x_42, 0);
lean_inc(x_43);
if (lean_obj_tag(x_43) == 0)
{
lean_object* x_44;
x_44 = lean_ctor_get(x_42, 1);
lean_inc(x_44);
lean_dec(x_42);
x_3 = x_41;
x_4 = x_44;
goto _start;
}
else
{
uint8_t x_46;
lean_dec(x_41);
lean_dec(x_1);
x_46 = !lean_is_exclusive(x_42);
if (x_46 == 0)
{
lean_object* x_47; uint8_t x_48;
x_47 = lean_ctor_get(x_42, 0);
lean_dec(x_47);
x_48 = !lean_is_exclusive(x_43);
if (x_48 == 0)
{
return x_42;
}
else
{
lean_object* x_49; lean_object* x_50;
x_49 = lean_ctor_get(x_43, 0);
lean_inc(x_49);
lean_dec(x_43);
x_50 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_50, 0, x_49);
lean_ctor_set(x_42, 0, x_50);
return x_42;
}
}
else
{
lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55;
x_51 = lean_ctor_get(x_42, 1);
lean_inc(x_51);
lean_dec(x_42);
x_52 = lean_ctor_get(x_43, 0);
lean_inc(x_52);
if (lean_is_exclusive(x_43)) {
lean_ctor_release(x_43, 0);
x_53 = x_43;
} else {
lean_dec_ref(x_43);
x_53 = lean_box(0);
}
if (lean_is_scalar(x_53)) {
x_54 = lean_alloc_ctor(1, 1, 0);
} else {
x_54 = x_53;
}
lean_ctor_set(x_54, 0, x_52);
x_55 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_55, 0, x_54);
lean_ctor_set(x_55, 1, x_51);
return x_55;
}
}
}
case 8:
{
lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
x_56 = lean_ctor_get(x_3, 1);
lean_inc(x_56);
x_57 = lean_ctor_get(x_3, 2);
lean_inc(x_57);
x_58 = lean_ctor_get(x_3, 3);
lean_inc(x_58);
lean_dec(x_3);
lean_inc(x_1);
x_59 = l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Environment_hasUnsafe___spec__1(x_1, x_2, x_56, x_6);
x_60 = lean_ctor_get(x_59, 0);
lean_inc(x_60);
if (lean_obj_tag(x_60) == 0)
{
lean_object* x_61; lean_object* x_62; lean_object* x_63;
x_61 = lean_ctor_get(x_59, 1);
lean_inc(x_61);
lean_dec(x_59);
lean_inc(x_1);
x_62 = l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Environment_hasUnsafe___spec__1(x_1, x_2, x_57, x_61);
x_63 = lean_ctor_get(x_62, 0);
lean_inc(x_63);
if (lean_obj_tag(x_63) == 0)
{
lean_object* x_64;
x_64 = lean_ctor_get(x_62, 1);
lean_inc(x_64);
lean_dec(x_62);
x_3 = x_58;
x_4 = x_64;
goto _start;
}
else
{
uint8_t x_66;
lean_dec(x_58);
lean_dec(x_1);
x_66 = !lean_is_exclusive(x_62);
if (x_66 == 0)
{
lean_object* x_67; uint8_t x_68;
x_67 = lean_ctor_get(x_62, 0);
lean_dec(x_67);
x_68 = !lean_is_exclusive(x_63);
if (x_68 == 0)
{
return x_62;
}
else
{
lean_object* x_69; lean_object* x_70;
x_69 = lean_ctor_get(x_63, 0);
lean_inc(x_69);
lean_dec(x_63);
x_70 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_70, 0, x_69);
lean_ctor_set(x_62, 0, x_70);
return x_62;
}
}
else
{
lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75;
x_71 = lean_ctor_get(x_62, 1);
lean_inc(x_71);
lean_dec(x_62);
x_72 = lean_ctor_get(x_63, 0);
lean_inc(x_72);
if (lean_is_exclusive(x_63)) {
lean_ctor_release(x_63, 0);
x_73 = x_63;
} else {
lean_dec_ref(x_63);
x_73 = lean_box(0);
}
if (lean_is_scalar(x_73)) {
x_74 = lean_alloc_ctor(1, 1, 0);
} else {
x_74 = x_73;
}
lean_ctor_set(x_74, 0, x_72);
x_75 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_75, 0, x_74);
lean_ctor_set(x_75, 1, x_71);
return x_75;
}
}
}
else
{
uint8_t x_76;
lean_dec(x_58);
lean_dec(x_57);
lean_dec(x_1);
x_76 = !lean_is_exclusive(x_59);
if (x_76 == 0)
{
lean_object* x_77; uint8_t x_78;
x_77 = lean_ctor_get(x_59, 0);
lean_dec(x_77);
x_78 = !lean_is_exclusive(x_60);
if (x_78 == 0)
{
return x_59;
}
else
{
lean_object* x_79; lean_object* x_80;
x_79 = lean_ctor_get(x_60, 0);
lean_inc(x_79);
lean_dec(x_60);
x_80 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_80, 0, x_79);
lean_ctor_set(x_59, 0, x_80);
return x_59;
}
}
else
{
lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85;
x_81 = lean_ctor_get(x_59, 1);
lean_inc(x_81);
lean_dec(x_59);
x_82 = lean_ctor_get(x_60, 0);
lean_inc(x_82);
if (lean_is_exclusive(x_60)) {
lean_ctor_release(x_60, 0);
x_83 = x_60;
} else {
lean_dec_ref(x_60);
x_83 = lean_box(0);
}
if (lean_is_scalar(x_83)) {
x_84 = lean_alloc_ctor(1, 1, 0);
} else {
x_84 = x_83;
}
lean_ctor_set(x_84, 0, x_82);
x_85 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_85, 0, x_84);
lean_ctor_set(x_85, 1, x_81);
return x_85;
}
}
}
case 10:
{
lean_object* x_86;
x_86 = lean_ctor_get(x_3, 1);
lean_inc(x_86);
lean_dec(x_3);
x_3 = x_86;
x_4 = x_6;
goto _start;
}
case 11:
{
lean_object* x_88;
x_88 = lean_ctor_get(x_3, 2);
lean_inc(x_88);
lean_dec(x_3);
x_3 = x_88;
x_4 = x_6;
goto _start;
}
default:
{
lean_object* x_90; lean_object* x_91;
lean_dec(x_3);
lean_dec(x_1);
x_90 = lean_box(0);
x_91 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_91, 0, x_90);
lean_ctor_set(x_91, 1, x_6);
return x_91;
}
}
}
x_8 = 0;
return x_8;
}
}
}
uint8_t l_Lean_Environment_hasUnsafe(lean_object* x_1, lean_object* x_2) {
_start:
{
size_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_3 = 8192;
x_4 = l_Lean_Expr_FindImpl_initCache;
x_5 = l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Environment_hasUnsafe___spec__1(x_1, x_3, x_2, x_4);
x_6 = lean_ctor_get(x_5, 0);
lean_inc(x_6);
lean_dec(x_5);
if (lean_obj_tag(x_6) == 0)
lean_object* x_3; size_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_3 = lean_alloc_closure((void*)(l_Lean_Environment_hasUnsafe___lambda__1___boxed), 2, 1);
lean_closure_set(x_3, 0, x_1);
x_4 = 8192;
x_5 = l_Lean_Expr_FindImpl_initCache;
x_6 = l_Lean_Expr_FindImpl_findM_x3f_visit(x_3, x_4, x_2, x_5);
x_7 = lean_ctor_get(x_6, 0);
lean_inc(x_7);
lean_dec(x_6);
if (lean_obj_tag(x_7) == 0)
{
uint8_t x_7;
x_7 = 0;
return x_7;
uint8_t x_8;
x_8 = 0;
return x_8;
}
else
{
uint8_t x_8;
lean_dec(x_6);
x_8 = 1;
return x_8;
uint8_t x_9;
lean_dec(x_7);
x_9 = 1;
return x_9;
}
}
}
lean_object* l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Environment_hasUnsafe___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
lean_object* l_Lean_Environment_hasUnsafe___lambda__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
size_t x_5; lean_object* x_6;
x_5 = lean_unbox_usize(x_2);
lean_dec(x_2);
x_6 = l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Environment_hasUnsafe___spec__1(x_1, x_5, x_3, x_4);
return x_6;
uint8_t x_3; lean_object* x_4;
x_3 = l_Lean_Environment_hasUnsafe___lambda__1(x_1, x_2);
x_4 = lean_box(x_3);
return x_4;
}
}
lean_object* l_Lean_Environment_hasUnsafe___boxed(lean_object* x_1, lean_object* x_2) {

View file

@ -93,7 +93,6 @@ lean_object* l_Lean_mkMVar(lean_object*);
lean_object* l_List_map___main___at_Lean_Expr_instantiateLevelParams___spec__4___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_hash___boxed(lean_object*);
lean_object* l_Lean_Expr_betaRev___boxed(lean_object*, lean_object*);
extern lean_object* l_Lean_verboseOption___closed__3;
lean_object* l_Lean_Expr_mvarId_x21___boxed(lean_object*);
lean_object* l___private_Lean_Expr_2__mkAppRangeAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Expr_5__withAppRevAux(lean_object*);
@ -289,7 +288,6 @@ lean_object* l_Lean_Literal_type___closed__1;
lean_object* lean_expr_abstract_range(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_getArg_x21___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_bindingDomain_x21___closed__1;
lean_object* l_Lean_KVMap_insertCore___main(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_InstantiateLevelParams_instantiate(lean_object*, lean_object*);
lean_object* l_Lean_Expr_ctorName___closed__3;
lean_object* l_Lean_Expr_natLit_x3f(lean_object*);
@ -431,6 +429,7 @@ extern uint8_t l_Bool_Inhabited;
lean_object* l_Lean_Expr_bvarIdx_x21___closed__1;
lean_object* l___private_Lean_Expr_4__getAppRevArgsAux(lean_object*, lean_object*);
lean_object* lean_panic_fn(lean_object*, lean_object*);
extern lean_object* l_Lean_initFn____x40_Lean_Data_Options___hyg_481____closed__3;
lean_object* l_Array_iterateMAux___main___at_Lean_mkAppN___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_isHeadBetaTargetFn___main(lean_object*);
uint32_t l_USize_toUInt32(size_t);
@ -441,6 +440,7 @@ uint64_t l_UInt64_shiftLeft(uint64_t, uint64_t);
lean_object* l_Lean_Expr_binderInfo___boxed(lean_object*);
lean_object* l___private_Lean_Expr_5__withAppRevAux___main(lean_object*);
lean_object* l_Lean_Literal_lt___boxed(lean_object*, lean_object*);
lean_object* l_Lean_KVMap_insertCore(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_updateFn___main(lean_object*, lean_object*);
lean_object* l_Lean_mkApp7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_updateLambda_x21___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
@ -10799,8 +10799,8 @@ _start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_3 = l_Lean_KVMap_empty;
x_4 = l_Lean_verboseOption___closed__3;
x_5 = l_Lean_KVMap_insertCore___main(x_3, x_1, x_4);
x_4 = l_Lean_initFn____x40_Lean_Data_Options___hyg_481____closed__3;
x_5 = l_Lean_KVMap_insertCore(x_3, x_1, x_4);
x_6 = l_Lean_mkMData(x_5, x_2);
return x_6;
}

View file

@ -14,7 +14,6 @@
extern "C" {
#endif
lean_object* l_Lean_sanitizeSyntax(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at_Lean_sanitizeName___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Unhygienic_MonadQuotation___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Unhygienic_MonadQuotation___closed__3;
lean_object* lean_erase_macro_scopes(lean_object*);
@ -49,18 +48,19 @@ lean_object* l_Lean_Unhygienic_run___rarg(lean_object*);
lean_object* l___private_Lean_Hygiene_1__mkInaccessibleUserNameAux(uint8_t, lean_object*, lean_object*);
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Unhygienic_MonadQuotation___closed__4;
lean_object* l_Std_RBNode_find___at_Lean_sanitizeName___spec__1(lean_object*, lean_object*);
lean_object* l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Hygiene_2__mkInaccessibleUserName___main___boxed(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Hygiene_2__mkInaccessibleUserName___main___closed__1;
lean_object* l_ReaderT_read___at_Lean_Unhygienic_MonadQuotation___spec__1(lean_object*, lean_object*);
lean_object* lean_name_mk_string(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_sanitizeName___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Nat_toSuperscriptString(lean_object*);
lean_object* l_Lean_sanitizeNamesOption___closed__4;
lean_object* l___private_Lean_Hygiene_1__mkInaccessibleUserNameAux___closed__3;
lean_object* l_Lean_Unhygienic_MonadQuotation___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_firstFrontendMacroScope;
lean_object* l_Std_RBNode_find___main___at_Lean_sanitizeName___spec__1(lean_object*, lean_object*);
uint8_t lean_is_inaccessible_user_name(lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_sanitizeNamesOption___closed__6;
@ -72,8 +72,8 @@ lean_object* l_Lean_Name_appendAfter(lean_object*, lean_object*);
lean_object* l___private_Lean_Hygiene_2__mkInaccessibleUserName___main(uint8_t, lean_object*);
lean_object* l_Lean_getSanitizeNames___boxed(lean_object*);
lean_object* l_Lean_sanitizeNamesOption___closed__1;
lean_object* l_Std_RBNode_find___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(lean_object*, lean_object*);
lean_object* lean_register_option(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(lean_object*, lean_object*);
lean_object* l___private_Lean_Hygiene_3__mkFreshInaccessibleUserName___main(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Unhygienic_MonadQuotation___closed__2;
uint8_t l_Lean_sanitizeNamesDefault;
@ -658,7 +658,7 @@ x_4 = l___private_Lean_Hygiene_3__mkFreshInaccessibleUserName___main(x_1, x_2, x
return x_4;
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_sanitizeName___spec__1(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at_Lean_sanitizeName___spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -709,7 +709,7 @@ lean_inc(x_1);
x_3 = lean_erase_macro_scopes(x_1);
x_4 = lean_ctor_get(x_2, 1);
lean_inc(x_4);
x_5 = l_Std_RBNode_find___main___at_Lean_sanitizeName___spec__1(x_4, x_3);
x_5 = l_Std_RBNode_find___at_Lean_sanitizeName___spec__1(x_4, x_3);
lean_dec(x_4);
if (lean_obj_tag(x_5) == 0)
{
@ -877,11 +877,11 @@ return x_51;
}
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_sanitizeName___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at_Lean_sanitizeName___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_find___main___at_Lean_sanitizeName___spec__1(x_1, x_2);
x_3 = l_Std_RBNode_find___at_Lean_sanitizeName___spec__1(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;
@ -929,7 +929,7 @@ goto _start;
}
}
}
lean_object* l_Std_RBNode_find___main___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -1063,7 +1063,7 @@ lean_inc(x_27);
lean_dec(x_1);
x_28 = lean_ctor_get(x_2, 2);
lean_inc(x_28);
x_29 = l_Std_RBNode_find___main___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(x_28, x_27);
x_29 = l_Std_RBNode_find___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(x_28, x_27);
lean_dec(x_28);
if (lean_obj_tag(x_29) == 0)
{
@ -1132,11 +1132,11 @@ return x_44;
}
}
}
lean_object* l_Std_RBNode_find___main___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_find___main___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(x_1, x_2);
x_3 = l_Std_RBNode_find___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;

View file

@ -1597,54 +1597,60 @@ uint8_t x_5;
x_5 = !lean_is_exclusive(x_1);
if (x_5 == 0)
{
lean_object* x_6; lean_object* x_7;
lean_object* x_6; lean_object* x_7; uint8_t x_8;
x_6 = lean_ctor_get(x_1, 1);
x_7 = l_Std_PersistentHashMap_insert___at_Lean_KeyedDeclsAttribute_Table_insert___spec__10___rarg(x_6, x_2, x_3);
x_8 = 0;
lean_ctor_set(x_1, 1, x_7);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_8);
return x_1;
}
else
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_8 = lean_ctor_get(x_1, 0);
x_9 = lean_ctor_get(x_1, 1);
lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_1, 0);
x_10 = lean_ctor_get(x_1, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_dec(x_1);
x_10 = l_Std_PersistentHashMap_insert___at_Lean_KeyedDeclsAttribute_Table_insert___spec__10___rarg(x_9, x_2, x_3);
x_11 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_11, 0, x_8);
lean_ctor_set(x_11, 1, x_10);
lean_ctor_set_uint8(x_11, sizeof(void*)*2, x_4);
return x_11;
x_11 = l_Std_PersistentHashMap_insert___at_Lean_KeyedDeclsAttribute_Table_insert___spec__10___rarg(x_10, x_2, x_3);
x_12 = 0;
x_13 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_13, 0, x_9);
lean_ctor_set(x_13, 1, x_11);
lean_ctor_set_uint8(x_13, sizeof(void*)*2, x_12);
return x_13;
}
}
else
{
uint8_t x_12;
x_12 = !lean_is_exclusive(x_1);
if (x_12 == 0)
uint8_t x_14;
x_14 = !lean_is_exclusive(x_1);
if (x_14 == 0)
{
lean_object* x_13; lean_object* x_14;
x_13 = lean_ctor_get(x_1, 0);
x_14 = l_Std_HashMapImp_insert___at_Lean_KeyedDeclsAttribute_Table_insert___spec__14___rarg(x_13, x_2, x_3);
lean_ctor_set(x_1, 0, x_14);
lean_object* x_15; lean_object* x_16; uint8_t x_17;
x_15 = lean_ctor_get(x_1, 0);
x_16 = l_Std_HashMapImp_insert___at_Lean_KeyedDeclsAttribute_Table_insert___spec__14___rarg(x_15, x_2, x_3);
x_17 = 1;
lean_ctor_set(x_1, 0, x_16);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_17);
return x_1;
}
else
{
lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
x_15 = lean_ctor_get(x_1, 0);
x_16 = lean_ctor_get(x_1, 1);
lean_inc(x_16);
lean_inc(x_15);
lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22;
x_18 = lean_ctor_get(x_1, 0);
x_19 = lean_ctor_get(x_1, 1);
lean_inc(x_19);
lean_inc(x_18);
lean_dec(x_1);
x_17 = l_Std_HashMapImp_insert___at_Lean_KeyedDeclsAttribute_Table_insert___spec__14___rarg(x_15, x_2, x_3);
x_18 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_18, 0, x_17);
lean_ctor_set(x_18, 1, x_16);
lean_ctor_set_uint8(x_18, sizeof(void*)*2, x_4);
return x_18;
x_20 = l_Std_HashMapImp_insert___at_Lean_KeyedDeclsAttribute_Table_insert___spec__14___rarg(x_18, x_2, x_3);
x_21 = 1;
x_22 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_22, 0, x_20);
lean_ctor_set(x_22, 1, x_19);
lean_ctor_set_uint8(x_22, sizeof(void*)*2, x_21);
return x_22;
}
}
}
@ -2539,54 +2545,60 @@ uint8_t x_5;
x_5 = !lean_is_exclusive(x_1);
if (x_5 == 0)
{
lean_object* x_6; lean_object* x_7;
lean_object* x_6; lean_object* x_7; uint8_t x_8;
x_6 = lean_ctor_get(x_1, 1);
x_7 = l_Std_PersistentHashMap_insert___at_Lean_KeyedDeclsAttribute_Table_insert___spec__21___rarg(x_6, x_2, x_3);
x_8 = 0;
lean_ctor_set(x_1, 1, x_7);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_8);
return x_1;
}
else
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_8 = lean_ctor_get(x_1, 0);
x_9 = lean_ctor_get(x_1, 1);
lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_1, 0);
x_10 = lean_ctor_get(x_1, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_dec(x_1);
x_10 = l_Std_PersistentHashMap_insert___at_Lean_KeyedDeclsAttribute_Table_insert___spec__21___rarg(x_9, x_2, x_3);
x_11 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_11, 0, x_8);
lean_ctor_set(x_11, 1, x_10);
lean_ctor_set_uint8(x_11, sizeof(void*)*2, x_4);
return x_11;
x_11 = l_Std_PersistentHashMap_insert___at_Lean_KeyedDeclsAttribute_Table_insert___spec__21___rarg(x_10, x_2, x_3);
x_12 = 0;
x_13 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_13, 0, x_9);
lean_ctor_set(x_13, 1, x_11);
lean_ctor_set_uint8(x_13, sizeof(void*)*2, x_12);
return x_13;
}
}
else
{
uint8_t x_12;
x_12 = !lean_is_exclusive(x_1);
if (x_12 == 0)
uint8_t x_14;
x_14 = !lean_is_exclusive(x_1);
if (x_14 == 0)
{
lean_object* x_13; lean_object* x_14;
x_13 = lean_ctor_get(x_1, 0);
x_14 = l_Std_HashMapImp_insert___at_Lean_KeyedDeclsAttribute_Table_insert___spec__25___rarg(x_13, x_2, x_3);
lean_ctor_set(x_1, 0, x_14);
lean_object* x_15; lean_object* x_16; uint8_t x_17;
x_15 = lean_ctor_get(x_1, 0);
x_16 = l_Std_HashMapImp_insert___at_Lean_KeyedDeclsAttribute_Table_insert___spec__25___rarg(x_15, x_2, x_3);
x_17 = 1;
lean_ctor_set(x_1, 0, x_16);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_17);
return x_1;
}
else
{
lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
x_15 = lean_ctor_get(x_1, 0);
x_16 = lean_ctor_get(x_1, 1);
lean_inc(x_16);
lean_inc(x_15);
lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22;
x_18 = lean_ctor_get(x_1, 0);
x_19 = lean_ctor_get(x_1, 1);
lean_inc(x_19);
lean_inc(x_18);
lean_dec(x_1);
x_17 = l_Std_HashMapImp_insert___at_Lean_KeyedDeclsAttribute_Table_insert___spec__25___rarg(x_15, x_2, x_3);
x_18 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_18, 0, x_17);
lean_ctor_set(x_18, 1, x_16);
lean_ctor_set_uint8(x_18, sizeof(void*)*2, x_4);
return x_18;
x_20 = l_Std_HashMapImp_insert___at_Lean_KeyedDeclsAttribute_Table_insert___spec__25___rarg(x_18, x_2, x_3);
x_21 = 1;
x_22 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_22, 0, x_20);
lean_ctor_set(x_22, 1, x_19);
lean_ctor_set_uint8(x_22, sizeof(void*)*2, x_21);
return x_22;
}
}
}

View file

@ -28,7 +28,6 @@ lean_object* l___private_Lean_Level_5__mkMaxAux___main___boxed(lean_object*, lea
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_Level_normalize___main___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_unreachable_x21___rarg(lean_object*);
size_t l_UInt32_toUSize(uint32_t);
uint8_t l_Lean_Name_lt___main(lean_object*, lean_object*);
lean_object* l_Lean_Level_isMVar___boxed(lean_object*);
lean_object* l_Lean_Level_updateIMax___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Level_mkData___closed__3;
@ -167,7 +166,6 @@ lean_object* l_Lean_Level_LevelToFormat_Result_format___main___closed__6;
lean_object* l_Lean_Level_instantiateParams___main(lean_object*, lean_object*);
lean_object* l_Lean_Level_getOffset___boxed(lean_object*);
lean_object* l_Lean_mkLevelMVar(lean_object*);
lean_object* l_Lean_Name_replacePrefix___main(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Level_normalize___boxed(lean_object*);
lean_object* l_Nat_toLevel(lean_object*);
uint8_t l_Lean_Level_normLt(lean_object*, lean_object*);
@ -183,6 +181,7 @@ lean_object* l_Lean_levelOne___closed__1;
lean_object* l_Lean_levelZero___closed__2;
lean_object* l_Lean_Level_isMaxIMax___boxed(lean_object*);
lean_object* l_Lean_Level_Hashable___closed__1;
uint8_t l_Lean_Name_lt(lean_object*, lean_object*);
uint32_t l_Lean_Level_Data_depth(uint64_t);
lean_object* l_Lean_mkLevelSucc(lean_object*);
lean_object* l___private_Lean_Level_3__getMaxArgsAux___main___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
@ -259,6 +258,7 @@ uint8_t l_Lean_Level_isNeverZero___main(lean_object*);
lean_object* lean_uint32_to_nat(uint32_t);
lean_object* l_Lean_Level_HasBeq;
uint64_t l_Lean_Level_Data_inhabited;
lean_object* l_Lean_Name_replacePrefix(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Level_Data_hasParam___boxed(lean_object*);
lean_object* l___private_Lean_Level_7__isExplicitSubsumedAux___main___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Level_updateIMax_x21___closed__2;
@ -2188,7 +2188,7 @@ if (x_59 == 0)
uint8_t x_60;
lean_dec(x_4);
lean_dec(x_2);
x_60 = l_Lean_Name_lt___main(x_57, x_58);
x_60 = l_Lean_Name_lt(x_57, x_58);
return x_60;
}
else
@ -3976,7 +3976,7 @@ lean_inc(x_19);
lean_dec(x_1);
x_20 = l_Lean_NameGenerator_Inhabited___closed__2;
x_21 = l_Lean_Level_LevelToFormat_toResult___main___closed__3;
x_22 = l_Lean_Name_replacePrefix___main(x_19, x_20, x_21);
x_22 = l_Lean_Name_replacePrefix(x_19, x_20, x_21);
x_23 = l_Lean_fmt___at_Lean_Level_LevelToFormat_toResult___main___spec__1(x_22);
x_24 = l_Lean_Level_LevelToFormat_toResult___main___closed__5;
x_25 = lean_alloc_ctor(4, 2, 0);

View file

@ -16,6 +16,7 @@ extern "C" {
lean_object* l_Std_AssocList_contains___at___private_Lean_Meta_AbstractMVars_0__Lean_Meta_AbstractMVars_abstractLevelMVars___spec__4___boxed(lean_object*, lean_object*);
lean_object* l_Array_isEqvAux___main___at_Lean_Meta_AbstractMVarsResult_beq___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_expr_update_forall(lean_object*, uint8_t, lean_object*, lean_object*);
extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l_Array_umapMAux___main___at_Lean_Meta_openAbstractMVarsResult___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_insert___at_Lean_Meta_AbstractMVars_abstractExprMVars___spec__1(lean_object*, lean_object*, lean_object*);
uint8_t l_Std_AssocList_contains___at_Lean_Meta_AbstractMVars_abstractExprMVars___spec__2(lean_object*, lean_object*);
@ -119,7 +120,6 @@ lean_object* l_Lean_Meta_AbstractMVarsResult_beq___boxed(lean_object*, lean_obje
lean_object* l_Lean_Meta_AbstractMVarsResult_hasBeq___closed__1;
lean_object* l_Lean_Meta_abstractMVars_match__1(lean_object*);
lean_object* lean_nat_mul(lean_object*, lean_object*);
extern lean_object* l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_AbstractMVars_State_lmap___default;
extern lean_object* l_Lean_Expr_updateLet_x21___closed__1;
@ -2409,7 +2409,7 @@ x_1 = l_Lean_Meta_AbstractMVars_abstractExprMVars___closed__3;
x_2 = l_Lean_Meta_AbstractMVars_abstractExprMVars___closed__4;
x_3 = lean_unsigned_to_nat(104u);
x_4 = lean_unsigned_to_nat(20u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}

View file

@ -45,6 +45,7 @@ lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp__
lean_object* l_Lean_Meta_instantiateLambda___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_instantiateLocalDeclMVars___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_setMVarKind___rarg(lean_object*, lean_object*, uint8_t);
extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewMCtxDepthImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_withLocalDecl(lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingAuxAux___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -1328,7 +1329,6 @@ lean_object* l_Lean_Meta_assignExprMVar___rarg___lambda__1___boxed(lean_object*,
lean_object* l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1(lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp___at___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeImp___spec__42___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingAux_match__1___rarg(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
lean_object* l_Lean_Meta_mkFreshExprMVarWithId___rarg(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp___at___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingImp___spec__89(lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_lambdaMetaTelescopeImp_process_match__1(lean_object*);
@ -12839,7 +12839,7 @@ x_1 = l___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___closed__2;
x_2 = l___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___closed__3;
x_3 = lean_unsigned_to_nat(468u);
x_4 = lean_unsigned_to_nat(25u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}

View file

@ -13,6 +13,7 @@
#ifdef __cplusplus
extern "C" {
#endif
extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l_Lean_Meta_throwLetTypeMismatchMessage___rarg___closed__6;
lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*);
lean_object* l_Lean_Meta_check___closed__1;
@ -123,7 +124,6 @@ lean_object* l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode__
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_getFunctionDomain_match__1(lean_object*);
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkLambdaLet___at___private_Lean_Meta_Check_0__Lean_Meta_checkAux___spec__3___closed__1;
lean_object* l_Lean_throwError___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
lean_object* l_Lean_refTrans___rarg(lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_throwAppTypeMismatch___rarg___lambda__1___closed__3;
@ -303,7 +303,7 @@ x_1 = l_Lean_Meta_throwLetTypeMismatchMessage___rarg___closed__1;
x_2 = l_Lean_Meta_throwLetTypeMismatchMessage___rarg___closed__2;
x_3 = lean_unsigned_to_nat(27u);
x_4 = lean_unsigned_to_nat(7u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}

View file

@ -16,7 +16,6 @@ extern "C" {
lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_Meta_DiscrTree_getMatch___spec__10(lean_object*);
lean_object* l_Std_PersistentHashMap_findAux___main___at_Lean_Meta_DiscrTree_getMatch___spec__8___rarg___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_findAux___main___at_Lean_Meta_DiscrTree_getMatch___spec__2___rarg(lean_object*, size_t, lean_object*);
lean_object* l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(lean_object*);
lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_Meta_DiscrTree_format___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_binSearchAux___main___at___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_getMatchAux___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_map___main___at_Lean_Meta_DiscrTree_Trie_format___spec__2(lean_object*);
@ -85,6 +84,7 @@ lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
lean_object* l_Std_PersistentHashMap_findAux___main___at___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_getStarResult___spec__2___rarg(lean_object*, size_t, lean_object*);
lean_object* l_Std_PersistentHashMap_getCollisionNodeSize___rarg(lean_object*);
lean_object* l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(lean_object*);
lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_Meta_DiscrTree_getUnify___spec__10(lean_object*);
lean_object* l_Lean_Meta_DiscrTree_Key_ctorIdx___boxed(lean_object*);
lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_Meta_DiscrTree_getUnify___spec__4(lean_object*);
@ -1015,7 +1015,7 @@ lean_object* x_7; lean_object* x_8;
x_7 = lean_ctor_get(x_6, 0);
lean_inc(x_7);
lean_dec(x_6);
x_8 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_7);
x_8 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_7);
return x_8;
}
else

View file

@ -26,6 +26,7 @@ lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processConstApprox_mat
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_trySynthPending_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignmentFOApprox_loop___closed__2;
lean_object* l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_916____spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isListLevelDefEq___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_mvarId_x21(lean_object*);
lean_object* l_Std_PersistentArray_foldlM___at_Lean_withNestedTraces___spec__1(lean_object*, lean_object*);
@ -508,7 +509,6 @@ lean_object* l_Lean_Meta_commitWhen___at___private_Lean_Meta_ExprDefEq_0__Lean_M
lean_object* l_Lean_Meta_isEtaUnassignedMVar_match__1(lean_object*);
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_trySynthPending___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_isLevelDefEqAux___closed__3;
extern lean_object* l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
lean_object* l_Lean_refTrans___rarg(lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isSynthetic_match__1(lean_object*);
@ -27185,7 +27185,7 @@ x_1 = l_Lean_Meta_CheckAssignment_check___closed__3;
x_2 = l_Lean_Meta_CheckAssignment_check___closed__4;
x_3 = lean_unsigned_to_nat(519u);
x_4 = lean_unsigned_to_nat(30u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -29980,7 +29980,7 @@ x_1 = l_Lean_Meta_CheckAssignment_check___closed__3;
x_2 = l_Lean_Meta_CheckAssignmentQuick_check_visit___closed__1;
x_3 = lean_unsigned_to_nat(597u);
x_4 = lean_unsigned_to_nat(22u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}

View file

@ -21,6 +21,7 @@ lean_object* l___private_Lean_Meta_InferType_0__Lean_Meta_inferFVarType_match__1
lean_object* l_Lean_Meta_isPropQuick_match__1(lean_object*);
lean_object* l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_916____spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
size_t l_USize_add(size_t, size_t);
extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l_Lean_Level_normalize___main(lean_object*);
lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_InferType_0__Lean_Meta_inferProjType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_InferType_0__Lean_Meta_inferProjType___spec__1___closed__2;
@ -211,7 +212,6 @@ lean_object* l_Lean_Meta_getLevel(lean_object*);
lean_object* l_Lean_Meta_setMCtx___at___private_Lean_Meta_Basic_0__Lean_Meta_liftMkBindingM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isProofQuick_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_metavar_ctx_find_decl(lean_object*, lean_object*);
extern lean_object* l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_InferType_0__Lean_Meta_isTypeFormerTypeImp_match__2___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_isTypeFormerType___at_Lean_Meta_isTypeFormer___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -5710,7 +5710,7 @@ x_1 = l___private_Lean_Meta_InferType_0__Lean_Meta_inferTypeAux___closed__3;
x_2 = l___private_Lean_Meta_InferType_0__Lean_Meta_inferTypeAux___closed__4;
x_3 = lean_unsigned_to_nat(142u);
x_4 = lean_unsigned_to_nat(30u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -8889,7 +8889,7 @@ x_1 = l___private_Lean_Meta_InferType_0__Lean_Meta_inferTypeAux___closed__3;
x_2 = l_Lean_Meta_isPropQuick___closed__1;
x_3 = lean_unsigned_to_nat(203u);
x_4 = lean_unsigned_to_nat(27u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -10566,7 +10566,7 @@ x_1 = l___private_Lean_Meta_InferType_0__Lean_Meta_inferTypeAux___closed__3;
x_2 = l_Lean_Meta_isProofQuick___closed__1;
x_3 = lean_unsigned_to_nat(268u);
x_4 = lean_unsigned_to_nat(27u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -12074,7 +12074,7 @@ x_1 = l___private_Lean_Meta_InferType_0__Lean_Meta_inferTypeAux___closed__3;
x_2 = l_Lean_Meta_isTypeQuick___closed__1;
x_3 = lean_unsigned_to_nat(325u);
x_4 = lean_unsigned_to_nat(27u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}

View file

@ -13,7 +13,6 @@
#ifdef __cplusplus
extern "C" {
#endif
lean_object* l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(lean_object*);
lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decAux_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -68,6 +67,7 @@ lean_object* l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec_
lean_object* l_Lean_Meta_decLevel___rarg___lambda__1___closed__4;
lean_object* lean_array_get_size(lean_object*);
lean_object* l_Lean_Meta_isLevelDefEq___rarg___closed__3;
lean_object* l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(lean_object*);
lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decAux_x3f_match__3(lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -14814,7 +14814,7 @@ else
{
lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121;
lean_inc(x_9);
x_113 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_9);
x_113 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_9);
x_114 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_114, 0, x_113);
x_115 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg___closed__4;
@ -15177,7 +15177,7 @@ else
{
lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206;
lean_inc(x_137);
x_198 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_137);
x_198 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_137);
x_199 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_199, 0, x_198);
x_200 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg___closed__4;

View file

@ -35,15 +35,14 @@ lean_object* l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1___rarg(lean_
lean_object* l_Lean_Meta_MVarRenaming_find_x21___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_MVarRenaming_apply___spec__1(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Lean_Meta_MVarRenaming_apply_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at_Lean_Meta_MVarRenaming_find_x3f___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_MVarRenaming_find_x3f___boxed(lean_object*, lean_object*);
lean_object* lean_expr_update_let(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_Data_binderInfo(uint64_t);
lean_object* lean_expr_update_proj(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___main___at_Lean_Meta_MVarRenaming_find_x3f___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Meta_MVarRenaming_isEmpty___boxed(lean_object*);
lean_object* l_Lean_Meta_MVarRenaming_apply___boxed(lean_object*, lean_object*);
size_t l_USize_mod(size_t, size_t);
lean_object* l_Std_RBNode_find___at_Lean_Meta_MVarRenaming_find_x3f___spec__1(lean_object*, lean_object*);
size_t lean_ptr_addr(lean_object*);
lean_object* l_Lean_Meta_MVarRenaming_find_x21(lean_object*, lean_object*);
uint8_t l_Lean_Expr_hasMVar(lean_object*);
@ -52,6 +51,7 @@ lean_object* l_Lean_Meta_MVarRenaming_apply_match__2(lean_object*);
lean_object* lean_expr_update_lambda(lean_object*, uint8_t, lean_object*, lean_object*);
extern lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1;
lean_object* lean_expr_update_app(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_Meta_MVarRenaming_find_x3f___spec__1___boxed(lean_object*, lean_object*);
extern lean_object* l_Lean_Expr_ReplaceImpl_initCache;
static lean_object* _init_l_Lean_Meta_MVarRenaming_map___default() {
_start:
@ -88,7 +88,7 @@ x_3 = lean_box(x_2);
return x_3;
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_Meta_MVarRenaming_find_x3f___spec__1(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at_Lean_Meta_MVarRenaming_find_x3f___spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -135,15 +135,15 @@ lean_object* l_Lean_Meta_MVarRenaming_find_x3f(lean_object* x_1, lean_object* x_
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_find___main___at_Lean_Meta_MVarRenaming_find_x3f___spec__1(x_1, x_2);
x_3 = l_Std_RBNode_find___at_Lean_Meta_MVarRenaming_find_x3f___spec__1(x_1, x_2);
return x_3;
}
}
lean_object* l_Std_RBNode_find___main___at_Lean_Meta_MVarRenaming_find_x3f___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
lean_object* l_Std_RBNode_find___at_Lean_Meta_MVarRenaming_find_x3f___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_find___main___at_Lean_Meta_MVarRenaming_find_x3f___spec__1(x_1, x_2);
x_3 = l_Std_RBNode_find___at_Lean_Meta_MVarRenaming_find_x3f___spec__1(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;
@ -163,7 +163,7 @@ lean_object* l_Lean_Meta_MVarRenaming_find_x21(lean_object* x_1, lean_object* x_
_start:
{
lean_object* x_3;
x_3 = l_Std_RBNode_find___main___at_Lean_Meta_MVarRenaming_find_x3f___spec__1(x_1, x_2);
x_3 = l_Std_RBNode_find___at_Lean_Meta_MVarRenaming_find_x3f___spec__1(x_1, x_2);
if (lean_obj_tag(x_3) == 0)
{
lean_object* x_4; lean_object* x_5; lean_object* x_6;
@ -282,7 +282,7 @@ if (lean_obj_tag(x_3) == 2)
lean_object* x_170; lean_object* x_171;
x_170 = lean_ctor_get(x_3, 0);
lean_inc(x_170);
x_171 = l_Std_RBNode_find___main___at_Lean_Meta_MVarRenaming_find_x3f___spec__1(x_1, x_170);
x_171 = l_Std_RBNode_find___at_Lean_Meta_MVarRenaming_find_x3f___spec__1(x_1, x_170);
lean_dec(x_170);
if (lean_obj_tag(x_171) == 0)
{

View file

@ -22,7 +22,6 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPatte
lean_object* l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_mkHole___closed__3;
lean_object* l_Lean_Meta_Match_Example_applyFVarSubst_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(lean_object*);
lean_object* l_Lean_Meta_Match_mkMatcher___lambda__2___closed__1;
lean_object* l_Lean_Meta_Match_Example_applyFVarSubst(lean_object*, lean_object*);
lean_object* l_List_mapM___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -42,6 +41,7 @@ lean_object* l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hy
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor_match__4(lean_object*);
lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__3;
size_t l_USize_add(size_t, size_t);
extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__3;
lean_object* l_Lean_Expr_mvarId_x21(lean_object*);
lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor_match__2(lean_object*);
@ -81,7 +81,6 @@ lean_object* l_Lean_Meta_isExprDefEq___at_Lean_Meta_isExprDefEqGuarded___spec__1
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwInductiveTypeExpected(lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___lambda__3___closed__2;
extern lean_object* l_Lean_MessageData_ofList___closed__3;
uint8_t l_USize_decEq(size_t, size_t);
lean_object* lean_array_uget(lean_object*, size_t);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_collectArraySizes_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -196,6 +195,7 @@ lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__8;
lean_object* l_Lean_addTrace___at_Lean_Meta_Match_Unify_assign___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__3(lean_object*, lean_object*);
lean_object* lean_string_append(lean_object*, lean_object*);
lean_object* l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(lean_object*);
uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasNatValPattern(lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasCtorPattern_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MessageData_ofList(lean_object*);
@ -332,7 +332,6 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___
lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__5;
lean_object* l_List_filterMapMAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__8___closed__2;
lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9;
lean_object* l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Meta_Match_Unify_occurs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Pattern_toMessageData(lean_object*);
lean_object* l_Lean_Meta_Match_Example_varsToUnderscore(lean_object*);
lean_object* l_Lean_Meta_Match_Unify_unify_match__1(lean_object*);
@ -488,6 +487,7 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasCtorPattern
extern lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___closed__2;
uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isFirstPatternVar(lean_object*);
uint8_t l_Lean_Meta_Match_Unify_occurs___lambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Meta_matchMatcherApp_x3f_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_CoreM_1__mkFreshNameImp(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable_match__2___rarg(lean_object*, lean_object*, lean_object*);
@ -596,7 +596,6 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf_ma
lean_object* l_Lean_Meta_Match_isCurrVarInductive___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Alt_Lean_Meta_Match_Match___instance__2;
lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Meta_Match_Extension_getMatcherInfo_x3f___spec__5___boxed(lean_object*, lean_object*);
size_t l_USize_mod(size_t, size_t);
lean_object* l_Lean_Meta_Match_Extension_mkExtension___closed__2;
lean_object* l_Lean_Meta_Match_Unify_assign___closed__2;
lean_object* l_Lean_LocalDecl_type(lean_object*);
@ -617,7 +616,6 @@ lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__12;
lean_object* l_List_map___main___at_Lean_Meta_Match_examplesToMessageData___spec__1(lean_object*);
lean_object* l_Lean_Meta_getMatcherInfo_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
size_t lean_ptr_addr(lean_object*);
lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Std_HashSetImp_expand___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf___spec__2(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop_match__1(lean_object*);
@ -737,7 +735,6 @@ lean_object* lean_nat_mul(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceState(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Example_varsToUnderscore_match__1(lean_object*);
extern lean_object* l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwErrorAt___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__1(lean_object*);
uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNatValueTransition(lean_object*);
@ -837,8 +834,10 @@ lean_object* l_Lean_EnumAttributes_setValue___rarg(lean_object*, lean_object*, l
lean_object* l_Lean_Meta_Match_examplesToMessageData(lean_object*);
lean_object* l_Lean_Meta_instantiateMVars___at_Lean_Meta_instantiateLocalDeclMVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__9;
lean_object* l_Lean_Expr_FindImpl_findM_x3f_visit(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_State_used___default;
lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__8;
lean_object* l_Lean_Meta_Match_Unify_occurs___lambda__1___boxed(lean_object*, lean_object*);
lean_object* l_List_mapM___main___at_Lean_Meta_Match_Problem_toMessageData___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_instantiateLambdaAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_isLevelDefEqAux___closed__5;
@ -924,7 +923,6 @@ lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta
lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__2;
lean_object* l_Lean_Meta_forallBoundedTelescope___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_counterExamplesToMessageData(lean_object*);
lean_object* l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Meta_Match_Unify_occurs___spec__1(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Lean_Meta_caseArraySizes(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Example_toMessageData___closed__1;
lean_object* l_Lean_Meta_MatcherApp_addArg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -8661,7 +8659,7 @@ x_1 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_
x_2 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__2;
x_3 = lean_unsigned_to_nat(359u);
x_4 = lean_unsigned_to_nat(17u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -9005,7 +9003,7 @@ x_1 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_
x_2 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__2;
x_3 = lean_unsigned_to_nat(355u);
x_4 = lean_unsigned_to_nat(13u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -10095,7 +10093,7 @@ x_1 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_
x_2 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___closed__1;
x_3 = lean_unsigned_to_nat(374u);
x_4 = lean_unsigned_to_nat(13u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -10269,7 +10267,7 @@ x_1 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_
x_2 = l_List_mapM___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1___closed__1;
x_3 = lean_unsigned_to_nat(388u);
x_4 = lean_unsigned_to_nat(38u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -10688,7 +10686,7 @@ x_1 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_
x_2 = l_List_mapM___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1___closed__1;
x_3 = lean_unsigned_to_nat(383u);
x_4 = lean_unsigned_to_nat(13u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -11036,526 +11034,60 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Unify_occurs_match__1___rarg)
return x_2;
}
}
lean_object* l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Meta_Match_Unify_occurs___spec__1(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4) {
uint8_t l_Lean_Meta_Match_Unify_occurs___lambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_5; lean_object* x_6; size_t x_102; size_t x_103; lean_object* x_104; size_t x_105; uint8_t x_106;
x_102 = lean_ptr_addr(x_3);
x_103 = x_2 == 0 ? 0 : x_102 % x_2;
x_104 = lean_array_uget(x_4, x_103);
x_105 = lean_ptr_addr(x_104);
lean_dec(x_104);
x_106 = x_105 == x_102;
if (x_106 == 0)
if (lean_obj_tag(x_2) == 1)
{
lean_object* x_107; uint8_t x_108;
lean_inc(x_3);
x_107 = lean_array_uset(x_4, x_103, x_3);
x_108 = 0;
x_5 = x_108;
x_6 = x_107;
goto block_101;
lean_object* x_3; uint8_t x_4;
x_3 = lean_ctor_get(x_2, 0);
x_4 = lean_name_eq(x_1, x_3);
return x_4;
}
else
{
uint8_t x_109;
x_109 = 1;
x_5 = x_109;
x_6 = x_4;
goto block_101;
}
block_101:
{
lean_object* x_7;
if (x_5 == 0)
{
if (lean_obj_tag(x_3) == 1)
{
lean_object* x_93; uint8_t x_94;
x_93 = lean_ctor_get(x_3, 0);
lean_inc(x_93);
x_94 = lean_name_eq(x_1, x_93);
lean_dec(x_93);
if (x_94 == 0)
{
lean_object* x_95;
x_95 = lean_box(0);
x_7 = x_95;
goto block_92;
}
else
{
lean_object* x_96; lean_object* x_97;
x_96 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_96, 0, x_3);
x_97 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_97, 0, x_96);
lean_ctor_set(x_97, 1, x_6);
return x_97;
}
}
else
{
lean_object* x_98;
x_98 = lean_box(0);
x_7 = x_98;
goto block_92;
}
}
else
{
lean_object* x_99; lean_object* x_100;
lean_dec(x_3);
x_99 = lean_box(0);
x_100 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_100, 0, x_99);
lean_ctor_set(x_100, 1, x_6);
return x_100;
}
block_92:
{
lean_dec(x_7);
switch (lean_obj_tag(x_3)) {
case 5:
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_8 = lean_ctor_get(x_3, 0);
lean_inc(x_8);
x_9 = lean_ctor_get(x_3, 1);
lean_inc(x_9);
lean_dec(x_3);
x_10 = l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Meta_Match_Unify_occurs___spec__1(x_1, x_2, x_8, x_6);
x_11 = lean_ctor_get(x_10, 0);
lean_inc(x_11);
if (lean_obj_tag(x_11) == 0)
{
lean_object* x_12;
x_12 = lean_ctor_get(x_10, 1);
lean_inc(x_12);
lean_dec(x_10);
x_3 = x_9;
x_4 = x_12;
goto _start;
}
else
{
uint8_t x_14;
lean_dec(x_9);
x_14 = !lean_is_exclusive(x_10);
if (x_14 == 0)
{
lean_object* x_15; uint8_t x_16;
x_15 = lean_ctor_get(x_10, 0);
lean_dec(x_15);
x_16 = !lean_is_exclusive(x_11);
if (x_16 == 0)
{
return x_10;
}
else
{
lean_object* x_17; lean_object* x_18;
x_17 = lean_ctor_get(x_11, 0);
lean_inc(x_17);
lean_dec(x_11);
x_18 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_18, 0, x_17);
lean_ctor_set(x_10, 0, x_18);
return x_10;
}
}
else
{
lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
x_19 = lean_ctor_get(x_10, 1);
lean_inc(x_19);
lean_dec(x_10);
x_20 = lean_ctor_get(x_11, 0);
lean_inc(x_20);
if (lean_is_exclusive(x_11)) {
lean_ctor_release(x_11, 0);
x_21 = x_11;
} else {
lean_dec_ref(x_11);
x_21 = lean_box(0);
}
if (lean_is_scalar(x_21)) {
x_22 = lean_alloc_ctor(1, 1, 0);
} else {
x_22 = x_21;
}
lean_ctor_set(x_22, 0, x_20);
x_23 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_23, 0, x_22);
lean_ctor_set(x_23, 1, x_19);
return x_23;
}
}
}
case 6:
{
lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
x_24 = lean_ctor_get(x_3, 1);
lean_inc(x_24);
x_25 = lean_ctor_get(x_3, 2);
lean_inc(x_25);
lean_dec(x_3);
x_26 = l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Meta_Match_Unify_occurs___spec__1(x_1, x_2, x_24, x_6);
x_27 = lean_ctor_get(x_26, 0);
lean_inc(x_27);
if (lean_obj_tag(x_27) == 0)
{
lean_object* x_28;
x_28 = lean_ctor_get(x_26, 1);
lean_inc(x_28);
lean_dec(x_26);
x_3 = x_25;
x_4 = x_28;
goto _start;
}
else
{
uint8_t x_30;
lean_dec(x_25);
x_30 = !lean_is_exclusive(x_26);
if (x_30 == 0)
{
lean_object* x_31; uint8_t x_32;
x_31 = lean_ctor_get(x_26, 0);
lean_dec(x_31);
x_32 = !lean_is_exclusive(x_27);
if (x_32 == 0)
{
return x_26;
}
else
{
lean_object* x_33; lean_object* x_34;
x_33 = lean_ctor_get(x_27, 0);
lean_inc(x_33);
lean_dec(x_27);
x_34 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_34, 0, x_33);
lean_ctor_set(x_26, 0, x_34);
return x_26;
}
}
else
{
lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
x_35 = lean_ctor_get(x_26, 1);
lean_inc(x_35);
lean_dec(x_26);
x_36 = lean_ctor_get(x_27, 0);
lean_inc(x_36);
if (lean_is_exclusive(x_27)) {
lean_ctor_release(x_27, 0);
x_37 = x_27;
} else {
lean_dec_ref(x_27);
x_37 = lean_box(0);
}
if (lean_is_scalar(x_37)) {
x_38 = lean_alloc_ctor(1, 1, 0);
} else {
x_38 = x_37;
}
lean_ctor_set(x_38, 0, x_36);
x_39 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_39, 0, x_38);
lean_ctor_set(x_39, 1, x_35);
return x_39;
}
}
}
case 7:
{
lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
x_40 = lean_ctor_get(x_3, 1);
lean_inc(x_40);
x_41 = lean_ctor_get(x_3, 2);
lean_inc(x_41);
lean_dec(x_3);
x_42 = l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Meta_Match_Unify_occurs___spec__1(x_1, x_2, x_40, x_6);
x_43 = lean_ctor_get(x_42, 0);
lean_inc(x_43);
if (lean_obj_tag(x_43) == 0)
{
lean_object* x_44;
x_44 = lean_ctor_get(x_42, 1);
lean_inc(x_44);
lean_dec(x_42);
x_3 = x_41;
x_4 = x_44;
goto _start;
}
else
{
uint8_t x_46;
lean_dec(x_41);
x_46 = !lean_is_exclusive(x_42);
if (x_46 == 0)
{
lean_object* x_47; uint8_t x_48;
x_47 = lean_ctor_get(x_42, 0);
lean_dec(x_47);
x_48 = !lean_is_exclusive(x_43);
if (x_48 == 0)
{
return x_42;
}
else
{
lean_object* x_49; lean_object* x_50;
x_49 = lean_ctor_get(x_43, 0);
lean_inc(x_49);
lean_dec(x_43);
x_50 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_50, 0, x_49);
lean_ctor_set(x_42, 0, x_50);
return x_42;
}
}
else
{
lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55;
x_51 = lean_ctor_get(x_42, 1);
lean_inc(x_51);
lean_dec(x_42);
x_52 = lean_ctor_get(x_43, 0);
lean_inc(x_52);
if (lean_is_exclusive(x_43)) {
lean_ctor_release(x_43, 0);
x_53 = x_43;
} else {
lean_dec_ref(x_43);
x_53 = lean_box(0);
}
if (lean_is_scalar(x_53)) {
x_54 = lean_alloc_ctor(1, 1, 0);
} else {
x_54 = x_53;
}
lean_ctor_set(x_54, 0, x_52);
x_55 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_55, 0, x_54);
lean_ctor_set(x_55, 1, x_51);
return x_55;
}
}
}
case 8:
{
lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
x_56 = lean_ctor_get(x_3, 1);
lean_inc(x_56);
x_57 = lean_ctor_get(x_3, 2);
lean_inc(x_57);
x_58 = lean_ctor_get(x_3, 3);
lean_inc(x_58);
lean_dec(x_3);
x_59 = l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Meta_Match_Unify_occurs___spec__1(x_1, x_2, x_56, x_6);
x_60 = lean_ctor_get(x_59, 0);
lean_inc(x_60);
if (lean_obj_tag(x_60) == 0)
{
lean_object* x_61; lean_object* x_62; lean_object* x_63;
x_61 = lean_ctor_get(x_59, 1);
lean_inc(x_61);
lean_dec(x_59);
x_62 = l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Meta_Match_Unify_occurs___spec__1(x_1, x_2, x_57, x_61);
x_63 = lean_ctor_get(x_62, 0);
lean_inc(x_63);
if (lean_obj_tag(x_63) == 0)
{
lean_object* x_64;
x_64 = lean_ctor_get(x_62, 1);
lean_inc(x_64);
lean_dec(x_62);
x_3 = x_58;
x_4 = x_64;
goto _start;
}
else
{
uint8_t x_66;
lean_dec(x_58);
x_66 = !lean_is_exclusive(x_62);
if (x_66 == 0)
{
lean_object* x_67; uint8_t x_68;
x_67 = lean_ctor_get(x_62, 0);
lean_dec(x_67);
x_68 = !lean_is_exclusive(x_63);
if (x_68 == 0)
{
return x_62;
}
else
{
lean_object* x_69; lean_object* x_70;
x_69 = lean_ctor_get(x_63, 0);
lean_inc(x_69);
lean_dec(x_63);
x_70 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_70, 0, x_69);
lean_ctor_set(x_62, 0, x_70);
return x_62;
}
}
else
{
lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75;
x_71 = lean_ctor_get(x_62, 1);
lean_inc(x_71);
lean_dec(x_62);
x_72 = lean_ctor_get(x_63, 0);
lean_inc(x_72);
if (lean_is_exclusive(x_63)) {
lean_ctor_release(x_63, 0);
x_73 = x_63;
} else {
lean_dec_ref(x_63);
x_73 = lean_box(0);
}
if (lean_is_scalar(x_73)) {
x_74 = lean_alloc_ctor(1, 1, 0);
} else {
x_74 = x_73;
}
lean_ctor_set(x_74, 0, x_72);
x_75 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_75, 0, x_74);
lean_ctor_set(x_75, 1, x_71);
return x_75;
}
}
}
else
{
uint8_t x_76;
lean_dec(x_58);
lean_dec(x_57);
x_76 = !lean_is_exclusive(x_59);
if (x_76 == 0)
{
lean_object* x_77; uint8_t x_78;
x_77 = lean_ctor_get(x_59, 0);
lean_dec(x_77);
x_78 = !lean_is_exclusive(x_60);
if (x_78 == 0)
{
return x_59;
}
else
{
lean_object* x_79; lean_object* x_80;
x_79 = lean_ctor_get(x_60, 0);
lean_inc(x_79);
lean_dec(x_60);
x_80 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_80, 0, x_79);
lean_ctor_set(x_59, 0, x_80);
return x_59;
}
}
else
{
lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85;
x_81 = lean_ctor_get(x_59, 1);
lean_inc(x_81);
lean_dec(x_59);
x_82 = lean_ctor_get(x_60, 0);
lean_inc(x_82);
if (lean_is_exclusive(x_60)) {
lean_ctor_release(x_60, 0);
x_83 = x_60;
} else {
lean_dec_ref(x_60);
x_83 = lean_box(0);
}
if (lean_is_scalar(x_83)) {
x_84 = lean_alloc_ctor(1, 1, 0);
} else {
x_84 = x_83;
}
lean_ctor_set(x_84, 0, x_82);
x_85 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_85, 0, x_84);
lean_ctor_set(x_85, 1, x_81);
return x_85;
}
}
}
case 10:
{
lean_object* x_86;
x_86 = lean_ctor_get(x_3, 1);
lean_inc(x_86);
lean_dec(x_3);
x_3 = x_86;
x_4 = x_6;
goto _start;
}
case 11:
{
lean_object* x_88;
x_88 = lean_ctor_get(x_3, 2);
lean_inc(x_88);
lean_dec(x_3);
x_3 = x_88;
x_4 = x_6;
goto _start;
}
default:
{
lean_object* x_90; lean_object* x_91;
lean_dec(x_3);
x_90 = lean_box(0);
x_91 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_91, 0, x_90);
lean_ctor_set(x_91, 1, x_6);
return x_91;
}
}
}
uint8_t x_5;
x_5 = 0;
return x_5;
}
}
}
uint8_t l_Lean_Meta_Match_Unify_occurs(lean_object* x_1, lean_object* x_2) {
_start:
{
size_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_3 = 8192;
x_4 = l_Lean_Expr_FindImpl_initCache;
x_5 = l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Meta_Match_Unify_occurs___spec__1(x_1, x_3, x_2, x_4);
x_6 = lean_ctor_get(x_5, 0);
lean_inc(x_6);
lean_dec(x_5);
if (lean_obj_tag(x_6) == 0)
lean_object* x_3; size_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_3 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Unify_occurs___lambda__1___boxed), 2, 1);
lean_closure_set(x_3, 0, x_1);
x_4 = 8192;
x_5 = l_Lean_Expr_FindImpl_initCache;
x_6 = l_Lean_Expr_FindImpl_findM_x3f_visit(x_3, x_4, x_2, x_5);
x_7 = lean_ctor_get(x_6, 0);
lean_inc(x_7);
lean_dec(x_6);
if (lean_obj_tag(x_7) == 0)
{
uint8_t x_7;
x_7 = 0;
return x_7;
uint8_t x_8;
x_8 = 0;
return x_8;
}
else
{
uint8_t x_8;
lean_dec(x_6);
x_8 = 1;
return x_8;
uint8_t x_9;
lean_dec(x_7);
x_9 = 1;
return x_9;
}
}
}
lean_object* l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Meta_Match_Unify_occurs___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
lean_object* l_Lean_Meta_Match_Unify_occurs___lambda__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
size_t x_5; lean_object* x_6;
x_5 = lean_unbox_usize(x_2);
uint8_t x_3; lean_object* x_4;
x_3 = l_Lean_Meta_Match_Unify_occurs___lambda__1(x_1, x_2);
lean_dec(x_2);
x_6 = l_Lean_Expr_FindImpl_findM_x3f___main___at_Lean_Meta_Match_Unify_occurs___spec__1(x_1, x_5, x_3, x_4);
lean_dec(x_1);
return x_6;
x_4 = lean_box(x_3);
return x_4;
}
}
lean_object* l_Lean_Meta_Match_Unify_occurs___boxed(lean_object* x_1, lean_object* x_2) {
@ -11563,7 +11095,6 @@ _start:
{
uint8_t x_3; lean_object* x_4;
x_3 = l_Lean_Meta_Match_Unify_occurs(x_1, x_2);
lean_dec(x_1);
x_4 = lean_box(x_3);
return x_4;
}
@ -11816,6 +11347,7 @@ _start:
{
uint8_t x_10;
lean_inc(x_2);
lean_inc(x_1);
x_10 = l_Lean_Meta_Match_Unify_occurs(x_1, x_2);
if (x_10 == 0)
{
@ -16699,7 +16231,7 @@ x_1 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_
x_2 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__1;
x_3 = lean_unsigned_to_nat(529u);
x_4 = lean_unsigned_to_nat(7u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -17999,7 +17531,7 @@ x_1 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_
x_2 = l_List_filterMapMAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__8___closed__1;
x_3 = lean_unsigned_to_nat(574u);
x_4 = lean_unsigned_to_nat(46u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -18572,7 +18104,7 @@ x_1 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_
x_2 = l_List_filterMapMAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__8___closed__1;
x_3 = lean_unsigned_to_nat(535u);
x_4 = lean_unsigned_to_nat(13u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -19072,7 +18604,7 @@ x_1 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_
x_2 = l_List_filterMapMAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1;
x_3 = lean_unsigned_to_nat(593u);
x_4 = lean_unsigned_to_nat(19u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -19598,7 +19130,7 @@ x_1 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_
x_2 = l_List_filterMapMAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1;
x_3 = lean_unsigned_to_nat(579u);
x_4 = lean_unsigned_to_nat(13u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -20415,7 +19947,7 @@ x_1 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_
x_2 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__6___closed__1;
x_3 = lean_unsigned_to_nat(633u);
x_4 = lean_unsigned_to_nat(16u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -21025,7 +20557,7 @@ x_1 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_
x_2 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__6___closed__1;
x_3 = lean_unsigned_to_nat(612u);
x_4 = lean_unsigned_to_nat(13u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -22608,7 +22140,7 @@ x_1 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_
x_2 = l_List_mapM___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1;
x_3 = lean_unsigned_to_nat(688u);
x_4 = lean_unsigned_to_nat(16u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -23308,7 +22840,7 @@ x_1 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_
x_2 = l_List_mapM___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1;
x_3 = lean_unsigned_to_nat(666u);
x_4 = lean_unsigned_to_nat(13u);
x_5 = l_Lean_ResolveName_resolveNamespaceUsingScope___closed__3;
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
@ -27219,54 +26751,60 @@ uint8_t x_5;
x_5 = !lean_is_exclusive(x_1);
if (x_5 == 0)
{
lean_object* x_6; lean_object* x_7;
lean_object* x_6; lean_object* x_7; uint8_t x_8;
x_6 = lean_ctor_get(x_1, 1);
x_7 = l_Std_PersistentHashMap_insert___at_Lean_Meta_Match_Extension_State_addEntry___spec__2(x_6, x_2, x_3);
x_8 = 0;
lean_ctor_set(x_1, 1, x_7);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_8);
return x_1;
}
else
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_8 = lean_ctor_get(x_1, 0);
x_9 = lean_ctor_get(x_1, 1);
lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_1, 0);
x_10 = lean_ctor_get(x_1, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_dec(x_1);
x_10 = l_Std_PersistentHashMap_insert___at_Lean_Meta_Match_Extension_State_addEntry___spec__2(x_9, x_2, x_3);
x_11 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_11, 0, x_8);
lean_ctor_set(x_11, 1, x_10);
lean_ctor_set_uint8(x_11, sizeof(void*)*2, x_4);
return x_11;
x_11 = l_Std_PersistentHashMap_insert___at_Lean_Meta_Match_Extension_State_addEntry___spec__2(x_10, x_2, x_3);
x_12 = 0;
x_13 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_13, 0, x_9);
lean_ctor_set(x_13, 1, x_11);
lean_ctor_set_uint8(x_13, sizeof(void*)*2, x_12);
return x_13;
}
}
else
{
uint8_t x_12;
x_12 = !lean_is_exclusive(x_1);
if (x_12 == 0)
uint8_t x_14;
x_14 = !lean_is_exclusive(x_1);
if (x_14 == 0)
{
lean_object* x_13; lean_object* x_14;
x_13 = lean_ctor_get(x_1, 0);
x_14 = l_Std_HashMapImp_insert___at_Lean_Meta_Match_Extension_State_addEntry___spec__6(x_13, x_2, x_3);
lean_ctor_set(x_1, 0, x_14);
lean_object* x_15; lean_object* x_16; uint8_t x_17;
x_15 = lean_ctor_get(x_1, 0);
x_16 = l_Std_HashMapImp_insert___at_Lean_Meta_Match_Extension_State_addEntry___spec__6(x_15, x_2, x_3);
x_17 = 1;
lean_ctor_set(x_1, 0, x_16);
lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_17);
return x_1;
}
else
{
lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
x_15 = lean_ctor_get(x_1, 0);
x_16 = lean_ctor_get(x_1, 1);
lean_inc(x_16);
lean_inc(x_15);
lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22;
x_18 = lean_ctor_get(x_1, 0);
x_19 = lean_ctor_get(x_1, 1);
lean_inc(x_19);
lean_inc(x_18);
lean_dec(x_1);
x_17 = l_Std_HashMapImp_insert___at_Lean_Meta_Match_Extension_State_addEntry___spec__6(x_15, x_2, x_3);
x_18 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_18, 0, x_17);
lean_ctor_set(x_18, 1, x_16);
lean_ctor_set_uint8(x_18, sizeof(void*)*2, x_4);
return x_18;
x_20 = l_Std_HashMapImp_insert___at_Lean_Meta_Match_Extension_State_addEntry___spec__6(x_18, x_2, x_3);
x_21 = 1;
x_22 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_22, 0, x_20);
lean_ctor_set(x_22, 1, x_19);
lean_ctor_set_uint8(x_22, sizeof(void*)*2, x_21);
return x_22;
}
}
}
@ -33685,7 +33223,7 @@ lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
x_14 = l_Lean_fmt___at_Lean_Position_Lean_HasFormat___spec__1(x_12);
x_14 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_12);
x_15 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_15, 0, x_14);
x_16 = l_Lean_Meta_MatcherApp_addArg___lambda__4___closed__2;

Some files were not shown because too many files have changed in this diff Show more