chore: update stage0
This commit is contained in:
parent
fdfa3fc0de
commit
1fd70334ab
39 changed files with 73985 additions and 66055 deletions
|
|
@ -39,10 +39,23 @@ UInt32.decLt _ _
|
|||
instance decLe (a b : Char) : Decidable (a ≤ b) :=
|
||||
UInt32.decLe _ _
|
||||
|
||||
axiom isValidChar0 : isValidChar 0
|
||||
abbrev isValidCharNat (n : Nat) : Prop :=
|
||||
n < 0xd800 ∨ (0xdfff < n ∧ n < 0x110000)
|
||||
|
||||
theorem isValidUInt32 (n : Nat) (h : isValidCharNat n) : n < uint32Sz :=
|
||||
sorry -- TODO: waiting for new frontend
|
||||
|
||||
theorem isValidCharOfValidNat (n : Nat) (h : isValidCharNat n) : isValidChar (UInt32.ofNat' n (isValidUInt32 n h)) :=
|
||||
sorry -- TODO: waiting for new frontend
|
||||
|
||||
theorem isValidChar0 : isValidChar 0 :=
|
||||
sorry -- TODO: waiting for new frontend
|
||||
|
||||
@[noinline, matchPattern] def ofNat (n : Nat) : Char :=
|
||||
if h : isValidChar n.toUInt32 then {val := n.toUInt32, valid := h} else {val := 0, valid := isValidChar0}
|
||||
if h : isValidCharNat n then
|
||||
{ val := UInt32.ofNat' n (isValidUInt32 n h), valid := isValidCharOfValidNat n h }
|
||||
else
|
||||
{ val := 0, valid := isValidChar0 }
|
||||
|
||||
@[inline] def toNat (c : Char) : Nat :=
|
||||
c.val.toNat
|
||||
|
|
|
|||
|
|
@ -136,6 +136,8 @@ structure UInt32 :=
|
|||
|
||||
@[extern "lean_uint32_of_nat"]
|
||||
def UInt32.ofNat (n : @& Nat) : UInt32 := ⟨Fin.ofNat n⟩
|
||||
@[extern "lean_uint32_of_nat"]
|
||||
def UInt32.ofNat' (n : Nat) (h : n < uint32Sz) : UInt32 := ⟨⟨n, h⟩⟩
|
||||
abbrev Nat.toUInt32 := UInt32.ofNat
|
||||
@[extern "lean_uint32_to_nat"]
|
||||
def UInt32.toNat (n : UInt32) : Nat := n.val.val
|
||||
|
|
|
|||
|
|
@ -88,24 +88,35 @@ else
|
|||
else
|
||||
throwUnsupportedSyntax
|
||||
|
||||
private def getBinderIds (ids : Syntax) : TermElabM (Array Syntax) :=
|
||||
ids.getArgs.mapM $ fun id =>
|
||||
let k := id.getKind;
|
||||
if k == identKind || k == `Lean.Parser.Term.hole then
|
||||
pure id
|
||||
else if k == `Lean.Parser.Term.id && id.getArgs.size == 2 && (id.getArg 1).isNone then
|
||||
-- The parser never generates this case, but it is convenient when writting macros.
|
||||
pure (id.getArg 0)
|
||||
else
|
||||
throwError id "identifier or `_` expected"
|
||||
|
||||
private def matchBinder (stx : Syntax) : TermElabM (Array BinderView) :=
|
||||
match stx with
|
||||
| Syntax.node k args =>
|
||||
if k == `Lean.Parser.Term.simpleBinder then
|
||||
if k == `Lean.Parser.Term.simpleBinder then do
|
||||
-- binderIdent+
|
||||
let ids := (args.get! 0).getArgs;
|
||||
ids ← getBinderIds (args.get! 0);
|
||||
let type := mkHole stx;
|
||||
ids.mapM $ fun id => do id ← expandBinderIdent id; pure { id := id, type := type, bi := BinderInfo.default }
|
||||
else if k == `Lean.Parser.Term.explicitBinder then do
|
||||
-- `(` binderIdent+ binderType (binderDefault <|> binderTactic)? `)`
|
||||
let ids := (args.get! 1).getArgs;
|
||||
ids ← getBinderIds (args.get! 1);
|
||||
let type := expandBinderType (args.get! 2);
|
||||
let optModifier := args.get! 3;
|
||||
type ← expandBinderModifier type optModifier;
|
||||
ids.mapM $ fun id => do id ← expandBinderIdent id; pure { id := id, type := type, bi := BinderInfo.default }
|
||||
else if k == `Lean.Parser.Term.implicitBinder then
|
||||
else if k == `Lean.Parser.Term.implicitBinder then do
|
||||
-- `{` binderIdent+ binderType `}`
|
||||
let ids := (args.get! 1).getArgs;
|
||||
ids ← getBinderIds (args.get! 1);
|
||||
let type := expandBinderType (args.get! 2);
|
||||
ids.mapM $ fun id => do id ← expandBinderIdent id; pure { id := id, type := type, bi := BinderInfo.implicit }
|
||||
else if k == `Lean.Parser.Term.instBinder then do
|
||||
|
|
|
|||
|
|
@ -119,14 +119,18 @@ addDecl ref decl;
|
|||
compileDecl ref decl;
|
||||
pure auxName
|
||||
|
||||
private def elabClosedTerm (stx : Syntax) (expectedType? : Option Expr) : TermElabM Expr := do
|
||||
e ← elabTermAndSynthesize stx expectedType?;
|
||||
when e.hasMVar $
|
||||
throwError stx ("invalid macro application, term contains metavariables" ++ indentExpr e);
|
||||
when e.hasFVar $
|
||||
throwError stx ("invalid macro application, term contains free variables" ++ indentExpr e);
|
||||
pure e
|
||||
|
||||
@[builtinTermElab «nativeRefl»] def elabNativeRefl : TermElab :=
|
||||
fun stx _ => do
|
||||
let arg := stx.getArg 1;
|
||||
e ← elabTermAndSynthesize arg none;
|
||||
when e.hasMVar $
|
||||
throwError stx ("invalid `nativeRefl!` macro application, term contains metavariables" ++ indentExpr e);
|
||||
when e.hasFVar $
|
||||
throwError stx ("invalid `nativeRefl!` macro application, term contains free variables" ++ indentExpr e);
|
||||
e ← elabClosedTerm arg none;
|
||||
type ← inferType stx e;
|
||||
type ← whnf stx type;
|
||||
unless (type.isConstOf `Bool || type.isConstOf `Nat) $
|
||||
|
|
@ -144,7 +148,41 @@ fun stx _ => do
|
|||
rflPrf ← liftMetaM stx $ Meta.mkEqRefl val;
|
||||
let r := mkApp3 (Lean.mkConst reduceThm) aux val rflPrf;
|
||||
eq ← liftMetaM stx $ Meta.mkEq e val;
|
||||
pure $ mkApp2 (Lean.mkConst `id [levelZero]) eq r
|
||||
mkExpectedTypeHint stx r eq
|
||||
|
||||
private def getPropToDecide (ref : Syntax) (arg : Syntax) (expectedType? : Option Expr) : TermElabM Expr :=
|
||||
if arg.isOfKind `Lean.Parser.Term.hole then do
|
||||
tryPostponeIfNoneOrMVar expectedType?;
|
||||
match expectedType? with
|
||||
| none => throwError ref "invalid macro, expected type is not available"
|
||||
| some expectedType => do
|
||||
expectedType ← instantiateMVars ref expectedType;
|
||||
when (expectedType.hasFVar || expectedType.hasMVar) $
|
||||
throwError ref ("expected type must not contain free or meta variables" ++ indentExpr expectedType);
|
||||
pure expectedType
|
||||
else
|
||||
let prop := mkSort levelZero;
|
||||
elabClosedTerm arg prop
|
||||
|
||||
@[builtinTermElab «nativeDecide»] def elabNativeDecide : TermElab :=
|
||||
fun stx expectedType? => do
|
||||
let arg := stx.getArg 1;
|
||||
p ← getPropToDecide stx arg expectedType?;
|
||||
d ← mkAppM stx `Decidable.decide #[p];
|
||||
auxDeclName ← mkNativeReflAuxDecl stx (Lean.mkConst `Bool) d;
|
||||
rflPrf ← liftMetaM stx $ Meta.mkEqRefl (toExpr true);
|
||||
let r := mkApp3 (Lean.mkConst `Lean.ofReduceBool) (Lean.mkConst auxDeclName) (toExpr true) rflPrf;
|
||||
mkExpectedTypeHint stx r p
|
||||
|
||||
@[builtinTermElab Lean.Parser.Term.decide] def elabDecide : TermElab :=
|
||||
fun stx expectedType? => do
|
||||
let arg := stx.getArg 1;
|
||||
p ← getPropToDecide stx arg expectedType?;
|
||||
d ← mkAppM stx `Decidable.decide #[p];
|
||||
d ← instantiateMVars stx d;
|
||||
let s := d.appArg!; -- get instance from `d`
|
||||
rflPrf ← liftMetaM stx $ Meta.mkEqRefl (toExpr true);
|
||||
pure $ mkApp3 (Lean.mkConst `ofDecideEqTrue) p s rflPrf
|
||||
|
||||
def elabInfix (f : Syntax) : Macro :=
|
||||
fun stx => do
|
||||
|
|
|
|||
|
|
@ -200,6 +200,15 @@ logInfo ref $
|
|||
opts ← getOptions;
|
||||
when (checkTraceOption opts cls) $ logTrace cls ref (msg ())
|
||||
|
||||
def logDbgTrace (msg : MessageData) : TermElabM Unit := do
|
||||
trace `Elab.debug Syntax.missing $ fun _ => msg
|
||||
|
||||
/-- For testing `TermElabM` methods. The #eval command will sign the error. -/
|
||||
def throwErrorIfErrors : TermElabM Unit := do
|
||||
s ← get;
|
||||
when s.messages.hasErrors $
|
||||
throwError Syntax.missing "Error(s)"
|
||||
|
||||
@[inline] def traceAtCmdPos (cls : Name) (msg : Unit → MessageData) : TermElabM Unit :=
|
||||
trace cls Syntax.missing msg
|
||||
|
||||
|
|
@ -255,6 +264,7 @@ def mkLambda (ref : Syntax) (xs : Array Expr) (e : Expr) : TermElabM Expr := lif
|
|||
def mkLet (ref : Syntax) (x : Expr) (e : Expr) : TermElabM Expr := mkLambda ref #[x] e
|
||||
def trySynthInstance (ref : Syntax) (type : Expr) : TermElabM (LOption Expr) := liftMetaM ref $ Meta.trySynthInstance type
|
||||
def mkAppM (ref : Syntax) (constName : Name) (args : Array Expr) : TermElabM Expr := liftMetaM ref $ Meta.mkAppM constName args
|
||||
def mkExpectedTypeHint (ref : Syntax) (e : Expr) (expectedType : Expr) : TermElabM Expr := liftMetaM ref $ Meta.mkExpectedTypeHint e expectedType
|
||||
def decLevel? (ref : Syntax) (u : Level) : TermElabM (Option Level) := liftMetaM ref $ Meta.decLevel? u
|
||||
|
||||
def decLevel (ref : Syntax) (u : Level) : TermElabM Level := do
|
||||
|
|
@ -1141,11 +1151,40 @@ fun stx _ =>
|
|||
| some val => pure $ toExpr val
|
||||
| none => throwError stx "ill-formed syntax"
|
||||
|
||||
instance MetaHasEval {α} [MetaHasEval α] : MetaHasEval (TermElabM α) :=
|
||||
⟨fun env opts x => do
|
||||
let ctx : Context := {
|
||||
config := { opts := opts },
|
||||
fileName := "<TermElabM>",
|
||||
fileMap := arbitrary _,
|
||||
cmdPos := 0,
|
||||
currNamespace := Name.anonymous,
|
||||
currRecDepth := 0,
|
||||
maxRecDepth := getMaxRecDepth opts
|
||||
};
|
||||
let showMessages (s : State) : IO Unit := do {
|
||||
s.messages.forM $ fun m => IO.println $ format m
|
||||
};
|
||||
match x ctx { env := env } with
|
||||
| EStateM.Result.ok a s => do
|
||||
showMessages s;
|
||||
MetaHasEval.eval s.env opts a
|
||||
| EStateM.Result.error (Exception.ex (Elab.Exception.error err)) s => do
|
||||
showMessages s;
|
||||
throw (IO.userError (toString (format err)))
|
||||
| EStateM.Result.error (Exception.ex Elab.Exception.unsupportedSyntax) s => do
|
||||
showMessages s;
|
||||
throw (IO.userError "error: unsupported syntax")
|
||||
| EStateM.Result.error Exception.postpone s => do
|
||||
showMessages s;
|
||||
throw (IO.userError "error: elaborator posponed")⟩
|
||||
|
||||
end Term
|
||||
|
||||
@[init] private def regTraceClasses : IO Unit := do
|
||||
registerTraceClass `Elab.postpone;
|
||||
registerTraceClass `Elab.coe;
|
||||
registerTraceClass `Elab.debug;
|
||||
pure ()
|
||||
|
||||
export Term (TermElabM)
|
||||
|
|
|
|||
|
|
@ -3,34 +3,18 @@ Copyright (c) 2019 Microsoft Corporation. All rights reserved.
|
|||
Released under Apache 2.0 license as described in the file LICENSE.
|
||||
Authors: Leonardo de Moura
|
||||
-/
|
||||
import Init.Lean.Util.Recognizers
|
||||
import Init.Lean.Meta.SynthInstance
|
||||
|
||||
namespace Lean
|
||||
|
||||
@[inline] def Expr.eq? (p : Expr) : Option (Expr × Expr × Expr) :=
|
||||
if p.isAppOfArity `Eq 3 then
|
||||
some (p.getArg! 0, p.getArg! 1, p.getArg! 2)
|
||||
else
|
||||
none
|
||||
|
||||
@[inline] def Expr.iff? (p : Expr) : Option (Expr × Expr) :=
|
||||
if p.isAppOfArity `Iff 2 then
|
||||
some (p.getArg! 0, p.getArg! 1)
|
||||
else
|
||||
none
|
||||
|
||||
@[inline] def Expr.heq? (p : Expr) : Option (Expr × Expr × Expr × Expr) :=
|
||||
if p.isAppOfArity `HEq 4 then
|
||||
some (p.getArg! 0, p.getArg! 1, p.getArg! 2, p.getArg! 4)
|
||||
else
|
||||
none
|
||||
|
||||
@[inline] def Expr.arrow? : Expr → Option (Expr × Expr)
|
||||
| Expr.forallE _ α β _ => if β.hasLooseBVars then none else some (α, β)
|
||||
| _ => none
|
||||
|
||||
namespace Meta
|
||||
|
||||
/-- Given `e` s.t. `inferType e` is definitionally equal to `expectedType`, return
|
||||
term `@id expectedType e`. -/
|
||||
def mkExpectedTypeHint (e : Expr) (expectedType : Expr) : MetaM Expr := do
|
||||
u ← getLevel expectedType;
|
||||
pure $ mkApp2 (mkConst `id [u]) expectedType e
|
||||
|
||||
def mkEq (a b : Expr) : MetaM Expr := do
|
||||
aType ← inferType a;
|
||||
u ← getLevel aType;
|
||||
|
|
|
|||
|
|
@ -108,6 +108,7 @@ structure Cache :=
|
|||
(inferType : PersistentExprStructMap Expr := {})
|
||||
(funInfo : PersistentHashMap InfoCacheKey FunInfo := {})
|
||||
(synthInstance : PersistentHashMap Expr (Option Expr) := {})
|
||||
(whnfDefault : PersistentExprStructMap Expr := {}) -- cache for closed terms and `TransparencyMode.default`
|
||||
|
||||
structure Context :=
|
||||
(config : Config := {})
|
||||
|
|
@ -810,8 +811,9 @@ mctx' ← getMCtx;
|
|||
modify $ fun s => { mctx := mctx, .. s };
|
||||
finally x (modify $ fun s => { mctx := mctx', .. s })
|
||||
|
||||
@[init] private def regTraceClasses : IO Unit :=
|
||||
registerTraceClass `Meta
|
||||
@[init] private def regTraceClasses : IO Unit := do
|
||||
registerTraceClass `Meta;
|
||||
registerTraceClass `Meta.debug
|
||||
|
||||
def run {α} (env : Environment) (x : MetaM α) (maxRecDepth := 10000) : Except Exception α :=
|
||||
match x { maxRecDepth := maxRecDepth, currRecDepth := 0 } { env := env } with
|
||||
|
|
|
|||
|
|
@ -16,12 +16,12 @@ namespace Meta
|
|||
def replaceTargetEq (mvarId : MVarId) (newTarget : Expr) (eqProof : Expr) : MetaM MVarId := do
|
||||
withMVarContext mvarId $ do
|
||||
checkNotAssigned mvarId `replaceTarget;
|
||||
tag ← getMVarTag mvarId;
|
||||
newMVar ← mkFreshExprSyntheticOpaqueMVar newTarget tag;
|
||||
target ← getMVarType mvarId;
|
||||
u ← getLevel target;
|
||||
eq ← mkEq target newTarget;
|
||||
let newProof := mkApp2 (mkConst `id [levelZero]) eq eqProof; -- checkpoint for eqProof
|
||||
tag ← getMVarTag mvarId;
|
||||
newMVar ← mkFreshExprSyntheticOpaqueMVar newTarget tag;
|
||||
target ← getMVarType mvarId;
|
||||
u ← getLevel target;
|
||||
eq ← mkEq target newTarget;
|
||||
newProof ← mkExpectedTypeHint eqProof eq;
|
||||
let newVal := mkAppN (Lean.mkConst `Eq.mpr [u]) #[target, newTarget, eqProof, newMVar];
|
||||
assignExprMVar mvarId newMVar;
|
||||
pure newMVar.mvarId!
|
||||
|
|
@ -41,8 +41,7 @@ withMVarContext mvarId $ do
|
|||
else do
|
||||
tag ← getMVarTag mvarId;
|
||||
newMVar ← mkFreshExprSyntheticOpaqueMVar newTarget tag;
|
||||
u ← getLevel target;
|
||||
let newVal := mkApp2 (Lean.mkConst `id [u]) target newMVar;
|
||||
newVal ← mkExpectedTypeHint newMVar target;
|
||||
assignExprMVar mvarId newMVar;
|
||||
pure newMVar.mvarId!
|
||||
|
||||
|
|
|
|||
|
|
@ -85,21 +85,46 @@ else match e with
|
|||
else pure none
|
||||
| _ => pure none
|
||||
|
||||
|
||||
@[inline] private def useWHNFCache (e : Expr) : MetaM Bool := do
|
||||
-- We cache only consed terms
|
||||
if e.hasFVar then pure false
|
||||
else do
|
||||
ctx ← read;
|
||||
pure $ ctx.config.transparency == TransparencyMode.default
|
||||
|
||||
@[inline] private def cached? (useCache : Bool) (e : Expr) : MetaM (Option Expr) := do
|
||||
if useCache then do
|
||||
s ← get;
|
||||
pure $ s.cache.whnfDefault.find? e
|
||||
else
|
||||
pure none
|
||||
|
||||
private def cache (useCache : Bool) (e r : Expr) : MetaM Expr := do
|
||||
when useCache $
|
||||
modify $ fun s => { cache := { whnfDefault := s.cache.whnfDefault.insert e r, .. s.cache }, .. s };
|
||||
pure r
|
||||
|
||||
partial def whnfImpl : Expr → MetaM Expr
|
||||
| e => Lean.WHNF.whnfEasyCases getLocalDecl getExprMVarAssignment? e $ fun e => do
|
||||
e ← whnfCore e;
|
||||
v? ← reduceNat? e;
|
||||
match v? with
|
||||
| some v => pure v
|
||||
| none => do
|
||||
v? ← reduceNative? e;
|
||||
useCache ← useWHNFCache e;
|
||||
e? ← cached? useCache e;
|
||||
match e? with
|
||||
| some e' => pure e'
|
||||
| none => do
|
||||
e' ← whnfCore e;
|
||||
v? ← reduceNat? e';
|
||||
match v? with
|
||||
| some v => pure v
|
||||
| none => do
|
||||
e? ← unfoldDefinition? e;
|
||||
match e? with
|
||||
| some e => whnfImpl e
|
||||
| none => pure e
|
||||
| some v => cache useCache e v
|
||||
| none => do
|
||||
v? ← reduceNative? e';
|
||||
match v? with
|
||||
| some v => cache useCache e v
|
||||
| none => do
|
||||
e? ← unfoldDefinition? e';
|
||||
match e? with
|
||||
| some e => whnfImpl e
|
||||
| none => cache useCache e e'
|
||||
|
||||
@[init] def setWHNFRef : IO Unit :=
|
||||
whnfRef.set whnfImpl
|
||||
|
|
|
|||
|
|
@ -210,7 +210,9 @@ def checkIsSort := checkStackTop (fun stx => stx.isOfKind `Lean.Parser.Term.type
|
|||
@[builtinTermParser] def tacticBlock := parser! symbol "begin " appPrec >> Tactic.seq >> "end"
|
||||
@[builtinTermParser] def byTactic := parser! symbol "by " leadPrec >> Tactic.nonEmptySeq
|
||||
-- Use `unboxSingleton` trick similar to the one used at Command.lean for `Term.stxQuot`
|
||||
@[builtinTermParser] def tacticStxQuot : Parser := node `Lean.Parser.Term.stxQuot $ symbol "`(tactic|" appPrec >> sepBy1 tacticParser "; " true true >> ")"
|
||||
@[builtinTermParser] def tacticStxQuot : Parser := node `Lean.Parser.Term.stxQuot $ symbol "`(tactic|" appPrec >> sepBy1 tacticParser "; " true true >> ")"
|
||||
@[builtinTermParser] def levelStxQuot : Parser := node `Lean.Parser.Term.stxQuot $ symbol "`(level|" appPrec >> levelParser >> ")"
|
||||
@[builtinTermParser] def funBinderStxQuot : Parser := node `Lean.Parser.Term.stxQuot $ symbol "`(funBinder|" appPrec >> funBinder >> ")"
|
||||
|
||||
end Term
|
||||
end Parser
|
||||
|
|
|
|||
71
stage0/src/Init/Lean/Util/Recognizers.lean
Normal file
71
stage0/src/Init/Lean/Util/Recognizers.lean
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
/-
|
||||
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
|
||||
Released under Apache 2.0 license as described in the file LICENSE.
|
||||
Authors: Leonardo de Moura
|
||||
-/
|
||||
prelude
|
||||
import Init.Lean.Expr
|
||||
|
||||
namespace Lean
|
||||
namespace Expr
|
||||
|
||||
@[inline] def app1? (e : Expr) (fName : Name) : Option Expr :=
|
||||
if e.isAppOfArity fName 1 then
|
||||
some $ e.appArg!
|
||||
else
|
||||
none
|
||||
|
||||
@[inline] def app2? (e : Expr) (fName : Name) : Option (Expr × Expr) :=
|
||||
if e.isAppOfArity fName 2 then
|
||||
some $ (e.appFn!.appArg!, e.appArg!)
|
||||
else
|
||||
none
|
||||
|
||||
@[inline] def app3? (e : Expr) (fName : Name) : Option (Expr × Expr × Expr) :=
|
||||
if e.isAppOfArity fName 3 then
|
||||
some $ (e.appFn!.appFn!.appArg!, e.appFn!.appArg!, e.appArg!)
|
||||
else
|
||||
none
|
||||
|
||||
@[inline] def app4? (e : Expr) (fName : Name) : Option (Expr × Expr × Expr × Expr) :=
|
||||
if e.isAppOfArity fName 4 then
|
||||
some $ (e.appFn!.appFn!.appFn!.appArg!, e.appFn!.appFn!.appArg!, e.appFn!.appArg!, e.appArg!)
|
||||
else
|
||||
none
|
||||
|
||||
@[inline] def eq? (p : Expr) : Option (Expr × Expr × Expr) :=
|
||||
p.app3? `Eq
|
||||
|
||||
@[inline] def iff? (p : Expr) : Option (Expr × Expr) :=
|
||||
p.app2? `Iff
|
||||
|
||||
@[inline] def heq? (p : Expr) : Option (Expr × Expr × Expr × Expr) :=
|
||||
p.app4? `HEq
|
||||
|
||||
@[inline] def arrow? : Expr → Option (Expr × Expr)
|
||||
| Expr.forallE _ α β _ => if β.hasLooseBVars then none else some (α, β)
|
||||
| _ => none
|
||||
|
||||
partial def listLitAux : Expr → List Expr → Option (List Expr)
|
||||
| e, acc =>
|
||||
if e.isAppOfArity `List.nil 1 then
|
||||
some acc.reverse
|
||||
else if e.isAppOfArity `List.cons 3 then
|
||||
listLitAux e.appArg! (e.appFn!.appArg! :: acc)
|
||||
else
|
||||
none
|
||||
|
||||
def listLit? (e : Expr) : Option (List Expr) :=
|
||||
listLitAux e []
|
||||
|
||||
def arrayLit? (e : Expr) : Option (List Expr) :=
|
||||
match e.app2? `List.toArray with
|
||||
| some (_, e) => e.listLit?
|
||||
| none => none
|
||||
|
||||
/-- Recognize `α × β` -/
|
||||
def prod? (e : Expr) : Option (Expr × Expr) :=
|
||||
e.app2? `Prod
|
||||
|
||||
end Expr
|
||||
end Lean
|
||||
|
|
@ -1126,7 +1126,7 @@ expr nat_lit_to_constructor(expr const & e) {
|
|||
}
|
||||
|
||||
expr string_lit_to_constructor(expr const & e) {
|
||||
lean_assert(is_str_lit(e));
|
||||
lean_assert(is_string_lit(e));
|
||||
string_ref const & s = lit_value(e).get_string();
|
||||
buffer<unsigned> cs;
|
||||
utf8_decode(s.to_std_string(), cs);
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -20,7 +20,6 @@ uint8_t l_Char_isUpper(uint32_t);
|
|||
uint8_t l_Char_isDigit(uint32_t);
|
||||
uint8_t l_Char_isWhitespace(uint32_t);
|
||||
lean_object* l_Char_toNat___boxed(lean_object*);
|
||||
uint32_t lean_uint32_of_nat(lean_object*);
|
||||
lean_object* lean_nat_add(lean_object*, lean_object*);
|
||||
uint8_t l_Char_lt(uint32_t, uint32_t);
|
||||
lean_object* l_Char_toNat(uint32_t);
|
||||
|
|
@ -33,6 +32,7 @@ uint8_t l_Char_isLower(uint32_t);
|
|||
lean_object* l_Char_HasSizeof(uint32_t);
|
||||
lean_object* l_Char_isAlphanum___boxed(lean_object*);
|
||||
uint32_t l_Char_Inhabited;
|
||||
uint32_t lean_uint32_of_nat(lean_object*);
|
||||
lean_object* l_Char_isWhitespace___boxed(lean_object*);
|
||||
uint8_t l_Char_isAlpha(uint32_t);
|
||||
lean_object* l_Char_decLt___boxed(lean_object*, lean_object*);
|
||||
|
|
@ -52,6 +52,7 @@ uint8_t l_UInt32_decLe(uint32_t, uint32_t);
|
|||
lean_object* lean_uint32_to_nat(uint32_t);
|
||||
lean_object* l_Char_decLe___boxed(lean_object*, lean_object*);
|
||||
uint32_t l_Char_ofNat(lean_object*);
|
||||
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
|
||||
lean_object* l_Char_isDigit___boxed(lean_object*);
|
||||
lean_object* l_Char_HasSizeof(uint32_t x_1) {
|
||||
_start:
|
||||
|
|
@ -206,41 +207,46 @@ return x_6;
|
|||
uint32_t l_Char_ofNat(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
uint32_t x_2; uint32_t x_3; uint8_t x_4;
|
||||
x_2 = lean_uint32_of_nat(x_1);
|
||||
x_3 = 55296;
|
||||
x_4 = x_2 < x_3;
|
||||
if (x_4 == 0)
|
||||
lean_object* x_2; uint8_t x_3;
|
||||
x_2 = lean_unsigned_to_nat(55296u);
|
||||
x_3 = lean_nat_dec_lt(x_1, x_2);
|
||||
if (x_3 == 0)
|
||||
{
|
||||
uint32_t x_5; uint8_t x_6;
|
||||
x_5 = 57343;
|
||||
x_6 = x_5 < x_2;
|
||||
if (x_6 == 0)
|
||||
lean_object* x_4; uint8_t x_5;
|
||||
x_4 = lean_unsigned_to_nat(57343u);
|
||||
x_5 = lean_nat_dec_lt(x_4, x_1);
|
||||
if (x_5 == 0)
|
||||
{
|
||||
uint32_t x_7;
|
||||
x_7 = 0;
|
||||
return x_7;
|
||||
uint32_t x_6;
|
||||
lean_dec(x_1);
|
||||
x_6 = 0;
|
||||
return x_6;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint32_t x_8; uint8_t x_9;
|
||||
x_8 = 1114112;
|
||||
x_9 = x_2 < x_8;
|
||||
if (x_9 == 0)
|
||||
lean_object* x_7; uint8_t x_8;
|
||||
x_7 = lean_unsigned_to_nat(1114112u);
|
||||
x_8 = lean_nat_dec_lt(x_1, x_7);
|
||||
if (x_8 == 0)
|
||||
{
|
||||
uint32_t x_9;
|
||||
lean_dec(x_1);
|
||||
x_9 = 0;
|
||||
return x_9;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint32_t x_10;
|
||||
x_10 = 0;
|
||||
x_10 = lean_uint32_of_nat(x_1);
|
||||
return x_10;
|
||||
}
|
||||
else
|
||||
{
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return x_2;
|
||||
uint32_t x_11;
|
||||
x_11 = lean_uint32_of_nat(x_1);
|
||||
return x_11;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -249,7 +255,6 @@ _start:
|
|||
{
|
||||
uint32_t x_2; lean_object* x_3;
|
||||
x_2 = l_Char_ofNat(x_1);
|
||||
lean_dec(x_1);
|
||||
x_3 = lean_box_uint32(x_2);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -530,7 +535,6 @@ x_7 = lean_unsigned_to_nat(32u);
|
|||
x_8 = lean_nat_add(x_2, x_7);
|
||||
lean_dec(x_2);
|
||||
x_9 = l_Char_ofNat(x_8);
|
||||
lean_dec(x_8);
|
||||
return x_9;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -105,6 +105,7 @@ lean_object* l_UInt8_ofNat___boxed(lean_object*);
|
|||
uint32_t l_UInt32_add(uint32_t, uint32_t);
|
||||
size_t l_UInt64_toUSize(uint64_t);
|
||||
uint32_t l_UInt32_div(uint32_t, uint32_t);
|
||||
lean_object* l_UInt32_ofNat_x27___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_USize_ofNat___boxed(lean_object*);
|
||||
lean_object* l_UInt32_HasDiv___closed__1;
|
||||
lean_object* l_USize_shiftRight___boxed(lean_object*, lean_object*);
|
||||
|
|
@ -173,6 +174,7 @@ lean_object* l_UInt32_div___boxed(lean_object*, lean_object*);
|
|||
lean_object* l_USize_hasDecidableLt___boxed(lean_object*, lean_object*);
|
||||
uint64_t l_UInt64_mod(uint64_t, uint64_t);
|
||||
lean_object* l_UInt16_add___boxed(lean_object*, lean_object*);
|
||||
uint32_t lean_uint32_of_nat(lean_object*);
|
||||
uint64_t l_UInt64_mul(uint64_t, uint64_t);
|
||||
lean_object* l_UInt32_HasMod___closed__1;
|
||||
size_t l_USize_land(size_t, size_t);
|
||||
|
|
@ -1139,6 +1141,15 @@ x_3 = lean_box_uint32(x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_UInt32_ofNat_x27___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
uint32_t x_3; lean_object* x_4;
|
||||
x_3 = lean_uint32_of_nat(x_1);
|
||||
x_4 = lean_box_uint32(x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
uint32_t l_Nat_toUInt32(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -43,6 +43,7 @@ lean_object* l_Lean_Elab_Term_ProcessedDoElem_inhabited___closed__1;
|
|||
lean_object* l___private_Init_Lean_Elab_DoNotation_9__extractTypeFormerAppArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Parser_Term_liftMethod___elambda__1___closed__2;
|
||||
lean_object* l_Lean_Elab_Term_mkLambda(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__2;
|
||||
lean_object* lean_array_push(lean_object*, lean_object*);
|
||||
lean_object* lean_array_get_size(lean_object*);
|
||||
uint8_t l___private_Init_Lean_Elab_DoNotation_4__hasLiftMethod(lean_object*);
|
||||
|
|
@ -51,6 +52,7 @@ extern lean_object* l___private_Init_Lean_Elab_Term_5__expandCDot___main___close
|
|||
lean_object* l_Lean_Elab_Term_synthesizeInst(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Init_Lean_Elab_DoNotation_3__getDoElems___boxed(lean_object*);
|
||||
lean_object* l___private_Init_Lean_Elab_DoNotation_11__processDoElemsAux___main___closed__6;
|
||||
extern lean_object* l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__7;
|
||||
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Parser_Term_do___elambda__1___closed__2;
|
||||
lean_object* l___private_Init_Lean_Elab_DoNotation_5__expandLiftMethodAux___main___closed__3;
|
||||
|
|
@ -75,12 +77,12 @@ lean_object* lean_nat_sub(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_Elab_Term_throwUnsupportedSyntax___rarg(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_elabTerm(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
|
||||
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__5;
|
||||
lean_object* l___private_Init_Lean_Elab_DoNotation_12__processDoElems(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__6;
|
||||
extern lean_object* l_Lean_Parser_Term_doId___elambda__1___closed__2;
|
||||
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_back___at___private_Init_Lean_Elab_DoNotation_10__mkBind___spec__1___boxed(lean_object*);
|
||||
extern lean_object* l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__2;
|
||||
extern lean_object* l___private_Init_Lean_Elab_Quotation_7__getHeadInfo___elambda__3___closed__2;
|
||||
extern lean_object* l___private_Init_Lean_Elab_Quotation_11__letBindRhss___main___closed__11;
|
||||
extern lean_object* l_Lean_Elab_Term_expandCDot_x3f___closed__3;
|
||||
|
|
@ -119,7 +121,6 @@ lean_object* l___private_Init_Lean_Elab_DoNotation_10__mkBind(lean_object*, lean
|
|||
extern lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__7;
|
||||
lean_object* lean_environment_main_module(lean_object*);
|
||||
uint8_t l_Lean_Expr_isMVar(lean_object*);
|
||||
extern lean_object* l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__7;
|
||||
extern lean_object* l_Lean_Elab_Term_elabLetDecl___closed__2;
|
||||
extern lean_object* l_Lean_Parser_Term_match___elambda__1___closed__2;
|
||||
lean_object* l_Lean_mkApp(lean_object*, lean_object*);
|
||||
|
|
@ -128,8 +129,8 @@ lean_object* l_Lean_Syntax_getArgs(lean_object*);
|
|||
lean_object* l___private_Init_Lean_Elab_DoNotation_11__processDoElemsAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Syntax_getKind(lean_object*);
|
||||
lean_object* l___private_Init_Lean_Elab_DoNotation_13__regTraceClasses(lean_object*);
|
||||
extern lean_object* l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__4;
|
||||
lean_object* lean_panic_fn(lean_object*, lean_object*);
|
||||
extern lean_object* l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__5;
|
||||
lean_object* l___regBuiltin_Lean_Elab_Term_elabDo(lean_object*);
|
||||
lean_object* l___private_Init_Lean_Elab_DoNotation_2__extractBind(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_elabType(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -147,7 +148,6 @@ extern lean_object* l_Lean_Expr_Inhabited;
|
|||
lean_object* lean_array_pop(lean_object*);
|
||||
lean_object* l___private_Init_Lean_Elab_DoNotation_7__expandDoElemsAux___main(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_elabDo(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__4;
|
||||
lean_object* l___private_Init_Lean_Elab_DoNotation_11__processDoElemsAux___main___closed__1;
|
||||
lean_object* l___private_Init_Lean_Elab_DoNotation_11__processDoElemsAux___main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Init_Lean_Elab_DoNotation_11__processDoElemsAux___main___closed__2;
|
||||
|
|
@ -2456,12 +2456,12 @@ x_164 = lean_array_push(x_130, x_163);
|
|||
x_165 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_165, 0, x_132);
|
||||
lean_ctor_set(x_165, 1, x_164);
|
||||
x_166 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__2;
|
||||
x_166 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__2;
|
||||
x_167 = lean_array_push(x_166, x_165);
|
||||
x_168 = lean_array_push(x_167, x_152);
|
||||
x_169 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__4;
|
||||
x_169 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__4;
|
||||
x_170 = lean_array_push(x_168, x_169);
|
||||
x_171 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__7;
|
||||
x_171 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__7;
|
||||
x_172 = lean_array_push(x_170, x_171);
|
||||
x_173 = lean_array_push(x_130, x_117);
|
||||
x_174 = lean_alloc_ctor(1, 2, 0);
|
||||
|
|
@ -2476,7 +2476,7 @@ x_180 = lean_alloc_ctor(1, 2, 0);
|
|||
lean_ctor_set(x_180, 0, x_179);
|
||||
lean_ctor_set(x_180, 1, x_178);
|
||||
x_181 = lean_array_push(x_130, x_180);
|
||||
x_182 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__5;
|
||||
x_182 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__5;
|
||||
x_183 = lean_array_push(x_181, x_182);
|
||||
x_184 = l___private_Init_Lean_Elab_DoNotation_7__expandDoElemsAux___main___closed__5;
|
||||
x_185 = lean_array_push(x_184, x_145);
|
||||
|
|
@ -2544,12 +2544,12 @@ x_217 = lean_array_push(x_130, x_216);
|
|||
x_218 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_218, 0, x_132);
|
||||
lean_ctor_set(x_218, 1, x_217);
|
||||
x_219 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__2;
|
||||
x_219 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__2;
|
||||
x_220 = lean_array_push(x_219, x_218);
|
||||
x_221 = lean_array_push(x_220, x_205);
|
||||
x_222 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__4;
|
||||
x_222 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__4;
|
||||
x_223 = lean_array_push(x_221, x_222);
|
||||
x_224 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__7;
|
||||
x_224 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__7;
|
||||
x_225 = lean_array_push(x_223, x_224);
|
||||
x_226 = lean_array_push(x_130, x_117);
|
||||
x_227 = lean_alloc_ctor(1, 2, 0);
|
||||
|
|
@ -2642,12 +2642,12 @@ x_274 = l_Lean_nullKind___closed__2;
|
|||
x_275 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_275, 0, x_274);
|
||||
lean_ctor_set(x_275, 1, x_273);
|
||||
x_276 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__2;
|
||||
x_276 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__2;
|
||||
x_277 = lean_array_push(x_276, x_275);
|
||||
x_278 = lean_array_push(x_277, x_261);
|
||||
x_279 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__4;
|
||||
x_279 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__4;
|
||||
x_280 = lean_array_push(x_278, x_279);
|
||||
x_281 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__7;
|
||||
x_281 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__7;
|
||||
x_282 = lean_array_push(x_280, x_281);
|
||||
x_283 = lean_array_push(x_259, x_117);
|
||||
x_284 = lean_alloc_ctor(1, 2, 0);
|
||||
|
|
@ -2662,7 +2662,7 @@ x_290 = lean_alloc_ctor(1, 2, 0);
|
|||
lean_ctor_set(x_290, 0, x_289);
|
||||
lean_ctor_set(x_290, 1, x_288);
|
||||
x_291 = lean_array_push(x_259, x_290);
|
||||
x_292 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__5;
|
||||
x_292 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__5;
|
||||
x_293 = lean_array_push(x_291, x_292);
|
||||
x_294 = l___private_Init_Lean_Elab_DoNotation_7__expandDoElemsAux___main___closed__5;
|
||||
x_295 = lean_array_push(x_294, x_252);
|
||||
|
|
@ -2735,12 +2735,12 @@ x_332 = l_Lean_nullKind___closed__2;
|
|||
x_333 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_333, 0, x_332);
|
||||
lean_ctor_set(x_333, 1, x_331);
|
||||
x_334 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__2;
|
||||
x_334 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__2;
|
||||
x_335 = lean_array_push(x_334, x_333);
|
||||
x_336 = lean_array_push(x_335, x_319);
|
||||
x_337 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__4;
|
||||
x_337 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__4;
|
||||
x_338 = lean_array_push(x_336, x_337);
|
||||
x_339 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__7;
|
||||
x_339 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__7;
|
||||
x_340 = lean_array_push(x_338, x_339);
|
||||
x_341 = lean_array_push(x_317, x_117);
|
||||
x_342 = lean_alloc_ctor(1, 2, 0);
|
||||
|
|
@ -3149,12 +3149,12 @@ x_545 = lean_array_push(x_511, x_544);
|
|||
x_546 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_546, 0, x_513);
|
||||
lean_ctor_set(x_546, 1, x_545);
|
||||
x_547 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__2;
|
||||
x_547 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__2;
|
||||
x_548 = lean_array_push(x_547, x_546);
|
||||
x_549 = lean_array_push(x_548, x_533);
|
||||
x_550 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__4;
|
||||
x_550 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__4;
|
||||
x_551 = lean_array_push(x_549, x_550);
|
||||
x_552 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__7;
|
||||
x_552 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__7;
|
||||
x_553 = lean_array_push(x_551, x_552);
|
||||
x_554 = lean_array_push(x_511, x_498);
|
||||
x_555 = lean_alloc_ctor(1, 2, 0);
|
||||
|
|
@ -3169,7 +3169,7 @@ x_561 = lean_alloc_ctor(1, 2, 0);
|
|||
lean_ctor_set(x_561, 0, x_560);
|
||||
lean_ctor_set(x_561, 1, x_559);
|
||||
x_562 = lean_array_push(x_511, x_561);
|
||||
x_563 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__5;
|
||||
x_563 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__5;
|
||||
x_564 = lean_array_push(x_562, x_563);
|
||||
x_565 = l___private_Init_Lean_Elab_DoNotation_7__expandDoElemsAux___main___closed__5;
|
||||
x_566 = lean_array_push(x_565, x_526);
|
||||
|
|
@ -3237,12 +3237,12 @@ x_598 = lean_array_push(x_511, x_597);
|
|||
x_599 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_599, 0, x_513);
|
||||
lean_ctor_set(x_599, 1, x_598);
|
||||
x_600 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__2;
|
||||
x_600 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__2;
|
||||
x_601 = lean_array_push(x_600, x_599);
|
||||
x_602 = lean_array_push(x_601, x_586);
|
||||
x_603 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__4;
|
||||
x_603 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__4;
|
||||
x_604 = lean_array_push(x_602, x_603);
|
||||
x_605 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__7;
|
||||
x_605 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__7;
|
||||
x_606 = lean_array_push(x_604, x_605);
|
||||
x_607 = lean_array_push(x_511, x_498);
|
||||
x_608 = lean_alloc_ctor(1, 2, 0);
|
||||
|
|
@ -3335,12 +3335,12 @@ x_655 = l_Lean_nullKind___closed__2;
|
|||
x_656 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_656, 0, x_655);
|
||||
lean_ctor_set(x_656, 1, x_654);
|
||||
x_657 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__2;
|
||||
x_657 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__2;
|
||||
x_658 = lean_array_push(x_657, x_656);
|
||||
x_659 = lean_array_push(x_658, x_642);
|
||||
x_660 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__4;
|
||||
x_660 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__4;
|
||||
x_661 = lean_array_push(x_659, x_660);
|
||||
x_662 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__7;
|
||||
x_662 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__7;
|
||||
x_663 = lean_array_push(x_661, x_662);
|
||||
x_664 = lean_array_push(x_640, x_498);
|
||||
x_665 = lean_alloc_ctor(1, 2, 0);
|
||||
|
|
@ -3355,7 +3355,7 @@ x_671 = lean_alloc_ctor(1, 2, 0);
|
|||
lean_ctor_set(x_671, 0, x_670);
|
||||
lean_ctor_set(x_671, 1, x_669);
|
||||
x_672 = lean_array_push(x_640, x_671);
|
||||
x_673 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__5;
|
||||
x_673 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__5;
|
||||
x_674 = lean_array_push(x_672, x_673);
|
||||
x_675 = l___private_Init_Lean_Elab_DoNotation_7__expandDoElemsAux___main___closed__5;
|
||||
x_676 = lean_array_push(x_675, x_633);
|
||||
|
|
@ -3428,12 +3428,12 @@ x_713 = l_Lean_nullKind___closed__2;
|
|||
x_714 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_714, 0, x_713);
|
||||
lean_ctor_set(x_714, 1, x_712);
|
||||
x_715 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__2;
|
||||
x_715 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__2;
|
||||
x_716 = lean_array_push(x_715, x_714);
|
||||
x_717 = lean_array_push(x_716, x_700);
|
||||
x_718 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__4;
|
||||
x_718 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__4;
|
||||
x_719 = lean_array_push(x_717, x_718);
|
||||
x_720 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__7;
|
||||
x_720 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__7;
|
||||
x_721 = lean_array_push(x_719, x_720);
|
||||
x_722 = lean_array_push(x_698, x_498);
|
||||
x_723 = lean_alloc_ctor(1, 2, 0);
|
||||
|
|
|
|||
|
|
@ -131,7 +131,6 @@ lean_object* l_Lean_Elab_Term_Quotation_HeadInfo_Inhabited___closed__2;
|
|||
lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__23;
|
||||
extern lean_object* l_Lean_Parser_Term_num___elambda__1___closed__1;
|
||||
lean_object* l_List_range(lean_object*);
|
||||
extern lean_object* l_Lean_listToExpr___rarg___closed__8;
|
||||
lean_object* l___private_Init_Lean_Elab_Quotation_8__explodeHeadPat___lambda__1___closed__2;
|
||||
lean_object* lean_string_utf8_extract(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_back___at_Lean_Parser_checkStackTopFn___spec__1(lean_object*);
|
||||
|
|
@ -175,7 +174,6 @@ extern lean_object* l_Nat_HasOfNat___closed__1;
|
|||
lean_object* l___private_Init_Lean_Elab_Quotation_13__toPreterm___main___closed__5;
|
||||
lean_object* l_Lean_Elab_Term_Quotation_match__syntax_expand(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_Quotation_oldExpandMatchSyntax___closed__1;
|
||||
extern lean_object* l_Lean_listToExpr___rarg___closed__4;
|
||||
lean_object* l___private_Init_Lean_Elab_Quotation_11__letBindRhss___main___closed__8;
|
||||
lean_object* l___private_Init_Lean_Elab_Quotation_1__quoteName___main(lean_object*);
|
||||
extern lean_object* l_Lean_mkAppStx___closed__8;
|
||||
|
|
@ -237,6 +235,7 @@ lean_object* l___private_Init_Lean_Elab_Quotation_1__quoteName(lean_object*);
|
|||
lean_object* l___private_Init_Lean_Elab_Quotation_12__exprPlaceholder___closed__1;
|
||||
extern lean_object* l_Lean_choiceKind___closed__1;
|
||||
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Term_Quotation_match__syntax_expand___spec__1___closed__3;
|
||||
extern lean_object* l___private_Init_Lean_Elab_Term_15__mkPairsAux___main___closed__4;
|
||||
lean_object* l___private_Init_Lean_Elab_Quotation_5__quoteSyntax___main___closed__25;
|
||||
lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__17;
|
||||
lean_object* l_List_mapM___main___at___private_Init_Lean_Elab_Quotation_9__compileStxMatch___main___spec__8___closed__8;
|
||||
|
|
@ -354,6 +353,7 @@ lean_object* l_Lean_Parser_getTokenTable(lean_object*);
|
|||
lean_object* l_Lean_List_hasQuote(lean_object*);
|
||||
lean_object* l_ReaderT_bind___at_Lean_Elab_Term_monadLog___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Expr_listLitAux___main___closed__4;
|
||||
lean_object* l___private_Init_Lean_Elab_Quotation_7__getHeadInfo___lambda__2___closed__3;
|
||||
lean_object* l___private_Init_Lean_Elab_Quotation_11__letBindRhss___main___closed__7;
|
||||
uint8_t l_Lean_Elab_Term_Quotation_isAntiquot(lean_object*);
|
||||
|
|
@ -395,7 +395,6 @@ lean_object* l___private_Init_Lean_Elab_Quotation_14__oldRunTermElabM___rarg___c
|
|||
lean_object* l___private_Init_Lean_Elab_Quotation_5__quoteSyntax___main___closed__43;
|
||||
lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__32;
|
||||
lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__10;
|
||||
extern lean_object* l_Lean_prodToExpr___rarg___lambda__1___closed__4;
|
||||
extern lean_object* l_Lean_Parser_Term_str___elambda__1___closed__2;
|
||||
extern lean_object* l_Lean_Syntax_inhabited;
|
||||
lean_object* l___private_Init_Lean_Elab_Quotation_2__quoteList___main(lean_object*);
|
||||
|
|
@ -404,6 +403,7 @@ extern lean_object* l_Lean_mkAppStx___closed__5;
|
|||
lean_object* l___private_Init_Lean_Elab_Quotation_5__quoteSyntax___main___closed__44;
|
||||
extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_Error_toString(lean_object*);
|
||||
extern lean_object* l_Lean_Expr_listLitAux___main___closed__6;
|
||||
lean_object* l___private_Init_Lean_Elab_Quotation_5__quoteSyntax___main___closed__8;
|
||||
lean_object* l___private_Init_Lean_Elab_Quotation_9__compileStxMatch___main___closed__28;
|
||||
lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__7;
|
||||
|
|
@ -508,6 +508,7 @@ extern lean_object* l_Lean_mkHole___closed__2;
|
|||
lean_object* l___private_Init_Lean_Elab_Quotation_10__getPatternVarsAux___main___boxed(lean_object*);
|
||||
extern lean_object* l_Lean_Parser_Term_stxQuot___elambda__1___closed__3;
|
||||
lean_object* l___private_Init_Lean_Elab_Quotation_8__explodeHeadPat___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Expr_arrayLit_x3f___closed__2;
|
||||
lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabStxQuot(lean_object*);
|
||||
lean_object* l___private_Init_Lean_Elab_Quotation_5__quoteSyntax___main___closed__7;
|
||||
lean_object* l_List_foldl___main___at___private_Init_Lean_Elab_Quotation_13__toPreterm___main___spec__5(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -520,7 +521,6 @@ lean_object* l_Array_umapMAux___main___at___private_Init_Lean_Elab_Quotation_4__
|
|||
lean_object* l___private_Init_Lean_Elab_Quotation_9__compileStxMatch___main___closed__3;
|
||||
lean_object* l_Lean_mkStxLit(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__24;
|
||||
extern lean_object* l_Lean_arrayToExpr___rarg___lambda__1___closed__2;
|
||||
lean_object* l___private_Init_Lean_Elab_Quotation_14__oldRunTermElabM___rarg(lean_object*, lean_object*);
|
||||
lean_object* l___private_Init_Lean_Elab_Quotation_11__letBindRhss___main___closed__13;
|
||||
lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*);
|
||||
|
|
@ -813,7 +813,7 @@ x_7 = lean_apply_1(x_2, x_5);
|
|||
x_8 = l_Lean_mkAppStx___closed__9;
|
||||
x_9 = lean_array_push(x_8, x_6);
|
||||
x_10 = lean_array_push(x_9, x_7);
|
||||
x_11 = l_Lean_prodToExpr___rarg___lambda__1___closed__4;
|
||||
x_11 = l___private_Init_Lean_Elab_Term_15__mkPairsAux___main___closed__4;
|
||||
x_12 = l_Lean_mkCAppStx(x_11, x_10);
|
||||
return x_12;
|
||||
}
|
||||
|
|
@ -831,7 +831,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_listToExpr___rarg___closed__4;
|
||||
x_2 = l_Lean_Expr_listLitAux___main___closed__4;
|
||||
x_3 = l_Lean_mkCTermIdFrom(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -860,7 +860,7 @@ x_7 = l___private_Init_Lean_Elab_Quotation_2__quoteList___main___rarg(x_1, x_5);
|
|||
x_8 = l_Lean_mkAppStx___closed__9;
|
||||
x_9 = lean_array_push(x_8, x_6);
|
||||
x_10 = lean_array_push(x_9, x_7);
|
||||
x_11 = l_Lean_listToExpr___rarg___closed__8;
|
||||
x_11 = l_Lean_Expr_listLitAux___main___closed__6;
|
||||
x_12 = l_Lean_mkCAppStx(x_11, x_10);
|
||||
return x_12;
|
||||
}
|
||||
|
|
@ -915,7 +915,7 @@ x_3 = l_Array_toList___rarg(x_2);
|
|||
x_4 = l___private_Init_Lean_Elab_Quotation_2__quoteList___main___rarg(x_1, x_3);
|
||||
x_5 = l_Lean_mkOptionalNode___closed__2;
|
||||
x_6 = lean_array_push(x_5, x_4);
|
||||
x_7 = l_Lean_arrayToExpr___rarg___lambda__1___closed__2;
|
||||
x_7 = l_Lean_Expr_arrayLit_x3f___closed__2;
|
||||
x_8 = l_Lean_mkCAppStx(x_7, x_6);
|
||||
return x_8;
|
||||
}
|
||||
|
|
@ -1974,7 +1974,7 @@ x_11 = l___private_Init_Lean_Elab_Quotation_2__quoteList___main___at___private_I
|
|||
x_12 = l_Lean_mkAppStx___closed__9;
|
||||
x_13 = lean_array_push(x_12, x_10);
|
||||
x_14 = lean_array_push(x_13, x_11);
|
||||
x_15 = l_Lean_listToExpr___rarg___closed__8;
|
||||
x_15 = l_Lean_Expr_listLitAux___main___closed__6;
|
||||
x_16 = l_Lean_mkCAppStx(x_15, x_14);
|
||||
return x_16;
|
||||
}
|
||||
|
|
@ -2008,11 +2008,11 @@ x_9 = l___private_Init_Lean_Elab_Quotation_2__quoteList___main___at___private_In
|
|||
x_10 = l_Lean_mkAppStx___closed__9;
|
||||
x_11 = lean_array_push(x_10, x_8);
|
||||
x_12 = lean_array_push(x_11, x_9);
|
||||
x_13 = l_Lean_prodToExpr___rarg___lambda__1___closed__4;
|
||||
x_13 = l___private_Init_Lean_Elab_Term_15__mkPairsAux___main___closed__4;
|
||||
x_14 = l_Lean_mkCAppStx(x_13, x_12);
|
||||
x_15 = lean_array_push(x_10, x_14);
|
||||
x_16 = lean_array_push(x_15, x_5);
|
||||
x_17 = l_Lean_listToExpr___rarg___closed__8;
|
||||
x_17 = l_Lean_Expr_listLitAux___main___closed__6;
|
||||
x_18 = l_Lean_mkCAppStx(x_17, x_16);
|
||||
return x_18;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ lean_object* lean_mk_empty_array_with_capacity(lean_object*);
|
|||
uint8_t l_AssocList_contains___main___at___private_Init_Lean_Elab_StructInst_12__mkFieldMap___spec__4(lean_object*, lean_object*);
|
||||
lean_object* l_List_foldlM___main___at___private_Init_Lean_Elab_StructInst_12__mkFieldMap___spec__10___closed__6;
|
||||
lean_object* l_List_head_x21___at___private_Init_Lean_Elab_StructInst_19__expandStruct___main___spec__5___boxed(lean_object*);
|
||||
extern lean_object* l_Lean_Meta_mkExpectedTypeHint___closed__1;
|
||||
lean_object* l_Lean_Elab_Term_mkFreshExprMVar(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_HashMap_toList___rarg(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_getHierarchyDepth___main___boxed(lean_object*);
|
||||
|
|
@ -162,7 +163,6 @@ lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_tryToSynthesizeDefault___
|
|||
lean_object* l_AssocList_contains___main___at___private_Init_Lean_Elab_StructInst_12__mkFieldMap___spec__4___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_assignExprMVar(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_mkTermIdFromIdent___closed__1;
|
||||
lean_object* l_List_foldl___main___at_Lean_Elab_Term_StructInst_DefaultFields_getHierarchyDepth___main___spec__1___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_List_mapM___main___at___private_Init_Lean_Elab_StructInst_10__expandParentFields___spec__2___closed__6;
|
||||
lean_object* l_Lean_Elab_Term_getMainModule___rarg(lean_object*);
|
||||
|
|
@ -494,7 +494,6 @@ lean_object* l___private_Init_Lean_Elab_StructInst_19__expandStruct___main(lean_
|
|||
lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_tryToSynthesizeDefault(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_reduce___main___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValueAux_x3f___main___closed__1;
|
||||
lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_step(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Term_StructInst_ExpandNonAtomicExplicitSource_main___spec__1___closed__2;
|
||||
lean_object* l___private_Init_Lean_Elab_StructInst_25__elabStructInstAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -21625,16 +21624,6 @@ lean_dec(x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValueAux_x3f___main___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_mkTermIdFromIdent___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValueAux_x3f___main(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -21830,7 +21819,7 @@ block_14:
|
|||
{
|
||||
lean_object* x_6; lean_object* x_7; uint8_t x_8;
|
||||
lean_dec(x_5);
|
||||
x_6 = l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValueAux_x3f___main___closed__1;
|
||||
x_6 = l_Lean_Meta_mkExpectedTypeHint___closed__1;
|
||||
x_7 = lean_unsigned_to_nat(2u);
|
||||
x_8 = l_Lean_Expr_isAppOfArity___main(x_2, x_6, x_7);
|
||||
if (x_8 == 0)
|
||||
|
|
@ -26090,8 +26079,6 @@ l_List_foldlM___main___at___private_Init_Lean_Elab_StructInst_24__elabStruct___m
|
|||
lean_mark_persistent(l_List_foldlM___main___at___private_Init_Lean_Elab_StructInst_24__elabStruct___main___spec__1___closed__2);
|
||||
l_List_foldlM___main___at___private_Init_Lean_Elab_StructInst_24__elabStruct___main___spec__1___closed__3 = _init_l_List_foldlM___main___at___private_Init_Lean_Elab_StructInst_24__elabStruct___main___spec__1___closed__3();
|
||||
lean_mark_persistent(l_List_foldlM___main___at___private_Init_Lean_Elab_StructInst_24__elabStruct___main___spec__1___closed__3);
|
||||
l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValueAux_x3f___main___closed__1 = _init_l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValueAux_x3f___main___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValueAux_x3f___main___closed__1);
|
||||
l_Lean_Elab_Term_StructInst_DefaultFields_tryToSynthesizeDefaultAux___main___closed__1 = _init_l_Lean_Elab_Term_StructInst_DefaultFields_tryToSynthesizeDefaultAux___main___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_StructInst_DefaultFields_tryToSynthesizeDefaultAux___main___closed__1);
|
||||
l_Lean_Elab_Term_StructInst_DefaultFields_tryToSynthesizeDefaultAux___main___closed__2 = _init_l_Lean_Elab_Term_StructInst_DefaultFields_tryToSynthesizeDefaultAux___main___closed__2();
|
||||
|
|
|
|||
|
|
@ -133,6 +133,7 @@ lean_object* l_Lean_Elab_Command_elabMacroRulesAux___closed__25;
|
|||
lean_object* lean_string_utf8_byte_size(lean_object*);
|
||||
lean_object* l_Lean_mkAtom(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_toParserDescrAux___main___closed__20;
|
||||
extern lean_object* l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__7;
|
||||
lean_object* l_Lean_Elab_Term_toParserDescrAux___main___closed__10;
|
||||
lean_object* l_Lean_Elab_Term_toParserDescrAux___main___closed__32;
|
||||
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -225,6 +226,7 @@ extern lean_object* l_Lean_Parser_Command_def___elambda__1___closed__2;
|
|||
lean_object* l_Lean_Macro_addMacroScope(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Parser_Command_declValSimple___elambda__1___closed__2;
|
||||
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__5;
|
||||
lean_object* l_Lean_Elab_Command_elabSyntax___closed__25;
|
||||
extern lean_object* l_Lean_numLitKind___closed__1;
|
||||
extern lean_object* l_Lean_Parser_Command_def___elambda__1___closed__1;
|
||||
|
|
@ -377,7 +379,6 @@ lean_object* l_Lean_Syntax_setArg(lean_object*, lean_object*, lean_object*);
|
|||
lean_object* l_Lean_Elab_Term_toParserDescrAux___main___closed__18;
|
||||
lean_object* l_Lean_Elab_Command_elabNoKindMacroRulesAux___closed__3;
|
||||
lean_object* l_Lean_Elab_Term_toParserDescrAux___main___closed__3;
|
||||
extern lean_object* l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__7;
|
||||
extern lean_object* l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__1;
|
||||
uint8_t l_Lean_Parser_isParserCategory(lean_object*, lean_object*);
|
||||
lean_object* l___private_Init_Lean_Elab_Syntax_5__withoutLeftRec___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -394,6 +395,7 @@ lean_object* l_Lean_Elab_Command_elabMacroRulesAux___closed__7;
|
|||
lean_object* l_Lean_Syntax_getArgs(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_checkLeftRec___closed__3;
|
||||
lean_object* l_Lean_Syntax_getKind(lean_object*);
|
||||
extern lean_object* l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__4;
|
||||
extern lean_object* l_Lean_Parser_Term_match__syntax___elambda__1___closed__2;
|
||||
lean_object* l_Lean_Elab_Command_elabMacroRulesAux___closed__24;
|
||||
lean_object* l_Array_findMAux___main___at_Lean_Elab_Command_elabMacroRulesAux___spec__1(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -406,7 +408,6 @@ lean_object* l_Lean_Elab_Term_toParserDescrAux___main___closed__111;
|
|||
lean_object* l_Lean_Elab_Term_toParserDescrAux___main___closed__97;
|
||||
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Command_expandMacro___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Init_Lean_Elab_Syntax_5__withoutLeftRec(lean_object*);
|
||||
extern lean_object* l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__5;
|
||||
lean_object* l_Lean_Elab_Term_toParserDescrAux___main___closed__64;
|
||||
lean_object* l___private_Init_Lean_Elab_Syntax_1__expandOptPrecedence___boxed(lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_elabSyntax___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -463,7 +464,6 @@ lean_object* l_Lean_Elab_Term_toParserDescrAux___main___closed__119;
|
|||
extern lean_object* l_Lean_Parser_Command_macro___elambda__1___closed__1;
|
||||
lean_object* l___private_Init_Lean_Elab_Syntax_4__withNotFirst___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_toParserDescrAux___main___closed__29;
|
||||
extern lean_object* l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__4;
|
||||
lean_object* l___private_Init_Lean_Elab_Syntax_7__antiquote___main___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_elabBinders___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Parser_Term_stxQuot___elambda__1___closed__3;
|
||||
|
|
@ -10419,13 +10419,13 @@ x_90 = l_Lean_Elab_Term_expandCDot_x3f___closed__3;
|
|||
x_91 = lean_array_push(x_89, x_90);
|
||||
x_92 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
|
||||
x_93 = lean_array_push(x_92, x_85);
|
||||
x_94 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__4;
|
||||
x_94 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__4;
|
||||
x_95 = lean_array_push(x_93, x_94);
|
||||
x_96 = lean_array_push(x_95, x_42);
|
||||
x_97 = lean_unsigned_to_nat(0u);
|
||||
x_98 = l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(x_7, x_7, x_97, x_21);
|
||||
lean_dec(x_7);
|
||||
x_99 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__5;
|
||||
x_99 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__5;
|
||||
x_100 = lean_array_push(x_98, x_99);
|
||||
x_101 = l_Lean_Elab_Command_elabMacroRulesAux___closed__23;
|
||||
lean_inc(x_10);
|
||||
|
|
@ -10644,13 +10644,13 @@ x_222 = l_Lean_Elab_Term_expandCDot_x3f___closed__3;
|
|||
x_223 = lean_array_push(x_221, x_222);
|
||||
x_224 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
|
||||
x_225 = lean_array_push(x_224, x_217);
|
||||
x_226 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__4;
|
||||
x_226 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__4;
|
||||
x_227 = lean_array_push(x_225, x_226);
|
||||
x_228 = lean_array_push(x_227, x_174);
|
||||
x_229 = lean_unsigned_to_nat(0u);
|
||||
x_230 = l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(x_7, x_7, x_229, x_153);
|
||||
lean_dec(x_7);
|
||||
x_231 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__5;
|
||||
x_231 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__5;
|
||||
x_232 = lean_array_push(x_230, x_231);
|
||||
x_233 = l_Lean_Elab_Command_elabMacroRulesAux___closed__23;
|
||||
lean_inc(x_10);
|
||||
|
|
@ -13085,7 +13085,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_Command_elabNoKindMacroRulesAux___closed__3;
|
||||
x_2 = l___private_Init_Lean_Elab_Binders_10__expandFunBindersAux___main___closed__7;
|
||||
x_2 = l___private_Init_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__7;
|
||||
x_3 = lean_array_push(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -26,7 +26,7 @@ lean_object* l_Lean_Meta_getMVarType(lean_object*, lean_object*, lean_object*);
|
|||
lean_object* l_Lean_Meta_replaceTargetDefEq___closed__1;
|
||||
lean_object* l_Lean_Meta_replaceTargetDefEq___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_name_mk_string(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_replaceTargetEq___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_replaceTargetEq___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_assignExprMVar(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_replaceTargetEq___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_expr_eqv(lean_object*, lean_object*);
|
||||
|
|
@ -34,134 +34,119 @@ lean_object* l_Lean_Meta_mkFreshExprMVar(lean_object*, lean_object*, uint8_t, le
|
|||
lean_object* l_Lean_Meta_replaceTargetDefEq___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_getLevel(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_getMVarDecl(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_replaceTargetEq___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_replaceTargetEq___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_replaceTargetEq___closed__1;
|
||||
lean_object* l_Lean_Meta_mkExpectedTypeHint(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_replaceTargetEq___closed__2;
|
||||
lean_object* l_Lean_Meta_mkEq(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_replaceTargetEq___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
lean_object* l_Lean_Meta_replaceTargetEq___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_6;
|
||||
lean_object* x_7;
|
||||
lean_inc(x_1);
|
||||
x_6 = l_Lean_Meta_getMVarTag(x_1, x_4, x_5);
|
||||
if (lean_obj_tag(x_6) == 0)
|
||||
x_7 = l_Lean_Meta_getMVarTag(x_1, x_5, x_6);
|
||||
if (lean_obj_tag(x_7) == 0)
|
||||
{
|
||||
lean_object* x_7; lean_object* x_8; uint8_t x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
|
||||
x_7 = lean_ctor_get(x_6, 0);
|
||||
lean_inc(x_7);
|
||||
x_8 = lean_ctor_get(x_6, 1);
|
||||
lean_object* x_8; lean_object* x_9; uint8_t x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
|
||||
x_8 = lean_ctor_get(x_7, 0);
|
||||
lean_inc(x_8);
|
||||
lean_dec(x_6);
|
||||
x_9 = 2;
|
||||
lean_inc(x_4);
|
||||
x_9 = lean_ctor_get(x_7, 1);
|
||||
lean_inc(x_9);
|
||||
lean_dec(x_7);
|
||||
x_10 = 2;
|
||||
lean_inc(x_5);
|
||||
lean_inc(x_2);
|
||||
x_10 = l_Lean_Meta_mkFreshExprMVar(x_2, x_7, x_9, x_4, x_8);
|
||||
x_11 = lean_ctor_get(x_10, 0);
|
||||
lean_inc(x_11);
|
||||
x_12 = lean_ctor_get(x_10, 1);
|
||||
x_11 = l_Lean_Meta_mkFreshExprMVar(x_2, x_8, x_10, x_5, x_9);
|
||||
x_12 = lean_ctor_get(x_11, 0);
|
||||
lean_inc(x_12);
|
||||
lean_dec(x_10);
|
||||
x_13 = lean_ctor_get(x_11, 1);
|
||||
lean_inc(x_13);
|
||||
lean_dec(x_11);
|
||||
lean_inc(x_1);
|
||||
x_13 = l_Lean_Meta_getMVarType(x_1, x_4, x_12);
|
||||
if (lean_obj_tag(x_13) == 0)
|
||||
x_14 = l_Lean_Meta_getMVarType(x_1, x_5, x_13);
|
||||
if (lean_obj_tag(x_14) == 0)
|
||||
{
|
||||
lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
x_14 = lean_ctor_get(x_13, 0);
|
||||
lean_inc(x_14);
|
||||
x_15 = lean_ctor_get(x_13, 1);
|
||||
lean_object* x_15; lean_object* x_16; lean_object* x_17;
|
||||
x_15 = lean_ctor_get(x_14, 0);
|
||||
lean_inc(x_15);
|
||||
lean_dec(x_13);
|
||||
lean_inc(x_4);
|
||||
lean_inc(x_14);
|
||||
x_16 = l_Lean_Meta_getLevel(x_14, x_4, x_15);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
x_16 = lean_ctor_get(x_14, 1);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_14);
|
||||
lean_inc(x_5);
|
||||
lean_inc(x_15);
|
||||
x_17 = l_Lean_Meta_getLevel(x_15, x_5, x_16);
|
||||
if (lean_obj_tag(x_17) == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18;
|
||||
x_17 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_17);
|
||||
lean_dec(x_16);
|
||||
lean_inc(x_4);
|
||||
x_18 = l_Lean_Meta_mkEq(x_14, x_2, x_4, x_17);
|
||||
if (lean_obj_tag(x_18) == 0)
|
||||
lean_object* x_18; lean_object* x_19;
|
||||
x_18 = lean_ctor_get(x_17, 1);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_17);
|
||||
lean_inc(x_5);
|
||||
x_19 = l_Lean_Meta_mkEq(x_15, x_2, x_5, x_18);
|
||||
if (lean_obj_tag(x_19) == 0)
|
||||
{
|
||||
lean_object* x_19; lean_object* x_20;
|
||||
x_19 = lean_ctor_get(x_18, 1);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_18);
|
||||
lean_inc(x_11);
|
||||
x_20 = l_Lean_Meta_assignExprMVar(x_1, x_11, x_4, x_19);
|
||||
lean_dec(x_4);
|
||||
if (lean_obj_tag(x_20) == 0)
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22;
|
||||
x_20 = lean_ctor_get(x_19, 0);
|
||||
lean_inc(x_20);
|
||||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_19);
|
||||
lean_inc(x_5);
|
||||
x_22 = l_Lean_Meta_mkExpectedTypeHint(x_3, x_20, x_5, x_21);
|
||||
if (lean_obj_tag(x_22) == 0)
|
||||
{
|
||||
uint8_t x_21;
|
||||
x_21 = !lean_is_exclusive(x_20);
|
||||
if (x_21 == 0)
|
||||
{
|
||||
lean_object* x_22; lean_object* x_23;
|
||||
x_22 = lean_ctor_get(x_20, 0);
|
||||
lean_object* x_23; lean_object* x_24;
|
||||
x_23 = lean_ctor_get(x_22, 1);
|
||||
lean_inc(x_23);
|
||||
lean_dec(x_22);
|
||||
x_23 = l_Lean_Expr_mvarId_x21(x_11);
|
||||
lean_dec(x_11);
|
||||
lean_ctor_set(x_20, 0, x_23);
|
||||
return x_20;
|
||||
}
|
||||
else
|
||||
lean_inc(x_12);
|
||||
x_24 = l_Lean_Meta_assignExprMVar(x_1, x_12, x_5, x_23);
|
||||
lean_dec(x_5);
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
{
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_24 = lean_ctor_get(x_20, 1);
|
||||
lean_inc(x_24);
|
||||
lean_dec(x_20);
|
||||
x_25 = l_Lean_Expr_mvarId_x21(x_11);
|
||||
lean_dec(x_11);
|
||||
x_26 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_26, 0, x_25);
|
||||
lean_ctor_set(x_26, 1, x_24);
|
||||
return x_26;
|
||||
}
|
||||
}
|
||||
else
|
||||
uint8_t x_25;
|
||||
x_25 = !lean_is_exclusive(x_24);
|
||||
if (x_25 == 0)
|
||||
{
|
||||
uint8_t x_27;
|
||||
lean_dec(x_11);
|
||||
x_27 = !lean_is_exclusive(x_20);
|
||||
if (x_27 == 0)
|
||||
{
|
||||
return x_20;
|
||||
lean_object* x_26; lean_object* x_27;
|
||||
x_26 = lean_ctor_get(x_24, 0);
|
||||
lean_dec(x_26);
|
||||
x_27 = l_Lean_Expr_mvarId_x21(x_12);
|
||||
lean_dec(x_12);
|
||||
lean_ctor_set(x_24, 0, x_27);
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30;
|
||||
x_28 = lean_ctor_get(x_20, 0);
|
||||
x_29 = lean_ctor_get(x_20, 1);
|
||||
lean_inc(x_29);
|
||||
x_28 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_20);
|
||||
x_30 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_30, 0, x_28);
|
||||
lean_ctor_set(x_30, 1, x_29);
|
||||
lean_dec(x_24);
|
||||
x_29 = l_Lean_Expr_mvarId_x21(x_12);
|
||||
lean_dec(x_12);
|
||||
x_30 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_30, 0, x_29);
|
||||
lean_ctor_set(x_30, 1, x_28);
|
||||
return x_30;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_31;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_1);
|
||||
x_31 = !lean_is_exclusive(x_18);
|
||||
lean_dec(x_12);
|
||||
x_31 = !lean_is_exclusive(x_24);
|
||||
if (x_31 == 0)
|
||||
{
|
||||
return x_18;
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_32; lean_object* x_33; lean_object* x_34;
|
||||
x_32 = lean_ctor_get(x_18, 0);
|
||||
x_33 = lean_ctor_get(x_18, 1);
|
||||
x_32 = lean_ctor_get(x_24, 0);
|
||||
x_33 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_33);
|
||||
lean_inc(x_32);
|
||||
lean_dec(x_18);
|
||||
lean_dec(x_24);
|
||||
x_34 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_34, 0, x_32);
|
||||
lean_ctor_set(x_34, 1, x_33);
|
||||
|
|
@ -172,24 +157,22 @@ return x_34;
|
|||
else
|
||||
{
|
||||
uint8_t x_35;
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_1);
|
||||
x_35 = !lean_is_exclusive(x_16);
|
||||
x_35 = !lean_is_exclusive(x_22);
|
||||
if (x_35 == 0)
|
||||
{
|
||||
return x_16;
|
||||
return x_22;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_36; lean_object* x_37; lean_object* x_38;
|
||||
x_36 = lean_ctor_get(x_16, 0);
|
||||
x_37 = lean_ctor_get(x_16, 1);
|
||||
x_36 = lean_ctor_get(x_22, 0);
|
||||
x_37 = lean_ctor_get(x_22, 1);
|
||||
lean_inc(x_37);
|
||||
lean_inc(x_36);
|
||||
lean_dec(x_16);
|
||||
lean_dec(x_22);
|
||||
x_38 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_38, 0, x_36);
|
||||
lean_ctor_set(x_38, 1, x_37);
|
||||
|
|
@ -200,23 +183,23 @@ return x_38;
|
|||
else
|
||||
{
|
||||
uint8_t x_39;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_1);
|
||||
x_39 = !lean_is_exclusive(x_13);
|
||||
x_39 = !lean_is_exclusive(x_19);
|
||||
if (x_39 == 0)
|
||||
{
|
||||
return x_13;
|
||||
return x_19;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_40; lean_object* x_41; lean_object* x_42;
|
||||
x_40 = lean_ctor_get(x_13, 0);
|
||||
x_41 = lean_ctor_get(x_13, 1);
|
||||
x_40 = lean_ctor_get(x_19, 0);
|
||||
x_41 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_41);
|
||||
lean_inc(x_40);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_19);
|
||||
x_42 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_42, 0, x_40);
|
||||
lean_ctor_set(x_42, 1, x_41);
|
||||
|
|
@ -227,22 +210,25 @@ return x_42;
|
|||
else
|
||||
{
|
||||
uint8_t x_43;
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_15);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_43 = !lean_is_exclusive(x_6);
|
||||
x_43 = !lean_is_exclusive(x_17);
|
||||
if (x_43 == 0)
|
||||
{
|
||||
return x_6;
|
||||
return x_17;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_44; lean_object* x_45; lean_object* x_46;
|
||||
x_44 = lean_ctor_get(x_6, 0);
|
||||
x_45 = lean_ctor_get(x_6, 1);
|
||||
x_44 = lean_ctor_get(x_17, 0);
|
||||
x_45 = lean_ctor_get(x_17, 1);
|
||||
lean_inc(x_45);
|
||||
lean_inc(x_44);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_17);
|
||||
x_46 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_46, 0, x_44);
|
||||
lean_ctor_set(x_46, 1, x_45);
|
||||
|
|
@ -250,6 +236,61 @@ return x_46;
|
|||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_47;
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_47 = !lean_is_exclusive(x_14);
|
||||
if (x_47 == 0)
|
||||
{
|
||||
return x_14;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_48; lean_object* x_49; lean_object* x_50;
|
||||
x_48 = lean_ctor_get(x_14, 0);
|
||||
x_49 = lean_ctor_get(x_14, 1);
|
||||
lean_inc(x_49);
|
||||
lean_inc(x_48);
|
||||
lean_dec(x_14);
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_51;
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_51 = !lean_is_exclusive(x_7);
|
||||
if (x_51 == 0)
|
||||
{
|
||||
return x_7;
|
||||
}
|
||||
else
|
||||
{
|
||||
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_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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Meta_replaceTargetEq___closed__1() {
|
||||
_start:
|
||||
|
|
@ -279,9 +320,10 @@ x_7 = lean_alloc_closure((void*)(l_Lean_Meta_checkNotAssigned___boxed), 4, 2);
|
|||
lean_closure_set(x_7, 0, x_1);
|
||||
lean_closure_set(x_7, 1, x_6);
|
||||
lean_inc(x_1);
|
||||
x_8 = lean_alloc_closure((void*)(l_Lean_Meta_replaceTargetEq___lambda__1___boxed), 5, 2);
|
||||
x_8 = lean_alloc_closure((void*)(l_Lean_Meta_replaceTargetEq___lambda__1___boxed), 6, 3);
|
||||
lean_closure_set(x_8, 0, x_1);
|
||||
lean_closure_set(x_8, 1, x_2);
|
||||
lean_closure_set(x_8, 2, x_3);
|
||||
x_9 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_isClassExpensive___main___spec__4___rarg), 4, 2);
|
||||
lean_closure_set(x_9, 0, x_7);
|
||||
lean_closure_set(x_9, 1, x_8);
|
||||
|
|
@ -327,13 +369,13 @@ return x_19;
|
|||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Meta_replaceTargetEq___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
lean_object* l_Lean_Meta_replaceTargetEq___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_6;
|
||||
x_6 = l_Lean_Meta_replaceTargetEq___lambda__1(x_1, x_2, x_3, x_4, x_5);
|
||||
lean_dec(x_3);
|
||||
return x_6;
|
||||
lean_object* x_7;
|
||||
x_7 = l_Lean_Meta_replaceTargetEq___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6);
|
||||
lean_dec(x_4);
|
||||
return x_7;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Meta_replaceTargetEq___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
|
|
@ -342,7 +384,6 @@ _start:
|
|||
lean_object* x_6;
|
||||
x_6 = l_Lean_Meta_replaceTargetEq(x_1, x_2, x_3, x_4, x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
|
|
@ -385,7 +426,8 @@ x_17 = lean_ctor_get(x_15, 1);
|
|||
lean_inc(x_17);
|
||||
lean_dec(x_15);
|
||||
lean_inc(x_4);
|
||||
x_18 = l_Lean_Meta_getLevel(x_8, x_4, x_17);
|
||||
lean_inc(x_16);
|
||||
x_18 = l_Lean_Meta_mkExpectedTypeHint(x_16, x_8, x_4, x_17);
|
||||
if (lean_obj_tag(x_18) == 0)
|
||||
{
|
||||
lean_object* x_19; lean_object* x_20;
|
||||
|
|
@ -540,7 +582,8 @@ x_48 = lean_ctor_get(x_46, 1);
|
|||
lean_inc(x_48);
|
||||
lean_dec(x_46);
|
||||
lean_inc(x_4);
|
||||
x_49 = l_Lean_Meta_getLevel(x_39, x_4, x_48);
|
||||
lean_inc(x_47);
|
||||
x_49 = l_Lean_Meta_mkExpectedTypeHint(x_47, x_39, x_4, x_48);
|
||||
if (lean_obj_tag(x_49) == 0)
|
||||
{
|
||||
lean_object* x_50; lean_object* x_51;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -109,6 +109,7 @@ lean_object* l___private_Init_Lean_Parser_Parser_2__sepByFnAux___main___at_Lean_
|
|||
lean_object* l_Lean_Parser_Term_explicit___closed__2;
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_ge(lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_nomatch___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_doPat___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_matchAlt___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_inaccessible___closed__2;
|
||||
|
|
@ -154,6 +155,7 @@ lean_object* l_Lean_Parser_Term_str___elambda__1___closed__3;
|
|||
lean_object* l_Lean_Parser_Term_andthen___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_not___elambda__1___closed__7;
|
||||
lean_object* l_Lean_Parser_Term_checkIsSort___elambda__1___boxed(lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_funBinderStxQuot___closed__1;
|
||||
lean_object* l_Lean_Parser_Tactic_seq___elambda__1___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_structInst___closed__6;
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_explicit(lean_object*);
|
||||
|
|
@ -162,6 +164,7 @@ lean_object* l_Lean_Parser_Term_type___closed__3;
|
|||
lean_object* l_Lean_Parser_Term_subtype___closed__6;
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_append(lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_nomatch___elambda__1___closed__5;
|
||||
lean_object* l_Lean_Parser_Term_levelStxQuot___closed__5;
|
||||
lean_object* l_Lean_Parser_darrow___elambda__1___closed__8;
|
||||
lean_object* l_Lean_Parser_Term_haveAssign___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_nativeDecide___elambda__1___closed__1;
|
||||
|
|
@ -186,6 +189,7 @@ lean_object* l_Lean_Parser_Term_instBinder___closed__5;
|
|||
lean_object* l_Lean_Parser_Term_inaccessible___elambda__1___closed__7;
|
||||
lean_object* l_Lean_Parser_Term_seqLeft___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_namedArgument___closed__5;
|
||||
lean_object* l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__5;
|
||||
lean_object* l___private_Init_Lean_Parser_Parser_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___elambda__1___spec__18___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Tactic_seq;
|
||||
lean_object* l_Lean_Parser_Term_show___elambda__1___closed__8;
|
||||
|
|
@ -233,6 +237,7 @@ lean_object* l_Lean_Parser_Term_div___elambda__1(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_Parser_Term_if___closed__10;
|
||||
lean_object* l_Lean_Parser_Term_namedPattern___elambda__1___closed__6;
|
||||
lean_object* l_Lean_Parser_Term_subst___closed__4;
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_levelStxQuot___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_prop;
|
||||
lean_object* l_Lean_Parser_Term_binderTactic___elambda__1___closed__5;
|
||||
lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__2;
|
||||
|
|
@ -256,9 +261,11 @@ lean_object* l_Lean_Parser_Term_where___elambda__1___closed__2;
|
|||
lean_object* l_Lean_Parser_Term_letPatDecl;
|
||||
lean_object* l_Lean_Parser_Term_sortApp___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_bnot___closed__2;
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_levelStxQuot(lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_typeAscription___elambda__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_band___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_funBinderStxQuot___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_explicitBinder___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_and___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__1;
|
||||
|
|
@ -446,6 +453,7 @@ lean_object* l_Lean_Parser_Term_instBinder___closed__3;
|
|||
lean_object* l_Lean_Parser_Term_nativeRefl___elambda__1___closed__6;
|
||||
lean_object* l_Lean_Parser_Term_and;
|
||||
lean_object* l_Lean_Parser_Term_gt___elambda__1(lean_object*, lean_object*);
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_levelStxQuot___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_bracketedDoSeq___elambda__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_suffices___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_parenSpecial___closed__1;
|
||||
|
|
@ -471,6 +479,7 @@ lean_object* l_Lean_Parser_Term_bracktedBinder___elambda__1(lean_object*, lean_o
|
|||
lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__13;
|
||||
lean_object* l_Lean_Parser_Term_anonymousCtor___closed__9;
|
||||
lean_object* l_Lean_Parser_Term_sorry___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_let_x21___closed__6;
|
||||
lean_object* l_Lean_Parser_Term_ge___elambda__1___closed__4;
|
||||
|
|
@ -525,6 +534,7 @@ lean_object* l_Lean_Parser_Term_uminus___closed__7;
|
|||
lean_object* l___private_Init_Lean_Parser_Parser_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___elambda__1___spec__2___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_suffices___elambda__1___closed__7;
|
||||
lean_object* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__8;
|
||||
lean_object* l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_borrowed;
|
||||
lean_object* l_Lean_Parser_Term_and___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_paren___closed__7;
|
||||
|
|
@ -579,12 +589,14 @@ lean_object* l_Lean_Parser_Term_str;
|
|||
lean_object* l_Lean_Parser_Term_decide___closed__5;
|
||||
lean_object* l_Lean_Parser_Term_structInstLVal___closed__5;
|
||||
lean_object* l_Lean_Parser_Term_binderTactic___elambda__1___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_depArrow___closed__8;
|
||||
lean_object* l_Lean_Parser_Term_dollarProj___elambda__1___closed__3;
|
||||
lean_object* l___private_Init_Lean_Parser_Parser_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_nativeDecide___elambda__1___closed__6;
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_sorry(lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_nomatch___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_or___elambda__1___closed__2;
|
||||
lean_object* l___private_Init_Lean_Parser_Parser_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq___elambda__1___spec__2___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_listLit___elambda__1(lean_object*, lean_object*);
|
||||
|
|
@ -640,6 +652,7 @@ lean_object* l_Lean_Parser_Term_num___closed__2;
|
|||
lean_object* l_Lean_Parser_Term_typeAscription___elambda__1___closed__5;
|
||||
lean_object* l_Lean_Parser_Term_binderDefault;
|
||||
lean_object* l_Lean_Parser_Term_namedPattern___elambda__1___closed__5;
|
||||
lean_object* l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__9;
|
||||
lean_object* l___private_Init_Lean_Parser_Parser_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___elambda__1___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_uminus___elambda__1___closed__1;
|
||||
|
|
@ -829,6 +842,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_dollar(lean_object*);
|
|||
lean_object* l_Lean_Parser_Term_explicitUniv___closed__5;
|
||||
lean_object* l_Lean_Parser_Term_let___closed__6;
|
||||
lean_object* l_Lean_Parser_Term_byTactic___elambda__1___closed__6;
|
||||
lean_object* l_Lean_Parser_Term_funBinderStxQuot___closed__6;
|
||||
lean_object* l_Lean_Parser_Term_lt___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_sorry___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
|
||||
|
|
@ -873,6 +887,7 @@ lean_object* l_Lean_Parser_Term_bnot___closed__5;
|
|||
lean_object* l_Lean_Parser_Term_structInstField___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_paren___closed__4;
|
||||
uint8_t l_Lean_Parser_tryAnti(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_funBinderStxQuot;
|
||||
lean_object* l_Lean_Parser_Term_mul;
|
||||
lean_object* l_Lean_Parser_Term_ge___elambda__1___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_quotedName;
|
||||
|
|
@ -912,6 +927,7 @@ lean_object* l_Lean_Parser_Term_explicitUniv___closed__3;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Term_bne(lean_object*);
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_inaccessible(lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_depArrow___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_structInst___elambda__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__13;
|
||||
lean_object* l_Lean_Parser_Term_andM___closed__1;
|
||||
|
|
@ -1210,6 +1226,7 @@ lean_object* l_Lean_Parser_Term_sorry___elambda__1___closed__6;
|
|||
lean_object* l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
|
||||
lean_object* l_Lean_Parser_Term_num___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_and___closed__2;
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_funBinderStxQuot(lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_prop___closed__4;
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_mul(lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_leftArrow___elambda__1___closed__8;
|
||||
|
|
@ -1221,6 +1238,7 @@ lean_object* l_Lean_Parser_Term_binderType___elambda__2(lean_object*, lean_objec
|
|||
lean_object* l_Lean_Parser_Term_bracketedDoSeq___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_andthen;
|
||||
lean_object* l_Lean_Parser_Term_matchAlt___closed__11;
|
||||
lean_object* l_Lean_Parser_Term_levelStxQuot___elambda__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_or___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_mapConst___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_doPat___closed__9;
|
||||
|
|
@ -1263,6 +1281,7 @@ lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_matchAlts___elambda__1
|
|||
lean_object* l___private_Init_Lean_Parser_Parser_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___elambda__1___spec__16(lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_borrowed___elambda__1___closed__9;
|
||||
lean_object* l_Lean_Parser_Term_typeAscription___closed__3;
|
||||
extern lean_object* l_Lean_Parser_Level_paren___closed__4;
|
||||
lean_object* l___private_Init_Lean_Parser_Parser_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___elambda__1___spec__2___closed__5;
|
||||
lean_object* l_Lean_Parser_Term_have___closed__10;
|
||||
lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__15;
|
||||
|
|
@ -1474,6 +1493,7 @@ lean_object* l_Lean_Parser_Term_structInstLVal___closed__4;
|
|||
lean_object* l_Lean_Parser_Term_matchAlt;
|
||||
lean_object* l_Lean_Parser_Term_or___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_inaccessible___elambda__1___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_funBinderStxQuot___closed__4;
|
||||
lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_subst___elambda__1___spec__1(uint8_t, uint8_t, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_binderDefault___elambda__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_nomatch___closed__2;
|
||||
|
|
@ -1664,6 +1684,7 @@ lean_object* l_Lean_Parser_Term_subtype___closed__10;
|
|||
lean_object* l_Lean_Parser_Term_append___elambda__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_tupleTail___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_structInstLVal___closed__11;
|
||||
lean_object* l_Lean_Parser_Term_levelStxQuot___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_dollar___closed__4;
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_decide(lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_arrayRef___closed__1;
|
||||
|
|
@ -1672,6 +1693,7 @@ lean_object* l_Lean_Parser_Term_nativeRefl___elambda__1___closed__1;
|
|||
lean_object* l_Lean_Parser_dollarSymbol___elambda__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_mapConst___elambda__1___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_map___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_funBinderStxQuot___closed__5;
|
||||
lean_object* l_Lean_Parser_Term_or;
|
||||
lean_object* l_Lean_Parser_Term_orM___elambda__1(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Parser_unicodeSymbolFn___closed__1;
|
||||
|
|
@ -1691,12 +1713,14 @@ lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__1;
|
|||
lean_object* l_Lean_Parser_Term_structInstField___closed__5;
|
||||
lean_object* l_Lean_Parser_Term_matchAlts___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_doPat___elambda__1___closed__6;
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_funBinderStxQuot___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_append;
|
||||
lean_object* l_Lean_Parser_Term_letIdLhs___closed__6;
|
||||
lean_object* l_Lean_Parser_Term_borrowed___elambda__1___closed__2;
|
||||
lean_object* l_Lean_Parser_Tactic_seq___elambda__1___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_not___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_uminus___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_funBinderStxQuot___closed__3;
|
||||
lean_object* l___private_Init_Lean_Parser_Parser_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq___elambda__1___spec__2(uint8_t, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_map___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_doLet___elambda__1___closed__1;
|
||||
|
|
@ -1710,6 +1734,7 @@ lean_object* l_Lean_Parser_Term_gt;
|
|||
lean_object* l_Lean_Parser_Term_doExpr___elambda__1___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_tparser_x21___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_matchAlts___boxed(lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_levelStxQuot___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_not___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_subst___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_beq___elambda__1___closed__3;
|
||||
|
|
@ -1824,6 +1849,7 @@ lean_object* l_Lean_Parser_Term_inaccessible___elambda__1___closed__6;
|
|||
lean_object* l_Lean_Parser_Tactic_seq___closed__1;
|
||||
lean_object* l_Lean_Parser_nameLit___elambda__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_tacticBlock___closed__6;
|
||||
lean_object* l_Lean_Parser_Term_levelStxQuot;
|
||||
lean_object* l_Lean_Parser_Term_equiv___elambda__1___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_letPatDecl___elambda__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_letIdDecl___closed__8;
|
||||
|
|
@ -1861,6 +1887,7 @@ lean_object* l_Lean_Parser_Term_match__syntax___elambda__1___closed__7;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Term_arrow(lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_modN___closed__3;
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_sortApp(lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_levelStxQuot___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_typeAscription___closed__6;
|
||||
lean_object* l___private_Init_Lean_Parser_Parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_lt;
|
||||
|
|
@ -1880,6 +1907,7 @@ lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__12;
|
|||
lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__1(uint8_t, uint8_t, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_seqRight___elambda__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_funBinder___closed__4;
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_funBinderStxQuot___closed__2;
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_match(lean_object*);
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_depArrow(lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_simpleBinder___elambda__1___closed__3;
|
||||
|
|
@ -1938,6 +1966,7 @@ lean_object* l_Lean_Parser_regBuiltinTacticParserAttr___closed__4;
|
|||
lean_object* l_Lean_Parser_Term_mapConstRev___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__7;
|
||||
lean_object* l_Lean_Parser_Term_tupleTail___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__5;
|
||||
lean_object* l_Lean_Parser_Term_nativeRefl___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_orelse___elambda__1___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_gt___closed__3;
|
||||
|
|
@ -1992,6 +2021,7 @@ lean_object* l_Lean_Parser_Term_binderIdent___elambda__1(lean_object*, lean_obje
|
|||
lean_object* l_Lean_Parser_Term_char___elambda__1___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_borrowed___elambda__1___closed__6;
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_borrowed(lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__11;
|
||||
lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__4;
|
||||
|
|
@ -2079,6 +2109,7 @@ lean_object* l_Lean_Parser_Term_unicodeInfixL___elambda__1(lean_object*, lean_ob
|
|||
lean_object* l_Lean_Parser_Term_nativeRefl___elambda__1___closed__9;
|
||||
lean_object* l_Lean_Parser_Term_subtype___closed__11;
|
||||
lean_object* l_Lean_Parser_unicodeSymbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_levelStxQuot___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__7;
|
||||
lean_object* l_Lean_Parser_Term_namedArgument___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_dollar___closed__2;
|
||||
|
|
@ -2096,6 +2127,7 @@ lean_object* l_Lean_Parser_Term_bnot___elambda__1(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_matchAlts___elambda__1___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_let;
|
||||
lean_object* l_Lean_Parser_Term_depArrow___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_funBinderStxQuot___elambda__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_namedHole___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_map;
|
||||
lean_object* l_Lean_Parser_Term_unicodeInfixR(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -50904,6 +50936,618 @@ x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
|||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("`(level|");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__1;
|
||||
x_2 = l_String_trim(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Char_HasRepr___closed__1;
|
||||
x_2 = l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__2;
|
||||
x_3 = lean_string_append(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__3;
|
||||
x_2 = l_Char_HasRepr___closed__1;
|
||||
x_3 = lean_string_append(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__4;
|
||||
x_3 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_2);
|
||||
lean_ctor_set(x_3, 1, x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Parser_Term_levelStxQuot___elambda__1(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_38; lean_object* x_39; lean_object* x_40;
|
||||
x_3 = lean_ctor_get(x_2, 0);
|
||||
lean_inc(x_3);
|
||||
x_4 = lean_array_get_size(x_3);
|
||||
lean_dec(x_3);
|
||||
x_38 = lean_ctor_get(x_2, 1);
|
||||
lean_inc(x_38);
|
||||
lean_inc(x_1);
|
||||
x_39 = l_Lean_Parser_tokenFn(x_1, x_2);
|
||||
x_40 = lean_ctor_get(x_39, 3);
|
||||
lean_inc(x_40);
|
||||
if (lean_obj_tag(x_40) == 0)
|
||||
{
|
||||
lean_object* x_41; lean_object* x_42;
|
||||
x_41 = lean_ctor_get(x_39, 0);
|
||||
lean_inc(x_41);
|
||||
x_42 = l_Array_back___at_Lean_Parser_checkStackTopFn___spec__1(x_41);
|
||||
lean_dec(x_41);
|
||||
if (lean_obj_tag(x_42) == 2)
|
||||
{
|
||||
lean_object* x_43; lean_object* x_44; uint8_t x_45;
|
||||
x_43 = lean_ctor_get(x_42, 1);
|
||||
lean_inc(x_43);
|
||||
lean_dec(x_42);
|
||||
x_44 = l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__2;
|
||||
x_45 = lean_string_dec_eq(x_43, x_44);
|
||||
lean_dec(x_43);
|
||||
if (x_45 == 0)
|
||||
{
|
||||
lean_object* x_46; lean_object* x_47;
|
||||
x_46 = l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__5;
|
||||
x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_39, x_46, x_38);
|
||||
x_5 = x_47;
|
||||
goto block_37;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_dec(x_38);
|
||||
x_5 = x_39;
|
||||
goto block_37;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_48; lean_object* x_49;
|
||||
lean_dec(x_42);
|
||||
x_48 = l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__5;
|
||||
x_49 = l_Lean_Parser_ParserState_mkErrorsAt(x_39, x_48, x_38);
|
||||
x_5 = x_49;
|
||||
goto block_37;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_50; lean_object* x_51;
|
||||
lean_dec(x_40);
|
||||
x_50 = l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__5;
|
||||
x_51 = l_Lean_Parser_ParserState_mkErrorsAt(x_39, x_50, x_38);
|
||||
x_5 = x_51;
|
||||
goto block_37;
|
||||
}
|
||||
block_37:
|
||||
{
|
||||
lean_object* x_6;
|
||||
x_6 = lean_ctor_get(x_5, 3);
|
||||
lean_inc(x_6);
|
||||
if (lean_obj_tag(x_6) == 0)
|
||||
{
|
||||
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
|
||||
x_7 = l_Lean_Parser_regBuiltinLevelParserAttr___closed__4;
|
||||
x_8 = lean_unsigned_to_nat(0u);
|
||||
lean_inc(x_1);
|
||||
x_9 = l_Lean_Parser_categoryParser___elambda__1(x_7, x_8, x_1, x_5);
|
||||
x_10 = lean_ctor_get(x_9, 3);
|
||||
lean_inc(x_10);
|
||||
if (lean_obj_tag(x_10) == 0)
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13;
|
||||
x_11 = lean_ctor_get(x_9, 1);
|
||||
lean_inc(x_11);
|
||||
x_12 = l_Lean_Parser_tokenFn(x_1, x_9);
|
||||
x_13 = lean_ctor_get(x_12, 3);
|
||||
lean_inc(x_13);
|
||||
if (lean_obj_tag(x_13) == 0)
|
||||
{
|
||||
lean_object* x_14; lean_object* x_15;
|
||||
x_14 = lean_ctor_get(x_12, 0);
|
||||
lean_inc(x_14);
|
||||
x_15 = l_Array_back___at_Lean_Parser_checkStackTopFn___spec__1(x_14);
|
||||
lean_dec(x_14);
|
||||
if (lean_obj_tag(x_15) == 2)
|
||||
{
|
||||
lean_object* x_16; lean_object* x_17; uint8_t x_18;
|
||||
x_16 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_15);
|
||||
x_17 = l___private_Init_Lean_Parser_Parser_11__antiquotNestedExpr___elambda__1___closed__4;
|
||||
x_18 = lean_string_dec_eq(x_16, x_17);
|
||||
lean_dec(x_16);
|
||||
if (x_18 == 0)
|
||||
{
|
||||
lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
|
||||
x_19 = l___private_Init_Lean_Parser_Parser_11__antiquotNestedExpr___elambda__1___closed__7;
|
||||
x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
|
||||
x_21 = l_Lean_Parser_Term_tacticStxQuot___elambda__1___closed__2;
|
||||
x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_4);
|
||||
return x_22;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_23; lean_object* x_24;
|
||||
lean_dec(x_11);
|
||||
x_23 = l_Lean_Parser_Term_tacticStxQuot___elambda__1___closed__2;
|
||||
x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_4);
|
||||
return x_24;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
|
||||
lean_dec(x_15);
|
||||
x_25 = l___private_Init_Lean_Parser_Parser_11__antiquotNestedExpr___elambda__1___closed__7;
|
||||
x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
|
||||
x_27 = l_Lean_Parser_Term_tacticStxQuot___elambda__1___closed__2;
|
||||
x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_4);
|
||||
return x_28;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
|
||||
lean_dec(x_13);
|
||||
x_29 = l___private_Init_Lean_Parser_Parser_11__antiquotNestedExpr___elambda__1___closed__7;
|
||||
x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
|
||||
x_31 = l_Lean_Parser_Term_tacticStxQuot___elambda__1___closed__2;
|
||||
x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_4);
|
||||
return x_32;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_33; lean_object* x_34;
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_1);
|
||||
x_33 = l_Lean_Parser_Term_tacticStxQuot___elambda__1___closed__2;
|
||||
x_34 = l_Lean_Parser_ParserState_mkNode(x_9, x_33, x_4);
|
||||
return x_34;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36;
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_1);
|
||||
x_35 = l_Lean_Parser_Term_tacticStxQuot___elambda__1___closed__2;
|
||||
x_36 = l_Lean_Parser_ParserState_mkNode(x_5, x_35, x_4);
|
||||
return x_36;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_levelStxQuot___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__2;
|
||||
x_2 = l_Lean_Parser_Level_paren___closed__1;
|
||||
x_3 = l_Lean_Parser_symbolInfo(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_levelStxQuot___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Parser_Term_levelStxQuot___closed__1;
|
||||
x_2 = l_Lean_Parser_Level_paren___closed__4;
|
||||
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_levelStxQuot___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Parser_Term_tacticStxQuot___elambda__1___closed__2;
|
||||
x_2 = l_Lean_Parser_Term_levelStxQuot___closed__2;
|
||||
x_3 = l_Lean_Parser_nodeInfo(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_levelStxQuot___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_levelStxQuot___elambda__1), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_levelStxQuot___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Parser_Term_levelStxQuot___closed__3;
|
||||
x_2 = l_Lean_Parser_Term_levelStxQuot___closed__4;
|
||||
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_object* _init_l_Lean_Parser_Term_levelStxQuot() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = l_Lean_Parser_Term_levelStxQuot___closed__5;
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l___regBuiltinParser_Lean_Parser_Term_levelStxQuot___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("levelStxQuot");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l___regBuiltinParser_Lean_Parser_Term_levelStxQuot___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_mkAppStx___closed__6;
|
||||
x_2 = l___regBuiltinParser_Lean_Parser_Term_levelStxQuot___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_levelStxQuot(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = l_Lean_Parser_termParser___closed__2;
|
||||
x_3 = l___regBuiltinParser_Lean_Parser_Term_levelStxQuot___closed__2;
|
||||
x_4 = 1;
|
||||
x_5 = l_Lean_Parser_Term_levelStxQuot;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("`(funBinder|");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__1;
|
||||
x_2 = l_String_trim(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Char_HasRepr___closed__1;
|
||||
x_2 = l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__2;
|
||||
x_3 = lean_string_append(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__3;
|
||||
x_2 = l_Char_HasRepr___closed__1;
|
||||
x_3 = lean_string_append(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__4;
|
||||
x_3 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_2);
|
||||
lean_ctor_set(x_3, 1, x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Parser_Term_funBinderStxQuot___elambda__1(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_36; lean_object* x_37; lean_object* x_38;
|
||||
x_3 = lean_ctor_get(x_2, 0);
|
||||
lean_inc(x_3);
|
||||
x_4 = lean_array_get_size(x_3);
|
||||
lean_dec(x_3);
|
||||
x_36 = lean_ctor_get(x_2, 1);
|
||||
lean_inc(x_36);
|
||||
lean_inc(x_1);
|
||||
x_37 = l_Lean_Parser_tokenFn(x_1, x_2);
|
||||
x_38 = lean_ctor_get(x_37, 3);
|
||||
lean_inc(x_38);
|
||||
if (lean_obj_tag(x_38) == 0)
|
||||
{
|
||||
lean_object* x_39; lean_object* x_40;
|
||||
x_39 = lean_ctor_get(x_37, 0);
|
||||
lean_inc(x_39);
|
||||
x_40 = l_Array_back___at_Lean_Parser_checkStackTopFn___spec__1(x_39);
|
||||
lean_dec(x_39);
|
||||
if (lean_obj_tag(x_40) == 2)
|
||||
{
|
||||
lean_object* x_41; lean_object* x_42; uint8_t x_43;
|
||||
x_41 = lean_ctor_get(x_40, 1);
|
||||
lean_inc(x_41);
|
||||
lean_dec(x_40);
|
||||
x_42 = l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__2;
|
||||
x_43 = lean_string_dec_eq(x_41, x_42);
|
||||
lean_dec(x_41);
|
||||
if (x_43 == 0)
|
||||
{
|
||||
lean_object* x_44; lean_object* x_45;
|
||||
x_44 = l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__5;
|
||||
x_45 = l_Lean_Parser_ParserState_mkErrorsAt(x_37, x_44, x_36);
|
||||
x_5 = x_45;
|
||||
goto block_35;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_dec(x_36);
|
||||
x_5 = x_37;
|
||||
goto block_35;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_46; lean_object* x_47;
|
||||
lean_dec(x_40);
|
||||
x_46 = l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__5;
|
||||
x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_37, x_46, x_36);
|
||||
x_5 = x_47;
|
||||
goto block_35;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_48; lean_object* x_49;
|
||||
lean_dec(x_38);
|
||||
x_48 = l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__5;
|
||||
x_49 = l_Lean_Parser_ParserState_mkErrorsAt(x_37, x_48, x_36);
|
||||
x_5 = x_49;
|
||||
goto block_35;
|
||||
}
|
||||
block_35:
|
||||
{
|
||||
lean_object* x_6;
|
||||
x_6 = lean_ctor_get(x_5, 3);
|
||||
lean_inc(x_6);
|
||||
if (lean_obj_tag(x_6) == 0)
|
||||
{
|
||||
lean_object* x_7; lean_object* x_8;
|
||||
lean_inc(x_1);
|
||||
x_7 = l_Lean_Parser_Term_funBinder___elambda__1(x_1, x_5);
|
||||
x_8 = lean_ctor_get(x_7, 3);
|
||||
lean_inc(x_8);
|
||||
if (lean_obj_tag(x_8) == 0)
|
||||
{
|
||||
lean_object* x_9; lean_object* x_10; lean_object* x_11;
|
||||
x_9 = lean_ctor_get(x_7, 1);
|
||||
lean_inc(x_9);
|
||||
x_10 = l_Lean_Parser_tokenFn(x_1, x_7);
|
||||
x_11 = lean_ctor_get(x_10, 3);
|
||||
lean_inc(x_11);
|
||||
if (lean_obj_tag(x_11) == 0)
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13;
|
||||
x_12 = lean_ctor_get(x_10, 0);
|
||||
lean_inc(x_12);
|
||||
x_13 = l_Array_back___at_Lean_Parser_checkStackTopFn___spec__1(x_12);
|
||||
lean_dec(x_12);
|
||||
if (lean_obj_tag(x_13) == 2)
|
||||
{
|
||||
lean_object* x_14; lean_object* x_15; uint8_t x_16;
|
||||
x_14 = lean_ctor_get(x_13, 1);
|
||||
lean_inc(x_14);
|
||||
lean_dec(x_13);
|
||||
x_15 = l___private_Init_Lean_Parser_Parser_11__antiquotNestedExpr___elambda__1___closed__4;
|
||||
x_16 = lean_string_dec_eq(x_14, x_15);
|
||||
lean_dec(x_14);
|
||||
if (x_16 == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
|
||||
x_17 = l___private_Init_Lean_Parser_Parser_11__antiquotNestedExpr___elambda__1___closed__7;
|
||||
x_18 = l_Lean_Parser_ParserState_mkErrorsAt(x_10, x_17, x_9);
|
||||
x_19 = l_Lean_Parser_Term_tacticStxQuot___elambda__1___closed__2;
|
||||
x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_4);
|
||||
return x_20;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_21; lean_object* x_22;
|
||||
lean_dec(x_9);
|
||||
x_21 = l_Lean_Parser_Term_tacticStxQuot___elambda__1___closed__2;
|
||||
x_22 = l_Lean_Parser_ParserState_mkNode(x_10, x_21, x_4);
|
||||
return x_22;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
lean_dec(x_13);
|
||||
x_23 = l___private_Init_Lean_Parser_Parser_11__antiquotNestedExpr___elambda__1___closed__7;
|
||||
x_24 = l_Lean_Parser_ParserState_mkErrorsAt(x_10, x_23, x_9);
|
||||
x_25 = l_Lean_Parser_Term_tacticStxQuot___elambda__1___closed__2;
|
||||
x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_4);
|
||||
return x_26;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
|
||||
lean_dec(x_11);
|
||||
x_27 = l___private_Init_Lean_Parser_Parser_11__antiquotNestedExpr___elambda__1___closed__7;
|
||||
x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_10, x_27, x_9);
|
||||
x_29 = l_Lean_Parser_Term_tacticStxQuot___elambda__1___closed__2;
|
||||
x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_4);
|
||||
return x_30;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_31; lean_object* x_32;
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_1);
|
||||
x_31 = l_Lean_Parser_Term_tacticStxQuot___elambda__1___closed__2;
|
||||
x_32 = l_Lean_Parser_ParserState_mkNode(x_7, x_31, x_4);
|
||||
return x_32;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_33; lean_object* x_34;
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_1);
|
||||
x_33 = l_Lean_Parser_Term_tacticStxQuot___elambda__1___closed__2;
|
||||
x_34 = l_Lean_Parser_ParserState_mkNode(x_5, x_33, x_4);
|
||||
return x_34;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_funBinderStxQuot___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__2;
|
||||
x_2 = l_Lean_Parser_Level_paren___closed__1;
|
||||
x_3 = l_Lean_Parser_symbolInfo(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_funBinderStxQuot___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
|
||||
x_1 = l_Lean_Parser_Term_funBinder;
|
||||
x_2 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_2);
|
||||
x_3 = l___private_Init_Lean_Parser_Parser_11__antiquotNestedExpr___closed__3;
|
||||
x_4 = l_Lean_Parser_andthenInfo(x_2, x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_funBinderStxQuot___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Parser_Term_funBinderStxQuot___closed__1;
|
||||
x_2 = l_Lean_Parser_Term_funBinderStxQuot___closed__2;
|
||||
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_funBinderStxQuot___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Parser_Term_tacticStxQuot___elambda__1___closed__2;
|
||||
x_2 = l_Lean_Parser_Term_funBinderStxQuot___closed__3;
|
||||
x_3 = l_Lean_Parser_nodeInfo(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_funBinderStxQuot___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_funBinderStxQuot___elambda__1), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_funBinderStxQuot___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Parser_Term_funBinderStxQuot___closed__4;
|
||||
x_2 = l_Lean_Parser_Term_funBinderStxQuot___closed__5;
|
||||
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_object* _init_l_Lean_Parser_Term_funBinderStxQuot() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = l_Lean_Parser_Term_funBinderStxQuot___closed__6;
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l___regBuiltinParser_Lean_Parser_Term_funBinderStxQuot___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("funBinderStxQuot");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l___regBuiltinParser_Lean_Parser_Term_funBinderStxQuot___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_mkAppStx___closed__6;
|
||||
x_2 = l___regBuiltinParser_Lean_Parser_Term_funBinderStxQuot___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_funBinderStxQuot(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = l_Lean_Parser_termParser___closed__2;
|
||||
x_3 = l___regBuiltinParser_Lean_Parser_Term_funBinderStxQuot___closed__2;
|
||||
x_4 = 1;
|
||||
x_5 = l_Lean_Parser_Term_funBinderStxQuot;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* initialize_Init_Lean_Parser_Parser(lean_object*);
|
||||
lean_object* initialize_Init_Lean_Parser_Level(lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
|
|
@ -54535,6 +55179,66 @@ lean_mark_persistent(l___regBuiltinParser_Lean_Parser_Term_tacticStxQuot___close
|
|||
res = l___regBuiltinParser_Lean_Parser_Term_tacticStxQuot(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__1 = _init_l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__1();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__1);
|
||||
l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__2 = _init_l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__2();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__2);
|
||||
l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__3 = _init_l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__3();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__3);
|
||||
l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__4 = _init_l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__4();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__4);
|
||||
l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__5 = _init_l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__5();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_levelStxQuot___elambda__1___closed__5);
|
||||
l_Lean_Parser_Term_levelStxQuot___closed__1 = _init_l_Lean_Parser_Term_levelStxQuot___closed__1();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_levelStxQuot___closed__1);
|
||||
l_Lean_Parser_Term_levelStxQuot___closed__2 = _init_l_Lean_Parser_Term_levelStxQuot___closed__2();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_levelStxQuot___closed__2);
|
||||
l_Lean_Parser_Term_levelStxQuot___closed__3 = _init_l_Lean_Parser_Term_levelStxQuot___closed__3();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_levelStxQuot___closed__3);
|
||||
l_Lean_Parser_Term_levelStxQuot___closed__4 = _init_l_Lean_Parser_Term_levelStxQuot___closed__4();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_levelStxQuot___closed__4);
|
||||
l_Lean_Parser_Term_levelStxQuot___closed__5 = _init_l_Lean_Parser_Term_levelStxQuot___closed__5();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_levelStxQuot___closed__5);
|
||||
l_Lean_Parser_Term_levelStxQuot = _init_l_Lean_Parser_Term_levelStxQuot();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_levelStxQuot);
|
||||
l___regBuiltinParser_Lean_Parser_Term_levelStxQuot___closed__1 = _init_l___regBuiltinParser_Lean_Parser_Term_levelStxQuot___closed__1();
|
||||
lean_mark_persistent(l___regBuiltinParser_Lean_Parser_Term_levelStxQuot___closed__1);
|
||||
l___regBuiltinParser_Lean_Parser_Term_levelStxQuot___closed__2 = _init_l___regBuiltinParser_Lean_Parser_Term_levelStxQuot___closed__2();
|
||||
lean_mark_persistent(l___regBuiltinParser_Lean_Parser_Term_levelStxQuot___closed__2);
|
||||
res = l___regBuiltinParser_Lean_Parser_Term_levelStxQuot(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__1 = _init_l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__1();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__1);
|
||||
l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__2 = _init_l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__2();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__2);
|
||||
l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__3 = _init_l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__3();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__3);
|
||||
l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__4 = _init_l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__4();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__4);
|
||||
l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__5 = _init_l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__5();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_funBinderStxQuot___elambda__1___closed__5);
|
||||
l_Lean_Parser_Term_funBinderStxQuot___closed__1 = _init_l_Lean_Parser_Term_funBinderStxQuot___closed__1();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_funBinderStxQuot___closed__1);
|
||||
l_Lean_Parser_Term_funBinderStxQuot___closed__2 = _init_l_Lean_Parser_Term_funBinderStxQuot___closed__2();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_funBinderStxQuot___closed__2);
|
||||
l_Lean_Parser_Term_funBinderStxQuot___closed__3 = _init_l_Lean_Parser_Term_funBinderStxQuot___closed__3();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_funBinderStxQuot___closed__3);
|
||||
l_Lean_Parser_Term_funBinderStxQuot___closed__4 = _init_l_Lean_Parser_Term_funBinderStxQuot___closed__4();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_funBinderStxQuot___closed__4);
|
||||
l_Lean_Parser_Term_funBinderStxQuot___closed__5 = _init_l_Lean_Parser_Term_funBinderStxQuot___closed__5();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_funBinderStxQuot___closed__5);
|
||||
l_Lean_Parser_Term_funBinderStxQuot___closed__6 = _init_l_Lean_Parser_Term_funBinderStxQuot___closed__6();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_funBinderStxQuot___closed__6);
|
||||
l_Lean_Parser_Term_funBinderStxQuot = _init_l_Lean_Parser_Term_funBinderStxQuot();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_funBinderStxQuot);
|
||||
l___regBuiltinParser_Lean_Parser_Term_funBinderStxQuot___closed__1 = _init_l___regBuiltinParser_Lean_Parser_Term_funBinderStxQuot___closed__1();
|
||||
lean_mark_persistent(l___regBuiltinParser_Lean_Parser_Term_funBinderStxQuot___closed__1);
|
||||
l___regBuiltinParser_Lean_Parser_Term_funBinderStxQuot___closed__2 = _init_l___regBuiltinParser_Lean_Parser_Term_funBinderStxQuot___closed__2();
|
||||
lean_mark_persistent(l___regBuiltinParser_Lean_Parser_Term_funBinderStxQuot___closed__2);
|
||||
res = l___regBuiltinParser_Lean_Parser_Term_funBinderStxQuot(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_mk_io_result(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
755
stage0/stdlib/Init/Lean/Util/Recognizers.c
Normal file
755
stage0/stdlib/Init/Lean/Util/Recognizers.c
Normal file
|
|
@ -0,0 +1,755 @@
|
|||
// Lean compiler output
|
||||
// Module: Init.Lean.Util.Recognizers
|
||||
// Imports: Init.Lean.Expr
|
||||
#include "runtime/lean.h"
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic ignored "-Wunused-parameter"
|
||||
#pragma clang diagnostic ignored "-Wunused-label"
|
||||
#elif defined(__GNUC__) && !defined(__CLANG__)
|
||||
#pragma GCC diagnostic ignored "-Wunused-parameter"
|
||||
#pragma GCC diagnostic ignored "-Wunused-label"
|
||||
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
|
||||
#endif
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
lean_object* l_List_reverse___rarg(lean_object*);
|
||||
lean_object* l_Lean_Expr_eq_x3f___closed__1;
|
||||
lean_object* l_Lean_Expr_prod_x3f___closed__2;
|
||||
lean_object* l_Lean_Expr_iff_x3f(lean_object*);
|
||||
lean_object* l_Lean_Expr_eq_x3f___closed__2;
|
||||
lean_object* l_Lean_Expr_eq_x3f___boxed(lean_object*);
|
||||
lean_object* l_Lean_Expr_appFn_x21(lean_object*);
|
||||
lean_object* l_Lean_Expr_listLitAux___main___closed__5;
|
||||
lean_object* l_Lean_Expr_app4_x3f(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_appArg_x21(lean_object*);
|
||||
lean_object* l_Lean_Expr_listLit_x3f(lean_object*);
|
||||
lean_object* l_Lean_Expr_heq_x3f___closed__2;
|
||||
lean_object* l_Lean_Expr_iff_x3f___closed__2;
|
||||
lean_object* l_Lean_Expr_heq_x3f(lean_object*);
|
||||
lean_object* l_Lean_Expr_app4_x3f___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_eq_x3f(lean_object*);
|
||||
lean_object* l_Lean_Expr_iff_x3f___boxed(lean_object*);
|
||||
lean_object* lean_name_mk_string(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_app3_x3f___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_iff_x3f___closed__1;
|
||||
lean_object* l_Lean_Expr_app2_x3f(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_listLitAux(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_listLitAux___main___closed__4;
|
||||
uint8_t l_Lean_Expr_isAppOfArity___main(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_listLitAux___main(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_app3_x3f(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_heq_x3f___closed__1;
|
||||
lean_object* l_Lean_Expr_heq_x3f___boxed(lean_object*);
|
||||
lean_object* l_Lean_Expr_app1_x3f___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_app2_x3f___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_listLitAux___main___closed__6;
|
||||
lean_object* l_Lean_Expr_arrow_x3f(lean_object*);
|
||||
lean_object* l_Lean_Expr_listLitAux___main___closed__2;
|
||||
lean_object* l_Lean_Expr_app1_x3f(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_arrayLit_x3f___closed__1;
|
||||
lean_object* l_Lean_Expr_arrayLit_x3f___boxed(lean_object*);
|
||||
lean_object* l_Lean_Expr_arrayLit_x3f(lean_object*);
|
||||
uint8_t l_Lean_Expr_hasLooseBVars(lean_object*);
|
||||
lean_object* l_Lean_Expr_arrow_x3f___boxed(lean_object*);
|
||||
lean_object* l_Lean_Expr_prod_x3f___closed__1;
|
||||
lean_object* l_Lean_Expr_arrayLit_x3f___closed__2;
|
||||
lean_object* l_Lean_Expr_prod_x3f(lean_object*);
|
||||
lean_object* l_Lean_Expr_prod_x3f___boxed(lean_object*);
|
||||
lean_object* l_Lean_Expr_listLitAux___main___closed__3;
|
||||
lean_object* l_Lean_Expr_listLitAux___main___closed__1;
|
||||
lean_object* l_Lean_Expr_app1_x3f(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; uint8_t x_4;
|
||||
x_3 = lean_unsigned_to_nat(1u);
|
||||
x_4 = l_Lean_Expr_isAppOfArity___main(x_1, x_2, x_3);
|
||||
if (x_4 == 0)
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = lean_box(0);
|
||||
return x_5;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_6; lean_object* x_7;
|
||||
x_6 = l_Lean_Expr_appArg_x21(x_1);
|
||||
x_7 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_7, 0, x_6);
|
||||
return x_7;
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_app1_x3f___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_Expr_app1_x3f(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_app2_x3f(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; uint8_t x_4;
|
||||
x_3 = lean_unsigned_to_nat(2u);
|
||||
x_4 = l_Lean_Expr_isAppOfArity___main(x_1, x_2, x_3);
|
||||
if (x_4 == 0)
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = lean_box(0);
|
||||
return x_5;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
|
||||
x_6 = l_Lean_Expr_appFn_x21(x_1);
|
||||
x_7 = l_Lean_Expr_appArg_x21(x_6);
|
||||
lean_dec(x_6);
|
||||
x_8 = l_Lean_Expr_appArg_x21(x_1);
|
||||
x_9 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_9, 0, x_7);
|
||||
lean_ctor_set(x_9, 1, x_8);
|
||||
x_10 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_10, 0, x_9);
|
||||
return x_10;
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_app2_x3f___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_Expr_app2_x3f(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_app3_x3f(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; uint8_t x_4;
|
||||
x_3 = lean_unsigned_to_nat(3u);
|
||||
x_4 = l_Lean_Expr_isAppOfArity___main(x_1, x_2, x_3);
|
||||
if (x_4 == 0)
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = lean_box(0);
|
||||
return x_5;
|
||||
}
|
||||
else
|
||||
{
|
||||
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;
|
||||
x_6 = l_Lean_Expr_appFn_x21(x_1);
|
||||
x_7 = l_Lean_Expr_appFn_x21(x_6);
|
||||
x_8 = l_Lean_Expr_appArg_x21(x_7);
|
||||
lean_dec(x_7);
|
||||
x_9 = l_Lean_Expr_appArg_x21(x_6);
|
||||
lean_dec(x_6);
|
||||
x_10 = l_Lean_Expr_appArg_x21(x_1);
|
||||
x_11 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_11, 0, x_9);
|
||||
lean_ctor_set(x_11, 1, x_10);
|
||||
x_12 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_12, 0, x_8);
|
||||
lean_ctor_set(x_12, 1, x_11);
|
||||
x_13 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_13, 0, x_12);
|
||||
return x_13;
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_app3_x3f___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_Expr_app3_x3f(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_app4_x3f(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; uint8_t x_4;
|
||||
x_3 = lean_unsigned_to_nat(4u);
|
||||
x_4 = l_Lean_Expr_isAppOfArity___main(x_1, x_2, x_3);
|
||||
if (x_4 == 0)
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = lean_box(0);
|
||||
return x_5;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
x_6 = l_Lean_Expr_appFn_x21(x_1);
|
||||
x_7 = l_Lean_Expr_appFn_x21(x_6);
|
||||
x_8 = l_Lean_Expr_appFn_x21(x_7);
|
||||
x_9 = l_Lean_Expr_appArg_x21(x_8);
|
||||
lean_dec(x_8);
|
||||
x_10 = l_Lean_Expr_appArg_x21(x_7);
|
||||
lean_dec(x_7);
|
||||
x_11 = l_Lean_Expr_appArg_x21(x_6);
|
||||
lean_dec(x_6);
|
||||
x_12 = l_Lean_Expr_appArg_x21(x_1);
|
||||
x_13 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_13, 0, x_11);
|
||||
lean_ctor_set(x_13, 1, x_12);
|
||||
x_14 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_14, 0, x_10);
|
||||
lean_ctor_set(x_14, 1, x_13);
|
||||
x_15 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_15, 0, x_9);
|
||||
lean_ctor_set(x_15, 1, x_14);
|
||||
x_16 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_16, 0, x_15);
|
||||
return x_16;
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_app4_x3f___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_Expr_app4_x3f(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_eq_x3f___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("Eq");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_eq_x3f___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Expr_eq_x3f___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_eq_x3f(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; uint8_t x_4;
|
||||
x_2 = l_Lean_Expr_eq_x3f___closed__2;
|
||||
x_3 = lean_unsigned_to_nat(3u);
|
||||
x_4 = l_Lean_Expr_isAppOfArity___main(x_1, x_2, x_3);
|
||||
if (x_4 == 0)
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = lean_box(0);
|
||||
return x_5;
|
||||
}
|
||||
else
|
||||
{
|
||||
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;
|
||||
x_6 = l_Lean_Expr_appFn_x21(x_1);
|
||||
x_7 = l_Lean_Expr_appFn_x21(x_6);
|
||||
x_8 = l_Lean_Expr_appArg_x21(x_7);
|
||||
lean_dec(x_7);
|
||||
x_9 = l_Lean_Expr_appArg_x21(x_6);
|
||||
lean_dec(x_6);
|
||||
x_10 = l_Lean_Expr_appArg_x21(x_1);
|
||||
x_11 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_11, 0, x_9);
|
||||
lean_ctor_set(x_11, 1, x_10);
|
||||
x_12 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_12, 0, x_8);
|
||||
lean_ctor_set(x_12, 1, x_11);
|
||||
x_13 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_13, 0, x_12);
|
||||
return x_13;
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_eq_x3f___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_Expr_eq_x3f(x_1);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_iff_x3f___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("Iff");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_iff_x3f___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Expr_iff_x3f___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_iff_x3f(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; uint8_t x_4;
|
||||
x_2 = l_Lean_Expr_iff_x3f___closed__2;
|
||||
x_3 = lean_unsigned_to_nat(2u);
|
||||
x_4 = l_Lean_Expr_isAppOfArity___main(x_1, x_2, x_3);
|
||||
if (x_4 == 0)
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = lean_box(0);
|
||||
return x_5;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
|
||||
x_6 = l_Lean_Expr_appFn_x21(x_1);
|
||||
x_7 = l_Lean_Expr_appArg_x21(x_6);
|
||||
lean_dec(x_6);
|
||||
x_8 = l_Lean_Expr_appArg_x21(x_1);
|
||||
x_9 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_9, 0, x_7);
|
||||
lean_ctor_set(x_9, 1, x_8);
|
||||
x_10 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_10, 0, x_9);
|
||||
return x_10;
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_iff_x3f___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_Expr_iff_x3f(x_1);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_heq_x3f___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("HEq");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_heq_x3f___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Expr_heq_x3f___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_heq_x3f(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; uint8_t x_4;
|
||||
x_2 = l_Lean_Expr_heq_x3f___closed__2;
|
||||
x_3 = lean_unsigned_to_nat(4u);
|
||||
x_4 = l_Lean_Expr_isAppOfArity___main(x_1, x_2, x_3);
|
||||
if (x_4 == 0)
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = lean_box(0);
|
||||
return x_5;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
x_6 = l_Lean_Expr_appFn_x21(x_1);
|
||||
x_7 = l_Lean_Expr_appFn_x21(x_6);
|
||||
x_8 = l_Lean_Expr_appFn_x21(x_7);
|
||||
x_9 = l_Lean_Expr_appArg_x21(x_8);
|
||||
lean_dec(x_8);
|
||||
x_10 = l_Lean_Expr_appArg_x21(x_7);
|
||||
lean_dec(x_7);
|
||||
x_11 = l_Lean_Expr_appArg_x21(x_6);
|
||||
lean_dec(x_6);
|
||||
x_12 = l_Lean_Expr_appArg_x21(x_1);
|
||||
x_13 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_13, 0, x_11);
|
||||
lean_ctor_set(x_13, 1, x_12);
|
||||
x_14 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_14, 0, x_10);
|
||||
lean_ctor_set(x_14, 1, x_13);
|
||||
x_15 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_15, 0, x_9);
|
||||
lean_ctor_set(x_15, 1, x_14);
|
||||
x_16 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_16, 0, x_15);
|
||||
return x_16;
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_heq_x3f___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_Expr_heq_x3f(x_1);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_arrow_x3f(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_1) == 7)
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; uint8_t x_4;
|
||||
x_2 = lean_ctor_get(x_1, 1);
|
||||
x_3 = lean_ctor_get(x_1, 2);
|
||||
x_4 = l_Lean_Expr_hasLooseBVars(x_3);
|
||||
if (x_4 == 0)
|
||||
{
|
||||
lean_object* x_5; lean_object* x_6;
|
||||
lean_inc(x_3);
|
||||
lean_inc(x_2);
|
||||
x_5 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_5, 0, x_2);
|
||||
lean_ctor_set(x_5, 1, x_3);
|
||||
x_6 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_6, 0, x_5);
|
||||
return x_6;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_7;
|
||||
x_7 = lean_box(0);
|
||||
return x_7;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_8;
|
||||
x_8 = lean_box(0);
|
||||
return x_8;
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_arrow_x3f___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_Expr_arrow_x3f(x_1);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_listLitAux___main___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("List");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_listLitAux___main___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Expr_listLitAux___main___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_listLitAux___main___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("nil");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_listLitAux___main___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Expr_listLitAux___main___closed__2;
|
||||
x_2 = l_Lean_Expr_listLitAux___main___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_listLitAux___main___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("cons");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_listLitAux___main___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Expr_listLitAux___main___closed__2;
|
||||
x_2 = l_Lean_Expr_listLitAux___main___closed__5;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_listLitAux___main(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4; uint8_t x_5;
|
||||
x_3 = l_Lean_Expr_listLitAux___main___closed__4;
|
||||
x_4 = lean_unsigned_to_nat(1u);
|
||||
x_5 = l_Lean_Expr_isAppOfArity___main(x_1, x_3, x_4);
|
||||
if (x_5 == 0)
|
||||
{
|
||||
lean_object* x_6; lean_object* x_7; uint8_t x_8;
|
||||
x_6 = l_Lean_Expr_listLitAux___main___closed__6;
|
||||
x_7 = lean_unsigned_to_nat(3u);
|
||||
x_8 = l_Lean_Expr_isAppOfArity___main(x_1, x_6, x_7);
|
||||
if (x_8 == 0)
|
||||
{
|
||||
lean_object* x_9;
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_9 = lean_box(0);
|
||||
return x_9;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
|
||||
x_10 = l_Lean_Expr_appArg_x21(x_1);
|
||||
x_11 = l_Lean_Expr_appFn_x21(x_1);
|
||||
lean_dec(x_1);
|
||||
x_12 = l_Lean_Expr_appArg_x21(x_11);
|
||||
lean_dec(x_11);
|
||||
x_13 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_13, 0, x_12);
|
||||
lean_ctor_set(x_13, 1, x_2);
|
||||
x_1 = x_10;
|
||||
x_2 = x_13;
|
||||
goto _start;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_15; lean_object* x_16;
|
||||
lean_dec(x_1);
|
||||
x_15 = l_List_reverse___rarg(x_2);
|
||||
x_16 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_16, 0, x_15);
|
||||
return x_16;
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_listLitAux(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_Expr_listLitAux___main(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_listLit_x3f(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3;
|
||||
x_2 = lean_box(0);
|
||||
x_3 = l_Lean_Expr_listLitAux___main(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_arrayLit_x3f___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("toArray");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_arrayLit_x3f___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Expr_listLitAux___main___closed__2;
|
||||
x_2 = l_Lean_Expr_arrayLit_x3f___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_arrayLit_x3f(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_8; lean_object* x_9; uint8_t x_10;
|
||||
x_8 = l_Lean_Expr_arrayLit_x3f___closed__2;
|
||||
x_9 = lean_unsigned_to_nat(2u);
|
||||
x_10 = l_Lean_Expr_isAppOfArity___main(x_1, x_8, x_9);
|
||||
if (x_10 == 0)
|
||||
{
|
||||
lean_object* x_11;
|
||||
x_11 = lean_box(0);
|
||||
x_2 = x_11;
|
||||
goto block_7;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
x_12 = l_Lean_Expr_appFn_x21(x_1);
|
||||
x_13 = l_Lean_Expr_appArg_x21(x_12);
|
||||
lean_dec(x_12);
|
||||
x_14 = l_Lean_Expr_appArg_x21(x_1);
|
||||
x_15 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_15, 0, x_13);
|
||||
lean_ctor_set(x_15, 1, x_14);
|
||||
x_16 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_16, 0, x_15);
|
||||
x_2 = x_16;
|
||||
goto block_7;
|
||||
}
|
||||
block_7:
|
||||
{
|
||||
if (lean_obj_tag(x_2) == 0)
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = lean_box(0);
|
||||
return x_3;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_4 = lean_ctor_get(x_2, 0);
|
||||
lean_inc(x_4);
|
||||
lean_dec(x_2);
|
||||
x_5 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_5);
|
||||
lean_dec(x_4);
|
||||
x_6 = l_Lean_Expr_listLit_x3f(x_5);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_arrayLit_x3f___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_Expr_arrayLit_x3f(x_1);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_prod_x3f___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("Prod");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_prod_x3f___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Expr_prod_x3f___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_prod_x3f(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; uint8_t x_4;
|
||||
x_2 = l_Lean_Expr_prod_x3f___closed__2;
|
||||
x_3 = lean_unsigned_to_nat(2u);
|
||||
x_4 = l_Lean_Expr_isAppOfArity___main(x_1, x_2, x_3);
|
||||
if (x_4 == 0)
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = lean_box(0);
|
||||
return x_5;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
|
||||
x_6 = l_Lean_Expr_appFn_x21(x_1);
|
||||
x_7 = l_Lean_Expr_appArg_x21(x_6);
|
||||
lean_dec(x_6);
|
||||
x_8 = l_Lean_Expr_appArg_x21(x_1);
|
||||
x_9 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_9, 0, x_7);
|
||||
lean_ctor_set(x_9, 1, x_8);
|
||||
x_10 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_10, 0, x_9);
|
||||
return x_10;
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_prod_x3f___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_Expr_prod_x3f(x_1);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* initialize_Init_Lean_Expr(lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
lean_object* initialize_Init_Lean_Util_Recognizers(lean_object* w) {
|
||||
lean_object * res;
|
||||
if (_G_initialized) return lean_mk_io_result(lean_box(0));
|
||||
_G_initialized = true;
|
||||
res = initialize_Init_Lean_Expr(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l_Lean_Expr_eq_x3f___closed__1 = _init_l_Lean_Expr_eq_x3f___closed__1();
|
||||
lean_mark_persistent(l_Lean_Expr_eq_x3f___closed__1);
|
||||
l_Lean_Expr_eq_x3f___closed__2 = _init_l_Lean_Expr_eq_x3f___closed__2();
|
||||
lean_mark_persistent(l_Lean_Expr_eq_x3f___closed__2);
|
||||
l_Lean_Expr_iff_x3f___closed__1 = _init_l_Lean_Expr_iff_x3f___closed__1();
|
||||
lean_mark_persistent(l_Lean_Expr_iff_x3f___closed__1);
|
||||
l_Lean_Expr_iff_x3f___closed__2 = _init_l_Lean_Expr_iff_x3f___closed__2();
|
||||
lean_mark_persistent(l_Lean_Expr_iff_x3f___closed__2);
|
||||
l_Lean_Expr_heq_x3f___closed__1 = _init_l_Lean_Expr_heq_x3f___closed__1();
|
||||
lean_mark_persistent(l_Lean_Expr_heq_x3f___closed__1);
|
||||
l_Lean_Expr_heq_x3f___closed__2 = _init_l_Lean_Expr_heq_x3f___closed__2();
|
||||
lean_mark_persistent(l_Lean_Expr_heq_x3f___closed__2);
|
||||
l_Lean_Expr_listLitAux___main___closed__1 = _init_l_Lean_Expr_listLitAux___main___closed__1();
|
||||
lean_mark_persistent(l_Lean_Expr_listLitAux___main___closed__1);
|
||||
l_Lean_Expr_listLitAux___main___closed__2 = _init_l_Lean_Expr_listLitAux___main___closed__2();
|
||||
lean_mark_persistent(l_Lean_Expr_listLitAux___main___closed__2);
|
||||
l_Lean_Expr_listLitAux___main___closed__3 = _init_l_Lean_Expr_listLitAux___main___closed__3();
|
||||
lean_mark_persistent(l_Lean_Expr_listLitAux___main___closed__3);
|
||||
l_Lean_Expr_listLitAux___main___closed__4 = _init_l_Lean_Expr_listLitAux___main___closed__4();
|
||||
lean_mark_persistent(l_Lean_Expr_listLitAux___main___closed__4);
|
||||
l_Lean_Expr_listLitAux___main___closed__5 = _init_l_Lean_Expr_listLitAux___main___closed__5();
|
||||
lean_mark_persistent(l_Lean_Expr_listLitAux___main___closed__5);
|
||||
l_Lean_Expr_listLitAux___main___closed__6 = _init_l_Lean_Expr_listLitAux___main___closed__6();
|
||||
lean_mark_persistent(l_Lean_Expr_listLitAux___main___closed__6);
|
||||
l_Lean_Expr_arrayLit_x3f___closed__1 = _init_l_Lean_Expr_arrayLit_x3f___closed__1();
|
||||
lean_mark_persistent(l_Lean_Expr_arrayLit_x3f___closed__1);
|
||||
l_Lean_Expr_arrayLit_x3f___closed__2 = _init_l_Lean_Expr_arrayLit_x3f___closed__2();
|
||||
lean_mark_persistent(l_Lean_Expr_arrayLit_x3f___closed__2);
|
||||
l_Lean_Expr_prod_x3f___closed__1 = _init_l_Lean_Expr_prod_x3f___closed__1();
|
||||
lean_mark_persistent(l_Lean_Expr_prod_x3f___closed__1);
|
||||
l_Lean_Expr_prod_x3f___closed__2 = _init_l_Lean_Expr_prod_x3f___closed__2();
|
||||
lean_mark_persistent(l_Lean_Expr_prod_x3f___closed__2);
|
||||
return lean_mk_io_result(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
@ -4627,7 +4627,6 @@ x_47 = lean_nat_add(x_46, x_40);
|
|||
lean_dec(x_40);
|
||||
lean_dec(x_46);
|
||||
x_48 = l_Char_ofNat(x_47);
|
||||
lean_dec(x_47);
|
||||
x_49 = lean_box_uint32(x_48);
|
||||
lean_ctor_set(x_38, 0, x_49);
|
||||
return x_35;
|
||||
|
|
@ -4657,7 +4656,6 @@ x_58 = lean_nat_add(x_57, x_50);
|
|||
lean_dec(x_50);
|
||||
lean_dec(x_57);
|
||||
x_59 = l_Char_ofNat(x_58);
|
||||
lean_dec(x_58);
|
||||
x_60 = lean_box_uint32(x_59);
|
||||
x_61 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_61, 0, x_60);
|
||||
|
|
@ -4701,7 +4699,6 @@ x_72 = lean_nat_add(x_71, x_63);
|
|||
lean_dec(x_63);
|
||||
lean_dec(x_71);
|
||||
x_73 = l_Char_ofNat(x_72);
|
||||
lean_dec(x_72);
|
||||
x_74 = lean_box_uint32(x_73);
|
||||
if (lean_is_scalar(x_65)) {
|
||||
x_75 = lean_alloc_ctor(0, 2, 0);
|
||||
|
|
@ -4771,7 +4768,6 @@ x_90 = lean_nat_add(x_89, x_87);
|
|||
lean_dec(x_87);
|
||||
lean_dec(x_89);
|
||||
x_91 = l_Char_ofNat(x_90);
|
||||
lean_dec(x_90);
|
||||
x_92 = lean_box_uint32(x_91);
|
||||
lean_ctor_set(x_85, 0, x_92);
|
||||
return x_82;
|
||||
|
|
@ -4791,7 +4787,6 @@ x_97 = lean_nat_add(x_96, x_93);
|
|||
lean_dec(x_93);
|
||||
lean_dec(x_96);
|
||||
x_98 = l_Char_ofNat(x_97);
|
||||
lean_dec(x_97);
|
||||
x_99 = lean_box_uint32(x_98);
|
||||
x_100 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_100, 0, x_99);
|
||||
|
|
@ -4825,7 +4820,6 @@ x_107 = lean_nat_add(x_106, x_102);
|
|||
lean_dec(x_102);
|
||||
lean_dec(x_106);
|
||||
x_108 = l_Char_ofNat(x_107);
|
||||
lean_dec(x_107);
|
||||
x_109 = lean_box_uint32(x_108);
|
||||
if (lean_is_scalar(x_104)) {
|
||||
x_110 = lean_alloc_ctor(0, 2, 0);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue