chore: update stage0
This commit is contained in:
parent
91991649bc
commit
0fd47fd817
29 changed files with 8244 additions and 7320 deletions
2
stage0/src/Init/Data/Array/Subarray.lean
generated
2
stage0/src/Init/Data/Array/Subarray.lean
generated
|
|
@ -26,7 +26,7 @@ def get (s : Subarray α) (i : Fin s.size) : α :=
|
|||
have := i.isLt
|
||||
simp [size] at this
|
||||
rw [Nat.add_comm]
|
||||
exact Nat.add_lt_of_lt_sub s.h₁ this
|
||||
exact Nat.add_lt_of_lt_sub this
|
||||
s.as.get ⟨s.start + i.val, this⟩
|
||||
|
||||
@[inline] def getD (s : Subarray α) (i : Nat) (v₀ : α) : α :=
|
||||
|
|
|
|||
8
stage0/src/Init/Data/Nat/Basic.lean
generated
8
stage0/src/Init/Data/Nat/Basic.lean
generated
|
|
@ -610,7 +610,13 @@ theorem le_sub_of_add_le {a b c : Nat} (h : a + b ≤ c) : a ≤ c - b := by
|
|||
have hd := Nat.sub_eq_of_eq_add hd.symm
|
||||
exact hd.symm
|
||||
|
||||
theorem add_lt_of_lt_sub {a b c : Nat} (hle : b ≤ c) (h : a < c - b) : a + b < c := by
|
||||
theorem add_lt_of_lt_sub {a b c : Nat} (h : a < c - b) : a + b < c := by
|
||||
have hle : b ≤ c := by
|
||||
apply Nat.ge_of_not_lt
|
||||
intro hgt
|
||||
apply Nat.not_lt_zero a
|
||||
rw [Nat.sub_eq_zero_of_le (Nat.le_of_lt hgt)] at h
|
||||
exact h
|
||||
have : a.succ + b ≤ c := add_le_of_le_sub hle h
|
||||
simp [Nat.succ_add] at this
|
||||
exact this
|
||||
|
|
|
|||
4
stage0/src/Lean/Elab/App.lean
generated
4
stage0/src/Lean/Elab/App.lean
generated
|
|
@ -844,10 +844,10 @@ private partial def resolveDotName (id : Syntax) (expectedType? : Option Expr) :
|
|||
go resultType expectedType #[]
|
||||
where
|
||||
go (resultType : Expr) (expectedType : Expr) (previousExceptions : Array Exception) : TermElabM Name := do
|
||||
let resultTypeFn := (← instantiateMVars resultType).consumeMData.getAppFn
|
||||
let resultTypeFn := (← instantiateMVars resultType).consumeMDataAndTypeAnnotations.getAppFn
|
||||
try
|
||||
tryPostponeIfMVar resultTypeFn
|
||||
let .const declName .. := resultTypeFn.consumeMData
|
||||
let .const declName .. := resultTypeFn.consumeMDataAndTypeAnnotations
|
||||
| throwError "invalid dotted identifier notation, expected type is not of the form (... → C ...) where C is a constant{indentExpr expectedType}"
|
||||
let idNew := declName ++ id.getId.eraseMacroScopes
|
||||
unless (← getEnv).contains idNew do
|
||||
|
|
|
|||
18
stage0/src/Lean/Elab/Binders.lean
generated
18
stage0/src/Lean/Elab/Binders.lean
generated
|
|
@ -583,16 +583,17 @@ open Lean.Elab.Term.Quotation in
|
|||
If `elabBodyFirst == true`, then we use the order `binders`, `typeStx`, `body`, and `valStx`. -/
|
||||
def elabLetDeclAux (id : Syntax) (binders : Array Syntax) (typeStx : Syntax) (valStx : Syntax) (body : Syntax)
|
||||
(expectedType? : Option Expr) (useLetExpr : Bool) (elabBodyFirst : Bool) (usedLetOnly : Bool) : TermElabM Expr := do
|
||||
let (type, val, arity) ← elabBinders binders fun xs => do
|
||||
let (type, val, binders) ← elabBindersEx binders fun xs => do
|
||||
let (binders, fvars) := xs.unzip
|
||||
let type ← elabType typeStx
|
||||
registerCustomErrorIfMVar type typeStx "failed to infer 'let' declaration type"
|
||||
if elabBodyFirst then
|
||||
let type ← mkForallFVars xs type
|
||||
let type ← mkForallFVars fvars type
|
||||
let val ← mkFreshExprMVar type
|
||||
pure (type, val, xs.size)
|
||||
pure (type, val, binders)
|
||||
else
|
||||
let val ← elabTermEnsuringType valStx type
|
||||
let type ← mkForallFVars xs type
|
||||
let type ← mkForallFVars fvars type
|
||||
/- By default `mkLambdaFVars` and `mkLetFVars` create binders only for let-declarations that are actually used
|
||||
in the body. This generates counterintuitive behavior in the elaborator since users will not be notified
|
||||
about holes such as
|
||||
|
|
@ -602,8 +603,8 @@ def elabLetDeclAux (id : Syntax) (binders : Array Syntax) (typeStx : Syntax) (va
|
|||
42
|
||||
```
|
||||
-/
|
||||
let val ← mkLambdaFVars xs val (usedLetOnly := false)
|
||||
pure (type, val, xs.size)
|
||||
let val ← mkLambdaFVars fvars val (usedLetOnly := false)
|
||||
pure (type, val, binders)
|
||||
trace[Elab.let.decl] "{id.getId} : {type} := {val}"
|
||||
let result ←
|
||||
if useLetExpr then
|
||||
|
|
@ -620,7 +621,10 @@ def elabLetDeclAux (id : Syntax) (binders : Array Syntax) (typeStx : Syntax) (va
|
|||
mkLambdaFVars #[x] body (usedLetOnly := false)
|
||||
pure <| mkLetFunAnnotation (mkApp f val)
|
||||
if elabBodyFirst then
|
||||
forallBoundedTelescope type arity fun xs type => do
|
||||
forallBoundedTelescope type binders.size fun xs type => do
|
||||
-- the original `fvars` from above are gone, so add back info manually
|
||||
for b in binders, x in xs do
|
||||
addLocalVarInfo b x
|
||||
let valResult ← elabTermEnsuringType valStx type
|
||||
let valResult ← mkLambdaFVars xs valResult (usedLetOnly := false)
|
||||
unless (← isDefEq val valResult) do
|
||||
|
|
|
|||
218
stage0/src/Lean/Elab/Do.lean
generated
218
stage0/src/Lean/Elab/Do.lean
generated
|
|
@ -122,10 +122,12 @@ private partial def extractBind (expectedType? : Option Expr) : TermElabM Extrac
|
|||
|
||||
namespace Do
|
||||
|
||||
abbrev Var := Syntax -- TODO: should be `TSyntax identKind`
|
||||
|
||||
/- A `doMatch` alternative. `vars` is the array of variables declared by `patterns`. -/
|
||||
structure Alt (σ : Type) where
|
||||
ref : Syntax
|
||||
vars : Array Name
|
||||
vars : Array Var
|
||||
patterns : Syntax
|
||||
rhs : σ
|
||||
deriving Inhabited
|
||||
|
|
@ -179,34 +181,36 @@ structure Alt (σ : Type) where
|
|||
- For every `jmp ref j as` in `C`, there is a `joinpoint j ps b k` and `jmp ref j as` is in `k`, and
|
||||
`ps.size == as.size` -/
|
||||
inductive Code where
|
||||
| decl (xs : Array Name) (doElem : Syntax) (k : Code)
|
||||
| reassign (xs : Array Name) (doElem : Syntax) (k : Code)
|
||||
| decl (xs : Array Var) (doElem : Syntax) (k : Code)
|
||||
| reassign (xs : Array Var) (doElem : Syntax) (k : Code)
|
||||
/- The Boolean value in `params` indicates whether we should use `(x : typeof! x)` when generating term Syntax or not -/
|
||||
| joinpoint (name : Name) (params : Array (Name × Bool)) (body : Code) (k : Code)
|
||||
| joinpoint (name : Name) (params : Array (Var × Bool)) (body : Code) (k : Code)
|
||||
| seq (action : Syntax) (k : Code)
|
||||
| action (action : Syntax)
|
||||
| «break» (ref : Syntax)
|
||||
| «continue» (ref : Syntax)
|
||||
| «return» (ref : Syntax) (val : Syntax)
|
||||
/- Recall that an if-then-else may declare a variable using `optIdent` for the branches `thenBranch` and `elseBranch`. We store the variable name at `var?`. -/
|
||||
| ite (ref : Syntax) (h? : Option Name) (optIdent : Syntax) (cond : Syntax) (thenBranch : Code) (elseBranch : Code)
|
||||
| ite (ref : Syntax) (h? : Option Var) (optIdent : Syntax) (cond : Syntax) (thenBranch : Code) (elseBranch : Code)
|
||||
| «match» (ref : Syntax) (gen : Syntax) (discrs : Syntax) (optMotive : Syntax) (alts : Array (Alt Code))
|
||||
| jmp (ref : Syntax) (jpName : Name) (args : Array Syntax)
|
||||
deriving Inhabited
|
||||
|
||||
abbrev VarSet := Std.RBMap Name Syntax Name.cmp
|
||||
|
||||
/- A code block, and the collection of variables updated by it. -/
|
||||
structure CodeBlock where
|
||||
code : Code
|
||||
uvars : NameSet := {} -- set of variables updated by `code`
|
||||
uvars : VarSet := {} -- set of variables updated by `code`
|
||||
|
||||
private def nameSetToArray (s : NameSet) : Array Name :=
|
||||
s.fold (fun (xs : Array Name) x => xs.push x) #[]
|
||||
private def varSetToArray (s : VarSet) : Array Var :=
|
||||
s.fold (fun xs _ x => xs.push x) #[]
|
||||
|
||||
private def varsToMessageData (vars : Array Name) : MessageData :=
|
||||
MessageData.joinSep (vars.toList.map fun n => MessageData.ofName (n.simpMacroScopes)) " "
|
||||
private def varsToMessageData (vars : Array Var) : MessageData :=
|
||||
MessageData.joinSep (vars.toList.map fun n => MessageData.ofName (n.getId.simpMacroScopes)) " "
|
||||
|
||||
partial def CodeBlocl.toMessageData (codeBlock : CodeBlock) : MessageData :=
|
||||
let us := MessageData.ofList $ (nameSetToArray codeBlock.uvars).toList.map MessageData.ofName
|
||||
let us := MessageData.ofList $ (varSetToArray codeBlock.uvars).toList.map MessageData.ofSyntax
|
||||
let rec loop : Code → MessageData
|
||||
| Code.decl xs _ k => m!"let {varsToMessageData xs} := ...\n{loop k}"
|
||||
| Code.reassign xs _ k => m!"{varsToMessageData xs} := ...\n{loop k}"
|
||||
|
|
@ -264,15 +268,14 @@ def hasBreakContinueReturn (c : Code) : Bool :=
|
|||
|
||||
def mkAuxDeclFor {m} [Monad m] [MonadQuotation m] (e : Syntax) (mkCont : Syntax → m Code) : m Code := withRef e <| withFreshMacroScope do
|
||||
let y ← `(y)
|
||||
let yName := y.getId
|
||||
let doElem ← `(doElem| let y ← $e:term)
|
||||
-- Add elaboration hint for producing sane error message
|
||||
let y ← `(ensure_expected_type% "type mismatch, result value" $y)
|
||||
let k ← mkCont y
|
||||
pure $ Code.decl #[yName] doElem k
|
||||
pure $ Code.decl #[y] doElem k
|
||||
|
||||
/- Convert `action _ e` instructions in `c` into `let y ← e; jmp _ jp (xs y)`. -/
|
||||
partial def convertTerminalActionIntoJmp (code : Code) (jp : Name) (xs : Array Name) : MacroM Code :=
|
||||
partial def convertTerminalActionIntoJmp (code : Code) (jp : Name) (xs : Array Var) : MacroM Code :=
|
||||
let rec loop : Code → MacroM Code
|
||||
| Code.decl xs stx k => return Code.decl xs stx (← loop k)
|
||||
| Code.reassign xs stx k => return Code.reassign xs stx (← loop k)
|
||||
|
|
@ -283,15 +286,14 @@ partial def convertTerminalActionIntoJmp (code : Code) (jp : Name) (xs : Array N
|
|||
| Code.action e => mkAuxDeclFor e fun y =>
|
||||
let ref := e
|
||||
-- We jump to `jp` with xs **and** y
|
||||
let jmpArgs := xs.map $ mkIdentFrom ref
|
||||
let jmpArgs := jmpArgs.push y
|
||||
let jmpArgs := xs.push y
|
||||
return Code.jmp ref jp jmpArgs
|
||||
| c => return c
|
||||
loop code
|
||||
|
||||
structure JPDecl where
|
||||
name : Name
|
||||
params : Array (Name × Bool)
|
||||
params : Array (Var × Bool)
|
||||
body : Code
|
||||
|
||||
def attachJP (jpDecl : JPDecl) (k : Code) : Code :=
|
||||
|
|
@ -300,10 +302,10 @@ def attachJP (jpDecl : JPDecl) (k : Code) : Code :=
|
|||
def attachJPs (jpDecls : Array JPDecl) (k : Code) : Code :=
|
||||
jpDecls.foldr attachJP k
|
||||
|
||||
def mkFreshJP (ps : Array (Name × Bool)) (body : Code) : TermElabM JPDecl := do
|
||||
def mkFreshJP (ps : Array (Var × Bool)) (body : Code) : TermElabM JPDecl := do
|
||||
let ps ←
|
||||
if ps.isEmpty then
|
||||
let y ← mkFreshUserName `y
|
||||
let y ← `(y)
|
||||
pure #[(y, false)]
|
||||
else
|
||||
pure ps
|
||||
|
|
@ -313,51 +315,47 @@ def mkFreshJP (ps : Array (Name × Bool)) (body : Code) : TermElabM JPDecl := do
|
|||
let name ← mkFreshUserName `_do_jp
|
||||
pure { name := name, params := ps, body := body }
|
||||
|
||||
def mkFreshJP' (xs : Array Name) (body : Code) : TermElabM JPDecl :=
|
||||
mkFreshJP (xs.map fun x => (x, true)) body
|
||||
|
||||
def addFreshJP (ps : Array (Name × Bool)) (body : Code) : StateRefT (Array JPDecl) TermElabM Name := do
|
||||
def addFreshJP (ps : Array (Var × Bool)) (body : Code) : StateRefT (Array JPDecl) TermElabM Name := do
|
||||
let jp ← mkFreshJP ps body
|
||||
modify fun (jps : Array JPDecl) => jps.push jp
|
||||
pure jp.name
|
||||
|
||||
def insertVars (rs : NameSet) (xs : Array Name) : NameSet :=
|
||||
xs.foldl (·.insert ·) rs
|
||||
def insertVars (rs : VarSet) (xs : Array Var) : VarSet :=
|
||||
xs.foldl (fun rs x => rs.insert x.getId x) rs
|
||||
|
||||
def eraseVars (rs : NameSet) (xs : Array Name) : NameSet :=
|
||||
xs.foldl (·.erase ·) rs
|
||||
def eraseVars (rs : VarSet) (xs : Array Var) : VarSet :=
|
||||
xs.foldl (·.erase ·.getId) rs
|
||||
|
||||
def eraseOptVar (rs : NameSet) (x? : Option Name) : NameSet :=
|
||||
def eraseOptVar (rs : VarSet) (x? : Option Var) : VarSet :=
|
||||
match x? with
|
||||
| none => rs
|
||||
| some x => rs.insert x
|
||||
| some x => rs.insert x.getId x
|
||||
|
||||
/- Create a new jointpoint for `c`, and jump to it with the variables `rs` -/
|
||||
def mkSimpleJmp (ref : Syntax) (rs : NameSet) (c : Code) : StateRefT (Array JPDecl) TermElabM Code := do
|
||||
let xs := nameSetToArray rs
|
||||
def mkSimpleJmp (ref : Syntax) (rs : VarSet) (c : Code) : StateRefT (Array JPDecl) TermElabM Code := do
|
||||
let xs := varSetToArray rs
|
||||
let jp ← addFreshJP (xs.map fun x => (x, true)) c
|
||||
if xs.isEmpty then
|
||||
let unit ← ``(Unit.unit)
|
||||
return Code.jmp ref jp #[unit]
|
||||
else
|
||||
return Code.jmp ref jp (xs.map $ mkIdentFrom ref)
|
||||
return Code.jmp ref jp xs
|
||||
|
||||
/- Create a new joinpoint that takes `rs` and `val` as arguments. `val` must be syntax representing a pure value.
|
||||
The body of the joinpoint is created using `mkJPBody yFresh`, where `yFresh`
|
||||
is a fresh variable created by this method. -/
|
||||
def mkJmp (ref : Syntax) (rs : NameSet) (val : Syntax) (mkJPBody : Syntax → MacroM Code) : StateRefT (Array JPDecl) TermElabM Code := do
|
||||
let xs := nameSetToArray rs
|
||||
let args := xs.map $ mkIdentFrom ref
|
||||
let args := args.push val
|
||||
let yFresh ← mkFreshUserName `y
|
||||
def mkJmp (ref : Syntax) (rs : VarSet) (val : Syntax) (mkJPBody : Syntax → MacroM Code) : StateRefT (Array JPDecl) TermElabM Code := do
|
||||
let xs := varSetToArray rs
|
||||
let args := xs.push val
|
||||
let yFresh ← withRef ref `(y)
|
||||
let ps := xs.map fun x => (x, true)
|
||||
let ps := ps.push (yFresh, false)
|
||||
let jpBody ← liftMacroM $ mkJPBody (mkIdentFrom ref yFresh)
|
||||
let jpBody ← liftMacroM $ mkJPBody yFresh
|
||||
let jp ← addFreshJP ps jpBody
|
||||
pure $ Code.jmp ref jp args
|
||||
|
||||
/- `pullExitPointsAux rs c` auxiliary method for `pullExitPoints`, `rs` is the set of update variable in the current path. -/
|
||||
partial def pullExitPointsAux : NameSet → Code → StateRefT (Array JPDecl) TermElabM Code
|
||||
partial def pullExitPointsAux : VarSet → Code → StateRefT (Array JPDecl) TermElabM Code
|
||||
| rs, Code.decl xs stx k => return Code.decl xs stx (← pullExitPointsAux (eraseVars rs xs) k)
|
||||
| rs, Code.reassign xs stx k => return Code.reassign xs stx (← pullExitPointsAux (insertVars rs xs) k)
|
||||
| rs, Code.joinpoint j ps b k => return Code.joinpoint j ps (← pullExitPointsAux rs b) (← pullExitPointsAux rs k)
|
||||
|
|
@ -430,26 +428,26 @@ def pullExitPoints (c : Code) : TermElabM Code := do
|
|||
else
|
||||
pure c
|
||||
|
||||
partial def extendUpdatedVarsAux (c : Code) (ws : NameSet) : TermElabM Code :=
|
||||
partial def extendUpdatedVarsAux (c : Code) (ws : VarSet) : TermElabM Code :=
|
||||
let rec update : Code → TermElabM Code
|
||||
| Code.joinpoint j ps b k => return Code.joinpoint j ps (← update b) (← update k)
|
||||
| Code.seq e k => return Code.seq e (← update k)
|
||||
| c@(Code.«match» ref g ds t alts) => do
|
||||
if alts.any fun alt => alt.vars.any fun x => ws.contains x then
|
||||
if alts.any fun alt => alt.vars.any fun x => ws.contains x.getId then
|
||||
-- If a pattern variable is shadowing a variable in ws, we `pullExitPoints`
|
||||
pullExitPoints c
|
||||
else
|
||||
return Code.«match» ref g ds t (← alts.mapM fun alt => do pure { alt with rhs := (← update alt.rhs) })
|
||||
| Code.ite ref none o c t e => return Code.ite ref none o c (← update t) (← update e)
|
||||
| c@(Code.ite ref (some h) o cond t e) => do
|
||||
if ws.contains h then
|
||||
if ws.contains h.getId then
|
||||
-- if the `h` at `if h:c then t else e` shadows a variable in `ws`, we `pullExitPoints`
|
||||
pullExitPoints c
|
||||
else
|
||||
return Code.ite ref (some h) o cond (← update t) (← update e)
|
||||
| Code.reassign xs stx k => return Code.reassign xs stx (← update k)
|
||||
| c@(Code.decl xs stx k) => do
|
||||
if xs.any fun x => ws.contains x then
|
||||
if xs.any fun x => ws.contains x.getId then
|
||||
-- One the declared variables is shadowing a variable in `ws`
|
||||
pullExitPoints c
|
||||
else
|
||||
|
|
@ -462,14 +460,14 @@ Extend the set of updated variables. It assumes `ws` is a super set of `c.uvars`
|
|||
We **cannot** simply update the field `c.uvars`, because `c` may have shadowed some variable in `ws`.
|
||||
See discussion at `pullExitPoints`.
|
||||
-/
|
||||
partial def extendUpdatedVars (c : CodeBlock) (ws : NameSet) : TermElabM CodeBlock := do
|
||||
if ws.any fun x => !c.uvars.contains x then
|
||||
partial def extendUpdatedVars (c : CodeBlock) (ws : VarSet) : TermElabM CodeBlock := do
|
||||
if ws.any fun x _ => !c.uvars.contains x then
|
||||
-- `ws` contains a variable that is not in `c.uvars`, but in `c.dvars` (i.e., it has been shadowed)
|
||||
pure { code := (← extendUpdatedVarsAux c.code ws), uvars := ws }
|
||||
else
|
||||
pure { c with uvars := ws }
|
||||
|
||||
private def union (s₁ s₂ : NameSet) : NameSet :=
|
||||
private def union (s₁ s₂ : VarSet) : VarSet :=
|
||||
s₁.fold (·.insert ·) s₂
|
||||
|
||||
/-
|
||||
|
|
@ -490,7 +488,7 @@ Remark: `stx` is the syntax for the declaration (e.g., `letDecl`), and `xs` are
|
|||
declared by it. It is an array because we have let-declarations that declare multiple variables.
|
||||
Example: `let (x, y) := t`
|
||||
-/
|
||||
def mkVarDeclCore (xs : Array Name) (stx : Syntax) (c : CodeBlock) : CodeBlock := {
|
||||
def mkVarDeclCore (xs : Array Var) (stx : Syntax) (c : CodeBlock) : CodeBlock := {
|
||||
code := Code.decl xs stx c.code,
|
||||
uvars := eraseVars c.uvars xs
|
||||
}
|
||||
|
|
@ -501,12 +499,12 @@ Remark: `stx` is the syntax for the declaration (e.g., `letDecl`), and `xs` are
|
|||
declared by it. It is an array because we have let-declarations that declare multiple variables.
|
||||
Example: `(x, y) ← t`
|
||||
-/
|
||||
def mkReassignCore (xs : Array Name) (stx : Syntax) (c : CodeBlock) : TermElabM CodeBlock := do
|
||||
def mkReassignCore (xs : Array Var) (stx : Syntax) (c : CodeBlock) : TermElabM CodeBlock := do
|
||||
let us := c.uvars
|
||||
let ws := insertVars us xs
|
||||
-- If `xs` contains a new updated variable, then we must use `extendUpdatedVars`.
|
||||
-- See discussion at `pullExitPoints`
|
||||
let code ← if xs.any fun x => !us.contains x then extendUpdatedVarsAux c.code ws else pure c.code
|
||||
let code ← if xs.any fun x => !us.contains x.getId then extendUpdatedVarsAux c.code ws else pure c.code
|
||||
pure { code := Code.reassign xs stx code, uvars := ws }
|
||||
|
||||
def mkSeq (action : Syntax) (c : CodeBlock) : CodeBlock :=
|
||||
|
|
@ -525,7 +523,7 @@ def mkContinue (ref : Syntax) : CodeBlock :=
|
|||
{ code := Code.«continue» ref }
|
||||
|
||||
def mkIte (ref : Syntax) (optIdent : Syntax) (cond : Syntax) (thenBranch : CodeBlock) (elseBranch : CodeBlock) : TermElabM CodeBlock := do
|
||||
let x? := if optIdent.isNone then none else some optIdent[0].getId
|
||||
let x? := optIdent.getOptional?
|
||||
let (thenBranch, elseBranch) ← homogenize thenBranch elseBranch
|
||||
pure {
|
||||
code := Code.ite ref x? optIdent cond thenBranch.code elseBranch.code,
|
||||
|
|
@ -555,12 +553,12 @@ def mkMatch (ref : Syntax) (genParam : Syntax) (discrs : Syntax) (optMotive : Sy
|
|||
|
||||
/- Return a code block that executes `terminal` and then `k` with the value produced by `terminal`.
|
||||
This method assumes `terminal` is a terminal -/
|
||||
def concat (terminal : CodeBlock) (kRef : Syntax) (y? : Option Name) (k : CodeBlock) : TermElabM CodeBlock := do
|
||||
def concat (terminal : CodeBlock) (kRef : Syntax) (y? : Option Var) (k : CodeBlock) : TermElabM CodeBlock := do
|
||||
unless hasTerminalAction terminal.code do
|
||||
throwErrorAt kRef "'do' element is unreachable"
|
||||
let (terminal, k) ← homogenize terminal k
|
||||
let xs := nameSetToArray k.uvars
|
||||
let y ← match y? with | some y => pure y | none => mkFreshUserName `y
|
||||
let xs := varSetToArray k.uvars
|
||||
let y ← match y? with | some y => pure y | none => `(y)
|
||||
let ps := xs.map fun x => (x, true)
|
||||
let ps := ps.push (y, false)
|
||||
let jpDecl ← mkFreshJP ps k.code
|
||||
|
|
@ -568,26 +566,26 @@ def concat (terminal : CodeBlock) (kRef : Syntax) (y? : Option Name) (k : CodeBl
|
|||
let terminal ← liftMacroM $ convertTerminalActionIntoJmp terminal.code jp xs
|
||||
pure { code := attachJP jpDecl terminal, uvars := k.uvars }
|
||||
|
||||
def getLetIdDeclVar (letIdDecl : Syntax) : Name :=
|
||||
letIdDecl[0].getId
|
||||
def getLetIdDeclVar (letIdDecl : Syntax) : Var :=
|
||||
letIdDecl[0]
|
||||
|
||||
-- support both regular and syntax match
|
||||
def getPatternVarsEx (pattern : Syntax) : TermElabM (Array Name) :=
|
||||
getPatternVarNames <$> getPatternVars pattern <|>
|
||||
Array.map Syntax.getId <$> Quotation.getPatternVars pattern
|
||||
def getPatternVarsEx (pattern : Syntax) : TermElabM (Array Var) :=
|
||||
getPatternVars pattern <|>
|
||||
Quotation.getPatternVars pattern
|
||||
|
||||
def getPatternsVarsEx (patterns : Array Syntax) : TermElabM (Array Name) :=
|
||||
getPatternVarNames <$> getPatternsVars patterns <|>
|
||||
Array.map Syntax.getId <$> Quotation.getPatternsVars patterns
|
||||
def getPatternsVarsEx (patterns : Array Syntax) : TermElabM (Array Var) :=
|
||||
getPatternsVars patterns <|>
|
||||
Quotation.getPatternsVars patterns
|
||||
|
||||
def getLetPatDeclVars (letPatDecl : Syntax) : TermElabM (Array Name) := do
|
||||
def getLetPatDeclVars (letPatDecl : Syntax) : TermElabM (Array Var) := do
|
||||
let pattern := letPatDecl[0]
|
||||
getPatternVarsEx pattern
|
||||
|
||||
def getLetEqnsDeclVar (letEqnsDecl : Syntax) : Name :=
|
||||
letEqnsDecl[0].getId
|
||||
def getLetEqnsDeclVar (letEqnsDecl : Syntax) : Var :=
|
||||
letEqnsDecl[0]
|
||||
|
||||
def getLetDeclVars (letDecl : Syntax) : TermElabM (Array Name) := do
|
||||
def getLetDeclVars (letDecl : Syntax) : TermElabM (Array Var) := do
|
||||
let arg := letDecl[0]
|
||||
if arg.getKind == ``Lean.Parser.Term.letIdDecl then
|
||||
pure #[getLetIdDeclVar arg]
|
||||
|
|
@ -598,33 +596,33 @@ def getLetDeclVars (letDecl : Syntax) : TermElabM (Array Name) := do
|
|||
else
|
||||
throwError "unexpected kind of let declaration"
|
||||
|
||||
def getDoLetVars (doLet : Syntax) : TermElabM (Array Name) :=
|
||||
def getDoLetVars (doLet : Syntax) : TermElabM (Array Var) :=
|
||||
-- leading_parser "let " >> optional "mut " >> letDecl
|
||||
getLetDeclVars doLet[2]
|
||||
|
||||
def getHaveIdLhsVar (optIdent : Syntax) : Name :=
|
||||
def getHaveIdLhsVar (optIdent : Syntax) : TermElabM Var :=
|
||||
if optIdent.isNone then
|
||||
`this
|
||||
`(this)
|
||||
else
|
||||
optIdent[0].getId
|
||||
pure optIdent[0]
|
||||
|
||||
def getDoHaveVars (doHave : Syntax) : TermElabM (Array Name) :=
|
||||
def getDoHaveVars (doHave : Syntax) : TermElabM (Array Var) := do
|
||||
-- doHave := leading_parser "have " >> Term.haveDecl
|
||||
-- haveDecl := leading_parser haveIdDecl <|> letPatDecl <|> haveEqnsDecl
|
||||
let arg := doHave[1][0]
|
||||
if arg.getKind == ``Lean.Parser.Term.haveIdDecl then
|
||||
-- haveIdDecl := leading_parser atomic (haveIdLhs >> " := ") >> termParser
|
||||
-- haveIdLhs := optional (ident >> many (ppSpace >> (simpleBinderWithoutType <|> bracketedBinder))) >> optType
|
||||
pure #[getHaveIdLhsVar arg[0]]
|
||||
pure #[← getHaveIdLhsVar arg[0]]
|
||||
else if arg.getKind == ``Lean.Parser.Term.letPatDecl then
|
||||
getLetPatDeclVars arg
|
||||
else if arg.getKind == ``Lean.Parser.Term.haveEqnsDecl then
|
||||
-- haveEqnsDecl := leading_parser haveIdLhs >> matchAlts
|
||||
pure #[getHaveIdLhsVar arg[0]]
|
||||
pure #[← getHaveIdLhsVar arg[0]]
|
||||
else
|
||||
throwError "unexpected kind of have declaration"
|
||||
|
||||
def getDoLetRecVars (doLetRec : Syntax) : TermElabM (Array Name) := do
|
||||
def getDoLetRecVars (doLetRec : Syntax) : TermElabM (Array Var) := do
|
||||
-- letRecDecls is an array of `(group (optional attributes >> letDecl))`
|
||||
let letRecDecls := doLetRec[1][0].getSepArgs
|
||||
let letDecls := letRecDecls.map fun p => p[2]
|
||||
|
|
@ -635,16 +633,16 @@ def getDoLetRecVars (doLetRec : Syntax) : TermElabM (Array Name) := do
|
|||
pure allVars
|
||||
|
||||
-- ident >> optType >> leftArrow >> termParser
|
||||
def getDoIdDeclVar (doIdDecl : Syntax) : Name :=
|
||||
doIdDecl[0].getId
|
||||
def getDoIdDeclVar (doIdDecl : Syntax) : Var :=
|
||||
doIdDecl[0]
|
||||
|
||||
-- termParser >> leftArrow >> termParser >> optional (" | " >> termParser)
|
||||
def getDoPatDeclVars (doPatDecl : Syntax) : TermElabM (Array Name) := do
|
||||
def getDoPatDeclVars (doPatDecl : Syntax) : TermElabM (Array Var) := do
|
||||
let pattern := doPatDecl[0]
|
||||
getPatternVarsEx pattern
|
||||
|
||||
-- leading_parser "let " >> optional "mut " >> (doIdDecl <|> doPatDecl)
|
||||
def getDoLetArrowVars (doLetArrow : Syntax) : TermElabM (Array Name) := do
|
||||
def getDoLetArrowVars (doLetArrow : Syntax) : TermElabM (Array Var) := do
|
||||
let decl := doLetArrow[2]
|
||||
if decl.getKind == ``Lean.Parser.Term.doIdDecl then
|
||||
pure #[getDoIdDeclVar decl]
|
||||
|
|
@ -653,7 +651,7 @@ def getDoLetArrowVars (doLetArrow : Syntax) : TermElabM (Array Name) := do
|
|||
else
|
||||
throwError "unexpected kind of 'do' declaration"
|
||||
|
||||
def getDoReassignVars (doReassign : Syntax) : TermElabM (Array Name) := do
|
||||
def getDoReassignVars (doReassign : Syntax) : TermElabM (Array Var) := do
|
||||
let arg := doReassign[0]
|
||||
if arg.getKind == ``Lean.Parser.Term.letIdDecl then
|
||||
pure #[getLetIdDeclVar arg]
|
||||
|
|
@ -748,20 +746,20 @@ def isDoExpr? (doElem : Syntax) : Option Syntax :=
|
|||
|
||||
We use this method when expanding the `for-in` notation.
|
||||
-/
|
||||
private def destructTuple (uvars : Array Name) (x : Syntax) (body : Syntax) : MacroM Syntax := do
|
||||
private def destructTuple (uvars : Array Var) (x : Syntax) (body : Syntax) : MacroM Syntax := do
|
||||
if uvars.size == 0 then
|
||||
return body
|
||||
else if uvars.size == 1 then
|
||||
`(let $(← mkIdentFromRef uvars[0]):ident := $x; $body)
|
||||
`(let $(uvars[0]):ident := $x; $body)
|
||||
else
|
||||
destruct uvars.toList x body
|
||||
where
|
||||
destruct (as : List Name) (x : Syntax) (body : Syntax) : MacroM Syntax := do
|
||||
destruct (as : List Var) (x : Syntax) (body : Syntax) : MacroM Syntax := do
|
||||
match as with
|
||||
| [a, b] => `(let $(← mkIdentFromRef a):ident := $x.1; let $(← mkIdentFromRef b):ident := $x.2; $body)
|
||||
| [a, b] => `(let $a:ident := $x.1; let $b:ident := $x.2; $body)
|
||||
| a :: as => withFreshMacroScope do
|
||||
let rest ← destruct as (← `(x)) body
|
||||
`(let $(← mkIdentFromRef a):ident := $x.1; let x := $x.2; $rest)
|
||||
`(let $a:ident := $x.1; let x := $x.2; $rest)
|
||||
| _ => unreachable!
|
||||
|
||||
/-
|
||||
|
|
@ -864,15 +862,14 @@ def Kind.isRegular : Kind → Bool
|
|||
|
||||
structure Context where
|
||||
m : Syntax -- Syntax to reference the monad associated with the do notation.
|
||||
uvars : Array Name
|
||||
uvars : Array Var
|
||||
kind : Kind
|
||||
|
||||
abbrev M := ReaderT Context MacroM
|
||||
|
||||
def mkUVarTuple : M Syntax := do
|
||||
let ctx ← read
|
||||
let uvarIdents ← ctx.uvars.mapM mkIdentFromRef
|
||||
mkTuple uvarIdents
|
||||
mkTuple ctx.uvars
|
||||
|
||||
def returnToTerm (val : Syntax) : M Syntax := do
|
||||
let ctx ← read
|
||||
|
|
@ -993,9 +990,9 @@ def mkIte (optIdent : Syntax) (cond : Syntax) (thenBranch : Syntax) (elseBranch
|
|||
let h := optIdent[0]
|
||||
``(if $h:ident : $cond then $thenBranch else $elseBranch)
|
||||
|
||||
def mkJoinPoint (j : Name) (ps : Array (Name × Bool)) (body : Syntax) (k : Syntax) : M Syntax := withRef body <| withFreshMacroScope do
|
||||
let pTypes ← ps.mapM fun ⟨id, useTypeOf⟩ => do if useTypeOf then `(type_of% $(← mkIdentFromRef id)) else `(_)
|
||||
let ps ← ps.mapM fun ⟨id, useTypeOf⟩ => mkIdentFromRef id
|
||||
def mkJoinPoint (j : Name) (ps : Array (Syntax × Bool)) (body : Syntax) (k : Syntax) : M Syntax := withRef body <| withFreshMacroScope do
|
||||
let pTypes ← ps.mapM fun ⟨id, useTypeOf⟩ => do if useTypeOf then `(type_of% $id) else `(_)
|
||||
let ps := ps.map (·.1)
|
||||
/-
|
||||
We use `let_delayed` instead of `let` for joinpoints to make sure `$k` is elaborated before `$body`.
|
||||
By elaborating `$k` first, we "learn" more about `$body`'s type.
|
||||
|
|
@ -1045,7 +1042,7 @@ partial def toTerm : Code → M Syntax
|
|||
let termMatchAlts := mkNode `Lean.Parser.Term.matchAlts #[mkNullNode termAlts]
|
||||
return mkNode `Lean.Parser.Term.«match» #[mkAtomFrom ref "match", genParam, optMotive, discrs, mkAtomFrom ref "with", termMatchAlts]
|
||||
|
||||
def run (code : Code) (m : Syntax) (uvars : Array Name := #[]) (kind := Kind.regular) : MacroM Syntax := do
|
||||
def run (code : Code) (m : Syntax) (uvars : Array Var := #[]) (kind := Kind.regular) : MacroM Syntax := do
|
||||
let term ← toTerm code { m := m, kind := kind, uvars := uvars }
|
||||
pure term
|
||||
|
||||
|
|
@ -1066,7 +1063,7 @@ def mkNestedKind (a r bc : Bool) : Kind :=
|
|||
| true, true, true => Kind.nestedPRBC
|
||||
| false, false, false => unreachable!
|
||||
|
||||
def mkNestedTerm (code : Code) (m : Syntax) (uvars : Array Name) (a r bc : Bool) : MacroM Syntax := do
|
||||
def mkNestedTerm (code : Code) (m : Syntax) (uvars : Array Var) (a r bc : Bool) : MacroM Syntax := do
|
||||
ToTerm.run code m uvars (mkNestedKind a r bc)
|
||||
|
||||
/- Given a term `term` produced by `ToTerm.run`, pattern match on its result.
|
||||
|
|
@ -1077,9 +1074,9 @@ def mkNestedTerm (code : Code) (m : Syntax) (uvars : Array Name) (a r bc : Bool)
|
|||
- `bc` is true if the code block has a `Code.break _` or `Code.continue _` exit point
|
||||
|
||||
The result is a sequence of `doElem` -/
|
||||
def matchNestedTermResult (term : Syntax) (uvars : Array Name) (a r bc : Bool) : MacroM (List Syntax) := do
|
||||
def matchNestedTermResult (term : Syntax) (uvars : Array Var) (a r bc : Bool) : MacroM (List Syntax) := do
|
||||
let toDoElems (auxDo : Syntax) : List Syntax := getDoSeqElems (getDoSeq auxDo)
|
||||
let u ← mkTuple (← uvars.mapM mkIdentFromRef)
|
||||
let u ← mkTuple uvars
|
||||
match a, r, bc with
|
||||
| true, false, false =>
|
||||
if uvars.isEmpty then
|
||||
|
|
@ -1135,41 +1132,41 @@ namespace ToCodeBlock
|
|||
structure Context where
|
||||
ref : Syntax
|
||||
m : Syntax -- Syntax representing the monad associated with the do notation.
|
||||
mutableVars : NameSet := {}
|
||||
mutableVars : VarSet := {}
|
||||
insideFor : Bool := false
|
||||
|
||||
abbrev M := ReaderT Context TermElabM
|
||||
|
||||
def withNewMutableVars {α} (newVars : Array Name) (mutable : Bool) (x : M α) : M α :=
|
||||
def withNewMutableVars {α} (newVars : Array Var) (mutable : Bool) (x : M α) : M α :=
|
||||
withReader (fun ctx => if mutable then { ctx with mutableVars := insertVars ctx.mutableVars newVars } else ctx) x
|
||||
|
||||
def checkReassignable (xs : Array Name) : M Unit := do
|
||||
def checkReassignable (xs : Array Var) : M Unit := do
|
||||
let throwInvalidReassignment (x : Name) : M Unit :=
|
||||
throwError "'{x.simpMacroScopes}' cannot be reassigned"
|
||||
let ctx ← read
|
||||
for x in xs do
|
||||
unless ctx.mutableVars.contains x do
|
||||
throwInvalidReassignment x
|
||||
unless ctx.mutableVars.contains x.getId do
|
||||
throwInvalidReassignment x.getId
|
||||
|
||||
def checkNotShadowingMutable (xs : Array Name) : M Unit := do
|
||||
def checkNotShadowingMutable (xs : Array Var) : M Unit := do
|
||||
let throwInvalidShadowing (x : Name) : M Unit :=
|
||||
throwError "mutable variable '{x.simpMacroScopes}' cannot be shadowed"
|
||||
let ctx ← read
|
||||
for x in xs do
|
||||
if ctx.mutableVars.contains x then
|
||||
throwInvalidShadowing x
|
||||
if ctx.mutableVars.contains x.getId then
|
||||
throwInvalidShadowing x.getId
|
||||
|
||||
def withFor {α} (x : M α) : M α :=
|
||||
withReader (fun ctx => { ctx with insideFor := true }) x
|
||||
|
||||
structure ToForInTermResult where
|
||||
uvars : Array Name
|
||||
uvars : Array Var
|
||||
term : Syntax
|
||||
|
||||
def mkForInBody (x : Syntax) (forInBody : CodeBlock) : M ToForInTermResult := do
|
||||
let ctx ← read
|
||||
let uvars := forInBody.uvars
|
||||
let uvars := nameSetToArray uvars
|
||||
let uvars := varSetToArray uvars
|
||||
let term ← liftMacroM $ ToTerm.run forInBody.code ctx.m uvars (if hasReturn forInBody.code then ToTerm.Kind.forInWithReturn else ToTerm.Kind.forIn)
|
||||
pure ⟨uvars, term⟩
|
||||
|
||||
|
|
@ -1233,7 +1230,7 @@ structure Catch where
|
|||
optType : Syntax
|
||||
codeBlock : CodeBlock
|
||||
|
||||
def getTryCatchUpdatedVars (tryCode : CodeBlock) (catches : Array Catch) (finallyCode? : Option CodeBlock) : NameSet :=
|
||||
def getTryCatchUpdatedVars (tryCode : CodeBlock) (catches : Array Catch) (finallyCode? : Option CodeBlock) : VarSet :=
|
||||
let ws := tryCode.uvars
|
||||
let ws := catches.foldl (fun ws alt => union alt.codeBlock.uvars ws) ws
|
||||
let ws := match finallyCode? with
|
||||
|
|
@ -1273,7 +1270,7 @@ mutual
|
|||
let ref := doLetArrow
|
||||
let decl := doLetArrow[2]
|
||||
if decl.getKind == ``Lean.Parser.Term.doIdDecl then
|
||||
let y := decl[0].getId
|
||||
let y := decl[0]
|
||||
checkNotShadowingMutable #[y]
|
||||
let doElem := decl[3]
|
||||
let k ← withNewMutableVars #[y] (isMutableLet doLetArrow) (doSeqToCode doElems)
|
||||
|
|
@ -1422,7 +1419,12 @@ mutual
|
|||
let forElems := getDoSeqElems doFor[3]
|
||||
let forInBodyCodeBlock ← withFor (doSeqToCode forElems)
|
||||
let ⟨uvars, forInBody⟩ ← mkForInBody x forInBodyCodeBlock
|
||||
let uvarsTuple ← liftMacroM do mkTuple (← uvars.mapM mkIdentFromRef)
|
||||
let ctx ← read
|
||||
-- semantic no-op that replaces the `uvars`' position information (which all point inside the loop)
|
||||
-- with that of the respective mutable declarations outside the loop, which allows the language
|
||||
-- server to identify them as conceptually identical variables
|
||||
let uvars := uvars.map fun v => ctx.mutableVars.findD v.getId v
|
||||
let uvarsTuple ← liftMacroM do mkTuple uvars
|
||||
if hasReturn forInBodyCodeBlock.code then
|
||||
let forInBody ← liftMacroM <| destructTuple uvars (← `(r)) forInBody
|
||||
let forInTerm ←
|
||||
|
|
@ -1487,7 +1489,7 @@ mutual
|
|||
if catchStx.getKind == ``Lean.Parser.Term.doCatch then
|
||||
let x := catchStx[1]
|
||||
if x.isIdent then
|
||||
withRef x <| checkNotShadowingMutable #[x.getId]
|
||||
withRef x <| checkNotShadowingMutable #[x]
|
||||
let optType := catchStx[2]
|
||||
let c ← doSeqToCode (getDoSeqElems catchStx[4])
|
||||
pure { x := x, optType := optType, codeBlock := c : Catch }
|
||||
|
|
@ -1504,7 +1506,7 @@ mutual
|
|||
throwError "invalid 'try', it must have a 'catch' or 'finally'"
|
||||
let ctx ← read
|
||||
let ws := getTryCatchUpdatedVars tryCode catches finallyCode?
|
||||
let uvars := nameSetToArray ws
|
||||
let uvars := varSetToArray ws
|
||||
let a := tryCatchPred tryCode catches finallyCode? hasTerminalAction
|
||||
let r := tryCatchPred tryCode catches finallyCode? hasReturn
|
||||
let bc := tryCatchPred tryCode catches finallyCode? hasBreakContinue
|
||||
|
|
|
|||
11
stage0/src/Lean/Elab/Match.lean
generated
11
stage0/src/Lean/Elab/Match.lean
generated
|
|
@ -182,11 +182,10 @@ structure PatternVarDecl where
|
|||
private partial def withPatternVars {α} (pVars : Array PatternVar) (k : Array PatternVarDecl → TermElabM α) : TermElabM α :=
|
||||
let rec loop (i : Nat) (decls : Array PatternVarDecl) (userNames : Array Name) := do
|
||||
if h : i < pVars.size then
|
||||
match pVars.get ⟨i, h⟩ with
|
||||
| { userName } =>
|
||||
let type ← mkFreshTypeMVar
|
||||
withLocalDecl userName BinderInfo.default type fun x =>
|
||||
loop (i+1) (decls.push { fvarId := x.fvarId! }) (userNames.push Name.anonymous)
|
||||
let var := pVars.get ⟨i, h⟩
|
||||
let type ← mkFreshTypeMVar
|
||||
withLocalDecl var.getId BinderInfo.default type fun x =>
|
||||
loop (i+1) (decls.push { fvarId := x.fvarId! }) (userNames.push Name.anonymous)
|
||||
else
|
||||
k decls
|
||||
loop 0 #[] #[]
|
||||
|
|
@ -882,7 +881,7 @@ private def generalize (discrs : Array Discr) (matchType : Expr) (altViews : Arr
|
|||
if ysUserNames.contains yUserName then
|
||||
yUserName ← mkFreshUserName yUserName
|
||||
-- Explicitly provided pattern variables shadow `y`
|
||||
else if patternVars.any fun x => x.userName == yUserName then
|
||||
else if patternVars.any fun x => x.getId == yUserName then
|
||||
yUserName ← mkFreshUserName yUserName
|
||||
return ysUserNames.push yUserName
|
||||
let ysIds ← ysUserNames.reverse.mapM fun n => return mkIdentFrom (← getRef) n
|
||||
|
|
|
|||
11
stage0/src/Lean/Elab/PatternVar.lean
generated
11
stage0/src/Lean/Elab/PatternVar.lean
generated
|
|
@ -11,12 +11,7 @@ namespace Lean.Elab.Term
|
|||
|
||||
open Meta
|
||||
|
||||
structure PatternVar where
|
||||
userName : Name
|
||||
deriving BEq
|
||||
|
||||
instance : ToString PatternVar where
|
||||
toString x := toString x.userName
|
||||
abbrev PatternVar := Syntax -- TODO: should be `TSyntax identKind`
|
||||
|
||||
/-
|
||||
Patterns define new local variables.
|
||||
|
|
@ -111,7 +106,7 @@ private def processVar (idStx : Syntax) : M Syntax := do
|
|||
throwError "invalid pattern variable, must be atomic"
|
||||
if (← get).found.contains id then
|
||||
throwError "invalid pattern, variable '{id}' occurred more than once"
|
||||
modify fun s => { s with vars := s.vars.push { userName := id }, found := s.found.insert id }
|
||||
modify fun s => { s with vars := s.vars.push idStx, found := s.found.insert id }
|
||||
return idStx
|
||||
|
||||
private def nameToPattern : Name → TermElabM Syntax
|
||||
|
|
@ -366,6 +361,6 @@ def getPatternsVars (patterns : Array Syntax) : TermElabM (Array PatternVar) :=
|
|||
return s.vars
|
||||
|
||||
def getPatternVarNames (pvars : Array PatternVar) : Array Name :=
|
||||
pvars.map fun x => x.userName
|
||||
pvars.map fun x => x.getId
|
||||
|
||||
end Lean.Elab.Term
|
||||
|
|
|
|||
27
stage0/src/Lean/Elab/Tactic/ElabTerm.lean
generated
27
stage0/src/Lean/Elab/Tactic/ElabTerm.lean
generated
|
|
@ -16,15 +16,18 @@ open Meta
|
|||
|
||||
/- `elabTerm` for Tactics and basic tactics that use it. -/
|
||||
|
||||
def elabTerm (stx : Syntax) (expectedType? : Option Expr) (mayPostpone := false) : TermElabM Expr := do
|
||||
/- We have disabled `Term.withoutErrToSorry` to improve error recovery.
|
||||
When we were using it, any tactic using `elabTerm` would be interrupted at elaboration errors.
|
||||
Tactics that do not want to proceed should check whether the result contains sythetic sorrys or
|
||||
disable `errToSorry` before invoking `elabTerm` -/
|
||||
withRef stx do -- <| Term.withoutErrToSorry do
|
||||
let e ← Term.elabTerm stx expectedType?
|
||||
Term.synthesizeSyntheticMVars mayPostpone
|
||||
instantiateMVars e
|
||||
def elabTerm (stx : Syntax) (expectedType? : Option Expr) (mayPostpone := false) : TacticM Expr := do
|
||||
/- If error recovery is disabled, we disable `Term.withoutErrToSorry` -/
|
||||
if (← read).recover then
|
||||
go
|
||||
else
|
||||
Term.withoutErrToSorry go
|
||||
where
|
||||
go : TermElabM Expr :=
|
||||
withRef stx do -- <|
|
||||
let e ← Term.elabTerm stx expectedType?
|
||||
Term.synthesizeSyntheticMVars mayPostpone
|
||||
instantiateMVars e
|
||||
|
||||
def elabTermEnsuringType (stx : Syntax) (expectedType? : Option Expr) (mayPostpone := false) : TacticM Expr := do
|
||||
let e ← elabTerm stx expectedType? mayPostpone
|
||||
|
|
@ -143,7 +146,8 @@ def elabTermForApply (stx : Syntax) (mayPostpone := true) : TacticM Expr := do
|
|||
| some e => return e
|
||||
| _ => pure ()
|
||||
/-
|
||||
By disabling the "error to sorry" feature, we make sure an `apply e` fails without logging an error message.
|
||||
By disabling the "error recovery" (and consequently "error to sorry") feature,
|
||||
we make sure an `apply e` fails without logging an error message.
|
||||
The motivation is that `apply` is frequently used when writing tactic such as
|
||||
```
|
||||
cases h <;> intro h' <;> first | apply t[h'] | ....
|
||||
|
|
@ -173,9 +177,8 @@ def elabTermForApply (stx : Syntax) (mayPostpone := true) : TacticM Expr := do
|
|||
- We do not disable "error to sorry"
|
||||
- We elaborate term and check whether errors were produced
|
||||
- If there are other tactic braches and there are errors, we remove the errors from the log, and throw a new error to force the tactic to backtrack.
|
||||
|
||||
-/
|
||||
Term.withoutErrToSorry <| elabTerm stx none mayPostpone
|
||||
withoutRecover <| elabTerm stx none mayPostpone
|
||||
|
||||
def evalApplyLikeTactic (tac : MVarId → Expr → MetaM (List MVarId)) (e : Syntax) : TacticM Unit := do
|
||||
withMainContext do
|
||||
|
|
|
|||
4
stage0/src/Lean/Expr.lean
generated
4
stage0/src/Lean/Expr.lean
generated
|
|
@ -1032,6 +1032,10 @@ partial def consumeTypeAnnotations (e : Expr) : Expr :=
|
|||
else
|
||||
e
|
||||
|
||||
partial def consumeMDataAndTypeAnnotations (e : Expr) : Expr :=
|
||||
let e' := e.consumeMData.consumeTypeAnnotations
|
||||
if e' == e then e else consumeMDataAndTypeAnnotations e'
|
||||
|
||||
/-- Return true iff `e` contains a free variable which statisfies `p`. -/
|
||||
@[inline] def hasAnyFVar (e : Expr) (p : FVarId → Bool) : Bool :=
|
||||
let rec @[specialize] visit (e : Expr) := if !e.hasFVar then false else
|
||||
|
|
|
|||
8
stage0/src/Lean/Server/References.lean
generated
8
stage0/src/Lean/Server/References.lean
generated
|
|
@ -131,8 +131,7 @@ partial def combineFvars (refs : Array Reference) : Array Reference := Id.run do
|
|||
let mut posMap : HashMap Lsp.Range FVarId := HashMap.empty
|
||||
for ref in refs do
|
||||
if let { ident := RefIdent.fvar id, range, isBinder := true } := ref then
|
||||
if !posMap.contains range then
|
||||
posMap := posMap.insert range id
|
||||
posMap := posMap.insert range id
|
||||
|
||||
-- Map fvar defs to overlapping fvar defs/uses
|
||||
-- NOTE: poor man's union-find; see also `findCanonicalBinder?`
|
||||
|
|
@ -140,7 +139,8 @@ partial def combineFvars (refs : Array Reference) : Array Reference := Id.run do
|
|||
for ref in refs do
|
||||
if let { ident := RefIdent.fvar baseId, range, .. } := ref then
|
||||
if let some id := posMap.find? range then
|
||||
let baseId := idMap.findD baseId baseId
|
||||
let id := findCanonicalBinder idMap id
|
||||
let baseId := findCanonicalBinder idMap baseId
|
||||
if baseId != id then
|
||||
idMap := idMap.insert id baseId
|
||||
|
||||
|
|
@ -152,7 +152,7 @@ partial def combineFvars (refs : Array Reference) : Array Reference := Id.run do
|
|||
-- for the base id exists.
|
||||
unless idMap.contains id do -- Only keep the base definition
|
||||
refs' := refs'.push ref
|
||||
| { ident := ident@(RefIdent.fvar fv), range, isBinder := false } =>
|
||||
| { ident, range, isBinder := false } =>
|
||||
refs' := refs'.push { ident := applyIdMap idMap ident, range, isBinder := false }
|
||||
| _ =>
|
||||
refs' := refs'.push ref
|
||||
|
|
|
|||
7
stage0/stdlib/Lean/Elab/App.c
generated
7
stage0/stdlib/Lean/Elab/App.c
generated
|
|
@ -681,6 +681,7 @@ lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_obje
|
|||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_finalize___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___closed__2;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_mkProjAndCheck___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_consumeMDataAndTypeAnnotations(lean_object*);
|
||||
lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, 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_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppAux___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -19709,8 +19710,7 @@ lean_inc(x_18);
|
|||
x_19 = lean_ctor_get(x_17, 1);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_17);
|
||||
x_20 = l_Lean_Expr_consumeMData(x_18);
|
||||
lean_dec(x_18);
|
||||
x_20 = l_Lean_Expr_consumeMDataAndTypeAnnotations(x_18);
|
||||
x_21 = l_Lean_Expr_getAppFn(x_20);
|
||||
lean_dec(x_20);
|
||||
lean_inc(x_10);
|
||||
|
|
@ -19726,8 +19726,7 @@ lean_object* x_88; lean_object* x_89;
|
|||
x_88 = lean_ctor_get(x_87, 1);
|
||||
lean_inc(x_88);
|
||||
lean_dec(x_87);
|
||||
x_89 = l_Lean_Expr_consumeMData(x_21);
|
||||
lean_dec(x_21);
|
||||
x_89 = l_Lean_Expr_consumeMDataAndTypeAnnotations(x_21);
|
||||
if (lean_obj_tag(x_89) == 4)
|
||||
{
|
||||
lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98;
|
||||
|
|
|
|||
1301
stage0/stdlib/Lean/Elab/Binders.c
generated
1301
stage0/stdlib/Lean/Elab/Binders.c
generated
File diff suppressed because it is too large
Load diff
12842
stage0/stdlib/Lean/Elab/Do.c
generated
12842
stage0/stdlib/Lean/Elab/Do.c
generated
File diff suppressed because one or more lines are too long
299
stage0/stdlib/Lean/Elab/Match.c
generated
299
stage0/stdlib/Lean/Elab/Match.c
generated
|
|
@ -110,6 +110,7 @@ lean_object* l_Lean_Elab_Term_commitIfDidNotPostpone___rarg(lean_object*, lean_o
|
|||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateMatchType___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_mkAppM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__1;
|
||||
lean_object* l_Lean_CollectFVars_main(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_maxRecDepthErrorMessage;
|
||||
|
|
@ -127,7 +128,6 @@ static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPatte
|
|||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withPatternVars_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_object* l_Lean_Syntax_getHead_x3f(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withoutAuxDiscrs___spec__3(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__5;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabMatch_elabMatchDefault___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_local_ctx_erase(lean_object*, lean_object*);
|
||||
|
|
@ -144,7 +144,7 @@ lean_object* l_Lean_Elab_Term_elabTermAndSynthesize(lean_object*, lean_object*,
|
|||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_ToDepElimPattern_main___spec__4___closed__4;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_throwEx___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_elabNoMatch_declRange___closed__5;
|
||||
LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_dependsOn(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_st_ref_get(lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___lambda__2___closed__1;
|
||||
|
|
@ -156,7 +156,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatch
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Term_elabMatch_docString___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_ForEachExpr_visit___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkPatternRefMap_go___spec__8___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Expr_isApp(lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__1;
|
||||
LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_Term_reportMatcherResultErrors___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabMatch_elabMatchDefault___spec__5___rarg(lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_waitExpectedType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -191,6 +190,7 @@ static lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Ela
|
|||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkPatternRefMap_go___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3f___closed__3;
|
||||
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_containsFVar___spec__1(lean_object*, lean_object*, size_t, size_t);
|
||||
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__5;
|
||||
lean_object* lean_string_append(lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandSimpleMatch___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_ToDepElimPattern_main___spec__5(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -323,7 +323,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_findDiscr
|
|||
lean_object* l_StateRefT_x27_lift(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandSimpleMatch___closed__5;
|
||||
lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda_loop___spec__1___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__2;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandNonAtomicDiscrs_x3f(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_forallMetaTelescopeReducingAux(lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_expandMacroImpl_x3f(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -374,16 +373,15 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0
|
|||
lean_object* l_Lean_Elab_Term_elabTerm(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_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_expandBinderIdent___spec__2___rarg(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandSimpleMatch___closed__13;
|
||||
lean_object* l_Lean_Name_toString(lean_object*, uint8_t);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withEqs___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_findDiscrRefinementPath(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_throwEx___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_replaceRef(lean_object*, lean_object*);
|
||||
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__3___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__4(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_mkLambdaFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__2;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandNonAtomicDiscrs_x3f_loop___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_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_main(lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -470,7 +468,6 @@ lean_object* l_Lean_Meta_erasePatternRefAnnotations___lambda__1___boxed(lean_obj
|
|||
lean_object* l_ReaderT_pure___at_Lean_Elab_liftMacroM___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_savePatternInfo_go___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__3(size_t, size_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__3(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_elabMatch_declRange___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___spec__3(lean_object*, size_t, size_t, lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___lambda__4___closed__2;
|
||||
|
|
@ -587,7 +584,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatch
|
|||
uint8_t l_Lean_Syntax_isNodeOf(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_ToDepElimPattern_main___rarg___lambda__2___closed__3;
|
||||
lean_object* l_Lean_LocalDecl_type(lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__3;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Syntax_isMissing(lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___lambda__2(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -658,6 +654,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_elabMatch___closed__3;
|
|||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_expandMacrosInPatterns___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___lambda__7___closed__2;
|
||||
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__3;
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkApp(lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandSimpleMatch___closed__20;
|
||||
|
|
@ -810,6 +807,7 @@ lean_object* l_Lean_Meta_eraseInaccessibleAnnotations___lambda__1___boxed(lean_o
|
|||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_findDiscrRefinementPath_goIndex___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabMatch_docString(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__9___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__4;
|
||||
lean_object* l_Lean_Elab_Term_withoutErrToSorry___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__6(lean_object*, lean_object*, size_t, size_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_tryPostponeIfDiscrTypeIsMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -867,7 +865,6 @@ LEAN_EXPORT lean_object* l_Std_PersistentArray_forInAux___at___private_Lean_Elab
|
|||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_topSort___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_getMatchGeneralizing_x3f___closed__8;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__4;
|
||||
lean_object* l_Std_RBNode_findCore___at_Lean_Meta_mkGeneralizationForbiddenSet_visit___spec__1(lean_object*, lean_object*);
|
||||
uint8_t l_List_isEmpty___rarg(lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__4;
|
||||
|
|
@ -908,8 +905,8 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabNoMatch_declRange(lea
|
|||
lean_object* l_Lean_Elab_Term_isLocalIdent_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Closure_mkBinding___spec__1(size_t, size_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_16322_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_16308_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025_(lean_object*);
|
||||
lean_object* l_Lean_mkSimpleThunk(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_isAtomicDiscr_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_elabNoMatch___closed__4;
|
||||
|
|
@ -5880,7 +5877,7 @@ return x_15;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; lean_object* x_24;
|
||||
lean_object* x_16; uint8_t 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; uint8_t x_24; lean_object* x_25;
|
||||
x_16 = lean_array_fget(x_1, x_3);
|
||||
x_17 = 0;
|
||||
x_18 = lean_box(0);
|
||||
|
|
@ -5891,15 +5888,17 @@ lean_inc(x_20);
|
|||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_19);
|
||||
x_22 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_withPatternVars_loop___rarg___lambda__1), 13, 5);
|
||||
lean_closure_set(x_22, 0, x_3);
|
||||
lean_closure_set(x_22, 1, x_4);
|
||||
lean_closure_set(x_22, 2, x_5);
|
||||
lean_closure_set(x_22, 3, x_1);
|
||||
lean_closure_set(x_22, 4, x_2);
|
||||
x_23 = 0;
|
||||
x_24 = l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda_loop___spec__1___rarg(x_16, x_23, x_20, x_22, x_6, x_7, x_8, x_9, x_10, x_11, x_21);
|
||||
return x_24;
|
||||
x_22 = l_Lean_Syntax_getId(x_16);
|
||||
lean_dec(x_16);
|
||||
x_23 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_withPatternVars_loop___rarg___lambda__1), 13, 5);
|
||||
lean_closure_set(x_23, 0, x_3);
|
||||
lean_closure_set(x_23, 1, x_4);
|
||||
lean_closure_set(x_23, 2, x_5);
|
||||
lean_closure_set(x_23, 3, x_1);
|
||||
lean_closure_set(x_23, 4, x_2);
|
||||
x_24 = 0;
|
||||
x_25 = l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda_loop___spec__1___rarg(x_22, x_24, x_20, x_23, x_6, x_7, x_8, x_9, x_10, x_11, x_21);
|
||||
return x_25;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -17608,7 +17607,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern___closed__1;
|
||||
x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern___closed__2;
|
||||
x_3 = lean_unsigned_to_nat(588u);
|
||||
x_3 = lean_unsigned_to_nat(587u);
|
||||
x_4 = lean_unsigned_to_nat(44u);
|
||||
x_5 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern___closed__3;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -26217,123 +26216,7 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalInstances___at___private_L
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_3) == 0)
|
||||
{
|
||||
lean_object* x_5;
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_5 = l_List_reverse___rarg(x_4);
|
||||
return x_5;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_6;
|
||||
x_6 = !lean_is_exclusive(x_3);
|
||||
if (x_6 == 0)
|
||||
{
|
||||
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
|
||||
x_7 = lean_ctor_get(x_3, 0);
|
||||
x_8 = lean_ctor_get(x_3, 1);
|
||||
lean_inc(x_2);
|
||||
x_9 = lean_apply_1(x_2, x_7);
|
||||
lean_inc(x_1);
|
||||
x_10 = lean_apply_1(x_1, x_9);
|
||||
lean_ctor_set(x_3, 1, x_4);
|
||||
lean_ctor_set(x_3, 0, x_10);
|
||||
{
|
||||
lean_object* _tmp_2 = x_8;
|
||||
lean_object* _tmp_3 = x_3;
|
||||
x_3 = _tmp_2;
|
||||
x_4 = _tmp_3;
|
||||
}
|
||||
goto _start;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
x_12 = lean_ctor_get(x_3, 0);
|
||||
x_13 = lean_ctor_get(x_3, 1);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_dec(x_3);
|
||||
lean_inc(x_2);
|
||||
x_14 = lean_apply_1(x_2, x_12);
|
||||
lean_inc(x_1);
|
||||
x_15 = lean_apply_1(x_1, x_14);
|
||||
x_16 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_16, 0, x_15);
|
||||
lean_ctor_set(x_16, 1, x_4);
|
||||
x_3 = x_13;
|
||||
x_4 = x_16;
|
||||
goto _start;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_3) == 0)
|
||||
{
|
||||
lean_object* x_5;
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_5 = l_List_reverse___rarg(x_4);
|
||||
return x_5;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_6;
|
||||
x_6 = !lean_is_exclusive(x_3);
|
||||
if (x_6 == 0)
|
||||
{
|
||||
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
|
||||
x_7 = lean_ctor_get(x_3, 0);
|
||||
x_8 = lean_ctor_get(x_3, 1);
|
||||
lean_inc(x_2);
|
||||
x_9 = lean_apply_1(x_2, x_7);
|
||||
lean_inc(x_1);
|
||||
x_10 = lean_apply_1(x_1, x_9);
|
||||
x_11 = lean_alloc_ctor(0, 1, 0);
|
||||
lean_ctor_set(x_11, 0, x_10);
|
||||
lean_ctor_set(x_3, 1, x_4);
|
||||
lean_ctor_set(x_3, 0, x_11);
|
||||
{
|
||||
lean_object* _tmp_2 = x_8;
|
||||
lean_object* _tmp_3 = x_3;
|
||||
x_3 = _tmp_2;
|
||||
x_4 = _tmp_3;
|
||||
}
|
||||
goto _start;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
|
||||
x_13 = lean_ctor_get(x_3, 0);
|
||||
x_14 = lean_ctor_get(x_3, 1);
|
||||
lean_inc(x_14);
|
||||
lean_inc(x_13);
|
||||
lean_dec(x_3);
|
||||
lean_inc(x_2);
|
||||
x_15 = lean_apply_1(x_2, x_13);
|
||||
lean_inc(x_1);
|
||||
x_16 = lean_apply_1(x_1, x_15);
|
||||
x_17 = lean_alloc_ctor(0, 1, 0);
|
||||
lean_ctor_set(x_17, 0, x_16);
|
||||
x_18 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_18, 0, x_17);
|
||||
lean_ctor_set(x_18, 1, x_4);
|
||||
x_3 = x_14;
|
||||
x_4 = x_18;
|
||||
goto _start;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__3___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__4(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_1) == 0)
|
||||
|
|
@ -26348,17 +26231,13 @@ uint8_t x_4;
|
|||
x_4 = !lean_is_exclusive(x_1);
|
||||
if (x_4 == 0)
|
||||
{
|
||||
lean_object* x_5; lean_object* x_6; uint8_t x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
|
||||
lean_object* x_5; lean_object* x_6; lean_object* x_7;
|
||||
x_5 = lean_ctor_get(x_1, 0);
|
||||
x_6 = lean_ctor_get(x_1, 1);
|
||||
x_7 = 1;
|
||||
x_8 = l_Lean_Name_toString(x_5, x_7);
|
||||
x_9 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_9, 0, x_8);
|
||||
x_10 = lean_alloc_ctor(0, 1, 0);
|
||||
lean_ctor_set(x_10, 0, x_9);
|
||||
x_7 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_7, 0, x_5);
|
||||
lean_ctor_set(x_1, 1, x_2);
|
||||
lean_ctor_set(x_1, 0, x_10);
|
||||
lean_ctor_set(x_1, 0, x_7);
|
||||
{
|
||||
lean_object* _tmp_0 = x_6;
|
||||
lean_object* _tmp_1 = x_1;
|
||||
|
|
@ -26369,23 +26248,19 @@ goto _start;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13; uint8_t x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
|
||||
x_12 = lean_ctor_get(x_1, 0);
|
||||
x_13 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
|
||||
x_9 = lean_ctor_get(x_1, 0);
|
||||
x_10 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_10);
|
||||
lean_inc(x_9);
|
||||
lean_dec(x_1);
|
||||
x_14 = 1;
|
||||
x_15 = l_Lean_Name_toString(x_12, x_14);
|
||||
x_16 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_16, 0, x_15);
|
||||
x_17 = lean_alloc_ctor(0, 1, 0);
|
||||
lean_ctor_set(x_17, 0, x_16);
|
||||
x_18 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_18, 0, x_17);
|
||||
lean_ctor_set(x_18, 1, x_2);
|
||||
x_1 = x_13;
|
||||
x_2 = x_18;
|
||||
x_11 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_11, 0, x_9);
|
||||
x_12 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_12, 0, x_11);
|
||||
lean_ctor_set(x_12, 1, x_2);
|
||||
x_1 = x_10;
|
||||
x_2 = x_12;
|
||||
goto _start;
|
||||
}
|
||||
}
|
||||
|
|
@ -27259,7 +27134,7 @@ lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean
|
|||
lean_inc(x_15);
|
||||
x_22 = lean_array_to_list(lean_box(0), x_15);
|
||||
x_23 = lean_box(0);
|
||||
x_24 = l_List_mapTRAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__3___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__4(x_22, x_23);
|
||||
x_24 = l_List_mapTRAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2(x_22, x_23);
|
||||
x_25 = l_Lean_MessageData_ofList(x_24);
|
||||
lean_dec(x_24);
|
||||
x_26 = l_Lean_Elab_Term_ToDepElimPattern_main___rarg___lambda__2___closed__2;
|
||||
|
|
@ -27796,30 +27671,32 @@ uint8_t x_5;
|
|||
x_5 = lean_usize_dec_eq(x_3, x_4);
|
||||
if (x_5 == 0)
|
||||
{
|
||||
lean_object* x_6; uint8_t x_7;
|
||||
lean_object* x_6; lean_object* x_7; uint8_t x_8;
|
||||
x_6 = lean_array_uget(x_2, x_3);
|
||||
x_7 = lean_name_eq(x_6, x_1);
|
||||
x_7 = l_Lean_Syntax_getId(x_6);
|
||||
lean_dec(x_6);
|
||||
if (x_7 == 0)
|
||||
x_8 = lean_name_eq(x_7, x_1);
|
||||
lean_dec(x_7);
|
||||
if (x_8 == 0)
|
||||
{
|
||||
size_t x_8; size_t x_9;
|
||||
x_8 = 1;
|
||||
x_9 = lean_usize_add(x_3, x_8);
|
||||
x_3 = x_9;
|
||||
size_t x_9; size_t x_10;
|
||||
x_9 = 1;
|
||||
x_10 = lean_usize_add(x_3, x_9);
|
||||
x_3 = x_10;
|
||||
goto _start;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_11;
|
||||
x_11 = 1;
|
||||
return x_11;
|
||||
uint8_t x_12;
|
||||
x_12 = 1;
|
||||
return x_12;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_12;
|
||||
x_12 = 0;
|
||||
return x_12;
|
||||
uint8_t x_13;
|
||||
x_13 = 0;
|
||||
return x_13;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -32350,7 +32227,7 @@ lean_dec(x_2);
|
|||
return x_9;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__1() {
|
||||
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
|
|
@ -32360,7 +32237,7 @@ x_3 = lean_name_mk_string(x_1, x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__2() {
|
||||
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -32368,17 +32245,17 @@ x_1 = lean_mk_string("ignoreUnusedAlts");
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__3() {
|
||||
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__1;
|
||||
x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__2;
|
||||
x_1 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__1;
|
||||
x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__2;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__4() {
|
||||
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -32386,13 +32263,13 @@ x_1 = lean_mk_string("if true, do not generate error if an alternative is not us
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__5() {
|
||||
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__5() {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = 0;
|
||||
x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrsWitMatchType___spec__1___closed__15;
|
||||
x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__4;
|
||||
x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__4;
|
||||
x_4 = lean_box(x_1);
|
||||
x_5 = lean_alloc_ctor(0, 3, 0);
|
||||
lean_ctor_set(x_5, 0, x_4);
|
||||
|
|
@ -32401,12 +32278,12 @@ lean_ctor_set(x_5, 2, x_3);
|
|||
return x_5;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039_(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4;
|
||||
x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__3;
|
||||
x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__5;
|
||||
x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__3;
|
||||
x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__5;
|
||||
x_4 = l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_6____spec__1(x_2, x_3, x_1);
|
||||
return x_4;
|
||||
}
|
||||
|
|
@ -33046,7 +32923,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern___closed__1;
|
||||
x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3f___closed__4;
|
||||
x_3 = lean_unsigned_to_nat(1027u);
|
||||
x_3 = lean_unsigned_to_nat(1026u);
|
||||
x_4 = lean_unsigned_to_nat(2u);
|
||||
x_5 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3f___closed__3;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -35613,7 +35490,7 @@ if (lean_obj_tag(x_28) == 0)
|
|||
lean_object* x_30; lean_object* x_31; lean_object* x_32;
|
||||
lean_dec(x_21);
|
||||
x_30 = lean_array_get_size(x_22);
|
||||
x_31 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__1;
|
||||
x_31 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__1;
|
||||
lean_inc(x_12);
|
||||
lean_inc(x_11);
|
||||
lean_inc(x_10);
|
||||
|
|
@ -39567,7 +39444,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabMatch_declRange___cl
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(1252u);
|
||||
x_1 = lean_unsigned_to_nat(1251u);
|
||||
x_2 = lean_unsigned_to_nat(27u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -39579,7 +39456,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabMatch_declRange___cl
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(1269u);
|
||||
x_1 = lean_unsigned_to_nat(1268u);
|
||||
x_2 = lean_unsigned_to_nat(37u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -39607,7 +39484,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabMatch_declRange___cl
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(1252u);
|
||||
x_1 = lean_unsigned_to_nat(1251u);
|
||||
x_2 = lean_unsigned_to_nat(31u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -39619,7 +39496,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabMatch_declRange___cl
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(1252u);
|
||||
x_1 = lean_unsigned_to_nat(1251u);
|
||||
x_2 = lean_unsigned_to_nat(40u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -39665,7 +39542,7 @@ x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1);
|
|||
return x_4;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_16322_(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_16308_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3;
|
||||
|
|
@ -39977,7 +39854,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabNoMatch_declRange___
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(1278u);
|
||||
x_1 = lean_unsigned_to_nat(1277u);
|
||||
x_2 = lean_unsigned_to_nat(29u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -39989,7 +39866,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabNoMatch_declRange___
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(1290u);
|
||||
x_1 = lean_unsigned_to_nat(1289u);
|
||||
x_2 = lean_unsigned_to_nat(31u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -40017,7 +39894,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabNoMatch_declRange___
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(1278u);
|
||||
x_1 = lean_unsigned_to_nat(1277u);
|
||||
x_2 = lean_unsigned_to_nat(33u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -40029,7 +39906,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabNoMatch_declRange___
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(1278u);
|
||||
x_1 = lean_unsigned_to_nat(1277u);
|
||||
x_2 = lean_unsigned_to_nat(44u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -40459,17 +40336,17 @@ l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___closed__1
|
|||
lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___closed__1);
|
||||
l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___closed__2 = _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___closed__2();
|
||||
lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___closed__2);
|
||||
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__1);
|
||||
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__2);
|
||||
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__3 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__3);
|
||||
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__4 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__4);
|
||||
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__5 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__5();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039____closed__5);
|
||||
if (builtin) {res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13039_(lean_io_mk_world());
|
||||
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__1);
|
||||
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__2);
|
||||
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__3 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__3);
|
||||
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__4 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__4);
|
||||
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__5 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__5();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025____closed__5);
|
||||
if (builtin) {res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_13025_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
l_Lean_Elab_Term_match_ignoreUnusedAlts = lean_io_result_get_value(res);
|
||||
lean_mark_persistent(l_Lean_Elab_Term_match_ignoreUnusedAlts);
|
||||
|
|
@ -40599,7 +40476,7 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabMatch_declRange___closed_
|
|||
res = l___regBuiltin_Lean_Elab_Term_elabMatch_declRange(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_16322_(lean_io_mk_world());
|
||||
res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_16308_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l_Lean_Elab_Term_elabNoMatch___closed__1 = _init_l_Lean_Elab_Term_elabNoMatch___closed__1();
|
||||
|
|
|
|||
81
stage0/stdlib/Lean/Elab/PatternVar.c
generated
81
stage0/stdlib/Lean/Elab/PatternVar.c
generated
|
|
@ -77,6 +77,7 @@ static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__4___cl
|
|||
static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__4___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_throwIllFormedSyntax___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_quotedNameToPattern___spec__1___closed__1;
|
||||
uint8_t l_Lean_Syntax_structEq(lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__33;
|
||||
static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppCore___lambda__2___closed__1;
|
||||
static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__14;
|
||||
|
|
@ -151,7 +152,6 @@ static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__10___c
|
|||
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppCore___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_main___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_addTrace___at_Lean_Elab_Term_CollectPatternVars_main___spec__1___closed__5;
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_beqPatternVar____x40_Lean_Elab_PatternVar___hyg_15_(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_LocalContext_empty;
|
||||
static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___closed__5;
|
||||
LEAN_EXPORT lean_object* l___private_Init_Meta_0__Array_mapSepElemsMAux___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -176,7 +176,6 @@ lean_object* l_Lean_ResolveName_resolveNamespace_x3f(lean_object*, lean_object*,
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___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_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_doubleQuotedNameToPattern___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_instBEqPatternVar___closed__1;
|
||||
lean_object* lean_array_fget(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppCore___closed__1;
|
||||
static lean_object* l_Lean_resolveGlobalConst___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_doubleQuotedNameToPattern___spec__3___closed__3;
|
||||
|
|
@ -207,7 +206,6 @@ static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__5___cl
|
|||
static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___closed__1;
|
||||
static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__4___closed__9;
|
||||
LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_doubleQuotedNameToPattern___spec__5___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_Name_toString(lean_object*, uint8_t);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_replaceRef(lean_object*, lean_object*);
|
||||
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -282,7 +280,6 @@ LEAN_EXPORT lean_object* l___private_Init_Meta_0__Array_mapSepElemsMAux___at_Lea
|
|||
static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__5___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_instBEqPatternVar;
|
||||
static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__12;
|
||||
static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___closed__16;
|
||||
static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___lambda__2___closed__2;
|
||||
|
|
@ -300,7 +297,6 @@ static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__4___cl
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__26;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppContext(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_instToStringPatternVar(lean_object*);
|
||||
lean_object* l_Lean_mkAtomFrom(lean_object*, lean_object*);
|
||||
static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -309,7 +305,6 @@ extern uint8_t l_Lean_instInhabitedBinderInfo;
|
|||
static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__11;
|
||||
extern lean_object* l_Lean_identKind;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_getPatternVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_beqPatternVar____x40_Lean_Elab_PatternVar___hyg_15____boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_getPatternsVars___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__19;
|
||||
|
|
@ -470,50 +465,6 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PatternVar_0
|
|||
uint8_t l_Lean_Syntax_isIdent(lean_object*);
|
||||
static lean_object* l_Lean_addTrace___at_Lean_Elab_Term_CollectPatternVars_main___spec__1___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_getPatternsVars___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_beqPatternVar____x40_Lean_Elab_PatternVar___hyg_15_(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_3;
|
||||
x_3 = lean_name_eq(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_beqPatternVar____x40_Lean_Elab_PatternVar___hyg_15____boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_3; lean_object* x_4;
|
||||
x_3 = l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_beqPatternVar____x40_Lean_Elab_PatternVar___hyg_15_(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_4 = lean_box(x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Term_instBEqPatternVar___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_beqPatternVar____x40_Lean_Elab_PatternVar___hyg_15____boxed), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Term_instBEqPatternVar() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = l_Lean_Elab_Term_instBEqPatternVar___closed__1;
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_instToStringPatternVar(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_2; lean_object* x_3;
|
||||
x_2 = 1;
|
||||
x_3 = l_Lean_Name_toString(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Term_CollectPatternVars_State_found___default() {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -1408,12 +1359,12 @@ lean_dec(x_14);
|
|||
x_17 = lean_ctor_get(x_15, 0);
|
||||
lean_inc(x_17);
|
||||
x_18 = lean_box(0);
|
||||
lean_inc(x_1);
|
||||
x_19 = l_Std_RBNode_insert___at_Lean_NameSet_insert___spec__1(x_17, x_1, x_18);
|
||||
x_20 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_20);
|
||||
lean_dec(x_15);
|
||||
x_21 = lean_array_push(x_20, x_1);
|
||||
lean_inc(x_2);
|
||||
x_21 = lean_array_push(x_20, x_2);
|
||||
x_22 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_22, 0, x_19);
|
||||
lean_ctor_set(x_22, 1, x_21);
|
||||
|
|
@ -3537,9 +3488,7 @@ else
|
|||
lean_object* x_10; lean_object* x_11; uint8_t x_12;
|
||||
x_10 = lean_array_fget(x_4, x_6);
|
||||
x_11 = lean_array_fget(x_5, x_6);
|
||||
x_12 = lean_name_eq(x_10, x_11);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
x_12 = l_Lean_Syntax_structEq(x_10, x_11);
|
||||
if (x_12 == 0)
|
||||
{
|
||||
uint8_t x_13;
|
||||
|
|
@ -3677,7 +3626,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2___closed__1;
|
||||
x_2 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2___closed__2;
|
||||
x_3 = lean_unsigned_to_nat(251u);
|
||||
x_3 = lean_unsigned_to_nat(246u);
|
||||
x_4 = lean_unsigned_to_nat(74u);
|
||||
x_5 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2___closed__3;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -5887,7 +5836,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2___closed__1;
|
||||
x_2 = l_Lean_Elab_Term_CollectPatternVars_collect_pushNewArg___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(282u);
|
||||
x_3 = lean_unsigned_to_nat(277u);
|
||||
x_4 = lean_unsigned_to_nat(11u);
|
||||
x_5 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2___closed__3;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -11461,15 +11410,17 @@ return x_3;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_5; lean_object* x_6; lean_object* x_7; size_t x_8; size_t x_9; lean_object* x_10;
|
||||
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; size_t x_9; size_t x_10; lean_object* x_11;
|
||||
x_5 = lean_array_uget(x_3, x_2);
|
||||
x_6 = lean_unsigned_to_nat(0u);
|
||||
x_7 = lean_array_uset(x_3, x_2, x_6);
|
||||
x_8 = 1;
|
||||
x_9 = lean_usize_add(x_2, x_8);
|
||||
x_10 = lean_array_uset(x_7, x_2, x_5);
|
||||
x_2 = x_9;
|
||||
x_3 = x_10;
|
||||
x_8 = l_Lean_Syntax_getId(x_5);
|
||||
lean_dec(x_5);
|
||||
x_9 = 1;
|
||||
x_10 = lean_usize_add(x_2, x_9);
|
||||
x_11 = lean_array_uset(x_7, x_2, x_8);
|
||||
x_2 = x_10;
|
||||
x_3 = x_11;
|
||||
goto _start;
|
||||
}
|
||||
}
|
||||
|
|
@ -11519,10 +11470,6 @@ lean_dec_ref(res);
|
|||
res = initialize_Lean_Elab_MatchAltView(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l_Lean_Elab_Term_instBEqPatternVar___closed__1 = _init_l_Lean_Elab_Term_instBEqPatternVar___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_instBEqPatternVar___closed__1);
|
||||
l_Lean_Elab_Term_instBEqPatternVar = _init_l_Lean_Elab_Term_instBEqPatternVar();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_instBEqPatternVar);
|
||||
l_Lean_Elab_Term_CollectPatternVars_State_found___default = _init_l_Lean_Elab_Term_CollectPatternVars_State_found___default();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_CollectPatternVars_State_found___default);
|
||||
l_Lean_Elab_Term_CollectPatternVars_State_vars___default___closed__1 = _init_l_Lean_Elab_Term_CollectPatternVars_State_vars___default___closed__1();
|
||||
|
|
|
|||
4
stage0/stdlib/Lean/Elab/Structure.c
generated
4
stage0/stdlib/Lean/Elab/Structure.c
generated
|
|
@ -167,7 +167,6 @@ static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStr
|
|||
static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__9(lean_object*);
|
||||
lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_Term_elabLetDeclAux___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__1___lambda__1___boxed(lean_object**);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__6___closed__1;
|
||||
|
|
@ -402,6 +401,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_el
|
|||
static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__5___closed__1;
|
||||
lean_object* lean_name_append_index_after(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__4(lean_object*);
|
||||
lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_Term_elabLetDeclAux___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*);
|
||||
lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*);
|
||||
static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__4___closed__2;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___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*);
|
||||
|
|
@ -8859,7 +8859,7 @@ lean_closure_set(x_23, 4, x_1);
|
|||
lean_closure_set(x_23, 5, x_6);
|
||||
lean_closure_set(x_23, 6, x_7);
|
||||
lean_closure_set(x_23, 7, x_8);
|
||||
x_24 = l_Lean_Meta_withLetDecl___at_Lean_Elab_Term_elabLetDeclAux___spec__1___rarg(x_2, x_21, x_18, x_23, x_10, x_11, x_12, x_13, x_14, x_15, x_22);
|
||||
x_24 = l_Lean_Meta_withLetDecl___at_Lean_Elab_Term_elabLetDeclAux___spec__2___rarg(x_2, x_21, x_18, x_23, x_10, x_11, x_12, x_13, x_14, x_15, x_22);
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
|
|
|
|||
4
stage0/stdlib/Lean/Elab/Tactic/Conv/Rewrite.c
generated
4
stage0/stdlib/Lean/Elab/Tactic/Conv/Rewrite.c
generated
|
|
@ -50,7 +50,7 @@ extern lean_object* l_Lean_Elab_Tactic_tacticElabAttribute;
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalRewrite_declRange___closed__4;
|
||||
lean_object* l_Lean_Elab_Tactic_elabRewriteConfig(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_withSynthesizeImp___rarg(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Tactic_elabTerm(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Tactic_elabTerm(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalRewrite___closed__7;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalRewrite___closed__16;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalRewrite_declRange___closed__6;
|
||||
|
|
@ -72,7 +72,7 @@ lean_inc(x_10);
|
|||
lean_inc(x_9);
|
||||
lean_inc(x_8);
|
||||
lean_inc(x_7);
|
||||
x_15 = l_Lean_Elab_Tactic_elabTerm(x_1, x_2, x_14, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
|
||||
x_15 = l_Lean_Elab_Tactic_elabTerm(x_1, x_2, x_14, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
|
||||
if (lean_obj_tag(x_15) == 0)
|
||||
{
|
||||
lean_object* x_16; lean_object* x_17; lean_object* x_18;
|
||||
|
|
|
|||
161
stage0/stdlib/Lean/Elab/Tactic/ElabTerm.c
generated
161
stage0/stdlib/Lean/Elab/Tactic/ElabTerm.c
generated
|
|
@ -206,6 +206,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRefine_declRange(le
|
|||
lean_object* l_Lean_throwError___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_evalTacticUsing_loop___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTermForApply___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_Syntax_getId(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTerm_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTermForApply___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalExact___closed__5;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalExact___closed__6;
|
||||
|
|
@ -339,7 +340,7 @@ static lean_object* l_Lean_Elab_Tactic_refineCore___lambda__4___closed__2;
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalDecide___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalConstructor_declRange___closed__6;
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_getFVarIds___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTerm(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTerm(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalNativeDecide___closed__5;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalApply___closed__2;
|
||||
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -366,6 +367,7 @@ lean_object* l_Lean_Elab_Term_withoutErrToSorry___rarg(lean_object*, lean_object
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalExact_declRange___closed__5;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDecide_declRange___closed__4;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalConstructor_declRange___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTerm_go(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalExact_declRange(lean_object*);
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalConstructor(lean_object*);
|
||||
lean_object* l_Lean_Elab_Tactic_replaceMainGoal(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -374,6 +376,7 @@ extern lean_object* l_Lean_Elab_unsupportedSyntaxExceptionId;
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalSpecialize___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*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRefine_declRange___closed__6;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithReducibleAndInstances_declRange___closed__4;
|
||||
lean_object* l_Lean_Elab_Tactic_withoutRecover___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalExact___closed__7;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRefine___closed__1;
|
||||
lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*);
|
||||
|
|
@ -425,7 +428,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithUnfoldingAll___close
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalExact(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRefine_x27_declRange___closed__7;
|
||||
static lean_object* l_Lean_Elab_Tactic_refineCore___lambda__4___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTerm___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTerm___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalNativeDecide___rarg___lambda__1___closed__5;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalConstructor___rarg___closed__1;
|
||||
LEAN_EXPORT uint8_t l_Lean_Elab_Tactic_refineCore___lambda__3(lean_object*, lean_object*);
|
||||
|
|
@ -449,7 +452,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalExact_declRange___closed
|
|||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithReducibleAndInstances_declRange(lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalNativeDecide___closed__4;
|
||||
uint8_t l_Lean_Syntax_isIdent(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTerm(lean_object* x_1, lean_object* x_2, uint8_t 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_EXPORT lean_object* l_Lean_Elab_Tactic_elabTerm_go(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_11;
|
||||
|
|
@ -683,16 +686,52 @@ return x_56;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTerm___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTerm_go___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_11; lean_object* x_12;
|
||||
x_11 = lean_unbox(x_3);
|
||||
lean_dec(x_3);
|
||||
x_12 = l_Lean_Elab_Tactic_elabTerm(x_1, x_2, x_11, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
|
||||
x_12 = l_Lean_Elab_Tactic_elabTerm_go(x_1, x_2, x_11, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
|
||||
return x_12;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTerm(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_13;
|
||||
x_13 = lean_ctor_get_uint8(x_4, sizeof(void*)*2);
|
||||
if (x_13 == 0)
|
||||
{
|
||||
lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
x_14 = lean_box(x_3);
|
||||
x_15 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_elabTerm_go___boxed), 10, 3);
|
||||
lean_closure_set(x_15, 0, x_1);
|
||||
lean_closure_set(x_15, 1, x_2);
|
||||
lean_closure_set(x_15, 2, x_14);
|
||||
x_16 = l_Lean_Elab_Term_withoutErrToSorry___rarg(x_15, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
return x_16;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_17;
|
||||
x_17 = l_Lean_Elab_Tactic_elabTerm_go(x_1, x_2, x_3, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
return x_17;
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTerm___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_13; lean_object* x_14;
|
||||
x_13 = lean_unbox(x_3);
|
||||
lean_dec(x_3);
|
||||
x_14 = l_Lean_Elab_Tactic_elabTerm(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
return x_14;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTermEnsuringType___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -714,7 +753,7 @@ lean_inc(x_8);
|
|||
lean_inc(x_7);
|
||||
lean_inc(x_6);
|
||||
lean_inc(x_2);
|
||||
x_13 = l_Lean_Elab_Tactic_elabTerm(x_1, x_2, x_3, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
x_13 = l_Lean_Elab_Tactic_elabTerm(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
if (lean_obj_tag(x_13) == 0)
|
||||
{
|
||||
if (lean_obj_tag(x_2) == 0)
|
||||
|
|
@ -1991,7 +2030,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalExact_declRange___
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(55u);
|
||||
x_1 = lean_unsigned_to_nat(58u);
|
||||
x_2 = lean_unsigned_to_nat(25u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -2003,7 +2042,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalExact_declRange___
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(62u);
|
||||
x_1 = lean_unsigned_to_nat(65u);
|
||||
x_2 = lean_unsigned_to_nat(31u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -2031,7 +2070,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalExact_declRange___
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(55u);
|
||||
x_1 = lean_unsigned_to_nat(58u);
|
||||
x_2 = lean_unsigned_to_nat(29u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -2043,7 +2082,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalExact_declRange___
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(55u);
|
||||
x_1 = lean_unsigned_to_nat(58u);
|
||||
x_2 = lean_unsigned_to_nat(38u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -3510,7 +3549,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefine_declRange__
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(97u);
|
||||
x_1 = lean_unsigned_to_nat(100u);
|
||||
x_2 = lean_unsigned_to_nat(26u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -3522,7 +3561,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefine_declRange__
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(100u);
|
||||
x_1 = lean_unsigned_to_nat(103u);
|
||||
x_2 = lean_unsigned_to_nat(50u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -3550,7 +3589,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefine_declRange__
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(97u);
|
||||
x_1 = lean_unsigned_to_nat(100u);
|
||||
x_2 = lean_unsigned_to_nat(30u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -3562,7 +3601,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefine_declRange__
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(97u);
|
||||
x_1 = lean_unsigned_to_nat(100u);
|
||||
x_2 = lean_unsigned_to_nat(40u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -3713,7 +3752,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefine_x27_declRan
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(102u);
|
||||
x_1 = lean_unsigned_to_nat(105u);
|
||||
x_2 = lean_unsigned_to_nat(27u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -3725,7 +3764,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefine_x27_declRan
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(105u);
|
||||
x_1 = lean_unsigned_to_nat(108u);
|
||||
x_2 = lean_unsigned_to_nat(51u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -3753,7 +3792,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefine_x27_declRan
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(102u);
|
||||
x_1 = lean_unsigned_to_nat(105u);
|
||||
x_2 = lean_unsigned_to_nat(31u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -3765,7 +3804,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefine_x27_declRan
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(102u);
|
||||
x_1 = lean_unsigned_to_nat(105u);
|
||||
x_2 = lean_unsigned_to_nat(42u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -4318,7 +4357,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSpecialize_declRan
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(107u);
|
||||
x_1 = lean_unsigned_to_nat(110u);
|
||||
x_2 = lean_unsigned_to_nat(30u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -4330,7 +4369,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSpecialize_declRan
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(120u);
|
||||
x_1 = lean_unsigned_to_nat(123u);
|
||||
x_2 = lean_unsigned_to_nat(31u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -4358,7 +4397,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSpecialize_declRan
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(107u);
|
||||
x_1 = lean_unsigned_to_nat(110u);
|
||||
x_2 = lean_unsigned_to_nat(34u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -4370,7 +4409,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSpecialize_declRan
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(107u);
|
||||
x_1 = lean_unsigned_to_nat(110u);
|
||||
x_2 = lean_unsigned_to_nat(48u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -4422,11 +4461,11 @@ _start:
|
|||
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
x_13 = lean_box(0);
|
||||
x_14 = lean_box(x_2);
|
||||
x_15 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_elabTerm___boxed), 10, 3);
|
||||
x_15 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_elabTerm___boxed), 12, 3);
|
||||
lean_closure_set(x_15, 0, x_1);
|
||||
lean_closure_set(x_15, 1, x_13);
|
||||
lean_closure_set(x_15, 2, x_14);
|
||||
x_16 = l_Lean_Elab_Term_withoutErrToSorry___rarg(x_15, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
x_16 = l_Lean_Elab_Tactic_withoutRecover___rarg(x_15, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
return x_16;
|
||||
}
|
||||
}
|
||||
|
|
@ -4448,8 +4487,6 @@ if (x_12 == 0)
|
|||
lean_object* x_13; lean_object* x_14;
|
||||
x_13 = lean_box(0);
|
||||
x_14 = l_Lean_Elab_Tactic_elabTermForApply___lambda__1(x_1, x_2, x_13, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
return x_14;
|
||||
}
|
||||
else
|
||||
|
|
@ -4478,8 +4515,6 @@ lean_inc(x_19);
|
|||
lean_dec(x_17);
|
||||
x_20 = lean_box(0);
|
||||
x_21 = l_Lean_Elab_Tactic_elabTermForApply___lambda__1(x_1, x_2, x_20, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_19);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
return x_21;
|
||||
}
|
||||
else
|
||||
|
|
@ -4563,8 +4598,6 @@ uint8_t x_13; lean_object* x_14;
|
|||
x_13 = lean_unbox(x_2);
|
||||
lean_dec(x_2);
|
||||
x_14 = l_Lean_Elab_Tactic_elabTermForApply___lambda__1(x_1, x_13, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
return x_14;
|
||||
}
|
||||
|
|
@ -5386,7 +5419,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalApply_declRange___
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(198u);
|
||||
x_1 = lean_unsigned_to_nat(201u);
|
||||
x_2 = lean_unsigned_to_nat(42u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -5398,7 +5431,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalApply_declRange___
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(201u);
|
||||
x_1 = lean_unsigned_to_nat(204u);
|
||||
x_2 = lean_unsigned_to_nat(31u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -5426,7 +5459,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalApply_declRange___
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(198u);
|
||||
x_1 = lean_unsigned_to_nat(201u);
|
||||
x_2 = lean_unsigned_to_nat(46u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -5438,7 +5471,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalApply_declRange___
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(198u);
|
||||
x_1 = lean_unsigned_to_nat(201u);
|
||||
x_2 = lean_unsigned_to_nat(55u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -5724,7 +5757,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalConstructor_declRa
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(203u);
|
||||
x_1 = lean_unsigned_to_nat(206u);
|
||||
x_2 = lean_unsigned_to_nat(48u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -5736,7 +5769,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalConstructor_declRa
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(207u);
|
||||
x_1 = lean_unsigned_to_nat(210u);
|
||||
x_2 = lean_unsigned_to_nat(28u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -5764,7 +5797,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalConstructor_declRa
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(203u);
|
||||
x_1 = lean_unsigned_to_nat(206u);
|
||||
x_2 = lean_unsigned_to_nat(52u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -5776,7 +5809,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalConstructor_declRa
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(203u);
|
||||
x_1 = lean_unsigned_to_nat(206u);
|
||||
x_2 = lean_unsigned_to_nat(67u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -6153,7 +6186,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithReducible_decl
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(209u);
|
||||
x_1 = lean_unsigned_to_nat(212u);
|
||||
x_2 = lean_unsigned_to_nat(50u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -6165,7 +6198,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithReducible_decl
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(210u);
|
||||
x_1 = lean_unsigned_to_nat(213u);
|
||||
x_2 = lean_unsigned_to_nat(36u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -6193,7 +6226,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithReducible_decl
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(209u);
|
||||
x_1 = lean_unsigned_to_nat(212u);
|
||||
x_2 = lean_unsigned_to_nat(54u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -6205,7 +6238,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithReducible_decl
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(209u);
|
||||
x_1 = lean_unsigned_to_nat(212u);
|
||||
x_2 = lean_unsigned_to_nat(71u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -6582,7 +6615,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithReducibleAndIn
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(212u);
|
||||
x_1 = lean_unsigned_to_nat(215u);
|
||||
x_2 = lean_unsigned_to_nat(62u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -6594,7 +6627,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithReducibleAndIn
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(213u);
|
||||
x_1 = lean_unsigned_to_nat(216u);
|
||||
x_2 = lean_unsigned_to_nat(48u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -6622,7 +6655,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithReducibleAndIn
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(212u);
|
||||
x_1 = lean_unsigned_to_nat(215u);
|
||||
x_2 = lean_unsigned_to_nat(66u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -6634,7 +6667,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithReducibleAndIn
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(212u);
|
||||
x_1 = lean_unsigned_to_nat(215u);
|
||||
x_2 = lean_unsigned_to_nat(95u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -7011,7 +7044,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithUnfoldingAll_d
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(215u);
|
||||
x_1 = lean_unsigned_to_nat(218u);
|
||||
x_2 = lean_unsigned_to_nat(53u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -7023,7 +7056,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithUnfoldingAll_d
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(216u);
|
||||
x_1 = lean_unsigned_to_nat(219u);
|
||||
x_2 = lean_unsigned_to_nat(60u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -7051,7 +7084,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithUnfoldingAll_d
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(215u);
|
||||
x_1 = lean_unsigned_to_nat(218u);
|
||||
x_2 = lean_unsigned_to_nat(57u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -7063,7 +7096,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithUnfoldingAll_d
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(215u);
|
||||
x_1 = lean_unsigned_to_nat(218u);
|
||||
x_2 = lean_unsigned_to_nat(77u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -7138,7 +7171,7 @@ lean_inc(x_9);
|
|||
lean_inc(x_8);
|
||||
lean_inc(x_7);
|
||||
lean_inc(x_6);
|
||||
x_14 = l_Lean_Elab_Tactic_elabTerm(x_1, x_2, x_13, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
x_14 = l_Lean_Elab_Tactic_elabTerm(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
if (lean_obj_tag(x_14) == 0)
|
||||
{
|
||||
lean_object* x_15;
|
||||
|
|
@ -8609,7 +8642,7 @@ lean_inc(x_8);
|
|||
lean_inc(x_7);
|
||||
lean_inc(x_6);
|
||||
lean_inc(x_5);
|
||||
x_13 = l_Lean_Elab_Tactic_elabTerm(x_1, x_2, x_12, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
|
||||
x_13 = l_Lean_Elab_Tactic_elabTerm(x_1, x_2, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
|
||||
if (lean_obj_tag(x_13) == 0)
|
||||
{
|
||||
lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
|
||||
|
|
@ -9143,7 +9176,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRename_declRange__
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(239u);
|
||||
x_1 = lean_unsigned_to_nat(242u);
|
||||
x_2 = lean_unsigned_to_nat(43u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -9155,7 +9188,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRename_declRange__
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(258u);
|
||||
x_1 = lean_unsigned_to_nat(261u);
|
||||
x_2 = lean_unsigned_to_nat(31u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -9183,7 +9216,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRename_declRange__
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(239u);
|
||||
x_1 = lean_unsigned_to_nat(242u);
|
||||
x_2 = lean_unsigned_to_nat(47u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -9195,7 +9228,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRename_declRange__
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(239u);
|
||||
x_1 = lean_unsigned_to_nat(242u);
|
||||
x_2 = lean_unsigned_to_nat(57u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -10087,7 +10120,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalDecide_declRange__
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(272u);
|
||||
x_1 = lean_unsigned_to_nat(275u);
|
||||
x_2 = lean_unsigned_to_nat(43u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -10099,7 +10132,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalDecide_declRange__
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(282u);
|
||||
x_1 = lean_unsigned_to_nat(285u);
|
||||
x_2 = lean_unsigned_to_nat(74u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -10127,7 +10160,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalDecide_declRange__
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(272u);
|
||||
x_1 = lean_unsigned_to_nat(275u);
|
||||
x_2 = lean_unsigned_to_nat(47u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -10139,7 +10172,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalDecide_declRange__
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(272u);
|
||||
x_1 = lean_unsigned_to_nat(275u);
|
||||
x_2 = lean_unsigned_to_nat(57u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -10718,7 +10751,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalNativeDecide_declR
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(295u);
|
||||
x_1 = lean_unsigned_to_nat(298u);
|
||||
x_2 = lean_unsigned_to_nat(49u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -10730,7 +10763,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalNativeDecide_declR
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(302u);
|
||||
x_1 = lean_unsigned_to_nat(305u);
|
||||
x_2 = lean_unsigned_to_nat(160u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -10758,7 +10791,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalNativeDecide_declR
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(295u);
|
||||
x_1 = lean_unsigned_to_nat(298u);
|
||||
x_2 = lean_unsigned_to_nat(53u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -10770,7 +10803,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalNativeDecide_declR
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(295u);
|
||||
x_1 = lean_unsigned_to_nat(298u);
|
||||
x_2 = lean_unsigned_to_nat(69u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
|
|||
4
stage0/stdlib/Lean/Elab/Tactic/Generalize.c
generated
4
stage0/stdlib/Lean/Elab/Tactic/Generalize.c
generated
|
|
@ -51,7 +51,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalGeneralize___lambda__1(lean_obje
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalGeneralize___closed__13;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalGeneralize_declRange___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalGeneralize___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Tactic_elabTerm(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Tactic_elabTerm(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Syntax_isNone(lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalGeneralize___closed__6;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalGeneralize___closed__9;
|
||||
|
|
@ -104,7 +104,7 @@ lean_inc(x_9);
|
|||
lean_inc(x_8);
|
||||
lean_inc(x_7);
|
||||
lean_inc(x_6);
|
||||
x_24 = l_Lean_Elab_Tactic_elabTerm(x_21, x_22, x_23, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
x_24 = l_Lean_Elab_Tactic_elabTerm(x_21, x_22, x_23, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
if (x_19 == 0)
|
||||
{
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
|
|
|
|||
6
stage0/stdlib/Lean/Elab/Tactic/Induction.c
generated
6
stage0/stdlib/Lean/Elab/Tactic/Induction.c
generated
|
|
@ -464,7 +464,7 @@ extern lean_object* l_Lean_instInhabitedName;
|
|||
LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_getAltNumFields___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_checkAltNames___spec__3___boxed(lean_object**);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_getAltNumFields___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_Tactic_elabTerm(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Tactic_elabTerm(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_isHoleRHS___closed__9;
|
||||
lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Syntax_isNone(lean_object*);
|
||||
|
|
@ -16900,7 +16900,7 @@ lean_inc(x_9);
|
|||
lean_inc(x_8);
|
||||
lean_inc(x_7);
|
||||
lean_inc(x_6);
|
||||
x_20 = l_Lean_Elab_Tactic_elabTerm(x_15, x_18, x_19, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
x_20 = l_Lean_Elab_Tactic_elabTerm(x_15, x_18, x_19, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
if (lean_obj_tag(x_20) == 0)
|
||||
{
|
||||
lean_object* x_21; lean_object* x_22; size_t x_23; size_t x_24; lean_object* x_25;
|
||||
|
|
@ -18261,7 +18261,7 @@ lean_inc(x_9);
|
|||
lean_inc(x_8);
|
||||
lean_inc(x_7);
|
||||
lean_inc(x_6);
|
||||
x_24 = l_Lean_Elab_Tactic_elabTerm(x_21, x_22, x_23, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
x_24 = l_Lean_Elab_Tactic_elabTerm(x_21, x_22, x_23, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
if (x_19 == 0)
|
||||
{
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
|
|
|
|||
6
stage0/stdlib/Lean/Elab/Tactic/Rewrite.c
generated
6
stage0/stdlib/Lean/Elab/Tactic/Rewrite.c
generated
|
|
@ -187,7 +187,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq(lean_obj
|
|||
lean_object* lean_nat_mul(lean_object*, lean_object*);
|
||||
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Tactic_elabTerm(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Tactic_elabTerm(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Syntax_isNone(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_evalExpr___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_elabRewriteConfig___closed__1;
|
||||
|
|
@ -243,7 +243,7 @@ lean_inc(x_10);
|
|||
lean_inc(x_9);
|
||||
lean_inc(x_8);
|
||||
lean_inc(x_7);
|
||||
x_15 = l_Lean_Elab_Tactic_elabTerm(x_1, x_2, x_14, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
|
||||
x_15 = l_Lean_Elab_Tactic_elabTerm(x_1, x_2, x_14, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
|
||||
if (lean_obj_tag(x_15) == 0)
|
||||
{
|
||||
lean_object* x_16; lean_object* x_17; lean_object* x_18;
|
||||
|
|
@ -590,7 +590,7 @@ lean_inc(x_11);
|
|||
lean_inc(x_10);
|
||||
lean_inc(x_9);
|
||||
lean_inc(x_8);
|
||||
x_16 = l_Lean_Elab_Tactic_elabTerm(x_1, x_2, x_15, x_8, x_9, x_10, x_11, x_12, x_13, x_14);
|
||||
x_16 = l_Lean_Elab_Tactic_elabTerm(x_1, x_2, x_15, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19;
|
||||
|
|
|
|||
41
stage0/stdlib/Lean/Expr.c
generated
41
stage0/stdlib/Lean/Expr.c
generated
|
|
@ -743,6 +743,7 @@ lean_object* lean_level_update_succ(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_KVMap_findCore(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_instReprData__1___lambda__2___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Expr_isBVar___boxed(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Expr_consumeMDataAndTypeAnnotations(lean_object*);
|
||||
static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__15;
|
||||
static lean_object* l_Lean_instHashableLiteral___closed__1;
|
||||
static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__18;
|
||||
|
|
@ -13017,6 +13018,26 @@ goto _start;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Expr_consumeMDataAndTypeAnnotations(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; uint8_t x_4;
|
||||
x_2 = l_Lean_Expr_consumeMData(x_1);
|
||||
x_3 = lean_expr_consume_type_annotations(x_2);
|
||||
x_4 = lean_expr_eqv(x_3, x_1);
|
||||
if (x_4 == 0)
|
||||
{
|
||||
lean_dec(x_1);
|
||||
x_1 = x_3;
|
||||
goto _start;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_dec(x_3);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Expr_hasAnyFVar_visit(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -13391,7 +13412,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Expr_mkData___closed__5;
|
||||
x_2 = l_Lean_Expr_updateApp_x21___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1068u);
|
||||
x_3 = lean_unsigned_to_nat(1072u);
|
||||
x_4 = lean_unsigned_to_nat(20u);
|
||||
x_5 = l_Lean_Expr_appFn_x21___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -13462,7 +13483,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Expr_mkData___closed__5;
|
||||
x_2 = l_Lean_Expr_updateConst_x21___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1077u);
|
||||
x_3 = lean_unsigned_to_nat(1081u);
|
||||
x_4 = lean_unsigned_to_nat(20u);
|
||||
x_5 = l_Lean_Expr_constName_x21___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -13540,7 +13561,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Expr_mkData___closed__5;
|
||||
x_2 = l_Lean_Expr_updateSort_x21___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1086u);
|
||||
x_3 = lean_unsigned_to_nat(1090u);
|
||||
x_4 = lean_unsigned_to_nat(16u);
|
||||
x_5 = l_Lean_Expr_updateSort_x21___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -13623,7 +13644,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Expr_mkData___closed__5;
|
||||
x_2 = l_Lean_Expr_updateMData_x21___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1103u);
|
||||
x_3 = lean_unsigned_to_nat(1107u);
|
||||
x_4 = lean_unsigned_to_nat(19u);
|
||||
x_5 = l_Lean_Expr_updateMData_x21___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -13693,7 +13714,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Expr_mkData___closed__5;
|
||||
x_2 = l_Lean_Expr_updateProj_x21___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1108u);
|
||||
x_3 = lean_unsigned_to_nat(1112u);
|
||||
x_4 = lean_unsigned_to_nat(20u);
|
||||
x_5 = l_Lean_Expr_updateProj_x21___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -13776,7 +13797,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Expr_mkData___closed__5;
|
||||
x_2 = l_Lean_Expr_updateForall_x21___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1117u);
|
||||
x_3 = lean_unsigned_to_nat(1121u);
|
||||
x_4 = lean_unsigned_to_nat(23u);
|
||||
x_5 = l_Lean_Expr_updateForall_x21___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -13852,7 +13873,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Expr_mkData___closed__5;
|
||||
x_2 = l_Lean_Expr_updateForallE_x21___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1122u);
|
||||
x_3 = lean_unsigned_to_nat(1126u);
|
||||
x_4 = lean_unsigned_to_nat(23u);
|
||||
x_5 = l_Lean_Expr_updateForall_x21___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -13939,7 +13960,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Expr_mkData___closed__5;
|
||||
x_2 = l_Lean_Expr_updateLambda_x21___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1131u);
|
||||
x_3 = lean_unsigned_to_nat(1135u);
|
||||
x_4 = lean_unsigned_to_nat(19u);
|
||||
x_5 = l_Lean_Expr_updateLambda_x21___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -14015,7 +14036,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Expr_mkData___closed__5;
|
||||
x_2 = l_Lean_Expr_updateLambdaE_x21___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1136u);
|
||||
x_3 = lean_unsigned_to_nat(1140u);
|
||||
x_4 = lean_unsigned_to_nat(19u);
|
||||
x_5 = l_Lean_Expr_updateLambda_x21___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -14092,7 +14113,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Expr_mkData___closed__5;
|
||||
x_2 = l_Lean_Expr_updateLet_x21___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1145u);
|
||||
x_3 = lean_unsigned_to_nat(1149u);
|
||||
x_4 = lean_unsigned_to_nat(22u);
|
||||
x_5 = l_Lean_Expr_letName_x21___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
|
|||
12
stage0/stdlib/Lean/Meta/Closure.c
generated
12
stage0/stdlib/Lean/Meta/Closure.c
generated
|
|
@ -3921,7 +3921,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Meta_Closure_collectExprAux___closed__1;
|
||||
x_2 = l_Lean_Meta_Closure_collectExprAux___closed__2;
|
||||
x_3 = lean_unsigned_to_nat(1103u);
|
||||
x_3 = lean_unsigned_to_nat(1107u);
|
||||
x_4 = lean_unsigned_to_nat(19u);
|
||||
x_5 = l_Lean_Meta_Closure_collectExprAux___closed__3;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -3950,7 +3950,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Meta_Closure_collectExprAux___closed__1;
|
||||
x_2 = l_Lean_Meta_Closure_collectExprAux___closed__5;
|
||||
x_3 = lean_unsigned_to_nat(1108u);
|
||||
x_3 = lean_unsigned_to_nat(1112u);
|
||||
x_4 = lean_unsigned_to_nat(20u);
|
||||
x_5 = l_Lean_Meta_Closure_collectExprAux___closed__6;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -3979,7 +3979,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Meta_Closure_collectExprAux___closed__1;
|
||||
x_2 = l_Lean_Meta_Closure_collectExprAux___closed__8;
|
||||
x_3 = lean_unsigned_to_nat(1068u);
|
||||
x_3 = lean_unsigned_to_nat(1072u);
|
||||
x_4 = lean_unsigned_to_nat(20u);
|
||||
x_5 = l_Lean_Meta_Closure_collectExprAux___closed__9;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -4008,7 +4008,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Meta_Closure_collectExprAux___closed__1;
|
||||
x_2 = l_Lean_Meta_Closure_collectExprAux___closed__11;
|
||||
x_3 = lean_unsigned_to_nat(1136u);
|
||||
x_3 = lean_unsigned_to_nat(1140u);
|
||||
x_4 = lean_unsigned_to_nat(19u);
|
||||
x_5 = l_Lean_Meta_Closure_collectExprAux___closed__12;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -4037,7 +4037,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Meta_Closure_collectExprAux___closed__1;
|
||||
x_2 = l_Lean_Meta_Closure_collectExprAux___closed__14;
|
||||
x_3 = lean_unsigned_to_nat(1122u);
|
||||
x_3 = lean_unsigned_to_nat(1126u);
|
||||
x_4 = lean_unsigned_to_nat(23u);
|
||||
x_5 = l_Lean_Meta_Closure_collectExprAux___closed__15;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -4066,7 +4066,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Meta_Closure_collectExprAux___closed__1;
|
||||
x_2 = l_Lean_Meta_Closure_collectExprAux___closed__17;
|
||||
x_3 = lean_unsigned_to_nat(1145u);
|
||||
x_3 = lean_unsigned_to_nat(1149u);
|
||||
x_4 = lean_unsigned_to_nat(22u);
|
||||
x_5 = l_Lean_Meta_Closure_collectExprAux___closed__18;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
|
|||
10
stage0/stdlib/Lean/Meta/ExprDefEq.c
generated
10
stage0/stdlib/Lean/Meta/ExprDefEq.c
generated
|
|
@ -15320,7 +15320,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Meta_CheckAssignment_check___closed__1;
|
||||
x_2 = l_Lean_Meta_CheckAssignment_check___closed__2;
|
||||
x_3 = lean_unsigned_to_nat(1103u);
|
||||
x_3 = lean_unsigned_to_nat(1107u);
|
||||
x_4 = lean_unsigned_to_nat(19u);
|
||||
x_5 = l_Lean_Meta_CheckAssignment_check___closed__3;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -15349,7 +15349,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Meta_CheckAssignment_check___closed__1;
|
||||
x_2 = l_Lean_Meta_CheckAssignment_check___closed__5;
|
||||
x_3 = lean_unsigned_to_nat(1108u);
|
||||
x_3 = lean_unsigned_to_nat(1112u);
|
||||
x_4 = lean_unsigned_to_nat(20u);
|
||||
x_5 = l_Lean_Meta_CheckAssignment_check___closed__6;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -15378,7 +15378,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Meta_CheckAssignment_check___closed__1;
|
||||
x_2 = l_Lean_Meta_CheckAssignment_check___closed__8;
|
||||
x_3 = lean_unsigned_to_nat(1136u);
|
||||
x_3 = lean_unsigned_to_nat(1140u);
|
||||
x_4 = lean_unsigned_to_nat(19u);
|
||||
x_5 = l_Lean_Meta_CheckAssignment_check___closed__9;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -15407,7 +15407,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Meta_CheckAssignment_check___closed__1;
|
||||
x_2 = l_Lean_Meta_CheckAssignment_check___closed__11;
|
||||
x_3 = lean_unsigned_to_nat(1122u);
|
||||
x_3 = lean_unsigned_to_nat(1126u);
|
||||
x_4 = lean_unsigned_to_nat(23u);
|
||||
x_5 = l_Lean_Meta_CheckAssignment_check___closed__12;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -15436,7 +15436,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Meta_CheckAssignment_check___closed__1;
|
||||
x_2 = l_Lean_Meta_CheckAssignment_check___closed__14;
|
||||
x_3 = lean_unsigned_to_nat(1145u);
|
||||
x_3 = lean_unsigned_to_nat(1149u);
|
||||
x_4 = lean_unsigned_to_nat(22u);
|
||||
x_5 = l_Lean_Meta_CheckAssignment_check___closed__15;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
|
|||
4
stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c
generated
4
stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c
generated
|
|
@ -1899,7 +1899,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_mkImpCongr___closed__1;
|
||||
x_2 = l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_mkImpCongr___closed__2;
|
||||
x_3 = lean_unsigned_to_nat(1122u);
|
||||
x_3 = lean_unsigned_to_nat(1126u);
|
||||
x_4 = lean_unsigned_to_nat(23u);
|
||||
x_5 = l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_mkImpCongr___closed__3;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -35418,7 +35418,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_mkImpCongr___closed__1;
|
||||
x_2 = l_Lean_Meta_Simp_simp_simpProj___lambda__1___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1108u);
|
||||
x_3 = lean_unsigned_to_nat(1112u);
|
||||
x_4 = lean_unsigned_to_nat(20u);
|
||||
x_5 = l_Lean_Meta_Simp_simp_simpProj___lambda__1___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
|
|||
|
|
@ -13207,7 +13207,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Meta_SimpTheorem_getValue___closed__1;
|
||||
x_2 = l_Lean_Meta_SimpTheorem_getValue___closed__2;
|
||||
x_3 = lean_unsigned_to_nat(1077u);
|
||||
x_3 = lean_unsigned_to_nat(1081u);
|
||||
x_4 = lean_unsigned_to_nat(20u);
|
||||
x_5 = l_Lean_Meta_SimpTheorem_getValue___closed__3;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
|
|||
10
stage0/stdlib/Lean/Meta/Transform.c
generated
10
stage0/stdlib/Lean/Meta/Transform.c
generated
|
|
@ -691,7 +691,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Core_transform_visit___rarg___lambda__2___closed__1;
|
||||
x_2 = l_Lean_Core_transform_visit___rarg___lambda__2___closed__2;
|
||||
x_3 = lean_unsigned_to_nat(1136u);
|
||||
x_3 = lean_unsigned_to_nat(1140u);
|
||||
x_4 = lean_unsigned_to_nat(19u);
|
||||
x_5 = l_Lean_Core_transform_visit___rarg___lambda__2___closed__3;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -797,7 +797,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Core_transform_visit___rarg___lambda__2___closed__1;
|
||||
x_2 = l_Lean_Core_transform_visit___rarg___lambda__4___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1122u);
|
||||
x_3 = lean_unsigned_to_nat(1126u);
|
||||
x_4 = lean_unsigned_to_nat(23u);
|
||||
x_5 = l_Lean_Core_transform_visit___rarg___lambda__4___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -903,7 +903,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Core_transform_visit___rarg___lambda__2___closed__1;
|
||||
x_2 = l_Lean_Core_transform_visit___rarg___lambda__6___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1145u);
|
||||
x_3 = lean_unsigned_to_nat(1149u);
|
||||
x_4 = lean_unsigned_to_nat(22u);
|
||||
x_5 = l_Lean_Core_transform_visit___rarg___lambda__6___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -1040,7 +1040,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Core_transform_visit___rarg___lambda__2___closed__1;
|
||||
x_2 = l_Lean_Core_transform_visit___rarg___lambda__9___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1103u);
|
||||
x_3 = lean_unsigned_to_nat(1107u);
|
||||
x_4 = lean_unsigned_to_nat(19u);
|
||||
x_5 = l_Lean_Core_transform_visit___rarg___lambda__9___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -1113,7 +1113,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_Core_transform_visit___rarg___lambda__2___closed__1;
|
||||
x_2 = l_Lean_Core_transform_visit___rarg___lambda__10___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1108u);
|
||||
x_3 = lean_unsigned_to_nat(1112u);
|
||||
x_4 = lean_unsigned_to_nat(20u);
|
||||
x_5 = l_Lean_Core_transform_visit___rarg___lambda__10___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
|
|||
14
stage0/stdlib/Lean/MetavarContext.c
generated
14
stage0/stdlib/Lean/MetavarContext.c
generated
|
|
@ -15936,7 +15936,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__10___closed__1;
|
||||
x_2 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__10___closed__2;
|
||||
x_3 = lean_unsigned_to_nat(1086u);
|
||||
x_3 = lean_unsigned_to_nat(1090u);
|
||||
x_4 = lean_unsigned_to_nat(16u);
|
||||
x_5 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__10___closed__3;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -16018,7 +16018,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__10___closed__1;
|
||||
x_2 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__11___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1077u);
|
||||
x_3 = lean_unsigned_to_nat(1081u);
|
||||
x_4 = lean_unsigned_to_nat(20u);
|
||||
x_5 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__11___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -16103,7 +16103,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__10___closed__1;
|
||||
x_2 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__12___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1136u);
|
||||
x_3 = lean_unsigned_to_nat(1140u);
|
||||
x_4 = lean_unsigned_to_nat(19u);
|
||||
x_5 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__12___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -16209,7 +16209,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__10___closed__1;
|
||||
x_2 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__14___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1122u);
|
||||
x_3 = lean_unsigned_to_nat(1126u);
|
||||
x_4 = lean_unsigned_to_nat(23u);
|
||||
x_5 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__14___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -16315,7 +16315,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__10___closed__1;
|
||||
x_2 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__16___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1145u);
|
||||
x_3 = lean_unsigned_to_nat(1149u);
|
||||
x_4 = lean_unsigned_to_nat(22u);
|
||||
x_5 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__16___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -16448,7 +16448,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__10___closed__1;
|
||||
x_2 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__19___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1103u);
|
||||
x_3 = lean_unsigned_to_nat(1107u);
|
||||
x_4 = lean_unsigned_to_nat(19u);
|
||||
x_5 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__19___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -16533,7 +16533,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__10___closed__1;
|
||||
x_2 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__20___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(1108u);
|
||||
x_3 = lean_unsigned_to_nat(1112u);
|
||||
x_4 = lean_unsigned_to_nat(20u);
|
||||
x_5 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__20___closed__2;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
|
|||
445
stage0/stdlib/Lean/Server/References.c
generated
445
stage0/stdlib/Lean/Server/References.c
generated
|
|
@ -15,13 +15,14 @@ extern "C" {
|
|||
#endif
|
||||
lean_object* l_List_reverse___rarg(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMap_toList___at_Lean_Server_References_removeIlean___spec__1(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Server_combineFvars___spec__6(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Server_References_allRefs___spec__7(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_contains___at_Lean_Server_combineFvars___spec__19___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_References_removeWorkerRefs___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Server_References_removeIlean___spec__8(lean_object*, lean_object*);
|
||||
size_t lean_usize_add(size_t, size_t);
|
||||
static lean_object* l_Lean_Server_instInhabitedReference___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_dedupReferences___spec__7___at_Lean_Server_dedupReferences___spec__8(lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Std_HashMapImp_contains___at_Lean_Server_combineFvars___spec__19(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_References_definitionOf_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_References_updateWorkerRefs___lambda__1___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_instFromJsonIlean;
|
||||
|
|
@ -29,7 +30,6 @@ lean_object* lean_mk_empty_array_with_capacity(lean_object*);
|
|||
lean_object* lean_nat_div(lean_object*, lean_object*);
|
||||
lean_object* l___private_Std_Data_HashMap_0__Std_numBucketsForCapacity(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_References_referringTo___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Server_combineFvars___spec__15(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Server_References_removeWorkerRefs___spec__2___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Server_References_referringTo___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_usize_dec_eq(size_t, size_t);
|
||||
|
|
@ -45,28 +45,27 @@ static lean_object* l_Lean_Lsp_RefInfo_empty___closed__1;
|
|||
LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Server_References_removeIlean___spec__7(lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Server_References_0__Lean_Server_beqReference____x40_Lean_Server_References___hyg_31_(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Server_References_removeIlean___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__18___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Server_References_allRefs___spec__3(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Server_References_empty___spec__1(lean_object*);
|
||||
uint64_t l___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_hashRange____x40_Lean_Data_Lsp_Basic___hyg_580_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Lsp_RefInfo_addRef(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Server_combineFvars___spec__10(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_qsort_sort___at_Lean_Server_dedupReferences___spec__12___lambda__1___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_References_updateWorkerRefs___lambda__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Lsp_RefInfo_contains_contains___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_Server_combineFvars___spec__14___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_combineFvars_findCanonicalBinder(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Server_References_removeIlean___spec__8___boxed(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Lsp_instHashableRefIdent;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__20(lean_object*, lean_object*, size_t, size_t, lean_object*);
|
||||
static lean_object* l_Lean_Server_instInhabitedReference___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_References_allRefs___spec__10(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_filterAux___at_Lean_Server_References_removeIlean___spec__4___boxed(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_Server_References_allRefs___spec__2(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_findReferences___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Std_HashMapImp_contains___at_Lean_Server_combineFvars___spec__2(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Server_References_allRefs___spec__7___boxed(lean_object*);
|
||||
uint8_t lean_name_eq(lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Std_HashMapImp_contains___at_Lean_Server_combineFvars___spec__20(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_References_referringTo___spec__3(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_References_referringTo___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Server_References_removeIlean___spec__6(lean_object*, lean_object*);
|
||||
|
|
@ -83,15 +82,12 @@ LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Server_References_empty___spe
|
|||
LEAN_EXPORT lean_object* l_Lean_Server_References_definitionsMatching___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_qpartition_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_IO_throwServerError___rarg(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_combineFvars___spec__7(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_combineFvars_applyIdMap(lean_object*, lean_object*);
|
||||
uint8_t l_instDecidableRelLeLeOfOrd___rarg(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Server_instInhabitedReference___closed__2;
|
||||
lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Internal_0__Lean_Lsp_fromJsonLeanIleanInfoParams____x40_Lean_Data_Lsp_Internal___hyg_778____spec__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Server_References_0__Lean_Server_beqReference____x40_Lean_Server_References___hyg_31____boxed(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Server_findModuleRefs___lambda__1___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_contains___at_Lean_Server_combineFvars___spec__2___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_Server_combineFvars___spec__14(lean_object*, lean_object*);
|
||||
lean_object* l_List_join___rarg(lean_object*);
|
||||
uint8_t lean_usize_dec_lt(size_t, size_t);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_findReferences(lean_object*, lean_object*);
|
||||
|
|
@ -106,7 +102,6 @@ LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Server_Reference
|
|||
LEAN_EXPORT lean_object* l_Lean_Server_References_finalizeWorkerRefs___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_References_referringTo(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*);
|
||||
size_t lean_uint64_to_usize(uint64_t);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__8(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Server_combineFvars_findCanonicalBinder___spec__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_InfoTree_deepestNodes___rarg(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Lsp_ModuleRefs_addRef___spec__1(lean_object*, lean_object*);
|
||||
|
|
@ -115,7 +110,6 @@ LEAN_EXPORT lean_object* l_Lean_Server_References_definitionsMatching(lean_objec
|
|||
LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_References_allRefs___spec__10___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_References_updateWorkerRefs___spec__3(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Server_combineFvars_findCanonicalBinder___spec__2(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__21___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Server_References_findAt___closed__1;
|
||||
static lean_object* l_Lean_Server_findModuleRefs___closed__2;
|
||||
lean_object* lean_array_fget(lean_object*, lean_object*);
|
||||
|
|
@ -131,6 +125,7 @@ lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Basic_0__L
|
|||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Server_References_removeIlean___spec__3(lean_object*, size_t, size_t, lean_object*);
|
||||
extern lean_object* l_Lean_Lsp_instBEqRange;
|
||||
lean_object* lean_array_swap(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Server_combineFvars___spec__5(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_io_realpath(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_References_referringTo___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*);
|
||||
lean_object* l_String_Range_toLspRange(lean_object*, lean_object*);
|
||||
|
|
@ -146,17 +141,17 @@ LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Lsp_ModuleRefs_findAt___spe
|
|||
static lean_object* l_Lean_Server_dedupReferences___closed__2;
|
||||
lean_object* l_Lean_Name_toString(lean_object*, uint8_t);
|
||||
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Server_combineFvars___spec__13(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_References_referringTo___spec__3___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_References_updateWorkerRefs(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Server_References_findAt___closed__2;
|
||||
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Std_mkHashMapImp___rarg(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__7(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Server_References_allRefs___spec__8(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Server_combineFvars___spec__12(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_Ilean_load(lean_object*, lean_object*);
|
||||
uint8_t l___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_beqRange____x40_Lean_Data_Lsp_Basic___hyg_509_(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Server_instBEqReference___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__19___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint64_t l_Lean_Name_hash(lean_object*);
|
||||
static lean_object* l_Lean_Server_dedupReferences___closed__4;
|
||||
LEAN_EXPORT uint8_t l_Lean_Lsp_RefInfo_contains___lambda__1(lean_object*);
|
||||
|
|
@ -164,14 +159,15 @@ LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Server_References_referring
|
|||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Server_References_referringTo___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_Server_References_updateWorkerRefs___spec__5(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_References_allRefs(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Lsp_RefInfo_contains___lambda__1___boxed(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__18(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Server_References_updateWorkerRefs___spec__2___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Server_References_updateWorkerRefs___spec__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Server_References_referringTo___spec__4(lean_object*, size_t, size_t, lean_object*);
|
||||
static lean_object* l_Lean_Server_dedupReferences___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Server_References_addIlean___spec__3(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_References_removeWorkerRefs(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__17(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Server_References_definitionsMatching___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Json_parse(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Server_dedupReferences___spec__5(lean_object*, lean_object*);
|
||||
|
|
@ -179,7 +175,6 @@ LEAN_EXPORT lean_object* l_Std_HashMap_toList___at_Lean_Server_References_allRef
|
|||
LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_Server_References_addIlean___spec__2(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_References_removeIlean___spec__2___boxed(lean_object*, lean_object*);
|
||||
size_t lean_usize_modn(size_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Server_combineFvars___spec__12___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_contains___at_Lean_Server_dedupReferences___spec__2___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Server_dedupReferences___spec__4(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Lsp_instHashableRange;
|
||||
|
|
@ -191,13 +186,12 @@ LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Server_References_empty___spe
|
|||
LEAN_EXPORT lean_object* l_Lean_Server_findReferences___boxed(lean_object*, lean_object*);
|
||||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Lsp_RefInfo_contains___spec__1___closed__2;
|
||||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_findReferences___spec__1___lambda__2___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Server_combineFvars___spec__11(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_dedupReferences___spec__11(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Server_combineFvars___spec__10(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_Server_combineFvars___spec__3___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Server_combineFvars___spec__11___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_findModuleRefs___boxed(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__21(lean_object*, lean_object*, size_t, size_t, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Array_qsort_sort___at_Lean_Server_dedupReferences___spec__12___lambda__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__20___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Info_range_x3f(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_findReferences___spec__1___lambda__1(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Lsp_ModuleRefs_addRef(lean_object*, lean_object*);
|
||||
|
|
@ -207,28 +201,28 @@ LEAN_EXPORT lean_object* l_Lean_Lsp_RefInfo_empty;
|
|||
size_t lean_usize_of_nat(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Lsp_RefInfo_merge(lean_object*, lean_object*);
|
||||
lean_object* l_instBEqProd___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_combineFvars___spec__17(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__9(lean_object*, size_t, size_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_Server_combineFvars___spec__13___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Server_References_allRefs___spec__12(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Server_combineFvars___spec__16(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_identOf___boxed(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Server_combineFvars___spec__2(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_combineFvars___spec__16(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Server_findModuleRefs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_References_findAt(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_contains___at_Lean_Server_combineFvars___spec__20___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Server_References_0__Lean_Server_toJsonIlean____x40_Lean_Server_References___hyg_754_(lean_object*);
|
||||
extern lean_object* l_Lean_Lsp_instOrdPosition;
|
||||
static lean_object* l___private_Lean_Server_References_0__Lean_Server_fromJsonIlean____x40_Lean_Server_References___hyg_685____closed__2;
|
||||
LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Server_References_referringTo___spec__6(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_References_definitionOf_x3f___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Server_dedupReferences___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__8(lean_object*, size_t, size_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Server_References_definitionsMatching___spec__2(lean_object*);
|
||||
static lean_object* l_Lean_Lsp_RefInfo_contains___lambda__2___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Server_findModuleRefs___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Std_HashMapImp_contains___at_Lean_Server_dedupReferences___spec__2(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Lsp_RefInfo_contains___lambda__2___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_References_updateWorkerRefs___spec__8(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Server_combineFvars___spec__4(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMap_toList___at_Lean_Server_References_referringTo___spec__2(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_combineFvars___spec__6(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Server_References_allRefs___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_JsonNumber_fromNat(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_findModuleRefs(lean_object*, lean_object*, uint8_t);
|
||||
|
|
@ -238,19 +232,20 @@ LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Server_References_remo
|
|||
LEAN_EXPORT lean_object* l_Lean_Lsp_ModuleRefs_findAt(lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Server_References_0__Lean_Server_fromJsonIlean____x40_Lean_Server_References___hyg_685____closed__3;
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_instInhabitedReference;
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Server_combineFvars___spec__4(lean_object*, lean_object*);
|
||||
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Server_References_referringTo___spec__7(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Server_References_empty___spec__1___boxed(lean_object*);
|
||||
static lean_object* l_Lean_Server_Ilean_load___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_Server_References_allRefs___spec__2___boxed(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Lsp_instBEqRefIdent;
|
||||
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Server_combineFvars___spec__10___boxed(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_References_updateWorkerRefs___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Server_dedupReferences___spec__13(lean_object*, size_t, size_t, lean_object*);
|
||||
static lean_object* l_Lean_Server_findModuleRefs___closed__1;
|
||||
static lean_object* l___private_Lean_Server_References_0__Lean_Server_fromJsonIlean____x40_Lean_Server_References___hyg_685____closed__1;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Lsp_RefInfo_contains___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Server_References_removeIlean___spec__7___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_Server_combineFvars___spec__13(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_dedupReferences___spec__7(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Server_References_definitionsMatching___spec__1(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Server_combineFvars_findCanonicalBinder___spec__2___boxed(lean_object*, lean_object*);
|
||||
|
|
@ -262,18 +257,18 @@ LEAN_EXPORT lean_object* l_Lean_Server_combineFvars(lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Lean_Server_Ilean_load___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Json_mkObj(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Server_References_findAt___spec__2(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__18(lean_object*, lean_object*, size_t, size_t, lean_object*);
|
||||
lean_object* lean_nat_mul(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Server_dedupReferences___spec__6(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Server_References_referringTo___spec__5(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__19(lean_object*, lean_object*, size_t, size_t, lean_object*);
|
||||
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Lsp_ModuleRefs_addRef___spec__2___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Server_combineFvars___spec__12(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_dedupReferences___spec__10(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
|
||||
static lean_object* l_Lean_Server_instToJsonIlean___closed__1;
|
||||
static lean_object* l_Lean_Server_Ilean_load___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Server_dedupReferences___spec__1___boxed(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_filterAux___at_Lean_Server_References_removeIlean___spec__4(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Server_combineFvars___spec__14(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Server_References_definitionsMatching___rarg___closed__1;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Server_References_0__Lean_Server_fromJsonIlean____x40_Lean_Server_References___hyg_685_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Server_findModuleRefs___spec__2(lean_object*, size_t, size_t, lean_object*);
|
||||
|
|
@ -282,6 +277,7 @@ lean_object* lean_mk_array(lean_object*, lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Lean_Server_findModuleRefs___lambda__1___boxed(lean_object*, lean_object*);
|
||||
uint64_t lean_uint64_mix_hash(uint64_t, uint64_t);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_Server_References_allRefs___spec__6(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Server_combineFvars___spec__9___boxed(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_References_finalizeWorkerRefs___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_Server_References_updateWorkerRefs___spec__5___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Server_References_updateWorkerRefs___spec__2(lean_object*, lean_object*);
|
||||
|
|
@ -311,11 +307,12 @@ LEAN_EXPORT lean_object* l_Lean_Server_References_findAt___lambda__1(lean_object
|
|||
lean_object* l_Lean_SearchPath_findModuleWithExt(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_instDecidableRelLtLtOfOrd___rarg(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Server_References_allRefs___spec__1(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Server_combineFvars___spec__5(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Server_combineFvars___spec__9(lean_object*);
|
||||
lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonRpcCallParams____x40_Lean_Data_Lsp_Extra___hyg_1254____spec__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_References_definitionOf_x3f(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Lsp_DocumentUri_ofPath(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_instToJsonIlean;
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Server_combineFvars___spec__11(lean_object*, lean_object*);
|
||||
static lean_object* l_Array_qsort_sort___at_Lean_Server_dedupReferences___spec__12___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_Ilean_version___default;
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Server_References_updateWorkerRefs___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -325,6 +322,7 @@ LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_Server_combineFvars___spe
|
|||
LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Server_References_definitionOf_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_qsort_sort___at_Lean_Server_dedupReferences___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Server_combineFvars___spec__15(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Server_instFromJsonIlean___closed__1;
|
||||
lean_object* l_Std_HashMap_insert___at_Lean_Lsp_instFromJsonModuleRefs___spec__1(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Server_References_0__Lean_Server_beqReference____x40_Lean_Server_References___hyg_31_(lean_object* x_1, lean_object* x_2) {
|
||||
|
|
@ -1955,27 +1953,7 @@ return x_8;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT uint8_t l_Std_HashMapImp_contains___at_Lean_Server_combineFvars___spec__2(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4; uint64_t x_5; size_t x_6; size_t x_7; lean_object* x_8; uint8_t x_9;
|
||||
x_3 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_3);
|
||||
lean_dec(x_1);
|
||||
x_4 = lean_array_get_size(x_3);
|
||||
x_5 = l___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_hashRange____x40_Lean_Data_Lsp_Basic___hyg_580_(x_2);
|
||||
x_6 = lean_uint64_to_usize(x_5);
|
||||
x_7 = lean_usize_modn(x_6, x_4);
|
||||
lean_dec(x_4);
|
||||
x_8 = lean_array_uget(x_3, x_7);
|
||||
lean_dec(x_3);
|
||||
x_9 = l_Std_AssocList_contains___at_Lean_Server_combineFvars___spec__3(x_2, x_8);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_2);
|
||||
return x_9;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_combineFvars___spec__7(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_combineFvars___spec__6(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_2) == 0)
|
||||
|
|
@ -2031,7 +2009,7 @@ goto _start;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Server_combineFvars___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Server_combineFvars___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_4; uint8_t x_5;
|
||||
|
|
@ -2050,7 +2028,7 @@ lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_obj
|
|||
x_6 = lean_array_fget(x_2, x_1);
|
||||
x_7 = lean_box(0);
|
||||
x_8 = lean_array_fset(x_2, x_1, x_7);
|
||||
x_9 = l_Std_AssocList_foldlM___at_Lean_Server_combineFvars___spec__7(x_3, x_6);
|
||||
x_9 = l_Std_AssocList_foldlM___at_Lean_Server_combineFvars___spec__6(x_3, x_6);
|
||||
x_10 = lean_unsigned_to_nat(1u);
|
||||
x_11 = lean_nat_add(x_1, x_10);
|
||||
lean_dec(x_1);
|
||||
|
|
@ -2061,7 +2039,7 @@ goto _start;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Server_combineFvars___spec__5(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Server_combineFvars___spec__4(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
|
||||
|
|
@ -2072,14 +2050,14 @@ lean_dec(x_3);
|
|||
x_6 = lean_box(0);
|
||||
x_7 = lean_mk_array(x_5, x_6);
|
||||
x_8 = lean_unsigned_to_nat(0u);
|
||||
x_9 = l_Std_HashMapImp_moveEntries___at_Lean_Server_combineFvars___spec__6(x_8, x_2, x_7);
|
||||
x_9 = l_Std_HashMapImp_moveEntries___at_Lean_Server_combineFvars___spec__5(x_8, x_2, x_7);
|
||||
x_10 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_10, 0, x_1);
|
||||
lean_ctor_set(x_10, 1, x_9);
|
||||
return x_10;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_3) == 0)
|
||||
|
|
@ -2104,7 +2082,7 @@ x_9 = l___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_beqRange____x40_Lean_Data_Lsp_
|
|||
if (x_9 == 0)
|
||||
{
|
||||
lean_object* x_10;
|
||||
x_10 = l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__8(x_1, x_2, x_8);
|
||||
x_10 = l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__7(x_1, x_2, x_8);
|
||||
lean_ctor_set(x_3, 2, x_10);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -2131,7 +2109,7 @@ x_14 = l___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_beqRange____x40_Lean_Data_Lsp
|
|||
if (x_14 == 0)
|
||||
{
|
||||
lean_object* x_15; lean_object* x_16;
|
||||
x_15 = l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__8(x_1, x_2, x_13);
|
||||
x_15 = l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__7(x_1, x_2, x_13);
|
||||
x_16 = lean_alloc_ctor(1, 3, 0);
|
||||
lean_ctor_set(x_16, 0, x_11);
|
||||
lean_ctor_set(x_16, 1, x_12);
|
||||
|
|
@ -2153,7 +2131,7 @@ return x_17;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Server_combineFvars___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Server_combineFvars___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_4;
|
||||
|
|
@ -2188,7 +2166,7 @@ if (x_18 == 0)
|
|||
{
|
||||
lean_object* x_19;
|
||||
lean_free_object(x_1);
|
||||
x_19 = l_Std_HashMapImp_expand___at_Lean_Server_combineFvars___spec__5(x_14, x_16);
|
||||
x_19 = l_Std_HashMapImp_expand___at_Lean_Server_combineFvars___spec__4(x_14, x_16);
|
||||
return x_19;
|
||||
}
|
||||
else
|
||||
|
|
@ -2202,7 +2180,7 @@ else
|
|||
{
|
||||
lean_object* x_20; lean_object* x_21;
|
||||
lean_dec(x_7);
|
||||
x_20 = l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__8(x_2, x_3, x_11);
|
||||
x_20 = l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__7(x_2, x_3, x_11);
|
||||
x_21 = lean_array_uset(x_6, x_10, x_20);
|
||||
lean_ctor_set(x_1, 1, x_21);
|
||||
return x_1;
|
||||
|
|
@ -2240,7 +2218,7 @@ lean_dec(x_34);
|
|||
if (x_35 == 0)
|
||||
{
|
||||
lean_object* x_36;
|
||||
x_36 = l_Std_HashMapImp_expand___at_Lean_Server_combineFvars___spec__5(x_31, x_33);
|
||||
x_36 = l_Std_HashMapImp_expand___at_Lean_Server_combineFvars___spec__4(x_31, x_33);
|
||||
return x_36;
|
||||
}
|
||||
else
|
||||
|
|
@ -2256,7 +2234,7 @@ else
|
|||
{
|
||||
lean_object* x_38; lean_object* x_39; lean_object* x_40;
|
||||
lean_dec(x_24);
|
||||
x_38 = l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__8(x_2, x_3, x_28);
|
||||
x_38 = l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__7(x_2, x_3, x_28);
|
||||
x_39 = lean_array_uset(x_23, x_27, x_38);
|
||||
x_40 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_40, 0, x_22);
|
||||
|
|
@ -2266,7 +2244,7 @@ return x_40;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__9(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) {
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__8(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_5;
|
||||
|
|
@ -2307,42 +2285,25 @@ goto _start;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_15; lean_object* x_16; uint8_t x_17;
|
||||
lean_object* x_15; lean_object* x_16; lean_object* x_17; size_t x_18; size_t x_19;
|
||||
x_15 = lean_ctor_get(x_6, 1);
|
||||
lean_inc(x_15);
|
||||
lean_dec(x_6);
|
||||
x_16 = lean_ctor_get(x_7, 0);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_7);
|
||||
lean_inc(x_15);
|
||||
lean_inc(x_4);
|
||||
x_17 = l_Std_HashMapImp_contains___at_Lean_Server_combineFvars___spec__2(x_4, x_15);
|
||||
if (x_17 == 0)
|
||||
{
|
||||
lean_object* x_18; size_t x_19; size_t x_20;
|
||||
x_18 = l_Std_HashMap_insert___at_Lean_Server_combineFvars___spec__4(x_4, x_15, x_16);
|
||||
x_19 = 1;
|
||||
x_20 = lean_usize_add(x_3, x_19);
|
||||
x_3 = x_20;
|
||||
x_4 = x_18;
|
||||
goto _start;
|
||||
}
|
||||
else
|
||||
{
|
||||
size_t x_22; size_t x_23;
|
||||
lean_dec(x_16);
|
||||
lean_dec(x_15);
|
||||
x_22 = 1;
|
||||
x_23 = lean_usize_add(x_3, x_22);
|
||||
x_3 = x_23;
|
||||
x_17 = l_Std_HashMap_insert___at_Lean_Server_combineFvars___spec__2(x_4, x_15, x_16);
|
||||
x_18 = 1;
|
||||
x_19 = lean_usize_add(x_3, x_18);
|
||||
x_3 = x_19;
|
||||
x_4 = x_17;
|
||||
goto _start;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Server_combineFvars___spec__10(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Server_combineFvars___spec__9(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
|
|
@ -2350,7 +2311,7 @@ x_2 = l_Std_mkHashMapImp___rarg(x_1);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Server_combineFvars___spec__12(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Server_combineFvars___spec__11(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_2) == 0)
|
||||
|
|
@ -2382,7 +2343,7 @@ return x_9;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Server_combineFvars___spec__11(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Server_combineFvars___spec__10(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4; uint64_t x_5; size_t x_6; size_t x_7; lean_object* x_8; lean_object* x_9;
|
||||
|
|
@ -2396,13 +2357,13 @@ x_7 = lean_usize_modn(x_6, x_4);
|
|||
lean_dec(x_4);
|
||||
x_8 = lean_array_uget(x_3, x_7);
|
||||
lean_dec(x_3);
|
||||
x_9 = l_Std_AssocList_find_x3f___at_Lean_Server_combineFvars___spec__12(x_2, x_8);
|
||||
x_9 = l_Std_AssocList_find_x3f___at_Lean_Server_combineFvars___spec__11(x_2, x_8);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_2);
|
||||
return x_9;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_Server_combineFvars___spec__14(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_Server_combineFvars___spec__13(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_2) == 0)
|
||||
|
|
@ -2431,7 +2392,7 @@ return x_8;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_combineFvars___spec__17(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_combineFvars___spec__16(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_2) == 0)
|
||||
|
|
@ -2487,7 +2448,7 @@ goto _start;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Server_combineFvars___spec__16(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Server_combineFvars___spec__15(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_4; uint8_t x_5;
|
||||
|
|
@ -2506,7 +2467,7 @@ lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_obj
|
|||
x_6 = lean_array_fget(x_2, x_1);
|
||||
x_7 = lean_box(0);
|
||||
x_8 = lean_array_fset(x_2, x_1, x_7);
|
||||
x_9 = l_Std_AssocList_foldlM___at_Lean_Server_combineFvars___spec__17(x_3, x_6);
|
||||
x_9 = l_Std_AssocList_foldlM___at_Lean_Server_combineFvars___spec__16(x_3, x_6);
|
||||
x_10 = lean_unsigned_to_nat(1u);
|
||||
x_11 = lean_nat_add(x_1, x_10);
|
||||
lean_dec(x_1);
|
||||
|
|
@ -2517,7 +2478,7 @@ goto _start;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Server_combineFvars___spec__15(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Server_combineFvars___spec__14(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
|
||||
|
|
@ -2528,14 +2489,14 @@ lean_dec(x_3);
|
|||
x_6 = lean_box(0);
|
||||
x_7 = lean_mk_array(x_5, x_6);
|
||||
x_8 = lean_unsigned_to_nat(0u);
|
||||
x_9 = l_Std_HashMapImp_moveEntries___at_Lean_Server_combineFvars___spec__16(x_8, x_2, x_7);
|
||||
x_9 = l_Std_HashMapImp_moveEntries___at_Lean_Server_combineFvars___spec__15(x_8, x_2, x_7);
|
||||
x_10 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_10, 0, x_1);
|
||||
lean_ctor_set(x_10, 1, x_9);
|
||||
return x_10;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__18(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__17(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_3) == 0)
|
||||
|
|
@ -2560,7 +2521,7 @@ x_9 = lean_name_eq(x_6, x_1);
|
|||
if (x_9 == 0)
|
||||
{
|
||||
lean_object* x_10;
|
||||
x_10 = l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__18(x_1, x_2, x_8);
|
||||
x_10 = l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__17(x_1, x_2, x_8);
|
||||
lean_ctor_set(x_3, 2, x_10);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -2587,7 +2548,7 @@ x_14 = lean_name_eq(x_11, x_1);
|
|||
if (x_14 == 0)
|
||||
{
|
||||
lean_object* x_15; lean_object* x_16;
|
||||
x_15 = l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__18(x_1, x_2, x_13);
|
||||
x_15 = l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__17(x_1, x_2, x_13);
|
||||
x_16 = lean_alloc_ctor(1, 3, 0);
|
||||
lean_ctor_set(x_16, 0, x_11);
|
||||
lean_ctor_set(x_16, 1, x_12);
|
||||
|
|
@ -2609,7 +2570,7 @@ return x_17;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Server_combineFvars___spec__13(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Server_combineFvars___spec__12(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_4;
|
||||
|
|
@ -2624,7 +2585,7 @@ x_8 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1871_(x_2)
|
|||
x_9 = lean_uint64_to_usize(x_8);
|
||||
x_10 = lean_usize_modn(x_9, x_7);
|
||||
x_11 = lean_array_uget(x_6, x_10);
|
||||
x_12 = l_Std_AssocList_contains___at_Lean_Server_combineFvars___spec__14(x_2, x_11);
|
||||
x_12 = l_Std_AssocList_contains___at_Lean_Server_combineFvars___spec__13(x_2, x_11);
|
||||
if (x_12 == 0)
|
||||
{
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18;
|
||||
|
|
@ -2644,7 +2605,7 @@ if (x_18 == 0)
|
|||
{
|
||||
lean_object* x_19;
|
||||
lean_free_object(x_1);
|
||||
x_19 = l_Std_HashMapImp_expand___at_Lean_Server_combineFvars___spec__15(x_14, x_16);
|
||||
x_19 = l_Std_HashMapImp_expand___at_Lean_Server_combineFvars___spec__14(x_14, x_16);
|
||||
return x_19;
|
||||
}
|
||||
else
|
||||
|
|
@ -2658,7 +2619,7 @@ else
|
|||
{
|
||||
lean_object* x_20; lean_object* x_21;
|
||||
lean_dec(x_7);
|
||||
x_20 = l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__18(x_2, x_3, x_11);
|
||||
x_20 = l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__17(x_2, x_3, x_11);
|
||||
x_21 = lean_array_uset(x_6, x_10, x_20);
|
||||
lean_ctor_set(x_1, 1, x_21);
|
||||
return x_1;
|
||||
|
|
@ -2677,7 +2638,7 @@ x_25 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1871_(x_2
|
|||
x_26 = lean_uint64_to_usize(x_25);
|
||||
x_27 = lean_usize_modn(x_26, x_24);
|
||||
x_28 = lean_array_uget(x_23, x_27);
|
||||
x_29 = l_Std_AssocList_contains___at_Lean_Server_combineFvars___spec__14(x_2, x_28);
|
||||
x_29 = l_Std_AssocList_contains___at_Lean_Server_combineFvars___spec__13(x_2, x_28);
|
||||
if (x_29 == 0)
|
||||
{
|
||||
lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35;
|
||||
|
|
@ -2696,7 +2657,7 @@ lean_dec(x_34);
|
|||
if (x_35 == 0)
|
||||
{
|
||||
lean_object* x_36;
|
||||
x_36 = l_Std_HashMapImp_expand___at_Lean_Server_combineFvars___spec__15(x_31, x_33);
|
||||
x_36 = l_Std_HashMapImp_expand___at_Lean_Server_combineFvars___spec__14(x_31, x_33);
|
||||
return x_36;
|
||||
}
|
||||
else
|
||||
|
|
@ -2712,7 +2673,7 @@ else
|
|||
{
|
||||
lean_object* x_38; lean_object* x_39; lean_object* x_40;
|
||||
lean_dec(x_24);
|
||||
x_38 = l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__18(x_2, x_3, x_28);
|
||||
x_38 = l_Std_AssocList_replace___at_Lean_Server_combineFvars___spec__17(x_2, x_3, x_28);
|
||||
x_39 = lean_array_uset(x_23, x_27, x_38);
|
||||
x_40 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_40, 0, x_22);
|
||||
|
|
@ -2722,7 +2683,7 @@ return x_40;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__19(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5) {
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__18(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_6;
|
||||
|
|
@ -2758,7 +2719,7 @@ x_13 = lean_ctor_get(x_8, 0);
|
|||
lean_inc(x_13);
|
||||
lean_dec(x_8);
|
||||
lean_inc(x_1);
|
||||
x_14 = l_Std_HashMapImp_find_x3f___at_Lean_Server_combineFvars___spec__11(x_1, x_12);
|
||||
x_14 = l_Std_HashMapImp_find_x3f___at_Lean_Server_combineFvars___spec__10(x_1, x_12);
|
||||
if (lean_obj_tag(x_14) == 0)
|
||||
{
|
||||
size_t x_15; size_t x_16;
|
||||
|
|
@ -2770,64 +2731,33 @@ goto _start;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_18; lean_object* x_19;
|
||||
lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21;
|
||||
x_18 = lean_ctor_get(x_14, 0);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_14);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_5);
|
||||
x_19 = l_Std_HashMapImp_find_x3f___at_Lean_Server_combineFvars_findCanonicalBinder___spec__1(x_5, x_13);
|
||||
if (lean_obj_tag(x_19) == 0)
|
||||
x_19 = l_Lean_Server_combineFvars_findCanonicalBinder(x_5, x_18);
|
||||
lean_inc(x_5);
|
||||
x_20 = l_Lean_Server_combineFvars_findCanonicalBinder(x_5, x_13);
|
||||
x_21 = lean_name_eq(x_20, x_19);
|
||||
if (x_21 == 0)
|
||||
{
|
||||
uint8_t x_20;
|
||||
x_20 = lean_name_eq(x_13, x_18);
|
||||
if (x_20 == 0)
|
||||
{
|
||||
lean_object* x_21; size_t x_22; size_t x_23;
|
||||
x_21 = l_Std_HashMap_insert___at_Lean_Server_combineFvars___spec__13(x_5, x_18, x_13);
|
||||
x_22 = 1;
|
||||
x_23 = lean_usize_add(x_4, x_22);
|
||||
x_4 = x_23;
|
||||
x_5 = x_21;
|
||||
lean_object* x_22; size_t x_23; size_t x_24;
|
||||
x_22 = l_Std_HashMap_insert___at_Lean_Server_combineFvars___spec__12(x_5, x_19, x_20);
|
||||
x_23 = 1;
|
||||
x_24 = lean_usize_add(x_4, x_23);
|
||||
x_4 = x_24;
|
||||
x_5 = x_22;
|
||||
goto _start;
|
||||
}
|
||||
else
|
||||
{
|
||||
size_t x_25; size_t x_26;
|
||||
lean_dec(x_18);
|
||||
lean_dec(x_13);
|
||||
x_25 = 1;
|
||||
x_26 = lean_usize_add(x_4, x_25);
|
||||
x_4 = x_26;
|
||||
goto _start;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_28; uint8_t x_29;
|
||||
lean_dec(x_13);
|
||||
x_28 = lean_ctor_get(x_19, 0);
|
||||
lean_inc(x_28);
|
||||
size_t x_26; size_t x_27;
|
||||
lean_dec(x_20);
|
||||
lean_dec(x_19);
|
||||
x_29 = lean_name_eq(x_28, x_18);
|
||||
if (x_29 == 0)
|
||||
{
|
||||
lean_object* x_30; size_t x_31; size_t x_32;
|
||||
x_30 = l_Std_HashMap_insert___at_Lean_Server_combineFvars___spec__13(x_5, x_18, x_28);
|
||||
x_31 = 1;
|
||||
x_32 = lean_usize_add(x_4, x_31);
|
||||
x_4 = x_32;
|
||||
x_5 = x_30;
|
||||
goto _start;
|
||||
}
|
||||
else
|
||||
{
|
||||
size_t x_34; size_t x_35;
|
||||
lean_dec(x_28);
|
||||
lean_dec(x_18);
|
||||
x_34 = 1;
|
||||
x_35 = lean_usize_add(x_4, x_34);
|
||||
x_4 = x_35;
|
||||
x_26 = 1;
|
||||
x_27 = lean_usize_add(x_4, x_26);
|
||||
x_4 = x_27;
|
||||
goto _start;
|
||||
}
|
||||
}
|
||||
|
|
@ -2835,8 +2765,7 @@ goto _start;
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT uint8_t l_Std_HashMapImp_contains___at_Lean_Server_combineFvars___spec__20(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT uint8_t l_Std_HashMapImp_contains___at_Lean_Server_combineFvars___spec__19(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4; uint64_t x_5; size_t x_6; size_t x_7; lean_object* x_8; uint8_t x_9;
|
||||
|
|
@ -2850,13 +2779,13 @@ x_7 = lean_usize_modn(x_6, x_4);
|
|||
lean_dec(x_4);
|
||||
x_8 = lean_array_uget(x_3, x_7);
|
||||
lean_dec(x_3);
|
||||
x_9 = l_Std_AssocList_contains___at_Lean_Server_combineFvars___spec__14(x_2, x_8);
|
||||
x_9 = l_Std_AssocList_contains___at_Lean_Server_combineFvars___spec__13(x_2, x_8);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_2);
|
||||
return x_9;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__21(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5) {
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__20(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_6;
|
||||
|
|
@ -2874,54 +2803,55 @@ x_8 = lean_ctor_get(x_7, 0);
|
|||
lean_inc(x_8);
|
||||
if (lean_obj_tag(x_8) == 0)
|
||||
{
|
||||
lean_object* x_9; size_t x_10; size_t x_11;
|
||||
lean_dec(x_8);
|
||||
x_9 = lean_array_push(x_5, x_7);
|
||||
x_10 = 1;
|
||||
x_11 = lean_usize_add(x_4, x_10);
|
||||
x_4 = x_11;
|
||||
x_5 = x_9;
|
||||
goto _start;
|
||||
}
|
||||
else
|
||||
uint8_t x_9;
|
||||
x_9 = lean_ctor_get_uint8(x_7, sizeof(void*)*2);
|
||||
if (x_9 == 0)
|
||||
{
|
||||
uint8_t x_13;
|
||||
x_13 = lean_ctor_get_uint8(x_7, sizeof(void*)*2);
|
||||
if (x_13 == 0)
|
||||
uint8_t x_10;
|
||||
x_10 = !lean_is_exclusive(x_7);
|
||||
if (x_10 == 0)
|
||||
{
|
||||
uint8_t x_14;
|
||||
x_14 = !lean_is_exclusive(x_7);
|
||||
if (x_14 == 0)
|
||||
{
|
||||
lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; size_t x_19; size_t x_20;
|
||||
x_15 = lean_ctor_get(x_7, 0);
|
||||
lean_dec(x_15);
|
||||
lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; size_t x_15; size_t x_16;
|
||||
x_11 = lean_ctor_get(x_7, 0);
|
||||
lean_dec(x_11);
|
||||
lean_inc(x_1);
|
||||
x_16 = l_Lean_Server_combineFvars_applyIdMap(x_1, x_8);
|
||||
x_17 = 0;
|
||||
lean_ctor_set(x_7, 0, x_16);
|
||||
lean_ctor_set_uint8(x_7, sizeof(void*)*2, x_17);
|
||||
x_18 = lean_array_push(x_5, x_7);
|
||||
x_19 = 1;
|
||||
x_20 = lean_usize_add(x_4, x_19);
|
||||
x_4 = x_20;
|
||||
x_5 = x_18;
|
||||
x_12 = l_Lean_Server_combineFvars_applyIdMap(x_1, x_8);
|
||||
x_13 = 0;
|
||||
lean_ctor_set(x_7, 0, x_12);
|
||||
lean_ctor_set_uint8(x_7, sizeof(void*)*2, x_13);
|
||||
x_14 = lean_array_push(x_5, x_7);
|
||||
x_15 = 1;
|
||||
x_16 = lean_usize_add(x_4, x_15);
|
||||
x_4 = x_16;
|
||||
x_5 = x_14;
|
||||
goto _start;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; lean_object* x_26; size_t x_27; size_t x_28;
|
||||
x_22 = lean_ctor_get(x_7, 1);
|
||||
lean_inc(x_22);
|
||||
lean_object* x_18; lean_object* x_19; uint8_t x_20; lean_object* x_21; lean_object* x_22; size_t x_23; size_t x_24;
|
||||
x_18 = lean_ctor_get(x_7, 1);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_7);
|
||||
lean_inc(x_1);
|
||||
x_23 = l_Lean_Server_combineFvars_applyIdMap(x_1, x_8);
|
||||
x_24 = 0;
|
||||
x_25 = lean_alloc_ctor(0, 2, 1);
|
||||
lean_ctor_set(x_25, 0, x_23);
|
||||
lean_ctor_set(x_25, 1, x_22);
|
||||
lean_ctor_set_uint8(x_25, sizeof(void*)*2, x_24);
|
||||
x_26 = lean_array_push(x_5, x_25);
|
||||
x_19 = l_Lean_Server_combineFvars_applyIdMap(x_1, x_8);
|
||||
x_20 = 0;
|
||||
x_21 = lean_alloc_ctor(0, 2, 1);
|
||||
lean_ctor_set(x_21, 0, x_19);
|
||||
lean_ctor_set(x_21, 1, x_18);
|
||||
lean_ctor_set_uint8(x_21, sizeof(void*)*2, x_20);
|
||||
x_22 = lean_array_push(x_5, x_21);
|
||||
x_23 = 1;
|
||||
x_24 = lean_usize_add(x_4, x_23);
|
||||
x_4 = x_24;
|
||||
x_5 = x_22;
|
||||
goto _start;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_26; size_t x_27; size_t x_28;
|
||||
lean_dec(x_8);
|
||||
x_26 = lean_array_push(x_5, x_7);
|
||||
x_27 = 1;
|
||||
x_28 = lean_usize_add(x_4, x_27);
|
||||
x_4 = x_28;
|
||||
|
|
@ -2931,29 +2861,75 @@ goto _start;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_30; uint8_t x_31;
|
||||
x_30 = lean_ctor_get(x_8, 0);
|
||||
lean_inc(x_30);
|
||||
lean_dec(x_8);
|
||||
lean_inc(x_1);
|
||||
x_31 = l_Std_HashMapImp_contains___at_Lean_Server_combineFvars___spec__20(x_1, x_30);
|
||||
uint8_t x_30;
|
||||
x_30 = lean_ctor_get_uint8(x_7, sizeof(void*)*2);
|
||||
if (x_30 == 0)
|
||||
{
|
||||
uint8_t x_31;
|
||||
x_31 = !lean_is_exclusive(x_7);
|
||||
if (x_31 == 0)
|
||||
{
|
||||
lean_object* x_32; size_t x_33; size_t x_34;
|
||||
x_32 = lean_array_push(x_5, x_7);
|
||||
x_33 = 1;
|
||||
x_34 = lean_usize_add(x_4, x_33);
|
||||
x_4 = x_34;
|
||||
x_5 = x_32;
|
||||
lean_object* x_32; lean_object* x_33; uint8_t x_34; lean_object* x_35; size_t x_36; size_t x_37;
|
||||
x_32 = lean_ctor_get(x_7, 0);
|
||||
lean_dec(x_32);
|
||||
lean_inc(x_1);
|
||||
x_33 = l_Lean_Server_combineFvars_applyIdMap(x_1, x_8);
|
||||
x_34 = 0;
|
||||
lean_ctor_set(x_7, 0, x_33);
|
||||
lean_ctor_set_uint8(x_7, sizeof(void*)*2, x_34);
|
||||
x_35 = lean_array_push(x_5, x_7);
|
||||
x_36 = 1;
|
||||
x_37 = lean_usize_add(x_4, x_36);
|
||||
x_4 = x_37;
|
||||
x_5 = x_35;
|
||||
goto _start;
|
||||
}
|
||||
else
|
||||
{
|
||||
size_t x_36; size_t x_37;
|
||||
lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; size_t x_44; size_t x_45;
|
||||
x_39 = lean_ctor_get(x_7, 1);
|
||||
lean_inc(x_39);
|
||||
lean_dec(x_7);
|
||||
x_36 = 1;
|
||||
x_37 = lean_usize_add(x_4, x_36);
|
||||
x_4 = x_37;
|
||||
lean_inc(x_1);
|
||||
x_40 = l_Lean_Server_combineFvars_applyIdMap(x_1, x_8);
|
||||
x_41 = 0;
|
||||
x_42 = lean_alloc_ctor(0, 2, 1);
|
||||
lean_ctor_set(x_42, 0, x_40);
|
||||
lean_ctor_set(x_42, 1, x_39);
|
||||
lean_ctor_set_uint8(x_42, sizeof(void*)*2, x_41);
|
||||
x_43 = lean_array_push(x_5, x_42);
|
||||
x_44 = 1;
|
||||
x_45 = lean_usize_add(x_4, x_44);
|
||||
x_4 = x_45;
|
||||
x_5 = x_43;
|
||||
goto _start;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_47; uint8_t x_48;
|
||||
x_47 = lean_ctor_get(x_8, 0);
|
||||
lean_inc(x_47);
|
||||
lean_dec(x_8);
|
||||
lean_inc(x_1);
|
||||
x_48 = l_Std_HashMapImp_contains___at_Lean_Server_combineFvars___spec__19(x_1, x_47);
|
||||
if (x_48 == 0)
|
||||
{
|
||||
lean_object* x_49; size_t x_50; size_t x_51;
|
||||
x_49 = lean_array_push(x_5, x_7);
|
||||
x_50 = 1;
|
||||
x_51 = lean_usize_add(x_4, x_50);
|
||||
x_4 = x_51;
|
||||
x_5 = x_49;
|
||||
goto _start;
|
||||
}
|
||||
else
|
||||
{
|
||||
size_t x_53; size_t x_54;
|
||||
lean_dec(x_7);
|
||||
x_53 = 1;
|
||||
x_54 = lean_usize_add(x_4, x_53);
|
||||
x_4 = x_54;
|
||||
goto _start;
|
||||
}
|
||||
}
|
||||
|
|
@ -2972,10 +2948,10 @@ x_5 = lean_usize_of_nat(x_4);
|
|||
lean_dec(x_4);
|
||||
x_6 = 0;
|
||||
lean_inc(x_3);
|
||||
x_7 = l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__9(x_1, x_5, x_6, x_3);
|
||||
x_8 = l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__19(x_7, x_1, x_5, x_6, x_3);
|
||||
x_7 = l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__8(x_1, x_5, x_6, x_3);
|
||||
x_8 = l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__18(x_7, x_1, x_5, x_6, x_3);
|
||||
x_9 = l_Lean_Lsp_RefInfo_empty___closed__1;
|
||||
x_10 = l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__21(x_8, x_1, x_5, x_6, x_9);
|
||||
x_10 = l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__20(x_8, x_1, x_5, x_6, x_9);
|
||||
lean_dec(x_1);
|
||||
return x_10;
|
||||
}
|
||||
|
|
@ -3000,16 +2976,7 @@ x_4 = lean_box(x_3);
|
|||
return x_4;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_contains___at_Lean_Server_combineFvars___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_3; lean_object* x_4;
|
||||
x_3 = l_Std_HashMapImp_contains___at_Lean_Server_combineFvars___spec__2(x_1, x_2);
|
||||
x_4 = lean_box(x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
size_t x_5; size_t x_6; lean_object* x_7;
|
||||
|
|
@ -3017,42 +2984,42 @@ x_5 = lean_unbox_usize(x_2);
|
|||
lean_dec(x_2);
|
||||
x_6 = lean_unbox_usize(x_3);
|
||||
lean_dec(x_3);
|
||||
x_7 = l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__9(x_1, x_5, x_6, x_4);
|
||||
x_7 = l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__8(x_1, x_5, x_6, x_4);
|
||||
lean_dec(x_1);
|
||||
return x_7;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Server_combineFvars___spec__10___boxed(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Server_combineFvars___spec__9___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Std_mkHashMap___at_Lean_Server_combineFvars___spec__10(x_1);
|
||||
x_2 = l_Std_mkHashMap___at_Lean_Server_combineFvars___spec__9(x_1);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Server_combineFvars___spec__12___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Server_combineFvars___spec__11___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = l_Std_AssocList_find_x3f___at_Lean_Server_combineFvars___spec__12(x_1, x_2);
|
||||
x_3 = l_Std_AssocList_find_x3f___at_Lean_Server_combineFvars___spec__11(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_Server_combineFvars___spec__14___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_Server_combineFvars___spec__13___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_3; lean_object* x_4;
|
||||
x_3 = l_Std_AssocList_contains___at_Lean_Server_combineFvars___spec__14(x_1, x_2);
|
||||
x_3 = l_Std_AssocList_contains___at_Lean_Server_combineFvars___spec__13(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_4 = lean_box(x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__19___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__18___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
size_t x_6; size_t x_7; lean_object* x_8;
|
||||
|
|
@ -3060,21 +3027,21 @@ x_6 = lean_unbox_usize(x_3);
|
|||
lean_dec(x_3);
|
||||
x_7 = lean_unbox_usize(x_4);
|
||||
lean_dec(x_4);
|
||||
x_8 = l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__19(x_1, x_2, x_6, x_7, x_5);
|
||||
x_8 = l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__18(x_1, x_2, x_6, x_7, x_5);
|
||||
lean_dec(x_2);
|
||||
return x_8;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_contains___at_Lean_Server_combineFvars___spec__20___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT lean_object* l_Std_HashMapImp_contains___at_Lean_Server_combineFvars___spec__19___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_3; lean_object* x_4;
|
||||
x_3 = l_Std_HashMapImp_contains___at_Lean_Server_combineFvars___spec__20(x_1, x_2);
|
||||
x_3 = l_Std_HashMapImp_contains___at_Lean_Server_combineFvars___spec__19(x_1, x_2);
|
||||
x_4 = lean_box(x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__21___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__20___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
size_t x_6; size_t x_7; lean_object* x_8;
|
||||
|
|
@ -3082,7 +3049,7 @@ x_6 = lean_unbox_usize(x_3);
|
|||
lean_dec(x_3);
|
||||
x_7 = lean_unbox_usize(x_4);
|
||||
lean_dec(x_4);
|
||||
x_8 = l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__21(x_1, x_2, x_6, x_7, x_5);
|
||||
x_8 = l_Array_forInUnsafe_loop___at_Lean_Server_combineFvars___spec__20(x_1, x_2, x_6, x_7, x_5);
|
||||
lean_dec(x_2);
|
||||
return x_8;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue