chore: update stage0
This commit is contained in:
parent
7b03d9719c
commit
6f5bd3ccb6
38 changed files with 34165 additions and 7991 deletions
2
stage0/src/Init/Classical.lean
generated
2
stage0/src/Init/Classical.lean
generated
|
|
@ -126,7 +126,7 @@ theorem byContradiction {p : Prop} (h : ¬p → False) : p :=
|
|||
/--
|
||||
`by_cases (h :)? p` splits the main goal into two cases, assuming `h : p` in the first branch, and `h : ¬ p` in the second branch.
|
||||
-/
|
||||
syntax "by_cases" (atomic(ident ":"))? term : tactic
|
||||
syntax "by_cases " (atomic(ident " : "))? term : tactic
|
||||
|
||||
macro_rules
|
||||
| `(tactic| by_cases $h : $e) =>
|
||||
|
|
|
|||
2
stage0/src/Init/Data/Array/Basic.lean
generated
2
stage0/src/Init/Data/Array/Basic.lean
generated
|
|
@ -627,7 +627,7 @@ def indexOf? [BEq α] (a : Array α) (v : α) : Option (Fin a.size) :=
|
|||
@[simp] theorem size_pop (a : Array α) : a.pop.size = a.size - 1 := by
|
||||
match a with
|
||||
| ⟨[]⟩ => rfl
|
||||
| ⟨a::as⟩ => simp [pop, Nat.succ_sub_succ_eq_sub]
|
||||
| ⟨a::as⟩ => simp [pop, Nat.succ_sub_succ_eq_sub, size]
|
||||
|
||||
theorem reverse.termination {i j : Nat} (h : i < j) : j - 1 - (i + 1) < j - i := by
|
||||
rw [Nat.sub_sub, Nat.add_comm]
|
||||
|
|
|
|||
607
stage0/src/Lean/Compiler/LCNF/ElimDeadBranches.lean
generated
Normal file
607
stage0/src/Lean/Compiler/LCNF/ElimDeadBranches.lean
generated
Normal file
|
|
@ -0,0 +1,607 @@
|
|||
/-
|
||||
Copyright (c) 2022 Henrik Böving. All rights reserved.
|
||||
Released under Apache 2.0 license as described in the file LICENSE.
|
||||
Authors: Henrik Böving
|
||||
-/
|
||||
import Lean.Compiler.LCNF.CompilerM
|
||||
import Lean.Compiler.LCNF.PassManager
|
||||
import Lean.Compiler.LCNF.PhaseExt
|
||||
import Lean.Compiler.LCNF.InferType
|
||||
|
||||
namespace Lean.Compiler.LCNF
|
||||
|
||||
namespace UnreachableBranches
|
||||
|
||||
/--
|
||||
The abstract domain of the interpreter. Representing sets of values
|
||||
of a certain type.
|
||||
-/
|
||||
inductive Value where
|
||||
/--
|
||||
Undefined, could be anything we have no information.
|
||||
-/
|
||||
| bot
|
||||
/--
|
||||
All values are possible.
|
||||
-/
|
||||
| top
|
||||
/--
|
||||
A certian consructor with a certain sets of parameters is possible.
|
||||
-/
|
||||
| ctor (i : Name) (vs : Array Value)
|
||||
/--
|
||||
A set of values are possible.
|
||||
-/
|
||||
| choice (vs : List Value)
|
||||
deriving Inhabited, Repr
|
||||
|
||||
namespace Value
|
||||
|
||||
-- TODO: parameterize
|
||||
def maxValueDepth := 8
|
||||
|
||||
protected partial def beq : Value → Value → Bool
|
||||
| bot, bot => true
|
||||
| top, top => true
|
||||
| ctor i1 vs1 , ctor i2 vs2 =>
|
||||
i1 == i2 && Array.isEqv vs1 vs2 Value.beq
|
||||
| choice vs1 , choice vs2 =>
|
||||
let isSubset as bs := as.all (fun a => bs.any fun b => Value.beq a b)
|
||||
isSubset vs1 vs2 && isSubset vs2 vs1
|
||||
| _, _ => false
|
||||
|
||||
instance : BEq Value := ⟨Value.beq⟩
|
||||
|
||||
mutual
|
||||
|
||||
/--
|
||||
Fuse `v` into `vs`. That is do not only append but if we see that `v`
|
||||
is a constructor that is already contained within `vs` try to detect
|
||||
the difference between these values and merge them accordingly into a
|
||||
choice node further down the tree.
|
||||
-/
|
||||
partial def addChoice (vs : List Value) (v : Value) : List Value :=
|
||||
match vs, v with
|
||||
| [], v => [v]
|
||||
| v1@(ctor i1 _ ) :: cs, ctor i2 _ =>
|
||||
if i1 == i2 then
|
||||
(merge v1 v) :: cs
|
||||
else
|
||||
v1 :: addChoice cs v
|
||||
| _, _ => panic! "invalid addChoice"
|
||||
|
||||
/--
|
||||
Merge two values into one. `bot` is the neutral element, `top` the annihilator.
|
||||
-/
|
||||
partial def merge (v1 v2 : Value) : Value :=
|
||||
match v1, v2 with
|
||||
| bot, v | v, bot => v
|
||||
| top, _ | _, top => top
|
||||
| ctor i1 vs1, ctor i2 vs2 =>
|
||||
if i1 == i2 then
|
||||
ctor i1 (vs1.zipWith vs2 merge)
|
||||
else
|
||||
choice [v1, v2]
|
||||
| choice vs1, choice vs2 =>
|
||||
choice (vs1.foldl addChoice vs2)
|
||||
| choice vs, v | v, choice vs =>
|
||||
choice (addChoice vs v)
|
||||
|
||||
end
|
||||
|
||||
/--
|
||||
Make sure constructors of recursive inductive datatypes can only occur once in each path.
|
||||
Values at depth > `maxValueDepth` are also approximated at `top`.
|
||||
We use this function to implement a simple widening operation for our abstract interpreter.
|
||||
Recall the widening functions is used to ensure termination in abstract interpreters.
|
||||
-/
|
||||
partial def truncate (env : Environment) (v : Value) : Value :=
|
||||
go v {} maxValueDepth
|
||||
where
|
||||
go (v : Value) (forbiddenTypes : NameSet) (remainingDepth : Nat) :=
|
||||
match remainingDepth with
|
||||
| 0 => top
|
||||
| remainingDepth + 1 =>
|
||||
match v with
|
||||
| ctor i vs =>
|
||||
let typeName := i.getPrefix
|
||||
if forbiddenTypes.contains typeName then
|
||||
top
|
||||
else
|
||||
let cont forbiddenTypes' :=
|
||||
ctor i (vs.map (go · forbiddenTypes' remainingDepth))
|
||||
match env.find? typeName with
|
||||
| some (.inductInfo type) =>
|
||||
if type.isRec then
|
||||
cont <| forbiddenTypes.insert typeName
|
||||
else
|
||||
cont forbiddenTypes
|
||||
| _ => cont forbiddenTypes
|
||||
| choice vs =>
|
||||
let vs := vs.map (go · forbiddenTypes remainingDepth)
|
||||
if vs.elem top then
|
||||
top
|
||||
else
|
||||
choice vs
|
||||
| v => v
|
||||
|
||||
/-- Widening operator that guarantees termination in our abstract interpreter. -/
|
||||
def widening (env : Environment) (v1 v2 : Value) : Value :=
|
||||
truncate env (merge v1 v2)
|
||||
|
||||
/--
|
||||
Check whether a certain constructor is part of a `Value` by name.
|
||||
Note that both `top` and `bot` will always true here. For bot this is
|
||||
because we have no information about the `Value` so just to be sure
|
||||
we don't claim the absence of a certain constructor.
|
||||
-/
|
||||
partial def containsCtor : Value → Name → Bool
|
||||
| .top .., _ => true
|
||||
| .bot .., _ => true -- we don't know so better be safe than sorry
|
||||
| .ctor i .., j => i == j
|
||||
| .choice vs .., j => vs.any fun v => containsCtor v j
|
||||
|
||||
/--
|
||||
Obtain the arguments of a certain constructor within the `Value`.
|
||||
-/
|
||||
partial def getCtorArgs : Value → Name → Option (Array Value)
|
||||
| .ctor i args .., j => if i == j then some args else none
|
||||
| .choice vs .., j => do
|
||||
for variant in vs do
|
||||
if let .ctor i args .. := variant then
|
||||
if i == j then
|
||||
return args
|
||||
none
|
||||
| _, _ => none
|
||||
|
||||
partial def ofNat (n : Nat) : Value :=
|
||||
if n > maxValueDepth then
|
||||
goBig n n
|
||||
else
|
||||
goSmall n
|
||||
where
|
||||
goBig (orig : Nat) (curr : Nat) : Value :=
|
||||
if orig - curr == maxValueDepth then
|
||||
.top
|
||||
else
|
||||
.ctor ``Nat.succ #[goBig orig (curr - 1)]
|
||||
goSmall : Nat → Value
|
||||
| 0 => .ctor ``Nat.zero #[]
|
||||
| n + 1 => .ctor ``Nat.succ #[goSmall n]
|
||||
|
||||
def ofLCNFLit : LCNF.LitValue → Value
|
||||
| .natVal n => ofNat n
|
||||
-- TODO: We could make this much more precise but the payoff is questionable
|
||||
| .strVal .. => .top
|
||||
|
||||
partial def proj : Value → Nat → Value
|
||||
| .ctor _ vs , i => vs.getD i bot
|
||||
| .choice vs, i => vs.foldl (fun r v => merge r (proj v i)) bot
|
||||
| v, _ => v
|
||||
|
||||
/--
|
||||
We say that a `Value` is a literal iff it is only a tree of `Value.ctor`
|
||||
nodes.
|
||||
-/
|
||||
partial def isLiteral : Value → Bool
|
||||
| .ctor _ vs => vs.all isLiteral
|
||||
| _ => false
|
||||
|
||||
/-
|
||||
TODO: Add support for "Higher Order Literals", that is literals with
|
||||
type parameters.
|
||||
-/
|
||||
/--
|
||||
Attempt to turn a `Value` that is representing a literal into a set of
|
||||
auxiliary declarations + the final `FVarId` of the declaration that
|
||||
contains the actual literal. If it is not a literal return none.
|
||||
-/
|
||||
partial def getLiteral (v : Value) : CompilerM (Option ((Array CodeDecl) × FVarId)) := do
|
||||
if isLiteral v then
|
||||
let literal ← go v
|
||||
return some literal
|
||||
else
|
||||
return none
|
||||
where
|
||||
go : Value → CompilerM ((Array CodeDecl) × FVarId)
|
||||
| .ctor `Nat.zero #[] .. => do
|
||||
let decl ← mkAuxLetDecl <| .value <| .natVal <| 0
|
||||
return (#[.let decl], decl.fvarId)
|
||||
| .ctor `Nat.succ #[val] .. => do
|
||||
let val := getNatConstant val + 1
|
||||
let decl ← mkAuxLetDecl <| .value <| .natVal <| val
|
||||
return (#[.let decl], decl.fvarId)
|
||||
| .ctor i vs => do
|
||||
let args ← vs.mapM go
|
||||
let flatten acc := fun (decls, var) => (acc.fst ++ decls, acc.snd.push <| .fvar var)
|
||||
let (decls, params) := args.foldl (init := (#[], Array.mkEmpty args.size)) flatten
|
||||
let letVal : LetValue := .const i [] params
|
||||
let letDecl ← mkAuxLetDecl letVal
|
||||
return (decls.push <| .let letDecl, letDecl.fvarId)
|
||||
| _ => unreachable!
|
||||
|
||||
getNatConstant : Value → Nat
|
||||
| .ctor `Nat.zero #[] .. => 0
|
||||
| .ctor `Nat.succ #[val] .. => getNatConstant val + 1
|
||||
| _ => panic! "Not a well formed Nat constant Value"
|
||||
|
||||
end Value
|
||||
|
||||
/--
|
||||
A map from function names to the `Value` that the abstract interpreter
|
||||
produced for them.
|
||||
-/
|
||||
abbrev FunctionSummaries := PHashMap Name Value
|
||||
|
||||
private abbrev decLt (a b : Name × Value) : Bool :=
|
||||
Name.quickLt a.fst b.fst
|
||||
|
||||
private abbrev findAtSorted? (entries : Array (Name × Value)) (fid : Name) : Option Value :=
|
||||
entries.binSearch (fid, default) decLt |>.map Prod.snd
|
||||
|
||||
/--
|
||||
Storing `FunctionSummaries` for all functions in a `.olean`.
|
||||
-/
|
||||
builtin_initialize functionSummariesExt : SimplePersistentEnvExtension (Name × Value) FunctionSummaries ←
|
||||
registerSimplePersistentEnvExtension {
|
||||
addImportedFn := fun _ => {}
|
||||
addEntryFn := fun s ⟨e, n⟩ => s.insert e n
|
||||
toArrayFn := fun s => s.toArray.qsort decLt
|
||||
}
|
||||
|
||||
/--
|
||||
Add a `Value` for a function name.
|
||||
-/
|
||||
def addFunctionSummary (env : Environment) (fid : Name) (v : Value) : Environment :=
|
||||
functionSummariesExt.addEntry (env.addExtraName fid) (fid, v)
|
||||
|
||||
/--
|
||||
Obtain the `Value` for a function name if possible.
|
||||
-/
|
||||
def getFunctionSummary? (env : Environment) (fid : Name) : Option Value :=
|
||||
match env.getModuleIdxFor? fid with
|
||||
| some modIdx => findAtSorted? (functionSummariesExt.getModuleEntries env modIdx) fid
|
||||
| none => functionSummariesExt.getState env |>.find? fid
|
||||
|
||||
/--
|
||||
A map from variable identifiers to the `Value` produced by the abstract
|
||||
interpreter for them.
|
||||
-/
|
||||
abbrev Assignment := HashMap FVarId Value
|
||||
|
||||
/--
|
||||
The context of `InterpM`.
|
||||
-/
|
||||
structure InterpContext where
|
||||
/--
|
||||
The list of `Decl`s we are operating on in `InterpM`. This can be
|
||||
a single declaration or a mutual block of declarations where their
|
||||
analysis might influence each other as we approach the fixpoint.
|
||||
-/
|
||||
decls : Array Decl
|
||||
/--
|
||||
The index of the function we are currently operating on in `decls.`
|
||||
-/
|
||||
currFnIdx : Nat := 0
|
||||
|
||||
structure InterpState where
|
||||
/--
|
||||
`Assignment`s of functions in the `InterpContext`.
|
||||
-/
|
||||
assignments : Array Assignment
|
||||
/--
|
||||
`Value`s of functions in the `InterpContext` use during computation of
|
||||
the fixpoint. Afterwards they are stored into the `Environment`.
|
||||
-/
|
||||
funVals : PArray Value
|
||||
|
||||
/--
|
||||
The monad which powers the abstract interpreter.
|
||||
-/
|
||||
abbrev InterpM := ReaderT InterpContext StateRefT InterpState CompilerM
|
||||
|
||||
/--
|
||||
Get the variable `Assignment` of the current function.
|
||||
-/
|
||||
def getAssignment : InterpM Assignment := do
|
||||
return (← get).assignments[(← read).currFnIdx]!
|
||||
|
||||
/--
|
||||
Get the `Value` of a certain function in the current block by index.
|
||||
-/
|
||||
def getFunVal (funIdx : Nat) : InterpM Value := do
|
||||
return (← get).funVals[funIdx]!
|
||||
|
||||
def findFunVal? (declName : Name) : InterpM (Option Value) := do
|
||||
match (← read).decls.findIdx? (·.name == declName) with
|
||||
| some idx => return some (← getFunVal idx)
|
||||
| none => return none
|
||||
|
||||
/--
|
||||
Run `f` on the variable `Assignment` of the current function.
|
||||
-/
|
||||
def modifyAssignment (f : Assignment → Assignment) : InterpM Unit := do
|
||||
let ctx ← read
|
||||
let currFnIdx := ctx.currFnIdx
|
||||
modify fun s => { s with assignments := s.assignments.modify currFnIdx f }
|
||||
|
||||
/--
|
||||
Obtain the `Value` associated with `var` from the context of `InterpM`.
|
||||
If none is available return `Value.bot`.
|
||||
-/
|
||||
def findVarValue (var : FVarId) : InterpM Value := do
|
||||
let assignment ← getAssignment
|
||||
return assignment.findD var .bot
|
||||
|
||||
/--
|
||||
Find the value of `arg` using the logic of `findVarValue`.
|
||||
-/
|
||||
def findArgValue (arg : Arg) : InterpM Value := do
|
||||
match arg with
|
||||
| .fvar fvarId => findVarValue fvarId
|
||||
| _ => return .top
|
||||
|
||||
/--
|
||||
Update the assignment of `var` by merging the current value with `newVal`.
|
||||
-/
|
||||
def updateVarAssignment (var : FVarId) (newVal : Value) : InterpM Unit := do
|
||||
let val ← findVarValue var
|
||||
let updatedVal := .merge val newVal
|
||||
modifyAssignment (·.insert var updatedVal)
|
||||
|
||||
/--
|
||||
Set the value of `var` to `bot`.
|
||||
-/
|
||||
def resetVarAssignment (var : FVarId) : InterpM Unit := do
|
||||
modifyAssignment (·.insert var .bot)
|
||||
|
||||
/--
|
||||
Widen the value of the current function by `v`.
|
||||
-/
|
||||
def updateCurrFnSummary (v : Value) : InterpM Unit := do
|
||||
let ctx ← read
|
||||
let env ← getEnv
|
||||
let currFnIdx := ctx.currFnIdx
|
||||
modify fun s => { s with funVals := s.funVals.modify currFnIdx (fun v' => .widening env v v') }
|
||||
|
||||
/--
|
||||
Return true if the assignment of at least one parameter has been updated.
|
||||
Furthermore if we see that `params.size != args.size` we know that this is
|
||||
a partial application and set the values of the remaining parameters to
|
||||
`top` since it is impossible to track what will happen with them from here on.
|
||||
-/
|
||||
def updateFunDeclParamsAssignment (params : Array Param) (args : Array Arg) : InterpM Bool := do
|
||||
let mut ret := false
|
||||
for param in params, arg in args do
|
||||
let paramVal ← findVarValue param.fvarId
|
||||
let argVal ← findArgValue arg
|
||||
let newVal := .merge paramVal argVal
|
||||
if newVal != paramVal then
|
||||
modifyAssignment (·.insert param.fvarId newVal)
|
||||
ret := true
|
||||
/-
|
||||
This is a partial application, we can not know for sure what remaining
|
||||
arguments the local function is getting passed without a much more
|
||||
sophisticated analysis. Hence we will set all of the non applied ones
|
||||
to top.
|
||||
-/
|
||||
if params.size != args.size then
|
||||
for param in params[args.size:] do
|
||||
ret := (← findVarValue param.fvarId) == .bot
|
||||
updateVarAssignment param.fvarId .top
|
||||
return ret
|
||||
|
||||
private partial def resetNestedFunDeclParams : Code → InterpM Unit
|
||||
| .let _ k => resetNestedFunDeclParams k
|
||||
| .jp decl k | .fun decl k => do
|
||||
decl.params.forM (resetVarAssignment ·.fvarId)
|
||||
/- We don't need to reset the parameters of decls
|
||||
nested in this one since they will be reset if this decl is used. -/
|
||||
resetNestedFunDeclParams k
|
||||
| .cases cs =>
|
||||
cs.alts.forM (resetNestedFunDeclParams ·.getCode)
|
||||
| .return .. | .unreach .. | .jmp .. => return ()
|
||||
|
||||
/--
|
||||
The actual abstract interpreter on a block of `Code`.
|
||||
-/
|
||||
partial def interpCode : Code → InterpM Unit
|
||||
| .let decl k => do
|
||||
let val ← interpLetValue decl.value
|
||||
updateVarAssignment decl.fvarId val
|
||||
if let .fvar fvarId args := decl.value then
|
||||
if let some funDecl ← findFunDecl? fvarId then
|
||||
-- TODO: unclear how much we should reset in the case of partial applications
|
||||
interpFunCall funDecl args
|
||||
interpCode k
|
||||
| .jp decl k | .fun decl k => do
|
||||
interpCode decl.value
|
||||
interpCode k
|
||||
| .jmp fn args => do
|
||||
let jp ← getFunDecl fn
|
||||
args.forM handleFunArg
|
||||
interpFunCall jp args
|
||||
| .cases cs => do
|
||||
let discrVal ← findVarValue cs.discr
|
||||
for alt in cs.alts do
|
||||
match alt with
|
||||
| .alt ctor params body =>
|
||||
if let some argValues := discrVal.getCtorArgs ctor then
|
||||
params.zip argValues |>.forM (fun (param, val) => updateVarAssignment param.fvarId val)
|
||||
else
|
||||
params.forM (updateVarAssignment ·.fvarId .top)
|
||||
interpCode body
|
||||
| .default body => interpCode body
|
||||
| .return var => do
|
||||
handleFunVar var
|
||||
let val ← findVarValue var
|
||||
updateCurrFnSummary val
|
||||
| .unreach .. => return ()
|
||||
where
|
||||
/--
|
||||
The abstract interpreter on a `LetValue`.
|
||||
-/
|
||||
interpLetValue (letVal : LetValue) : InterpM Value := do
|
||||
match letVal with
|
||||
| .value val => return .ofLCNFLit val
|
||||
| .proj _ idx struct => return (← findVarValue struct).proj idx
|
||||
| .const declName _ args =>
|
||||
let env ← getEnv
|
||||
args.forM handleFunArg
|
||||
match (← getDecl? declName) with
|
||||
| some decl =>
|
||||
if decl.getArity == args.size then
|
||||
match getFunctionSummary? env declName with
|
||||
| some v => return v
|
||||
| none => return (← findFunVal? declName).getD .top
|
||||
else
|
||||
return .top
|
||||
| none =>
|
||||
let some (.ctorInfo info) := env.find? declName | return .top
|
||||
let args := args[info.numParams:].toArray
|
||||
if info.numFields == args.size then
|
||||
return .ctor declName (← args.mapM findArgValue)
|
||||
else
|
||||
return .top
|
||||
| .fvar _ args =>
|
||||
args.forM handleFunArg
|
||||
/-
|
||||
Since free variables in `LetValue`s cannot be of the form
|
||||
`let x := y` after a simplifier pass we know they are in fact a
|
||||
partially applied function, we cannot know anything about the result
|
||||
of a partially applied function.
|
||||
-/
|
||||
return .top
|
||||
| .erased => return .top
|
||||
|
||||
handleFunArg (arg : Arg) : InterpM Unit := do
|
||||
if let .fvar fvarId := arg then
|
||||
handleFunVar fvarId
|
||||
|
||||
/--
|
||||
If we see a function being passed as an argument to a higher order
|
||||
function we cannot know what arguments it will be passed further
|
||||
down the line. Hence we set all of its arguments to `top` since anything
|
||||
is possible.
|
||||
-/
|
||||
handleFunVar (var : FVarId) : InterpM Unit := do
|
||||
if let some funDecl ← findFunDecl? var then
|
||||
funDecl.params.forM (updateVarAssignment ·.fvarId .top)
|
||||
interpFunCall funDecl #[]
|
||||
|
||||
interpFunCall (funDecl : FunDecl) (args : Array Arg) : InterpM Unit := do
|
||||
let updated ← updateFunDeclParamsAssignment funDecl.params args
|
||||
if updated then
|
||||
/- We must reset the value of nested function declaration
|
||||
parameters since they depend on `args` values. -/
|
||||
resetNestedFunDeclParams funDecl.value
|
||||
interpCode funDecl.value
|
||||
|
||||
|
||||
/--
|
||||
Rerun the abstract interpreter on all declarations except of the unsafe
|
||||
ones. Return whether any `Value` got updated in the process.
|
||||
-/
|
||||
def inferStep : InterpM Bool := do
|
||||
let ctx ← read
|
||||
for idx in [0:ctx.decls.size] do
|
||||
let decl := ctx.decls[idx]!
|
||||
if !decl.safe then
|
||||
continue
|
||||
|
||||
let currentVal ← getFunVal idx
|
||||
withReader (fun ctx => { ctx with currFnIdx := idx }) do
|
||||
decl.params.forM fun p => updateVarAssignment p.fvarId .top
|
||||
interpCode decl.value
|
||||
let newVal ← getFunVal idx
|
||||
if currentVal != newVal then
|
||||
return true
|
||||
return false
|
||||
|
||||
/--
|
||||
Run `inferStep` until it reaches a fix point.
|
||||
-/
|
||||
partial def inferMain : InterpM Unit := do
|
||||
let ctx ← read
|
||||
modify fun s => { s with assignments := ctx.decls.map fun _ => {} }
|
||||
let modified ← inferStep
|
||||
if modified then
|
||||
inferMain
|
||||
else
|
||||
return ()
|
||||
|
||||
/--
|
||||
Use the information produced by the abstract interpeter to:
|
||||
- Eliminate branches that we know cannot be hit
|
||||
- Eliminate values that we know have to be constants.
|
||||
-/
|
||||
partial def elimDead (assignment : Assignment) (decl : Decl) : CompilerM Decl := do
|
||||
trace[Compiler.elimDeadBranches] s!"Eliminating {decl.name} with {repr (← assignment.toArray |>.mapM (fun (name, val) => do return (toString (← getBinderName name), val)))}"
|
||||
return { decl with value := (← go decl.value) }
|
||||
where
|
||||
go (code : Code) : CompilerM Code := do
|
||||
match code with
|
||||
| .let decl k =>
|
||||
return code.updateLet! decl (← go k)
|
||||
| .jp decl k | .fun decl k =>
|
||||
return code.updateFun! (← decl.updateValue (← go decl.value)) (← go k)
|
||||
| .cases cs =>
|
||||
let discrVal := assignment.findD cs.discr .bot
|
||||
let processAlt typ alt := do
|
||||
match alt with
|
||||
| .alt ctor args body =>
|
||||
if discrVal.containsCtor ctor then
|
||||
let filter param := do
|
||||
if let some val := assignment.find? param.fvarId then
|
||||
if let some literal ← val.getLiteral then
|
||||
return some (param, literal)
|
||||
return none
|
||||
let constantInfos ← args.filterMapM filter
|
||||
if constantInfos.size != 0 then
|
||||
let folder := fun (body, subst) (param, decls, var) => do
|
||||
return (attachCodeDecls decls body, subst.insert param.fvarId (.fvar var))
|
||||
let (body, subst) ← constantInfos.foldlM (init := (← go body, {})) folder
|
||||
let body ← replaceFVars body subst false
|
||||
return alt.updateCode body
|
||||
else
|
||||
return alt.updateCode (← go body)
|
||||
else
|
||||
trace[Compiler.elimDeadBranches] s!"Threw away cases {← getBinderName cs.discr} branch {ctor}"
|
||||
eraseCode alt.getCode
|
||||
return alt.updateCode <| .unreach typ
|
||||
| .default body => return alt.updateCode (← go body)
|
||||
return code.updateCases! cs.resultType cs.discr (← cs.alts.mapM <| processAlt cs.resultType)
|
||||
| .jmp .. | .return .. | .unreach .. => return code
|
||||
|
||||
end UnreachableBranches
|
||||
|
||||
open UnreachableBranches in
|
||||
def Decl.elimDeadBranches (decls : Array Decl) : CompilerM (Array Decl) := do
|
||||
let mut assignments := decls.map fun _ => {}
|
||||
let initialVal i :=
|
||||
/-
|
||||
Non terminating functions are marked as unsafe, we don't want to run
|
||||
any analysis on them since we cannot be sure they will ever return
|
||||
the constructor that we inferred for them. For more information
|
||||
refer to the docstring of `Decl.safe`.
|
||||
-/
|
||||
if decls[i]!.safe then .bot else .top
|
||||
let mut funVals := decls.size.fold (init := .empty) fun i p => p.push (initialVal i)
|
||||
let ctx := { decls }
|
||||
let mut state := { assignments, funVals }
|
||||
(_, state) ← inferMain |>.run ctx |>.run state
|
||||
funVals := state.funVals
|
||||
assignments := state.assignments
|
||||
modifyEnv fun e =>
|
||||
decls.size.fold (init := e) fun i env =>
|
||||
addFunctionSummary env decls[i]!.name funVals[i]!
|
||||
|
||||
decls.mapIdxM fun i decl => if decl.safe then elimDead assignments[i]! decl else return decl
|
||||
|
||||
def elimDeadBranches : Pass :=
|
||||
{ name := `elimDeadBranches, run := Decl.elimDeadBranches, phase := .mono }
|
||||
|
||||
builtin_initialize
|
||||
registerTraceClass `Compiler.elimDeadBranches (inherited := true)
|
||||
|
||||
end Lean.Compiler.LCNF
|
||||
2
stage0/src/Lean/Compiler/LCNF/Passes.lean
generated
2
stage0/src/Lean/Compiler/LCNF/Passes.lean
generated
|
|
@ -16,6 +16,7 @@ import Lean.Compiler.LCNF.ToMono
|
|||
import Lean.Compiler.LCNF.LambdaLifting
|
||||
import Lean.Compiler.LCNF.FloatLetIn
|
||||
import Lean.Compiler.LCNF.ReduceArity
|
||||
import Lean.Compiler.LCNF.ElimDeadBranches
|
||||
|
||||
namespace Lean.Compiler.LCNF
|
||||
|
||||
|
|
@ -70,6 +71,7 @@ def builtinPassManager : PassManager := {
|
|||
commonJoinPointArgs,
|
||||
simp (occurrence := 4) (phase := .mono),
|
||||
floatLetIn (phase := .mono) (occurrence := 2),
|
||||
elimDeadBranches,
|
||||
lambdaLifting,
|
||||
extendJoinPointContext (phase := .mono) (occurrence := 1),
|
||||
simp (occurrence := 5) (phase := .mono),
|
||||
|
|
|
|||
45
stage0/src/Lean/Compiler/LCNF/Simp/ConstantFold.lean
generated
45
stage0/src/Lean/Compiler/LCNF/Simp/ConstantFold.lean
generated
|
|
@ -72,7 +72,7 @@ instance : Literal Nat where
|
|||
getLit := getNatLit
|
||||
mkLit := mkNatLit
|
||||
|
||||
partial def getStringLit (fvarId : FVarId) : CompilerM (Option String) := do
|
||||
def getStringLit (fvarId : FVarId) : CompilerM (Option String) := do
|
||||
let some (.value (.strVal s)) ← findLetValue? fvarId | return none
|
||||
return s
|
||||
|
||||
|
|
@ -83,6 +83,18 @@ instance : Literal String where
|
|||
getLit := getStringLit
|
||||
mkLit := mkStringLit
|
||||
|
||||
def getBoolLit (fvarId : FVarId) : CompilerM (Option Bool) := do
|
||||
let some (.const ctor [] #[]) ← findLetValue? fvarId | return none
|
||||
return ctor == ``Bool.true
|
||||
|
||||
def mkBoolLit (b : Bool) : FolderM LetValue :=
|
||||
let ctor := if b then ``Bool.true else ``Bool.false
|
||||
return .const ctor [] #[]
|
||||
|
||||
instance : Literal Bool where
|
||||
getLit := getBoolLit
|
||||
mkLit := mkBoolLit
|
||||
|
||||
private partial def getLitAux [Inhabited α] (fvarId : FVarId) (ofNat : Nat → α) (ofNatName : Name) : CompilerM (Option α) := do
|
||||
let some (.const declName _ #[.fvar fvarId]) ← findLetValue? fvarId | return none
|
||||
unless declName == ofNatName do return none
|
||||
|
|
@ -188,6 +200,15 @@ def Folder.mkBinary [Literal α] [Literal β] [Literal γ] (folder : α → β
|
|||
let some arg₂ ← getLit fvarId₂ | return none
|
||||
mkLit <| folder arg₁ arg₂
|
||||
|
||||
def Folder.mkBinaryDecisionProcedure [Literal α] [Literal β] {r : α → β → Prop} (folder : (a : α) → (b : β) → Decidable (r a b)) : Folder := fun args => do
|
||||
if (← getPhase) < .mono then
|
||||
return none
|
||||
let #[.fvar fvarId₁, .fvar fvarId₂] := args | return none
|
||||
let some arg₁ ← getLit fvarId₁ | return none
|
||||
let some arg₂ ← getLit fvarId₂ | return none
|
||||
let boolLit := folder arg₁ arg₂ |>.decide
|
||||
mkLit boolLit
|
||||
|
||||
/--
|
||||
Provide a folder for an operation with a left neutral element.
|
||||
-/
|
||||
|
|
@ -282,6 +303,26 @@ def arithmeticFolders : List (Name × Folder) := [
|
|||
(``UInt64.div, Folder.first #[Folder.mkBinary UInt64.div, Folder.rightNeutral (1 : UInt64)])
|
||||
]
|
||||
|
||||
def relationFolders : List (Name × Folder) := [
|
||||
(``Nat.decEq, Folder.mkBinaryDecisionProcedure Nat.decEq),
|
||||
(``Nat.decLt, Folder.mkBinaryDecisionProcedure Nat.decLt),
|
||||
(``Nat.decLe, Folder.mkBinaryDecisionProcedure Nat.decLe),
|
||||
(``UInt8.decEq, Folder.mkBinaryDecisionProcedure UInt8.decEq),
|
||||
(``UInt8.decLt, Folder.mkBinaryDecisionProcedure UInt8.decLt),
|
||||
(``UInt8.decLe, Folder.mkBinaryDecisionProcedure UInt8.decLe),
|
||||
(``UInt16.decEq, Folder.mkBinaryDecisionProcedure UInt16.decEq),
|
||||
(``UInt16.decLt, Folder.mkBinaryDecisionProcedure UInt16.decLt),
|
||||
(``UInt16.decLe, Folder.mkBinaryDecisionProcedure UInt16.decLe),
|
||||
(``UInt32.decEq, Folder.mkBinaryDecisionProcedure UInt32.decEq),
|
||||
(``UInt32.decLt, Folder.mkBinaryDecisionProcedure UInt32.decLt),
|
||||
(``UInt32.decLe, Folder.mkBinaryDecisionProcedure UInt32.decLe),
|
||||
(``UInt64.decEq, Folder.mkBinaryDecisionProcedure UInt64.decEq),
|
||||
(``UInt64.decLt, Folder.mkBinaryDecisionProcedure UInt64.decLt),
|
||||
(``UInt64.decLe, Folder.mkBinaryDecisionProcedure UInt64.decLe),
|
||||
(``Bool.decEq, Folder.mkBinaryDecisionProcedure Bool.decEq),
|
||||
(``Bool.decEq, Folder.mkBinaryDecisionProcedure String.decEq)
|
||||
]
|
||||
|
||||
/--
|
||||
All string folders.
|
||||
-/
|
||||
|
|
@ -314,7 +355,7 @@ private def getFolder (declName : Name) : CoreM Folder := do
|
|||
ofExcept <| getFolderCore (← getEnv) (← getOptions) declName
|
||||
|
||||
def builtinFolders : SMap Name Folder :=
|
||||
(arithmeticFolders ++ higherOrderLiteralFolders ++ stringFolders).foldl (init := {}) fun s (declName, folder) =>
|
||||
(arithmeticFolders ++ relationFolders ++ higherOrderLiteralFolders ++ stringFolders).foldl (init := {}) fun s (declName, folder) =>
|
||||
s.insert declName folder
|
||||
|
||||
structure FolderOleanEntry where
|
||||
|
|
|
|||
48
stage0/src/Lean/Elab/App.lean
generated
48
stage0/src/Lean/Elab/App.lean
generated
|
|
@ -654,6 +654,17 @@ namespace ElabElim
|
|||
structure Context where
|
||||
elimInfo : ElimInfo
|
||||
expectedType : Expr
|
||||
/--
|
||||
Position of additonal arguments that should be elabored eagerly
|
||||
because they can contribute to the motive inference procedure.
|
||||
For example, in the following theorem the argument `h : a = b`
|
||||
should be elaborated eagerly because it contains `b` which occurs
|
||||
in `motive b`.
|
||||
```
|
||||
theorem Eq.subst' {α} {motive : α → Prop} {a b : α} (h : a = b) : motive a → motive b
|
||||
```
|
||||
-/
|
||||
extraArgsPos : Array Nat
|
||||
|
||||
/-- State of the `elab_as_elim` elaboration procedure. -/
|
||||
structure State where
|
||||
|
|
@ -802,7 +813,12 @@ partial def main : M Expr := do
|
|||
| .undef => finalize
|
||||
| .none => let discr ← mkImplicitArg binderType binderInfo; addDiscr discr; addArgAndContinue discr
|
||||
else match (← getNextArg? binderName binderInfo) with
|
||||
| .some (.stx stx) => addArgAndContinue (← postponeElabTerm stx binderType)
|
||||
| .some (.stx stx) =>
|
||||
if (← read).extraArgsPos.contains idx then
|
||||
let arg ← elabArg (.stx stx) binderType
|
||||
addArgAndContinue arg
|
||||
else
|
||||
addArgAndContinue (← postponeElabTerm stx binderType)
|
||||
| .some (.expr val) => addArgAndContinue (← ensureArgType (← get).f val binderType)
|
||||
| .undef => finalize
|
||||
| .none => addArgAndContinue (← mkImplicitArg binderType binderInfo)
|
||||
|
|
@ -856,7 +872,8 @@ def elabAppArgs (f : Expr) (namedArgs : Array NamedArg) (args : Array Arg)
|
|||
let some expectedType := expectedType? | throwError "failed to elaborate eliminator, expected type is not available"
|
||||
let expectedType ← instantiateMVars expectedType
|
||||
if expectedType.getAppFn.isMVar then throwError "failed to elaborate eliminator, expected type is not available"
|
||||
ElabElim.main.run { elimInfo, expectedType } |>.run' {
|
||||
let extraArgsPos ← getElabAsElimExtraArgsPos elimInfo
|
||||
ElabElim.main.run { elimInfo, expectedType, extraArgsPos } |>.run' {
|
||||
f, fType
|
||||
args := args.toList
|
||||
namedArgs := namedArgs.toList
|
||||
|
|
@ -886,6 +903,33 @@ where
|
|||
else
|
||||
return none
|
||||
|
||||
/--
|
||||
Collect extra argument positions that must be elaborated eagerly when using `elab_as_elim`.
|
||||
The idea is that the contribute to motive inference. See comment at `ElamElim.Context.extraArgsPos`.
|
||||
-/
|
||||
getElabAsElimExtraArgsPos (elimInfo : ElimInfo) : MetaM (Array Nat) := do
|
||||
let cinfo ← getConstInfo elimInfo.name
|
||||
forallTelescope cinfo.type fun xs type => do
|
||||
let resultArgs := type.getAppArgs
|
||||
let mut extraArgsPos := #[]
|
||||
for i in [:xs.size] do
|
||||
let x := xs[i]!
|
||||
unless elimInfo.targetsPos.contains i do
|
||||
let xType ← inferType x
|
||||
/- We only consider "first-order" types because we can reliably "extract" information from them. -/
|
||||
if isFirstOrder xType
|
||||
&& Option.isSome (xType.find? fun e => e.isFVar && resultArgs.contains e) then
|
||||
extraArgsPos := extraArgsPos.push i
|
||||
return extraArgsPos
|
||||
|
||||
/-
|
||||
Helper function for implementing `elab_as_elim`.
|
||||
We say a term is "first-order" if all applications are of the form `f ...` where `f` is a constant.
|
||||
-/
|
||||
isFirstOrder (e : Expr) : Bool :=
|
||||
Option.isNone <| e.find? fun e =>
|
||||
e.isApp && !e.getAppFn.isConst
|
||||
|
||||
/-- Auxiliary inductive datatype that represents the resolution of an `LVal`. -/
|
||||
inductive LValResolution where
|
||||
| projFn (baseStructName : Name) (structName : Name) (fieldName : Name)
|
||||
|
|
|
|||
11
stage0/src/Lean/Elab/Attributes.lean
generated
11
stage0/src/Lean/Elab/Attributes.lean
generated
|
|
@ -48,17 +48,8 @@ def elabAttr [Monad m] [MonadEnv m] [MonadResolveName m] [MonadError m] [MonadMa
|
|||
else match attr.getKind with
|
||||
| .str _ s => pure <| Name.mkSimple s
|
||||
| _ => throwErrorAt attr "unknown attribute"
|
||||
let .ok impl := getAttributeImpl (← getEnv) attrName
|
||||
let .ok _impl := getAttributeImpl (← getEnv) attrName
|
||||
| throwError "unknown attribute [{attrName}]"
|
||||
let attrSyntaxNodeKind := attrInstance[1].getKind
|
||||
-- `Lean.Parser.Attr.simple` is a generic `attribute` parser used in simple attributes.
|
||||
-- We don't want to create an info tree node from a simple attribute to the generic parser.
|
||||
let declTarget := if attrSyntaxNodeKind == ``Lean.Parser.Attr.simple then impl.ref else attrSyntaxNodeKind
|
||||
if (← getEnv).contains declTarget && (← getInfoState).enabled then
|
||||
pushInfoLeaf <| .ofCommandInfo {
|
||||
elaborator := declTarget -- not truly an elaborator, but a sensible target for go-to-definition
|
||||
stx := attrInstance[1][0] -- We want to associate the information to the first atom only
|
||||
}
|
||||
/- The `AttrM` does not have sufficient information for expanding macros in `args`.
|
||||
So, we expand them before here before we invoke the attributer handlers implemented using `AttrM`. -/
|
||||
return { kind := attrKind, name := attrName, stx := attr }
|
||||
|
|
|
|||
17
stage0/src/Lean/Elab/Term.lean
generated
17
stage0/src/Lean/Elab/Term.lean
generated
|
|
@ -612,11 +612,24 @@ private def applyAttributesCore
|
|||
match getAttributeImpl env attr.name with
|
||||
| Except.error errMsg => throwError errMsg
|
||||
| Except.ok attrImpl =>
|
||||
let runAttr := attrImpl.add declName attr.stx attr.kind
|
||||
let runAttr := do
|
||||
-- not truly an elaborator, but a sensible target for go-to-definition
|
||||
let elaborator := attrImpl.ref
|
||||
if (← getInfoState).enabled && (← getEnv).contains elaborator then
|
||||
withInfoContext (mkInfo := return .ofCommandInfo { elaborator, stx := attr.stx }) do
|
||||
try runAttr
|
||||
finally if attr.stx[0].isIdent || attr.stx[0].isAtom then
|
||||
-- Add an additional node over the leading identifier if there is one to make it look more function-like.
|
||||
-- Do this last because we want user-created infos to take precedence
|
||||
pushInfoLeaf <| .ofCommandInfo { elaborator, stx := attr.stx[0] }
|
||||
else
|
||||
runAttr
|
||||
match applicationTime? with
|
||||
| none => attrImpl.add declName attr.stx attr.kind
|
||||
| none => runAttr
|
||||
| some applicationTime =>
|
||||
if applicationTime == attrImpl.applicationTime then
|
||||
attrImpl.add declName attr.stx attr.kind
|
||||
runAttr
|
||||
|
||||
/-- Apply given attributes **at** a given application time -/
|
||||
def applyAttributesAt (declName : Name) (attrs : Array Attribute) (applicationTime : AttributeApplicationTime) : TermElabM Unit :=
|
||||
|
|
|
|||
8
stage0/src/Lean/Elab/Util.lean
generated
8
stage0/src/Lean/Elab/Util.lean
generated
|
|
@ -102,13 +102,7 @@ unsafe def mkElabAttribute (γ) (attrBuiltinName attrName : Name) (parserNamespa
|
|||
let kind ← syntaxNodeKindOfAttrParam parserNamespace stx
|
||||
/- Recall that a `SyntaxNodeKind` is often the name of the parser, but this is not always true, and we must check it. -/
|
||||
if (← getEnv).contains kind && (← getInfoState).enabled then
|
||||
pushInfoLeaf <| Info.ofTermInfo {
|
||||
elaborator := .anonymous
|
||||
lctx := {}
|
||||
expr := mkConst kind
|
||||
stx := stx[1]
|
||||
expectedType? := none
|
||||
}
|
||||
addConstInfo stx[1] kind none
|
||||
return kind
|
||||
onAdded := fun builtin declName => do
|
||||
if builtin then
|
||||
|
|
|
|||
9
stage0/src/Lean/KeyedDeclsAttribute.lean
generated
9
stage0/src/Lean/KeyedDeclsAttribute.lean
generated
|
|
@ -35,7 +35,12 @@ structure Def (γ : Type) where
|
|||
descr : String
|
||||
valueTypeName : Name
|
||||
/-- Convert `Syntax` into a `Key`, the default implementation expects an identifier. -/
|
||||
evalKey (builtin : Bool) (stx : Syntax) : AttrM Key := Attribute.Builtin.getId stx
|
||||
evalKey (builtin : Bool) (stx : Syntax) : AttrM Key := do
|
||||
let stx ← Attribute.Builtin.getIdent stx
|
||||
let kind := stx.getId
|
||||
if (← getEnv).contains kind && (← Elab.getInfoState).enabled then
|
||||
Elab.addConstInfo stx kind none
|
||||
pure kind
|
||||
onAdded (builtin : Bool) (declName : Name) : AttrM Unit := pure ()
|
||||
deriving Inhabited
|
||||
|
||||
|
|
@ -127,7 +132,7 @@ protected unsafe def init {γ} (df : Def γ) (attrDeclName : Name := by exact de
|
|||
if c != df.valueTypeName then throwError "unexpected type at '{declName}', '{df.valueTypeName}' expected"
|
||||
else
|
||||
/- builtin_initialize @addBuiltin $(mkConst valueTypeName) $(mkConst attrDeclName) $(key) $(declName) $(mkConst declName) -/
|
||||
let val := mkAppN (mkConst `Lean.KeyedDeclsAttribute.addBuiltin) #[mkConst df.valueTypeName, mkConst attrDeclName, toExpr key, toExpr declName, mkConst declName]
|
||||
let val := mkAppN (mkConst ``addBuiltin) #[mkConst df.valueTypeName, mkConst attrDeclName, toExpr key, toExpr declName, mkConst declName]
|
||||
declareBuiltin declName val
|
||||
df.onAdded true declName
|
||||
| _ => throwError "unexpected type at '{declName}', '{df.valueTypeName}' expected"
|
||||
|
|
|
|||
73
stage0/src/Lean/Meta/ACLt.lean
generated
73
stage0/src/Lean/Meta/ACLt.lean
generated
|
|
@ -5,6 +5,7 @@ Authors: Leonardo de Moura
|
|||
-/
|
||||
import Lean.Meta.Basic
|
||||
import Lean.Meta.FunInfo
|
||||
import Lean.Meta.DiscrTree
|
||||
|
||||
namespace Lean
|
||||
|
||||
|
|
@ -25,6 +26,11 @@ def Expr.ctorWeight : Expr → UInt8
|
|||
namespace Meta
|
||||
namespace ACLt
|
||||
|
||||
inductive ReduceMode where
|
||||
| reduce
|
||||
| reduceSimpleOnly
|
||||
| none
|
||||
|
||||
mutual
|
||||
|
||||
/--
|
||||
|
|
@ -43,17 +49,26 @@ mutual
|
|||
- We ignore metadata.
|
||||
- We ignore universe parameterst at constants.
|
||||
-/
|
||||
unsafe def lt (a b : Expr) : MetaM Bool :=
|
||||
if ptrAddrUnsafe a == ptrAddrUnsafe b then
|
||||
return false
|
||||
-- We ignore metadata
|
||||
else if a.isMData then
|
||||
lt a.mdataExpr! b
|
||||
else if b.isMData then
|
||||
lt a b.mdataExpr!
|
||||
else
|
||||
lpo a b
|
||||
unsafe def main (a b : Expr) (mode : ReduceMode := .none) : MetaM Bool :=
|
||||
lt a b
|
||||
where
|
||||
reduce (e : Expr) : MetaM Expr :=
|
||||
match mode with
|
||||
| .reduce => DiscrTree.reduce e (simpleReduce := false)
|
||||
| .reduceSimpleOnly => DiscrTree.reduce e (simpleReduce := true)
|
||||
| .none => return e
|
||||
|
||||
lt (a b : Expr) : MetaM Bool := do
|
||||
if ptrAddrUnsafe a == ptrAddrUnsafe b then
|
||||
return false
|
||||
-- We ignore metadata
|
||||
else if a.isMData then
|
||||
lt a.mdataExpr! b
|
||||
else if b.isMData then
|
||||
lt a b.mdataExpr!
|
||||
else
|
||||
lpo (← reduce a) (← reduce b)
|
||||
|
||||
ltPair (a₁ a₂ b₁ b₂ : Expr) : MetaM Bool := do
|
||||
if (← lt a₁ b₁) then
|
||||
return true
|
||||
|
|
@ -95,25 +110,25 @@ where
|
|||
lexSameCtor (a b : Expr) : MetaM Bool :=
|
||||
match a with
|
||||
-- Atomic
|
||||
| Expr.bvar i .. => return i < b.bvarIdx!
|
||||
| Expr.fvar id .. => return Name.lt id.name b.fvarId!.name
|
||||
| Expr.mvar id .. => return Name.lt id.name b.mvarId!.name
|
||||
| Expr.sort u .. => return Level.normLt u b.sortLevel!
|
||||
| Expr.const n .. => return Name.lt n b.constName! -- We igore the levels
|
||||
| Expr.lit v .. => return Literal.lt v b.litValue!
|
||||
| .bvar i .. => return i < b.bvarIdx!
|
||||
| .fvar id .. => return Name.lt id.name b.fvarId!.name
|
||||
| .mvar id .. => return Name.lt id.name b.mvarId!.name
|
||||
| .sort u .. => return Level.normLt u b.sortLevel!
|
||||
| .const n .. => return Name.lt n b.constName! -- We igore the levels
|
||||
| .lit v .. => return Literal.lt v b.litValue!
|
||||
-- Composite
|
||||
| Expr.proj _ i e .. => if i != b.projIdx! then return i < b.projIdx! else lt e b.projExpr!
|
||||
| Expr.app .. => ltApp a b
|
||||
| Expr.lam _ d e .. => ltPair d e b.bindingDomain! b.bindingBody!
|
||||
| Expr.forallE _ d e .. => ltPair d e b.bindingDomain! b.bindingBody!
|
||||
| Expr.letE _ _ v e .. => ltPair v e b.letValue! b.letBody!
|
||||
| .proj _ i e .. => if i != b.projIdx! then return i < b.projIdx! else lt e b.projExpr!
|
||||
| .app .. => ltApp a b
|
||||
| .lam _ d e .. => ltPair d e b.bindingDomain! b.bindingBody!
|
||||
| .forallE _ d e .. => ltPair d e b.bindingDomain! b.bindingBody!
|
||||
| .letE _ _ v e .. => ltPair v e b.letValue! b.letBody!
|
||||
-- See main function
|
||||
| Expr.mdata .. => unreachable!
|
||||
| .mdata .. => unreachable!
|
||||
|
||||
allChildrenLt (a b : Expr) : MetaM Bool :=
|
||||
match a with
|
||||
| Expr.proj _ _ e .. => lt e b
|
||||
| Expr.app .. =>
|
||||
| .proj _ _ e .. => lt e b
|
||||
| .app .. =>
|
||||
a.withApp fun f args => do
|
||||
let infos := (← getFunInfoNArgs f args.size).paramInfo
|
||||
for i in [:infos.size] do
|
||||
|
|
@ -125,9 +140,9 @@ where
|
|||
if !(← lt args[i]! b) then
|
||||
return false
|
||||
return true
|
||||
| Expr.lam _ d e .. => lt d b <&&> lt e b
|
||||
| Expr.forallE _ d e .. => lt d b <&&> lt e b
|
||||
| Expr.letE _ _ v e .. => lt v b <&&> lt e b
|
||||
| .lam _ d e .. => lt d b <&&> lt e b
|
||||
| .forallE _ d e .. => lt d b <&&> lt e b
|
||||
| .letE _ _ v e .. => lt v b <&&> lt e b
|
||||
| _ => return true
|
||||
|
||||
someChildGe (a b : Expr) : MetaM Bool :=
|
||||
|
|
@ -154,7 +169,7 @@ end
|
|||
|
||||
end ACLt
|
||||
|
||||
@[implemented_by ACLt.lt]
|
||||
opaque Expr.acLt : Expr → Expr → MetaM Bool
|
||||
@[implemented_by ACLt.main, inherit_doc ACLt.main]
|
||||
opaque Expr.acLt : Expr → Expr → (mode : ACLt.ReduceMode := .none) → MetaM Bool
|
||||
|
||||
end Lean.Meta
|
||||
|
|
|
|||
6
stage0/src/Lean/Meta/Tactic/Simp/Rewrite.lean
generated
6
stage0/src/Lean/Meta/Tactic/Simp/Rewrite.lean
generated
|
|
@ -69,7 +69,11 @@ private def tryTheoremCore (lhs : Expr) (xs : Array Expr) (bis : Array BinderInf
|
|||
if e == rhs then
|
||||
return none
|
||||
if thm.perm then
|
||||
if !(← Expr.acLt rhs e) then
|
||||
/-
|
||||
We use `.reduceSimpleOnly` because this is how we indexed the discrimination tree.
|
||||
See issue #1815
|
||||
-/
|
||||
if !(← Expr.acLt rhs e .reduceSimpleOnly) then
|
||||
trace[Meta.Tactic.simp.rewrite] "{← ppSimpTheorem thm}, perm rejected {e} ==> {rhs}"
|
||||
return none
|
||||
trace[Meta.Tactic.simp.rewrite] "{← ppSimpTheorem thm}, {e} ==> {rhs}"
|
||||
|
|
|
|||
|
|
@ -106,6 +106,14 @@ unsafe def mkDelabAttribute : IO (KeyedDeclsAttribute Delab) :=
|
|||
to reduce special casing. If the term is an `Expr.mdata` with a single key `k`, `mdata.k`
|
||||
is tried first.",
|
||||
valueTypeName := `Lean.PrettyPrinter.Delaborator.Delab
|
||||
evalKey := fun _ stx => do
|
||||
let stx ← Attribute.Builtin.getIdent stx
|
||||
let kind := stx.getId
|
||||
if (← Elab.getInfoState).enabled && kind.getRoot == `app then
|
||||
let c := kind.replacePrefix `app .anonymous
|
||||
if (← getEnv).contains c then
|
||||
Elab.addConstInfo stx c none
|
||||
pure kind
|
||||
} `Lean.PrettyPrinter.Delaborator.delabAttribute
|
||||
@[builtin_init mkDelabAttribute] opaque delabAttribute : KeyedDeclsAttribute Delab
|
||||
|
||||
|
|
|
|||
10
stage0/src/Lean/PrettyPrinter/Formatter.lean
generated
10
stage0/src/Lean/PrettyPrinter/Formatter.lean
generated
|
|
@ -65,11 +65,15 @@ unsafe def mkFormatterAttribute : IO (KeyedDeclsAttribute Formatter) :=
|
|||
valueTypeName := `Lean.PrettyPrinter.Formatter,
|
||||
evalKey := fun builtin stx => do
|
||||
let env ← getEnv
|
||||
let id ← Attribute.Builtin.getId stx
|
||||
let stx ← Attribute.Builtin.getIdent stx
|
||||
let id := stx.getId
|
||||
-- `isValidSyntaxNodeKind` is updated only in the next stage for new `[builtin*Parser]`s, but we try to
|
||||
-- synthesize a formatter for it immediately, so we just check for a declaration in this case
|
||||
if (builtin && (env.find? id).isSome) || Parser.isValidSyntaxNodeKind env id then pure id
|
||||
else throwError "invalid [formatter] argument, unknown syntax kind '{id}'"
|
||||
unless (builtin && (env.find? id).isSome) || Parser.isValidSyntaxNodeKind env id do
|
||||
throwError "invalid [formatter] argument, unknown syntax kind '{id}'"
|
||||
if (← getEnv).contains id && (← Elab.getInfoState).enabled then
|
||||
Elab.addConstInfo stx id none
|
||||
pure id
|
||||
} `Lean.PrettyPrinter.formatterAttribute
|
||||
@[builtin_init mkFormatterAttribute] opaque formatterAttribute : KeyedDeclsAttribute Formatter
|
||||
|
||||
|
|
|
|||
20
stage0/src/Lean/PrettyPrinter/Parenthesizer.lean
generated
20
stage0/src/Lean/PrettyPrinter/Parenthesizer.lean
generated
|
|
@ -120,11 +120,15 @@ unsafe def mkParenthesizerAttribute : IO (KeyedDeclsAttribute Parenthesizer) :=
|
|||
valueTypeName := `Lean.PrettyPrinter.Parenthesizer,
|
||||
evalKey := fun builtin stx => do
|
||||
let env ← getEnv
|
||||
let id ← Attribute.Builtin.getId stx
|
||||
let stx ← Attribute.Builtin.getIdent stx
|
||||
let id := stx.getId
|
||||
-- `isValidSyntaxNodeKind` is updated only in the next stage for new `[builtin*Parser]`s, but we try to
|
||||
-- synthesize a parenthesizer for it immediately, so we just check for a declaration in this case
|
||||
if (builtin && (env.find? id).isSome) || Parser.isValidSyntaxNodeKind env id then pure id
|
||||
else throwError "invalid [parenthesizer] argument, unknown syntax kind '{id}'"
|
||||
unless (builtin && (env.find? id).isSome) || Parser.isValidSyntaxNodeKind env id do
|
||||
throwError "invalid [parenthesizer] argument, unknown syntax kind '{id}'"
|
||||
if (← getEnv).contains id && (← Elab.getInfoState).enabled then
|
||||
Elab.addConstInfo stx id none
|
||||
pure id
|
||||
} `Lean.PrettyPrinter.parenthesizerAttribute
|
||||
@[builtin_init mkParenthesizerAttribute] opaque parenthesizerAttribute : KeyedDeclsAttribute Parenthesizer
|
||||
|
||||
|
|
@ -143,9 +147,13 @@ unsafe def mkCategoryParenthesizerAttribute : IO (KeyedDeclsAttribute CategoryPa
|
|||
valueTypeName := `Lean.PrettyPrinter.CategoryParenthesizer,
|
||||
evalKey := fun _ stx => do
|
||||
let env ← getEnv
|
||||
let id ← Attribute.Builtin.getId stx
|
||||
if Parser.isParserCategory env id then pure id
|
||||
else throwError "invalid [category_parenthesizer] argument, unknown parser category '{toString id}'"
|
||||
let stx ← Attribute.Builtin.getIdent stx
|
||||
let id := stx.getId
|
||||
let some cat := (Parser.parserExtension.getState env).categories.find? id
|
||||
| throwError "invalid [category_parenthesizer] argument, unknown parser category '{toString id}'"
|
||||
if (← Elab.getInfoState).enabled && (← getEnv).contains cat.declName then
|
||||
Elab.addConstInfo stx cat.declName none
|
||||
pure id
|
||||
} `Lean.PrettyPrinter.categoryParenthesizerAttribute
|
||||
@[builtin_init mkCategoryParenthesizerAttribute] opaque categoryParenthesizerAttribute : KeyedDeclsAttribute CategoryParenthesizer
|
||||
|
||||
|
|
|
|||
4
stage0/stdlib/Init/Classical.c
generated
4
stage0/stdlib/Init/Classical.c
generated
|
|
@ -146,7 +146,7 @@ static lean_object* _init_l_Classical_tacticBy__cases___x3a_____closed__6() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes("by_cases", 8);
|
||||
x_1 = lean_mk_string_from_bytes("by_cases ", 9);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -230,7 +230,7 @@ static lean_object* _init_l_Classical_tacticBy__cases___x3a_____closed__15() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes(":", 1);
|
||||
x_1 = lean_mk_string_from_bytes(" : ", 3);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
17808
stage0/stdlib/Lean/Compiler/LCNF/ElimDeadBranches.c
generated
Normal file
17808
stage0/stdlib/Lean/Compiler/LCNF/ElimDeadBranches.c
generated
Normal file
File diff suppressed because it is too large
Load diff
24
stage0/stdlib/Lean/Compiler/LCNF/Main.c
generated
24
stage0/stdlib/Lean/Compiler/LCNF/Main.c
generated
|
|
@ -49,7 +49,6 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_showDecl___boxed(lean_object*, lea
|
|||
LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Compiler_LCNF_PassManager_run___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PassManager_run(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PassManager_run___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_isTracingEnabledFor___at_Lean_Compiler_LCNF_Decl_reduceArity___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_shouldGenerateCode___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_profileitM___at_Lean_Compiler_LCNF_main___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -64,6 +63,7 @@ static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_checkpoint_
|
|||
uint8_t lean_usize_dec_lt(size_t, size_t);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Main___hyg_1788____closed__16;
|
||||
static lean_object* l_Lean_Compiler_LCNF_shouldGenerateCode___closed__19;
|
||||
lean_object* l_Lean_addTrace___at_Lean_Compiler_LCNF_UnreachableBranches_elimDead_go___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_shouldGenerateCode___lambda__2___closed__1;
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Main___hyg_1788____closed__20;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_shouldGenerateCode___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -170,6 +170,7 @@ static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_checkpoint_
|
|||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_checkpoint___spec__1___lambda__2___closed__3;
|
||||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_checkpoint___spec__1___lambda__2___closed__4;
|
||||
lean_object* l_Lean_Compiler_LCNF_getDeclAt_x3f(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_isTracingEnabledFor___at_Lean_Compiler_LCNF_UnreachableBranches_elimDead_go___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Main___hyg_1788____closed__23;
|
||||
extern lean_object* l_Lean_Expr_instBEqExpr;
|
||||
lean_object* l_Lean_Compiler_LCNF_getDeclInfo_x3f(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -188,7 +189,6 @@ static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Main__
|
|||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Main___hyg_1788____closed__6;
|
||||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_checkpoint___spec__1___lambda__2___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_PassManager_run___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_addTrace___at_Lean_Compiler_LCNF_Decl_reduceArity___spec__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_checkpoint___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_checkpoint___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_isProp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -1291,7 +1291,7 @@ x_14 = 0;
|
|||
x_15 = l_Lean_KVMap_setBool(x_12, x_13, x_14);
|
||||
lean_ctor_set(x_6, 2, x_15);
|
||||
lean_inc(x_10);
|
||||
x_16 = l_Lean_isTracingEnabledFor___at_Lean_Compiler_LCNF_Decl_reduceArity___spec__1(x_10, x_4, x_5, x_6, x_7, x_8);
|
||||
x_16 = l_Lean_isTracingEnabledFor___at_Lean_Compiler_LCNF_UnreachableBranches_elimDead_go___spec__1(x_10, x_4, x_5, x_6, x_7, x_8);
|
||||
x_17 = lean_ctor_get(x_16, 0);
|
||||
lean_inc(x_17);
|
||||
x_18 = lean_unbox(x_17);
|
||||
|
|
@ -1396,7 +1396,7 @@ x_46 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_checkpoint___spec__1___l
|
|||
x_47 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_47, 0, x_45);
|
||||
lean_ctor_set(x_47, 1, x_46);
|
||||
x_48 = l_Lean_addTrace___at_Lean_Compiler_LCNF_Decl_reduceArity___spec__12(x_10, x_47, x_4, x_5, x_6, x_7, x_35);
|
||||
x_48 = l_Lean_addTrace___at_Lean_Compiler_LCNF_UnreachableBranches_elimDead_go___spec__2(x_10, x_47, x_4, x_5, x_6, x_7, x_35);
|
||||
x_49 = lean_ctor_get(x_48, 0);
|
||||
lean_inc(x_49);
|
||||
x_50 = lean_ctor_get(x_48, 1);
|
||||
|
|
@ -1525,7 +1525,7 @@ lean_ctor_set(x_80, 8, x_74);
|
|||
lean_ctor_set(x_80, 9, x_75);
|
||||
lean_ctor_set(x_80, 10, x_76);
|
||||
lean_inc(x_10);
|
||||
x_81 = l_Lean_isTracingEnabledFor___at_Lean_Compiler_LCNF_Decl_reduceArity___spec__1(x_10, x_4, x_5, x_80, x_7, x_8);
|
||||
x_81 = l_Lean_isTracingEnabledFor___at_Lean_Compiler_LCNF_UnreachableBranches_elimDead_go___spec__1(x_10, x_4, x_5, x_80, x_7, x_8);
|
||||
x_82 = lean_ctor_get(x_81, 0);
|
||||
lean_inc(x_82);
|
||||
x_83 = lean_unbox(x_82);
|
||||
|
|
@ -1629,7 +1629,7 @@ x_109 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_checkpoint___spec__1___
|
|||
x_110 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_110, 0, x_108);
|
||||
lean_ctor_set(x_110, 1, x_109);
|
||||
x_111 = l_Lean_addTrace___at_Lean_Compiler_LCNF_Decl_reduceArity___spec__12(x_10, x_110, x_4, x_5, x_80, x_7, x_98);
|
||||
x_111 = l_Lean_addTrace___at_Lean_Compiler_LCNF_UnreachableBranches_elimDead_go___spec__2(x_10, x_110, x_4, x_5, x_80, x_7, x_98);
|
||||
x_112 = lean_ctor_get(x_111, 0);
|
||||
lean_inc(x_112);
|
||||
x_113 = lean_ctor_get(x_111, 1);
|
||||
|
|
@ -1778,7 +1778,7 @@ lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint
|
|||
lean_dec(x_5);
|
||||
x_13 = lean_array_uget(x_2, x_4);
|
||||
x_14 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_checkpoint___spec__1___closed__2;
|
||||
x_15 = l_Lean_isTracingEnabledFor___at_Lean_Compiler_LCNF_Decl_reduceArity___spec__1(x_14, x_6, x_7, x_8, x_9, x_10);
|
||||
x_15 = l_Lean_isTracingEnabledFor___at_Lean_Compiler_LCNF_UnreachableBranches_elimDead_go___spec__1(x_14, x_6, x_7, x_8, x_9, x_10);
|
||||
x_16 = lean_ctor_get(x_15, 0);
|
||||
lean_inc(x_16);
|
||||
x_17 = lean_unbox(x_16);
|
||||
|
|
@ -1912,7 +1912,7 @@ lean_ctor_set(x_48, 1, x_47);
|
|||
x_49 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_49, 0, x_48);
|
||||
lean_ctor_set(x_49, 1, x_40);
|
||||
x_50 = l_Lean_addTrace___at_Lean_Compiler_LCNF_Decl_reduceArity___spec__12(x_14, x_49, x_6, x_7, x_8, x_9, x_37);
|
||||
x_50 = l_Lean_addTrace___at_Lean_Compiler_LCNF_UnreachableBranches_elimDead_go___spec__2(x_14, x_49, x_6, x_7, x_8, x_9, x_37);
|
||||
x_51 = lean_ctor_get(x_50, 0);
|
||||
lean_inc(x_51);
|
||||
x_52 = lean_ctor_get(x_50, 1);
|
||||
|
|
@ -2493,7 +2493,7 @@ else
|
|||
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16;
|
||||
x_12 = lean_array_uget(x_1, x_3);
|
||||
x_13 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_checkpoint___spec__1___lambda__2___closed__2;
|
||||
x_14 = l_Lean_isTracingEnabledFor___at_Lean_Compiler_LCNF_Decl_reduceArity___spec__1(x_13, x_5, x_6, x_7, x_8, x_9);
|
||||
x_14 = l_Lean_isTracingEnabledFor___at_Lean_Compiler_LCNF_UnreachableBranches_elimDead_go___spec__1(x_13, x_5, x_6, x_7, x_8, x_9);
|
||||
x_15 = lean_ctor_get(x_14, 0);
|
||||
lean_inc(x_15);
|
||||
x_16 = lean_unbox(x_15);
|
||||
|
|
@ -2611,7 +2611,7 @@ x_41 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_checkpoint___spec__1___l
|
|||
x_42 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_42, 0, x_40);
|
||||
lean_ctor_set(x_42, 1, x_41);
|
||||
x_43 = l_Lean_addTrace___at_Lean_Compiler_LCNF_Decl_reduceArity___spec__12(x_13, x_42, x_5, x_6, x_7, x_8, x_36);
|
||||
x_43 = l_Lean_addTrace___at_Lean_Compiler_LCNF_UnreachableBranches_elimDead_go___spec__2(x_13, x_42, x_5, x_6, x_7, x_8, x_36);
|
||||
x_44 = lean_ctor_get(x_43, 0);
|
||||
lean_inc(x_44);
|
||||
x_45 = lean_ctor_get(x_43, 1);
|
||||
|
|
@ -3413,7 +3413,7 @@ x_22 = lean_ctor_get(x_20, 1);
|
|||
lean_inc(x_22);
|
||||
lean_dec(x_20);
|
||||
x_23 = l_Lean_Compiler_LCNF_PassManager_run___lambda__2___closed__2;
|
||||
x_24 = l_Lean_isTracingEnabledFor___at_Lean_Compiler_LCNF_Decl_reduceArity___spec__1(x_23, x_3, x_4, x_5, x_6, x_22);
|
||||
x_24 = l_Lean_isTracingEnabledFor___at_Lean_Compiler_LCNF_UnreachableBranches_elimDead_go___spec__1(x_23, x_3, x_4, x_5, x_6, x_22);
|
||||
x_25 = lean_ctor_get(x_24, 0);
|
||||
lean_inc(x_25);
|
||||
x_26 = lean_unbox(x_25);
|
||||
|
|
@ -3607,7 +3607,7 @@ x_22 = lean_ctor_get(x_20, 1);
|
|||
lean_inc(x_22);
|
||||
lean_dec(x_20);
|
||||
x_23 = l_Lean_Compiler_LCNF_PassManager_run___lambda__2___closed__2;
|
||||
x_24 = l_Lean_isTracingEnabledFor___at_Lean_Compiler_LCNF_Decl_reduceArity___spec__1(x_23, x_3, x_4, x_5, x_6, x_22);
|
||||
x_24 = l_Lean_isTracingEnabledFor___at_Lean_Compiler_LCNF_UnreachableBranches_elimDead_go___spec__1(x_23, x_3, x_4, x_5, x_6, x_22);
|
||||
x_25 = lean_ctor_get(x_24, 0);
|
||||
lean_inc(x_25);
|
||||
x_26 = lean_unbox(x_25);
|
||||
|
|
|
|||
558
stage0/stdlib/Lean/Compiler/LCNF/Passes.c
generated
558
stage0/stdlib/Lean/Compiler/LCNF/Passes.c
generated
File diff suppressed because it is too large
Load diff
4422
stage0/stdlib/Lean/Compiler/LCNF/Simp/ConstantFold.c
generated
4422
stage0/stdlib/Lean/Compiler/LCNF/Simp/ConstantFold.c
generated
File diff suppressed because it is too large
Load diff
2157
stage0/stdlib/Lean/Elab/App.c
generated
2157
stage0/stdlib/Lean/Elab/App.c
generated
File diff suppressed because it is too large
Load diff
625
stage0/stdlib/Lean/Elab/Attributes.c
generated
625
stage0/stdlib/Lean/Elab/Attributes.c
generated
|
|
@ -16,13 +16,11 @@ extern "C" {
|
|||
lean_object* l_List_reverse___rarg(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Attribute_stx___default;
|
||||
static lean_object* l_Lean_Elab_mkAttrKindGlobal___closed__8;
|
||||
static lean_object* l_Lean_Elab_elabAttr___rarg___lambda__7___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__1___rarg___lambda__5(lean_object*, uint8_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___boxed(lean_object**);
|
||||
size_t lean_usize_add(size_t, size_t);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__3___rarg___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*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_erase_macro_scopes(lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5___closed__6;
|
||||
lean_object* l_Lean_stringToMessageData(lean_object*);
|
||||
lean_object* l_Lean_throwMaxRecDepthAt___rarg(lean_object*, lean_object*);
|
||||
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
|
||||
|
|
@ -33,12 +31,13 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spe
|
|||
lean_object* l_Lean_Macro_getCurrNamespace(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__3___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_array_uget(lean_object*, size_t);
|
||||
static lean_object* l_Lean_Elab_elabAttr___rarg___lambda__4___closed__2;
|
||||
extern lean_object* l_Std_Format_defWidth;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__1___rarg___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__3___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_maxRecDepthErrorMessage;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__1___rarg___lambda__12(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_elabAttr___rarg___lambda__4(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__4(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_instInhabitedAttribute;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__6___boxed(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__1___rarg___lambda__11(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*);
|
||||
|
|
@ -48,20 +47,19 @@ uint8_t lean_name_eq(lean_object*, lean_object*);
|
|||
LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_elabAttr___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_throwUnsupportedSyntax___rarg(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_toAttributeKind___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___rarg___lambda__4___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__3___rarg___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__6(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__1___boxed(lean_object*);
|
||||
lean_object* lean_array_push(lean_object*, lean_object*);
|
||||
lean_object* lean_array_get_size(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__1___rarg___lambda__14(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_toAttributeKind___closed__6;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__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*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___rarg___lambda__1___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__1___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___rarg___lambda__8___closed__1;
|
||||
static lean_object* l_Lean_Elab_elabAttr___rarg___lambda__1___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__3___rarg___lambda__3___boxed(lean_object**);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__3___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -69,17 +67,18 @@ LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__
|
|||
LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_elabAttr___spec__4(lean_object*);
|
||||
static lean_object* l_Lean_Elab_instToFormatAttribute___closed__10;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__1___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_usize_dec_lt(size_t, size_t);
|
||||
lean_object* l_liftExcept___at_Lean_Elab_liftMacroM___spec__1(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___rarg___lambda__4___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__2(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__1___rarg___lambda__5___boxed(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__1___rarg___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___rarg___lambda__7___closed__2;
|
||||
static lean_object* l_Lean_Elab_elabAttr___rarg___lambda__4___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__2(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_expandMacroImpl_x3f(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__1___rarg___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_addTrace___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___rarg___lambda__4___closed__5;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__3___rarg___lambda__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_logException___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttrs___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -92,7 +91,6 @@ lean_object* l_Lean_ResolveName_resolveNamespace(lean_object*, lean_object*, lea
|
|||
LEAN_EXPORT uint8_t l_Lean_Elab_Attribute_kind___default;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__1___rarg___lambda__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__3___rarg___lambda__10(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_elabAttr___rarg___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttrs(lean_object*);
|
||||
lean_object* l_Lean_Syntax_getId(lean_object*);
|
||||
lean_object* lean_format_pretty(lean_object*, lean_object*);
|
||||
|
|
@ -112,14 +110,12 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spe
|
|||
lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
size_t lean_usize_of_nat(lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__1(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__7(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_instToFormatAttribute___closed__8;
|
||||
static lean_object* l_Lean_Elab_instInhabitedAttribute___closed__1;
|
||||
lean_object* l_Lean_Elab_pushInfoLeaf___rarg(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabDeclAttrs___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__6(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___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_toAttributeKind___closed__3;
|
||||
static lean_object* l_Lean_Elab_instToFormatAttribute___closed__9;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabDeclAttrs(lean_object*);
|
||||
|
|
@ -139,18 +135,18 @@ LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__
|
|||
static lean_object* l_Lean_Elab_instToFormatAttribute___closed__5;
|
||||
LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_elabAttr___spec__2___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_ReaderT_pure___at_Lean_Elab_liftMacroM___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___rarg___lambda__2___closed__1;
|
||||
static lean_object* l_Lean_Elab_instToFormatAttribute___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__8(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*, size_t, lean_object*);
|
||||
static lean_object* l_Lean_Elab_instToFormatAttribute___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___rarg___lambda__2___closed__2;
|
||||
lean_object* l_Lean_throwError___rarg(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_instToFormatAttribute___closed__7;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__7(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_elabAttr___spec__4___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_toAttributeKind___closed__1;
|
||||
static lean_object* l_Lean_Elab_mkAttrKindGlobal___closed__1;
|
||||
uint8_t l_Lean_Syntax_isNone(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkAttrKindGlobal___closed__2;
|
||||
static lean_object* l_Lean_Elab_instToFormatAttribute___closed__3;
|
||||
lean_object* l_Lean_expandMacros(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -159,8 +155,8 @@ LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_elabAttr___spec__2___rarg(le
|
|||
LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_elabAttr___spec__2(lean_object*);
|
||||
static lean_object* l_Lean_Elab_toAttributeKind___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkAttrKindGlobal___closed__5;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_mkAttrKindGlobal;
|
||||
lean_object* lean_string_length(lean_object*);
|
||||
|
|
@ -170,23 +166,21 @@ LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_elabAttr___spec__2___rarg___
|
|||
lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_toAttributeKind(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_elabAttr___spec__4___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___rarg___lambda__2___closed__3;
|
||||
lean_object* l_Lean_Name_mkStr4(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5___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_elabAttr___rarg___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_elabAttr___spec__2___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Lean_Elab_elabAttr___rarg___lambda__1(lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkAttrKindGlobal___closed__6;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__1___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkAttrKindGlobal___closed__9;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___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*);
|
||||
static lean_object* l_Lean_Elab_toAttributeKind___closed__7;
|
||||
static lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3;
|
||||
lean_object* lean_nat_to_int(lean_object*);
|
||||
lean_object* l_Lean_getAttributeImpl(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkAttrKindGlobal___closed__4;
|
||||
static lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5___closed__5;
|
||||
lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5___closed__1;
|
||||
LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_elabAttr___spec__2___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t);
|
||||
|
|
@ -1947,113 +1941,7 @@ return x_5;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__2(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
|
||||
x_6 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_6);
|
||||
lean_dec(x_1);
|
||||
x_7 = lean_ctor_get(x_6, 1);
|
||||
lean_inc(x_7);
|
||||
lean_dec(x_6);
|
||||
x_8 = lean_alloc_ctor(0, 2, 1);
|
||||
lean_ctor_set(x_8, 0, x_3);
|
||||
lean_ctor_set(x_8, 1, x_4);
|
||||
lean_ctor_set_uint8(x_8, sizeof(void*)*2, x_2);
|
||||
x_9 = lean_apply_2(x_7, lean_box(0), x_8);
|
||||
return x_9;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; uint8_t x_13;
|
||||
x_11 = lean_box(x_2);
|
||||
lean_inc(x_1);
|
||||
x_12 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__2___boxed), 5, 4);
|
||||
lean_closure_set(x_12, 0, x_1);
|
||||
lean_closure_set(x_12, 1, x_11);
|
||||
lean_closure_set(x_12, 2, x_3);
|
||||
lean_closure_set(x_12, 3, x_4);
|
||||
lean_inc(x_6);
|
||||
x_13 = l_Lean_Environment_contains(x_5, x_6);
|
||||
if (x_13 == 0)
|
||||
{
|
||||
lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_6);
|
||||
x_14 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_14);
|
||||
lean_dec(x_1);
|
||||
x_15 = lean_ctor_get(x_14, 1);
|
||||
lean_inc(x_15);
|
||||
lean_dec(x_14);
|
||||
x_16 = lean_box(0);
|
||||
x_17 = lean_apply_2(x_15, lean_box(0), x_16);
|
||||
x_18 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_17, x_12);
|
||||
return x_18;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_19;
|
||||
x_19 = lean_ctor_get_uint8(x_10, sizeof(void*)*2);
|
||||
if (x_19 == 0)
|
||||
{
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_6);
|
||||
x_20 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_20);
|
||||
lean_dec(x_1);
|
||||
x_21 = lean_ctor_get(x_20, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_20);
|
||||
x_22 = lean_box(0);
|
||||
x_23 = lean_apply_2(x_21, lean_box(0), x_22);
|
||||
x_24 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_23, x_12);
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
|
||||
x_25 = lean_unsigned_to_nat(0u);
|
||||
x_26 = l_Lean_Syntax_getArg(x_8, x_25);
|
||||
x_27 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_27, 0, x_6);
|
||||
lean_ctor_set(x_27, 1, x_26);
|
||||
x_28 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_28, 0, x_27);
|
||||
x_29 = l_Lean_Elab_pushInfoLeaf___rarg(x_1, x_9, x_28);
|
||||
x_30 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_29, x_12);
|
||||
return x_30;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__4(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) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
|
||||
x_10 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_10);
|
||||
x_11 = lean_box(x_3);
|
||||
lean_inc(x_7);
|
||||
x_12 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__3___boxed), 10, 9);
|
||||
lean_closure_set(x_12, 0, x_2);
|
||||
lean_closure_set(x_12, 1, x_11);
|
||||
lean_closure_set(x_12, 2, x_4);
|
||||
lean_closure_set(x_12, 3, x_5);
|
||||
lean_closure_set(x_12, 4, x_9);
|
||||
lean_closure_set(x_12, 5, x_6);
|
||||
lean_closure_set(x_12, 6, x_7);
|
||||
lean_closure_set(x_12, 7, x_8);
|
||||
lean_closure_set(x_12, 8, x_1);
|
||||
x_13 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_10, x_12);
|
||||
return x_13;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__5___closed__1() {
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__2___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -2061,16 +1949,16 @@ x_1 = lean_mk_string_from_bytes("unknown attribute [", 19);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__5___closed__2() {
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__2___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__1;
|
||||
x_1 = l_Lean_Elab_elabAttr___rarg___lambda__2___closed__1;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3() {
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__2___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
|
|
@ -2079,7 +1967,69 @@ x_2 = l_Lean_stringToMessageData(x_1);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__5___closed__4() {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_7;
|
||||
lean_inc(x_1);
|
||||
x_7 = l_Lean_getAttributeImpl(x_6, x_1);
|
||||
if (lean_obj_tag(x_7) == 0)
|
||||
{
|
||||
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
x_8 = lean_alloc_ctor(4, 1, 0);
|
||||
lean_ctor_set(x_8, 0, x_1);
|
||||
x_9 = l_Lean_Elab_elabAttr___rarg___lambda__2___closed__2;
|
||||
x_10 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_10, 0, x_9);
|
||||
lean_ctor_set(x_10, 1, x_8);
|
||||
x_11 = l_Lean_Elab_elabAttr___rarg___lambda__2___closed__3;
|
||||
x_12 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_12, 0, x_10);
|
||||
lean_ctor_set(x_12, 1, x_11);
|
||||
x_13 = l_Lean_throwError___rarg(x_2, x_3, x_12);
|
||||
return x_13;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_3);
|
||||
x_14 = lean_ctor_get(x_2, 0);
|
||||
lean_inc(x_14);
|
||||
lean_dec(x_2);
|
||||
x_15 = lean_ctor_get(x_14, 1);
|
||||
lean_inc(x_15);
|
||||
lean_dec(x_14);
|
||||
x_16 = lean_alloc_ctor(0, 2, 1);
|
||||
lean_ctor_set(x_16, 0, x_1);
|
||||
lean_ctor_set(x_16, 1, x_5);
|
||||
lean_ctor_set_uint8(x_16, sizeof(void*)*2, x_4);
|
||||
x_17 = lean_apply_2(x_15, lean_box(0), x_16);
|
||||
return x_17;
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
|
||||
x_8 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_8);
|
||||
lean_dec(x_1);
|
||||
x_9 = lean_box(x_4);
|
||||
x_10 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__2___boxed), 6, 5);
|
||||
lean_closure_set(x_10, 0, x_7);
|
||||
lean_closure_set(x_10, 1, x_2);
|
||||
lean_closure_set(x_10, 2, x_3);
|
||||
lean_closure_set(x_10, 3, x_9);
|
||||
lean_closure_set(x_10, 4, x_5);
|
||||
x_11 = lean_apply_4(x_6, lean_box(0), lean_box(0), x_8, x_10);
|
||||
return x_11;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__4___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -2087,7 +2037,7 @@ x_1 = lean_mk_string_from_bytes("Attr", 4);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__5___closed__5() {
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__4___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -2095,127 +2045,19 @@ x_1 = lean_mk_string_from_bytes("simple", 6);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__5___closed__6() {
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__4___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l_Lean_Elab_toAttributeKind___closed__1;
|
||||
x_2 = l_Lean_Elab_toAttributeKind___closed__2;
|
||||
x_3 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__4;
|
||||
x_4 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__5;
|
||||
x_3 = l_Lean_Elab_elabAttr___rarg___lambda__4___closed__1;
|
||||
x_4 = l_Lean_Elab_elabAttr___rarg___lambda__4___closed__2;
|
||||
x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, uint8_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_11;
|
||||
lean_inc(x_1);
|
||||
x_11 = l_Lean_getAttributeImpl(x_10, x_1);
|
||||
if (lean_obj_tag(x_11) == 0)
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
x_12 = lean_alloc_ctor(4, 1, 0);
|
||||
lean_ctor_set(x_12, 0, x_1);
|
||||
x_13 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__2;
|
||||
x_14 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_14, 0, x_13);
|
||||
lean_ctor_set(x_14, 1, x_12);
|
||||
x_15 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3;
|
||||
x_16 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_16, 0, x_14);
|
||||
lean_ctor_set(x_16, 1, x_15);
|
||||
x_17 = l_Lean_throwError___rarg(x_2, x_3, x_16);
|
||||
return x_17;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21;
|
||||
lean_dec(x_3);
|
||||
x_18 = lean_ctor_get(x_11, 0);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_11);
|
||||
lean_inc(x_4);
|
||||
x_19 = l_Lean_Syntax_getKind(x_4);
|
||||
x_20 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__6;
|
||||
x_21 = lean_name_eq(x_19, x_20);
|
||||
if (x_21 == 0)
|
||||
{
|
||||
lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
lean_dec(x_18);
|
||||
x_22 = lean_box(x_6);
|
||||
lean_inc(x_8);
|
||||
x_23 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__4___boxed), 9, 8);
|
||||
lean_closure_set(x_23, 0, x_5);
|
||||
lean_closure_set(x_23, 1, x_2);
|
||||
lean_closure_set(x_23, 2, x_22);
|
||||
lean_closure_set(x_23, 3, x_1);
|
||||
lean_closure_set(x_23, 4, x_7);
|
||||
lean_closure_set(x_23, 5, x_19);
|
||||
lean_closure_set(x_23, 6, x_8);
|
||||
lean_closure_set(x_23, 7, x_4);
|
||||
x_24 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_9, x_23);
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
|
||||
lean_dec(x_19);
|
||||
x_25 = lean_ctor_get(x_18, 0);
|
||||
lean_inc(x_25);
|
||||
lean_dec(x_18);
|
||||
x_26 = lean_ctor_get(x_25, 0);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_25);
|
||||
x_27 = lean_box(x_6);
|
||||
lean_inc(x_8);
|
||||
x_28 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__4___boxed), 9, 8);
|
||||
lean_closure_set(x_28, 0, x_5);
|
||||
lean_closure_set(x_28, 1, x_2);
|
||||
lean_closure_set(x_28, 2, x_27);
|
||||
lean_closure_set(x_28, 3, x_1);
|
||||
lean_closure_set(x_28, 4, x_7);
|
||||
lean_closure_set(x_28, 5, x_26);
|
||||
lean_closure_set(x_28, 6, x_8);
|
||||
lean_closure_set(x_28, 7, x_4);
|
||||
x_29 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_9, x_28);
|
||||
return x_29;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
|
||||
x_10 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_10);
|
||||
lean_dec(x_1);
|
||||
x_11 = lean_box(x_4);
|
||||
lean_inc(x_10);
|
||||
lean_inc(x_6);
|
||||
x_12 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__5___boxed), 10, 9);
|
||||
lean_closure_set(x_12, 0, x_9);
|
||||
lean_closure_set(x_12, 1, x_3);
|
||||
lean_closure_set(x_12, 2, x_8);
|
||||
lean_closure_set(x_12, 3, x_7);
|
||||
lean_closure_set(x_12, 4, x_2);
|
||||
lean_closure_set(x_12, 5, x_11);
|
||||
lean_closure_set(x_12, 6, x_5);
|
||||
lean_closure_set(x_12, 7, x_6);
|
||||
lean_closure_set(x_12, 8, x_10);
|
||||
x_13 = lean_apply_4(x_6, lean_box(0), lean_box(0), x_10, x_12);
|
||||
return x_13;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__7___closed__1() {
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__4___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -2223,93 +2065,91 @@ x_1 = lean_mk_string_from_bytes("unknown attribute", 17);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__7___closed__2() {
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__4___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Elab_elabAttr___rarg___lambda__7___closed__1;
|
||||
x_1 = l_Lean_Elab_elabAttr___rarg___lambda__4___closed__4;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13;
|
||||
x_9 = lean_box(x_4);
|
||||
lean_inc(x_7);
|
||||
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11;
|
||||
x_7 = lean_box(x_4);
|
||||
lean_inc(x_5);
|
||||
lean_inc(x_8);
|
||||
lean_inc(x_6);
|
||||
lean_inc(x_3);
|
||||
x_10 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__6___boxed), 9, 8);
|
||||
lean_closure_set(x_10, 0, x_1);
|
||||
lean_closure_set(x_10, 1, x_2);
|
||||
lean_closure_set(x_10, 2, x_3);
|
||||
lean_closure_set(x_10, 3, x_9);
|
||||
lean_closure_set(x_10, 4, x_8);
|
||||
lean_closure_set(x_10, 5, x_5);
|
||||
lean_closure_set(x_10, 6, x_6);
|
||||
lean_closure_set(x_10, 7, x_7);
|
||||
lean_inc(x_8);
|
||||
x_11 = l_Lean_Syntax_getKind(x_8);
|
||||
x_12 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__6;
|
||||
x_13 = lean_name_eq(x_11, x_12);
|
||||
if (x_13 == 0)
|
||||
lean_inc(x_2);
|
||||
x_8 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__3___boxed), 7, 6);
|
||||
lean_closure_set(x_8, 0, x_1);
|
||||
lean_closure_set(x_8, 1, x_2);
|
||||
lean_closure_set(x_8, 2, x_3);
|
||||
lean_closure_set(x_8, 3, x_7);
|
||||
lean_closure_set(x_8, 4, x_6);
|
||||
lean_closure_set(x_8, 5, x_5);
|
||||
lean_inc(x_6);
|
||||
x_9 = l_Lean_Syntax_getKind(x_6);
|
||||
x_10 = l_Lean_Elab_elabAttr___rarg___lambda__4___closed__3;
|
||||
x_11 = lean_name_eq(x_9, x_10);
|
||||
if (x_11 == 0)
|
||||
{
|
||||
if (lean_obj_tag(x_11) == 1)
|
||||
if (lean_obj_tag(x_9) == 1)
|
||||
{
|
||||
lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
x_14 = lean_ctor_get(x_11, 1);
|
||||
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_3);
|
||||
x_12 = lean_ctor_get(x_9, 1);
|
||||
lean_inc(x_12);
|
||||
lean_dec(x_9);
|
||||
x_13 = lean_ctor_get(x_2, 0);
|
||||
lean_inc(x_13);
|
||||
lean_dec(x_2);
|
||||
x_14 = lean_ctor_get(x_13, 1);
|
||||
lean_inc(x_14);
|
||||
lean_dec(x_11);
|
||||
x_15 = lean_ctor_get(x_3, 0);
|
||||
lean_inc(x_15);
|
||||
lean_dec(x_3);
|
||||
x_16 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_15);
|
||||
x_17 = lean_box(0);
|
||||
x_18 = l_Lean_Name_str___override(x_17, x_14);
|
||||
x_19 = lean_apply_2(x_16, lean_box(0), x_18);
|
||||
x_20 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_19, x_10);
|
||||
return x_20;
|
||||
lean_dec(x_13);
|
||||
x_15 = lean_box(0);
|
||||
x_16 = l_Lean_Name_str___override(x_15, x_12);
|
||||
x_17 = lean_apply_2(x_14, lean_box(0), x_16);
|
||||
x_18 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_17, x_8);
|
||||
return x_18;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_21; lean_object* x_22; lean_object* x_23;
|
||||
lean_dec(x_11);
|
||||
x_21 = l_Lean_Elab_elabAttr___rarg___lambda__7___closed__2;
|
||||
x_22 = l_Lean_throwErrorAt___rarg(x_3, x_7, x_8, x_21);
|
||||
x_23 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_22, x_10);
|
||||
return x_23;
|
||||
lean_object* x_19; lean_object* x_20; lean_object* x_21;
|
||||
lean_dec(x_9);
|
||||
x_19 = l_Lean_Elab_elabAttr___rarg___lambda__4___closed__5;
|
||||
x_20 = l_Lean_throwErrorAt___rarg(x_2, x_3, x_6, x_19);
|
||||
x_21 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_20, x_8);
|
||||
return x_21;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_7);
|
||||
x_24 = lean_ctor_get(x_3, 0);
|
||||
lean_inc(x_24);
|
||||
lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_3);
|
||||
x_25 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_25);
|
||||
lean_dec(x_24);
|
||||
x_26 = lean_unsigned_to_nat(0u);
|
||||
x_27 = l_Lean_Syntax_getArg(x_8, x_26);
|
||||
lean_dec(x_8);
|
||||
x_28 = l_Lean_Syntax_getId(x_27);
|
||||
lean_dec(x_27);
|
||||
x_29 = lean_erase_macro_scopes(x_28);
|
||||
x_30 = lean_apply_2(x_25, lean_box(0), x_29);
|
||||
x_31 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_30, x_10);
|
||||
return x_31;
|
||||
x_22 = lean_ctor_get(x_2, 0);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_2);
|
||||
x_23 = lean_ctor_get(x_22, 1);
|
||||
lean_inc(x_23);
|
||||
lean_dec(x_22);
|
||||
x_24 = lean_unsigned_to_nat(0u);
|
||||
x_25 = l_Lean_Syntax_getArg(x_6, x_24);
|
||||
lean_dec(x_6);
|
||||
x_26 = l_Lean_Syntax_getId(x_25);
|
||||
lean_dec(x_25);
|
||||
x_27 = lean_erase_macro_scopes(x_26);
|
||||
x_28 = lean_apply_2(x_23, lean_box(0), x_27);
|
||||
x_29 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_28, x_8);
|
||||
return x_29;
|
||||
}
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__8___closed__1() {
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__5___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -2317,33 +2157,30 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__1___boxed
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__8(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, lean_object* x_13, uint8_t x_14) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, uint8_t x_13) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
|
||||
x_15 = lean_unsigned_to_nat(1u);
|
||||
x_16 = l_Lean_Syntax_getArg(x_1, x_15);
|
||||
x_17 = l_Lean_Elab_elabAttr___rarg___lambda__8___closed__1;
|
||||
lean_inc(x_16);
|
||||
x_18 = lean_alloc_closure((void*)(l_Lean_expandMacros), 4, 2);
|
||||
lean_closure_set(x_18, 0, x_16);
|
||||
lean_closure_set(x_18, 1, x_17);
|
||||
lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
|
||||
x_14 = lean_unsigned_to_nat(1u);
|
||||
x_15 = l_Lean_Syntax_getArg(x_1, x_14);
|
||||
x_16 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__1;
|
||||
x_17 = lean_alloc_closure((void*)(l_Lean_expandMacros), 4, 2);
|
||||
lean_closure_set(x_17, 0, x_15);
|
||||
lean_closure_set(x_17, 1, x_16);
|
||||
lean_inc(x_5);
|
||||
lean_inc(x_3);
|
||||
lean_inc(x_2);
|
||||
x_19 = l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__3___rarg(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_18);
|
||||
x_20 = lean_box(x_14);
|
||||
lean_inc(x_13);
|
||||
x_21 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__7___boxed), 8, 7);
|
||||
lean_closure_set(x_21, 0, x_3);
|
||||
lean_closure_set(x_21, 1, x_12);
|
||||
lean_closure_set(x_21, 2, x_2);
|
||||
lean_closure_set(x_21, 3, x_20);
|
||||
lean_closure_set(x_21, 4, x_13);
|
||||
lean_closure_set(x_21, 5, x_16);
|
||||
lean_closure_set(x_21, 6, x_5);
|
||||
x_22 = lean_apply_4(x_13, lean_box(0), lean_box(0), x_19, x_21);
|
||||
return x_22;
|
||||
x_18 = l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__3___rarg(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_17);
|
||||
x_19 = lean_box(x_13);
|
||||
lean_inc(x_12);
|
||||
x_20 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__4___boxed), 6, 5);
|
||||
lean_closure_set(x_20, 0, x_3);
|
||||
lean_closure_set(x_20, 1, x_2);
|
||||
lean_closure_set(x_20, 2, x_5);
|
||||
lean_closure_set(x_20, 3, x_19);
|
||||
lean_closure_set(x_20, 4, x_12);
|
||||
x_21 = lean_apply_4(x_12, lean_box(0), lean_box(0), x_18, x_20);
|
||||
return x_21;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) {
|
||||
|
|
@ -2368,7 +2205,7 @@ lean_inc(x_2);
|
|||
lean_inc(x_1);
|
||||
x_17 = l_Lean_Elab_liftMacroM___at_Lean_Elab_elabAttr___spec__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_11, x_16);
|
||||
lean_inc(x_13);
|
||||
x_18 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__8___boxed), 14, 13);
|
||||
x_18 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__5___boxed), 13, 12);
|
||||
lean_closure_set(x_18, 0, x_12);
|
||||
lean_closure_set(x_18, 1, x_1);
|
||||
lean_closure_set(x_18, 2, x_2);
|
||||
|
|
@ -2380,8 +2217,7 @@ lean_closure_set(x_18, 7, x_7);
|
|||
lean_closure_set(x_18, 8, x_8);
|
||||
lean_closure_set(x_18, 9, x_9);
|
||||
lean_closure_set(x_18, 10, x_11);
|
||||
lean_closure_set(x_18, 11, x_10);
|
||||
lean_closure_set(x_18, 12, x_13);
|
||||
lean_closure_set(x_18, 11, x_13);
|
||||
x_19 = lean_apply_4(x_13, lean_box(0), lean_box(0), x_17, x_18);
|
||||
return x_19;
|
||||
}
|
||||
|
|
@ -2390,7 +2226,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr(lean_object* x_1) {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg), 12, 0);
|
||||
x_2 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___boxed), 12, 0);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
|
|
@ -2559,79 +2395,55 @@ x_3 = lean_box(x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__2___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_Lean_Elab_elabAttr___rarg___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_6; lean_object* x_7;
|
||||
x_6 = lean_unbox(x_2);
|
||||
lean_dec(x_2);
|
||||
x_7 = l_Lean_Elab_elabAttr___rarg___lambda__2(x_1, x_6, x_3, x_4, x_5);
|
||||
lean_dec(x_5);
|
||||
return x_7;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_11; lean_object* x_12;
|
||||
x_11 = lean_unbox(x_2);
|
||||
lean_dec(x_2);
|
||||
x_12 = l_Lean_Elab_elabAttr___rarg___lambda__3(x_1, x_11, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_8);
|
||||
return x_12;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_10; lean_object* x_11;
|
||||
x_10 = lean_unbox(x_3);
|
||||
lean_dec(x_3);
|
||||
x_11 = l_Lean_Elab_elabAttr___rarg___lambda__4(x_1, x_2, x_10, x_4, x_5, x_6, x_7, x_8, x_9);
|
||||
return x_11;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_11; lean_object* x_12;
|
||||
x_11 = lean_unbox(x_6);
|
||||
uint8_t x_7; lean_object* x_8;
|
||||
x_7 = lean_unbox(x_4);
|
||||
lean_dec(x_4);
|
||||
x_8 = l_Lean_Elab_elabAttr___rarg___lambda__2(x_1, x_2, x_3, x_7, x_5, x_6);
|
||||
lean_dec(x_6);
|
||||
x_12 = l_Lean_Elab_elabAttr___rarg___lambda__5(x_1, x_2, x_3, x_4, x_5, x_11, x_7, x_8, x_9, x_10);
|
||||
lean_dec(x_10);
|
||||
return x_12;
|
||||
return x_8;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__6___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_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_10; lean_object* x_11;
|
||||
x_10 = lean_unbox(x_4);
|
||||
uint8_t x_8; lean_object* x_9;
|
||||
x_8 = lean_unbox(x_4);
|
||||
lean_dec(x_4);
|
||||
x_11 = l_Lean_Elab_elabAttr___rarg___lambda__6(x_1, x_2, x_3, x_10, x_5, x_6, x_7, x_8, x_9);
|
||||
return x_11;
|
||||
x_9 = l_Lean_Elab_elabAttr___rarg___lambda__3(x_1, x_2, x_3, x_8, x_5, x_6, x_7);
|
||||
return x_9;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__7___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_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_9; lean_object* x_10;
|
||||
x_9 = lean_unbox(x_4);
|
||||
uint8_t x_7; lean_object* x_8;
|
||||
x_7 = lean_unbox(x_4);
|
||||
lean_dec(x_4);
|
||||
x_10 = l_Lean_Elab_elabAttr___rarg___lambda__7(x_1, x_2, x_3, x_9, x_5, x_6, x_7, x_8);
|
||||
return x_10;
|
||||
x_8 = l_Lean_Elab_elabAttr___rarg___lambda__4(x_1, x_2, x_3, x_7, x_5, x_6);
|
||||
return x_8;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_15; lean_object* x_16;
|
||||
x_15 = lean_unbox(x_14);
|
||||
lean_dec(x_14);
|
||||
x_16 = l_Lean_Elab_elabAttr___rarg___lambda__8(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_15);
|
||||
uint8_t x_14; lean_object* x_15;
|
||||
x_14 = lean_unbox(x_13);
|
||||
lean_dec(x_13);
|
||||
x_15 = l_Lean_Elab_elabAttr___rarg___lambda__5(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_14);
|
||||
lean_dec(x_1);
|
||||
return x_16;
|
||||
return x_15;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_13;
|
||||
x_13 = l_Lean_Elab_elabAttr___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
lean_dec(x_10);
|
||||
return x_13;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
|
|
@ -2828,7 +2640,6 @@ x_25 = lean_ctor_get(x_4, 1);
|
|||
lean_inc(x_25);
|
||||
lean_inc(x_22);
|
||||
lean_inc(x_12);
|
||||
lean_inc(x_11);
|
||||
lean_inc(x_9);
|
||||
lean_inc(x_8);
|
||||
lean_inc(x_7);
|
||||
|
|
@ -3139,24 +2950,24 @@ l_Lean_Elab_elabAttr___rarg___lambda__1___closed__1 = _init_l_Lean_Elab_elabAttr
|
|||
lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__1___closed__1);
|
||||
l_Lean_Elab_elabAttr___rarg___lambda__1___closed__2 = _init_l_Lean_Elab_elabAttr___rarg___lambda__1___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__1___closed__2);
|
||||
l_Lean_Elab_elabAttr___rarg___lambda__2___closed__1 = _init_l_Lean_Elab_elabAttr___rarg___lambda__2___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__2___closed__1);
|
||||
l_Lean_Elab_elabAttr___rarg___lambda__2___closed__2 = _init_l_Lean_Elab_elabAttr___rarg___lambda__2___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__2___closed__2);
|
||||
l_Lean_Elab_elabAttr___rarg___lambda__2___closed__3 = _init_l_Lean_Elab_elabAttr___rarg___lambda__2___closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__2___closed__3);
|
||||
l_Lean_Elab_elabAttr___rarg___lambda__4___closed__1 = _init_l_Lean_Elab_elabAttr___rarg___lambda__4___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__4___closed__1);
|
||||
l_Lean_Elab_elabAttr___rarg___lambda__4___closed__2 = _init_l_Lean_Elab_elabAttr___rarg___lambda__4___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__4___closed__2);
|
||||
l_Lean_Elab_elabAttr___rarg___lambda__4___closed__3 = _init_l_Lean_Elab_elabAttr___rarg___lambda__4___closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__4___closed__3);
|
||||
l_Lean_Elab_elabAttr___rarg___lambda__4___closed__4 = _init_l_Lean_Elab_elabAttr___rarg___lambda__4___closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__4___closed__4);
|
||||
l_Lean_Elab_elabAttr___rarg___lambda__4___closed__5 = _init_l_Lean_Elab_elabAttr___rarg___lambda__4___closed__5();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__4___closed__5);
|
||||
l_Lean_Elab_elabAttr___rarg___lambda__5___closed__1 = _init_l_Lean_Elab_elabAttr___rarg___lambda__5___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__5___closed__1);
|
||||
l_Lean_Elab_elabAttr___rarg___lambda__5___closed__2 = _init_l_Lean_Elab_elabAttr___rarg___lambda__5___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__5___closed__2);
|
||||
l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3 = _init_l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3);
|
||||
l_Lean_Elab_elabAttr___rarg___lambda__5___closed__4 = _init_l_Lean_Elab_elabAttr___rarg___lambda__5___closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__5___closed__4);
|
||||
l_Lean_Elab_elabAttr___rarg___lambda__5___closed__5 = _init_l_Lean_Elab_elabAttr___rarg___lambda__5___closed__5();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__5___closed__5);
|
||||
l_Lean_Elab_elabAttr___rarg___lambda__5___closed__6 = _init_l_Lean_Elab_elabAttr___rarg___lambda__5___closed__6();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__5___closed__6);
|
||||
l_Lean_Elab_elabAttr___rarg___lambda__7___closed__1 = _init_l_Lean_Elab_elabAttr___rarg___lambda__7___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__7___closed__1);
|
||||
l_Lean_Elab_elabAttr___rarg___lambda__7___closed__2 = _init_l_Lean_Elab_elabAttr___rarg___lambda__7___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__7___closed__2);
|
||||
l_Lean_Elab_elabAttr___rarg___lambda__8___closed__1 = _init_l_Lean_Elab_elabAttr___rarg___lambda__8___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__8___closed__1);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
380
stage0/stdlib/Lean/Elab/LetRec.c
generated
380
stage0/stdlib/Lean/Elab/LetRec.c
generated
|
|
@ -15,6 +15,7 @@ extern "C" {
|
|||
#endif
|
||||
lean_object* l_List_reverse___rarg(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_elabLetRec___spec__2___boxed(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__4;
|
||||
lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at_Lean_Elab_Term_expandDeclId___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapIdxM_map___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_registerLetRecsToLift___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* l_Lean_throwError___at_Lean_Elab_Term_addAutoBoundImplicits_go___spec__50(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -32,16 +33,16 @@ lean_object* lean_mk_empty_array_with_capacity(lean_object*);
|
|||
lean_object* l_Lean_Name_str___override(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_elabLetRecDeclValues___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_mkForallFVars(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_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabLetRec___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_EXPORT lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3(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_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__13___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Syntax_getOptional_x3f(lean_object*);
|
||||
lean_object* lean_array_uget(lean_object*, size_t);
|
||||
lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Term_addDotCompletionInfo___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabLetRec___boxed(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_Term_elabLetRec_declRange___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___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_EXPORT lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___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* l_Lean_Elab_Term_getDeclName_x3f(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_LetRec_0__Lean_Elab_Term_elabLetRecDeclValues___spec__2___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_throwUnsupportedSyntax___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__7___rarg___closed__1;
|
||||
|
|
@ -60,6 +61,7 @@ uint8_t lean_name_eq(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_throwError___at_Lean_Elab_Term_mkAuxName___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_declRangeExt;
|
||||
static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__6;
|
||||
static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__21___lambda__3___closed__7;
|
||||
static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__21___lambda__1___closed__3;
|
||||
lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -143,7 +145,6 @@ static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_LetRec_0__Le
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__1___closed__2;
|
||||
static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__6___closed__11;
|
||||
static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__7;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__13___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__19(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_registerLetRecsToLift___spec__2___closed__3;
|
||||
|
|
@ -166,6 +167,7 @@ LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_LetRec_0__
|
|||
extern lean_object* l_Lean_instInhabitedExpr;
|
||||
static lean_object* l_Lean_Elab_expandOptDocComment_x3f___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__1___closed__2;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_elabLetRec_declRange___closed__3;
|
||||
static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__5;
|
||||
lean_object* l_Lean_FileMap_toPosition(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_expandOptDocComment_x3f___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__1___closed__1;
|
||||
lean_object* l_Array_unzip___rarg(lean_object*);
|
||||
|
|
@ -193,7 +195,6 @@ lean_object* lean_environment_main_module(lean_object*);
|
|||
lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_addAutoBoundImplicits_x27___spec__2___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_Lean_throwError___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabLetRec(lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__6;
|
||||
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_elabLetRecDeclValues___spec__2(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_elabLetRec___closed__3;
|
||||
|
|
@ -209,12 +210,9 @@ static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Term_elabLetRec_declRange___closed__5;
|
||||
LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_logException___at_Lean_Elab_Term_exceptionToSorry___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__2;
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabLetRec_declRange(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_elabType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__4;
|
||||
lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Syntax_isNone(lean_object*);
|
||||
|
|
@ -229,8 +227,6 @@ lean_object* l_Lean_Syntax_getTailPos_x3f(lean_object*, uint8_t);
|
|||
static lean_object* l_Lean_Elab_expandOptDocComment_x3f___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__1___closed__3;
|
||||
extern lean_object* l_Lean_Expr_instBEqExpr;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_elabLetRec___closed__1;
|
||||
static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__1;
|
||||
static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__3;
|
||||
lean_object* l_Lean_indentD(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_registerLetRecsToLift___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*);
|
||||
extern lean_object* l_Lean_Elab_unsupportedSyntaxExceptionId;
|
||||
|
|
@ -241,7 +237,9 @@ lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*);
|
|||
static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__6___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_elabLetRec___spec__2(size_t, size_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__21___lambda__3(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_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__3;
|
||||
lean_object* l_Lean_FileMap_leanPosToLspPos(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__20___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__13___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_foldr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_registerLetRecsToLift___spec__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -259,9 +257,8 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_LetRec_0__Lean_Elab_Term_elabLetR
|
|||
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_getAttributeImpl(lean_object*, lean_object*);
|
||||
lean_object* l_List_appendTR___rarg(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2(uint8_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_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2(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_addDeclarationRanges___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__6___closed__6;
|
||||
static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__5;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_elabLetRec___closed__6;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_registerLetRecsToLift___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_expandMatchAltsIntoMatch___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -1999,21 +1996,7 @@ return x_5;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13;
|
||||
x_12 = lean_alloc_ctor(0, 2, 1);
|
||||
lean_ctor_set(x_12, 0, x_2);
|
||||
lean_ctor_set(x_12, 1, x_3);
|
||||
lean_ctor_set_uint8(x_12, sizeof(void*)*2, x_1);
|
||||
x_13 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_13, 0, x_12);
|
||||
lean_ctor_set(x_13, 1, x_11);
|
||||
return x_13;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__1() {
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -2021,16 +2004,16 @@ x_1 = lean_mk_string_from_bytes("unknown attribute [", 19);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__2() {
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__1;
|
||||
x_1 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__1;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__3() {
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -2038,183 +2021,117 @@ x_1 = lean_mk_string_from_bytes("]", 1);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__4() {
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__3;
|
||||
x_1 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__3;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__5() {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes("Attr", 4);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__6() {
|
||||
_start:
|
||||
lean_object* x_11; uint8_t x_12;
|
||||
x_11 = lean_st_ref_get(x_9, x_10);
|
||||
x_12 = !lean_is_exclusive(x_11);
|
||||
if (x_12 == 0)
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes("simple", 6);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__1___closed__1;
|
||||
x_2 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__1___closed__2;
|
||||
x_3 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__5;
|
||||
x_4 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__6;
|
||||
x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_40;
|
||||
x_12 = lean_st_ref_get(x_10, x_11);
|
||||
x_13 = lean_ctor_get(x_12, 0);
|
||||
lean_inc(x_13);
|
||||
x_14 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_14);
|
||||
lean_dec(x_12);
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
x_13 = lean_ctor_get(x_11, 0);
|
||||
x_14 = lean_ctor_get(x_11, 1);
|
||||
x_15 = lean_ctor_get(x_13, 0);
|
||||
lean_inc(x_15);
|
||||
lean_dec(x_13);
|
||||
lean_inc(x_4);
|
||||
x_40 = l_Lean_getAttributeImpl(x_15, x_4);
|
||||
lean_dec(x_15);
|
||||
if (lean_obj_tag(x_40) == 0)
|
||||
{
|
||||
lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
|
||||
lean_dec(x_40);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_41 = lean_alloc_ctor(4, 1, 0);
|
||||
lean_ctor_set(x_41, 0, x_4);
|
||||
x_42 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__2;
|
||||
x_43 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_43, 0, x_42);
|
||||
lean_ctor_set(x_43, 1, x_41);
|
||||
x_44 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__4;
|
||||
x_45 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_45, 0, x_43);
|
||||
lean_ctor_set(x_45, 1, x_44);
|
||||
x_46 = l_Lean_throwError___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__18(x_45, x_5, x_6, x_7, x_8, x_9, x_10, x_14);
|
||||
lean_dec(x_8);
|
||||
return x_46;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50;
|
||||
x_47 = lean_ctor_get(x_40, 0);
|
||||
lean_inc(x_47);
|
||||
lean_dec(x_40);
|
||||
lean_inc(x_3);
|
||||
x_48 = l_Lean_Syntax_getKind(x_3);
|
||||
x_49 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__7;
|
||||
x_50 = lean_name_eq(x_48, x_49);
|
||||
if (x_50 == 0)
|
||||
x_16 = l_Lean_getAttributeImpl(x_15, x_3);
|
||||
lean_dec(x_15);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
{
|
||||
lean_dec(x_47);
|
||||
x_16 = x_48;
|
||||
goto block_39;
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
|
||||
lean_dec(x_16);
|
||||
lean_free_object(x_11);
|
||||
lean_dec(x_2);
|
||||
x_17 = lean_alloc_ctor(4, 1, 0);
|
||||
lean_ctor_set(x_17, 0, x_3);
|
||||
x_18 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__2;
|
||||
x_19 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_19, 0, x_18);
|
||||
lean_ctor_set(x_19, 1, x_17);
|
||||
x_20 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__4;
|
||||
x_21 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_21, 0, x_19);
|
||||
lean_ctor_set(x_21, 1, x_20);
|
||||
x_22 = l_Lean_throwError___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__18(x_21, x_4, x_5, x_6, x_7, x_8, x_9, x_14);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_6);
|
||||
return x_22;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_51; lean_object* x_52;
|
||||
lean_dec(x_48);
|
||||
x_51 = lean_ctor_get(x_47, 0);
|
||||
lean_inc(x_51);
|
||||
lean_dec(x_47);
|
||||
x_52 = lean_ctor_get(x_51, 0);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_51);
|
||||
x_16 = x_52;
|
||||
goto block_39;
|
||||
lean_object* x_23;
|
||||
lean_dec(x_16);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_4);
|
||||
x_23 = lean_alloc_ctor(0, 2, 1);
|
||||
lean_ctor_set(x_23, 0, x_3);
|
||||
lean_ctor_set(x_23, 1, x_2);
|
||||
lean_ctor_set_uint8(x_23, sizeof(void*)*2, x_1);
|
||||
lean_ctor_set(x_11, 0, x_23);
|
||||
return x_11;
|
||||
}
|
||||
}
|
||||
block_39:
|
||||
else
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25;
|
||||
x_17 = lean_st_ref_get(x_10, x_14);
|
||||
x_18 = lean_ctor_get(x_17, 0);
|
||||
lean_inc(x_18);
|
||||
x_19 = lean_ctor_get(x_17, 1);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_17);
|
||||
x_20 = lean_ctor_get(x_18, 0);
|
||||
lean_inc(x_20);
|
||||
lean_dec(x_18);
|
||||
x_21 = lean_st_ref_get(x_10, x_19);
|
||||
x_22 = lean_ctor_get(x_21, 0);
|
||||
lean_inc(x_22);
|
||||
x_23 = lean_ctor_get(x_21, 1);
|
||||
lean_inc(x_23);
|
||||
lean_dec(x_21);
|
||||
x_24 = lean_ctor_get(x_22, 6);
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
|
||||
x_24 = lean_ctor_get(x_11, 0);
|
||||
x_25 = lean_ctor_get(x_11, 1);
|
||||
lean_inc(x_25);
|
||||
lean_inc(x_24);
|
||||
lean_dec(x_22);
|
||||
lean_inc(x_16);
|
||||
x_25 = l_Lean_Environment_contains(x_20, x_16);
|
||||
if (x_25 == 0)
|
||||
{
|
||||
lean_object* x_26; lean_object* x_27;
|
||||
lean_dec(x_11);
|
||||
x_26 = lean_ctor_get(x_24, 0);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_24);
|
||||
lean_dec(x_16);
|
||||
lean_dec(x_3);
|
||||
x_26 = lean_box(0);
|
||||
x_27 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2(x_1, x_4, x_2, x_26, x_5, x_6, x_7, x_8, x_9, x_10, x_23);
|
||||
lean_inc(x_3);
|
||||
x_27 = l_Lean_getAttributeImpl(x_26, x_3);
|
||||
lean_dec(x_26);
|
||||
if (lean_obj_tag(x_27) == 0)
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
|
||||
lean_dec(x_27);
|
||||
lean_dec(x_2);
|
||||
x_28 = lean_alloc_ctor(4, 1, 0);
|
||||
lean_ctor_set(x_28, 0, x_3);
|
||||
x_29 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__2;
|
||||
x_30 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_30, 0, x_29);
|
||||
lean_ctor_set(x_30, 1, x_28);
|
||||
x_31 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__4;
|
||||
x_32 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_32, 0, x_30);
|
||||
lean_ctor_set(x_32, 1, x_31);
|
||||
x_33 = l_Lean_throwError___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__18(x_32, x_4, x_5, x_6, x_7, x_8, x_9, x_25);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_5);
|
||||
return x_27;
|
||||
lean_dec(x_6);
|
||||
return x_33;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_28;
|
||||
x_28 = lean_ctor_get_uint8(x_24, sizeof(void*)*2);
|
||||
lean_dec(x_24);
|
||||
if (x_28 == 0)
|
||||
{
|
||||
lean_object* x_29; lean_object* x_30;
|
||||
lean_dec(x_16);
|
||||
lean_dec(x_3);
|
||||
x_29 = lean_box(0);
|
||||
x_30 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2(x_1, x_4, x_2, x_29, x_5, x_6, x_7, x_8, x_9, x_10, x_23);
|
||||
lean_object* x_34; lean_object* x_35;
|
||||
lean_dec(x_27);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_5);
|
||||
return x_30;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
|
||||
x_31 = lean_unsigned_to_nat(0u);
|
||||
x_32 = l_Lean_Syntax_getArg(x_3, x_31);
|
||||
lean_dec(x_3);
|
||||
x_33 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_33, 0, x_16);
|
||||
lean_ctor_set(x_33, 1, x_32);
|
||||
x_34 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_34, 0, x_33);
|
||||
x_35 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Term_addDotCompletionInfo___spec__2(x_34, x_5, x_6, x_7, x_8, x_9, x_10, x_23);
|
||||
x_36 = lean_ctor_get(x_35, 0);
|
||||
lean_inc(x_36);
|
||||
x_37 = lean_ctor_get(x_35, 1);
|
||||
lean_inc(x_37);
|
||||
lean_dec(x_35);
|
||||
x_38 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2(x_1, x_4, x_2, x_36, x_5, x_6, x_7, x_8, x_9, x_10, x_37);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_36);
|
||||
return x_38;
|
||||
}
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_4);
|
||||
x_34 = lean_alloc_ctor(0, 2, 1);
|
||||
lean_ctor_set(x_34, 0, x_3);
|
||||
lean_ctor_set(x_34, 1, x_2);
|
||||
lean_ctor_set_uint8(x_34, sizeof(void*)*2, x_1);
|
||||
x_35 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_35, 0, x_34);
|
||||
lean_ctor_set(x_35, 1, x_25);
|
||||
return x_35;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2231,15 +2148,43 @@ static lean_object* _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes("unknown attribute", 17);
|
||||
x_1 = lean_mk_string_from_bytes("Attr", 4);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes("simple", 6);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__1___closed__1;
|
||||
x_2 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__1___closed__2;
|
||||
x_3 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__2;
|
||||
x_4 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__3;
|
||||
x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes("unknown attribute", 17);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__2;
|
||||
x_1 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__5;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
|
|
@ -2271,7 +2216,6 @@ x_15 = lean_unsigned_to_nat(1u);
|
|||
x_16 = l_Lean_Syntax_getArg(x_1, x_15);
|
||||
lean_dec(x_1);
|
||||
x_17 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__1;
|
||||
lean_inc(x_16);
|
||||
x_18 = lean_alloc_closure((void*)(l_Lean_expandMacros), 4, 2);
|
||||
lean_closure_set(x_18, 0, x_16);
|
||||
lean_closure_set(x_18, 1, x_17);
|
||||
|
|
@ -2292,7 +2236,7 @@ lean_inc(x_21);
|
|||
lean_dec(x_19);
|
||||
lean_inc(x_20);
|
||||
x_22 = l_Lean_Syntax_getKind(x_20);
|
||||
x_23 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__7;
|
||||
x_23 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__4;
|
||||
x_24 = lean_name_eq(x_22, x_23);
|
||||
if (x_24 == 0)
|
||||
{
|
||||
|
|
@ -2306,10 +2250,9 @@ x_26 = lean_box(0);
|
|||
x_27 = l_Lean_Name_str___override(x_26, x_25);
|
||||
x_28 = lean_unbox(x_13);
|
||||
lean_dec(x_13);
|
||||
x_29 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3(x_28, x_20, x_16, x_27, x_2, x_3, x_4, x_5, x_6, x_7, x_21);
|
||||
x_29 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2(x_28, x_20, x_27, x_2, x_3, x_4, x_5, x_6, x_7, x_21);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_3);
|
||||
return x_29;
|
||||
}
|
||||
|
|
@ -2317,9 +2260,8 @@ else
|
|||
{
|
||||
lean_object* x_30; lean_object* x_31; uint8_t x_32;
|
||||
lean_dec(x_22);
|
||||
lean_dec(x_16);
|
||||
lean_dec(x_13);
|
||||
x_30 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__3;
|
||||
x_30 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__6;
|
||||
x_31 = l_Lean_throwErrorAt___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__19(x_20, x_30, x_2, x_3, x_4, x_5, x_6, x_7, x_21);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
|
|
@ -2356,10 +2298,9 @@ lean_dec(x_36);
|
|||
x_38 = lean_erase_macro_scopes(x_37);
|
||||
x_39 = lean_unbox(x_13);
|
||||
lean_dec(x_13);
|
||||
x_40 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3(x_39, x_20, x_16, x_38, x_2, x_3, x_4, x_5, x_6, x_7, x_21);
|
||||
x_40 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2(x_39, x_20, x_38, x_2, x_3, x_4, x_5, x_6, x_7, x_21);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_3);
|
||||
return x_40;
|
||||
}
|
||||
|
|
@ -2367,7 +2308,6 @@ return x_40;
|
|||
else
|
||||
{
|
||||
uint8_t x_41;
|
||||
lean_dec(x_16);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
|
|
@ -3851,35 +3791,17 @@ x_3 = lean_box(x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_12; lean_object* x_13;
|
||||
x_12 = lean_unbox(x_1);
|
||||
uint8_t x_11; lean_object* x_12;
|
||||
x_11 = lean_unbox(x_1);
|
||||
lean_dec(x_1);
|
||||
x_13 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2(x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
|
||||
lean_dec(x_10);
|
||||
x_12 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2(x_11, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
return x_13;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_12; lean_object* x_13;
|
||||
x_12 = lean_unbox(x_1);
|
||||
lean_dec(x_1);
|
||||
x_13 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3(x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
return x_13;
|
||||
return x_12;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__20___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) {
|
||||
|
|
@ -6009,26 +5931,26 @@ l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecD
|
|||
lean_mark_persistent(l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__1___closed__4);
|
||||
l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__1___closed__5 = _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__1___closed__5();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__1___closed__5);
|
||||
l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__1 = _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__1);
|
||||
l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__2 = _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__2);
|
||||
l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__3 = _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__3);
|
||||
l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__4 = _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__4);
|
||||
l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__5 = _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__5();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__5);
|
||||
l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__6 = _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__6();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__6);
|
||||
l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__7 = _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__7();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__3___closed__7);
|
||||
l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__1 = _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__1);
|
||||
l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__2 = _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__2);
|
||||
l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__3 = _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__3);
|
||||
l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__4 = _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__2___closed__4);
|
||||
l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__1 = _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__1);
|
||||
l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__2 = _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__2);
|
||||
l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__3 = _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__3);
|
||||
l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__4 = _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__4);
|
||||
l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__5 = _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__5();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__5);
|
||||
l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__6 = _init_l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__6();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___closed__6);
|
||||
l_Lean_Elab_elabAttrs___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___closed__1 = _init_l_Lean_Elab_elabAttrs___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttrs___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___closed__1);
|
||||
l_Array_mapMUnsafe_map___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__21___lambda__1___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__21___lambda__1___closed__1();
|
||||
|
|
|
|||
352
stage0/stdlib/Lean/Elab/Match.c
generated
352
stage0/stdlib/Lean/Elab/Match.c
generated
|
|
@ -130,6 +130,7 @@ LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_Match_0
|
|||
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;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalInstances___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__3___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_collectDeps___closed__2;
|
||||
LEAN_EXPORT lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -168,9 +169,11 @@ LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitLet___at___private_Lea
|
|||
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;
|
||||
LEAN_EXPORT lean_object* l_Lean_AssocList_replace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkPatternRefMap_go___spec__7(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___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_Lean_isTracingEnabledFor___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_markIsDep(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabMatch_elabMatchDefault___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5___closed__1;
|
||||
uint8_t lean_name_eq(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, 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_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*);
|
||||
|
|
@ -238,7 +241,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit___at___private_Lean_Elab_Ma
|
|||
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrsWitMatchType___spec__1___closed__12;
|
||||
LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_elabMatch_elabMatchDefault___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_getResetInfoTrees___at_Lean_Elab_Term_ToDepElimPattern_savePatternInfo_go___spec__4___rarg___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___lambda__2___boxed(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__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_throwMVarError___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -260,7 +262,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_withInfoContext_x27___at_Lean_Elab_Term_ToD
|
|||
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(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__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_usize_dec_lt(size_t, size_t);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_liftExcept___at_Lean_Elab_liftMacroM___spec__1(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_ForEachExpr_visit___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkPatternRefMap_go___spec__8___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_AssocList_find_x3f___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_applyRefMap___spec__2(lean_object*, lean_object*);
|
||||
|
|
@ -326,6 +327,7 @@ lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean
|
|||
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_elabMatch_elabMatchDefault___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_withInPattern___at_Lean_Elab_Term_ToDepElimPattern_main___spec__2___closed__2;
|
||||
LEAN_EXPORT lean_object* l_List_mapTRAux___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_elabMatchAux___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Name_hasMacroScopes(lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_isAtomicDiscr___closed__2;
|
||||
|
|
@ -402,7 +404,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Elab_Term_ToDepElim
|
|||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkPatternRefMap(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_collectDeps___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_mkHasTypeButIsExpectedMsg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalInstances___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_ToDepElimPattern_main_pack___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_main___rarg___lambda__2(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_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_ToDepElimPattern_normalize___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -477,7 +478,6 @@ static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_22664__
|
|||
LEAN_EXPORT lean_object* l_Array_filterMapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_getMatchAlts___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_Term_ToDepElimPattern_savePatternInfo_go___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_tryPostponeIfDiscrTypeIsMVar___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_pushInfoLeaf___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2___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__2;
|
||||
lean_object* lean_st_mk_ref(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_ToDepElimPattern_savePatternInfo_go___lambda__1___closed__1;
|
||||
|
|
@ -493,6 +493,7 @@ static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandSimpleMa
|
|||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Lean_Elab_Term_GeneralizeResult_refined___default;
|
||||
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_22664____closed__14;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalInstances___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint64_t l_Lean_Expr_hash(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_savePatternInfo_go___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__25___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -516,6 +517,7 @@ LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Match_0
|
|||
lean_object* l_Lean_RBNode_insert___at_Lean_MVarIdSet_insert___spec__1(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___spec__14___rarg___closed__2;
|
||||
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__9(lean_object*, lean_object*, size_t, size_t);
|
||||
lean_object* l_Lean_Elab_pushInfoLeaf___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_throwInvalidPattern___spec__1(lean_object*);
|
||||
lean_object* lean_array_to_list(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_collectDeps___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -550,7 +552,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatch
|
|||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__12(size_t, size_t, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_instInhabitedDiscr___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__20(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateFirst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_instInhabitedExpr;
|
||||
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrsWitMatchType___spec__1___closed__3;
|
||||
|
|
@ -580,7 +581,6 @@ lean_object* l_Lean_Meta_Match_instantiateAltLHSMVars(lean_object*, lean_object*
|
|||
lean_object* l_Lean_Meta_getLocalInstances(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___lambda__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_getMatchOptMotive(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_HashMapImp_moveEntries___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkPatternRefMap_go___spec__5(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateFirst___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_Term_ToDepElimPattern_normalize___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -593,10 +593,8 @@ LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_v
|
|||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandNonAtomicDiscrs_x3f_loop___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabMatch_elabMatchDefault___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_bvar___override(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentArray_anyM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__18(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___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__7___closed__1;
|
||||
lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Core_transform___at_Lean_Core_betaReduce___spec__1(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_ToDepElimPattern_throwInvalidPattern___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -629,7 +627,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatch
|
|||
lean_object* l_Lean_Elab_Term_withoutErrToSorryImp___rarg(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_elabAtomicDiscr___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___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalInstances___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_waitExpectedTypeAndDiscrs___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_22664____closed__9;
|
||||
|
|
@ -796,7 +793,6 @@ static lean_object* l_panic___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToD
|
|||
static lean_object* l_List_forIn_loop___at_Lean_Elab_Term_reportMatcherResultErrors___spec__1___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_transform___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___spec__1(lean_object*, 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_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__20___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__6(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_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* l_String_toSubstring_x27(lean_object*);
|
||||
uint8_t l_Lean_LocalDecl_hasExprMVar(lean_object*);
|
||||
|
|
@ -843,6 +839,7 @@ lean_object* l_Lean_mkApp4(lean_object*, lean_object*, lean_object*, lean_object
|
|||
lean_object* l_Lean_Meta_withLocalInstancesImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Lean_AssocList_contains___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkPatternRefMap_go___spec__3(lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___lambda__5___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_instantiateMVarsCore(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_throwEx(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_tryPostponeIfMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -856,6 +853,7 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Match_0__Lea
|
|||
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrsWitMatchType___spec__1___closed__13;
|
||||
lean_object* l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_elabType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__1(size_t, size_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitLet___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___spec__6___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -893,6 +891,7 @@ static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_isPatternVar__
|
|||
lean_object* l_ST_Prim_Ref_modifyGetUnsafe___rarg___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalInstances___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__3(lean_object*);
|
||||
lean_object* lean_expr_instantiate_rev(lean_object*, lean_object*);
|
||||
static lean_object* l_List_forIn_loop___at_Lean_Elab_Term_reportMatcherResultErrors___spec__1___closed__2;
|
||||
lean_object* l_Lean_Expr_arrayLit_x3f(lean_object*);
|
||||
|
|
@ -944,6 +943,7 @@ LEAN_EXPORT uint8_t l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltVi
|
|||
LEAN_EXPORT lean_object* l_Lean_HashMapImp_expand___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkPatternRefMap_go___spec__4(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkPatternWithRef(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_Term_reportMatcherResultErrors___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2(lean_object*, size_t, size_t, 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_generalize___boxed__const__1;
|
||||
static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_findDiscrRefinementPath_goIndex___spec__1___closed__1;
|
||||
lean_object* l_Lean_indentD(lean_object*);
|
||||
|
|
@ -1017,7 +1017,6 @@ static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__L
|
|||
static lean_object* l_Lean_Elab_Term_reportMatcherResultErrors___closed__2;
|
||||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_ToDepElimPattern_main___spec__4___closed__6;
|
||||
LEAN_EXPORT lean_object* l_Lean_RBTree_toList___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_collectDeps___spec__2(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__4(lean_object*, size_t, size_t, 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_elabMatchAltView___lambda__3(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_EXPORT lean_object* l_Lean_Meta_transform_visit_visitLambda___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_main_unpack_go___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*);
|
||||
|
|
@ -1054,7 +1053,6 @@ static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrsWitMatchType___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*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_saveState___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___spec__9___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_throwError___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_getPatternsVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -1099,7 +1097,6 @@ static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux__
|
|||
LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitLambda___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_runST___rarg(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrsWitMatchType___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalInstances___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5(lean_object*);
|
||||
lean_object* l_Lean_Meta_check(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_generalize___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_unpackMatchTypePatterns(lean_object*);
|
||||
|
|
@ -33079,258 +33076,7 @@ return x_25;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___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, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12;
|
||||
x_9 = lean_st_ref_get(x_7, x_8);
|
||||
x_10 = lean_ctor_get(x_9, 0);
|
||||
lean_inc(x_10);
|
||||
x_11 = lean_ctor_get(x_10, 6);
|
||||
lean_inc(x_11);
|
||||
lean_dec(x_10);
|
||||
x_12 = lean_ctor_get_uint8(x_11, sizeof(void*)*2);
|
||||
lean_dec(x_11);
|
||||
if (x_12 == 0)
|
||||
{
|
||||
uint8_t x_13;
|
||||
lean_dec(x_1);
|
||||
x_13 = !lean_is_exclusive(x_9);
|
||||
if (x_13 == 0)
|
||||
{
|
||||
lean_object* x_14; lean_object* x_15;
|
||||
x_14 = lean_ctor_get(x_9, 0);
|
||||
lean_dec(x_14);
|
||||
x_15 = lean_box(0);
|
||||
lean_ctor_set(x_9, 0, x_15);
|
||||
return x_9;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_16; lean_object* x_17; lean_object* x_18;
|
||||
x_16 = lean_ctor_get(x_9, 1);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_9);
|
||||
x_17 = lean_box(0);
|
||||
x_18 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_18, 0, x_17);
|
||||
lean_ctor_set(x_18, 1, x_16);
|
||||
return x_18;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24;
|
||||
x_19 = lean_ctor_get(x_9, 1);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_9);
|
||||
x_20 = lean_st_ref_take(x_7, x_19);
|
||||
x_21 = lean_ctor_get(x_20, 0);
|
||||
lean_inc(x_21);
|
||||
x_22 = lean_ctor_get(x_21, 6);
|
||||
lean_inc(x_22);
|
||||
x_23 = lean_ctor_get(x_20, 1);
|
||||
lean_inc(x_23);
|
||||
lean_dec(x_20);
|
||||
x_24 = !lean_is_exclusive(x_21);
|
||||
if (x_24 == 0)
|
||||
{
|
||||
lean_object* x_25; uint8_t x_26;
|
||||
x_25 = lean_ctor_get(x_21, 6);
|
||||
lean_dec(x_25);
|
||||
x_26 = !lean_is_exclusive(x_22);
|
||||
if (x_26 == 0)
|
||||
{
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30;
|
||||
x_27 = lean_ctor_get(x_22, 1);
|
||||
x_28 = l_Lean_PersistentArray_push___rarg(x_27, x_1);
|
||||
lean_ctor_set(x_22, 1, x_28);
|
||||
x_29 = lean_st_ref_set(x_7, x_21, x_23);
|
||||
x_30 = !lean_is_exclusive(x_29);
|
||||
if (x_30 == 0)
|
||||
{
|
||||
lean_object* x_31; lean_object* x_32;
|
||||
x_31 = lean_ctor_get(x_29, 0);
|
||||
lean_dec(x_31);
|
||||
x_32 = lean_box(0);
|
||||
lean_ctor_set(x_29, 0, x_32);
|
||||
return x_29;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_33; lean_object* x_34; lean_object* x_35;
|
||||
x_33 = lean_ctor_get(x_29, 1);
|
||||
lean_inc(x_33);
|
||||
lean_dec(x_29);
|
||||
x_34 = lean_box(0);
|
||||
x_35 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_35, 0, x_34);
|
||||
lean_ctor_set(x_35, 1, x_33);
|
||||
return x_35;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
|
||||
x_36 = lean_ctor_get_uint8(x_22, sizeof(void*)*2);
|
||||
x_37 = lean_ctor_get(x_22, 0);
|
||||
x_38 = lean_ctor_get(x_22, 1);
|
||||
lean_inc(x_38);
|
||||
lean_inc(x_37);
|
||||
lean_dec(x_22);
|
||||
x_39 = l_Lean_PersistentArray_push___rarg(x_38, x_1);
|
||||
x_40 = lean_alloc_ctor(0, 2, 1);
|
||||
lean_ctor_set(x_40, 0, x_37);
|
||||
lean_ctor_set(x_40, 1, x_39);
|
||||
lean_ctor_set_uint8(x_40, sizeof(void*)*2, x_36);
|
||||
lean_ctor_set(x_21, 6, x_40);
|
||||
x_41 = lean_st_ref_set(x_7, x_21, x_23);
|
||||
x_42 = lean_ctor_get(x_41, 1);
|
||||
lean_inc(x_42);
|
||||
if (lean_is_exclusive(x_41)) {
|
||||
lean_ctor_release(x_41, 0);
|
||||
lean_ctor_release(x_41, 1);
|
||||
x_43 = x_41;
|
||||
} else {
|
||||
lean_dec_ref(x_41);
|
||||
x_43 = lean_box(0);
|
||||
}
|
||||
x_44 = lean_box(0);
|
||||
if (lean_is_scalar(x_43)) {
|
||||
x_45 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_45 = x_43;
|
||||
}
|
||||
lean_ctor_set(x_45, 0, x_44);
|
||||
lean_ctor_set(x_45, 1, x_42);
|
||||
return x_45;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63;
|
||||
x_46 = lean_ctor_get(x_21, 0);
|
||||
x_47 = lean_ctor_get(x_21, 1);
|
||||
x_48 = lean_ctor_get(x_21, 2);
|
||||
x_49 = lean_ctor_get(x_21, 3);
|
||||
x_50 = lean_ctor_get(x_21, 4);
|
||||
x_51 = lean_ctor_get(x_21, 5);
|
||||
lean_inc(x_51);
|
||||
lean_inc(x_50);
|
||||
lean_inc(x_49);
|
||||
lean_inc(x_48);
|
||||
lean_inc(x_47);
|
||||
lean_inc(x_46);
|
||||
lean_dec(x_21);
|
||||
x_52 = lean_ctor_get_uint8(x_22, sizeof(void*)*2);
|
||||
x_53 = lean_ctor_get(x_22, 0);
|
||||
lean_inc(x_53);
|
||||
x_54 = lean_ctor_get(x_22, 1);
|
||||
lean_inc(x_54);
|
||||
if (lean_is_exclusive(x_22)) {
|
||||
lean_ctor_release(x_22, 0);
|
||||
lean_ctor_release(x_22, 1);
|
||||
x_55 = x_22;
|
||||
} else {
|
||||
lean_dec_ref(x_22);
|
||||
x_55 = lean_box(0);
|
||||
}
|
||||
x_56 = l_Lean_PersistentArray_push___rarg(x_54, x_1);
|
||||
if (lean_is_scalar(x_55)) {
|
||||
x_57 = lean_alloc_ctor(0, 2, 1);
|
||||
} else {
|
||||
x_57 = x_55;
|
||||
}
|
||||
lean_ctor_set(x_57, 0, x_53);
|
||||
lean_ctor_set(x_57, 1, x_56);
|
||||
lean_ctor_set_uint8(x_57, sizeof(void*)*2, x_52);
|
||||
x_58 = lean_alloc_ctor(0, 7, 0);
|
||||
lean_ctor_set(x_58, 0, x_46);
|
||||
lean_ctor_set(x_58, 1, x_47);
|
||||
lean_ctor_set(x_58, 2, x_48);
|
||||
lean_ctor_set(x_58, 3, x_49);
|
||||
lean_ctor_set(x_58, 4, x_50);
|
||||
lean_ctor_set(x_58, 5, x_51);
|
||||
lean_ctor_set(x_58, 6, x_57);
|
||||
x_59 = lean_st_ref_set(x_7, x_58, x_23);
|
||||
x_60 = lean_ctor_get(x_59, 1);
|
||||
lean_inc(x_60);
|
||||
if (lean_is_exclusive(x_59)) {
|
||||
lean_ctor_release(x_59, 0);
|
||||
lean_ctor_release(x_59, 1);
|
||||
x_61 = x_59;
|
||||
} else {
|
||||
lean_dec_ref(x_59);
|
||||
x_61 = lean_box(0);
|
||||
}
|
||||
x_62 = lean_box(0);
|
||||
if (lean_is_scalar(x_61)) {
|
||||
x_63 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_63 = x_61;
|
||||
}
|
||||
lean_ctor_set(x_63, 0, x_62);
|
||||
lean_ctor_set(x_63, 1, x_60);
|
||||
return x_63;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___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, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12;
|
||||
x_9 = lean_st_ref_get(x_7, x_8);
|
||||
x_10 = lean_ctor_get(x_9, 0);
|
||||
lean_inc(x_10);
|
||||
x_11 = lean_ctor_get(x_10, 6);
|
||||
lean_inc(x_11);
|
||||
lean_dec(x_10);
|
||||
x_12 = lean_ctor_get_uint8(x_11, sizeof(void*)*2);
|
||||
lean_dec(x_11);
|
||||
if (x_12 == 0)
|
||||
{
|
||||
uint8_t x_13;
|
||||
lean_dec(x_1);
|
||||
x_13 = !lean_is_exclusive(x_9);
|
||||
if (x_13 == 0)
|
||||
{
|
||||
lean_object* x_14; lean_object* x_15;
|
||||
x_14 = lean_ctor_get(x_9, 0);
|
||||
lean_dec(x_14);
|
||||
x_15 = lean_box(0);
|
||||
lean_ctor_set(x_9, 0, x_15);
|
||||
return x_9;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_16; lean_object* x_17; lean_object* x_18;
|
||||
x_16 = lean_ctor_get(x_9, 1);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_9);
|
||||
x_17 = lean_box(0);
|
||||
x_18 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_18, 0, x_17);
|
||||
lean_ctor_set(x_18, 1, x_16);
|
||||
return x_18;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
|
||||
x_19 = lean_ctor_get(x_9, 1);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_9);
|
||||
x_20 = l_Lean_Elab_getResetInfoTrees___at_Lean_Elab_Term_ToDepElimPattern_savePatternInfo_go___spec__4___rarg___closed__3;
|
||||
x_21 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_21, 0, x_1);
|
||||
lean_ctor_set(x_21, 1, x_20);
|
||||
x_22 = l_Lean_Elab_pushInfoTree___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__3(x_21, x_2, x_3, x_4, x_5, x_6, x_7, x_19);
|
||||
return x_22;
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__4(lean_object* x_1, size_t x_2, size_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_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2(lean_object* x_1, size_t x_2, size_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) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_12;
|
||||
|
|
@ -33360,7 +33106,7 @@ lean_ctor_set(x_18, 0, x_17);
|
|||
lean_ctor_set(x_18, 1, x_16);
|
||||
x_19 = lean_alloc_ctor(9, 1, 0);
|
||||
lean_ctor_set(x_19, 0, x_18);
|
||||
x_20 = l_Lean_Elab_pushInfoLeaf___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2(x_19, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
|
||||
x_20 = l_Lean_Elab_pushInfoLeaf___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__2(x_19, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
|
||||
x_21 = lean_ctor_get(x_20, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_20);
|
||||
|
|
@ -33374,7 +33120,7 @@ goto _start;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalInstances___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalInstances___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_10; lean_object* x_11;
|
||||
|
|
@ -33426,15 +33172,15 @@ return x_19;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalInstances___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalInstances___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__3(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalInstances___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5___rarg___boxed), 9, 0);
|
||||
x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalInstances___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__3___rarg___boxed), 9, 0);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__6(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__4(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_1) == 0)
|
||||
|
|
@ -33484,7 +33230,7 @@ goto _start;
|
|||
}
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__7___closed__1() {
|
||||
static lean_object* _init_l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
|
|
@ -33494,7 +33240,7 @@ lean_ctor_set(x_2, 0, x_1);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__7(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_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17;
|
||||
|
|
@ -33536,7 +33282,7 @@ if (x_25 == 0)
|
|||
lean_object* x_26; lean_object* x_27;
|
||||
x_26 = lean_ctor_get(x_24, 0);
|
||||
lean_dec(x_26);
|
||||
x_27 = l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__7___closed__1;
|
||||
x_27 = l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5___closed__1;
|
||||
lean_ctor_set(x_24, 0, x_27);
|
||||
return x_24;
|
||||
}
|
||||
|
|
@ -33546,7 +33292,7 @@ lean_object* x_28; lean_object* x_29; lean_object* x_30;
|
|||
x_28 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_24);
|
||||
x_29 = l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__7___closed__1;
|
||||
x_29 = l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5___closed__1;
|
||||
x_30 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_30, 0, x_29);
|
||||
lean_ctor_set(x_30, 1, x_28);
|
||||
|
|
@ -33602,7 +33348,7 @@ if (lean_is_exclusive(x_44)) {
|
|||
lean_dec_ref(x_44);
|
||||
x_46 = lean_box(0);
|
||||
}
|
||||
x_47 = l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__7___closed__1;
|
||||
x_47 = l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5___closed__1;
|
||||
if (lean_is_scalar(x_46)) {
|
||||
x_48 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
|
|
@ -34192,7 +33938,7 @@ x_23 = lean_usize_of_nat(x_22);
|
|||
lean_dec(x_22);
|
||||
x_24 = 0;
|
||||
x_25 = lean_box(0);
|
||||
x_26 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__4(x_21, x_23, x_24, x_25, x_9, x_10, x_11, x_12, x_13, x_14, x_15);
|
||||
x_26 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2(x_21, x_23, x_24, x_25, x_9, x_10, x_11, x_12, x_13, x_14, x_15);
|
||||
lean_dec(x_21);
|
||||
x_27 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_27);
|
||||
|
|
@ -34311,7 +34057,7 @@ lean_closure_set(x_15, 3, x_4);
|
|||
lean_closure_set(x_15, 4, x_5);
|
||||
lean_closure_set(x_15, 5, x_6);
|
||||
lean_closure_set(x_15, 6, x_1);
|
||||
x_16 = l_Lean_Meta_withLocalInstances___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5___rarg(x_14, x_15, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
|
||||
x_16 = l_Lean_Meta_withLocalInstances___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__3___rarg(x_14, x_15, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
|
||||
lean_dec(x_14);
|
||||
return x_16;
|
||||
}
|
||||
|
|
@ -34426,7 +34172,7 @@ lean_dec(x_22);
|
|||
lean_inc(x_19);
|
||||
x_30 = lean_array_to_list(lean_box(0), x_19);
|
||||
x_31 = lean_box(0);
|
||||
x_32 = l_List_mapTRAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__6(x_30, x_31);
|
||||
x_32 = l_List_mapTRAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__4(x_30, x_31);
|
||||
x_33 = l_Lean_MessageData_ofList(x_32);
|
||||
lean_dec(x_32);
|
||||
x_34 = l_Lean_Elab_Term_ToDepElimPattern_main___rarg___lambda__2___closed__2;
|
||||
|
|
@ -34437,7 +34183,7 @@ x_36 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term
|
|||
x_37 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_37, 0, x_35);
|
||||
lean_ctor_set(x_37, 1, x_36);
|
||||
x_38 = l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__7(x_21, x_37, x_5, x_6, x_7, x_8, x_9, x_10, x_29);
|
||||
x_38 = l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5(x_21, x_37, x_5, x_6, x_7, x_8, x_9, x_10, x_29);
|
||||
x_39 = lean_ctor_get(x_38, 0);
|
||||
lean_inc(x_39);
|
||||
x_40 = lean_ctor_get(x_38, 1);
|
||||
|
|
@ -34572,7 +34318,7 @@ lean_dec(x_66);
|
|||
lean_inc(x_63);
|
||||
x_74 = lean_array_to_list(lean_box(0), x_63);
|
||||
x_75 = lean_box(0);
|
||||
x_76 = l_List_mapTRAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__6(x_74, x_75);
|
||||
x_76 = l_List_mapTRAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__4(x_74, x_75);
|
||||
x_77 = l_Lean_MessageData_ofList(x_76);
|
||||
lean_dec(x_76);
|
||||
x_78 = l_Lean_Elab_Term_ToDepElimPattern_main___rarg___lambda__2___closed__2;
|
||||
|
|
@ -34583,7 +34329,7 @@ x_80 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term
|
|||
x_81 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_81, 0, x_79);
|
||||
lean_ctor_set(x_81, 1, x_80);
|
||||
x_82 = l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__7(x_65, x_81, x_5, x_6, x_7, x_8, x_59, x_10, x_73);
|
||||
x_82 = l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5(x_65, x_81, x_5, x_6, x_7, x_8, x_59, x_10, x_73);
|
||||
x_83 = lean_ctor_get(x_82, 0);
|
||||
lean_inc(x_83);
|
||||
x_84 = lean_ctor_get(x_82, 1);
|
||||
|
|
@ -34647,35 +34393,7 @@ lean_dec(x_2);
|
|||
return x_9;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_9;
|
||||
x_9 = l_Lean_Elab_pushInfoTree___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_9;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_9;
|
||||
x_9 = l_Lean_Elab_pushInfoLeaf___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_9;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
|
||||
_start:
|
||||
{
|
||||
size_t x_12; size_t x_13; lean_object* x_14;
|
||||
|
|
@ -34683,7 +34401,7 @@ x_12 = lean_unbox_usize(x_2);
|
|||
lean_dec(x_2);
|
||||
x_13 = lean_unbox_usize(x_3);
|
||||
lean_dec(x_3);
|
||||
x_14 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__4(x_1, x_12, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
|
||||
x_14 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__2(x_1, x_12, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
|
|
@ -34694,20 +34412,20 @@ lean_dec(x_1);
|
|||
return x_14;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalInstances___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalInstances___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__3___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_10;
|
||||
x_10 = l_Lean_Meta_withLocalInstances___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
|
||||
x_10 = l_Lean_Meta_withLocalInstances___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__3___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
|
||||
lean_dec(x_1);
|
||||
return x_10;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__7___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_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_10;
|
||||
x_10 = l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
|
||||
x_10 = l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
|
|
@ -47882,8 +47600,8 @@ l___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___rarg___closed__2 = _
|
|||
lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___rarg___closed__2);
|
||||
l_Lean_isTracingEnabledFor___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__1___closed__1 = _init_l_Lean_isTracingEnabledFor___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__1___closed__1();
|
||||
lean_mark_persistent(l_Lean_isTracingEnabledFor___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__1___closed__1);
|
||||
l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__7___closed__1 = _init_l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__7___closed__1();
|
||||
lean_mark_persistent(l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__7___closed__1);
|
||||
l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5___closed__1 = _init_l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5___closed__1();
|
||||
lean_mark_persistent(l_Lean_addTrace___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5___closed__1);
|
||||
l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___lambda__2___closed__1 = _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___lambda__2___closed__1();
|
||||
lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___lambda__2___closed__1);
|
||||
l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___lambda__2___closed__2 = _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___lambda__2___closed__2();
|
||||
|
|
|
|||
362
stage0/stdlib/Lean/Elab/MutualDef.c
generated
362
stage0/stdlib/Lean/Elab/MutualDef.c
generated
|
|
@ -50,6 +50,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_Term_checkForHid
|
|||
static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5___lambda__3___closed__3;
|
||||
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__5___rarg___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_levelMVarToParamHeaders_process___spec__1___lambda__1___boxed(lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__4;
|
||||
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
|
||||
lean_object* l_Lean_Name_str___override(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_mkForallFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -99,6 +100,7 @@ LEAN_EXPORT lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_Mu
|
|||
lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_elabMatch_elabMatchDefault___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Std_Format_defWidth;
|
||||
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__5___closed__1;
|
||||
static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__3___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Elab_Term_MutualClosure_pushLetRecs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isExample(lean_object*);
|
||||
|
|
@ -113,7 +115,6 @@ lean_object* l_Lean_Meta_removeUnused(lean_object*, lean_object*, lean_object*,
|
|||
lean_object* l___private_Init_Util_0__outOfBounds___rarg(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_checkForHiddenUnivLevels_visit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_checkForHiddenUnivLevels_visitLevel___closed__3;
|
||||
static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__7;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_markModified___rarg(lean_object*);
|
||||
lean_object* l_Lean_CollectFVars_main(lean_object*, lean_object*);
|
||||
lean_object* l_List_filterMap___at_Lean_resolveGlobalConst___spec__1(lean_object*);
|
||||
|
|
@ -134,7 +135,6 @@ lean_object* l_Lean_Elab_Term_expandWhereDecls(lean_object*, lean_object*, lean_
|
|||
static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__5;
|
||||
lean_object* l_Lean_Syntax_node2(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___boxed__const__1;
|
||||
lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_expandDeclId___spec__11(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__3___closed__10;
|
||||
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_levelMVarToParamHeaders(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -285,7 +285,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Mutua
|
|||
lean_object* l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withFunLocalDecls(lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getFunName___closed__2;
|
||||
static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__3;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkAppN(lean_object*, lean_object*);
|
||||
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__5___closed__6;
|
||||
|
|
@ -302,7 +301,6 @@ lean_object* l_Lean_Syntax_node5(lean_object*, lean_object*, lean_object*, lean_
|
|||
static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__3___closed__5;
|
||||
static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__6(lean_object*, size_t, 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_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__5;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getFunName___boxed(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_MutualDef_0__Lean_Elab_Term_withFunLocalDecls_loop(lean_object*);
|
||||
lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -354,15 +352,16 @@ uint8_t l_List_beq___at___private_Lean_Data_OpenDecl_0__Lean_beqOpenDecl____x40_
|
|||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___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_st_ref_take(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__15___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_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__6;
|
||||
lean_object* l_Lean_Meta_getZetaFVarIds___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_registerCustomErrorIfMVar(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_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_List_forM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkLetRecsToLiftTypes___spec__1___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs(lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__2;
|
||||
lean_object* lean_nat_sub(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_MutualClosure_getKindForLetRecs___spec__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_getDocStringText___at_Lean_Elab_Command_elabMutualDef___spec__9(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__1___closed__1;
|
||||
|
|
@ -430,6 +429,7 @@ static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWher
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_checkForHiddenUnivLevels(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_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5___lambda__3___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_List_forM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_collectUsed___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__5;
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Name_quickCmp(lean_object*, lean_object*);
|
||||
|
|
@ -494,7 +494,6 @@ static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWher
|
|||
lean_object* l_Lean_addMessageContextPartial___at_Lean_Elab_Command_instAddMessageContextCommandElabM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_levelMVarToParamHeaders_process___spec__1___closed__1;
|
||||
static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__1;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendindMVarErrorMessage___boxed(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_RBNode_find___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_updateUsedVarsOf___spec__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -502,9 +501,7 @@ lean_object* lean_array_to_list(lean_object*, lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__11___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_Macro_throwErrorAt___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_RBNode_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__3(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Environment_contains(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_RBNode_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__2___closed__2;
|
||||
lean_object* l_Lean_Meta_InfoCacheKey_instHashableInfoCacheKey___boxed(lean_object*);
|
||||
|
|
@ -526,7 +523,6 @@ static lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualD
|
|||
static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_cleanupOfNat___lambda__3___closed__2;
|
||||
extern lean_object* l_Lean_Elab_instInhabitedDefView;
|
||||
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__5___rarg___closed__3;
|
||||
static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__2;
|
||||
lean_object* l_Lean_FileMap_toPosition(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_cleanupOfNat___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__2;
|
||||
|
|
@ -559,6 +555,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_FixPoint_State_usedFVars
|
|||
lean_object* l_Lean_HashMapImp_find_x3f___at___private_Lean_Meta_Check_0__Lean_Meta_checkAux_check___spec__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__4___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__3;
|
||||
static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_cleanupOfNat___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_RBNode_find___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__1___boxed(lean_object*, lean_object*);
|
||||
|
|
@ -572,6 +569,7 @@ size_t lean_usize_of_nat(lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Array_erase___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__2___boxed(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1___closed__2;
|
||||
uint8_t l_Lean_Elab_DefKind_isTheorem(uint8_t);
|
||||
static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__6;
|
||||
LEAN_EXPORT lean_object* l_Array_getMax_x3f___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_pickMaxFVar_x3f___spec__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1___closed__1;
|
||||
|
|
@ -625,7 +623,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_Mutua
|
|||
LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Elab_Term_checkForHiddenUnivLevels_visit___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_List_elem___at_Lean_NameHashSet_insert___spec__2(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__4;
|
||||
lean_object* l_Lean_Syntax_getPos_x3f(lean_object*, uint8_t);
|
||||
lean_object* l_Lean_Expr_fvar___override(lean_object*);
|
||||
uint8_t l_Array_contains___at___private_Lean_Meta_Match_Value_0__Lean_Meta_isUIntTypeName___spec__1(lean_object*, lean_object*);
|
||||
|
|
@ -685,7 +682,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosur
|
|||
LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_cleanupOfNat___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_fixpoint___rarg___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_checkForHiddenUnivLevels___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_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_checkForHiddenUnivLevels___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Syntax_getArgs(lean_object*);
|
||||
|
|
@ -849,7 +845,7 @@ lean_object* l_Lean_setEnv___at_Lean_Elab_wfRecursion___spec__1(lean_object*, le
|
|||
lean_object* l_Lean_Syntax_node4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__3___closed__1;
|
||||
lean_object* l_Lean_Option_set___at_Lean_Elab_Eqns_tryURefl___spec__1(lean_object*, lean_object*, uint8_t);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_checkForHiddenUnivLevels___spec__3(lean_object*, lean_object*, lean_object*, size_t, size_t);
|
||||
static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__5___closed__1;
|
||||
|
|
@ -28651,21 +28647,7 @@ return x_5;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_8; lean_object* x_9;
|
||||
x_8 = lean_alloc_ctor(0, 2, 1);
|
||||
lean_ctor_set(x_8, 0, x_2);
|
||||
lean_ctor_set(x_8, 1, x_3);
|
||||
lean_ctor_set_uint8(x_8, sizeof(void*)*2, x_1);
|
||||
x_9 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_9, 0, x_8);
|
||||
lean_ctor_set(x_9, 1, x_7);
|
||||
return x_9;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__1() {
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -28673,16 +28655,16 @@ x_1 = lean_mk_string_from_bytes("unknown attribute [", 19);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__2() {
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__1;
|
||||
x_1 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__1;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__3() {
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -28690,179 +28672,109 @@ x_1 = lean_mk_string_from_bytes("]", 1);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__4() {
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__3;
|
||||
x_1 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__3;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__5() {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes("Attr", 4);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__6() {
|
||||
_start:
|
||||
lean_object* x_7; uint8_t x_8;
|
||||
x_7 = lean_st_ref_get(x_5, x_6);
|
||||
x_8 = !lean_is_exclusive(x_7);
|
||||
if (x_8 == 0)
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes("simple", 6);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__1;
|
||||
x_2 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2;
|
||||
x_3 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__5;
|
||||
x_4 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__6;
|
||||
x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_36;
|
||||
x_8 = lean_st_ref_get(x_6, x_7);
|
||||
x_9 = lean_ctor_get(x_8, 0);
|
||||
lean_inc(x_9);
|
||||
x_10 = lean_ctor_get(x_8, 1);
|
||||
lean_inc(x_10);
|
||||
lean_dec(x_8);
|
||||
lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
|
||||
x_9 = lean_ctor_get(x_7, 0);
|
||||
x_10 = lean_ctor_get(x_7, 1);
|
||||
x_11 = lean_ctor_get(x_9, 0);
|
||||
lean_inc(x_11);
|
||||
lean_dec(x_9);
|
||||
lean_inc(x_4);
|
||||
x_36 = l_Lean_getAttributeImpl(x_11, x_4);
|
||||
lean_dec(x_11);
|
||||
if (lean_obj_tag(x_36) == 0)
|
||||
{
|
||||
lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42;
|
||||
lean_dec(x_36);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_37 = lean_alloc_ctor(4, 1, 0);
|
||||
lean_ctor_set(x_37, 0, x_4);
|
||||
x_38 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__2;
|
||||
x_39 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_38);
|
||||
lean_ctor_set(x_39, 1, x_37);
|
||||
x_40 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__4;
|
||||
x_41 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_41, 0, x_39);
|
||||
lean_ctor_set(x_41, 1, x_40);
|
||||
x_42 = l_Lean_throwError___at_Lean_Elab_Command_elabMutualDef___spec__5(x_41, x_5, x_6, x_10);
|
||||
return x_42;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46;
|
||||
x_43 = lean_ctor_get(x_36, 0);
|
||||
lean_inc(x_43);
|
||||
lean_dec(x_36);
|
||||
lean_inc(x_3);
|
||||
x_44 = l_Lean_Syntax_getKind(x_3);
|
||||
x_45 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__7;
|
||||
x_46 = lean_name_eq(x_44, x_45);
|
||||
if (x_46 == 0)
|
||||
x_12 = l_Lean_getAttributeImpl(x_11, x_3);
|
||||
lean_dec(x_11);
|
||||
if (lean_obj_tag(x_12) == 0)
|
||||
{
|
||||
lean_dec(x_43);
|
||||
x_12 = x_44;
|
||||
goto block_35;
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
|
||||
lean_dec(x_12);
|
||||
lean_free_object(x_7);
|
||||
lean_dec(x_2);
|
||||
x_13 = lean_alloc_ctor(4, 1, 0);
|
||||
lean_ctor_set(x_13, 0, x_3);
|
||||
x_14 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__2;
|
||||
x_15 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_15, 0, x_14);
|
||||
lean_ctor_set(x_15, 1, x_13);
|
||||
x_16 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__4;
|
||||
x_17 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_17, 0, x_15);
|
||||
lean_ctor_set(x_17, 1, x_16);
|
||||
x_18 = l_Lean_throwError___at_Lean_Elab_Command_elabMutualDef___spec__5(x_17, x_4, x_5, x_10);
|
||||
return x_18;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_47; lean_object* x_48;
|
||||
lean_dec(x_44);
|
||||
x_47 = lean_ctor_get(x_43, 0);
|
||||
lean_inc(x_47);
|
||||
lean_dec(x_43);
|
||||
x_48 = lean_ctor_get(x_47, 0);
|
||||
lean_inc(x_48);
|
||||
lean_dec(x_47);
|
||||
x_12 = x_48;
|
||||
goto block_35;
|
||||
lean_object* x_19;
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_4);
|
||||
x_19 = lean_alloc_ctor(0, 2, 1);
|
||||
lean_ctor_set(x_19, 0, x_3);
|
||||
lean_ctor_set(x_19, 1, x_2);
|
||||
lean_ctor_set_uint8(x_19, sizeof(void*)*2, x_1);
|
||||
lean_ctor_set(x_7, 0, x_19);
|
||||
return x_7;
|
||||
}
|
||||
}
|
||||
block_35:
|
||||
else
|
||||
{
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21;
|
||||
x_13 = lean_st_ref_get(x_6, x_10);
|
||||
x_14 = lean_ctor_get(x_13, 0);
|
||||
lean_inc(x_14);
|
||||
x_15 = lean_ctor_get(x_13, 1);
|
||||
lean_inc(x_15);
|
||||
lean_dec(x_13);
|
||||
x_16 = lean_ctor_get(x_14, 0);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_14);
|
||||
x_17 = lean_st_ref_get(x_6, x_15);
|
||||
x_18 = lean_ctor_get(x_17, 0);
|
||||
lean_inc(x_18);
|
||||
x_19 = lean_ctor_get(x_17, 1);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_17);
|
||||
x_20 = lean_ctor_get(x_18, 7);
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
|
||||
x_20 = lean_ctor_get(x_7, 0);
|
||||
x_21 = lean_ctor_get(x_7, 1);
|
||||
lean_inc(x_21);
|
||||
lean_inc(x_20);
|
||||
lean_dec(x_18);
|
||||
lean_inc(x_12);
|
||||
x_21 = l_Lean_Environment_contains(x_16, x_12);
|
||||
if (x_21 == 0)
|
||||
{
|
||||
lean_object* x_22; lean_object* x_23;
|
||||
lean_dec(x_7);
|
||||
x_22 = lean_ctor_get(x_20, 0);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_20);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_3);
|
||||
x_22 = lean_box(0);
|
||||
x_23 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(x_1, x_4, x_2, x_22, x_5, x_6, x_19);
|
||||
lean_dec(x_5);
|
||||
return x_23;
|
||||
lean_inc(x_3);
|
||||
x_23 = l_Lean_getAttributeImpl(x_22, x_3);
|
||||
lean_dec(x_22);
|
||||
if (lean_obj_tag(x_23) == 0)
|
||||
{
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
|
||||
lean_dec(x_23);
|
||||
lean_dec(x_2);
|
||||
x_24 = lean_alloc_ctor(4, 1, 0);
|
||||
lean_ctor_set(x_24, 0, x_3);
|
||||
x_25 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__2;
|
||||
x_26 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_26, 0, x_25);
|
||||
lean_ctor_set(x_26, 1, x_24);
|
||||
x_27 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__4;
|
||||
x_28 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_28, 0, x_26);
|
||||
lean_ctor_set(x_28, 1, x_27);
|
||||
x_29 = l_Lean_throwError___at_Lean_Elab_Command_elabMutualDef___spec__5(x_28, x_4, x_5, x_21);
|
||||
return x_29;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_24;
|
||||
x_24 = lean_ctor_get_uint8(x_20, sizeof(void*)*2);
|
||||
lean_dec(x_20);
|
||||
if (x_24 == 0)
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26;
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_3);
|
||||
x_25 = lean_box(0);
|
||||
x_26 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(x_1, x_4, x_2, x_25, x_5, x_6, x_19);
|
||||
lean_dec(x_5);
|
||||
return x_26;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
|
||||
x_27 = lean_unsigned_to_nat(0u);
|
||||
x_28 = l_Lean_Syntax_getArg(x_3, x_27);
|
||||
lean_dec(x_3);
|
||||
x_29 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_29, 0, x_12);
|
||||
lean_ctor_set(x_29, 1, x_28);
|
||||
x_30 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_30, 0, x_29);
|
||||
x_31 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_expandDeclId___spec__11(x_30, x_5, x_6, x_19);
|
||||
x_32 = lean_ctor_get(x_31, 0);
|
||||
lean_inc(x_32);
|
||||
x_33 = lean_ctor_get(x_31, 1);
|
||||
lean_inc(x_33);
|
||||
lean_dec(x_31);
|
||||
x_34 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(x_1, x_4, x_2, x_32, x_5, x_6, x_33);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_32);
|
||||
return x_34;
|
||||
}
|
||||
lean_object* x_30; lean_object* x_31;
|
||||
lean_dec(x_23);
|
||||
lean_dec(x_4);
|
||||
x_30 = lean_alloc_ctor(0, 2, 1);
|
||||
lean_ctor_set(x_30, 0, x_3);
|
||||
lean_ctor_set(x_30, 1, x_2);
|
||||
lean_ctor_set_uint8(x_30, sizeof(void*)*2, x_1);
|
||||
x_31 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_31, 0, x_30);
|
||||
lean_ctor_set(x_31, 1, x_21);
|
||||
return x_31;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -28879,15 +28791,43 @@ static lean_object* _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutual
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes("unknown attribute", 17);
|
||||
x_1 = lean_mk_string_from_bytes("Attr", 4);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes("simple", 6);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__1;
|
||||
x_2 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2;
|
||||
x_3 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__2;
|
||||
x_4 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__3;
|
||||
x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes("unknown attribute", 17);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__2;
|
||||
x_1 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__5;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
|
|
@ -28915,7 +28855,6 @@ x_11 = lean_unsigned_to_nat(1u);
|
|||
x_12 = l_Lean_Syntax_getArg(x_1, x_11);
|
||||
lean_dec(x_1);
|
||||
x_13 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__1;
|
||||
lean_inc(x_12);
|
||||
x_14 = lean_alloc_closure((void*)(l_Lean_expandMacros), 4, 2);
|
||||
lean_closure_set(x_14, 0, x_12);
|
||||
lean_closure_set(x_14, 1, x_13);
|
||||
|
|
@ -28932,7 +28871,7 @@ lean_inc(x_17);
|
|||
lean_dec(x_15);
|
||||
lean_inc(x_16);
|
||||
x_18 = l_Lean_Syntax_getKind(x_16);
|
||||
x_19 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__7;
|
||||
x_19 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__4;
|
||||
x_20 = lean_name_eq(x_18, x_19);
|
||||
if (x_20 == 0)
|
||||
{
|
||||
|
|
@ -28946,7 +28885,7 @@ x_22 = lean_box(0);
|
|||
x_23 = l_Lean_Name_str___override(x_22, x_21);
|
||||
x_24 = lean_unbox(x_9);
|
||||
lean_dec(x_9);
|
||||
x_25 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3(x_24, x_16, x_12, x_23, x_2, x_3, x_17);
|
||||
x_25 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(x_24, x_16, x_23, x_2, x_3, x_17);
|
||||
lean_dec(x_3);
|
||||
return x_25;
|
||||
}
|
||||
|
|
@ -28954,9 +28893,8 @@ else
|
|||
{
|
||||
lean_object* x_26; lean_object* x_27; uint8_t x_28;
|
||||
lean_dec(x_18);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_9);
|
||||
x_26 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__3;
|
||||
x_26 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__6;
|
||||
x_27 = l_Lean_throwErrorAt___at_Lean_Elab_elabDeriving___spec__15(x_16, x_26, x_2, x_3, x_17);
|
||||
x_28 = !lean_is_exclusive(x_27);
|
||||
if (x_28 == 0)
|
||||
|
|
@ -28988,7 +28926,7 @@ lean_dec(x_32);
|
|||
x_34 = lean_erase_macro_scopes(x_33);
|
||||
x_35 = lean_unbox(x_9);
|
||||
lean_dec(x_9);
|
||||
x_36 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3(x_35, x_16, x_12, x_34, x_2, x_3, x_17);
|
||||
x_36 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(x_35, x_16, x_34, x_2, x_3, x_17);
|
||||
lean_dec(x_3);
|
||||
return x_36;
|
||||
}
|
||||
|
|
@ -28996,7 +28934,6 @@ return x_36;
|
|||
else
|
||||
{
|
||||
uint8_t x_37;
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
|
|
@ -30361,28 +30298,15 @@ x_3 = lean_box(x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_8; lean_object* x_9;
|
||||
x_8 = lean_unbox(x_1);
|
||||
uint8_t x_7; lean_object* x_8;
|
||||
x_7 = lean_unbox(x_1);
|
||||
lean_dec(x_1);
|
||||
x_9 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(x_8, x_2, x_3, x_4, x_5, x_6, x_7);
|
||||
lean_dec(x_6);
|
||||
x_8 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(x_7, x_2, x_3, x_4, x_5, x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
return x_9;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_8; lean_object* x_9;
|
||||
x_8 = lean_unbox(x_1);
|
||||
lean_dec(x_1);
|
||||
x_9 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3(x_8, x_2, x_3, x_4, x_5, x_6, x_7);
|
||||
lean_dec(x_6);
|
||||
return x_9;
|
||||
return x_8;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabMutualDef___spec__6___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) {
|
||||
|
|
@ -30968,26 +30892,26 @@ l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1_
|
|||
lean_mark_persistent(l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1___closed__1);
|
||||
l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1___closed__2 = _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1___closed__2);
|
||||
l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__1 = _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__1);
|
||||
l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__2 = _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__2);
|
||||
l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__3 = _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__3);
|
||||
l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__4 = _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__4);
|
||||
l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__5 = _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__5();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__5);
|
||||
l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__6 = _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__6();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__6);
|
||||
l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__7 = _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__7();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__7);
|
||||
l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__1 = _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__1);
|
||||
l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__2 = _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__2);
|
||||
l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__3 = _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__3);
|
||||
l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__4 = _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__4);
|
||||
l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__1 = _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__1);
|
||||
l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__2 = _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__2);
|
||||
l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__3 = _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__3);
|
||||
l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__4 = _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__4);
|
||||
l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__5 = _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__5();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__5);
|
||||
l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__6 = _init_l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__6();
|
||||
lean_mark_persistent(l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__6);
|
||||
l_Lean_getDocStringText___at_Lean_Elab_Command_elabMutualDef___spec__9___closed__1 = _init_l_Lean_getDocStringText___at_Lean_Elab_Command_elabMutualDef___spec__9___closed__1();
|
||||
lean_mark_persistent(l_Lean_getDocStringText___at_Lean_Elab_Command_elabMutualDef___spec__9___closed__1);
|
||||
l_Lean_getDocStringText___at_Lean_Elab_Command_elabMutualDef___spec__9___closed__2 = _init_l_Lean_getDocStringText___at_Lean_Elab_Command_elabMutualDef___spec__9___closed__2();
|
||||
|
|
|
|||
6
stage0/stdlib/Lean/Elab/Quotation.c
generated
6
stage0/stdlib/Lean/Elab/Quotation.c
generated
|
|
@ -467,6 +467,7 @@ uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
|||
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__9___closed__5;
|
||||
LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__6(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_Quotation___aux__Lean__Elab__Quotation______macroRules__Lean__Elab__Term__Quotation__commandElab__stx__quot____1___closed__52;
|
||||
lean_object* l_Lean_logAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__8(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_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__8(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___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__8;
|
||||
static lean_object* l_Lean_Elab_Term_Quotation_mkSyntaxQuotation___closed__17;
|
||||
|
|
@ -1032,7 +1033,6 @@ LEAN_EXPORT lean_object* l_Array_sequenceMap_loop___at_Lean_Elab_Term_Quotation_
|
|||
uint8_t l_Lean_Syntax_isNone(lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_8082____closed__2;
|
||||
static lean_object* l_Lean_Elab_Term_Quotation___aux__Lean__Elab__Quotation______macroRules__Lean__Elab__Term__Quotation__commandElab__stx__quot____1___closed__27;
|
||||
lean_object* l_Lean_logAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__4(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_Quotation___aux__Lean__Elab__Quotation______macroRules__Lean__Elab__Term__Quotation__commandElab__stx__quot____1___closed__40;
|
||||
static lean_object* l_Lean_Elab_Term_Quotation_ArrayStxBuilder_mkNode___closed__34;
|
||||
static lean_object* l_Lean_Elab_Term_Quotation_ArrayStxBuilder_mkNode___closed__88;
|
||||
|
|
@ -36533,7 +36533,7 @@ lean_object* x_33; lean_object* x_34; uint8_t x_35; lean_object* x_36; lean_obje
|
|||
x_33 = l_Lean_instInhabitedSyntax;
|
||||
x_34 = l___private_Init_Util_0__outOfBounds___rarg(x_33);
|
||||
x_35 = 2;
|
||||
x_36 = l_Lean_logAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__4(x_34, x_32, x_35, x_10, x_11, x_12, x_13, x_14, x_15, x_16);
|
||||
x_36 = l_Lean_logAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__8(x_34, x_32, x_35, x_10, x_11, x_12, x_13, x_14, x_15, x_16);
|
||||
lean_dec(x_34);
|
||||
x_37 = lean_ctor_get(x_36, 1);
|
||||
lean_inc(x_37);
|
||||
|
|
@ -36552,7 +36552,7 @@ else
|
|||
lean_object* x_41; uint8_t x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
|
||||
x_41 = lean_array_fget(x_1, x_6);
|
||||
x_42 = 2;
|
||||
x_43 = l_Lean_logAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__4(x_41, x_32, x_42, x_10, x_11, x_12, x_13, x_14, x_15, x_16);
|
||||
x_43 = l_Lean_logAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__8(x_41, x_32, x_42, x_10, x_11, x_12, x_13, x_14, x_15, x_16);
|
||||
lean_dec(x_41);
|
||||
x_44 = lean_ctor_get(x_43, 1);
|
||||
lean_inc(x_44);
|
||||
|
|
|
|||
281
stage0/stdlib/Lean/Elab/Quotation/Precheck.c
generated
281
stage0/stdlib/Lean/Elab/Quotation/Precheck.c
generated
|
|
@ -47,6 +47,7 @@ lean_object* lean_array_uget(lean_object*, size_t);
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_initFn____x40_Lean_Elab_Quotation_Precheck___hyg_199_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_initFn____x40_Lean_Elab_Quotation_Precheck___hyg_160_(lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_Quotation_initFn____x40_Lean_Elab_Quotation_Precheck___hyg_160____closed__6;
|
||||
lean_object* l_Lean_Attribute_Builtin_getIdent(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_Term_Quotation_precheckIdent___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_maxRecDepthErrorMessage;
|
||||
|
|
@ -58,7 +59,7 @@ LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Term_Quotation_
|
|||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_precheckApp(lean_object*);
|
||||
lean_object* lean_environment_find(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_Quotation_precheckIdent___spec__1___rarg(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_st_ref_get(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Term_Quotation_precheckIdent___spec__8___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Elab_Term_Quotation_precheck___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -121,6 +122,7 @@ lean_object* l_Lean_Elab_expandMacroImpl_x3f(lean_object*, lean_object*, lean_ob
|
|||
lean_object* lean_st_ref_take(lean_object*, lean_object*);
|
||||
static lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_Quotation_precheckChoice___spec__5___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_Quotation_precheck___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_Quotation_precheck___lambda__1___closed__5;
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_Quotation_precheckChoice___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_quotPrecheck_allowSectionVars;
|
||||
|
|
@ -148,6 +150,7 @@ static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_Quotation_prech
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabPrecheckedQuot_declRange___closed__2;
|
||||
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_Quotation_precheck_hasQuotedIdent___spec__1(lean_object*, size_t, size_t);
|
||||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_Quotation_precheckApp___spec__1___closed__2;
|
||||
lean_object* l_Lean_Syntax_getId(lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabPrecheckedQuot___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__2(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_List_forIn_loop___at_Lean_Elab_Term_Quotation_precheckIdent___spec__11___closed__4;
|
||||
|
|
@ -164,6 +167,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_Quotation_pr
|
|||
uint8_t l_Lean_Environment_contains(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_KeyedDeclsAttribute_getValues___rarg(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_Quotation_precheck___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_addConstInfo___at_Lean_Linter_initFn____x40_Lean_Linter_Deprecated___hyg_47____spec__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabPrecheckedQuot___closed__6;
|
||||
static lean_object* l_Lean_Elab_Term_Quotation_precheckIdent___lambda__1___closed__3;
|
||||
static lean_object* l_Lean_getConstInfo___at_Lean_Elab_Term_Quotation_precheckIdent___spec__6___closed__4;
|
||||
|
|
@ -252,6 +256,7 @@ static lean_object* l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___closed__11;
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_indentD(lean_object*);
|
||||
extern lean_object* l_Lean_Elab_unsupportedSyntaxExceptionId;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__3(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_7____spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_Quotation_precheck_hasQuotedIdent___spec__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_NameSet_contains(lean_object*, lean_object*);
|
||||
|
|
@ -298,7 +303,6 @@ uint8_t lean_string_dec_eq(lean_object*, lean_object*);
|
|||
static lean_object* l_Lean_Elab_Term_Quotation_runPrecheck___closed__2;
|
||||
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_Quotation_precheckIdent___lambda__1___closed__1;
|
||||
lean_object* l_Lean_Attribute_Builtin_getId(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_Quotation_initFn____x40_Lean_Elab_Quotation_Precheck___hyg_199____closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_elabPrecheckedQuot___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_withNewLocal___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
|
|
@ -581,17 +585,261 @@ x_5 = l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___
|
|||
return x_5;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__1(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_6;
|
||||
x_6 = l_Lean_Attribute_Builtin_getId(x_2, x_3, x_4, x_5);
|
||||
x_6 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_6, 0, x_1);
|
||||
lean_ctor_set(x_6, 1, x_5);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__2(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_6;
|
||||
lean_inc(x_4);
|
||||
lean_inc(x_3);
|
||||
x_6 = l_Lean_Attribute_Builtin_getIdent(x_2, x_3, x_4, x_5);
|
||||
if (lean_obj_tag(x_6) == 0)
|
||||
{
|
||||
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15;
|
||||
x_7 = lean_ctor_get(x_6, 0);
|
||||
lean_inc(x_7);
|
||||
x_8 = lean_ctor_get(x_6, 1);
|
||||
lean_inc(x_8);
|
||||
lean_dec(x_6);
|
||||
x_9 = l_Lean_Syntax_getId(x_7);
|
||||
x_10 = lean_st_ref_get(x_4, x_8);
|
||||
x_11 = lean_ctor_get(x_10, 0);
|
||||
lean_inc(x_11);
|
||||
x_12 = lean_ctor_get(x_10, 1);
|
||||
lean_inc(x_12);
|
||||
lean_dec(x_10);
|
||||
x_13 = lean_ctor_get(x_11, 0);
|
||||
lean_inc(x_13);
|
||||
lean_dec(x_11);
|
||||
x_14 = lean_st_ref_get(x_4, x_12);
|
||||
x_15 = !lean_is_exclusive(x_14);
|
||||
if (x_15 == 0)
|
||||
{
|
||||
lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19;
|
||||
x_16 = lean_ctor_get(x_14, 0);
|
||||
x_17 = lean_ctor_get(x_14, 1);
|
||||
x_18 = lean_ctor_get(x_16, 6);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_16);
|
||||
lean_inc(x_9);
|
||||
x_19 = l_Lean_Environment_contains(x_13, x_9);
|
||||
if (x_19 == 0)
|
||||
{
|
||||
lean_dec(x_18);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_ctor_set(x_14, 0, x_9);
|
||||
return x_14;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_20;
|
||||
x_20 = lean_ctor_get_uint8(x_18, sizeof(void*)*2);
|
||||
lean_dec(x_18);
|
||||
if (x_20 == 0)
|
||||
{
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_ctor_set(x_14, 0, x_9);
|
||||
return x_14;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_21; lean_object* x_22;
|
||||
lean_free_object(x_14);
|
||||
x_21 = lean_box(0);
|
||||
lean_inc(x_9);
|
||||
x_22 = l_Lean_Elab_addConstInfo___at_Lean_Linter_initFn____x40_Lean_Linter_Deprecated___hyg_47____spec__12(x_7, x_9, x_21, x_3, x_4, x_17);
|
||||
lean_dec(x_4);
|
||||
if (lean_obj_tag(x_22) == 0)
|
||||
{
|
||||
uint8_t x_23;
|
||||
x_23 = !lean_is_exclusive(x_22);
|
||||
if (x_23 == 0)
|
||||
{
|
||||
lean_object* x_24;
|
||||
x_24 = lean_ctor_get(x_22, 0);
|
||||
lean_dec(x_24);
|
||||
lean_ctor_set(x_22, 0, x_9);
|
||||
return x_22;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26;
|
||||
x_25 = lean_ctor_get(x_22, 1);
|
||||
lean_inc(x_25);
|
||||
lean_dec(x_22);
|
||||
x_26 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_26, 0, x_9);
|
||||
lean_ctor_set(x_26, 1, x_25);
|
||||
return x_26;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_27;
|
||||
lean_dec(x_9);
|
||||
x_27 = !lean_is_exclusive(x_22);
|
||||
if (x_27 == 0)
|
||||
{
|
||||
return x_22;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30;
|
||||
x_28 = lean_ctor_get(x_22, 0);
|
||||
x_29 = lean_ctor_get(x_22, 1);
|
||||
lean_inc(x_29);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_22);
|
||||
x_30 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_30, 0, x_28);
|
||||
lean_ctor_set(x_30, 1, x_29);
|
||||
return x_30;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34;
|
||||
x_31 = lean_ctor_get(x_14, 0);
|
||||
x_32 = lean_ctor_get(x_14, 1);
|
||||
lean_inc(x_32);
|
||||
lean_inc(x_31);
|
||||
lean_dec(x_14);
|
||||
x_33 = lean_ctor_get(x_31, 6);
|
||||
lean_inc(x_33);
|
||||
lean_dec(x_31);
|
||||
lean_inc(x_9);
|
||||
x_34 = l_Lean_Environment_contains(x_13, x_9);
|
||||
if (x_34 == 0)
|
||||
{
|
||||
lean_object* x_35;
|
||||
lean_dec(x_33);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
x_35 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_35, 0, x_9);
|
||||
lean_ctor_set(x_35, 1, x_32);
|
||||
return x_35;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_36;
|
||||
x_36 = lean_ctor_get_uint8(x_33, sizeof(void*)*2);
|
||||
lean_dec(x_33);
|
||||
if (x_36 == 0)
|
||||
{
|
||||
lean_object* x_37;
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
x_37 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_37, 0, x_9);
|
||||
lean_ctor_set(x_37, 1, x_32);
|
||||
return x_37;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_38; lean_object* x_39;
|
||||
x_38 = lean_box(0);
|
||||
lean_inc(x_9);
|
||||
x_39 = l_Lean_Elab_addConstInfo___at_Lean_Linter_initFn____x40_Lean_Linter_Deprecated___hyg_47____spec__12(x_7, x_9, x_38, x_3, x_4, x_32);
|
||||
lean_dec(x_4);
|
||||
if (lean_obj_tag(x_39) == 0)
|
||||
{
|
||||
lean_object* x_40; lean_object* x_41; lean_object* x_42;
|
||||
x_40 = lean_ctor_get(x_39, 1);
|
||||
lean_inc(x_40);
|
||||
if (lean_is_exclusive(x_39)) {
|
||||
lean_ctor_release(x_39, 0);
|
||||
lean_ctor_release(x_39, 1);
|
||||
x_41 = x_39;
|
||||
} else {
|
||||
lean_dec_ref(x_39);
|
||||
x_41 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_41)) {
|
||||
x_42 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_42 = x_41;
|
||||
}
|
||||
lean_ctor_set(x_42, 0, x_9);
|
||||
lean_ctor_set(x_42, 1, x_40);
|
||||
return x_42;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
|
||||
lean_dec(x_9);
|
||||
x_43 = lean_ctor_get(x_39, 0);
|
||||
lean_inc(x_43);
|
||||
x_44 = lean_ctor_get(x_39, 1);
|
||||
lean_inc(x_44);
|
||||
if (lean_is_exclusive(x_39)) {
|
||||
lean_ctor_release(x_39, 0);
|
||||
lean_ctor_release(x_39, 1);
|
||||
x_45 = x_39;
|
||||
} else {
|
||||
lean_dec_ref(x_39);
|
||||
x_45 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_45)) {
|
||||
x_46 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_46 = x_45;
|
||||
}
|
||||
lean_ctor_set(x_46, 0, x_43);
|
||||
lean_ctor_set(x_46, 1, x_44);
|
||||
return x_46;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_47;
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
x_47 = !lean_is_exclusive(x_6);
|
||||
if (x_47 == 0)
|
||||
{
|
||||
return x_6;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_48; lean_object* x_49; lean_object* x_50;
|
||||
x_48 = lean_ctor_get(x_6, 0);
|
||||
x_49 = lean_ctor_get(x_6, 1);
|
||||
lean_inc(x_49);
|
||||
lean_inc(x_48);
|
||||
lean_dec(x_6);
|
||||
x_50 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_50, 0, x_48);
|
||||
lean_ctor_set(x_50, 1, x_49);
|
||||
return x_50;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__3(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_6; lean_object* x_7;
|
||||
x_6 = lean_box(0);
|
||||
x_7 = lean_alloc_ctor(0, 2, 0);
|
||||
|
|
@ -669,7 +917,7 @@ static lean_object* _init_l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___close
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__1___boxed), 5, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__2___boxed), 5, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -677,7 +925,7 @@ static lean_object* _init_l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___close
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__2___boxed), 5, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__3___boxed), 5, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -735,11 +983,12 @@ return x_4;
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_6; lean_object* x_7;
|
||||
x_6 = lean_unbox(x_1);
|
||||
lean_dec(x_1);
|
||||
x_7 = l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__1(x_6, x_2, x_3, x_4, x_5);
|
||||
return x_7;
|
||||
lean_object* x_6;
|
||||
x_6 = l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__1(x_1, x_2, x_3, x_4, x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
|
|
@ -749,6 +998,16 @@ uint8_t x_6; lean_object* x_7;
|
|||
x_6 = lean_unbox(x_1);
|
||||
lean_dec(x_1);
|
||||
x_7 = l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__2(x_6, x_2, x_3, x_4, x_5);
|
||||
return x_7;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_6; lean_object* x_7;
|
||||
x_6 = lean_unbox(x_1);
|
||||
lean_dec(x_1);
|
||||
x_7 = l_Lean_Elab_Term_Quotation_mkPrecheckAttribute___lambda__3(x_6, x_2, x_3, x_4, x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
|
|
|
|||
601
stage0/stdlib/Lean/Elab/Structure.c
generated
601
stage0/stdlib/Lean/Elab/Structure.c
generated
File diff suppressed because it is too large
Load diff
4
stage0/stdlib/Lean/Elab/SyntheticMVars.c
generated
4
stage0/stdlib/Lean/Elab/SyntheticMVars.c
generated
|
|
@ -154,6 +154,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_
|
|||
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_RBNode_appendTrees___rarg(lean_object*, lean_object*);
|
||||
static lean_object* l_List_filterAuxM___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSyntheticMVarsStep___spec__1___lambda__2___closed__4;
|
||||
lean_object* l_Lean_logAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__8(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_filterAuxM___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeUsingDefaultPrio_synthesizeUsingInstancesStep___spec__1(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_SyntheticMVars_0__Lean_Elab_Term_synthesizeSomeUsingDefaultPrio_visit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_mvar___override(lean_object*);
|
||||
|
|
@ -348,7 +349,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_runPending
|
|||
LEAN_EXPORT lean_object* l_Lean_getDelayedMVarAssignment_x3f___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_resumePostponed___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_SyntheticMVars___hyg_7508____closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_mkHashSet___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__1(lean_object*);
|
||||
lean_object* l_Lean_logAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__4(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__11___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_reportStuckSyntheticMVar___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -10350,7 +10350,7 @@ x_25 = lean_ctor_get(x_20, 0);
|
|||
lean_inc(x_25);
|
||||
lean_dec(x_20);
|
||||
x_26 = 2;
|
||||
x_27 = l_Lean_logAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__4(x_25, x_23, x_26, x_8, x_9, x_10, x_11, x_12, x_13, x_24);
|
||||
x_27 = l_Lean_logAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__8(x_25, x_23, x_26, x_8, x_9, x_10, x_11, x_12, x_13, x_24);
|
||||
lean_dec(x_25);
|
||||
x_28 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_28);
|
||||
|
|
|
|||
2209
stage0/stdlib/Lean/Elab/Term.c
generated
2209
stage0/stdlib/Lean/Elab/Term.c
generated
File diff suppressed because it is too large
Load diff
556
stage0/stdlib/Lean/Elab/Util.c
generated
556
stage0/stdlib/Lean/Elab/Util.c
generated
|
|
@ -35,13 +35,10 @@ static lean_object* l___auto____x40_Lean_Elab_Util___hyg_844____closed__9;
|
|||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__3;
|
||||
lean_object* l_Lean_Macro_getCurrNamespace(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_MacroScopesView_format___boxed(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7;
|
||||
LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_liftMacroM___spec__3___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__12;
|
||||
lean_object* l_String_toFormat(lean_object*);
|
||||
lean_object* lean_array_uget(lean_object*, size_t);
|
||||
uint8_t l_Lean_Elab_isAbortExceptionId(lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__3;
|
||||
lean_object* l_Lean_toMessageList(lean_object*);
|
||||
lean_object* l_Lean_getRefPos___rarg(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_maxRecDepthErrorMessage;
|
||||
|
|
@ -50,6 +47,7 @@ static lean_object* l_Lean_Elab_mkMacroAttributeUnsafe___closed__3;
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_throwErrorWithNestedErrors(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_MacroScopesView_format(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_addMacroStack___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_addConstInfo___at_Lean_registerInitAttrUnsafe___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___auto____x40_Lean_Elab_Util___hyg_844____closed__11;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_nestedExceptionToMessageData___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -58,14 +56,12 @@ LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__12(lean_object*
|
|||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_370____closed__6;
|
||||
lean_object* lean_st_ref_get(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_nestedExceptionToMessageData___rarg___lambda__1___closed__1;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__4;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_name_eq(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_logException___rarg___lambda__1___closed__3;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__13;
|
||||
lean_object* l_Lean_Elab_throwUnsupportedSyntax___rarg(lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__5;
|
||||
lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__5;
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_throwErrorWithNestedErrors___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_array_push(lean_object*, lean_object*);
|
||||
|
|
@ -77,13 +73,11 @@ static lean_object* l_Lean_Elab_logException___rarg___lambda__1___closed__2;
|
|||
lean_object* l_Lean_KeyedDeclsAttribute_getEntries___rarg(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_throwErrorWithNestedErrors___rarg___lambda__1___closed__2;
|
||||
static lean_object* l_Lean_Elab_expandMacroImpl_x3f___closed__1;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__14;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_instMonadMacroAdapter___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__18;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__15;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_expandMacroImpl_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_checkSyntaxNodeKind___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___auto____x40_Lean_Elab_Util___hyg_844_;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__9;
|
||||
static lean_object* l_Lean_Elab_expandMacroImpl_x3f___closed__2;
|
||||
static lean_object* l_Lean_Elab_logException___rarg___lambda__1___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_logException(lean_object*);
|
||||
|
|
@ -95,6 +89,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_addMacroStack___rarg___lambda__1(lean_objec
|
|||
lean_object* lean_nat_add(lean_object*, lean_object*);
|
||||
static lean_object* l___auto____x40_Lean_Elab_Util___hyg_844____closed__6;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__11;
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__11;
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__4___closed__1;
|
||||
lean_object* l_Lean_mkAppN(lean_object*, lean_object*);
|
||||
|
|
@ -102,18 +97,13 @@ LEAN_EXPORT lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__2(lean_obj
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___auto____x40_Lean_Elab_Util___hyg_844____closed__25;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1421____closed__1;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_370____closed__3;
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__6;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkMacroAttributeUnsafe___closed__6;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__16;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1421____closed__2;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_370____closed__5;
|
||||
static lean_object* l_Lean_Elab_nestedExceptionToMessageData___rarg___lambda__1___closed__4;
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__4___closed__2;
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__1;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__7;
|
||||
uint8_t l_Lean_Option_get___at_Lean_getSanitizeNames___spec__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
||||
|
|
@ -122,6 +112,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_expandMacroImpl_x3f___lambda__1(lean_object
|
|||
static lean_object* l___auto____x40_Lean_Elab_Util___hyg_844____closed__17;
|
||||
LEAN_EXPORT uint8_t l_Lean_Elab_getBetterRef___lambda__1(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_expandMacroImpl_x3f(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1371____closed__1;
|
||||
lean_object* l_Lean_addTrace___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_Elab_liftMacroM___spec__2___rarg(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_logException___rarg___lambda__1___closed__4;
|
||||
|
|
@ -130,7 +121,6 @@ static lean_object* l_Lean_Elab_syntaxNodeKindOfAttrParam___closed__2;
|
|||
LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_liftMacroM___spec__3___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_logException___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__2;
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__2;
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__12;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___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_List_forM___at_Lean_Elab_liftMacroM___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -148,29 +138,28 @@ lean_object* lean_name_append_index_after(lean_object*, lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_checkSyntaxNodeKind___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___auto____x40_Lean_Elab_Util___hyg_844____closed__21;
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__4___closed__5;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__6;
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_throwErrorWithNestedErrors___spec__1___rarg___lambda__1(size_t, lean_object*, lean_object*, lean_object*, size_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_instMonadMacroAdapter(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__17;
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___closed__2;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__1;
|
||||
lean_object* l_Nat_repr(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_expandMacroImpl_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021_(lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__8;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_370_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1421_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1371_(lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__17;
|
||||
lean_object* l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___auto____x40_Lean_Elab_Util___hyg_844____closed__8;
|
||||
uint8_t l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_1115____at___private_Lean_Parser_Types_0__Lean_Parser_beqCacheableParserContext____x40_Lean_Parser_Types___hyg_235____spec__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__14(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_mkElabAttribute___rarg___lambda__2___closed__4;
|
||||
static lean_object* l___auto____x40_Lean_Elab_Util___hyg_844____closed__19;
|
||||
lean_object* l___private_Lean_ToExpr_0__Lean_Name_toExprAux(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Syntax_prettyPrint(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_mkUnusedBaseName_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__2;
|
||||
lean_object* l_Lean_Option_register___at_Std_Format_initFn____x40_Lean_Data_Format___hyg_95____spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_isTracingEnabledFor___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Environment_contains(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -180,15 +169,15 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_throwErrorWithNes
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__5(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkMacroAttributeUnsafe___closed__1;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__1;
|
||||
static lean_object* l___auto____x40_Lean_Elab_Util___hyg_844____closed__7;
|
||||
static lean_object* l_Lean_Elab_expandOptNamedPrio___closed__3;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__17;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_checkSyntaxNodeKindAtNamespaces___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_instMonadMacroAdapter___rarg(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___auto____x40_Lean_Elab_Util___hyg_844____closed__20;
|
||||
lean_object* l_Lean_FileMap_toPosition(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__8;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_addMacroStack(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_mkElabAttribute___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Macro_hasDecl(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -201,11 +190,9 @@ lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, le
|
|||
static lean_object* l_Lean_Elab_syntaxNodeKindOfAttrParam___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_getBetterRef___lambda__1___boxed(lean_object*);
|
||||
size_t lean_usize_of_nat(lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__6;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__5___boxed(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe___closed__1;
|
||||
lean_object* l_Lean_Environment_evalConstCheck___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_addMacroStack___rarg___lambda__1___closed__3;
|
||||
static lean_object* l_Lean_Elab_throwErrorWithNestedErrors___rarg___lambda__1___closed__1;
|
||||
LEAN_EXPORT lean_object* l_liftExcept___at_Lean_Elab_liftMacroM___spec__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -213,11 +200,13 @@ lean_object* l_Lean_Syntax_unsetTrailing(lean_object*);
|
|||
static lean_object* l___auto____x40_Lean_Elab_Util___hyg_844____closed__24;
|
||||
static lean_object* l_Lean_Elab_syntaxNodeKindOfAttrParam___closed__1;
|
||||
lean_object* l_Lean_Syntax_getPos_x3f(lean_object*, uint8_t);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1371____closed__2;
|
||||
static lean_object* l_Lean_Elab_addMacroStack___rarg___lambda__1___closed__5;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___auto____x40_Lean_Elab_Util___hyg_844____closed__14;
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__4;
|
||||
lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__16;
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_throwErrorWithNestedErrors___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_throwErrorWithNestedErrors___spec__1___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*);
|
||||
static lean_object* l_List_foldl___at_Lean_Elab_addMacroStack___spec__1___closed__1;
|
||||
|
|
@ -232,6 +221,7 @@ static lean_object* l_Lean_Elab_checkSyntaxNodeKind___rarg___lambda__1___closed_
|
|||
static lean_object* l___auto____x40_Lean_Elab_Util___hyg_844____closed__18;
|
||||
LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Elab_addMacroStack___spec__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_mkElabAttribute(lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__7;
|
||||
static lean_object* l___auto____x40_Lean_Elab_Util___hyg_844____closed__5;
|
||||
static lean_object* l_Lean_Elab_mkMacroAttributeUnsafe___closed__5;
|
||||
lean_object* l_Lean_Name_append(lean_object*, lean_object*);
|
||||
|
|
@ -242,7 +232,6 @@ uint8_t l_Lean_Parser_isValidSyntaxNodeKind(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_findDocString_x3f(lean_object*, lean_object*, uint8_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_checkSyntaxNodeKind___rarg___lambda__1___closed__1;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__11;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__4(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_checkSyntaxNodeKindAtNamespaces___at_Lean_Elab_checkSyntaxNodeKindAtCurrentNamespaces___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___auto____x40_Lean_Elab_Util___hyg_844____closed__13;
|
||||
|
|
@ -264,30 +253,32 @@ static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__15;
|
|||
lean_object* l_Lean_findDeclarationRanges_x3f___at___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_List_foldl___at_Lean_MacroScopesView_review___spec__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_nestedExceptionToMessageData(lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__14;
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__14;
|
||||
uint8_t l_Lean_Syntax_isNone(lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__5;
|
||||
static lean_object* l___auto____x40_Lean_Elab_Util___hyg_844____closed__26;
|
||||
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_syntaxNodeKindOfAttrParam___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_370____closed__1;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__4;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___auto____x40_Lean_Elab_Util___hyg_844____closed__12;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_expandMacroImpl_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__9;
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__13;
|
||||
lean_object* l_Lean_logAt___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t);
|
||||
static lean_object* l_Lean_Elab_expandOptNamedPrio___closed__2;
|
||||
uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__18;
|
||||
lean_object* l_Lean_InternalExceptionId_getName___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_expandOptNamedPrio___boxed(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__13;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_checkSyntaxNodeKind___at_Lean_Elab_checkSyntaxNodeKindAtCurrentNamespaces___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_logException___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_expandOptNamedPrio___closed__1;
|
||||
lean_object* l_Lean_indentD(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__7___boxed(lean_object**);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_checkSyntaxNodeKind(lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__5;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__3;
|
||||
lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__13(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_nestedExceptionToMessageData___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -295,7 +286,6 @@ static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__10;
|
|||
lean_object* l_Lean_mkNatLit(lean_object*);
|
||||
lean_object* l_Lean_mkStrLit(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_checkSyntaxNodeKindAtCurrentNamespaces(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__3;
|
||||
static lean_object* l_Lean_Elab_mkMacroAttributeUnsafe___closed__2;
|
||||
lean_object* l_Lean_log___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t);
|
||||
LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_liftMacroM___spec__3___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -316,13 +306,16 @@ LEAN_EXPORT lean_object* l_Lean_Elab_nestedExceptionToMessageData___rarg___lambd
|
|||
static lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_syntaxNodeKindOfAttrParam(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_evalPrio(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__10;
|
||||
static lean_object* l_Lean_Elab_mkMacroAttributeUnsafe___closed__4;
|
||||
lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Syntax_reprint(lean_object*);
|
||||
static lean_object* l___auto____x40_Lean_Elab_Util___hyg_844____closed__10;
|
||||
LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_liftMacroM___spec__3___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__15;
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_370____closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_throwErrorWithNestedErrors___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__12;
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_throwErrorWithNestedErrors___spec__1(lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__7;
|
||||
lean_object* l_Lean_Exception_toMessageData(lean_object*);
|
||||
|
|
@ -330,7 +323,6 @@ static lean_object* l_Lean_Elab_addMacroStack___rarg___lambda__1___closed__4;
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_mkUnusedBaseName(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_checkSyntaxNodeKind___at_Lean_Elab_checkSyntaxNodeKindAtCurrentNamespaces___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__10;
|
||||
uint8_t lean_string_dec_eq(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Attribute_Builtin_getId(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_mkMacroAttributeUnsafe(lean_object*, lean_object*);
|
||||
|
|
@ -1716,84 +1708,6 @@ lean_ctor_set(x_6, 1, x_5);
|
|||
return x_6;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__1;
|
||||
x_2 = lean_alloc_ctor(0, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__2;
|
||||
x_2 = lean_unsigned_to_nat(0u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
lean_ctor_set(x_3, 1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = lean_unsigned_to_nat(32u);
|
||||
x_2 = lean_mk_empty_array_with_capacity(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4;
|
||||
x_2 = lean_alloc_ctor(0, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__6() {
|
||||
_start:
|
||||
{
|
||||
size_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = 5;
|
||||
x_2 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__5;
|
||||
x_3 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4;
|
||||
x_4 = lean_unsigned_to_nat(0u);
|
||||
x_5 = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
|
||||
lean_ctor_set(x_5, 0, x_2);
|
||||
lean_ctor_set(x_5, 1, x_3);
|
||||
lean_ctor_set(x_5, 2, x_4);
|
||||
lean_ctor_set(x_5, 3, x_4);
|
||||
lean_ctor_set_usize(x_5, 4, x_1);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__3;
|
||||
x_2 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__6;
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
lean_ctor_set(x_3, 1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__2(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -1855,168 +1769,190 @@ return x_14;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33;
|
||||
lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
lean_free_object(x_14);
|
||||
x_21 = lean_unsigned_to_nat(1u);
|
||||
x_22 = l_Lean_Syntax_getArg(x_3, x_21);
|
||||
lean_dec(x_3);
|
||||
x_23 = lean_box(0);
|
||||
x_24 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_24, 0, x_23);
|
||||
lean_ctor_set(x_24, 1, x_22);
|
||||
x_25 = lean_box(0);
|
||||
x_26 = lean_box(0);
|
||||
lean_inc(x_8);
|
||||
x_27 = l_Lean_Expr_const___override(x_8, x_26);
|
||||
x_28 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7;
|
||||
x_29 = 0;
|
||||
x_30 = lean_alloc_ctor(0, 4, 1);
|
||||
lean_ctor_set(x_30, 0, x_24);
|
||||
lean_ctor_set(x_30, 1, x_28);
|
||||
lean_ctor_set(x_30, 2, x_25);
|
||||
lean_ctor_set(x_30, 3, x_27);
|
||||
lean_ctor_set_uint8(x_30, sizeof(void*)*4, x_29);
|
||||
x_31 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_31, 0, x_30);
|
||||
x_32 = l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15(x_31, x_4, x_5, x_17);
|
||||
x_24 = l_Lean_Elab_addConstInfo___at_Lean_registerInitAttrUnsafe___spec__13(x_22, x_8, x_23, x_4, x_5, x_17);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
x_33 = !lean_is_exclusive(x_32);
|
||||
if (x_33 == 0)
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
{
|
||||
lean_object* x_34;
|
||||
x_34 = lean_ctor_get(x_32, 0);
|
||||
lean_dec(x_34);
|
||||
lean_ctor_set(x_32, 0, x_8);
|
||||
uint8_t x_25;
|
||||
x_25 = !lean_is_exclusive(x_24);
|
||||
if (x_25 == 0)
|
||||
{
|
||||
lean_object* x_26;
|
||||
x_26 = lean_ctor_get(x_24, 0);
|
||||
lean_dec(x_26);
|
||||
lean_ctor_set(x_24, 0, x_8);
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_27; lean_object* x_28;
|
||||
x_27 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_27);
|
||||
lean_dec(x_24);
|
||||
x_28 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_28, 0, x_8);
|
||||
lean_ctor_set(x_28, 1, x_27);
|
||||
return x_28;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_29;
|
||||
lean_dec(x_8);
|
||||
x_29 = !lean_is_exclusive(x_24);
|
||||
if (x_29 == 0)
|
||||
{
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_30; lean_object* x_31; lean_object* x_32;
|
||||
x_30 = lean_ctor_get(x_24, 0);
|
||||
x_31 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_31);
|
||||
lean_inc(x_30);
|
||||
lean_dec(x_24);
|
||||
x_32 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_32, 0, x_30);
|
||||
lean_ctor_set(x_32, 1, x_31);
|
||||
return x_32;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36;
|
||||
x_35 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_35);
|
||||
lean_dec(x_32);
|
||||
x_36 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_8);
|
||||
lean_ctor_set(x_36, 1, x_35);
|
||||
return x_36;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_37; lean_object* x_38; lean_object* x_39; uint8_t x_40;
|
||||
x_37 = lean_ctor_get(x_14, 0);
|
||||
x_38 = lean_ctor_get(x_14, 1);
|
||||
lean_inc(x_38);
|
||||
lean_inc(x_37);
|
||||
lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36;
|
||||
x_33 = lean_ctor_get(x_14, 0);
|
||||
x_34 = lean_ctor_get(x_14, 1);
|
||||
lean_inc(x_34);
|
||||
lean_inc(x_33);
|
||||
lean_dec(x_14);
|
||||
x_39 = lean_ctor_get(x_37, 6);
|
||||
lean_inc(x_39);
|
||||
lean_dec(x_37);
|
||||
x_35 = lean_ctor_get(x_33, 6);
|
||||
lean_inc(x_35);
|
||||
lean_dec(x_33);
|
||||
lean_inc(x_8);
|
||||
x_40 = l_Lean_Environment_contains(x_13, x_8);
|
||||
if (x_40 == 0)
|
||||
x_36 = l_Lean_Environment_contains(x_13, x_8);
|
||||
if (x_36 == 0)
|
||||
{
|
||||
lean_object* x_41;
|
||||
lean_dec(x_39);
|
||||
lean_object* x_37;
|
||||
lean_dec(x_35);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
x_41 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_41, 0, x_8);
|
||||
lean_ctor_set(x_41, 1, x_38);
|
||||
return x_41;
|
||||
x_37 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_37, 0, x_8);
|
||||
lean_ctor_set(x_37, 1, x_34);
|
||||
return x_37;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_42;
|
||||
x_42 = lean_ctor_get_uint8(x_39, sizeof(void*)*2);
|
||||
lean_dec(x_39);
|
||||
if (x_42 == 0)
|
||||
uint8_t x_38;
|
||||
x_38 = lean_ctor_get_uint8(x_35, sizeof(void*)*2);
|
||||
lean_dec(x_35);
|
||||
if (x_38 == 0)
|
||||
{
|
||||
lean_object* x_43;
|
||||
lean_object* x_39;
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
x_43 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_43, 0, x_8);
|
||||
lean_ctor_set(x_43, 1, x_38);
|
||||
return x_43;
|
||||
x_39 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_8);
|
||||
lean_ctor_set(x_39, 1, x_34);
|
||||
return x_39;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
|
||||
x_44 = lean_unsigned_to_nat(1u);
|
||||
x_45 = l_Lean_Syntax_getArg(x_3, x_44);
|
||||
lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
|
||||
x_40 = lean_unsigned_to_nat(1u);
|
||||
x_41 = l_Lean_Syntax_getArg(x_3, x_40);
|
||||
lean_dec(x_3);
|
||||
x_46 = lean_box(0);
|
||||
x_47 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_47, 0, x_46);
|
||||
lean_ctor_set(x_47, 1, x_45);
|
||||
x_48 = lean_box(0);
|
||||
x_49 = lean_box(0);
|
||||
x_42 = lean_box(0);
|
||||
lean_inc(x_8);
|
||||
x_50 = l_Lean_Expr_const___override(x_8, x_49);
|
||||
x_51 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7;
|
||||
x_52 = 0;
|
||||
x_53 = lean_alloc_ctor(0, 4, 1);
|
||||
lean_ctor_set(x_53, 0, x_47);
|
||||
lean_ctor_set(x_53, 1, x_51);
|
||||
lean_ctor_set(x_53, 2, x_48);
|
||||
lean_ctor_set(x_53, 3, x_50);
|
||||
lean_ctor_set_uint8(x_53, sizeof(void*)*4, x_52);
|
||||
x_54 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_54, 0, x_53);
|
||||
x_55 = l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15(x_54, x_4, x_5, x_38);
|
||||
x_43 = l_Lean_Elab_addConstInfo___at_Lean_registerInitAttrUnsafe___spec__13(x_41, x_8, x_42, x_4, x_5, x_34);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
x_56 = lean_ctor_get(x_55, 1);
|
||||
lean_inc(x_56);
|
||||
if (lean_is_exclusive(x_55)) {
|
||||
lean_ctor_release(x_55, 0);
|
||||
lean_ctor_release(x_55, 1);
|
||||
x_57 = x_55;
|
||||
if (lean_obj_tag(x_43) == 0)
|
||||
{
|
||||
lean_object* x_44; lean_object* x_45; lean_object* x_46;
|
||||
x_44 = lean_ctor_get(x_43, 1);
|
||||
lean_inc(x_44);
|
||||
if (lean_is_exclusive(x_43)) {
|
||||
lean_ctor_release(x_43, 0);
|
||||
lean_ctor_release(x_43, 1);
|
||||
x_45 = x_43;
|
||||
} else {
|
||||
lean_dec_ref(x_55);
|
||||
x_57 = lean_box(0);
|
||||
lean_dec_ref(x_43);
|
||||
x_45 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_57)) {
|
||||
x_58 = lean_alloc_ctor(0, 2, 0);
|
||||
if (lean_is_scalar(x_45)) {
|
||||
x_46 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_58 = x_57;
|
||||
x_46 = x_45;
|
||||
}
|
||||
lean_ctor_set(x_46, 0, x_8);
|
||||
lean_ctor_set(x_46, 1, x_44);
|
||||
return x_46;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
|
||||
lean_dec(x_8);
|
||||
x_47 = lean_ctor_get(x_43, 0);
|
||||
lean_inc(x_47);
|
||||
x_48 = lean_ctor_get(x_43, 1);
|
||||
lean_inc(x_48);
|
||||
if (lean_is_exclusive(x_43)) {
|
||||
lean_ctor_release(x_43, 0);
|
||||
lean_ctor_release(x_43, 1);
|
||||
x_49 = x_43;
|
||||
} else {
|
||||
lean_dec_ref(x_43);
|
||||
x_49 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_49)) {
|
||||
x_50 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_50 = x_49;
|
||||
}
|
||||
lean_ctor_set(x_50, 0, x_47);
|
||||
lean_ctor_set(x_50, 1, x_48);
|
||||
return x_50;
|
||||
}
|
||||
lean_ctor_set(x_58, 0, x_8);
|
||||
lean_ctor_set(x_58, 1, x_56);
|
||||
return x_58;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_59;
|
||||
uint8_t x_51;
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
x_59 = !lean_is_exclusive(x_7);
|
||||
if (x_59 == 0)
|
||||
x_51 = !lean_is_exclusive(x_7);
|
||||
if (x_51 == 0)
|
||||
{
|
||||
return x_7;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_60; lean_object* x_61; lean_object* x_62;
|
||||
x_60 = lean_ctor_get(x_7, 0);
|
||||
x_61 = lean_ctor_get(x_7, 1);
|
||||
lean_inc(x_61);
|
||||
lean_inc(x_60);
|
||||
lean_object* x_52; lean_object* x_53; lean_object* x_54;
|
||||
x_52 = lean_ctor_get(x_7, 0);
|
||||
x_53 = lean_ctor_get(x_7, 1);
|
||||
lean_inc(x_53);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_7);
|
||||
x_62 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_62, 0, x_60);
|
||||
lean_ctor_set(x_62, 1, x_61);
|
||||
return x_62;
|
||||
x_54 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_54, 0, x_52);
|
||||
lean_ctor_set(x_54, 1, x_53);
|
||||
return x_54;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2631,7 +2567,7 @@ x_8 = l_Lean_Elab_mkElabAttribute___rarg(x_3, x_4, x_5, x_6, x_7, x_1, x_2);
|
|||
return x_8;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1421____closed__1() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1371____closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -2639,22 +2575,22 @@ x_1 = lean_mk_string_from_bytes("macroAttribute", 14);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1421____closed__2() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1371____closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
|
||||
x_1 = l_Lean_Elab_expandOptNamedPrio___closed__1;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_370____closed__6;
|
||||
x_3 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1421____closed__1;
|
||||
x_3 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1371____closed__1;
|
||||
x_4 = l_Lean_Name_mkStr3(x_1, x_2, x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1421_(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1371_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1421____closed__2;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1371____closed__2;
|
||||
x_3 = l_Lean_Elab_mkMacroAttributeUnsafe(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -4771,7 +4707,7 @@ x_8 = l_Array_mapMUnsafe_map___at_Lean_Elab_throwErrorWithNestedErrors___spec__1
|
|||
return x_8;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__1() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
|
|
@ -4781,7 +4717,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__2() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
|
|
@ -4791,17 +4727,17 @@ x_3 = l_Lean_Name_str___override(x_1, x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__3() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__2;
|
||||
x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__2;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_370____closed__6;
|
||||
x_3 = l_Lean_Name_str___override(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__4() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -4809,17 +4745,17 @@ x_1 = lean_mk_string_from_bytes("initFn", 6);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__5() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__3;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__4;
|
||||
x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__3;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__4;
|
||||
x_3 = l_Lean_Name_str___override(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__6() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -4827,37 +4763,37 @@ x_1 = lean_mk_string_from_bytes("_@", 2);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__7() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__5;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__6;
|
||||
x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__5;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__6;
|
||||
x_3 = l_Lean_Name_str___override(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__8() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__8() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__7;
|
||||
x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__7;
|
||||
x_2 = l_Lean_Elab_expandOptNamedPrio___closed__1;
|
||||
x_3 = l_Lean_Name_str___override(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__9() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__9() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__8;
|
||||
x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__8;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_370____closed__6;
|
||||
x_3 = l_Lean_Name_str___override(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__10() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__10() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -4865,17 +4801,17 @@ x_1 = lean_mk_string_from_bytes("Util", 4);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__11() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__11() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__9;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__10;
|
||||
x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__9;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__10;
|
||||
x_3 = l_Lean_Name_str___override(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__12() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__12() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -4883,27 +4819,27 @@ x_1 = lean_mk_string_from_bytes("_hyg", 4);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__13() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__13() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__11;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__12;
|
||||
x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__11;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__12;
|
||||
x_3 = l_Lean_Name_str___override(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__14() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__14() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__13;
|
||||
x_2 = lean_unsigned_to_nat(3021u);
|
||||
x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__13;
|
||||
x_2 = lean_unsigned_to_nat(2971u);
|
||||
x_3 = l_Lean_Name_num___override(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__15() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__15() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -4911,17 +4847,17 @@ x_1 = lean_mk_string_from_bytes("step", 4);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__16() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__16() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_370____closed__6;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__15;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__15;
|
||||
x_3 = l_Lean_Name_mkStr2(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__17() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__17() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -4929,24 +4865,24 @@ x_1 = lean_mk_string_from_bytes("result", 6);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__18() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__18() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
|
||||
x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_370____closed__6;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__15;
|
||||
x_3 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__17;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__15;
|
||||
x_3 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__17;
|
||||
x_4 = l_Lean_Name_mkStr3(x_1, x_2, x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021_(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__1;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__1;
|
||||
x_3 = 0;
|
||||
x_4 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__14;
|
||||
x_4 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__14;
|
||||
x_5 = l_Lean_registerTraceClass(x_2, x_3, x_4, x_1);
|
||||
if (lean_obj_tag(x_5) == 0)
|
||||
{
|
||||
|
|
@ -4954,7 +4890,7 @@ lean_object* x_6; lean_object* x_7; lean_object* x_8;
|
|||
x_6 = lean_ctor_get(x_5, 1);
|
||||
lean_inc(x_6);
|
||||
lean_dec(x_5);
|
||||
x_7 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__16;
|
||||
x_7 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__16;
|
||||
x_8 = l_Lean_registerTraceClass(x_7, x_3, x_4, x_6);
|
||||
if (lean_obj_tag(x_8) == 0)
|
||||
{
|
||||
|
|
@ -4962,7 +4898,7 @@ lean_object* x_9; lean_object* x_10; uint8_t x_11; lean_object* x_12;
|
|||
x_9 = lean_ctor_get(x_8, 1);
|
||||
lean_inc(x_9);
|
||||
lean_dec(x_8);
|
||||
x_10 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__18;
|
||||
x_10 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__18;
|
||||
x_11 = 1;
|
||||
x_12 = l_Lean_registerTraceClass(x_10, x_11, x_4, x_9);
|
||||
return x_12;
|
||||
|
|
@ -5154,20 +5090,6 @@ l___auto____x40_Lean_Elab_Util___hyg_844____closed__27 = _init_l___auto____x40_L
|
|||
lean_mark_persistent(l___auto____x40_Lean_Elab_Util___hyg_844____closed__27);
|
||||
l___auto____x40_Lean_Elab_Util___hyg_844_ = _init_l___auto____x40_Lean_Elab_Util___hyg_844_();
|
||||
lean_mark_persistent(l___auto____x40_Lean_Elab_Util___hyg_844_);
|
||||
l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__1 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__1);
|
||||
l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__2 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__2);
|
||||
l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__3 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__3);
|
||||
l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4);
|
||||
l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__5 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__5();
|
||||
lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__5);
|
||||
l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__6 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__6();
|
||||
lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__6);
|
||||
l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7();
|
||||
lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7);
|
||||
l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__1 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__1);
|
||||
l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__2 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__2();
|
||||
|
|
@ -5228,11 +5150,11 @@ l_Lean_Elab_mkMacroAttributeUnsafe___closed__5 = _init_l_Lean_Elab_mkMacroAttrib
|
|||
lean_mark_persistent(l_Lean_Elab_mkMacroAttributeUnsafe___closed__5);
|
||||
l_Lean_Elab_mkMacroAttributeUnsafe___closed__6 = _init_l_Lean_Elab_mkMacroAttributeUnsafe___closed__6();
|
||||
lean_mark_persistent(l_Lean_Elab_mkMacroAttributeUnsafe___closed__6);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1421____closed__1 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1421____closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1421____closed__1);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1421____closed__2 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1421____closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1421____closed__2);
|
||||
if (builtin) {res = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1421_(lean_io_mk_world());
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1371____closed__1 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1371____closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1371____closed__1);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1371____closed__2 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1371____closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1371____closed__2);
|
||||
if (builtin) {res = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1371_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
l_Lean_Elab_macroAttribute = lean_io_result_get_value(res);
|
||||
lean_mark_persistent(l_Lean_Elab_macroAttribute);
|
||||
|
|
@ -5261,43 +5183,43 @@ l_Lean_Elab_throwErrorWithNestedErrors___rarg___lambda__1___closed__1 = _init_l_
|
|||
lean_mark_persistent(l_Lean_Elab_throwErrorWithNestedErrors___rarg___lambda__1___closed__1);
|
||||
l_Lean_Elab_throwErrorWithNestedErrors___rarg___lambda__1___closed__2 = _init_l_Lean_Elab_throwErrorWithNestedErrors___rarg___lambda__1___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_throwErrorWithNestedErrors___rarg___lambda__1___closed__2);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__1 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__1);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__2 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__2);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__3 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__3);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__4 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__4);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__5 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__5();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__5);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__6 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__6();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__6);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__7 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__7();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__7);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__8 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__8();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__8);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__9 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__9();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__9);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__10 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__10();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__10);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__11 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__11();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__11);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__12 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__12();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__12);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__13 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__13();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__13);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__14 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__14();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__14);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__15 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__15();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__15);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__16 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__16();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__16);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__17 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__17();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__17);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__18 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__18();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021____closed__18);
|
||||
res = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_3021_(lean_io_mk_world());
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__1 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__1);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__2 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__2);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__3 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__3);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__4 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__4);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__5 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__5();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__5);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__6 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__6();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__6);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__7 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__7();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__7);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__8 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__8();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__8);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__9 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__9();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__9);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__10 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__10();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__10);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__11 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__11();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__11);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__12 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__12();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__12);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__13 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__13();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__13);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__14 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__14();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__14);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__15 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__15();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__15);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__16 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__16();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__16);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__17 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__17();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__17);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__18 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__18();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971____closed__18);
|
||||
res = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_2971_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
|
|
|
|||
590
stage0/stdlib/Lean/KeyedDeclsAttribute.c
generated
590
stage0/stdlib/Lean/KeyedDeclsAttribute.c
generated
File diff suppressed because it is too large
Load diff
7351
stage0/stdlib/Lean/Meta/ACLt.c
generated
7351
stage0/stdlib/Lean/Meta/ACLt.c
generated
File diff suppressed because it is too large
Load diff
4
stage0/stdlib/Lean/Meta/Tactic/Contradiction.c
generated
4
stage0/stdlib/Lean/Meta/Tactic/Contradiction.c
generated
|
|
@ -122,6 +122,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Contradiction_Config_searchFuel___default;
|
|||
lean_object* l_Nat_repr(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_commitWhen___at_Lean_Meta_ElimEmptyInductive_elim___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_ElimEmptyInductive_elim___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_panic___at_Lean_Meta_ACLt_main_lexSameCtor___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_elimEmptyInductive___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_ElimEmptyInductive_elim___lambda__3___closed__1;
|
||||
lean_object* l_Lean_Meta_mkAbsurd(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -234,7 +235,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Contradictio
|
|||
static lean_object* l_Lean_MVarId_contradictionCore___closed__4;
|
||||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_MVarId_contradictionCore___spec__4___lambda__3___closed__2;
|
||||
lean_object* lean_mk_array(lean_object*, lean_object*);
|
||||
lean_object* l_panic___at_Lean_Meta_ACLt_lt_lexSameCtor___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_mkGenDiseqMask___boxed(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_ElimEmptyInductive_elim___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_forallMetaTelescope(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -5098,7 +5098,7 @@ lean_dec(x_8);
|
|||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_10 = l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___closed__6;
|
||||
x_11 = l_panic___at_Lean_Meta_ACLt_lt_lexSameCtor___spec__1(x_10, x_3, x_4, x_5, x_6, x_7);
|
||||
x_11 = l_panic___at_Lean_Meta_ACLt_main_lexSameCtor___spec__1(x_10, x_3, x_4, x_5, x_6, x_7);
|
||||
return x_11;
|
||||
}
|
||||
else
|
||||
|
|
|
|||
235
stage0/stdlib/Lean/Meta/Tactic/Simp/Rewrite.c
generated
235
stage0/stdlib/Lean/Meta/Tactic/Simp/Rewrite.c
generated
|
|
@ -38,7 +38,6 @@ static lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_
|
|||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewritePost___spec__1(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_array_uget(lean_object*, size_t);
|
||||
static lean_object* l_Lean_Meta_Simp_rewrite_x3f___closed__3;
|
||||
lean_object* l_Lean_Meta_ACLt_lt(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withNewMCtxDepth___at_Lean_Meta_Simp_tryTheoremWithExtraArgs_x3f___spec__2(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simpMatchCore_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Simp_rewriteCtorEq_x3f___lambda__1___closed__4;
|
||||
|
|
@ -248,6 +247,7 @@ static lean_object* l_Lean_Meta_Simp_rewriteUsingDecide_x3f___closed__13;
|
|||
LEAN_EXPORT lean_object* l_Lean_Meta_Simp_preDefault(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__6;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Simp_tryTheoremWithExtraArgs_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_ACLt_main_lt(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Simp_tryTheorem_x3f(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_mkConstWithLevelParams___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_removeUnusedArguments_x3f___spec__2___rarg(lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -7205,144 +7205,145 @@ return x_16;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_17;
|
||||
uint8_t x_17; lean_object* x_18;
|
||||
x_17 = 1;
|
||||
lean_inc(x_12);
|
||||
lean_inc(x_11);
|
||||
lean_inc(x_10);
|
||||
lean_inc(x_9);
|
||||
lean_inc(x_5);
|
||||
lean_inc(x_2);
|
||||
x_17 = l_Lean_Meta_ACLt_lt(x_2, x_5, x_9, x_10, x_11, x_12, x_13);
|
||||
if (lean_obj_tag(x_17) == 0)
|
||||
x_18 = l_Lean_Meta_ACLt_main_lt(x_17, x_2, x_5, x_9, x_10, x_11, x_12, x_13);
|
||||
if (lean_obj_tag(x_18) == 0)
|
||||
{
|
||||
lean_object* x_18; uint8_t x_19;
|
||||
x_18 = lean_ctor_get(x_17, 0);
|
||||
lean_inc(x_18);
|
||||
x_19 = lean_unbox(x_18);
|
||||
lean_dec(x_18);
|
||||
if (x_19 == 0)
|
||||
lean_object* x_19; uint8_t x_20;
|
||||
x_19 = lean_ctor_get(x_18, 0);
|
||||
lean_inc(x_19);
|
||||
x_20 = lean_unbox(x_19);
|
||||
lean_dec(x_19);
|
||||
if (x_20 == 0)
|
||||
{
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26;
|
||||
lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27;
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_1);
|
||||
x_20 = lean_ctor_get(x_17, 1);
|
||||
lean_inc(x_20);
|
||||
lean_dec(x_17);
|
||||
x_21 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__2;
|
||||
x_22 = l_Lean_isTracingEnabledFor___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1(x_21, x_7, x_8, x_9, x_10, x_11, x_12, x_20);
|
||||
x_23 = lean_ctor_get(x_22, 0);
|
||||
lean_inc(x_23);
|
||||
x_24 = lean_ctor_get(x_22, 1);
|
||||
x_21 = lean_ctor_get(x_18, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_18);
|
||||
x_22 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__2;
|
||||
x_23 = l_Lean_isTracingEnabledFor___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1(x_22, x_7, x_8, x_9, x_10, x_11, x_12, x_21);
|
||||
x_24 = lean_ctor_get(x_23, 0);
|
||||
lean_inc(x_24);
|
||||
lean_dec(x_22);
|
||||
x_25 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__1;
|
||||
x_26 = lean_unbox(x_23);
|
||||
x_25 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_25);
|
||||
lean_dec(x_23);
|
||||
if (x_26 == 0)
|
||||
x_26 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__1;
|
||||
x_27 = lean_unbox(x_24);
|
||||
lean_dec(x_24);
|
||||
if (x_27 == 0)
|
||||
{
|
||||
lean_object* x_27; lean_object* x_28;
|
||||
lean_object* x_28; lean_object* x_29;
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_2);
|
||||
x_27 = lean_box(0);
|
||||
x_28 = lean_apply_8(x_25, x_27, x_7, x_8, x_9, x_10, x_11, x_12, x_24);
|
||||
return x_28;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_29;
|
||||
x_29 = l_Lean_Meta_ppSimpTheorem___at___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___spec__1(x_4, x_7, x_8, x_9, x_10, x_11, x_12, x_24);
|
||||
if (lean_obj_tag(x_29) == 0)
|
||||
{
|
||||
lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
|
||||
x_30 = lean_ctor_get(x_29, 0);
|
||||
lean_inc(x_30);
|
||||
x_31 = lean_ctor_get(x_29, 1);
|
||||
lean_inc(x_31);
|
||||
lean_dec(x_29);
|
||||
x_32 = l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__8;
|
||||
x_33 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_33, 0, x_32);
|
||||
lean_ctor_set(x_33, 1, x_30);
|
||||
x_34 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__3;
|
||||
x_35 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_35, 0, x_33);
|
||||
lean_ctor_set(x_35, 1, x_34);
|
||||
x_36 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_36, 0, x_5);
|
||||
x_37 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_37, 0, x_35);
|
||||
lean_ctor_set(x_37, 1, x_36);
|
||||
x_38 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__6;
|
||||
x_39 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_37);
|
||||
lean_ctor_set(x_39, 1, x_38);
|
||||
x_40 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_40, 0, x_2);
|
||||
x_41 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_41, 0, x_39);
|
||||
lean_ctor_set(x_41, 1, x_40);
|
||||
x_42 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_42, 0, x_41);
|
||||
lean_ctor_set(x_42, 1, x_32);
|
||||
x_43 = l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__6(x_21, x_42, x_7, x_8, x_9, x_10, x_11, x_12, x_31);
|
||||
x_44 = lean_ctor_get(x_43, 0);
|
||||
lean_inc(x_44);
|
||||
x_45 = lean_ctor_get(x_43, 1);
|
||||
lean_inc(x_45);
|
||||
lean_dec(x_43);
|
||||
x_46 = lean_apply_8(x_25, x_44, x_7, x_8, x_9, x_10, x_11, x_12, x_45);
|
||||
return x_46;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_47;
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_2);
|
||||
x_47 = !lean_is_exclusive(x_29);
|
||||
if (x_47 == 0)
|
||||
{
|
||||
x_28 = lean_box(0);
|
||||
x_29 = lean_apply_8(x_26, x_28, x_7, x_8, x_9, x_10, x_11, x_12, x_25);
|
||||
return x_29;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_48; lean_object* x_49; lean_object* x_50;
|
||||
x_48 = lean_ctor_get(x_29, 0);
|
||||
x_49 = lean_ctor_get(x_29, 1);
|
||||
lean_object* x_30;
|
||||
x_30 = l_Lean_Meta_ppSimpTheorem___at___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___spec__1(x_4, x_7, x_8, x_9, x_10, x_11, x_12, x_25);
|
||||
if (lean_obj_tag(x_30) == 0)
|
||||
{
|
||||
lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
|
||||
x_31 = lean_ctor_get(x_30, 0);
|
||||
lean_inc(x_31);
|
||||
x_32 = lean_ctor_get(x_30, 1);
|
||||
lean_inc(x_32);
|
||||
lean_dec(x_30);
|
||||
x_33 = l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__8;
|
||||
x_34 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_34, 0, x_33);
|
||||
lean_ctor_set(x_34, 1, x_31);
|
||||
x_35 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__3;
|
||||
x_36 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_34);
|
||||
lean_ctor_set(x_36, 1, x_35);
|
||||
x_37 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_37, 0, x_5);
|
||||
x_38 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_38, 0, x_36);
|
||||
lean_ctor_set(x_38, 1, x_37);
|
||||
x_39 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__6;
|
||||
x_40 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_40, 0, x_38);
|
||||
lean_ctor_set(x_40, 1, x_39);
|
||||
x_41 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_41, 0, x_2);
|
||||
x_42 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_42, 0, x_40);
|
||||
lean_ctor_set(x_42, 1, x_41);
|
||||
x_43 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_43, 0, x_42);
|
||||
lean_ctor_set(x_43, 1, x_33);
|
||||
x_44 = l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__6(x_22, x_43, x_7, x_8, x_9, x_10, x_11, x_12, x_32);
|
||||
x_45 = lean_ctor_get(x_44, 0);
|
||||
lean_inc(x_45);
|
||||
x_46 = lean_ctor_get(x_44, 1);
|
||||
lean_inc(x_46);
|
||||
lean_dec(x_44);
|
||||
x_47 = lean_apply_8(x_26, x_45, x_7, x_8, x_9, x_10, x_11, x_12, x_46);
|
||||
return x_47;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_48;
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_2);
|
||||
x_48 = !lean_is_exclusive(x_30);
|
||||
if (x_48 == 0)
|
||||
{
|
||||
return x_30;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_49; lean_object* x_50; lean_object* x_51;
|
||||
x_49 = lean_ctor_get(x_30, 0);
|
||||
x_50 = lean_ctor_get(x_30, 1);
|
||||
lean_inc(x_50);
|
||||
lean_inc(x_49);
|
||||
lean_inc(x_48);
|
||||
lean_dec(x_29);
|
||||
x_50 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_50, 0, x_48);
|
||||
lean_ctor_set(x_50, 1, x_49);
|
||||
return x_50;
|
||||
lean_dec(x_30);
|
||||
x_51 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_51, 0, x_49);
|
||||
lean_ctor_set(x_51, 1, x_50);
|
||||
return x_51;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_51; lean_object* x_52; lean_object* x_53;
|
||||
x_51 = lean_ctor_get(x_17, 1);
|
||||
lean_inc(x_51);
|
||||
lean_dec(x_17);
|
||||
x_52 = lean_box(0);
|
||||
x_53 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3(x_1, x_2, x_3, x_4, x_5, x_52, x_7, x_8, x_9, x_10, x_11, x_12, x_51);
|
||||
lean_object* x_52; lean_object* x_53; lean_object* x_54;
|
||||
x_52 = lean_ctor_get(x_18, 1);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_18);
|
||||
x_53 = lean_box(0);
|
||||
x_54 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3(x_1, x_2, x_3, x_4, x_5, x_53, x_7, x_8, x_9, x_10, x_11, x_12, x_52);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_8);
|
||||
return x_53;
|
||||
return x_54;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_54;
|
||||
uint8_t x_55;
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
|
|
@ -7354,23 +7355,23 @@ lean_dec(x_4);
|
|||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_54 = !lean_is_exclusive(x_17);
|
||||
if (x_54 == 0)
|
||||
x_55 = !lean_is_exclusive(x_18);
|
||||
if (x_55 == 0)
|
||||
{
|
||||
return x_17;
|
||||
return x_18;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_55; lean_object* x_56; lean_object* x_57;
|
||||
x_55 = lean_ctor_get(x_17, 0);
|
||||
x_56 = lean_ctor_get(x_17, 1);
|
||||
lean_object* x_56; lean_object* x_57; lean_object* x_58;
|
||||
x_56 = lean_ctor_get(x_18, 0);
|
||||
x_57 = lean_ctor_get(x_18, 1);
|
||||
lean_inc(x_57);
|
||||
lean_inc(x_56);
|
||||
lean_inc(x_55);
|
||||
lean_dec(x_17);
|
||||
x_57 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_57, 0, x_55);
|
||||
lean_ctor_set(x_57, 1, x_56);
|
||||
return x_57;
|
||||
lean_dec(x_18);
|
||||
x_58 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_58, 0, x_56);
|
||||
lean_ctor_set(x_58, 1, x_57);
|
||||
return x_58;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
689
stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c
generated
689
stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c
generated
File diff suppressed because it is too large
Load diff
843
stage0/stdlib/Lean/PrettyPrinter/Formatter.c
generated
843
stage0/stdlib/Lean/PrettyPrinter/Formatter.c
generated
File diff suppressed because it is too large
Load diff
1227
stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c
generated
1227
stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c
generated
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue