chore: update stage0
This commit is contained in:
parent
94689ca91f
commit
17770ee479
37 changed files with 10236 additions and 5945 deletions
|
|
@ -717,7 +717,7 @@ export Array (mkArray)
|
|||
| [] => 0
|
||||
| _::as => as.redLength + 1
|
||||
|
||||
@[inline] def List.toArray {α : Type u} (as : List α) : Array α :=
|
||||
@[inline, matchPattern] def List.toArray {α : Type u} (as : List α) : Array α :=
|
||||
as.toArrayAux (Array.mkEmpty as.redLength)
|
||||
|
||||
namespace Array
|
||||
|
|
|
|||
|
|
@ -98,8 +98,8 @@ alts.map mkMatchAltView
|
|||
def mkInaccessible (e : Expr) : Expr :=
|
||||
mkAnnotation `_inaccessible e
|
||||
|
||||
def isInaccessible? (e : Expr) : Option Expr :=
|
||||
isAnnotation? `_inaccessible e
|
||||
def inaccessible? (e : Expr) : Option Expr :=
|
||||
annotation? `_inaccessible e
|
||||
|
||||
inductive PatternVar
|
||||
| localVar (userName : Name)
|
||||
|
|
@ -369,7 +369,7 @@ private partial def withPatternVarsAux {α} (pVars : Array PatternVar) (k : Arra
|
|||
private def withPatternVars {α} (pVars : Array PatternVar) (k : Array PatternVarDecl → TermElabM α) : TermElabM α :=
|
||||
withPatternVarsAux pVars k 0 #[]
|
||||
|
||||
private partial def elabPatternsAux (patternStxs : Array Syntax) : Nat → Expr → Array Expr → TermElabM (Array Expr)
|
||||
private partial def elabPatternsAux (patternStxs : Array Syntax) : Nat → Expr → Array Expr → TermElabM (Array Expr × Expr)
|
||||
| i, matchType, patterns =>
|
||||
if h : i < patternStxs.size then do
|
||||
matchType ← whnf matchType;
|
||||
|
|
@ -381,7 +381,7 @@ private partial def elabPatternsAux (patternStxs : Array Syntax) : Nat → Expr
|
|||
elabPatternsAux (i+1) (b.instantiate1 pattern) (patterns.push pattern)
|
||||
| _ => throwError "unexpected match type"
|
||||
else
|
||||
pure patterns
|
||||
pure (patterns, matchType)
|
||||
|
||||
def finalizePatternDecls (patternVarDecls : Array PatternVarDecl) : TermElabM (Array LocalDecl) :=
|
||||
patternVarDecls.foldlM
|
||||
|
|
@ -400,21 +400,130 @@ patternVarDecls.foldlM
|
|||
pure $ decls.push decl))
|
||||
#[]
|
||||
|
||||
private def elabPatterns (patternVarDecls : Array PatternVarDecl) (patternStxs : Array Syntax) (matchType : Expr) : TermElabM (Array Expr) := do
|
||||
patterns ← withSynthesize $ elabPatternsAux patternStxs 0 matchType #[];
|
||||
patterns ← patterns.mapM instantiateMVars;
|
||||
decls ← finalizePatternDecls patternVarDecls;
|
||||
trace `Elab.match fun _ => MessageData.ofArray $ decls.map fun (d : LocalDecl) => (d.userName ++ " : " ++ d.type : MessageData);
|
||||
trace `Elab.match fun _ => "patterns: " ++ patterns;
|
||||
pure patterns
|
||||
namespace ToDepElimPattern
|
||||
|
||||
def elabMatchAltView (alt : MatchAltView) (matchType : Expr) : TermElabM (Meta.DepElim.AltLHS × Expr) := do
|
||||
structure State :=
|
||||
(found : NameSet := {})
|
||||
|
||||
abbrev M := StateT State TermElabM
|
||||
|
||||
private def alreadyVisited (fvarId : FVarId) : M Bool := do
|
||||
s ← get;
|
||||
pure $ s.found.contains fvarId
|
||||
|
||||
private def markAsVisited (fvarId : FVarId) : M Unit :=
|
||||
modify $ fun s => { s with found := s.found.insert fvarId }
|
||||
|
||||
private def throwInvalidPattern {α} (e : Expr) : M α :=
|
||||
liftM $ throwError ("invalid pattern " ++ indentExpr e)
|
||||
|
||||
private def getFieldsBinderInfoAux (ctorVal : ConstructorVal) : Nat → Expr → Array BinderInfo → Array BinderInfo
|
||||
| i, Expr.forallE _ d b c, bis =>
|
||||
if i < ctorVal.nparams then
|
||||
getFieldsBinderInfoAux (i+1) b bis
|
||||
else
|
||||
getFieldsBinderInfoAux (i+1) b (bis.push c.binderInfo)
|
||||
| _, _, bis => bis
|
||||
|
||||
private def getFieldsBinderInfo (ctorVal : ConstructorVal) : Array BinderInfo :=
|
||||
getFieldsBinderInfoAux ctorVal 0 ctorVal.type #[]
|
||||
|
||||
partial def main (localDecls : Array LocalDecl) : Expr → M Meta.DepElim.Pattern
|
||||
| e =>
|
||||
let isLocalDecl (fvarId : FVarId) : Bool :=
|
||||
localDecls.any fun d => d.fvarId == fvarId;
|
||||
let mkPatternVar (fvarId : FVarId) (e : Expr) : M Meta.DepElim.Pattern := do {
|
||||
condM (alreadyVisited fvarId)
|
||||
(pure $ Meta.DepElim.Pattern.inaccessible e)
|
||||
(do markAsVisited fvarId; pure $ Meta.DepElim.Pattern.var e.fvarId!)
|
||||
};
|
||||
let mkInaccessible (e : Expr) : M Meta.DepElim.Pattern := do {
|
||||
match e with
|
||||
| Expr.fvar fvarId _ =>
|
||||
if isLocalDecl fvarId then
|
||||
mkPatternVar fvarId e
|
||||
else
|
||||
pure $ Meta.DepElim.Pattern.inaccessible e
|
||||
| _ =>
|
||||
pure $ Meta.DepElim.Pattern.inaccessible e
|
||||
};
|
||||
match inaccessible? e with
|
||||
| some t => mkInaccessible t
|
||||
| none =>
|
||||
match e.arrayLit? with
|
||||
| some (α, lits) => do
|
||||
ps ← lits.mapM main;
|
||||
pure $ Meta.DepElim.Pattern.arrayLit α ps
|
||||
| none =>
|
||||
if e.isAppOfArity `namedPattern 3 then do
|
||||
p ← main $ e.getArg! 2;
|
||||
match e.getArg! 1 with
|
||||
| Expr.fvar fvarId _ => pure $ Meta.DepElim.Pattern.as fvarId p
|
||||
| _ => liftM $ throwError "unexpected occurrence of auxiliary declaration 'namedPattern'"
|
||||
else if e.isNatLit || e.isStringLit || e.isCharLit then
|
||||
pure $ Meta.DepElim.Pattern.val e
|
||||
else if e.isFVar then do
|
||||
let fvarId := e.fvarId!;
|
||||
unless (isLocalDecl fvarId) $ throwInvalidPattern e;
|
||||
mkPatternVar fvarId e
|
||||
else do
|
||||
newE ← liftM $ whnf e;
|
||||
if newE != e then
|
||||
main newE
|
||||
else match e.getAppFn with
|
||||
| Expr.const declName us _ => do
|
||||
env ← liftM getEnv;
|
||||
match env.find? declName with
|
||||
| ConstantInfo.ctorInfo v => do
|
||||
let args := e.getAppArgs;
|
||||
unless (args.size == v.nparams + v.nfields) $ throwInvalidPattern e;
|
||||
let params := args.extract 0 v.nparams;
|
||||
let fields := args.extract v.nparams args.size;
|
||||
let binderInfos := getFieldsBinderInfo v;
|
||||
fields ← fields.mapIdxM fun i field => do {
|
||||
let binderInfo := binderInfos.get! i;
|
||||
if binderInfo.isExplicit then
|
||||
main field
|
||||
else
|
||||
mkInaccessible field
|
||||
};
|
||||
pure $ Meta.DepElim.Pattern.ctor declName us params.toList fields.toList
|
||||
| _ => throwInvalidPattern e
|
||||
| _ => throwInvalidPattern e
|
||||
|
||||
end ToDepElimPattern
|
||||
|
||||
def toDepElimPattern (localDecls : Array LocalDecl) (e : Expr) : TermElabM Meta.DepElim.Pattern :=
|
||||
(ToDepElimPattern.main localDecls e).run' {}
|
||||
|
||||
private def elabPatterns (patternVarDecls : Array PatternVarDecl) (patternStxs : Array Syntax) (matchType : Expr) : TermElabM (Meta.DepElim.AltLHS × Expr) := do
|
||||
(patterns, matchType) ← withSynthesize $ elabPatternsAux patternStxs 0 matchType #[];
|
||||
localDecls ← finalizePatternDecls patternVarDecls;
|
||||
patterns ← patterns.mapM instantiateMVars;
|
||||
patterns.forM $ fun pattern => when pattern.hasExprMVar $ throwError ("pattern contains metavariables " ++ indentExpr pattern);
|
||||
patterns ← patterns.mapM $ toDepElimPattern localDecls;
|
||||
trace `Elab.match fun _ => "patterns: " ++ MessageData.ofArray (patterns.map fun (p : Meta.DepElim.Pattern) => p.toMessageData);
|
||||
pure ({ localDecls := localDecls.toList, patterns := patterns.toList }, matchType)
|
||||
|
||||
def elabMatchAltView (alt : MatchAltView) (matchType : Expr) : TermElabM (Meta.DepElim.AltLHS × Expr) :=
|
||||
withRef alt.ref do
|
||||
(patternVars, alt) ← collectPatternVars alt;
|
||||
withRef alt.ref $ trace `Elab.match fun _ => "patternVars: " ++ toString patternVars;
|
||||
trace `Elab.match fun _ => "patternVars: " ++ toString patternVars;
|
||||
withPatternVars patternVars fun patternVarDecls => do
|
||||
ps ← withRef alt.ref $ elabPatterns patternVarDecls alt.patterns matchType;
|
||||
-- TODO
|
||||
pure (⟨[], []⟩, arbitrary _)
|
||||
(altLHS, matchType) ← elabPatterns patternVarDecls alt.patterns matchType;
|
||||
rhs ← elabTerm alt.rhs matchType;
|
||||
let xs := altLHS.localDecls.toArray.map LocalDecl.toExpr;
|
||||
rhs ← if xs.isEmpty then pure $ mkThunk rhs else mkLambda xs rhs;
|
||||
trace `Elab.match fun _ => "rhs: " ++ rhs;
|
||||
pure (altLHS, rhs)
|
||||
|
||||
def mkMotiveType (matchType : Expr) (expectedType : Expr) : TermElabM Expr := do
|
||||
liftMetaM $ Meta.forallTelescopeReducing matchType fun xs matchType => do
|
||||
u ← Meta.getLevel matchType;
|
||||
Meta.mkForall xs (mkSort u)
|
||||
|
||||
def mkElim (elimName : Name) (motiveType : Expr) (lhss : List Meta.DepElim.AltLHS) : TermElabM Meta.DepElim.ElimResult :=
|
||||
liftMetaM $ Meta.DepElim.mkElim elimName motiveType lhss
|
||||
|
||||
/-
|
||||
```
|
||||
|
|
@ -432,7 +541,18 @@ matchType ← elabMatchOptType stx discrStxs.size;
|
|||
matchAlts ← expandMacrosInPatterns $ getMatchAlts stx;
|
||||
discrs ← elabDiscrs discrStxs matchType expectedType;
|
||||
alts ← matchAlts.mapM $ fun alt => elabMatchAltView alt matchType;
|
||||
throwError ("WIP type: " ++ matchType ++ "\n" ++ discrs ++ "\n" ++ toString (matchAlts.map fun alt => toString alt.patterns))
|
||||
let rhss := alts.map Prod.snd;
|
||||
let altLHSS := alts.map Prod.fst;
|
||||
motiveType ← mkMotiveType matchType expectedType;
|
||||
motive ← liftMetaM $ Meta.forallTelescopeReducing matchType fun xs matchType => Meta.mkLambda xs matchType;
|
||||
elimName ← mkAuxName `elim;
|
||||
elimResult ← mkElim elimName motiveType altLHSS.toList;
|
||||
-- TODO: report `eliminator errors`.
|
||||
let r := mkApp elimResult.elim motive;
|
||||
let r := mkAppN r discrs;
|
||||
let r := mkAppN r rhss;
|
||||
trace `Elab.match fun _ => "result: " ++ r;
|
||||
pure r
|
||||
|
||||
/- Auxiliary method for `expandMatchDiscr?` -/
|
||||
private partial def mkMatchType (discrs : Array Syntax) : Nat → MacroM Syntax
|
||||
|
|
|
|||
|
|
@ -486,8 +486,8 @@ pure r
|
|||
def markDefaultMissing (e : Expr) : Expr :=
|
||||
mkAnnotation `structInstDefault e
|
||||
|
||||
def isDefaultMissing? (e : Expr) : Option Expr :=
|
||||
isAnnotation? `structInstDefault e
|
||||
def defaultMissing? (e : Expr) : Option Expr :=
|
||||
annotation? `structInstDefault e
|
||||
|
||||
def throwFailedToElabField {α} (fieldName : Name) (structName : Name) (msgData : MessageData) : TermElabM α :=
|
||||
throwError ("failed to elaborate field '" ++ fieldName ++ "' of '" ++ structName ++ ", " ++ msgData)
|
||||
|
|
@ -581,7 +581,7 @@ partial def findDefaultMissing? (mctx : MetavarContext) : Struct → Option (Fie
|
|||
| FieldVal.nested struct => findDefaultMissing? struct
|
||||
| _ => match field.expr? with
|
||||
| none => unreachable!
|
||||
| some expr => match isDefaultMissing? expr with
|
||||
| some expr => match defaultMissing? expr with
|
||||
| some (Expr.mvar mvarId _) => if mctx.isExprAssigned mvarId then none else some field
|
||||
| _ => none
|
||||
|
||||
|
|
@ -669,7 +669,7 @@ partial def reduce (structNames : Array Name) : Expr → MetaM Expr
|
|||
pure (mkAppN f' args)
|
||||
| e@(Expr.mdata _ b _) => do
|
||||
b ← reduce b;
|
||||
if (isDefaultMissing? e).isSome && !b.isMVar then
|
||||
if (defaultMissing? e).isSome && !b.isMVar then
|
||||
pure b
|
||||
else
|
||||
pure $ e.updateMData! b
|
||||
|
|
@ -696,7 +696,7 @@ partial def tryToSynthesizeDefaultAux (structs : Array Struct) (allStructNames :
|
|||
| none => do setMCtx mctx; tryToSynthesizeDefaultAux (i+1) (dist+1)
|
||||
| some val => do
|
||||
val ← liftMetaM $ reduce allStructNames val;
|
||||
match val.find? $ fun e => (isDefaultMissing? e).isSome with
|
||||
match val.find? $ fun e => (defaultMissing? e).isSome with
|
||||
| some _ => do setMCtx mctx; tryToSynthesizeDefaultAux (i+1) (dist+1)
|
||||
| none => do
|
||||
mvarDecl ← getMVarDecl mvarId;
|
||||
|
|
@ -718,7 +718,7 @@ partial def step : Struct → M Unit
|
|||
| FieldVal.nested struct => step struct
|
||||
| _ => match field.expr? with
|
||||
| none => unreachable!
|
||||
| some expr => match isDefaultMissing? expr with
|
||||
| some expr => match defaultMissing? expr with
|
||||
| some (Expr.mvar mvarId _) =>
|
||||
unlessM (liftM $ isExprMVarAssigned mvarId) $ do
|
||||
ctx ← read;
|
||||
|
|
|
|||
|
|
@ -202,6 +202,21 @@ instance : Inhabited Expr :=
|
|||
| proj _ _ _ d => d
|
||||
| localE _ _ _ d => d
|
||||
|
||||
def ctorName : Expr → String
|
||||
| bvar _ _ => "bvar"
|
||||
| fvar _ _ => "fvar"
|
||||
| mvar _ _ => "mvar"
|
||||
| sort _ _ => "sort"
|
||||
| const _ _ _ => "const"
|
||||
| app _ _ _ => "app"
|
||||
| lam _ _ _ _ => "lam"
|
||||
| forallE _ _ _ _ => "forallE"
|
||||
| letE _ _ _ _ _ => "letE"
|
||||
| lit _ _ => "lit"
|
||||
| mdata _ _ _ => "mdata"
|
||||
| proj _ _ _ _ => "proj"
|
||||
| localE _ _ _ _ => "localE"
|
||||
|
||||
def hash (e : Expr) : USize :=
|
||||
e.data.hash
|
||||
|
||||
|
|
@ -306,6 +321,14 @@ Expr.forallE x t b $ mkDataForBinder (mixHash 37 $ mixHash (hash t) (hash b))
|
|||
(t.hasLevelParam || b.hasLevelParam)
|
||||
bi
|
||||
|
||||
/- Return `Unit -> type` -/
|
||||
def mkThunkType (type : Expr) : Expr :=
|
||||
mkForall Name.anonymous BinderInfo.default (Lean.mkConst `Unit) type
|
||||
|
||||
/- Return `fun (_ : Unit), e` -/
|
||||
def mkThunk (type : Expr) : Expr :=
|
||||
mkLambda `_ BinderInfo.default (Lean.mkConst `Unit) type
|
||||
|
||||
def mkLet (x : Name) (t : Expr) (v : Expr) (b : Expr) (nonDep : Bool := false) : Expr :=
|
||||
let x := x.eraseMacroScopes;
|
||||
Expr.letE x t v b $ mkDataForLet (mixHash 41 $ mixHash (hash t) $ mixHash (hash v) (hash b))
|
||||
|
|
@ -427,14 +450,6 @@ def isLit : Expr → Bool
|
|||
| lit _ _ => true
|
||||
| _ => false
|
||||
|
||||
def isNatLit : Expr → Bool
|
||||
| lit (Literal.natVal _) _ => true
|
||||
| _ => false
|
||||
|
||||
def isStringLit : Expr → Bool
|
||||
| lit (Literal.strVal _) _ => true
|
||||
| _ => false
|
||||
|
||||
def getAppFn : Expr → Expr
|
||||
| app f a _ => getAppFn f
|
||||
| e => e
|
||||
|
|
@ -512,6 +527,21 @@ def appArg! : Expr → Expr
|
|||
| app _ a _ => a
|
||||
| _ => panic! "application expected"
|
||||
|
||||
def isNatLit : Expr → Bool
|
||||
| lit (Literal.natVal _) _ => true
|
||||
| _ => false
|
||||
|
||||
def natLit? : Expr → Option Nat
|
||||
| lit (Literal.natVal v) _ => v
|
||||
| _ => none
|
||||
|
||||
def isStringLit : Expr → Bool
|
||||
| lit (Literal.strVal _) _ => true
|
||||
| _ => false
|
||||
|
||||
def isCharLit (e : Expr) : Bool :=
|
||||
e.isAppOfArity `Char.ofNat 1 && e.appArg!.isNatLit
|
||||
|
||||
def constName! : Expr → Name
|
||||
| const n _ _ => n
|
||||
| _ => panic! "constant expected"
|
||||
|
|
@ -960,9 +990,9 @@ end Expr
|
|||
def mkAnnotation (kind : Name) (e : Expr) : Expr :=
|
||||
mkMData (KVMap.empty.insert kind (DataValue.ofBool true)) e
|
||||
|
||||
def isAnnotation? (kind : Name) (e : Expr) : Option Expr :=
|
||||
def annotation? (kind : Name) (e : Expr) : Option Expr :=
|
||||
match e with
|
||||
| Expr.mdata d e _ => if d.size == 1 && d.getBool kind false then some e else none
|
||||
| Expr.mdata d b _ => if d.size == 1 && d.getBool kind false then some b else none
|
||||
| _ => none
|
||||
|
||||
end Lean
|
||||
|
|
|
|||
|
|
@ -18,105 +18,97 @@ namespace DepElim
|
|||
abbrev VarId := Name
|
||||
|
||||
inductive Pattern (internal : Bool := false) : Type
|
||||
| inaccessible (ref : Syntax) (e : Expr) : Pattern
|
||||
| var (ref : Syntax) (varId : VarId) : Pattern
|
||||
| ctor (ref : Syntax) (ctorName : Name) (us : List Level) (params : List Expr) (fields : List Pattern) : Pattern
|
||||
| val (ref : Syntax) (e : Expr) : Pattern
|
||||
| arrayLit (ref : Syntax) (type : Expr) (xs : List Pattern) : Pattern
|
||||
| as (ref : Syntax) (varId : VarId) (p : Pattern) : Pattern
|
||||
| inaccessible (e : Expr) : Pattern
|
||||
| var (varId : VarId) : Pattern
|
||||
| ctor (ctorName : Name) (us : List Level) (params : List Expr) (fields : List Pattern) : Pattern
|
||||
| val (e : Expr) : Pattern
|
||||
| arrayLit (type : Expr) (xs : List Pattern) : Pattern
|
||||
| as (varId : VarId) (p : Pattern) : Pattern
|
||||
|
||||
abbrev IPattern := Pattern true
|
||||
|
||||
namespace Pattern
|
||||
|
||||
instance {b} : Inhabited (Pattern b) := ⟨Pattern.inaccessible Syntax.missing (arbitrary _)⟩
|
||||
|
||||
def ref {b : Bool} : Pattern b → Syntax
|
||||
| inaccessible r _ => r
|
||||
| var r _ => r
|
||||
| ctor r _ _ _ _ => r
|
||||
| val r _ => r
|
||||
| arrayLit r _ _ => r
|
||||
| as r _ _ => r
|
||||
instance {b} : Inhabited (Pattern b) := ⟨Pattern.inaccessible (arbitrary _)⟩
|
||||
|
||||
partial def toMessageData {b : Bool} : Pattern b → MessageData
|
||||
| inaccessible _ e => ".(" ++ e ++ ")"
|
||||
| var _ varId => if b then mkMVar varId else mkFVar varId
|
||||
| ctor _ ctorName _ _ [] => ctorName
|
||||
| ctor _ ctorName _ _ pats => "(" ++ ctorName ++ pats.foldl (fun (msg : MessageData) pat => msg ++ " " ++ toMessageData pat) Format.nil ++ ")"
|
||||
| val _ e => "val!(" ++ e ++ ")"
|
||||
| arrayLit _ _ pats => "#[" ++ MessageData.joinSep (pats.map toMessageData) ", " ++ "]"
|
||||
| as _ varId p => (if b then mkMVar varId else mkFVar varId) ++ "@" ++toMessageData p
|
||||
| inaccessible e => ".(" ++ e ++ ")"
|
||||
| var varId => if b then mkMVar varId else mkFVar varId
|
||||
| ctor ctorName _ _ [] => ctorName
|
||||
| ctor ctorName _ _ pats => "(" ++ ctorName ++ pats.foldl (fun (msg : MessageData) pat => msg ++ " " ++ toMessageData pat) Format.nil ++ ")"
|
||||
| val e => "val!(" ++ e ++ ")"
|
||||
| arrayLit _ pats => "#[" ++ MessageData.joinSep (pats.map toMessageData) ", " ++ "]"
|
||||
| as varId p => (if b then mkMVar varId else mkFVar varId) ++ "@" ++toMessageData p
|
||||
|
||||
partial def toExpr {b} : Pattern b → MetaM Expr
|
||||
| inaccessible _ e => pure e
|
||||
| var _ varId => if b then pure (mkMVar varId) else pure (mkFVar varId)
|
||||
| val _ e => pure e
|
||||
| as _ _ p => toExpr p
|
||||
| arrayLit _ type xs => do
|
||||
| inaccessible e => pure e
|
||||
| var varId => if b then pure (mkMVar varId) else pure (mkFVar varId)
|
||||
| val e => pure e
|
||||
| as _ p => toExpr p
|
||||
| arrayLit type xs => do
|
||||
xs ← xs.mapM toExpr;
|
||||
mkArrayLit type xs
|
||||
| ctor _ ctorName us params fields => do
|
||||
| ctor ctorName us params fields => do
|
||||
fields ← fields.mapM toExpr;
|
||||
pure $ mkAppN (mkConst ctorName us) (params ++ fields).toArray
|
||||
|
||||
/- Apply the free variable substitution `s` to the given (internal) pattern -/
|
||||
partial def applyFVarSubst (s : FVarSubst) : Pattern true → IPattern
|
||||
| inaccessible r e => inaccessible r $ s.apply e
|
||||
| ctor r n us ps fs => ctor r n us (ps.map s.apply) $ fs.map applyFVarSubst
|
||||
| val r e => val r $ s.apply e
|
||||
| arrayLit r t xs => arrayLit r (s.apply t) $ xs.map applyFVarSubst
|
||||
| var r id => var r id
|
||||
| as r v p => as r v $ applyFVarSubst p
|
||||
| inaccessible e => inaccessible $ s.apply e
|
||||
| ctor n us ps fs => ctor n us (ps.map s.apply) $ fs.map applyFVarSubst
|
||||
| val e => val $ s.apply e
|
||||
| arrayLit t xs => arrayLit (s.apply t) $ xs.map applyFVarSubst
|
||||
| var id => var id
|
||||
| as v p => as v $ applyFVarSubst p
|
||||
|
||||
partial def instantiateMVars : IPattern → MetaM IPattern
|
||||
| inaccessible r e => inaccessible r <$> Meta.instantiateMVars e
|
||||
| ctor r n us ps fs => ctor r n us <$> ps.mapM Meta.instantiateMVars <*> fs.mapM instantiateMVars
|
||||
| val r e => val r <$> Meta.instantiateMVars e
|
||||
| arrayLit r t xs => arrayLit r <$> Meta.instantiateMVars t <*> xs.mapM instantiateMVars
|
||||
| var ref mvarId => do
|
||||
| inaccessible e => inaccessible <$> Meta.instantiateMVars e
|
||||
| ctor n us ps fs => ctor n us <$> ps.mapM Meta.instantiateMVars <*> fs.mapM instantiateMVars
|
||||
| val e => val <$> Meta.instantiateMVars e
|
||||
| arrayLit t xs => arrayLit <$> Meta.instantiateMVars t <*> xs.mapM instantiateMVars
|
||||
| var mvarId => do
|
||||
mctx ← getMCtx;
|
||||
match mctx.getExprAssignment? mvarId with
|
||||
| some v => inaccessible ref <$> Meta.instantiateMVars v
|
||||
| none => pure (var ref mvarId)
|
||||
| as ref mvarId p => do
|
||||
| some v => inaccessible <$> Meta.instantiateMVars v
|
||||
| none => pure (var mvarId)
|
||||
| as mvarId p => do
|
||||
mctx ← getMCtx;
|
||||
match mctx.getExprAssignment? mvarId with
|
||||
| some v => instantiateMVars p
|
||||
| none => as ref mvarId <$> instantiateMVars p
|
||||
| none => as mvarId <$> instantiateMVars p
|
||||
|
||||
partial def applyMVarRenaming (m : MVarRenaming) : Pattern true → IPattern
|
||||
| inaccessible r e => inaccessible r $ m.apply e
|
||||
| ctor r n us ps fs => ctor r n us (ps.map m.apply) $ fs.map applyMVarRenaming
|
||||
| val r e => val r $ m.apply e
|
||||
| arrayLit r t xs => arrayLit r (m.apply t) $ xs.map applyMVarRenaming
|
||||
| var ref mvarId =>
|
||||
| inaccessible e => inaccessible $ m.apply e
|
||||
| ctor n us ps fs => ctor n us (ps.map m.apply) $ fs.map applyMVarRenaming
|
||||
| val e => val $ m.apply e
|
||||
| arrayLit t xs => arrayLit (m.apply t) $ xs.map applyMVarRenaming
|
||||
| var mvarId =>
|
||||
match m.find? mvarId with
|
||||
| some newMVarId => var ref newMVarId
|
||||
| none => var ref mvarId
|
||||
| as ref mvarId p =>
|
||||
| some newMVarId => var newMVarId
|
||||
| none => var mvarId
|
||||
| as mvarId p =>
|
||||
match m.find? mvarId with
|
||||
| some newMVarId => as ref newMVarId $ applyMVarRenaming p
|
||||
| none => as ref mvarId $ applyMVarRenaming p
|
||||
| some newMVarId => as newMVarId $ applyMVarRenaming p
|
||||
| none => as mvarId $ applyMVarRenaming p
|
||||
|
||||
partial def toIPattern (s : FVarSubst) : Pattern → IPattern
|
||||
| inaccessible r e => inaccessible r $ s.apply e
|
||||
| ctor r n us ps fs => ctor r n us (ps.map s.apply) $ fs.map toIPattern
|
||||
| val r e => val r $ s.apply e
|
||||
| arrayLit r t xs => arrayLit r (s.apply t) $ xs.map toIPattern
|
||||
| var ref fvarId =>
|
||||
| inaccessible e => inaccessible $ s.apply e
|
||||
| ctor n us ps fs => ctor n us (ps.map s.apply) $ fs.map toIPattern
|
||||
| val e => val $ s.apply e
|
||||
| arrayLit t xs => arrayLit (s.apply t) $ xs.map toIPattern
|
||||
| var fvarId =>
|
||||
match s.get fvarId with
|
||||
| Expr.mvar mvarId _ => Pattern.var ref mvarId
|
||||
| Expr.mvar mvarId _ => Pattern.var mvarId
|
||||
| _ => unreachable!
|
||||
| as ref fvarId p =>
|
||||
| as fvarId p =>
|
||||
match s.get fvarId with
|
||||
| Expr.mvar mvarId _ => Pattern.as ref mvarId $ toIPattern p
|
||||
| Expr.mvar mvarId _ => Pattern.as mvarId $ toIPattern p
|
||||
| _ => unreachable!
|
||||
|
||||
end Pattern
|
||||
|
||||
structure AltLHS :=
|
||||
(fvarDecls : List LocalDecl) -- Free variables used in the patterns.
|
||||
(localDecls : List LocalDecl) -- Free variables used in the patterns.
|
||||
(patterns : List Pattern) -- We use `List Pattern` since we have nary match-expressions.
|
||||
|
||||
structure Alt :=
|
||||
|
|
@ -289,29 +281,26 @@ private def localDeclsToMVarsAux : List LocalDecl → List MVarId → FVarSubst
|
|||
let s := s.insert d.fvarId mvar;
|
||||
localDeclsToMVarsAux ds (mvar.mvarId! :: mvars) s
|
||||
|
||||
private def localDeclsToMVars (fvarDecls : List LocalDecl) : MetaM (List MVarId × FVarSubst) :=
|
||||
localDeclsToMVarsAux fvarDecls [] {}
|
||||
|
||||
private def mkThunk (type : Expr) : Expr :=
|
||||
Lean.mkForall `u BinderInfo.default (Lean.mkConst `Unit) type
|
||||
private def localDeclsToMVars (localDecls : List LocalDecl) : MetaM (List MVarId × FVarSubst) :=
|
||||
localDeclsToMVarsAux localDecls [] {}
|
||||
|
||||
private partial def withAltsAux {α} (motive : Expr) : List AltLHS → List Alt → Array Expr → (List Alt → Array Expr → MetaM α) → MetaM α
|
||||
| [], alts, minors, k => k alts.reverse minors
|
||||
| lhs::lhss, alts, minors, k => do
|
||||
let xs := lhs.fvarDecls.toArray.map LocalDecl.toExpr;
|
||||
minorType ← withExistingLocalDecls lhs.fvarDecls do {
|
||||
let xs := lhs.localDecls.toArray.map LocalDecl.toExpr;
|
||||
minorType ← withExistingLocalDecls lhs.localDecls do {
|
||||
args ← lhs.patterns.toArray.mapM Pattern.toExpr;
|
||||
let minorType := mkAppN motive args;
|
||||
mkForall xs minorType
|
||||
};
|
||||
let minorType := if minorType.isForall then minorType else mkThunk minorType;
|
||||
let minorType := if minorType.isForall then minorType else mkThunkType minorType;
|
||||
let idx := alts.length;
|
||||
let minorName := (`h).appendIndexAfter (idx+1);
|
||||
trace! `Meta.EqnCompiler.matchDebug ("minor premise " ++ minorName ++ " : " ++ minorType);
|
||||
withLocalDecl minorName minorType BinderInfo.default fun minor => do
|
||||
let rhs := if xs.isEmpty then mkApp minor (mkConst `Unit.unit) else mkAppN minor xs;
|
||||
let minors := minors.push minor;
|
||||
(mvars, s) ← localDeclsToMVars lhs.fvarDecls;
|
||||
(mvars, s) ← localDeclsToMVars lhs.localDecls;
|
||||
let patterns := lhs.patterns.map (fun p => p.toIPattern s);
|
||||
let rhs := s.apply rhs;
|
||||
let alts := { idx := idx, rhs := rhs, mvars := mvars, patterns := patterns : Alt } :: alts;
|
||||
|
|
@ -340,21 +329,21 @@ match p.vars with
|
|||
|
||||
private def hasAsPattern (p : Problem) : Bool :=
|
||||
p.alts.any fun alt => match alt.patterns with
|
||||
| Pattern.as _ _ _ :: _ => true
|
||||
| _ => false
|
||||
| Pattern.as _ _ :: _ => true
|
||||
| _ => false
|
||||
|
||||
/- Return true if the next pattern of each remaining alternative is an inaccessible term or a variable -/
|
||||
private def isVariableTransition (p : Problem) : Bool :=
|
||||
p.alts.all fun alt => match alt.patterns with
|
||||
| Pattern.inaccessible _ _ :: _ => true
|
||||
| Pattern.var _ _ :: _ => true
|
||||
| _ => false
|
||||
| Pattern.inaccessible _ :: _ => true
|
||||
| Pattern.var _ :: _ => true
|
||||
| _ => false
|
||||
|
||||
/- Return true if the next pattern of each remaining alternative is a constructor application -/
|
||||
private def isConstructorTransition (p : Problem) : Bool :=
|
||||
p.alts.all fun alt => match alt.patterns with
|
||||
| Pattern.ctor _ _ _ _ _ :: _ => true
|
||||
| _ => false
|
||||
| Pattern.ctor _ _ _ _ :: _ => true
|
||||
| _ => false
|
||||
|
||||
/- Return true if the next pattern of the remaining alternatives contain variables AND constructors. -/
|
||||
private def isCompleteTransition (p : Problem) : Bool :=
|
||||
|
|
@ -362,9 +351,9 @@ let (ok, hasVar, hasCtor) := p.alts.foldl
|
|||
(fun (acc : Bool × Bool × Bool) (alt : Alt) =>
|
||||
let (ok, hasVar, hasCtor) := acc;
|
||||
match alt.patterns with
|
||||
| Pattern.ctor _ _ _ _ _ :: _ => (ok, hasVar, true)
|
||||
| Pattern.var _ _ :: _ => (ok, true, hasCtor)
|
||||
| _ => (false, hasVar, hasCtor))
|
||||
| Pattern.ctor _ _ _ _ :: _ => (ok, hasVar, true)
|
||||
| Pattern.var _ :: _ => (ok, true, hasCtor)
|
||||
| _ => (false, hasVar, hasCtor))
|
||||
(true, false, false);
|
||||
ok && hasVar && hasCtor
|
||||
|
||||
|
|
@ -374,9 +363,9 @@ let (ok, hasVar, hasVal) := p.alts.foldl
|
|||
(fun (acc : Bool × Bool × Bool) (alt : Alt) =>
|
||||
let (ok, hasVar, hasVal) := acc;
|
||||
match alt.patterns with
|
||||
| Pattern.val _ _ :: _ => (ok, hasVar, true)
|
||||
| Pattern.var _ _ :: _ => (ok, true, hasVal)
|
||||
| _ => (false, hasVar, hasVal))
|
||||
| Pattern.val _ :: _ => (ok, hasVar, true)
|
||||
| Pattern.var _ :: _ => (ok, true, hasVal)
|
||||
| _ => (false, hasVar, hasVal))
|
||||
(true, false, false);
|
||||
ok && hasVar && hasVal
|
||||
|
||||
|
|
@ -386,9 +375,9 @@ let (ok, hasVar, hasArray) := p.alts.foldl
|
|||
(fun (acc : Bool × Bool × Bool) (alt : Alt) =>
|
||||
let (ok, hasVar, hasArray) := acc;
|
||||
match alt.patterns with
|
||||
| Pattern.arrayLit _ _ _ :: _ => (ok, hasVar, true)
|
||||
| Pattern.var _ _ :: _ => (ok, true, hasArray)
|
||||
| _ => (false, hasVar, hasArray))
|
||||
| Pattern.arrayLit _ _ :: _ => (ok, hasVar, true)
|
||||
| Pattern.var _ :: _ => (ok, true, hasArray)
|
||||
| _ => (false, hasVar, hasArray))
|
||||
(true, false, false);
|
||||
ok && hasVar && hasArray
|
||||
|
||||
|
|
@ -418,7 +407,7 @@ match p.vars with
|
|||
| [] => unreachable!
|
||||
| x :: xs => do
|
||||
alts ← p.alts.mapM fun alt => match alt.patterns with
|
||||
| Pattern.as _ mvarId p :: ps => do
|
||||
| Pattern.as mvarId p :: ps => do
|
||||
assignExprMVar mvarId x;
|
||||
rhs ← instantiateMVars alt.rhs;
|
||||
let mvars := alt.mvars.erase mvarId;
|
||||
|
|
@ -434,8 +423,8 @@ match p.vars with
|
|||
| [] => unreachable!
|
||||
| x :: xs => do
|
||||
alts ← p.alts.mapM fun alt => match alt.patterns with
|
||||
| Pattern.inaccessible _ _ :: ps => pure { alt with patterns := ps }
|
||||
| Pattern.var _ mvarId :: ps => do
|
||||
| Pattern.inaccessible _ :: ps => pure { alt with patterns := ps }
|
||||
| Pattern.var mvarId :: ps => do
|
||||
-- trace! `Meta.EqnCompiler.matchDebug (">> assign " ++ mkMVar mvarId ++ " := " ++ x);
|
||||
assignExprMVar mvarId x;
|
||||
rhs ← instantiateMVars alt.rhs;
|
||||
|
|
@ -449,8 +438,8 @@ match p.vars with
|
|||
|
||||
private def isFirstPatternCtor (ctorName : Name) (alt : Alt) : Bool :=
|
||||
match alt.patterns with
|
||||
| Pattern.ctor _ n _ _ _ :: _ => n == ctorName
|
||||
| _ => false
|
||||
| Pattern.ctor n _ _ _ :: _ => n == ctorName
|
||||
| _ => false
|
||||
|
||||
private def processConstructor (process : Problem → State → MetaM State) (p : Problem) (s : State) : MetaM State := do
|
||||
trace! `Meta.EqnCompiler.match ("constructor step");
|
||||
|
|
@ -471,8 +460,8 @@ match p.vars with
|
|||
let examples := examples.map $ Example.applyFVarSubst subst;
|
||||
let newAlts := p.alts.filter $ isFirstPatternCtor subgoal.ctorName;
|
||||
let newAlts := newAlts.map fun alt => match alt.patterns with
|
||||
| Pattern.ctor _ _ _ _ fields :: ps => { alt with patterns := fields ++ ps }
|
||||
| _ => unreachable!;
|
||||
| Pattern.ctor _ _ _ fields :: ps => { alt with patterns := fields ++ ps }
|
||||
| _ => unreachable!;
|
||||
newAlts ← newAlts.mapM fun alt => alt.applyFVarSubst subst;
|
||||
newAlts ← newAlts.mapM fun alt => alt.copy;
|
||||
process { mvarId := subgoal.mvarId, vars := newVars, alts := newAlts, examples := examples } s)
|
||||
|
|
@ -481,17 +470,17 @@ match p.vars with
|
|||
private def throwInductiveTypeExpected {α} (type : Expr) : MetaM α := do
|
||||
throwOther ("failed to compile pattern matching, inductive type expected" ++ indentExpr type)
|
||||
|
||||
private partial def tryConstructorAux (alt : Alt) (ref : Syntax) (mvarId : MVarId) (ctorName : Name) (us : List Level) (params : Array Expr) (mvars : Array Expr)
|
||||
private partial def tryConstructorAux (alt : Alt) (mvarId : MVarId) (ctorName : Name) (us : List Level) (params : Array Expr) (mvars : Array Expr)
|
||||
: Nat → Array MVarId → Array IPattern → MetaM Alt
|
||||
| i, newMVars, fields => do
|
||||
if h : i < mvars.size then do
|
||||
let mvar := mvars.get ⟨i, h⟩;
|
||||
e ← instantiateMVars mvar;
|
||||
match e with
|
||||
| Expr.mvar mvarId _ => tryConstructorAux (i+1) (newMVars.push mvarId) (fields.push (Pattern.var ref mvarId))
|
||||
| _ => tryConstructorAux (i+1) newMVars (fields.push (Pattern.inaccessible ref e))
|
||||
| Expr.mvar mvarId _ => tryConstructorAux (i+1) (newMVars.push mvarId) (fields.push (Pattern.var mvarId))
|
||||
| _ => tryConstructorAux (i+1) newMVars (fields.push (Pattern.inaccessible e))
|
||||
else do
|
||||
let p := Pattern.ctor ref ctorName us params.toList fields.toList;
|
||||
let p := Pattern.ctor ctorName us params.toList fields.toList;
|
||||
e ← p.toExpr;
|
||||
assignExprMVar mvarId e;
|
||||
ps ← alt.patterns.mapM Pattern.instantiateMVars;
|
||||
|
|
@ -503,17 +492,17 @@ private partial def tryConstructorAux (alt : Alt) (ref : Syntax) (mvarId : MVarI
|
|||
mvars ← mvars.filterM fun mvarId => not <$> isExprMVarAssigned mvarId;
|
||||
pure { alt with rhs := rhs, mvars := mvars, patterns := ps }
|
||||
|
||||
private def tryConstructor? (alt : Alt) (ref : Syntax) (mvarId : MVarId) (ctorName : Name) (us : List Level) (params : Array Expr) (expectedType : Expr)
|
||||
private def tryConstructor? (alt : Alt) (mvarId : MVarId) (ctorName : Name) (us : List Level) (params : Array Expr) (expectedType : Expr)
|
||||
: MetaM (Option Alt) := do
|
||||
let ctor := mkAppN (mkConst ctorName us) params;
|
||||
ctorType ← inferType ctor;
|
||||
(mvars, _, resultType) ← forallMetaTelescopeReducing ctorType;
|
||||
trace! `Meta.EqnCompiler.matchDebug ("ctorName: " ++ ctorName ++ ", resultType: " ++ resultType ++ ", expectedType: " ++ expectedType);
|
||||
condM (isDefEq resultType expectedType)
|
||||
(Option.some <$> tryConstructorAux alt ref mvarId ctorName us params mvars 0 #[] #[])
|
||||
(Option.some <$> tryConstructorAux alt mvarId ctorName us params mvars 0 #[] #[])
|
||||
(pure none)
|
||||
|
||||
private def expandAlt (alt : Alt) (ref : Syntax) (mvarId : MVarId) : MetaM (List Alt) := do
|
||||
private def expandAlt (alt : Alt) (mvarId : MVarId) : MetaM (List Alt) := do
|
||||
env ← getEnv;
|
||||
mvarDecl ← getMVarDecl mvarId;
|
||||
let expectedType := mvarDecl.type;
|
||||
|
|
@ -531,7 +520,7 @@ matchConst env expectedType.getAppFn (fun _ => throwInductiveTypeExpected expect
|
|||
let I := expectedType.getAppFn;
|
||||
let Iargs := expectedType.getAppArgs;
|
||||
let params := Iargs.extract 0 val.nparams;
|
||||
alt? ← tryConstructor? alt ref mvarId ctor us params expectedType;
|
||||
alt? ← tryConstructor? alt mvarId ctor us params expectedType;
|
||||
match alt? with
|
||||
| none => pure result
|
||||
| some alt => pure (alt :: result))
|
||||
|
|
@ -545,10 +534,10 @@ env ← getEnv;
|
|||
newAlts ← p.alts.foldlM
|
||||
(fun (newAlts : List Alt) alt =>
|
||||
match alt.patterns with
|
||||
| Pattern.ctor _ _ _ _ _ :: ps => pure (alt :: newAlts)
|
||||
| p@(Pattern.var ref mvarId) :: ps => do
|
||||
| Pattern.ctor _ _ _ _ :: ps => pure (alt :: newAlts)
|
||||
| p@(Pattern.var mvarId) :: ps => do
|
||||
let alt := { alt with patterns := ps };
|
||||
alts ← expandAlt alt ref mvarId;
|
||||
alts ← expandAlt alt mvarId;
|
||||
pure (alts ++ newAlts)
|
||||
| _ => unreachable!)
|
||||
[];
|
||||
|
|
@ -558,14 +547,14 @@ private def collectValues (p : Problem) : Array Expr :=
|
|||
p.alts.foldl
|
||||
(fun (values : Array Expr) alt =>
|
||||
match alt.patterns with
|
||||
| Pattern.val _ v :: _ => if values.contains v then values else values.push v
|
||||
| _ => values)
|
||||
| Pattern.val v :: _ => if values.contains v then values else values.push v
|
||||
| _ => values)
|
||||
#[]
|
||||
|
||||
private def isFirstPatternVar (alt : Alt) : Bool :=
|
||||
match alt.patterns with
|
||||
| Pattern.var _ _ :: _ => true
|
||||
| _ => false
|
||||
| Pattern.var _ :: _ => true
|
||||
| _ => false
|
||||
|
||||
private def processValue (process : Problem → State → MetaM State) (p : Problem) (s : State) : MetaM State := do
|
||||
trace! `Meta.EqnCompiler.match ("value step");
|
||||
|
|
@ -584,14 +573,14 @@ match p.vars with
|
|||
let examples := p.examples.map $ Example.replaceFVarId x.fvarId! (Example.val value);
|
||||
let examples := examples.map $ Example.applyFVarSubst subst;
|
||||
let newAlts := p.alts.filter fun alt => match alt.patterns with
|
||||
| Pattern.val _ v :: _ => v == value
|
||||
| Pattern.var _ _ :: _ => true
|
||||
| Pattern.val v :: _ => v == value
|
||||
| Pattern.var _ :: _ => true
|
||||
| _ => false;
|
||||
newAlts ← newAlts.mapM fun alt => alt.applyFVarSubst subst;
|
||||
newAlts ← newAlts.mapM fun alt => alt.copy;
|
||||
newAlts ← newAlts.mapM fun alt => match alt.patterns with
|
||||
| Pattern.val _ _ :: ps => pure { alt with patterns := ps }
|
||||
| Pattern.var _ mvarId :: ps => do
|
||||
| Pattern.val _ :: ps => pure { alt with patterns := ps }
|
||||
| Pattern.var mvarId :: ps => do
|
||||
assignExprMVar mvarId value;
|
||||
ps ← ps.mapM Pattern.instantiateMVars;
|
||||
rhs ← instantiateMVars alt.rhs;
|
||||
|
|
@ -611,8 +600,8 @@ private def collectArraySizes (p : Problem) : Array Nat :=
|
|||
p.alts.foldl
|
||||
(fun (sizes : Array Nat) alt =>
|
||||
match alt.patterns with
|
||||
| Pattern.arrayLit _ _ ps :: _ => let sz := ps.length; if sizes.contains sz then sizes else sizes.push sz
|
||||
| _ => sizes)
|
||||
| Pattern.arrayLit _ ps :: _ => let sz := ps.length; if sizes.contains sz then sizes else sizes.push sz
|
||||
| _ => sizes)
|
||||
#[]
|
||||
|
||||
private def processArrayLit (process : Problem → State → MetaM State) (p : Problem) (s : State) : MetaM State := do
|
||||
|
|
@ -635,14 +624,14 @@ match p.vars with
|
|||
let examples := p.examples.map $ Example.replaceFVarId x.fvarId! subex;
|
||||
let examples := examples.map $ Example.applyFVarSubst subst;
|
||||
let newAlts := p.alts.filter fun alt => match alt.patterns with
|
||||
| Pattern.arrayLit _ _ ps :: _ => ps.length == size
|
||||
| Pattern.var _ _ :: _ => true
|
||||
| _ => false;
|
||||
| Pattern.arrayLit _ ps :: _ => ps.length == size
|
||||
| Pattern.var _ :: _ => true
|
||||
| _ => false;
|
||||
newAlts ← newAlts.mapM fun alt => alt.applyFVarSubst subst;
|
||||
newAlts ← newAlts.mapM fun alt => alt.copy;
|
||||
newAlts ← newAlts.mapM fun alt => match alt.patterns with
|
||||
| Pattern.arrayLit _ _ pats :: ps => pure { alt with patterns := pats ++ ps }
|
||||
| Pattern.var ref mvarId :: ps => do
|
||||
| Pattern.arrayLit _ pats :: ps => pure { alt with patterns := pats ++ ps }
|
||||
| Pattern.var mvarId :: ps => do
|
||||
α ← getArrayArgType x;
|
||||
newMVars ← size.foldM
|
||||
(fun _ (newMVars : List Expr) => do
|
||||
|
|
@ -655,7 +644,7 @@ match p.vars with
|
|||
rhs ← instantiateMVars alt.rhs;
|
||||
let mvars := alt.mvars.erase mvarId;
|
||||
let mvars := newMVars.map Expr.mvarId! ++ mvars;
|
||||
let ps := newMVars.map (fun mvar => Pattern.var ref mvar.mvarId!) ++ ps;
|
||||
let ps := newMVars.map (fun mvar => Pattern.var mvar.mvarId!) ++ ps;
|
||||
pure { alt with rhs := rhs, mvars := mvars, patterns := ps }
|
||||
| _ => unreachable!;
|
||||
process { mvarId := subgoal.mvarId, vars := newVars, alts := newAlts, examples := examples } s
|
||||
|
|
@ -690,18 +679,6 @@ private partial def process : Problem → State → MetaM State
|
|||
-- TODO: remaining cases
|
||||
throwOther ("not implement yet " ++ msg)
|
||||
|
||||
def getUnusedLevelParam (majors : List Expr) (lhss : List AltLHS) : MetaM Level := do
|
||||
let s : CollectLevelParams.State := {};
|
||||
s ← majors.foldlM
|
||||
(fun s major => do
|
||||
major ← instantiateMVars major;
|
||||
majorType ← inferType major;
|
||||
majorType ← instantiateMVars majorType;
|
||||
let s := collectLevelParams s major;
|
||||
pure $ collectLevelParams s majorType)
|
||||
s;
|
||||
pure s.getUnusedLevelParam
|
||||
|
||||
def mkElim (elimName : Name) (motiveType : Expr) (lhss : List AltLHS) : MetaM ElimResult :=
|
||||
withLocalDecl `motive motiveType BinderInfo.default fun motive => do
|
||||
forallTelescopeReducing motiveType fun majors _ => do
|
||||
|
|
@ -724,8 +701,21 @@ withAlts motive lhss fun alts minors => do
|
|||
[];
|
||||
pure { elim := elim, counterExamples := s.counterExamples, unusedAltIdxs := unusedAltIdxs.reverse }
|
||||
|
||||
|
||||
/- Helper methods for testins mkElim -/
|
||||
|
||||
private def getUnusedLevelParam (majors : List Expr) (lhss : List AltLHS) : MetaM Level := do
|
||||
let s : CollectLevelParams.State := {};
|
||||
s ← majors.foldlM
|
||||
(fun s major => do
|
||||
major ← instantiateMVars major;
|
||||
majorType ← inferType major;
|
||||
majorType ← instantiateMVars majorType;
|
||||
let s := collectLevelParams s major;
|
||||
pure $ collectLevelParams s majorType)
|
||||
s;
|
||||
pure s.getUnusedLevelParam
|
||||
|
||||
/- Return `Prop` if `inProf == true` and `Sort u` otherwise, where `u` is a fresh universe level parameter. -/
|
||||
private def mkElimSort (majors : List Expr) (lhss : List AltLHS) (inProp : Bool) : MetaM Expr :=
|
||||
if inProp then
|
||||
|
|
|
|||
|
|
@ -61,4 +61,7 @@ end CollectLevelParams
|
|||
def collectLevelParams (s : CollectLevelParams.State) (e : Expr) : CollectLevelParams.State :=
|
||||
CollectLevelParams.main e s
|
||||
|
||||
def CollectLevelParams.State.collect (s : CollectLevelParams.State) (e : Expr) : CollectLevelParams.State :=
|
||||
collectLevelParams s e
|
||||
|
||||
end Lean
|
||||
|
|
|
|||
|
|
@ -45,19 +45,19 @@ p.app4? `HEq
|
|||
| Expr.forallE _ α β _ => if β.hasLooseBVars then none else some (α, β)
|
||||
| _ => none
|
||||
|
||||
partial def listLitAux : Expr → List Expr → Option (List Expr)
|
||||
partial def listLitAux : Expr → List Expr → Option (Expr × List Expr)
|
||||
| e, acc =>
|
||||
if e.isAppOfArity `List.nil 1 then
|
||||
some acc.reverse
|
||||
some (e.appArg!, 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) :=
|
||||
def listLit? (e : Expr) : Option (Expr × List Expr) :=
|
||||
listLitAux e []
|
||||
|
||||
def arrayLit? (e : Expr) : Option (List Expr) :=
|
||||
def arrayLit? (e : Expr) : Option (Expr × List Expr) :=
|
||||
match e.app2? `List.toArray with
|
||||
| some (_, e) => e.listLit?
|
||||
| none => none
|
||||
|
|
|
|||
|
|
@ -63,7 +63,6 @@ lean_object* l_List_append___rarg(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_Compiler_boolFoldFns___closed__5;
|
||||
lean_object* l_Lean_Compiler_foldUIntSub(uint8_t, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Compiler_foldToNat___rarg(lean_object*);
|
||||
lean_object* l_Lean_Compiler_unFoldFns___closed__12;
|
||||
lean_object* l_Lean_Compiler_natFoldFns___closed__19;
|
||||
lean_object* l_Nat_decLt___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Compiler_foldNatDecLe___closed__2;
|
||||
|
|
@ -90,7 +89,6 @@ lean_object* l_Lean_Compiler_foldNatMul___boxed(lean_object*);
|
|||
extern lean_object* l_uint64Sz___closed__1;
|
||||
lean_object* l_Lean_Compiler_binFoldFns___closed__2;
|
||||
lean_object* l_Lean_Compiler_preUIntBinFoldFns___closed__22;
|
||||
lean_object* l_Lean_Compiler_unFoldFns___closed__11;
|
||||
lean_object* l_Lean_Compiler_uintFoldToNatFns;
|
||||
lean_object* l_Lean_Compiler_foldNatDecLe___closed__1;
|
||||
uint32_t lean_uint32_of_nat(lean_object*);
|
||||
|
|
@ -161,7 +159,6 @@ lean_object* l_Lean_Compiler_numScalarTypes___closed__15;
|
|||
lean_object* l_Lean_Compiler_numScalarTypes___closed__14;
|
||||
lean_object* l_Lean_Compiler_preUIntBinFoldFns___closed__12;
|
||||
extern lean_object* l_Nat_HasAdd___closed__1;
|
||||
lean_object* l_Lean_Compiler_numScalarTypes___closed__28;
|
||||
lean_object* l_List_foldl___main___at_Lean_Compiler_uintBinFoldFns___spec__2___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Compiler_boolFoldFns___closed__8;
|
||||
lean_object* l_Lean_Compiler_foldUIntMod___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*);
|
||||
|
|
@ -188,6 +185,7 @@ lean_object* l_Lean_Compiler_mkLcProof(lean_object*);
|
|||
lean_object* l_Lean_Compiler_mkNatLt___closed__10;
|
||||
lean_object* l_Lean_Compiler_numScalarTypes___closed__9;
|
||||
lean_object* l_Lean_Compiler_mkUIntTypeName(lean_object*);
|
||||
extern lean_object* l_Lean_Expr_isCharLit___closed__3;
|
||||
lean_object* l_Lean_Compiler_unFoldFns___closed__2;
|
||||
lean_object* l_Lean_Compiler_boolFoldFns___closed__2;
|
||||
lean_object* l_Lean_Compiler_boolFoldFns___closed__4;
|
||||
|
|
@ -315,13 +313,13 @@ lean_object* l_Lean_Compiler_numScalarTypes___closed__11;
|
|||
lean_object* l_Lean_Compiler_mkNatLt___closed__8;
|
||||
extern lean_object* l_Lean_levelOne;
|
||||
lean_object* l_Lean_Compiler_foldUIntMul(uint8_t, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Expr_isCharLit___closed__4;
|
||||
lean_object* l_Lean_Compiler_foldNatDecEq___closed__2;
|
||||
lean_object* l_Lean_Compiler_preUIntBinFoldFns___closed__6;
|
||||
lean_object* lean_get_num_lit(lean_object*);
|
||||
lean_object* l_Lean_Compiler_foldNatDecLt___closed__1;
|
||||
lean_object* l_Lean_mkConst(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Compiler_boolFoldFns;
|
||||
lean_object* l_Lean_Compiler_unFoldFns___closed__10;
|
||||
lean_object* l_Lean_Compiler_getBoolLit___closed__1;
|
||||
lean_object* l_Lean_Compiler_findUnFoldFn___boxed(lean_object*);
|
||||
lean_object* l_Lean_Compiler_preUIntBinFoldFns___closed__10;
|
||||
|
|
@ -375,22 +373,14 @@ return x_2;
|
|||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("ofNat");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__1;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__2;
|
||||
x_2 = l_Lean_Expr_isCharLit___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__4() {
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -398,24 +388,24 @@ x_1 = lean_mk_string("toNat");
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__5() {
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__1;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__4;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__6() {
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = lean_unsigned_to_nat(8u);
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__1;
|
||||
x_3 = l_Lean_Compiler_numScalarTypes___closed__3;
|
||||
x_4 = l_Lean_Compiler_numScalarTypes___closed__5;
|
||||
x_3 = l_Lean_Compiler_numScalarTypes___closed__2;
|
||||
x_4 = l_Lean_Compiler_numScalarTypes___closed__4;
|
||||
x_5 = lean_unsigned_to_nat(256u);
|
||||
x_6 = lean_alloc_ctor(0, 5, 0);
|
||||
lean_ctor_set(x_6, 0, x_1);
|
||||
|
|
@ -426,7 +416,7 @@ lean_ctor_set(x_6, 4, x_5);
|
|||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__7() {
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
|
|
@ -435,12 +425,22 @@ x_2 = l_Lean_Compiler_mkUIntTypeName(x_1);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__6;
|
||||
x_2 = l_Lean_Expr_isCharLit___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__8() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__7;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__2;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__6;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -448,21 +448,11 @@ return x_3;
|
|||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__9() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__7;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__4;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__10() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = lean_unsigned_to_nat(16u);
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__7;
|
||||
x_3 = l_Lean_Compiler_numScalarTypes___closed__8;
|
||||
x_4 = l_Lean_Compiler_numScalarTypes___closed__9;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__6;
|
||||
x_3 = l_Lean_Compiler_numScalarTypes___closed__7;
|
||||
x_4 = l_Lean_Compiler_numScalarTypes___closed__8;
|
||||
x_5 = lean_unsigned_to_nat(65536u);
|
||||
x_6 = lean_alloc_ctor(0, 5, 0);
|
||||
lean_ctor_set(x_6, 0, x_1);
|
||||
|
|
@ -473,7 +463,7 @@ lean_ctor_set(x_6, 4, x_5);
|
|||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__11() {
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__10() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
|
|
@ -482,12 +472,22 @@ x_2 = l_Lean_Compiler_mkUIntTypeName(x_1);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__11() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__10;
|
||||
x_2 = l_Lean_Expr_isCharLit___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__12() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__11;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__2;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__10;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -495,21 +495,11 @@ return x_3;
|
|||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__13() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__11;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__4;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__14() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = lean_unsigned_to_nat(32u);
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__11;
|
||||
x_3 = l_Lean_Compiler_numScalarTypes___closed__12;
|
||||
x_4 = l_Lean_Compiler_numScalarTypes___closed__13;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__10;
|
||||
x_3 = l_Lean_Compiler_numScalarTypes___closed__11;
|
||||
x_4 = l_Lean_Compiler_numScalarTypes___closed__12;
|
||||
x_5 = lean_cstr_to_nat("4294967296");
|
||||
x_6 = lean_alloc_ctor(0, 5, 0);
|
||||
lean_ctor_set(x_6, 0, x_1);
|
||||
|
|
@ -520,7 +510,7 @@ lean_ctor_set(x_6, 4, x_5);
|
|||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__15() {
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__14() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
|
|
@ -529,12 +519,22 @@ x_2 = l_Lean_Compiler_mkUIntTypeName(x_1);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__15() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__14;
|
||||
x_2 = l_Lean_Expr_isCharLit___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__16() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__15;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__2;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__14;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -542,21 +542,11 @@ return x_3;
|
|||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__17() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__15;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__4;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__18() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = lean_unsigned_to_nat(64u);
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__15;
|
||||
x_3 = l_Lean_Compiler_numScalarTypes___closed__16;
|
||||
x_4 = l_Lean_Compiler_numScalarTypes___closed__17;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__14;
|
||||
x_3 = l_Lean_Compiler_numScalarTypes___closed__15;
|
||||
x_4 = l_Lean_Compiler_numScalarTypes___closed__16;
|
||||
x_5 = l_uint64Sz___closed__1;
|
||||
x_6 = lean_alloc_ctor(0, 5, 0);
|
||||
lean_ctor_set(x_6, 0, x_1);
|
||||
|
|
@ -567,7 +557,7 @@ lean_ctor_set(x_6, 4, x_5);
|
|||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__19() {
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__18() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -575,12 +565,22 @@ x_1 = lean_mk_string("USize");
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__20() {
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__19() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__19;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__18;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__20() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__19;
|
||||
x_2 = l_Lean_Expr_isCharLit___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -589,8 +589,8 @@ lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__21() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__20;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__2;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__19;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -598,21 +598,11 @@ return x_3;
|
|||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__22() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__20;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__4;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__23() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_System_Platform_numBits;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__20;
|
||||
x_3 = l_Lean_Compiler_numScalarTypes___closed__21;
|
||||
x_4 = l_Lean_Compiler_numScalarTypes___closed__22;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__19;
|
||||
x_3 = l_Lean_Compiler_numScalarTypes___closed__20;
|
||||
x_4 = l_Lean_Compiler_numScalarTypes___closed__21;
|
||||
x_5 = l_usizeSz___closed__1;
|
||||
x_6 = lean_alloc_ctor(0, 5, 0);
|
||||
lean_ctor_set(x_6, 0, x_1);
|
||||
|
|
@ -623,23 +613,35 @@ lean_ctor_set(x_6, 4, x_5);
|
|||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__24() {
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__23() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__23;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__22;
|
||||
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* _init_l_Lean_Compiler_numScalarTypes___closed__24() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__17;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__23;
|
||||
x_3 = lean_alloc_ctor(1, 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_Compiler_numScalarTypes___closed__25() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__18;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__13;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__24;
|
||||
x_3 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -651,7 +653,7 @@ lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__26() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__14;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__9;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__25;
|
||||
x_3 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -663,7 +665,7 @@ lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__27() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__10;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__5;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__26;
|
||||
x_3 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -671,23 +673,11 @@ lean_ctor_set(x_3, 1, x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_numScalarTypes___closed__28() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__6;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__27;
|
||||
x_3 = lean_alloc_ctor(1, 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_Compiler_numScalarTypes() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__28;
|
||||
x_1 = l_Lean_Compiler_numScalarTypes___closed__27;
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -1025,7 +1015,7 @@ lean_object* l_Lean_Compiler_mkUInt32Lit(lean_object* x_1) {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__14;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__13;
|
||||
x_3 = l_Lean_Compiler_mkUIntLit(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -4071,7 +4061,7 @@ lean_object* _init_l_Lean_Compiler_unFoldFns___closed__5() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("Char");
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_foldCharOfNat___boxed), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -4079,9 +4069,11 @@ lean_object* _init_l_Lean_Compiler_unFoldFns___closed__6() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_1 = l_Lean_Expr_isCharLit___closed__4;
|
||||
x_2 = l_Lean_Compiler_unFoldFns___closed__5;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
@ -4089,61 +4081,31 @@ lean_object* _init_l_Lean_Compiler_unFoldFns___closed__7() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_unFoldFns___closed__6;
|
||||
x_2 = l_Lean_Compiler_numScalarTypes___closed__2;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_unFoldFns___closed__8() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_foldCharOfNat___boxed), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Compiler_unFoldFns___closed__9() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_unFoldFns___closed__7;
|
||||
x_2 = l_Lean_Compiler_unFoldFns___closed__8;
|
||||
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_Compiler_unFoldFns___closed__10() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Compiler_unFoldFns___closed__9;
|
||||
x_2 = l_Lean_Compiler_unFoldFns___closed__6;
|
||||
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* _init_l_Lean_Compiler_unFoldFns___closed__11() {
|
||||
lean_object* _init_l_Lean_Compiler_unFoldFns___closed__8() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_unFoldFns___closed__4;
|
||||
x_2 = l_Lean_Compiler_unFoldFns___closed__10;
|
||||
x_2 = l_Lean_Compiler_unFoldFns___closed__7;
|
||||
x_3 = lean_alloc_ctor(1, 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_Compiler_unFoldFns___closed__12() {
|
||||
lean_object* _init_l_Lean_Compiler_unFoldFns___closed__9() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_unFoldFns___closed__11;
|
||||
x_1 = l_Lean_Compiler_unFoldFns___closed__8;
|
||||
x_2 = l_Lean_Compiler_uintFoldToNatFns;
|
||||
x_3 = l_List_append___rarg(x_1, x_2);
|
||||
return x_3;
|
||||
|
|
@ -4153,7 +4115,7 @@ lean_object* _init_l_Lean_Compiler_unFoldFns() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = l_Lean_Compiler_unFoldFns___closed__12;
|
||||
x_1 = l_Lean_Compiler_unFoldFns___closed__9;
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -4454,8 +4416,6 @@ l_Lean_Compiler_numScalarTypes___closed__26 = _init_l_Lean_Compiler_numScalarTyp
|
|||
lean_mark_persistent(l_Lean_Compiler_numScalarTypes___closed__26);
|
||||
l_Lean_Compiler_numScalarTypes___closed__27 = _init_l_Lean_Compiler_numScalarTypes___closed__27();
|
||||
lean_mark_persistent(l_Lean_Compiler_numScalarTypes___closed__27);
|
||||
l_Lean_Compiler_numScalarTypes___closed__28 = _init_l_Lean_Compiler_numScalarTypes___closed__28();
|
||||
lean_mark_persistent(l_Lean_Compiler_numScalarTypes___closed__28);
|
||||
l_Lean_Compiler_numScalarTypes = _init_l_Lean_Compiler_numScalarTypes();
|
||||
lean_mark_persistent(l_Lean_Compiler_numScalarTypes);
|
||||
l_Lean_Compiler_foldUIntAdd___closed__1 = _init_l_Lean_Compiler_foldUIntAdd___closed__1();
|
||||
|
|
@ -4736,12 +4696,6 @@ l_Lean_Compiler_unFoldFns___closed__8 = _init_l_Lean_Compiler_unFoldFns___closed
|
|||
lean_mark_persistent(l_Lean_Compiler_unFoldFns___closed__8);
|
||||
l_Lean_Compiler_unFoldFns___closed__9 = _init_l_Lean_Compiler_unFoldFns___closed__9();
|
||||
lean_mark_persistent(l_Lean_Compiler_unFoldFns___closed__9);
|
||||
l_Lean_Compiler_unFoldFns___closed__10 = _init_l_Lean_Compiler_unFoldFns___closed__10();
|
||||
lean_mark_persistent(l_Lean_Compiler_unFoldFns___closed__10);
|
||||
l_Lean_Compiler_unFoldFns___closed__11 = _init_l_Lean_Compiler_unFoldFns___closed__11();
|
||||
lean_mark_persistent(l_Lean_Compiler_unFoldFns___closed__11);
|
||||
l_Lean_Compiler_unFoldFns___closed__12 = _init_l_Lean_Compiler_unFoldFns___closed__12();
|
||||
lean_mark_persistent(l_Lean_Compiler_unFoldFns___closed__12);
|
||||
l_Lean_Compiler_unFoldFns = _init_l_Lean_Compiler_unFoldFns();
|
||||
lean_mark_persistent(l_Lean_Compiler_unFoldFns);
|
||||
return lean_mk_io_result(lean_box(0));
|
||||
|
|
|
|||
|
|
@ -48,8 +48,8 @@ lean_object* lean_array_swap(lean_object*, lean_object*, lean_object*);
|
|||
lean_object* l_Std_RBNode_fold___main___at_Lean_mkInitAttr___spec__2___boxed(lean_object*, lean_object*);
|
||||
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_registerParametricAttribute___rarg___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_mkThunkType___closed__1;
|
||||
lean_object* l___private_Lean_Compiler_InitAttr_2__isUnitType___boxed(lean_object*);
|
||||
lean_object* l___private_Lean_Compiler_InitAttr_2__isUnitType___closed__1;
|
||||
lean_object* l_Lean_mkInitAttr(lean_object*);
|
||||
extern lean_object* l_Char_HasRepr___closed__1;
|
||||
lean_object* l_Std_RBNode_fold___main___at_Lean_mkInitAttr___spec__2(lean_object*, lean_object*);
|
||||
|
|
@ -203,14 +203,6 @@ lean_dec(x_1);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l___private_Lean_Compiler_InitAttr_2__isUnitType___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("Unit");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
uint8_t l___private_Lean_Compiler_InitAttr_2__isUnitType(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -226,7 +218,7 @@ if (lean_obj_tag(x_3) == 0)
|
|||
{
|
||||
lean_object* x_4; lean_object* x_5; uint8_t x_6;
|
||||
x_4 = lean_ctor_get(x_2, 1);
|
||||
x_5 = l___private_Lean_Compiler_InitAttr_2__isUnitType___closed__1;
|
||||
x_5 = l_Lean_mkThunkType___closed__1;
|
||||
x_6 = lean_string_dec_eq(x_4, x_5);
|
||||
return x_6;
|
||||
}
|
||||
|
|
@ -2160,8 +2152,6 @@ if (lean_io_result_is_error(res)) return res;
|
|||
lean_dec_ref(res);
|
||||
l___private_Lean_Compiler_InitAttr_1__getIOTypeArg___closed__1 = _init_l___private_Lean_Compiler_InitAttr_1__getIOTypeArg___closed__1();
|
||||
lean_mark_persistent(l___private_Lean_Compiler_InitAttr_1__getIOTypeArg___closed__1);
|
||||
l___private_Lean_Compiler_InitAttr_2__isUnitType___closed__1 = _init_l___private_Lean_Compiler_InitAttr_2__isUnitType___closed__1();
|
||||
lean_mark_persistent(l___private_Lean_Compiler_InitAttr_2__isUnitType___closed__1);
|
||||
l___private_Init_Data_Array_QSort_1__partitionAux___main___at_Lean_mkInitAttr___spec__4___closed__1 = _init_l___private_Init_Data_Array_QSort_1__partitionAux___main___at_Lean_mkInitAttr___spec__4___closed__1();
|
||||
lean_mark_persistent(l___private_Init_Data_Array_QSort_1__partitionAux___main___at_Lean_mkInitAttr___spec__4___closed__1);
|
||||
l_Lean_registerParametricAttribute___at_Lean_mkInitAttr___spec__1___closed__1 = _init_l_Lean_registerParametricAttribute___at_Lean_mkInitAttr___spec__1___closed__1();
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -107,6 +107,7 @@ lean_object* l_Lean_Elab_Term_synthesizeAppInstMVars(lean_object*, lean_object*,
|
|||
lean_object* l___private_Lean_Elab_App_18__elabAppLValsAux___main___closed__1;
|
||||
lean_object* l___regBuiltin_Lean_Elab_Term_elabId(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_addNamedArg___closed__6;
|
||||
extern lean_object* l_Lean_Parser_Term_proj___elambda__1___closed__1;
|
||||
lean_object* l___private_Lean_Elab_App_13__resolveLValAux___closed__2;
|
||||
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_App_21__elabAppFn___main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -133,7 +134,6 @@ lean_object* l_Lean_FindMVar_main___main___at___private_Lean_Elab_App_6__hasType
|
|||
extern lean_object* l_Lean_mkTermIdFromIdent___closed__2;
|
||||
lean_object* l_List_foldlM___main___at___private_Lean_Elab_App_16__mkBaseProjections___spec__1___closed__2;
|
||||
extern lean_object* l_Lean_Format_repr___main___closed__13;
|
||||
extern lean_object* l_Lean_Parser_Term_proj___elambda__1___closed__2;
|
||||
lean_object* l___private_Lean_Elab_App_17__addLValArg___main___closed__3;
|
||||
lean_object* l___private_Lean_Elab_App_21__elabAppFn(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_getAppNumArgsAux___main(lean_object*, lean_object*);
|
||||
|
|
@ -18551,7 +18551,7 @@ lean_dec(x_11);
|
|||
if (x_13 == 0)
|
||||
{
|
||||
uint8_t x_14; uint8_t x_329; lean_object* x_437; uint8_t x_438;
|
||||
x_437 = l_Lean_Parser_Term_proj___elambda__1___closed__2;
|
||||
x_437 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
|
||||
lean_inc(x_1);
|
||||
x_438 = l_Lean_Syntax_isOfKind(x_1, x_437);
|
||||
if (x_438 == 0)
|
||||
|
|
@ -22071,7 +22071,7 @@ _start:
|
|||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Elab_Term_termElabAttribute;
|
||||
x_3 = l_Lean_Parser_Term_proj___elambda__1___closed__2;
|
||||
x_3 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
|
||||
x_4 = l___regBuiltin_Lean_Elab_Term_elabProj___closed__1;
|
||||
x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
|
|
|
|||
|
|
@ -60,13 +60,13 @@ extern lean_object* l___private_Lean_Elab_Quotation_4__getHeadInfo___elambda__3_
|
|||
lean_object* l___private_Lean_Elab_Binders_6__matchBinder(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Binders_9__getFunBinderIdsAux_x3f___main___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___regBuiltin_Lean_Elab_Term_elabArrow___closed__1;
|
||||
extern lean_object* l___private_Lean_Meta_EqnCompiler_DepElim_18__processNonVariable___closed__1;
|
||||
extern lean_object* l___private_Lean_Elab_Quotation_4__getHeadInfo___elambda__3___closed__2;
|
||||
lean_object* l_Lean_Elab_Term_elabFunBinders___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_declareTacticSyntax___closed__2;
|
||||
lean_object* l_Lean_mkIdentFrom(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_compileDecl(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Binders_11__expandFunBindersAux___main___closed__6;
|
||||
extern lean_object* l___private_Lean_Meta_EqnCompiler_DepElim_19__processNonVariable___closed__1;
|
||||
lean_object* l_Lean_Elab_Term_mkLambda(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_termParser_parenthesizer___lambda__1___closed__5;
|
||||
lean_object* lean_expr_instantiate1(lean_object*, lean_object*);
|
||||
|
|
@ -6123,7 +6123,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_SourceInfo_inhabited___closed__1;
|
||||
x_2 = l___private_Lean_Meta_EqnCompiler_DepElim_19__processNonVariable___closed__1;
|
||||
x_2 = l___private_Lean_Meta_EqnCompiler_DepElim_18__processNonVariable___closed__1;
|
||||
x_3 = lean_alloc_ctor(2, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
lean_ctor_set(x_3, 1, x_2);
|
||||
|
|
|
|||
|
|
@ -107,7 +107,6 @@ lean_object* l_Lean_Elab_Term_elabParserMacro___lambda__1___closed__4;
|
|||
extern lean_object* l_Lean_Parser_Term_pow___elambda__1___closed__1;
|
||||
lean_object* l_Lean_Elab_Term_expandSubtype(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Parser_Term_parser_x21___elambda__1___closed__2;
|
||||
extern lean_object* l_Lean_Meta_evalNat___main___closed__10;
|
||||
lean_object* l_Lean_Elab_Term_compileDecl(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_elabMul___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_expandIf___closed__7;
|
||||
|
|
@ -140,6 +139,7 @@ lean_object* l_Lean_Elab_Term_elabDiv___closed__3;
|
|||
lean_object* l___regBuiltin_Lean_Elab_Term_elabHEq___closed__1;
|
||||
lean_object* l_Lean_Elab_Term_elabBNe(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_appArg_x21(lean_object*);
|
||||
extern lean_object* l_Lean_Parser_Term_proj___elambda__1___closed__1;
|
||||
lean_object* l_Lean_Elab_Term_elabParserMacro___lambda__1___closed__2;
|
||||
lean_object* l_Lean_Elab_Term_elabLT___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_string_utf8_byte_size(lean_object*);
|
||||
|
|
@ -191,7 +191,6 @@ lean_object* l_Lean_Elab_Term_addDecl(lean_object*, lean_object*, lean_object*);
|
|||
extern lean_object* l_Lean_mkTermIdFromIdent___closed__2;
|
||||
lean_object* l_Array_foldlStepMAux___main___at_Lean_Elab_Term_elabParen___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___regBuiltin_Lean_Elab_Term_elabTParserMacro(lean_object*);
|
||||
extern lean_object* l_Lean_Parser_Term_proj___elambda__1___closed__2;
|
||||
extern lean_object* l_Lean_Parser_Term_add___elambda__1___closed__1;
|
||||
lean_object* l_Lean_Elab_Term_expandShow___closed__2;
|
||||
lean_object* l___private_Lean_Elab_BuiltinNotation_1__elabParserMacroAux___closed__24;
|
||||
|
|
@ -431,6 +430,7 @@ lean_object* l_Lean_Elab_Term_elabOrM___boxed(lean_object*, lean_object*, lean_o
|
|||
lean_object* l___private_Lean_Elab_BuiltinNotation_1__elabParserMacroAux___closed__3;
|
||||
lean_object* l___private_Lean_Elab_BuiltinNotation_5__getPropToDecide___closed__2;
|
||||
lean_object* l___private_Lean_Elab_BuiltinNotation_3__mkNativeReflAuxDecl___closed__1;
|
||||
extern lean_object* l_Lean_Meta_evalNat___main___closed__9;
|
||||
lean_object* l_Lean_Elab_Term_elabGE___boxed(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Parser_Term_seqRight___elambda__1___closed__1;
|
||||
lean_object* l_Lean_Elab_Term_expandIf___closed__2;
|
||||
|
|
@ -807,7 +807,7 @@ x_19 = lean_array_push(x_18, x_15);
|
|||
x_20 = l_Lean_Elab_Term_expandDollarProj___closed__1;
|
||||
x_21 = lean_array_push(x_19, x_20);
|
||||
x_22 = lean_array_push(x_21, x_17);
|
||||
x_23 = l_Lean_Parser_Term_proj___elambda__1___closed__2;
|
||||
x_23 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
|
||||
x_24 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_24, 0, x_23);
|
||||
lean_ctor_set(x_24, 1, x_22);
|
||||
|
|
@ -7407,7 +7407,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_Term_elabSub___closed__2;
|
||||
x_2 = l_Lean_Meta_evalNat___main___closed__10;
|
||||
x_2 = l_Lean_Meta_evalNat___main___closed__9;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ lean_object* l___private_Lean_Elab_Declaration_7__expandMutualPreamble_x3f___clo
|
|||
lean_object* l_Lean_Elab_Term_throwErrorAt___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_expandOptDeclSig(lean_object*);
|
||||
extern lean_object* l_Lean_Parser_Command_abbrev___elambda__1___closed__2;
|
||||
extern lean_object* l___private_Lean_Meta_EqnCompiler_DepElim_35__getUnusedLevelParam___closed__1;
|
||||
lean_object* l___private_Lean_Elab_Declaration_7__expandMutualPreamble_x3f___closed__7;
|
||||
lean_object* l_Lean_Elab_Command_addDecl(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_instantiateMVars(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -77,7 +78,6 @@ lean_object* lean_array_fget(lean_object*, lean_object*);
|
|||
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_levelMVarToParam(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Declaration_7__expandMutualPreamble_x3f___closed__12;
|
||||
extern lean_object* l_Lean_Meta_DepElim_getUnusedLevelParam___closed__1;
|
||||
lean_object* l___private_Lean_Elab_Declaration_6__splitMutualPreamble(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_elabAxiom(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Parser_Term_tacticBlock___elambda__1___closed__7;
|
||||
|
|
@ -808,7 +808,7 @@ x_32 = lean_ctor_get(x_29, 1);
|
|||
x_33 = lean_ctor_get(x_31, 0);
|
||||
lean_inc(x_33);
|
||||
lean_dec(x_31);
|
||||
x_34 = l_Lean_Meta_DepElim_getUnusedLevelParam___closed__1;
|
||||
x_34 = l___private_Lean_Meta_EqnCompiler_DepElim_35__getUnusedLevelParam___closed__1;
|
||||
lean_inc(x_33);
|
||||
x_35 = l_Lean_CollectLevelParams_main___main(x_33, x_34);
|
||||
x_36 = lean_ctor_get(x_35, 2);
|
||||
|
|
@ -863,7 +863,7 @@ lean_dec(x_29);
|
|||
x_49 = lean_ctor_get(x_47, 0);
|
||||
lean_inc(x_49);
|
||||
lean_dec(x_47);
|
||||
x_50 = l_Lean_Meta_DepElim_getUnusedLevelParam___closed__1;
|
||||
x_50 = l___private_Lean_Meta_EqnCompiler_DepElim_35__getUnusedLevelParam___closed__1;
|
||||
lean_inc(x_49);
|
||||
x_51 = l_Lean_CollectLevelParams_main___main(x_49, x_50);
|
||||
x_52 = lean_ctor_get(x_51, 2);
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ lean_object* l_Lean_Elab_Term_removeUnused(lean_object*, lean_object*, lean_obje
|
|||
lean_object* l_Lean_Elab_Term_throwErrorAt___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*);
|
||||
extern lean_object* l___private_Lean_Meta_ExprDefEq_8__checkTypesAndAssign___closed__7;
|
||||
extern lean_object* l___private_Lean_Meta_EqnCompiler_DepElim_35__getUnusedLevelParam___closed__1;
|
||||
lean_object* l_Lean_Elab_Command_addDecl(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkSort(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_instantiateMVars(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -53,7 +54,6 @@ lean_object* l_Lean_Elab_Command_mkDeclName(lean_object*, lean_object*, lean_obj
|
|||
lean_object* l_Lean_Elab_Command_elabDefLike___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_state_sharecommon(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_levelMVarToParam(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Meta_DepElim_getUnusedLevelParam___closed__1;
|
||||
lean_object* l_Lean_Elab_Term_throwUnsupportedSyntax___rarg(lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_DefKind_isTheorem___boxed(lean_object*);
|
||||
uint8_t l_Lean_Elab_Command_DefKind_isDefOrAbbrevOrOpaque(uint8_t);
|
||||
|
|
@ -666,7 +666,7 @@ x_45 = lean_state_sharecommon(x_44, x_38);
|
|||
x_46 = lean_ctor_get(x_45, 0);
|
||||
lean_inc(x_46);
|
||||
lean_dec(x_45);
|
||||
x_47 = l_Lean_Meta_DepElim_getUnusedLevelParam___closed__1;
|
||||
x_47 = l___private_Lean_Meta_EqnCompiler_DepElim_35__getUnusedLevelParam___closed__1;
|
||||
lean_inc(x_43);
|
||||
x_48 = l_Lean_CollectLevelParams_main___main(x_43, x_47);
|
||||
lean_inc(x_46);
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ extern lean_object* l_Lean_Expr_eq_x3f___closed__2;
|
|||
lean_object* l_Array_forMAux___main___at___private_Lean_Elab_Inductive_4__checkLevelNames___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Meta_Basic_5__forallTelescopeReducingAuxAux___main___at___private_Lean_Elab_Inductive_30__replaceIndFVarsWithConsts___spec__3(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___closed__6;
|
||||
extern lean_object* l___private_Lean_Meta_EqnCompiler_DepElim_35__getUnusedLevelParam___closed__1;
|
||||
lean_object* l_Lean_Elab_Command_addDecl(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkSort(lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___closed__5;
|
||||
|
|
@ -165,7 +166,6 @@ lean_object* l___private_Lean_Elab_Inductive_23__updateResultingUniverse(lean_ob
|
|||
uint8_t l_Lean_Level_isParam(lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Inductive_16__elabCtors___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_mk_below(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Meta_DepElim_getUnusedLevelParam___closed__1;
|
||||
lean_object* l_List_map___main___at___private_Lean_Elab_Inductive_32__applyInferMod___spec__2___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_getLevel(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_nat_sub(lean_object*, lean_object*);
|
||||
|
|
@ -10222,7 +10222,7 @@ lean_object* l___private_Lean_Elab_Inductive_28__collectLevelParamsInInductive(l
|
|||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4;
|
||||
x_2 = l_Lean_Meta_DepElim_getUnusedLevelParam___closed__1;
|
||||
x_2 = l___private_Lean_Meta_EqnCompiler_DepElim_35__getUnusedLevelParam___closed__1;
|
||||
x_3 = l_List_foldl___main___at___private_Lean_Elab_Inductive_28__collectLevelParamsInInductive___spec__2(x_2, x_1);
|
||||
x_4 = lean_ctor_get(x_3, 2);
|
||||
lean_inc(x_4);
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -122,7 +122,6 @@ lean_object* l___private_Lean_Elab_Quotation_8__letBindRhss(lean_object*, lean_o
|
|||
extern lean_object* l_String_splitAux___main___closed__1;
|
||||
lean_object* l___private_Lean_Elab_Quotation_7__getPatternVarsAux___main(lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Quotation_2__quoteSyntax___main(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_unitToExpr___lambda__1___closed__3;
|
||||
lean_object* l___private_Lean_Elab_Quotation_6__compileStxMatch___main___closed__14;
|
||||
lean_object* l___private_Lean_Elab_Quotation_4__getHeadInfo___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_Quotation_antiquotKind_x3f___boxed(lean_object*);
|
||||
|
|
@ -259,6 +258,7 @@ lean_object* l___private_Lean_Elab_Quotation_10__toPreterm___main___closed__5;
|
|||
extern lean_object* l_Lean_Unhygienic_MonadQuotation___closed__4;
|
||||
lean_object* l_Lean_Elab_Term_Quotation_isAntiquotSplicePat___boxed(lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Quotation_10__toPreterm___main___lambda__3___closed__1;
|
||||
extern lean_object* l_Lean_mkThunkType___closed__1;
|
||||
lean_object* l_Lean_Elab_Term_Quotation_getAntiquotTerm(lean_object*);
|
||||
lean_object* lean_mk_empty_local_ctx(lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Quotation_4__getHeadInfo___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -267,7 +267,6 @@ lean_object* l___private_Lean_Elab_Quotation_4__getHeadInfo___elambda__3___close
|
|||
lean_object* l___private_Lean_Elab_Quotation_6__compileStxMatch___main___closed__36;
|
||||
uint8_t l_Array_anyRangeMAux___main___at_Lean_Elab_Term_Quotation_isAntiquotSplicePat___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_List_map___main___at___private_Lean_Elab_Quotation_7__getPatternVarsAux___main___spec__1(lean_object*);
|
||||
extern lean_object* l___private_Lean_Compiler_InitAttr_2__isUnitType___closed__1;
|
||||
lean_object* l_Nat_repr(lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Quotation_11__oldRunTermElabM___rarg___closed__5;
|
||||
lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__15;
|
||||
|
|
@ -280,6 +279,7 @@ extern lean_object* l_Lean_Elab_Term_expandCDot_x3f___closed__3;
|
|||
lean_object* l___private_Lean_Elab_Quotation_10__toPreterm___main___lambda__3___closed__2;
|
||||
lean_object* l_List_foldl___main___at___private_Lean_Elab_Quotation_10__toPreterm___main___spec__7(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Quotation_10__toPreterm___main___lambda__1___closed__1;
|
||||
extern lean_object* l_Lean_unitToExpr___lambda__1___closed__1;
|
||||
lean_object* l_Lean_Syntax_getId(lean_object*);
|
||||
lean_object* l_List_foldl___main___at___private_Lean_Elab_Quotation_10__toPreterm___main___spec__14(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_get_antiquot_vars(lean_object*, lean_object*);
|
||||
|
|
@ -14687,9 +14687,9 @@ else
|
|||
lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168;
|
||||
lean_dec(x_156);
|
||||
lean_dec(x_2);
|
||||
x_162 = l___private_Lean_Compiler_InitAttr_2__isUnitType___closed__1;
|
||||
x_162 = l_Lean_mkThunkType___closed__1;
|
||||
x_163 = lean_name_mk_string(x_41, x_162);
|
||||
x_164 = l_Lean_unitToExpr___lambda__1___closed__3;
|
||||
x_164 = l_Lean_unitToExpr___lambda__1___closed__1;
|
||||
x_165 = lean_name_mk_string(x_163, x_164);
|
||||
x_166 = lean_box(0);
|
||||
x_167 = l_Lean_mkConst(x_165, x_166);
|
||||
|
|
@ -16773,9 +16773,9 @@ else
|
|||
lean_object* x_733; lean_object* x_734; lean_object* x_735; lean_object* x_736; lean_object* x_737; lean_object* x_738; lean_object* x_739;
|
||||
lean_dec(x_727);
|
||||
lean_dec(x_2);
|
||||
x_733 = l___private_Lean_Compiler_InitAttr_2__isUnitType___closed__1;
|
||||
x_733 = l_Lean_mkThunkType___closed__1;
|
||||
x_734 = lean_name_mk_string(x_41, x_733);
|
||||
x_735 = l_Lean_unitToExpr___lambda__1___closed__3;
|
||||
x_735 = l_Lean_unitToExpr___lambda__1___closed__1;
|
||||
x_736 = lean_name_mk_string(x_734, x_735);
|
||||
x_737 = lean_box(0);
|
||||
x_738 = l_Lean_mkConst(x_736, x_737);
|
||||
|
|
@ -18546,9 +18546,9 @@ else
|
|||
lean_object* x_1190; lean_object* x_1191; lean_object* x_1192; lean_object* x_1193; lean_object* x_1194; lean_object* x_1195; lean_object* x_1196;
|
||||
lean_dec(x_1184);
|
||||
lean_dec(x_2);
|
||||
x_1190 = l___private_Lean_Compiler_InitAttr_2__isUnitType___closed__1;
|
||||
x_1190 = l_Lean_mkThunkType___closed__1;
|
||||
x_1191 = lean_name_mk_string(x_41, x_1190);
|
||||
x_1192 = l_Lean_unitToExpr___lambda__1___closed__3;
|
||||
x_1192 = l_Lean_unitToExpr___lambda__1___closed__1;
|
||||
x_1193 = lean_name_mk_string(x_1191, x_1192);
|
||||
x_1194 = lean_box(0);
|
||||
x_1195 = l_Lean_mkConst(x_1193, x_1194);
|
||||
|
|
@ -20352,9 +20352,9 @@ else
|
|||
lean_object* x_1653; lean_object* x_1654; lean_object* x_1655; lean_object* x_1656; lean_object* x_1657; lean_object* x_1658; lean_object* x_1659;
|
||||
lean_dec(x_1647);
|
||||
lean_dec(x_2);
|
||||
x_1653 = l___private_Lean_Compiler_InitAttr_2__isUnitType___closed__1;
|
||||
x_1653 = l_Lean_mkThunkType___closed__1;
|
||||
x_1654 = lean_name_mk_string(x_41, x_1653);
|
||||
x_1655 = l_Lean_unitToExpr___lambda__1___closed__3;
|
||||
x_1655 = l_Lean_unitToExpr___lambda__1___closed__1;
|
||||
x_1656 = lean_name_mk_string(x_1654, x_1655);
|
||||
x_1657 = lean_box(0);
|
||||
x_1658 = l_Lean_mkConst(x_1656, x_1657);
|
||||
|
|
@ -22190,9 +22190,9 @@ else
|
|||
lean_object* x_2123; lean_object* x_2124; lean_object* x_2125; lean_object* x_2126; lean_object* x_2127; lean_object* x_2128; lean_object* x_2129;
|
||||
lean_dec(x_2117);
|
||||
lean_dec(x_2);
|
||||
x_2123 = l___private_Lean_Compiler_InitAttr_2__isUnitType___closed__1;
|
||||
x_2123 = l_Lean_mkThunkType___closed__1;
|
||||
x_2124 = lean_name_mk_string(x_41, x_2123);
|
||||
x_2125 = l_Lean_unitToExpr___lambda__1___closed__3;
|
||||
x_2125 = l_Lean_unitToExpr___lambda__1___closed__1;
|
||||
x_2126 = lean_name_mk_string(x_2124, x_2125);
|
||||
x_2127 = lean_box(0);
|
||||
x_2128 = l_Lean_mkConst(x_2126, x_2127);
|
||||
|
|
@ -24304,9 +24304,9 @@ else
|
|||
lean_object* x_2636; lean_object* x_2637; lean_object* x_2638; lean_object* x_2639; lean_object* x_2640; lean_object* x_2641; lean_object* x_2642;
|
||||
lean_dec(x_2630);
|
||||
lean_dec(x_2484);
|
||||
x_2636 = l___private_Lean_Compiler_InitAttr_2__isUnitType___closed__1;
|
||||
x_2636 = l_Lean_mkThunkType___closed__1;
|
||||
x_2637 = lean_name_mk_string(x_2505, x_2636);
|
||||
x_2638 = l_Lean_unitToExpr___lambda__1___closed__3;
|
||||
x_2638 = l_Lean_unitToExpr___lambda__1___closed__1;
|
||||
x_2639 = lean_name_mk_string(x_2637, x_2638);
|
||||
x_2640 = lean_box(0);
|
||||
x_2641 = l_Lean_mkConst(x_2639, x_2640);
|
||||
|
|
|
|||
|
|
@ -96,6 +96,7 @@ extern lean_object* l___private_Lean_Elab_Quotation_4__getHeadInfo___elambda__3_
|
|||
lean_object* l_Std_HashMapImp_moveEntries___main___at___private_Lean_Elab_StructInst_12__mkFieldMap___spec__6(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_List_append___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_StructInst_19__expandStruct___main___spec__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_annotation_x3f(lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_StructInst_5__getStructName___rarg___closed__1;
|
||||
uint8_t l_Lean_Expr_isApp(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_StructInst_formatStruct___main___closed__5;
|
||||
|
|
@ -141,6 +142,7 @@ extern lean_object* l_Id_monad;
|
|||
lean_object* l_List_foldlM___main___at___private_Lean_Elab_StructInst_24__elabStruct___main___spec__1___closed__1;
|
||||
lean_object* l_Lean_Expr_appArg_x21(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValueAux_x3f(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Parser_Term_proj___elambda__1___closed__1;
|
||||
lean_object* l_List_map___main___at___private_Lean_Elab_StructInst_19__expandStruct___main___spec__2(lean_object*);
|
||||
lean_object* lean_string_utf8_byte_size(lean_object*);
|
||||
lean_object* l_List_head_x21___rarg(lean_object*, lean_object*);
|
||||
|
|
@ -187,16 +189,15 @@ lean_object* l_Lean_Elab_Term_StructInst_Source_isNone___boxed(lean_object*);
|
|||
lean_object* l_Lean_Elab_Term_StructInst_Struct_inhabited;
|
||||
lean_object* l_List_mapM___main___at___private_Lean_Elab_StructInst_9__expandNumLitFields___spec__1___closed__6;
|
||||
lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_StructInst_12__mkFieldMap___spec__1___boxed(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Parser_Term_proj___elambda__1___closed__2;
|
||||
lean_object* l_Lean_Elab_Term_StructInst_Struct_structName(lean_object*);
|
||||
lean_object* l_Lean_Expr_getAppNumArgsAux___main(lean_object*, lean_object*);
|
||||
uint8_t lean_metavar_ctx_is_expr_assigned(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_StructInst_defaultMissing_x3f___boxed(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValueAux_x3f___main(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_StructInst_25__elabStructInstAux___closed__2;
|
||||
lean_object* l___private_Lean_Elab_StructInst_17__groupFields___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_StructInst_25__elabStructInstAux___closed__4;
|
||||
lean_object* l_Lean_Elab_Term_StructInst_isDefaultMissing_x3f___boxed(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_tryPostponeIfNoneOrMVar(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_StructInst_19__expandStruct___main___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___main___closed__1;
|
||||
|
|
@ -286,6 +287,7 @@ lean_object* l_Array_foldlStepMAux___main___at___private_Lean_Elab_StructInst_3_
|
|||
lean_object* l_Lean_Elab_Term_StructInst_findField_x3f(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Options_empty;
|
||||
lean_object* lean_expr_dbg_to_string(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_StructInst_defaultMissing_x3f(lean_object*);
|
||||
lean_object* l_Lean_getPathToBaseStructure_x3f(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_List_mapM___main___at___private_Lean_Elab_StructInst_9__expandNumLitFields___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
size_t lean_usize_modn(size_t, lean_object*);
|
||||
|
|
@ -356,7 +358,6 @@ size_t lean_ptr_addr(lean_object*);
|
|||
lean_object* l_Array_foldlStepMAux___main___at___private_Lean_Elab_StructInst_3__isModifyOp_x3f___spec__1___closed__3;
|
||||
lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___main___closed__3;
|
||||
lean_object* lean_instantiate_value_lparams(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_isAnnotation_x3f(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_StructInst_throwFailedToElabField___rarg___closed__2;
|
||||
lean_object* l_Lean_Elab_Term_StructInst_formatField___closed__1;
|
||||
lean_object* l_Lean_Elab_Term_setMCtx(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -434,7 +435,6 @@ lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop(lean_object
|
|||
extern lean_object* l_PUnit_Inhabited;
|
||||
extern lean_object* l_Lean_mkOptionalNode___closed__1;
|
||||
lean_object* l___private_Lean_Elab_StructInst_17__groupFields___lambda__3___closed__1;
|
||||
lean_object* l_Lean_Elab_Term_StructInst_isDefaultMissing_x3f(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_StructInst_elabStructInst___closed__3;
|
||||
lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_findDefaultMissing_x3f___main___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Std_HashMapImp_expand___at___private_Lean_Elab_StructInst_12__mkFieldMap___spec__5(lean_object*, lean_object*);
|
||||
|
|
@ -2486,7 +2486,7 @@ lean_ctor_set(x_69, 1, x_67);
|
|||
lean_ctor_set(x_69, 2, x_66);
|
||||
lean_ctor_set(x_69, 3, x_68);
|
||||
x_70 = lean_array_push(x_64, x_69);
|
||||
x_71 = l_Lean_Parser_Term_proj___elambda__1___closed__2;
|
||||
x_71 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
|
||||
x_72 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_72, 0, x_71);
|
||||
lean_ctor_set(x_72, 1, x_70);
|
||||
|
|
@ -2715,7 +2715,7 @@ lean_ctor_set(x_206, 1, x_204);
|
|||
lean_ctor_set(x_206, 2, x_201);
|
||||
lean_ctor_set(x_206, 3, x_205);
|
||||
x_207 = lean_array_push(x_199, x_206);
|
||||
x_208 = l_Lean_Parser_Term_proj___elambda__1___closed__2;
|
||||
x_208 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
|
||||
x_209 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_209, 0, x_208);
|
||||
lean_ctor_set(x_209, 1, x_207);
|
||||
|
|
@ -12733,7 +12733,7 @@ x_6 = l___private_Lean_Meta_EqnCompiler_CaseArraySizes_2__introArrayLitAux___mai
|
|||
x_7 = lean_array_push(x_6, x_1);
|
||||
x_8 = lean_array_push(x_7, x_4);
|
||||
x_9 = lean_array_push(x_8, x_5);
|
||||
x_10 = l_Lean_Parser_Term_proj___elambda__1___closed__2;
|
||||
x_10 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
|
||||
x_11 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_11, 0, x_10);
|
||||
lean_ctor_set(x_11, 1, x_9);
|
||||
|
|
@ -16952,20 +16952,20 @@ x_3 = l_Lean_mkAnnotation(x_2, x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Elab_Term_StructInst_isDefaultMissing_x3f(lean_object* x_1) {
|
||||
lean_object* l_Lean_Elab_Term_StructInst_defaultMissing_x3f(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3;
|
||||
x_2 = l_Lean_Elab_Term_StructInst_markDefaultMissing___closed__2;
|
||||
x_3 = l_Lean_isAnnotation_x3f(x_2, x_1);
|
||||
x_3 = l_Lean_annotation_x3f(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Elab_Term_StructInst_isDefaultMissing_x3f___boxed(lean_object* x_1) {
|
||||
lean_object* l_Lean_Elab_Term_StructInst_defaultMissing_x3f___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_Elab_Term_StructInst_isDefaultMissing_x3f(x_1);
|
||||
x_2 = l_Lean_Elab_Term_StructInst_defaultMissing_x3f(x_1);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
}
|
||||
|
|
@ -21199,7 +21199,7 @@ lean_object* x_7; lean_object* x_8;
|
|||
x_7 = lean_ctor_get(x_4, 0);
|
||||
lean_inc(x_7);
|
||||
lean_dec(x_4);
|
||||
x_8 = l_Lean_Elab_Term_StructInst_isDefaultMissing_x3f(x_7);
|
||||
x_8 = l_Lean_Elab_Term_StructInst_defaultMissing_x3f(x_7);
|
||||
lean_dec(x_7);
|
||||
if (lean_obj_tag(x_8) == 0)
|
||||
{
|
||||
|
|
@ -22566,7 +22566,7 @@ if (x_69 == 0)
|
|||
{
|
||||
lean_object* x_70; lean_object* x_71;
|
||||
x_70 = lean_ctor_get(x_68, 0);
|
||||
x_71 = l_Lean_Elab_Term_StructInst_isDefaultMissing_x3f(x_2);
|
||||
x_71 = l_Lean_Elab_Term_StructInst_defaultMissing_x3f(x_2);
|
||||
if (lean_obj_tag(x_71) == 0)
|
||||
{
|
||||
lean_object* x_72;
|
||||
|
|
@ -22601,7 +22601,7 @@ x_76 = lean_ctor_get(x_68, 1);
|
|||
lean_inc(x_76);
|
||||
lean_inc(x_75);
|
||||
lean_dec(x_68);
|
||||
x_77 = l_Lean_Elab_Term_StructInst_isDefaultMissing_x3f(x_2);
|
||||
x_77 = l_Lean_Elab_Term_StructInst_defaultMissing_x3f(x_2);
|
||||
if (lean_obj_tag(x_77) == 0)
|
||||
{
|
||||
lean_object* x_78; lean_object* x_79;
|
||||
|
|
@ -22832,7 +22832,7 @@ block_98:
|
|||
if (x_4 == 0)
|
||||
{
|
||||
lean_object* x_6;
|
||||
x_6 = l_Lean_Elab_Term_StructInst_isDefaultMissing_x3f(x_2);
|
||||
x_6 = l_Lean_Elab_Term_StructInst_defaultMissing_x3f(x_2);
|
||||
if (lean_obj_tag(x_6) == 0)
|
||||
{
|
||||
switch (lean_obj_tag(x_2)) {
|
||||
|
|
@ -24128,7 +24128,7 @@ lean_dec(x_2);
|
|||
x_13 = lean_ctor_get(x_8, 0);
|
||||
lean_inc(x_13);
|
||||
lean_dec(x_8);
|
||||
x_14 = l_Lean_Elab_Term_StructInst_isDefaultMissing_x3f(x_13);
|
||||
x_14 = l_Lean_Elab_Term_StructInst_defaultMissing_x3f(x_13);
|
||||
lean_dec(x_13);
|
||||
if (lean_obj_tag(x_14) == 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ lean_object* l___private_Lean_Elab_Structure_10__withFields___main___rarg___clos
|
|||
lean_object* l___private_Lean_Elab_Structure_23__addCtorFields___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_StructFieldInfo_inhabited;
|
||||
lean_object* l_Lean_Name_eraseMacroScopes(lean_object*);
|
||||
extern lean_object* l___private_Lean_Meta_EqnCompiler_DepElim_35__getUnusedLevelParam___closed__1;
|
||||
lean_object* l___private_Lean_Elab_Structure_28__mkAuxConstructions___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_List_map___main___at___private_Lean_Elab_Structure_25__elabStructureView___spec__2(lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_addDecl(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -122,7 +123,6 @@ extern lean_object* l_Lean_Expr_Inhabited___closed__1;
|
|||
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Structure_8__processSubfields(lean_object*);
|
||||
lean_object* l_Array_forMAux___main___at___private_Lean_Elab_Structure_15__levelMVarToParamFVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Meta_DepElim_getUnusedLevelParam___closed__1;
|
||||
extern lean_object* l_Lean_Parser_Term_type___elambda__1___closed__5;
|
||||
uint8_t l_Lean_Elab_Command_StructFieldInfo_isSubobject(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_getLevel(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -8042,7 +8042,7 @@ _start:
|
|||
{
|
||||
lean_object* x_6; lean_object* x_7; lean_object* x_8;
|
||||
x_6 = lean_unsigned_to_nat(0u);
|
||||
x_7 = l_Lean_Meta_DepElim_getUnusedLevelParam___closed__1;
|
||||
x_7 = l___private_Lean_Meta_EqnCompiler_DepElim_35__getUnusedLevelParam___closed__1;
|
||||
lean_inc(x_4);
|
||||
x_8 = l_Array_iterateMAux___main___at___private_Lean_Elab_Structure_21__collectLevelParamsInFVars___spec__1(x_1, x_1, x_6, x_7, x_4, x_5);
|
||||
if (lean_obj_tag(x_8) == 0)
|
||||
|
|
|
|||
|
|
@ -361,7 +361,6 @@ lean_object* l_Lean_Elab_Tactic_logTrace(lean_object*, lean_object*, lean_object
|
|||
lean_object* l_Lean_Elab_Tactic_evalFailIfSuccess(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Tactic_evalChoiceAux(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Tactic_withFreshMacroScope___rarg(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_List_erase___main___at___private_Lean_Meta_EqnCompiler_DepElim_21__processAsPattern___spec__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Tactic_throwError(lean_object*);
|
||||
lean_object* l_Lean_Syntax_getPos(lean_object*);
|
||||
lean_object* l___regBuiltin_Lean_Elab_Tactic_evalParen___closed__1;
|
||||
|
|
@ -380,6 +379,7 @@ lean_object* l_Lean_Elab_Tactic_adaptExpander(lean_object*, lean_object*, lean_o
|
|||
lean_object* l_Lean_Elab_Tactic_throwErrorAt___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Tactic_focusAux___rarg(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Tactic_Basic_3__getIntrosSize(lean_object*);
|
||||
lean_object* l_List_erase___main___at___private_Lean_Meta_EqnCompiler_DepElim_20__processAsPattern___spec__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Tactic_getFVarIds(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_log___at_Lean_Elab_Tactic_evalTraceState___spec__1(uint8_t, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Tactic_getEnv___rarg(lean_object*);
|
||||
|
|
@ -16045,7 +16045,7 @@ lean_dec(x_14);
|
|||
x_20 = lean_ctor_get(x_15, 0);
|
||||
lean_inc(x_20);
|
||||
lean_dec(x_15);
|
||||
x_21 = l_List_erase___main___at___private_Lean_Meta_EqnCompiler_DepElim_21__processAsPattern___spec__1(x_12, x_20);
|
||||
x_21 = l_List_erase___main___at___private_Lean_Meta_EqnCompiler_DepElim_20__processAsPattern___spec__1(x_12, x_20);
|
||||
x_22 = lean_box(0);
|
||||
x_23 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_23, 0, x_20);
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ lean_object* l___private_Lean_Elab_Tactic_Induction_18__checkCasesResult(lean_ob
|
|||
lean_object* l___private_Lean_Elab_Tactic_Induction_13__getRecInfoDefault___closed__2;
|
||||
lean_object* l_Lean_Elab_Tactic_getRecFromUsing___closed__3;
|
||||
lean_object* l___private_Lean_Elab_Tactic_Induction_13__getRecInfoDefault___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_mkThunk___closed__1;
|
||||
lean_object* l___private_Lean_Elab_Tactic_Induction_18__checkCasesResult___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_eraseIdx___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_Array_forMAux___main___at___private_Lean_Elab_Tactic_Induction_11__checkAltCtorNames___spec__2___closed__2;
|
||||
|
|
@ -147,7 +148,6 @@ lean_object* l___private_Lean_Elab_Tactic_Induction_6__generalizeVars___lambda__
|
|||
lean_object* l___private_Lean_Elab_Tactic_Induction_4__generalizeMajor___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_forMAux___main___at___private_Lean_Elab_Tactic_Induction_11__checkAltCtorNames___spec__2___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Tactic_Induction_17__checkCasesResultAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Meta_mkAuxName___closed__1;
|
||||
lean_object* l_Lean_Meta_mkRecursorInfo(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Tactic_Induction_6__generalizeVars___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_List_foldr___main___at___private_Lean_Elab_Tactic_Induction_11__checkAltCtorNames___spec__1(lean_object*, uint8_t, lean_object*);
|
||||
|
|
@ -1465,7 +1465,7 @@ lean_inc(x_13);
|
|||
x_14 = lean_alloc_closure((void*)(l_Array_forMAux___main___at___private_Lean_Elab_Tactic_Induction_11__checkAltCtorNames___spec__2___lambda__1___boxed), 3, 2);
|
||||
lean_closure_set(x_14, 0, x_13);
|
||||
lean_closure_set(x_14, 1, x_10);
|
||||
x_15 = l_Lean_Meta_mkAuxName___closed__1;
|
||||
x_15 = l_Lean_mkThunk___closed__1;
|
||||
x_16 = lean_name_eq(x_13, x_15);
|
||||
x_17 = lean_ctor_get(x_4, 0);
|
||||
lean_inc(x_17);
|
||||
|
|
@ -6667,7 +6667,7 @@ lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9;
|
|||
x_6 = lean_array_fget(x_1, x_2);
|
||||
x_7 = l___private_Lean_Elab_Tactic_Induction_8__getAltName(x_6);
|
||||
lean_dec(x_6);
|
||||
x_8 = l_Lean_Meta_mkAuxName___closed__1;
|
||||
x_8 = l_Lean_mkThunk___closed__1;
|
||||
x_9 = lean_name_eq(x_7, x_8);
|
||||
lean_dec(x_7);
|
||||
if (x_9 == 0)
|
||||
|
|
|
|||
|
|
@ -134,7 +134,6 @@ lean_object* l_Lean_Elab_Term_getDecLevel(lean_object*, lean_object*, lean_objec
|
|||
lean_object* l_Lean_Elab_Term_monadQuotation___closed__2;
|
||||
lean_object* l_Lean_Meta_instantiateLevelMVars(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkIdentFrom(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Parser_declareBuiltinParser___closed__3;
|
||||
lean_object* l_Lean_Elab_Term_withoutPostponing(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_synthesizeInstMVarCore___closed__13;
|
||||
lean_object* l_Lean_Elab_Term_decLevel(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -199,13 +198,11 @@ extern lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__2;
|
|||
lean_object* l___regBuiltin_Lean_Elab_Term_elabTypeStx(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_dbgTrace___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_elabRawStrLit___closed__3;
|
||||
extern lean_object* l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_withLetDecl___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_assignExprMVar(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_getMainModule___rarg(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_Exception_hasToString(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_elabParen___closed__5;
|
||||
lean_object* l_Lean_Elab_Term_mkTermElabAttribute___closed__5;
|
||||
extern lean_object* l_Lean_LocalContext_Inhabited___closed__1;
|
||||
lean_object* l_Lean_Elab_Term_resolveName___closed__5;
|
||||
|
|
@ -277,7 +274,7 @@ lean_object* l_Lean_Elab_Term_tryCoe(lean_object*, lean_object*, lean_object*, l
|
|||
lean_object* l___private_Lean_Elab_Term_17__elabOptLevel___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__3;
|
||||
lean_object* l_Lean_Elab_Term_tryPostponeIfNoneOrMVar(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_elabParen___closed__4;
|
||||
extern lean_object* l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
lean_object* l_Lean_Elab_Term_throwErrorAt(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_elabLevel(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___regBuiltin_Lean_Elab_Term_elabNamedHole(lean_object*);
|
||||
|
|
@ -475,6 +472,7 @@ lean_object* l_Lean_Elab_Term_mkFreshFVarId(lean_object*);
|
|||
lean_object* l_Lean_Elab_Term_elabTermAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_elabLevel___boxed(lean_object*, lean_object*, lean_object*);
|
||||
size_t lean_usize_modn(size_t, lean_object*);
|
||||
extern lean_object* l_Lean_charToExpr___lambda__1___closed__1;
|
||||
lean_object* l_Lean_Elab_Term_expandCDot_x3f___closed__2;
|
||||
lean_object* l_Lean_SMap_find_x3f___at_Lean_Elab_Term_elabUsingElabFns___spec__1___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_expandArrayLit___closed__4;
|
||||
|
|
@ -484,7 +482,6 @@ lean_object* l_Lean_FileMap_toPosition(lean_object*, lean_object*);
|
|||
extern lean_object* l_Lean_KernelException_toMessageData___closed__15;
|
||||
lean_object* l_Lean_Elab_Term_liftLevelM(lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_elabProp(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_charToExpr___lambda__1___closed__2;
|
||||
lean_object* l_Lean_Elab_Term_resolveName___closed__8;
|
||||
lean_object* l_Lean_Elab_addMacroStack(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_LocalDecl_toExpr(lean_object*);
|
||||
|
|
@ -633,7 +630,6 @@ lean_object* l_Lean_Elab_Term_withTransparency___rarg___boxed(lean_object*, lean
|
|||
lean_object* l_Lean_Meta_isLevelDefEq(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_assignLevelMVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l___private_Lean_Elab_Term_12__isExplicit(lean_object*);
|
||||
extern lean_object* l_Lean_Meta_evalNat___main___closed__9;
|
||||
lean_object* lean_metavar_ctx_assign_level(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Term_11__elabUsingElabFnsAux(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_tryLiftAndCoe___closed__6;
|
||||
|
|
@ -784,7 +780,6 @@ lean_object* l___private_Lean_Elab_Term_11__elabUsingElabFnsAux___main___closed_
|
|||
lean_object* l___private_Lean_Elab_Term_24__regTraceClasses(lean_object*);
|
||||
lean_object* lean_compile_decl(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Meta_resettingSynthInstanceCache___rarg___closed__1;
|
||||
lean_object* l_Lean_Elab_Term_elabRawCharLit___closed__1;
|
||||
lean_object* l_Lean_MetavarContext_getDecl(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Syntax_formatStxAux___main(lean_object*, uint8_t, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_resetSynthInstanceCache___boxed(lean_object*);
|
||||
|
|
@ -824,7 +819,6 @@ lean_object* l___private_Lean_Elab_Term_18__mkPairsAux___main___boxed(lean_objec
|
|||
lean_object* l_Lean_Elab_Term_Lean_Elab_MonadMacroAdapter___closed__8;
|
||||
lean_object* l_Lean_Elab_Term_trace(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Array_isEqvAux___main___at_Lean_Elab_Term_withLocalContext___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_elabRawCharLit___closed__2;
|
||||
lean_object* l_Lean_Elab_Term_mkFreshInstanceName___boxed(lean_object*);
|
||||
lean_object* l_Lean_Meta_mkFreshExprMVarWithId(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Elab_Term_11__elabUsingElabFnsAux___main___closed__2;
|
||||
|
|
@ -27452,7 +27446,7 @@ _start:
|
|||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_Elab_Term_termElabAttribute;
|
||||
x_3 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_3 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_4 = l___regBuiltin_Lean_Elab_Term_elabSort___closed__1;
|
||||
x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
|
|
@ -28334,26 +28328,6 @@ lean_ctor_set(x_2, 0, x_1);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Elab_Term_elabParen___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Parser_declareBuiltinParser___closed__3;
|
||||
x_2 = l_Lean_unitToExpr___lambda__1___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Elab_Term_elabParen___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Elab_Term_elabParen___closed__4;
|
||||
x_3 = l_Lean_mkConst(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Elab_Term_elabParen(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -28504,7 +28478,7 @@ lean_dec(x_36);
|
|||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_146 = l_Lean_Elab_Term_elabParen___closed__5;
|
||||
x_146 = l_Lean_unitToExpr___lambda__1___closed__3;
|
||||
x_147 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_147, 0, x_146);
|
||||
lean_ctor_set(x_147, 1, x_4);
|
||||
|
|
@ -30694,7 +30668,7 @@ if (x_26 == 0)
|
|||
{
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
|
||||
x_27 = lean_ctor_get(x_25, 0);
|
||||
x_28 = l_Lean_Meta_evalNat___main___closed__9;
|
||||
x_28 = l_Lean_Meta_evalNat___main___closed__8;
|
||||
x_29 = l_Lean_mkConst(x_28, x_21);
|
||||
x_30 = l_Lean_mkApp3(x_29, x_10, x_27, x_5);
|
||||
lean_ctor_set(x_25, 0, x_30);
|
||||
|
|
@ -30708,7 +30682,7 @@ x_32 = lean_ctor_get(x_25, 1);
|
|||
lean_inc(x_32);
|
||||
lean_inc(x_31);
|
||||
lean_dec(x_25);
|
||||
x_33 = l_Lean_Meta_evalNat___main___closed__9;
|
||||
x_33 = l_Lean_Meta_evalNat___main___closed__8;
|
||||
x_34 = l_Lean_mkConst(x_33, x_21);
|
||||
x_35 = l_Lean_mkApp3(x_34, x_10, x_31, x_5);
|
||||
x_36 = lean_alloc_ctor(0, 2, 0);
|
||||
|
|
@ -30865,26 +30839,6 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
|
|||
return x_5;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Elab_Term_elabRawCharLit___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_charToExpr___lambda__1___closed__2;
|
||||
x_2 = l_Lean_Meta_evalNat___main___closed__8;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Elab_Term_elabRawCharLit___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Elab_Term_elabRawCharLit___closed__1;
|
||||
x_3 = l_Lean_mkConst(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Elab_Term_elabRawCharLit(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -30908,7 +30862,7 @@ x_9 = lean_unbox_uint32(x_8);
|
|||
lean_dec(x_8);
|
||||
x_10 = lean_uint32_to_nat(x_9);
|
||||
x_11 = l_Lean_mkNatLit(x_10);
|
||||
x_12 = l_Lean_Elab_Term_elabRawCharLit___closed__2;
|
||||
x_12 = l_Lean_charToExpr___lambda__1___closed__1;
|
||||
x_13 = l_Lean_mkApp(x_12, x_11);
|
||||
x_14 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_14, 0, x_13);
|
||||
|
|
@ -31977,10 +31931,6 @@ l_Lean_Elab_Term_elabParen___closed__2 = _init_l_Lean_Elab_Term_elabParen___clos
|
|||
lean_mark_persistent(l_Lean_Elab_Term_elabParen___closed__2);
|
||||
l_Lean_Elab_Term_elabParen___closed__3 = _init_l_Lean_Elab_Term_elabParen___closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_elabParen___closed__3);
|
||||
l_Lean_Elab_Term_elabParen___closed__4 = _init_l_Lean_Elab_Term_elabParen___closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_elabParen___closed__4);
|
||||
l_Lean_Elab_Term_elabParen___closed__5 = _init_l_Lean_Elab_Term_elabParen___closed__5();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_elabParen___closed__5);
|
||||
l___regBuiltin_Lean_Elab_Term_elabParen___closed__1 = _init_l___regBuiltin_Lean_Elab_Term_elabParen___closed__1();
|
||||
lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabParen___closed__1);
|
||||
res = l___regBuiltin_Lean_Elab_Term_elabParen(lean_io_mk_world());
|
||||
|
|
@ -32081,10 +32031,6 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabNum___closed__1);
|
|||
res = l___regBuiltin_Lean_Elab_Term_elabNum(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l_Lean_Elab_Term_elabRawCharLit___closed__1 = _init_l_Lean_Elab_Term_elabRawCharLit___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_elabRawCharLit___closed__1);
|
||||
l_Lean_Elab_Term_elabRawCharLit___closed__2 = _init_l_Lean_Elab_Term_elabRawCharLit___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_elabRawCharLit___closed__2);
|
||||
l___regBuiltin_Lean_Elab_Term_elabRawCharLit___closed__1 = _init_l___regBuiltin_Lean_Elab_Term_elabRawCharLit___closed__1();
|
||||
lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabRawCharLit___closed__1);
|
||||
res = l___regBuiltin_Lean_Elab_Term_elabRawCharLit(lean_io_mk_world());
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@ extern "C" {
|
|||
#endif
|
||||
lean_object* l_Lean_Expr_isBinding___boxed(lean_object*);
|
||||
lean_object* l_Lean_Expr_letName_x21___closed__2;
|
||||
extern lean_object* l_Lean_mkHole___closed__3;
|
||||
lean_object* l_Lean_Expr_ctorName___closed__7;
|
||||
lean_object* l___private_Lean_Expr_8__etaExpandedBody(lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Expr_bindingInfo_x21(lean_object*);
|
||||
lean_object* l_Lean_Expr_updateSort___boxed(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -26,10 +28,12 @@ lean_object* l_Lean_Expr_Data_hash___boxed(lean_object*);
|
|||
lean_object* l_List_hash___at_Lean_mkConst___spec__1___boxed(lean_object*);
|
||||
lean_object* l_Lean_Expr_mvarId_x21(lean_object*);
|
||||
lean_object* l_Lean_Expr_bindingDomain_x21___boxed(lean_object*);
|
||||
uint8_t l_Lean_Expr_isCharLit(lean_object*);
|
||||
lean_object* l_Lean_Expr_letName_x21(lean_object*);
|
||||
uint8_t l_Lean_Expr_isNatLit(lean_object*);
|
||||
lean_object* l_Lean_Name_eraseMacroScopes(lean_object*);
|
||||
lean_object* l_Lean_Expr_replaceFVar___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkThunkType___closed__2;
|
||||
lean_object* l_Lean_Expr_updateLambda___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_getAppNumArgs___boxed(lean_object*);
|
||||
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
|
||||
|
|
@ -46,6 +50,7 @@ lean_object* l_Lean_Expr_updateConst___boxed(lean_object*, lean_object*, lean_ob
|
|||
lean_object* l_Lean_mkDecIsTrue___closed__3;
|
||||
lean_object* l_unreachable_x21___rarg(lean_object*);
|
||||
lean_object* l_Lean_Expr_withApp(lean_object*);
|
||||
lean_object* l_Lean_mkThunk___closed__1;
|
||||
size_t l_UInt32_toUSize(uint32_t);
|
||||
lean_object* l_Lean_mkApp6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_eqv___boxed(lean_object*, lean_object*);
|
||||
|
|
@ -76,6 +81,7 @@ lean_object* l_Lean_Expr_isOptParam___boxed(lean_object*);
|
|||
lean_object* l_Lean_Expr_updateMData_x21___closed__1;
|
||||
lean_object* l_List_map___main___at_Lean_Expr_instantiateLevelParams___spec__4(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkForallEx___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkThunkType(lean_object*);
|
||||
lean_object* l_Lean_Expr_Data_hasBeq___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkLambda___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_getAutoParamTactic_x3f(lean_object*);
|
||||
|
|
@ -95,6 +101,7 @@ lean_object* l___private_Lean_Expr_2__mkAppRangeAux___boxed(lean_object*, lean_o
|
|||
lean_object* l___private_Lean_Expr_5__withAppRevAux(lean_object*);
|
||||
lean_object* l_Lean_ExprStructEq_Hashable;
|
||||
lean_object* l___private_Init_Util_1__mkPanicMessage(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_ctorName___closed__1;
|
||||
lean_object* l_Lean_Expr_instantiateLevelParamsArray(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_getAppFn___main___boxed(lean_object*);
|
||||
lean_object* l_Lean_Expr_constName_x21___closed__1;
|
||||
|
|
@ -105,16 +112,20 @@ lean_object* l_Lean_Expr_constName_x21___boxed(lean_object*);
|
|||
lean_object* l___private_Lean_Expr_8__etaExpandedBody___main(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_withAppRev___rarg(lean_object*, lean_object*);
|
||||
uint64_t l_Lean_Expr_mkData___closed__3;
|
||||
lean_object* l_Lean_annotation_x3f___boxed(lean_object*, lean_object*);
|
||||
uint64_t l_Lean_Expr_mkDataForBinder(size_t, lean_object*, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t);
|
||||
lean_object* lean_expr_mk_local(lean_object*, lean_object*, lean_object*, uint8_t);
|
||||
lean_object* l_Lean_annotation_x3f(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_constName_x3f___boxed(lean_object*);
|
||||
lean_object* l_Lean_Expr_binderInfoEx___boxed(lean_object*);
|
||||
lean_object* l_Lean_Expr_InstantiateLevelParams_instantiate___main___at_Lean_Expr_instantiateLevelParams___spec__1(lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Expr_isApp(lean_object*);
|
||||
lean_object* l_Lean_Expr_Data_binderInfo___boxed(lean_object*);
|
||||
lean_object* l_Lean_Expr_ctorName___closed__2;
|
||||
uint8_t l_Lean_Expr_hasLooseBVarInExplicitDomain(lean_object*, lean_object*, uint8_t);
|
||||
lean_object* l_Lean_Expr_hasFVarEx___boxed(lean_object*);
|
||||
size_t l_Lean_Level_hash(lean_object*);
|
||||
lean_object* l_Lean_Expr_ctorName___closed__8;
|
||||
lean_object* l_Lean_Expr_lt___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_updateLet___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_appFn_x21(lean_object*);
|
||||
|
|
@ -125,6 +136,7 @@ uint8_t l_Lean_Expr_isAppOf(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_Expr_mvarId_x21___closed__2;
|
||||
lean_object* l_Lean_BinderInfo_toUInt64___boxed(lean_object*);
|
||||
lean_object* l_Lean_Expr_bindingBody_x21___closed__1;
|
||||
lean_object* l_Lean_Expr_ctorName___closed__4;
|
||||
uint8_t l_Lean_Expr_isBVar(lean_object*);
|
||||
lean_object* lean_expr_instantiate1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Literal_type___closed__3;
|
||||
|
|
@ -153,6 +165,7 @@ uint8_t lean_expr_lt(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_Expr_getRevArg_x21(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_letName_x21___closed__1;
|
||||
lean_object* l_Lean_Expr_isAppOfArity___main___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkThunkType___closed__3;
|
||||
lean_object* l_Lean_BinderInfo_hashable___closed__1;
|
||||
lean_object* l_Lean_Expr_letName_x21___boxed(lean_object*);
|
||||
lean_object* l_Lean_Expr_updateForall_x21(lean_object*, uint8_t, lean_object*, lean_object*);
|
||||
|
|
@ -160,10 +173,12 @@ lean_object* l_Lean_Expr_looseBVarRange___boxed(lean_object*);
|
|||
lean_object* l___private_Lean_Expr_9__etaExpandedAux(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_mkDataForBinder___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_BinderInfo_hash___boxed(lean_object*);
|
||||
lean_object* l_Lean_Expr_ctorName___boxed(lean_object*);
|
||||
lean_object* lean_expr_mk_forall(lean_object*, lean_object*, lean_object*, uint8_t);
|
||||
lean_object* lean_expr_instantiate(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_bindingName_x21___closed__2;
|
||||
extern lean_object* l_Lean_levelZero;
|
||||
extern lean_object* l_Lean_mkAppStx___closed__7;
|
||||
lean_object* lean_nat_add(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_hasExprMVarEx___boxed(lean_object*);
|
||||
lean_object* l_Lean_ExprStructEq_HasRepr(lean_object*);
|
||||
|
|
@ -176,6 +191,7 @@ lean_object* l_Lean_Expr_getAppFn___boxed(lean_object*);
|
|||
lean_object* l_List_foldr___main___at_Lean_mkConst___spec__3___boxed(lean_object*, lean_object*);
|
||||
uint8_t lean_expr_has_loose_bvar(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkAppN(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_natLit_x3f___boxed(lean_object*);
|
||||
lean_object* l_Lean_mkMData(lean_object*, lean_object*);
|
||||
size_t l_List_hash___at_Lean_mkConst___spec__1(lean_object*);
|
||||
lean_object* l_Lean_Level_instantiateParams___main___at_Lean_Expr_instantiateLevelParams___spec__3(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -226,6 +242,7 @@ uint8_t lean_expr_has_mvar(lean_object*);
|
|||
uint8_t l_Lean_KVMap_getBool(lean_object*, lean_object*, uint8_t);
|
||||
lean_object* l_List_map___main___at_Lean_Expr_instantiateLevelParamsArray___spec__4(lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Literal_beq(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_ctorName___closed__5;
|
||||
lean_object* l_Lean_Level_instantiateParams___main___at_Lean_Expr_instantiateLevelParams___spec__3___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_replaceFVar(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_headBeta(lean_object*);
|
||||
|
|
@ -247,6 +264,7 @@ uint8_t l_Lean_Expr_isHeadBetaTarget(lean_object*);
|
|||
uint8_t l_Lean_Expr_isBinding(lean_object*);
|
||||
lean_object* l_Lean_Expr_bindingBody_x21___boxed(lean_object*);
|
||||
lean_object* l_Lean_Expr_updateProj_x21(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkThunkType___closed__1;
|
||||
lean_object* l_Lean_mkDecIsTrue___closed__1;
|
||||
lean_object* l_Lean_BinderInfo_beq___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_instantiateLevelParams(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -275,9 +293,12 @@ lean_object* l_Lean_Expr_getArg_x21___boxed(lean_object*, lean_object*, lean_obj
|
|||
lean_object* l_Lean_Expr_bindingDomain_x21___closed__1;
|
||||
lean_object* l_Lean_KVMap_insertCore___main(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_InstantiateLevelParams_instantiate(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_ctorName___closed__3;
|
||||
lean_object* l_Lean_Expr_natLit_x3f(lean_object*);
|
||||
lean_object* lean_expr_mk_const(lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Expr_1__Expr_mkDataCore___closed__2;
|
||||
lean_object* l_Lean_mkAppRange(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_isCharLit___closed__3;
|
||||
lean_object* l_Lean_Literal_type___closed__4;
|
||||
lean_object* l_Lean_mkDecIsTrue___closed__4;
|
||||
lean_object* lean_expr_mk_lit(lean_object*);
|
||||
|
|
@ -332,6 +353,7 @@ lean_object* l_Lean_Expr_getAutoParamTactic_x3f___closed__2;
|
|||
lean_object* l_Lean_Level_instantiateParams___main(lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Expr_isLambda(lean_object*);
|
||||
lean_object* l_Lean_Expr_updateSort_x21___closed__2;
|
||||
lean_object* l_Lean_Expr_ctorName(lean_object*);
|
||||
lean_object* l_Lean_Expr_replaceFVarId(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkApp9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_data___boxed(lean_object*);
|
||||
|
|
@ -345,6 +367,7 @@ lean_object* l_Lean_mkLocal(lean_object*, lean_object*, lean_object*, uint8_t);
|
|||
lean_object* l_Lean_Literal_hasBeq;
|
||||
lean_object* l_Lean_Expr_getAppNumArgsAux___main___boxed(lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Expr_5__withAppRevAux___main___rarg(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_ctorName___closed__9;
|
||||
lean_object* l_Lean_Expr_instantiateRevRange___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Array_insertAt___rarg___closed__1;
|
||||
lean_object* l_Lean_Expr_updateLambda_x21___closed__1;
|
||||
|
|
@ -356,7 +379,6 @@ lean_object* l_Lean_Expr_updateProj_x21___closed__1;
|
|||
uint8_t l_Lean_BinderInfo_inhabited;
|
||||
lean_object* lean_level_update_imax(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_HasRepr;
|
||||
lean_object* l_Lean_isAnnotation_x3f(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_isProj___boxed(lean_object*);
|
||||
lean_object* l_Lean_Expr_updateLambda_x21___closed__2;
|
||||
lean_object* l_Lean_Level_instantiateParams___main___at_Lean_Expr_instantiateLevelParamsArray___spec__2___boxed(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -372,6 +394,7 @@ lean_object* l___private_Lean_Expr_12__getParamSubstArray___boxed(lean_object*,
|
|||
lean_object* lean_expr_mk_mvar(lean_object*);
|
||||
lean_object* l_Lean_Expr_bindingName_x21(lean_object*);
|
||||
lean_object* l_Lean_Expr_constLevels_x21___boxed(lean_object*);
|
||||
lean_object* l_Lean_Expr_ctorName___closed__10;
|
||||
lean_object* l_Lean_Level_instantiateParams___main___at_Lean_Expr_instantiateLevelParamsArray___spec__2(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_BinderInfo_hasBeq;
|
||||
lean_object* l_Lean_Expr_constLevels_x21___closed__1;
|
||||
|
|
@ -482,10 +505,12 @@ size_t lean_usize_mix_hash(size_t, size_t);
|
|||
uint8_t l_Lean_Expr_isOptParam(lean_object*);
|
||||
lean_object* lean_expr_abstract(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_getArg_x21(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_ctorName___closed__12;
|
||||
lean_object* l_Lean_mkApp2(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_InstantiateLevelParams_instantiate___main___at_Lean_Expr_instantiateLevelParams___spec__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Expr_Data_hasBeq(uint64_t, uint64_t);
|
||||
lean_object* l___private_Lean_Expr_6__mkAppRevRangeAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_ctorName___closed__6;
|
||||
uint32_t lean_expr_loose_bvar_range(lean_object*);
|
||||
lean_object* l_Lean_Expr_inferImplicit(lean_object*, lean_object*, uint8_t);
|
||||
lean_object* l_Lean_Expr_mkAppRevRange___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -518,6 +543,7 @@ uint8_t l_List_foldr___main___at_Lean_mkConst___spec__4(uint8_t, lean_object*);
|
|||
lean_object* l_Lean_Expr_etaExpandedStrict_x3f(lean_object*);
|
||||
lean_object* l_Lean_Expr_updateLambdaE_x21(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_hasLooseBVar___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_ctorName___closed__11;
|
||||
lean_object* l___private_Lean_Expr_2__mkAppRangeAux___main___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Nat_Inhabited;
|
||||
uint64_t l_UInt64_shiftRight(uint64_t, uint64_t);
|
||||
|
|
@ -527,6 +553,7 @@ lean_object* lean_lit_type(lean_object*);
|
|||
lean_object* l_Lean_Expr_getArgD___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_expr_update_app(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ExprStructEq_HasToString___boxed(lean_object*);
|
||||
lean_object* l_Lean_Expr_isCharLit___closed__2;
|
||||
lean_object* l_Lean_Expr_getRevArgD___main___boxed(lean_object*, lean_object*, lean_object*);
|
||||
size_t l_Lean_BinderInfo_hash(uint8_t);
|
||||
lean_object* l_Lean_mkAppB(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -534,6 +561,7 @@ lean_object* l_Lean_Expr_getRevArgD___main(lean_object*, lean_object*, lean_obje
|
|||
lean_object* l_Lean_mkApp10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_isApp___boxed(lean_object*);
|
||||
lean_object* l_Lean_Expr_HasBeq;
|
||||
lean_object* l_Lean_Expr_isCharLit___closed__4;
|
||||
lean_object* l_Lean_mkApp8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkBVar(lean_object*);
|
||||
uint8_t l_Lean_Expr_hasFVar(lean_object*);
|
||||
|
|
@ -574,8 +602,9 @@ uint8_t lean_string_dec_lt(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_Expr_isLet___boxed(lean_object*);
|
||||
lean_object* l_Lean_ExprStructEq_hash___boxed(lean_object*);
|
||||
lean_object* l_Lean_Level_instantiateParams___main___at_Lean_Expr_instantiateLevelParams___spec__2(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_isCharLit___closed__1;
|
||||
lean_object* l_Lean_Expr_isCharLit___boxed(lean_object*);
|
||||
uint8_t lean_string_dec_eq(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_isAnnotation_x3f___boxed(lean_object*, lean_object*);
|
||||
uint32_t l_Lean_Expr_Data_looseBVarRange(uint64_t);
|
||||
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Expr_5__withAppRevAux___rarg(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -583,6 +612,7 @@ uint64_t l_Lean_Expr_mkData(size_t, lean_object*, uint8_t, uint8_t, uint8_t, uin
|
|||
lean_object* l_monadInhabited___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ExprStructEq_HasBeq;
|
||||
uint8_t lean_expr_has_level_param(lean_object*);
|
||||
lean_object* l_Lean_mkThunk(lean_object*);
|
||||
lean_object* _init_l_Lean_Literal_inhabited___closed__1() {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -1777,6 +1807,196 @@ x_3 = lean_box_uint64(x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_ctorName___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("bvar");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_ctorName___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("fvar");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_ctorName___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("mvar");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_ctorName___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("sort");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_ctorName___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("const");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_ctorName___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("lam");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_ctorName___closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("forallE");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_ctorName___closed__8() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("letE");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_ctorName___closed__9() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("lit");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_ctorName___closed__10() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("mdata");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_ctorName___closed__11() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("proj");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_ctorName___closed__12() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("localE");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_ctorName(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
switch (lean_obj_tag(x_1)) {
|
||||
case 0:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_Expr_ctorName___closed__1;
|
||||
return x_2;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_Expr_ctorName___closed__2;
|
||||
return x_3;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
lean_object* x_4;
|
||||
x_4 = l_Lean_Expr_ctorName___closed__3;
|
||||
return x_4;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = l_Lean_Expr_ctorName___closed__4;
|
||||
return x_5;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
lean_object* x_6;
|
||||
x_6 = l_Lean_Expr_ctorName___closed__5;
|
||||
return x_6;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
lean_object* x_7;
|
||||
x_7 = l_Lean_mkAppStx___closed__7;
|
||||
return x_7;
|
||||
}
|
||||
case 6:
|
||||
{
|
||||
lean_object* x_8;
|
||||
x_8 = l_Lean_Expr_ctorName___closed__6;
|
||||
return x_8;
|
||||
}
|
||||
case 7:
|
||||
{
|
||||
lean_object* x_9;
|
||||
x_9 = l_Lean_Expr_ctorName___closed__7;
|
||||
return x_9;
|
||||
}
|
||||
case 8:
|
||||
{
|
||||
lean_object* x_10;
|
||||
x_10 = l_Lean_Expr_ctorName___closed__8;
|
||||
return x_10;
|
||||
}
|
||||
case 9:
|
||||
{
|
||||
lean_object* x_11;
|
||||
x_11 = l_Lean_Expr_ctorName___closed__9;
|
||||
return x_11;
|
||||
}
|
||||
case 10:
|
||||
{
|
||||
lean_object* x_12;
|
||||
x_12 = l_Lean_Expr_ctorName___closed__10;
|
||||
return x_12;
|
||||
}
|
||||
case 11:
|
||||
{
|
||||
lean_object* x_13;
|
||||
x_13 = l_Lean_Expr_ctorName___closed__11;
|
||||
return x_13;
|
||||
}
|
||||
default:
|
||||
{
|
||||
lean_object* x_14;
|
||||
x_14 = l_Lean_Expr_ctorName___closed__12;
|
||||
return x_14;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_ctorName___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_Expr_ctorName(x_1);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
size_t l_Lean_Expr_hash(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -3954,6 +4174,66 @@ lean_dec(x_1);
|
|||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_mkThunkType___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("Unit");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_mkThunkType___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_mkThunkType___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_mkThunkType___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_mkThunkType___closed__2;
|
||||
x_3 = l_Lean_mkConst(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_mkThunkType(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = lean_box(0);
|
||||
x_3 = 0;
|
||||
x_4 = l_Lean_mkThunkType___closed__3;
|
||||
x_5 = l_Lean_mkForall(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_mkThunk___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_mkHole___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_mkThunk(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_mkThunk___closed__1;
|
||||
x_3 = 0;
|
||||
x_4 = l_Lean_mkThunkType___closed__3;
|
||||
x_5 = l_Lean_mkLambda(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_mkLet(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -5127,82 +5407,6 @@ x_3 = lean_box(x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
uint8_t l_Lean_Expr_isNatLit(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_1) == 9)
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_ctor_get(x_1, 0);
|
||||
if (lean_obj_tag(x_2) == 0)
|
||||
{
|
||||
uint8_t x_3;
|
||||
x_3 = 1;
|
||||
return x_3;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_4;
|
||||
x_4 = 0;
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_5;
|
||||
x_5 = 0;
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_isNatLit___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_2; lean_object* x_3;
|
||||
x_2 = l_Lean_Expr_isNatLit(x_1);
|
||||
lean_dec(x_1);
|
||||
x_3 = lean_box(x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
uint8_t l_Lean_Expr_isStringLit(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_1) == 9)
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_ctor_get(x_1, 0);
|
||||
if (lean_obj_tag(x_2) == 0)
|
||||
{
|
||||
uint8_t x_3;
|
||||
x_3 = 0;
|
||||
return x_3;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_4;
|
||||
x_4 = 1;
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_5;
|
||||
x_5 = 0;
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_isStringLit___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_2; lean_object* x_3;
|
||||
x_2 = l_Lean_Expr_isStringLit(x_1);
|
||||
lean_dec(x_1);
|
||||
x_3 = lean_box(x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_getAppFn___main(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -5627,7 +5831,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(489u);
|
||||
x_2 = lean_unsigned_to_nat(504u);
|
||||
x_3 = lean_unsigned_to_nat(20u);
|
||||
x_4 = l_Array_insertAt___rarg___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -5881,7 +6085,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(509u);
|
||||
x_2 = lean_unsigned_to_nat(524u);
|
||||
x_3 = lean_unsigned_to_nat(15u);
|
||||
x_4 = l_Lean_Expr_appFn_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -5922,7 +6126,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(513u);
|
||||
x_2 = lean_unsigned_to_nat(528u);
|
||||
x_3 = lean_unsigned_to_nat(15u);
|
||||
x_4 = l_Lean_Expr_appFn_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -5958,6 +6162,191 @@ lean_dec(x_1);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
uint8_t l_Lean_Expr_isNatLit(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_1) == 9)
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_ctor_get(x_1, 0);
|
||||
if (lean_obj_tag(x_2) == 0)
|
||||
{
|
||||
uint8_t x_3;
|
||||
x_3 = 1;
|
||||
return x_3;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_4;
|
||||
x_4 = 0;
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_5;
|
||||
x_5 = 0;
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_isNatLit___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_2; lean_object* x_3;
|
||||
x_2 = l_Lean_Expr_isNatLit(x_1);
|
||||
lean_dec(x_1);
|
||||
x_3 = lean_box(x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_natLit_x3f(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_1) == 9)
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_ctor_get(x_1, 0);
|
||||
if (lean_obj_tag(x_2) == 0)
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4;
|
||||
x_3 = lean_ctor_get(x_2, 0);
|
||||
lean_inc(x_3);
|
||||
x_4 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_4, 0, x_3);
|
||||
return x_4;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = lean_box(0);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_6;
|
||||
x_6 = lean_box(0);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_natLit_x3f___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_Expr_natLit_x3f(x_1);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
uint8_t l_Lean_Expr_isStringLit(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_1) == 9)
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_ctor_get(x_1, 0);
|
||||
if (lean_obj_tag(x_2) == 0)
|
||||
{
|
||||
uint8_t x_3;
|
||||
x_3 = 0;
|
||||
return x_3;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_4;
|
||||
x_4 = 1;
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_5;
|
||||
x_5 = 0;
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_isStringLit___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_2; lean_object* x_3;
|
||||
x_2 = l_Lean_Expr_isStringLit(x_1);
|
||||
lean_dec(x_1);
|
||||
x_3 = lean_box(x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_isCharLit___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("Char");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_isCharLit___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_isCharLit___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_isCharLit___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("ofNat");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_isCharLit___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Expr_isCharLit___closed__2;
|
||||
x_2 = l_Lean_Expr_isCharLit___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
uint8_t l_Lean_Expr_isCharLit(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; uint8_t x_4;
|
||||
x_2 = l_Lean_Expr_isCharLit___closed__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)
|
||||
{
|
||||
uint8_t x_5;
|
||||
x_5 = 0;
|
||||
return x_5;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_6; uint8_t x_7;
|
||||
x_6 = l_Lean_Expr_appArg_x21(x_1);
|
||||
x_7 = l_Lean_Expr_isNatLit(x_6);
|
||||
lean_dec(x_6);
|
||||
return x_7;
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Expr_isCharLit___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_2; lean_object* x_3;
|
||||
x_2 = l_Lean_Expr_isCharLit(x_1);
|
||||
lean_dec(x_1);
|
||||
x_3 = lean_box(x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Expr_constName_x21___closed__1() {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -5971,7 +6360,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(517u);
|
||||
x_2 = lean_unsigned_to_nat(547u);
|
||||
x_3 = lean_unsigned_to_nat(17u);
|
||||
x_4 = l_Lean_Expr_constName_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -6051,7 +6440,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(525u);
|
||||
x_2 = lean_unsigned_to_nat(555u);
|
||||
x_3 = lean_unsigned_to_nat(18u);
|
||||
x_4 = l_Lean_Expr_constName_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -6100,7 +6489,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(529u);
|
||||
x_2 = lean_unsigned_to_nat(559u);
|
||||
x_3 = lean_unsigned_to_nat(16u);
|
||||
x_4 = l_Lean_Expr_bvarIdx_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -6149,7 +6538,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(533u);
|
||||
x_2 = lean_unsigned_to_nat(563u);
|
||||
x_3 = lean_unsigned_to_nat(14u);
|
||||
x_4 = l_Lean_Expr_fvarId_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -6198,7 +6587,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(537u);
|
||||
x_2 = lean_unsigned_to_nat(567u);
|
||||
x_3 = lean_unsigned_to_nat(14u);
|
||||
x_4 = l_Lean_Expr_mvarId_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -6247,7 +6636,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(542u);
|
||||
x_2 = lean_unsigned_to_nat(572u);
|
||||
x_3 = lean_unsigned_to_nat(21u);
|
||||
x_4 = l_Lean_Expr_bindingName_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -6297,7 +6686,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(547u);
|
||||
x_2 = lean_unsigned_to_nat(577u);
|
||||
x_3 = lean_unsigned_to_nat(21u);
|
||||
x_4 = l_Lean_Expr_bindingName_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -6347,7 +6736,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(552u);
|
||||
x_2 = lean_unsigned_to_nat(582u);
|
||||
x_3 = lean_unsigned_to_nat(21u);
|
||||
x_4 = l_Lean_Expr_bindingName_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -6397,7 +6786,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(557u);
|
||||
x_2 = lean_unsigned_to_nat(587u);
|
||||
x_3 = lean_unsigned_to_nat(21u);
|
||||
x_4 = l_Lean_Expr_bindingName_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -6459,7 +6848,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(561u);
|
||||
x_2 = lean_unsigned_to_nat(591u);
|
||||
x_3 = lean_unsigned_to_nat(20u);
|
||||
x_4 = l_Lean_Expr_letName_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -8088,7 +8477,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(831u);
|
||||
x_2 = lean_unsigned_to_nat(861u);
|
||||
x_3 = lean_unsigned_to_nat(18u);
|
||||
x_4 = l_Lean_Expr_appFn_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -8130,7 +8519,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(840u);
|
||||
x_2 = lean_unsigned_to_nat(870u);
|
||||
x_3 = lean_unsigned_to_nat(18u);
|
||||
x_4 = l_Lean_Expr_constName_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -8179,7 +8568,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(849u);
|
||||
x_2 = lean_unsigned_to_nat(879u);
|
||||
x_3 = lean_unsigned_to_nat(14u);
|
||||
x_4 = l_Lean_Expr_updateSort_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -8236,7 +8625,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(866u);
|
||||
x_2 = lean_unsigned_to_nat(896u);
|
||||
x_3 = lean_unsigned_to_nat(17u);
|
||||
x_4 = l_Lean_Expr_updateMData_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -8277,7 +8666,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(871u);
|
||||
x_2 = lean_unsigned_to_nat(901u);
|
||||
x_3 = lean_unsigned_to_nat(18u);
|
||||
x_4 = l_Lean_Expr_updateProj_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -8328,7 +8717,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(880u);
|
||||
x_2 = lean_unsigned_to_nat(910u);
|
||||
x_3 = lean_unsigned_to_nat(21u);
|
||||
x_4 = l_Lean_Expr_updateForall_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -8372,7 +8761,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(885u);
|
||||
x_2 = lean_unsigned_to_nat(915u);
|
||||
x_3 = lean_unsigned_to_nat(21u);
|
||||
x_4 = l_Lean_Expr_updateForall_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -8426,7 +8815,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(894u);
|
||||
x_2 = lean_unsigned_to_nat(924u);
|
||||
x_3 = lean_unsigned_to_nat(17u);
|
||||
x_4 = l_Lean_Expr_updateLambda_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -8470,7 +8859,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(899u);
|
||||
x_2 = lean_unsigned_to_nat(929u);
|
||||
x_3 = lean_unsigned_to_nat(17u);
|
||||
x_4 = l_Lean_Expr_updateLambda_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -8514,7 +8903,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___private_Lean_Expr_1__Expr_mkDataCore___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(908u);
|
||||
x_2 = lean_unsigned_to_nat(938u);
|
||||
x_3 = lean_unsigned_to_nat(20u);
|
||||
x_4 = l_Lean_Expr_letName_x21___closed__1;
|
||||
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
|
||||
|
|
@ -10343,7 +10732,7 @@ x_6 = l_Lean_mkMData(x_5, x_2);
|
|||
return x_6;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_isAnnotation_x3f(lean_object* x_1, lean_object* x_2) {
|
||||
lean_object* l_Lean_annotation_x3f(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_2) == 10)
|
||||
|
|
@ -10391,11 +10780,11 @@ return x_14;
|
|||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_isAnnotation_x3f___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
lean_object* l_Lean_annotation_x3f___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_isAnnotation_x3f(x_1, x_2);
|
||||
x_3 = l_Lean_annotation_x3f(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_3;
|
||||
|
|
@ -10468,6 +10857,30 @@ l_Lean_Expr_Inhabited___closed__1 = _init_l_Lean_Expr_Inhabited___closed__1();
|
|||
lean_mark_persistent(l_Lean_Expr_Inhabited___closed__1);
|
||||
l_Lean_Expr_Inhabited = _init_l_Lean_Expr_Inhabited();
|
||||
lean_mark_persistent(l_Lean_Expr_Inhabited);
|
||||
l_Lean_Expr_ctorName___closed__1 = _init_l_Lean_Expr_ctorName___closed__1();
|
||||
lean_mark_persistent(l_Lean_Expr_ctorName___closed__1);
|
||||
l_Lean_Expr_ctorName___closed__2 = _init_l_Lean_Expr_ctorName___closed__2();
|
||||
lean_mark_persistent(l_Lean_Expr_ctorName___closed__2);
|
||||
l_Lean_Expr_ctorName___closed__3 = _init_l_Lean_Expr_ctorName___closed__3();
|
||||
lean_mark_persistent(l_Lean_Expr_ctorName___closed__3);
|
||||
l_Lean_Expr_ctorName___closed__4 = _init_l_Lean_Expr_ctorName___closed__4();
|
||||
lean_mark_persistent(l_Lean_Expr_ctorName___closed__4);
|
||||
l_Lean_Expr_ctorName___closed__5 = _init_l_Lean_Expr_ctorName___closed__5();
|
||||
lean_mark_persistent(l_Lean_Expr_ctorName___closed__5);
|
||||
l_Lean_Expr_ctorName___closed__6 = _init_l_Lean_Expr_ctorName___closed__6();
|
||||
lean_mark_persistent(l_Lean_Expr_ctorName___closed__6);
|
||||
l_Lean_Expr_ctorName___closed__7 = _init_l_Lean_Expr_ctorName___closed__7();
|
||||
lean_mark_persistent(l_Lean_Expr_ctorName___closed__7);
|
||||
l_Lean_Expr_ctorName___closed__8 = _init_l_Lean_Expr_ctorName___closed__8();
|
||||
lean_mark_persistent(l_Lean_Expr_ctorName___closed__8);
|
||||
l_Lean_Expr_ctorName___closed__9 = _init_l_Lean_Expr_ctorName___closed__9();
|
||||
lean_mark_persistent(l_Lean_Expr_ctorName___closed__9);
|
||||
l_Lean_Expr_ctorName___closed__10 = _init_l_Lean_Expr_ctorName___closed__10();
|
||||
lean_mark_persistent(l_Lean_Expr_ctorName___closed__10);
|
||||
l_Lean_Expr_ctorName___closed__11 = _init_l_Lean_Expr_ctorName___closed__11();
|
||||
lean_mark_persistent(l_Lean_Expr_ctorName___closed__11);
|
||||
l_Lean_Expr_ctorName___closed__12 = _init_l_Lean_Expr_ctorName___closed__12();
|
||||
lean_mark_persistent(l_Lean_Expr_ctorName___closed__12);
|
||||
l_Lean_Expr_Hashable___closed__1 = _init_l_Lean_Expr_Hashable___closed__1();
|
||||
lean_mark_persistent(l_Lean_Expr_Hashable___closed__1);
|
||||
l_Lean_Expr_Hashable = _init_l_Lean_Expr_Hashable();
|
||||
|
|
@ -10484,6 +10897,14 @@ l_Lean_Literal_type___closed__5 = _init_l_Lean_Literal_type___closed__5();
|
|||
lean_mark_persistent(l_Lean_Literal_type___closed__5);
|
||||
l_Lean_Literal_type___closed__6 = _init_l_Lean_Literal_type___closed__6();
|
||||
lean_mark_persistent(l_Lean_Literal_type___closed__6);
|
||||
l_Lean_mkThunkType___closed__1 = _init_l_Lean_mkThunkType___closed__1();
|
||||
lean_mark_persistent(l_Lean_mkThunkType___closed__1);
|
||||
l_Lean_mkThunkType___closed__2 = _init_l_Lean_mkThunkType___closed__2();
|
||||
lean_mark_persistent(l_Lean_mkThunkType___closed__2);
|
||||
l_Lean_mkThunkType___closed__3 = _init_l_Lean_mkThunkType___closed__3();
|
||||
lean_mark_persistent(l_Lean_mkThunkType___closed__3);
|
||||
l_Lean_mkThunk___closed__1 = _init_l_Lean_mkThunk___closed__1();
|
||||
lean_mark_persistent(l_Lean_mkThunk___closed__1);
|
||||
l_Lean_Expr_HasBeq___closed__1 = _init_l_Lean_Expr_HasBeq___closed__1();
|
||||
lean_mark_persistent(l_Lean_Expr_HasBeq___closed__1);
|
||||
l_Lean_Expr_HasBeq = _init_l_Lean_Expr_HasBeq();
|
||||
|
|
@ -10498,6 +10919,14 @@ l_Lean_Expr_appFn_x21___closed__2 = _init_l_Lean_Expr_appFn_x21___closed__2();
|
|||
lean_mark_persistent(l_Lean_Expr_appFn_x21___closed__2);
|
||||
l_Lean_Expr_appArg_x21___closed__1 = _init_l_Lean_Expr_appArg_x21___closed__1();
|
||||
lean_mark_persistent(l_Lean_Expr_appArg_x21___closed__1);
|
||||
l_Lean_Expr_isCharLit___closed__1 = _init_l_Lean_Expr_isCharLit___closed__1();
|
||||
lean_mark_persistent(l_Lean_Expr_isCharLit___closed__1);
|
||||
l_Lean_Expr_isCharLit___closed__2 = _init_l_Lean_Expr_isCharLit___closed__2();
|
||||
lean_mark_persistent(l_Lean_Expr_isCharLit___closed__2);
|
||||
l_Lean_Expr_isCharLit___closed__3 = _init_l_Lean_Expr_isCharLit___closed__3();
|
||||
lean_mark_persistent(l_Lean_Expr_isCharLit___closed__3);
|
||||
l_Lean_Expr_isCharLit___closed__4 = _init_l_Lean_Expr_isCharLit___closed__4();
|
||||
lean_mark_persistent(l_Lean_Expr_isCharLit___closed__4);
|
||||
l_Lean_Expr_constName_x21___closed__1 = _init_l_Lean_Expr_constName_x21___closed__1();
|
||||
lean_mark_persistent(l_Lean_Expr_constName_x21___closed__1);
|
||||
l_Lean_Expr_constName_x21___closed__2 = _init_l_Lean_Expr_constName_x21___closed__2();
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ lean_object* l_List_reverse___rarg(lean_object*);
|
|||
extern lean_object* l_Lean_Name_toString___closed__1;
|
||||
lean_object* l_Lean_KeyedDeclsAttribute_init___rarg___lambda__2___boxed(lean_object*);
|
||||
lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___main___at_Lean_KeyedDeclsAttribute_Table_insert___spec__23___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_unitToExpr___lambda__1___closed__2;
|
||||
lean_object* l_Std_PersistentHashMap_insert___at_Lean_KeyedDeclsAttribute_Table_insert___spec__10___rarg(lean_object*, lean_object*, lean_object*);
|
||||
size_t l_USize_add(size_t, size_t);
|
||||
lean_object* l_Lean_KeyedDeclsAttribute_KeyedDeclsAttribute_inhabited___closed__2;
|
||||
|
|
@ -25,6 +24,7 @@ lean_object* l_Lean_KeyedDeclsAttribute_declareBuiltin___rarg___closed__3;
|
|||
lean_object* l_Array_iterateMAux___main___at___private_Lean_KeyedDeclsAttribute_2__addImported___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Std_HashMapImp_find_x3f___at_Lean_KeyedDeclsAttribute_Table_insert___spec__5___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_KeyedDeclsAttribute_declareBuiltin(lean_object*);
|
||||
extern lean_object* l_Lean_mkThunkType___closed__2;
|
||||
lean_object* l_Std_AssocList_replace___main___at_Lean_KeyedDeclsAttribute_Table_insert___spec__30(lean_object*);
|
||||
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
|
||||
lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___main___at_Lean_KeyedDeclsAttribute_Table_insert___spec__23(lean_object*);
|
||||
|
|
@ -3480,7 +3480,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_unitToExpr___lambda__1___closed__2;
|
||||
x_2 = l_Lean_mkThunkType___closed__2;
|
||||
x_3 = l_Lean_mkConst(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,13 +14,13 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*);
|
||||
extern lean_object* l___private_Lean_Meta_EqnCompiler_DepElim_9__withAltsAux___main___rarg___closed__2;
|
||||
extern lean_object* l___private_Lean_Meta_EqnCompiler_DepElim_8__withAltsAux___main___rarg___closed__2;
|
||||
lean_object* l___private_Lean_Meta_EqnCompiler_1__regTraceClasses(lean_object*);
|
||||
lean_object* l___private_Lean_Meta_EqnCompiler_1__regTraceClasses(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3;
|
||||
x_2 = l___private_Lean_Meta_EqnCompiler_DepElim_9__withAltsAux___main___rarg___closed__2;
|
||||
x_2 = l___private_Lean_Meta_EqnCompiler_DepElim_8__withAltsAux___main___rarg___closed__2;
|
||||
x_3 = l_Lean_registerTraceClass(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -35,6 +35,7 @@ lean_object* l___private_Lean_Meta_Offset_4__isNatZero___boxed(lean_object*);
|
|||
lean_object* lean_name_mk_string(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Literal_type___closed__1;
|
||||
lean_object* l___private_Lean_Meta_Offset_1__getOffsetAux___main(lean_object*, uint8_t);
|
||||
extern lean_object* l_Lean_Expr_isCharLit___closed__3;
|
||||
lean_object* l___private_Lean_Meta_Offset_1__getOffsetAux___main___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_evalNat___main___closed__6;
|
||||
extern lean_object* l_Lean_Literal_type___closed__2;
|
||||
|
|
@ -52,7 +53,6 @@ lean_object* lean_nat_mul(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_Meta_evalNat___main___closed__7;
|
||||
lean_object* l___private_Lean_Meta_Offset_2__getOffset(lean_object*);
|
||||
lean_object* l_Lean_Meta_evalNat___main___closed__15;
|
||||
lean_object* l_Lean_Meta_evalNat___main___closed__18;
|
||||
lean_object* l_Lean_Meta_evalNat___main___closed__3;
|
||||
lean_object* l_Lean_Meta_evalNat___main___closed__5;
|
||||
lean_object* l_Lean_Meta_evalNat___main___closed__14;
|
||||
|
|
@ -129,22 +129,14 @@ return x_3;
|
|||
lean_object* _init_l_Lean_Meta_evalNat___main___closed__8() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("ofNat");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Meta_evalNat___main___closed__9() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Meta_evalNat___main___closed__7;
|
||||
x_2 = l_Lean_Meta_evalNat___main___closed__8;
|
||||
x_2 = l_Lean_Expr_isCharLit___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Meta_evalNat___main___closed__10() {
|
||||
lean_object* _init_l_Lean_Meta_evalNat___main___closed__9() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -152,17 +144,17 @@ x_1 = lean_mk_string("sub");
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Meta_evalNat___main___closed__11() {
|
||||
lean_object* _init_l_Lean_Meta_evalNat___main___closed__10() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Meta_evalNat___main___closed__3;
|
||||
x_2 = l_Lean_Meta_evalNat___main___closed__10;
|
||||
x_2 = l_Lean_Meta_evalNat___main___closed__9;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Meta_evalNat___main___closed__12() {
|
||||
lean_object* _init_l_Lean_Meta_evalNat___main___closed__11() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -170,17 +162,17 @@ x_1 = lean_mk_string("add");
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Meta_evalNat___main___closed__13() {
|
||||
lean_object* _init_l_Lean_Meta_evalNat___main___closed__12() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Meta_evalNat___main___closed__3;
|
||||
x_2 = l_Lean_Meta_evalNat___main___closed__12;
|
||||
x_2 = l_Lean_Meta_evalNat___main___closed__11;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Meta_evalNat___main___closed__14() {
|
||||
lean_object* _init_l_Lean_Meta_evalNat___main___closed__13() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
|
|
@ -190,12 +182,22 @@ x_3 = lean_name_mk_string(x_1, x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Meta_evalNat___main___closed__14() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Literal_type___closed__2;
|
||||
x_2 = l_Lean_Meta_evalNat___main___closed__9;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Meta_evalNat___main___closed__15() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Literal_type___closed__2;
|
||||
x_2 = l_Lean_Meta_evalNat___main___closed__10;
|
||||
x_2 = l_Lean_Meta_evalNat___main___closed__11;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -203,27 +205,17 @@ return x_3;
|
|||
lean_object* _init_l_Lean_Meta_evalNat___main___closed__16() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Literal_type___closed__2;
|
||||
x_2 = l_Lean_Meta_evalNat___main___closed__12;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Meta_evalNat___main___closed__17() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("succ");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Meta_evalNat___main___closed__18() {
|
||||
lean_object* _init_l_Lean_Meta_evalNat___main___closed__17() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Literal_type___closed__2;
|
||||
x_2 = l_Lean_Meta_evalNat___main___closed__17;
|
||||
x_2 = l_Lean_Meta_evalNat___main___closed__16;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -328,7 +320,7 @@ lean_inc(x_19);
|
|||
lean_dec(x_18);
|
||||
x_20 = lean_unsigned_to_nat(0u);
|
||||
x_21 = l_Lean_Expr_getAppNumArgsAux___main(x_1, x_20);
|
||||
x_206 = l_Lean_Meta_evalNat___main___closed__18;
|
||||
x_206 = l_Lean_Meta_evalNat___main___closed__17;
|
||||
x_207 = lean_name_eq(x_19, x_206);
|
||||
if (x_207 == 0)
|
||||
{
|
||||
|
|
@ -396,7 +388,7 @@ block_127:
|
|||
{
|
||||
lean_object* x_23; lean_object* x_73; lean_object* x_101; uint8_t x_102;
|
||||
lean_dec(x_22);
|
||||
x_101 = l_Lean_Meta_evalNat___main___closed__13;
|
||||
x_101 = l_Lean_Meta_evalNat___main___closed__12;
|
||||
x_102 = lean_name_eq(x_19, x_101);
|
||||
if (x_102 == 0)
|
||||
{
|
||||
|
|
@ -497,7 +489,7 @@ x_25 = lean_name_eq(x_19, x_24);
|
|||
if (x_25 == 0)
|
||||
{
|
||||
lean_object* x_26; uint8_t x_27;
|
||||
x_26 = l_Lean_Meta_evalNat___main___closed__9;
|
||||
x_26 = l_Lean_Meta_evalNat___main___closed__8;
|
||||
x_27 = lean_name_eq(x_19, x_26);
|
||||
lean_dec(x_19);
|
||||
if (x_27 == 0)
|
||||
|
|
@ -545,7 +537,7 @@ x_39 = lean_nat_dec_eq(x_21, x_38);
|
|||
if (x_39 == 0)
|
||||
{
|
||||
lean_object* x_40; uint8_t x_41;
|
||||
x_40 = l_Lean_Meta_evalNat___main___closed__9;
|
||||
x_40 = l_Lean_Meta_evalNat___main___closed__8;
|
||||
x_41 = lean_name_eq(x_19, x_40);
|
||||
lean_dec(x_19);
|
||||
if (x_41 == 0)
|
||||
|
|
@ -661,7 +653,7 @@ block_100:
|
|||
{
|
||||
lean_object* x_74; uint8_t x_75;
|
||||
lean_dec(x_73);
|
||||
x_74 = l_Lean_Meta_evalNat___main___closed__11;
|
||||
x_74 = l_Lean_Meta_evalNat___main___closed__10;
|
||||
x_75 = lean_name_eq(x_19, x_74);
|
||||
if (x_75 == 0)
|
||||
{
|
||||
|
|
@ -759,7 +751,7 @@ block_153:
|
|||
{
|
||||
lean_object* x_129; uint8_t x_130;
|
||||
lean_dec(x_128);
|
||||
x_129 = l_Lean_Meta_evalNat___main___closed__14;
|
||||
x_129 = l_Lean_Meta_evalNat___main___closed__13;
|
||||
x_130 = lean_name_eq(x_19, x_129);
|
||||
if (x_130 == 0)
|
||||
{
|
||||
|
|
@ -854,7 +846,7 @@ block_179:
|
|||
{
|
||||
lean_object* x_155; uint8_t x_156;
|
||||
lean_dec(x_154);
|
||||
x_155 = l_Lean_Meta_evalNat___main___closed__15;
|
||||
x_155 = l_Lean_Meta_evalNat___main___closed__14;
|
||||
x_156 = lean_name_eq(x_19, x_155);
|
||||
if (x_156 == 0)
|
||||
{
|
||||
|
|
@ -949,7 +941,7 @@ block_205:
|
|||
{
|
||||
lean_object* x_181; uint8_t x_182;
|
||||
lean_dec(x_180);
|
||||
x_181 = l_Lean_Meta_evalNat___main___closed__16;
|
||||
x_181 = l_Lean_Meta_evalNat___main___closed__15;
|
||||
x_182 = lean_name_eq(x_19, x_181);
|
||||
if (x_182 == 0)
|
||||
{
|
||||
|
|
@ -1120,7 +1112,7 @@ lean_inc(x_11);
|
|||
lean_dec(x_10);
|
||||
x_12 = lean_unsigned_to_nat(0u);
|
||||
x_13 = l_Lean_Expr_getAppNumArgsAux___main(x_1, x_12);
|
||||
x_90 = l_Lean_Meta_evalNat___main___closed__18;
|
||||
x_90 = l_Lean_Meta_evalNat___main___closed__17;
|
||||
x_91 = lean_name_eq(x_11, x_90);
|
||||
if (x_91 == 0)
|
||||
{
|
||||
|
|
@ -1230,7 +1222,7 @@ block_52:
|
|||
{
|
||||
lean_object* x_15; uint8_t x_16;
|
||||
lean_dec(x_14);
|
||||
x_15 = l_Lean_Meta_evalNat___main___closed__13;
|
||||
x_15 = l_Lean_Meta_evalNat___main___closed__12;
|
||||
x_16 = lean_name_eq(x_11, x_15);
|
||||
lean_dec(x_11);
|
||||
if (x_16 == 0)
|
||||
|
|
@ -1372,7 +1364,7 @@ block_89:
|
|||
{
|
||||
lean_object* x_54; uint8_t x_55;
|
||||
lean_dec(x_53);
|
||||
x_54 = l_Lean_Meta_evalNat___main___closed__16;
|
||||
x_54 = l_Lean_Meta_evalNat___main___closed__15;
|
||||
x_55 = lean_name_eq(x_11, x_54);
|
||||
if (x_55 == 0)
|
||||
{
|
||||
|
|
@ -1600,12 +1592,12 @@ lean_inc(x_3);
|
|||
lean_dec(x_2);
|
||||
x_4 = lean_unsigned_to_nat(0u);
|
||||
x_5 = l_Lean_Expr_getAppNumArgsAux___main(x_1, x_4);
|
||||
x_18 = l_Lean_Meta_evalNat___main___closed__18;
|
||||
x_18 = l_Lean_Meta_evalNat___main___closed__17;
|
||||
x_19 = lean_name_eq(x_3, x_18);
|
||||
if (x_19 == 0)
|
||||
{
|
||||
lean_object* x_20; uint8_t x_21;
|
||||
x_20 = l_Lean_Meta_evalNat___main___closed__16;
|
||||
x_20 = l_Lean_Meta_evalNat___main___closed__15;
|
||||
x_21 = lean_name_eq(x_3, x_20);
|
||||
if (x_21 == 0)
|
||||
{
|
||||
|
|
@ -1643,7 +1635,7 @@ x_28 = lean_nat_dec_eq(x_5, x_27);
|
|||
if (x_28 == 0)
|
||||
{
|
||||
lean_object* x_29; uint8_t x_30;
|
||||
x_29 = l_Lean_Meta_evalNat___main___closed__16;
|
||||
x_29 = l_Lean_Meta_evalNat___main___closed__15;
|
||||
x_30 = lean_name_eq(x_3, x_29);
|
||||
if (x_30 == 0)
|
||||
{
|
||||
|
|
@ -1684,7 +1676,7 @@ return x_36;
|
|||
block_17:
|
||||
{
|
||||
lean_object* x_7; uint8_t x_8;
|
||||
x_7 = l_Lean_Meta_evalNat___main___closed__13;
|
||||
x_7 = l_Lean_Meta_evalNat___main___closed__12;
|
||||
x_8 = lean_name_eq(x_3, x_7);
|
||||
lean_dec(x_3);
|
||||
if (x_8 == 0)
|
||||
|
|
@ -1784,7 +1776,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Meta_evalNat___main___closed__16;
|
||||
x_2 = l_Lean_Meta_evalNat___main___closed__15;
|
||||
x_3 = l_Lean_mkConst(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -2361,8 +2353,6 @@ l_Lean_Meta_evalNat___main___closed__16 = _init_l_Lean_Meta_evalNat___main___clo
|
|||
lean_mark_persistent(l_Lean_Meta_evalNat___main___closed__16);
|
||||
l_Lean_Meta_evalNat___main___closed__17 = _init_l_Lean_Meta_evalNat___main___closed__17();
|
||||
lean_mark_persistent(l_Lean_Meta_evalNat___main___closed__17);
|
||||
l_Lean_Meta_evalNat___main___closed__18 = _init_l_Lean_Meta_evalNat___main___closed__18();
|
||||
lean_mark_persistent(l_Lean_Meta_evalNat___main___closed__18);
|
||||
l___private_Lean_Meta_Offset_5__mkOffset___closed__1 = _init_l___private_Lean_Meta_Offset_5__mkOffset___closed__1();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Offset_5__mkOffset___closed__1);
|
||||
return lean_mk_io_result(lean_box(0));
|
||||
|
|
|
|||
|
|
@ -13,10 +13,10 @@
|
|||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
extern lean_object* l_Lean_mkHole___closed__3;
|
||||
lean_object* l_Lean_Expr_mvarId_x21(lean_object*);
|
||||
lean_object* lean_local_ctx_get_unused_name(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_isClassExpensive___main(lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_mkThunk___closed__1;
|
||||
lean_object* l_Lean_Meta_introN(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_withNewLocalInstances___main___at_Lean_Meta_introN___spec__4(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_EIO_Monad___closed__1;
|
||||
|
|
@ -69,7 +69,6 @@ lean_object* l_Lean_mkFVar(lean_object*);
|
|||
uint8_t l_Lean_Expr_Data_binderInfo(uint64_t);
|
||||
lean_object* l_Lean_Meta_introNCoreAux___main___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_intro___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_mkAuxName___closed__1;
|
||||
lean_object* l_Lean_LocalDecl_type(lean_object*);
|
||||
lean_object* lean_local_ctx_mk_local_decl(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t);
|
||||
lean_object* l_Array_umapMAux___main___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -836,16 +835,6 @@ lean_dec(x_5);
|
|||
return x_7;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Meta_mkAuxName___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_mkHole___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_Meta_mkAuxName(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -878,7 +867,7 @@ lean_inc(x_8);
|
|||
x_9 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_9);
|
||||
lean_dec(x_4);
|
||||
x_10 = l_Lean_Meta_mkAuxName___closed__1;
|
||||
x_10 = l_Lean_mkThunk___closed__1;
|
||||
x_11 = lean_name_eq(x_8, x_10);
|
||||
if (x_11 == 0)
|
||||
{
|
||||
|
|
@ -5804,8 +5793,6 @@ l_Lean_Meta_introNCoreAux___main___rarg___closed__1 = _init_l_Lean_Meta_introNCo
|
|||
lean_mark_persistent(l_Lean_Meta_introNCoreAux___main___rarg___closed__1);
|
||||
l_Lean_Meta_introNCore___rarg___lambda__2___closed__1 = _init_l_Lean_Meta_introNCore___rarg___lambda__2___closed__1();
|
||||
lean_mark_persistent(l_Lean_Meta_introNCore___rarg___lambda__2___closed__1);
|
||||
l_Lean_Meta_mkAuxName___closed__1 = _init_l_Lean_Meta_mkAuxName___closed__1();
|
||||
lean_mark_persistent(l_Lean_Meta_mkAuxName___closed__1);
|
||||
return lean_mk_io_result(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
|
|
@ -72,7 +72,6 @@ lean_object* l___private_Lean_Parser_Extension_2__throwParserCategoryAlreadyDefi
|
|||
lean_object* l_Lean_Parser_mkParserState(lean_object*);
|
||||
lean_object* l_Lean_Parser_mkParserExtension___lambda__2(lean_object*);
|
||||
lean_object* lean_io_ref_get(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_declareBuiltinParser___closed__5;
|
||||
lean_object* l_List_map___main___at_Lean_Parser_addLeadingParser___spec__4(lean_object*);
|
||||
lean_object* l___private_Lean_Parser_Extension_13__registerParserAttributeImplBuilder___closed__1;
|
||||
lean_object* l_Lean_Parser_declareBuiltinParser___closed__3;
|
||||
|
|
@ -105,7 +104,6 @@ lean_object* l_Lean_Parser_declareBuiltinParser___closed__2;
|
|||
extern lean_object* l_Lean_mkAppStx___closed__4;
|
||||
lean_object* l___private_Lean_Parser_Extension_11__BuiltinParserAttribute_add___closed__1;
|
||||
lean_object* l_Lean_Parser_parserExtension___closed__1;
|
||||
lean_object* l_Lean_Parser_declareBuiltinParser___closed__4;
|
||||
extern lean_object* l_Lean_nameLitKind;
|
||||
extern lean_object* l_Lean_LocalContext_Inhabited___closed__1;
|
||||
lean_object* l_Array_anyRangeMAux___main___at_Lean_Parser_mkParserExtension___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -157,6 +155,7 @@ extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_mkParenthesizerOfConstant
|
|||
lean_object* l_Lean_Parser_declareBuiltinParser(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_noFirstTokenInfo(lean_object*);
|
||||
lean_object* l_Std_PersistentHashMap_insertAux___main___at___private_Lean_Parser_Extension_3__addParserCategoryCore___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_KeyedDeclsAttribute_declareBuiltin___rarg___closed__6;
|
||||
lean_object* l_Lean_Parser_mkParserOfConstantUnsafe___closed__1;
|
||||
extern lean_object* l_Std_PersistentHashMap_insertAux___main___rarg___closed__3;
|
||||
extern lean_object* l_Lean_strLitKind;
|
||||
|
|
@ -167,7 +166,6 @@ lean_object* l_Lean_Parser_mkParserOfConstantUnsafe(lean_object*, lean_object*,
|
|||
lean_object* l_Lean_registerAttributeOfBuilder(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Name_append___main(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_regTermParserAttribute___closed__1;
|
||||
extern lean_object* l_Lean_KeyedDeclsAttribute_declareBuiltin___rarg___closed__4;
|
||||
lean_object* l_Lean_Parser_mkParserExtension___closed__8;
|
||||
lean_object* l_Lean_Parser_whitespace___main(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_parserExtension___closed__4;
|
||||
|
|
@ -187,7 +185,6 @@ lean_object* l_Lean_Parser_mkParserExtension___lambda__2___boxed(lean_object*);
|
|||
lean_object* l_Lean_Parser_mkParserOfConstantUnsafe___closed__4;
|
||||
size_t l_Lean_Name_hash(lean_object*);
|
||||
lean_object* l_Lean_Parser_addToken(lean_object*, lean_object*);
|
||||
extern lean_object* l___private_Lean_Compiler_InitAttr_2__isUnitType___closed__1;
|
||||
lean_object* l_Nat_repr(lean_object*);
|
||||
extern lean_object* l_Char_HasRepr___closed__1;
|
||||
lean_object* l_Lean_Parser_mkBuiltinSyntaxNodeKindSetRef(lean_object*);
|
||||
|
|
@ -238,7 +235,6 @@ lean_object* l_Lean_Parser_sepByFn___boxed(lean_object*, lean_object*, lean_obje
|
|||
lean_object* l_Lean_Parser_mkBuiltinTokenTable(lean_object*);
|
||||
lean_object* l_Lean_Parser_addTrailingParser(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_ConstantInfo_type(lean_object*);
|
||||
lean_object* l_Lean_Parser_declareBuiltinParser___closed__6;
|
||||
lean_object* l_Lean_Parser_trailingNodeFn(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_addBuiltinLeadingParser(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_mkParserExtension___closed__7;
|
||||
|
|
@ -276,7 +272,6 @@ lean_object* l_Lean_Parser_tryFn(lean_object*, lean_object*, lean_object*);
|
|||
uint8_t l_Lean_Parser_isParserCategory(lean_object*, lean_object*);
|
||||
uint8_t l_USize_decLe(size_t, size_t);
|
||||
extern lean_object* l_Lean_registerTagAttribute___lambda__4___closed__5;
|
||||
lean_object* l_Lean_mkApp(lean_object*, lean_object*);
|
||||
lean_object* l_Std_PersistentHashMap_containsAtAux___main___at_Lean_Parser_isValidSyntaxNodeKind___spec__3___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_categoryParser(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Environment_addAndCompile(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -7918,36 +7913,6 @@ return x_3;
|
|||
lean_object* _init_l_Lean_Parser_declareBuiltinParser___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l___private_Lean_Compiler_InitAttr_2__isUnitType___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_declareBuiltinParser___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Parser_declareBuiltinParser___closed__3;
|
||||
x_3 = l_Lean_mkConst(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_declareBuiltinParser___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_KeyedDeclsAttribute_declareBuiltin___rarg___closed__4;
|
||||
x_2 = l_Lean_Parser_declareBuiltinParser___closed__4;
|
||||
x_3 = l_Lean_mkApp(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_declareBuiltinParser___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("failed to emit registration code for builtin parser '");
|
||||
return x_1;
|
||||
|
|
@ -7974,7 +7939,7 @@ x_16 = lean_array_push(x_15, x_12);
|
|||
x_17 = lean_unsigned_to_nat(0u);
|
||||
x_18 = l_Array_iterateMAux___main___at_Lean_mkAppN___spec__1(x_16, x_16, x_17, x_9);
|
||||
lean_dec(x_16);
|
||||
x_19 = l_Lean_Parser_declareBuiltinParser___closed__5;
|
||||
x_19 = l_Lean_KeyedDeclsAttribute_declareBuiltin___rarg___closed__6;
|
||||
lean_inc(x_7);
|
||||
x_20 = lean_alloc_ctor(0, 3, 0);
|
||||
lean_ctor_set(x_20, 0, x_7);
|
||||
|
|
@ -7999,7 +7964,7 @@ lean_dec(x_26);
|
|||
lean_dec(x_7);
|
||||
x_27 = l_Lean_Name_toString___closed__1;
|
||||
x_28 = l_Lean_Name_toStringWithSep___main(x_27, x_4);
|
||||
x_29 = l_Lean_Parser_declareBuiltinParser___closed__6;
|
||||
x_29 = l_Lean_Parser_declareBuiltinParser___closed__3;
|
||||
x_30 = lean_string_append(x_29, x_28);
|
||||
lean_dec(x_28);
|
||||
x_31 = l_Char_HasRepr___closed__1;
|
||||
|
|
@ -9368,12 +9333,6 @@ l_Lean_Parser_declareBuiltinParser___closed__2 = _init_l_Lean_Parser_declareBuil
|
|||
lean_mark_persistent(l_Lean_Parser_declareBuiltinParser___closed__2);
|
||||
l_Lean_Parser_declareBuiltinParser___closed__3 = _init_l_Lean_Parser_declareBuiltinParser___closed__3();
|
||||
lean_mark_persistent(l_Lean_Parser_declareBuiltinParser___closed__3);
|
||||
l_Lean_Parser_declareBuiltinParser___closed__4 = _init_l_Lean_Parser_declareBuiltinParser___closed__4();
|
||||
lean_mark_persistent(l_Lean_Parser_declareBuiltinParser___closed__4);
|
||||
l_Lean_Parser_declareBuiltinParser___closed__5 = _init_l_Lean_Parser_declareBuiltinParser___closed__5();
|
||||
lean_mark_persistent(l_Lean_Parser_declareBuiltinParser___closed__5);
|
||||
l_Lean_Parser_declareBuiltinParser___closed__6 = _init_l_Lean_Parser_declareBuiltinParser___closed__6();
|
||||
lean_mark_persistent(l_Lean_Parser_declareBuiltinParser___closed__6);
|
||||
l_Lean_Parser_declareLeadingBuiltinParser___closed__1 = _init_l_Lean_Parser_declareLeadingBuiltinParser___closed__1();
|
||||
lean_mark_persistent(l_Lean_Parser_declareLeadingBuiltinParser___closed__1);
|
||||
l_Lean_Parser_declareLeadingBuiltinParser___closed__2 = _init_l_Lean_Parser_declareLeadingBuiltinParser___closed__2();
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@ lean_object* l_Lean_Parser_Tactic_inductionAlts_parenthesizer___lambda__1___clos
|
|||
lean_object* l_Lean_Parser_Tactic_traceState_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Tactic_intros___elambda__1___closed__5;
|
||||
extern lean_object* l_Lean_nullKind;
|
||||
extern lean_object* l_Lean_mkThunk___closed__1;
|
||||
lean_object* l_Lean_Parser_Tactic_nestedTacticBlockCurly___closed__2;
|
||||
lean_object* l_Lean_Parser_Tactic_intros___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_Tactic_orelse___closed__1;
|
||||
|
|
@ -527,7 +528,6 @@ lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intros___elamb
|
|||
lean_object* l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__6;
|
||||
lean_object* l_Lean_Parser_Tactic_injection___elambda__1___closed__4;
|
||||
lean_object* l_Lean_Parser_Tactic_intros___closed__4;
|
||||
extern lean_object* l_Lean_Meta_mkAuxName___closed__1;
|
||||
lean_object* l_Lean_Parser_Tactic_cases___elambda__1___closed__5;
|
||||
lean_object* l_Lean_Parser_sepBy1Info(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Tactic_withAlts_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -909,7 +909,7 @@ lean_inc(x_7);
|
|||
x_8 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_7);
|
||||
lean_dec(x_7);
|
||||
x_9 = l_Lean_Parser_ParserState_popSyntax(x_6);
|
||||
x_10 = l_Lean_Meta_mkAuxName___closed__1;
|
||||
x_10 = l_Lean_mkThunk___closed__1;
|
||||
x_11 = l_Lean_mkIdentFrom(x_8, x_10);
|
||||
lean_dec(x_8);
|
||||
x_12 = l_Lean_Parser_ParserState_pushSyntax(x_9, x_11);
|
||||
|
|
|
|||
|
|
@ -425,7 +425,6 @@ lean_object* l_Lean_Parser_Term_doPat___elambda__1___closed__1;
|
|||
lean_object* l_Lean_Parser_Term_anonymousCtor___closed__8;
|
||||
lean_object* l_Lean_Parser_Term_dollarProj___elambda__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_doPat;
|
||||
lean_object* l_Lean_Parser_Term_proj___elambda__1___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_sort___elambda__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_tacticParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_heq___elambda__1___closed__5;
|
||||
|
|
@ -506,6 +505,7 @@ lean_object* l_Lean_Parser_Term_forall_parenthesizer___closed__4;
|
|||
lean_object* l_Lean_Parser_Term_matchAlts___closed__6;
|
||||
lean_object* l_Lean_Parser_Term_liftMethod___elambda__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_fun_parenthesizer___closed__8;
|
||||
extern lean_object* l___private_Lean_Meta_EqnCompiler_DepElim_18__processNonVariable___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_namedArgument___elambda__1___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_nativeDecide_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_namedArgument___closed__3;
|
||||
|
|
@ -541,7 +541,6 @@ lean_object* l_Lean_Parser_Term_bnot___closed__3;
|
|||
lean_object* l_Lean_Parser_Term_arrayRef___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_parser_x21___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_parser_x21___elambda__1___closed__2;
|
||||
extern lean_object* l_Lean_Meta_evalNat___main___closed__10;
|
||||
lean_object* l_Lean_Parser_Term_not___elambda__1___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_cdot___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_type_parenthesizer___closed__7;
|
||||
|
|
@ -563,12 +562,12 @@ lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_parenthesizer(lean_object*)
|
|||
lean_object* l_Lean_Parser_Term_listLit___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_andthen_parenthesizer___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_band___elambda__1(lean_object*, lean_object*);
|
||||
extern lean_object* l___private_Lean_Meta_EqnCompiler_DepElim_19__processNonVariable___closed__1;
|
||||
lean_object* l_Lean_Parser_ParserState_mkTrailingNode(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_seqRight___elambda__1___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_eq_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__3;
|
||||
lean_object* l_Lean_Parser_Term_prop___elambda__1___closed__6;
|
||||
extern lean_object* l_Lean_Expr_ctorName___closed__4;
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_let_x21(lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_let___elambda__1___closed__7;
|
||||
lean_object* l_Lean_Parser_Term_suffices_parenthesizer___closed__2;
|
||||
|
|
@ -2237,6 +2236,7 @@ lean_object* l_Lean_Parser_Term_borrowed___closed__3;
|
|||
lean_object* l_Lean_Parser_Term_match___elambda__1___closed__9;
|
||||
lean_object* l___regBuiltin_Lean_Parser_Term_equiv_parenthesizer(lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__7;
|
||||
extern lean_object* l_Lean_Meta_evalNat___main___closed__9;
|
||||
lean_object* l_Lean_Parser_Term_depArrow___closed__6;
|
||||
lean_object* l_Lean_Parser_Term_doPat_parenthesizer___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_sorry_parenthesizer___closed__2;
|
||||
|
|
@ -2744,6 +2744,7 @@ lean_object* l_Lean_Parser_Term_if_parenthesizer___closed__2;
|
|||
lean_object* l___regBuiltinParser_Lean_Parser_Term_hole(lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_iff___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_orelse___closed__4;
|
||||
extern lean_object* l_Lean_Expr_ctorName___closed__11;
|
||||
lean_object* l_Lean_Parser_Term_parenSpecial_parenthesizer___closed__1;
|
||||
lean_object* l_Lean_Parser_Term_paren_parenthesizer___closed__4;
|
||||
lean_object* l_Lean_Parser_Term_if___elambda__1___closed__12;
|
||||
|
|
@ -2761,7 +2762,6 @@ lean_object* l___regBuiltin_Lean_Parser_Term_fun_parenthesizer___closed__1;
|
|||
lean_object* l_Lean_Parser_Term_prop_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Parser_Term_map___elambda__1___closed__2;
|
||||
lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__2;
|
||||
lean_object* l_Lean_Parser_Term_sort___elambda__1___closed__9;
|
||||
lean_object* l___regBuiltinParser_Lean_Parser_Term_gt(lean_object*);
|
||||
lean_object* l___regBuiltin_Lean_Parser_Term_append_parenthesizer(lean_object*);
|
||||
lean_object* l___regBuiltin_Lean_Parser_Term_bnot_parenthesizer(lean_object*);
|
||||
|
|
@ -7971,43 +7971,35 @@ return x_5;
|
|||
lean_object* _init_l_Lean_Parser_Term_sort___elambda__1___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("sort");
|
||||
return x_1;
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_mkAppStx___closed__6;
|
||||
x_2 = l_Lean_Expr_ctorName___closed__4;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_sort___elambda__1___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_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_sort___elambda__1___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_2 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_sort___elambda__1___closed__4() {
|
||||
lean_object* _init_l_Lean_Parser_Term_sort___elambda__1___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4;
|
||||
x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_2 = l_Lean_Parser_Term_sort___elambda__1___closed__3;
|
||||
x_1 = l_Lean_Expr_ctorName___closed__4;
|
||||
x_2 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_3 = 1;
|
||||
x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_sort___elambda__1___closed__5() {
|
||||
lean_object* _init_l_Lean_Parser_Term_sort___elambda__1___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -8015,21 +8007,31 @@ x_1 = lean_mk_string("Sort");
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_sort___elambda__1___closed__6() {
|
||||
lean_object* _init_l_Lean_Parser_Term_sort___elambda__1___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__5;
|
||||
x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__4;
|
||||
x_2 = l_String_trim(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_sort___elambda__1___closed__6() {
|
||||
_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_sort___elambda__1___closed__5;
|
||||
x_3 = lean_string_append(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_sort___elambda__1___closed__7() {
|
||||
_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_sort___elambda__1___closed__6;
|
||||
x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__6;
|
||||
x_2 = l_Char_HasRepr___closed__1;
|
||||
x_3 = lean_string_append(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -8038,18 +8040,8 @@ lean_object* _init_l_Lean_Parser_Term_sort___elambda__1___closed__8() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__7;
|
||||
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_sort___elambda__1___closed__9() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Parser_Term_sort___elambda__1___closed__8;
|
||||
x_2 = l_Lean_Parser_Term_sort___elambda__1___closed__7;
|
||||
x_3 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_2);
|
||||
lean_ctor_set(x_3, 1, x_1);
|
||||
|
|
@ -8060,7 +8052,7 @@ lean_object* l_Lean_Parser_Term_sort___elambda__1(lean_object* x_1, lean_object*
|
|||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4; uint8_t x_5;
|
||||
x_3 = l_Lean_Parser_Term_sort___elambda__1___closed__4;
|
||||
x_3 = l_Lean_Parser_Term_sort___elambda__1___closed__3;
|
||||
x_4 = lean_ctor_get(x_3, 1);
|
||||
lean_inc(x_4);
|
||||
lean_inc(x_2);
|
||||
|
|
@ -8100,13 +8092,13 @@ lean_object* x_71; lean_object* x_72; uint8_t x_73;
|
|||
x_71 = lean_ctor_get(x_70, 1);
|
||||
lean_inc(x_71);
|
||||
lean_dec(x_70);
|
||||
x_72 = l_Lean_Parser_Term_sort___elambda__1___closed__6;
|
||||
x_72 = l_Lean_Parser_Term_sort___elambda__1___closed__5;
|
||||
x_73 = lean_string_dec_eq(x_71, x_72);
|
||||
lean_dec(x_71);
|
||||
if (x_73 == 0)
|
||||
{
|
||||
lean_object* x_74; lean_object* x_75;
|
||||
x_74 = l_Lean_Parser_Term_sort___elambda__1___closed__9;
|
||||
x_74 = l_Lean_Parser_Term_sort___elambda__1___closed__8;
|
||||
x_75 = l_Lean_Parser_ParserState_mkErrorsAt(x_67, x_74, x_66);
|
||||
x_11 = x_75;
|
||||
goto block_65;
|
||||
|
|
@ -8122,7 +8114,7 @@ else
|
|||
{
|
||||
lean_object* x_76; lean_object* x_77;
|
||||
lean_dec(x_70);
|
||||
x_76 = l_Lean_Parser_Term_sort___elambda__1___closed__9;
|
||||
x_76 = l_Lean_Parser_Term_sort___elambda__1___closed__8;
|
||||
x_77 = l_Lean_Parser_ParserState_mkErrorsAt(x_67, x_76, x_66);
|
||||
x_11 = x_77;
|
||||
goto block_65;
|
||||
|
|
@ -8132,7 +8124,7 @@ else
|
|||
{
|
||||
lean_object* x_78; lean_object* x_79;
|
||||
lean_dec(x_68);
|
||||
x_78 = l_Lean_Parser_Term_sort___elambda__1___closed__9;
|
||||
x_78 = l_Lean_Parser_Term_sort___elambda__1___closed__8;
|
||||
x_79 = l_Lean_Parser_ParserState_mkErrorsAt(x_67, x_78, x_66);
|
||||
x_11 = x_79;
|
||||
goto block_65;
|
||||
|
|
@ -8176,7 +8168,7 @@ lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
|
|||
lean_dec(x_15);
|
||||
x_26 = l_Lean_nullKind;
|
||||
x_27 = l_Lean_Parser_ParserState_mkNode(x_24, x_26, x_14);
|
||||
x_28 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_28 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_10);
|
||||
return x_29;
|
||||
}
|
||||
|
|
@ -8194,7 +8186,7 @@ lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
|
|||
lean_dec(x_15);
|
||||
x_32 = l_Lean_nullKind;
|
||||
x_33 = l_Lean_Parser_ParserState_mkNode(x_24, x_32, x_14);
|
||||
x_34 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_34 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_10);
|
||||
return x_35;
|
||||
}
|
||||
|
|
@ -8204,7 +8196,7 @@ lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean
|
|||
x_36 = l_Lean_Parser_ParserState_restore(x_24, x_14, x_15);
|
||||
x_37 = l_Lean_nullKind;
|
||||
x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_14);
|
||||
x_39 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_39 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_10);
|
||||
return x_40;
|
||||
}
|
||||
|
|
@ -8225,7 +8217,7 @@ lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
|
|||
lean_dec(x_15);
|
||||
x_43 = l_Lean_nullKind;
|
||||
x_44 = l_Lean_Parser_ParserState_mkNode(x_20, x_43, x_14);
|
||||
x_45 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_45 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_46 = l_Lean_Parser_ParserState_mkNode(x_44, x_45, x_10);
|
||||
return x_46;
|
||||
}
|
||||
|
|
@ -8235,7 +8227,7 @@ lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean
|
|||
x_47 = l_Lean_Parser_ParserState_restore(x_20, x_14, x_15);
|
||||
x_48 = l_Lean_nullKind;
|
||||
x_49 = l_Lean_Parser_ParserState_mkNode(x_47, x_48, x_14);
|
||||
x_50 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_50 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_10);
|
||||
return x_51;
|
||||
}
|
||||
|
|
@ -8256,7 +8248,7 @@ lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57;
|
|||
lean_dec(x_15);
|
||||
x_54 = l_Lean_nullKind;
|
||||
x_55 = l_Lean_Parser_ParserState_mkNode(x_17, x_54, x_14);
|
||||
x_56 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_56 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_57 = l_Lean_Parser_ParserState_mkNode(x_55, x_56, x_10);
|
||||
return x_57;
|
||||
}
|
||||
|
|
@ -8266,7 +8258,7 @@ lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean
|
|||
x_58 = l_Lean_Parser_ParserState_restore(x_17, x_14, x_15);
|
||||
x_59 = l_Lean_nullKind;
|
||||
x_60 = l_Lean_Parser_ParserState_mkNode(x_58, x_59, x_14);
|
||||
x_61 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_61 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_62 = l_Lean_Parser_ParserState_mkNode(x_60, x_61, x_10);
|
||||
return x_62;
|
||||
}
|
||||
|
|
@ -8277,7 +8269,7 @@ else
|
|||
lean_object* x_63; lean_object* x_64;
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_1);
|
||||
x_63 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_63 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_64 = l_Lean_Parser_ParserState_mkNode(x_11, x_63, x_10);
|
||||
return x_64;
|
||||
}
|
||||
|
|
@ -8364,13 +8356,13 @@ lean_object* x_162; lean_object* x_163; uint8_t x_164;
|
|||
x_162 = lean_ctor_get(x_161, 1);
|
||||
lean_inc(x_162);
|
||||
lean_dec(x_161);
|
||||
x_163 = l_Lean_Parser_Term_sort___elambda__1___closed__6;
|
||||
x_163 = l_Lean_Parser_Term_sort___elambda__1___closed__5;
|
||||
x_164 = lean_string_dec_eq(x_162, x_163);
|
||||
lean_dec(x_162);
|
||||
if (x_164 == 0)
|
||||
{
|
||||
lean_object* x_165; lean_object* x_166;
|
||||
x_165 = l_Lean_Parser_Term_sort___elambda__1___closed__9;
|
||||
x_165 = l_Lean_Parser_Term_sort___elambda__1___closed__8;
|
||||
x_166 = l_Lean_Parser_ParserState_mkErrorsAt(x_158, x_165, x_157);
|
||||
x_94 = x_166;
|
||||
goto block_156;
|
||||
|
|
@ -8386,7 +8378,7 @@ else
|
|||
{
|
||||
lean_object* x_167; lean_object* x_168;
|
||||
lean_dec(x_161);
|
||||
x_167 = l_Lean_Parser_Term_sort___elambda__1___closed__9;
|
||||
x_167 = l_Lean_Parser_Term_sort___elambda__1___closed__8;
|
||||
x_168 = l_Lean_Parser_ParserState_mkErrorsAt(x_158, x_167, x_157);
|
||||
x_94 = x_168;
|
||||
goto block_156;
|
||||
|
|
@ -8396,7 +8388,7 @@ else
|
|||
{
|
||||
lean_object* x_169; lean_object* x_170;
|
||||
lean_dec(x_159);
|
||||
x_169 = l_Lean_Parser_Term_sort___elambda__1___closed__9;
|
||||
x_169 = l_Lean_Parser_Term_sort___elambda__1___closed__8;
|
||||
x_170 = l_Lean_Parser_ParserState_mkErrorsAt(x_158, x_169, x_157);
|
||||
x_94 = x_170;
|
||||
goto block_156;
|
||||
|
|
@ -8440,7 +8432,7 @@ lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112;
|
|||
lean_dec(x_98);
|
||||
x_109 = l_Lean_nullKind;
|
||||
x_110 = l_Lean_Parser_ParserState_mkNode(x_107, x_109, x_97);
|
||||
x_111 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_111 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_112 = l_Lean_Parser_ParserState_mkNode(x_110, x_111, x_93);
|
||||
x_113 = l_Lean_Parser_mergeOrElseErrors(x_112, x_85, x_82);
|
||||
lean_dec(x_82);
|
||||
|
|
@ -8460,7 +8452,7 @@ lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119;
|
|||
lean_dec(x_98);
|
||||
x_116 = l_Lean_nullKind;
|
||||
x_117 = l_Lean_Parser_ParserState_mkNode(x_107, x_116, x_97);
|
||||
x_118 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_118 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_119 = l_Lean_Parser_ParserState_mkNode(x_117, x_118, x_93);
|
||||
x_120 = l_Lean_Parser_mergeOrElseErrors(x_119, x_85, x_82);
|
||||
lean_dec(x_82);
|
||||
|
|
@ -8472,7 +8464,7 @@ lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124;
|
|||
x_121 = l_Lean_Parser_ParserState_restore(x_107, x_97, x_98);
|
||||
x_122 = l_Lean_nullKind;
|
||||
x_123 = l_Lean_Parser_ParserState_mkNode(x_121, x_122, x_97);
|
||||
x_124 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_124 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_125 = l_Lean_Parser_ParserState_mkNode(x_123, x_124, x_93);
|
||||
x_126 = l_Lean_Parser_mergeOrElseErrors(x_125, x_85, x_82);
|
||||
lean_dec(x_82);
|
||||
|
|
@ -8495,7 +8487,7 @@ lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132;
|
|||
lean_dec(x_98);
|
||||
x_129 = l_Lean_nullKind;
|
||||
x_130 = l_Lean_Parser_ParserState_mkNode(x_103, x_129, x_97);
|
||||
x_131 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_131 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_132 = l_Lean_Parser_ParserState_mkNode(x_130, x_131, x_93);
|
||||
x_133 = l_Lean_Parser_mergeOrElseErrors(x_132, x_85, x_82);
|
||||
lean_dec(x_82);
|
||||
|
|
@ -8507,7 +8499,7 @@ lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137;
|
|||
x_134 = l_Lean_Parser_ParserState_restore(x_103, x_97, x_98);
|
||||
x_135 = l_Lean_nullKind;
|
||||
x_136 = l_Lean_Parser_ParserState_mkNode(x_134, x_135, x_97);
|
||||
x_137 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_137 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_138 = l_Lean_Parser_ParserState_mkNode(x_136, x_137, x_93);
|
||||
x_139 = l_Lean_Parser_mergeOrElseErrors(x_138, x_85, x_82);
|
||||
lean_dec(x_82);
|
||||
|
|
@ -8530,7 +8522,7 @@ lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145;
|
|||
lean_dec(x_98);
|
||||
x_142 = l_Lean_nullKind;
|
||||
x_143 = l_Lean_Parser_ParserState_mkNode(x_100, x_142, x_97);
|
||||
x_144 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_144 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_145 = l_Lean_Parser_ParserState_mkNode(x_143, x_144, x_93);
|
||||
x_146 = l_Lean_Parser_mergeOrElseErrors(x_145, x_85, x_82);
|
||||
lean_dec(x_82);
|
||||
|
|
@ -8542,7 +8534,7 @@ lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150;
|
|||
x_147 = l_Lean_Parser_ParserState_restore(x_100, x_97, x_98);
|
||||
x_148 = l_Lean_nullKind;
|
||||
x_149 = l_Lean_Parser_ParserState_mkNode(x_147, x_148, x_97);
|
||||
x_150 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_150 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_151 = l_Lean_Parser_ParserState_mkNode(x_149, x_150, x_93);
|
||||
x_152 = l_Lean_Parser_mergeOrElseErrors(x_151, x_85, x_82);
|
||||
lean_dec(x_82);
|
||||
|
|
@ -8555,7 +8547,7 @@ else
|
|||
lean_object* x_153; lean_object* x_154; lean_object* x_155;
|
||||
lean_dec(x_95);
|
||||
lean_dec(x_1);
|
||||
x_153 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_153 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_154 = l_Lean_Parser_ParserState_mkNode(x_94, x_153, x_93);
|
||||
x_155 = l_Lean_Parser_mergeOrElseErrors(x_154, x_85, x_82);
|
||||
lean_dec(x_82);
|
||||
|
|
@ -8581,7 +8573,7 @@ lean_object* _init_l_Lean_Parser_Term_sort___closed__1() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__6;
|
||||
x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__5;
|
||||
x_2 = l_Lean_Parser_symbolInfo(x_1);
|
||||
return x_2;
|
||||
}
|
||||
|
|
@ -8600,7 +8592,7 @@ lean_object* _init_l_Lean_Parser_Term_sort___closed__3() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_2 = l_Lean_Parser_Term_sort___closed__2;
|
||||
x_3 = l_Lean_Parser_nodeInfo(x_1, x_2);
|
||||
return x_3;
|
||||
|
|
@ -8620,7 +8612,7 @@ lean_object* _init_l_Lean_Parser_Term_sort___closed__5() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
|
||||
x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__4;
|
||||
x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__3;
|
||||
x_2 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_2);
|
||||
x_3 = l_Lean_Parser_Term_sort___closed__4;
|
||||
|
|
@ -8661,7 +8653,7 @@ _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_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_3 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_4 = 1;
|
||||
x_5 = l_Lean_Parser_Term_sort;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
|
|
@ -8672,7 +8664,7 @@ lean_object* _init_l_Lean_Parser_Term_sort_parenthesizer___closed__1() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4;
|
||||
x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__3;
|
||||
x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_2 = 1;
|
||||
x_3 = lean_box(x_2);
|
||||
x_4 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___rarg___boxed), 6, 2);
|
||||
|
|
@ -8685,7 +8677,7 @@ lean_object* _init_l_Lean_Parser_Term_sort_parenthesizer___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_sort___elambda__1___closed__2;
|
||||
x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(1024u);
|
||||
x_3 = l_Lean_Parser_Term_type_parenthesizer___closed__7;
|
||||
x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 7, 3);
|
||||
|
|
@ -8718,7 +8710,7 @@ _start:
|
|||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_PrettyPrinter_parenthesizerAttribute;
|
||||
x_3 = l_Lean_Parser_Term_sort___elambda__1___closed__2;
|
||||
x_3 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
|
||||
x_4 = l___regBuiltin_Lean_Parser_Term_sort_parenthesizer___closed__1;
|
||||
x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
|
|
@ -38010,7 +38002,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_mkAppStx___closed__6;
|
||||
x_2 = l___private_Lean_Meta_EqnCompiler_DepElim_19__processNonVariable___closed__1;
|
||||
x_2 = l___private_Lean_Meta_EqnCompiler_DepElim_18__processNonVariable___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -38029,7 +38021,7 @@ lean_object* _init_l_Lean_Parser_Term_match___elambda__1___closed__3() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4;
|
||||
x_1 = l___private_Lean_Meta_EqnCompiler_DepElim_19__processNonVariable___closed__1;
|
||||
x_1 = l___private_Lean_Meta_EqnCompiler_DepElim_18__processNonVariable___closed__1;
|
||||
x_2 = l_Lean_Parser_Term_match___elambda__1___closed__2;
|
||||
x_3 = 1;
|
||||
x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
|
||||
|
|
@ -54141,22 +54133,14 @@ return x_5;
|
|||
lean_object* _init_l_Lean_Parser_Term_proj___elambda__1___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("proj");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_proj___elambda__1___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_Lean_Parser_Term_proj___elambda__1___closed__1;
|
||||
x_2 = l_Lean_Expr_ctorName___closed__11;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_proj___elambda__1___closed__3() {
|
||||
lean_object* _init_l_Lean_Parser_Term_proj___elambda__1___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
|
|
@ -54166,7 +54150,7 @@ x_3 = lean_string_append(x_1, x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_Parser_Term_proj___elambda__1___closed__4() {
|
||||
lean_object* _init_l_Lean_Parser_Term_proj___elambda__1___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
|
|
@ -54202,7 +54186,7 @@ if (x_45 == 0)
|
|||
{
|
||||
lean_object* x_46; lean_object* x_47;
|
||||
lean_dec(x_9);
|
||||
x_46 = l_Lean_Parser_Term_proj___elambda__1___closed__3;
|
||||
x_46 = l_Lean_Parser_Term_proj___elambda__1___closed__2;
|
||||
x_47 = l_Lean_Parser_ParserState_mkError(x_6, x_46);
|
||||
x_11 = x_47;
|
||||
goto block_43;
|
||||
|
|
@ -54216,7 +54200,7 @@ x_49 = lean_ctor_get(x_48, 0);
|
|||
lean_inc(x_49);
|
||||
lean_dec(x_48);
|
||||
x_50 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__1;
|
||||
x_51 = l_Lean_Parser_Term_proj___elambda__1___closed__3;
|
||||
x_51 = l_Lean_Parser_Term_proj___elambda__1___closed__2;
|
||||
x_52 = lean_unsigned_to_nat(0u);
|
||||
x_53 = l_Lean_Parser_strAux___main(x_50, x_51, x_52, x_1, x_6);
|
||||
x_54 = lean_ctor_get(x_53, 3);
|
||||
|
|
@ -54230,7 +54214,7 @@ x_55 = lean_alloc_ctor(0, 3, 0);
|
|||
lean_ctor_set(x_55, 0, x_49);
|
||||
lean_ctor_set(x_55, 1, x_9);
|
||||
lean_ctor_set(x_55, 2, x_9);
|
||||
x_56 = l_Lean_Parser_Term_proj___elambda__1___closed__4;
|
||||
x_56 = l_Lean_Parser_Term_proj___elambda__1___closed__3;
|
||||
x_57 = lean_nat_add(x_9, x_56);
|
||||
lean_inc(x_57);
|
||||
x_58 = lean_alloc_ctor(0, 3, 0);
|
||||
|
|
@ -54339,7 +54323,7 @@ lean_object* x_18; lean_object* x_19;
|
|||
lean_dec(x_15);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_1);
|
||||
x_18 = l_Lean_Parser_Term_proj___elambda__1___closed__2;
|
||||
x_18 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
|
||||
x_19 = l_Lean_Parser_ParserState_mkTrailingNode(x_16, x_18, x_10);
|
||||
lean_dec(x_10);
|
||||
return x_19;
|
||||
|
|
@ -54361,7 +54345,7 @@ lean_dec(x_20);
|
|||
lean_dec(x_15);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_1);
|
||||
x_23 = l_Lean_Parser_Term_proj___elambda__1___closed__2;
|
||||
x_23 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
|
||||
x_24 = l_Lean_Parser_ParserState_mkTrailingNode(x_16, x_23, x_10);
|
||||
lean_dec(x_10);
|
||||
return x_24;
|
||||
|
|
@ -54375,7 +54359,7 @@ lean_dec(x_14);
|
|||
x_26 = l_Lean_Parser_ident___elambda__1(x_1, x_25);
|
||||
x_27 = l_Lean_Parser_mergeOrElseErrors(x_26, x_20, x_15);
|
||||
lean_dec(x_15);
|
||||
x_28 = l_Lean_Parser_Term_proj___elambda__1___closed__2;
|
||||
x_28 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
|
||||
x_29 = l_Lean_Parser_ParserState_mkTrailingNode(x_27, x_28, x_10);
|
||||
lean_dec(x_10);
|
||||
return x_29;
|
||||
|
|
@ -54389,7 +54373,7 @@ lean_object* x_41; lean_object* x_42;
|
|||
lean_dec(x_12);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_1);
|
||||
x_41 = l_Lean_Parser_Term_proj___elambda__1___closed__2;
|
||||
x_41 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
|
||||
x_42 = l_Lean_Parser_ParserState_mkTrailingNode(x_11, x_41, x_10);
|
||||
lean_dec(x_10);
|
||||
return x_42;
|
||||
|
|
@ -54440,7 +54424,7 @@ lean_object* _init_l_Lean_Parser_Term_proj___closed__4() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Parser_Term_proj___elambda__1___closed__2;
|
||||
x_1 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
|
||||
x_2 = l_Lean_Parser_Term_proj___closed__3;
|
||||
x_3 = l_Lean_Parser_nodeInfo(x_1, x_2);
|
||||
return x_3;
|
||||
|
|
@ -54489,7 +54473,7 @@ _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_Lean_Parser_Term_proj___elambda__1___closed__2;
|
||||
x_3 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
|
||||
x_4 = 0;
|
||||
x_5 = l_Lean_Parser_Term_proj;
|
||||
x_6 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_1);
|
||||
|
|
@ -54532,7 +54516,7 @@ lean_object* l_Lean_Parser_Term_proj_parenthesizer(lean_object* x_1, lean_object
|
|||
_start:
|
||||
{
|
||||
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
|
||||
x_5 = l_Lean_Parser_Term_proj___elambda__1___closed__2;
|
||||
x_5 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
|
||||
x_6 = lean_unsigned_to_nat(1024u);
|
||||
x_7 = l_Lean_Parser_Term_proj_parenthesizer___closed__3;
|
||||
x_8 = l_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer(x_5, x_6, x_7, x_1, x_2, x_3, x_4);
|
||||
|
|
@ -54552,7 +54536,7 @@ _start:
|
|||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = l_Lean_PrettyPrinter_parenthesizerAttribute;
|
||||
x_3 = l_Lean_Parser_Term_proj___elambda__1___closed__2;
|
||||
x_3 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
|
||||
x_4 = l___regBuiltin_Lean_Parser_Term_proj_parenthesizer___closed__1;
|
||||
x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
|
||||
return x_5;
|
||||
|
|
@ -57104,7 +57088,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_mkAppStx___closed__6;
|
||||
x_2 = l_Lean_Meta_evalNat___main___closed__10;
|
||||
x_2 = l_Lean_Meta_evalNat___main___closed__9;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -66489,8 +66473,6 @@ l_Lean_Parser_Term_sort___elambda__1___closed__7 = _init_l_Lean_Parser_Term_sort
|
|||
lean_mark_persistent(l_Lean_Parser_Term_sort___elambda__1___closed__7);
|
||||
l_Lean_Parser_Term_sort___elambda__1___closed__8 = _init_l_Lean_Parser_Term_sort___elambda__1___closed__8();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_sort___elambda__1___closed__8);
|
||||
l_Lean_Parser_Term_sort___elambda__1___closed__9 = _init_l_Lean_Parser_Term_sort___elambda__1___closed__9();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_sort___elambda__1___closed__9);
|
||||
l_Lean_Parser_Term_sort___closed__1 = _init_l_Lean_Parser_Term_sort___closed__1();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_sort___closed__1);
|
||||
l_Lean_Parser_Term_sort___closed__2 = _init_l_Lean_Parser_Term_sort___closed__2();
|
||||
|
|
@ -69679,8 +69661,6 @@ l_Lean_Parser_Term_proj___elambda__1___closed__2 = _init_l_Lean_Parser_Term_proj
|
|||
lean_mark_persistent(l_Lean_Parser_Term_proj___elambda__1___closed__2);
|
||||
l_Lean_Parser_Term_proj___elambda__1___closed__3 = _init_l_Lean_Parser_Term_proj___elambda__1___closed__3();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_proj___elambda__1___closed__3);
|
||||
l_Lean_Parser_Term_proj___elambda__1___closed__4 = _init_l_Lean_Parser_Term_proj___elambda__1___closed__4();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_proj___elambda__1___closed__4);
|
||||
l_Lean_Parser_Term_proj___closed__1 = _init_l_Lean_Parser_Term_proj___closed__1();
|
||||
lean_mark_persistent(l_Lean_Parser_Term_proj___closed__1);
|
||||
l_Lean_Parser_Term_proj___closed__2 = _init_l_Lean_Parser_Term_proj___closed__2();
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ lean_object* l_Nat_forMAux___main___at_Lean_PrettyPrinter_Parenthesizer_category
|
|||
lean_object* l_Lean_PrettyPrinter_parenthesizerAttribute___closed__1;
|
||||
lean_object* l_unreachable_x21___rarg(lean_object*);
|
||||
extern lean_object* l_Lean_nullKind;
|
||||
extern lean_object* l_Lean_mkThunk___closed__1;
|
||||
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_PrettyPrinter_Parenthesizer_compileParserBody___main___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Expr_3__getAppArgsAux___main(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_compileParserBody___main___closed__9;
|
||||
|
|
@ -437,7 +438,6 @@ lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute(lean_object*);
|
|||
lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___closed__1;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkNoImmediateColon_parenthesizer(lean_object*);
|
||||
extern lean_object* l_Lean_nullKind___closed__2;
|
||||
extern lean_object* l_Lean_Meta_mkAuxName___closed__1;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_compileParenthesizerDescr___main___closed__5;
|
||||
lean_object* l_Lean_PrettyPrinter_Parenthesizer_compileParenthesizerDescr___main___closed__14;
|
||||
lean_object* l_Lean_Syntax_Traverser_fromSyntax(lean_object*);
|
||||
|
|
@ -9440,7 +9440,7 @@ lean_inc(x_20);
|
|||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_19);
|
||||
x_22 = l_Lean_Meta_mkAuxName___closed__1;
|
||||
x_22 = l_Lean_mkThunk___closed__1;
|
||||
x_23 = 0;
|
||||
x_24 = l_Lean_mkForall(x_22, x_23, x_20, x_7);
|
||||
x_5 = x_13;
|
||||
|
|
@ -9944,7 +9944,7 @@ lean_inc(x_20);
|
|||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_19);
|
||||
x_22 = l_Lean_Meta_mkAuxName___closed__1;
|
||||
x_22 = l_Lean_mkThunk___closed__1;
|
||||
x_23 = 0;
|
||||
x_24 = l_Lean_mkForall(x_22, x_23, x_20, x_7);
|
||||
x_5 = x_13;
|
||||
|
|
@ -10430,7 +10430,7 @@ lean_inc(x_20);
|
|||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_19);
|
||||
x_22 = l_Lean_Meta_mkAuxName___closed__1;
|
||||
x_22 = l_Lean_mkThunk___closed__1;
|
||||
x_23 = 0;
|
||||
x_24 = l_Lean_mkForall(x_22, x_23, x_20, x_7);
|
||||
x_5 = x_13;
|
||||
|
|
@ -10916,7 +10916,7 @@ lean_inc(x_20);
|
|||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_19);
|
||||
x_22 = l_Lean_Meta_mkAuxName___closed__1;
|
||||
x_22 = l_Lean_mkThunk___closed__1;
|
||||
x_23 = 0;
|
||||
x_24 = l_Lean_mkForall(x_22, x_23, x_20, x_7);
|
||||
x_5 = x_13;
|
||||
|
|
@ -11402,7 +11402,7 @@ lean_inc(x_20);
|
|||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_19);
|
||||
x_22 = l_Lean_Meta_mkAuxName___closed__1;
|
||||
x_22 = l_Lean_mkThunk___closed__1;
|
||||
x_23 = 0;
|
||||
x_24 = l_Lean_mkForall(x_22, x_23, x_20, x_7);
|
||||
x_5 = x_13;
|
||||
|
|
@ -11888,7 +11888,7 @@ lean_inc(x_20);
|
|||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_19);
|
||||
x_22 = l_Lean_Meta_mkAuxName___closed__1;
|
||||
x_22 = l_Lean_mkThunk___closed__1;
|
||||
x_23 = 0;
|
||||
x_24 = l_Lean_mkForall(x_22, x_23, x_20, x_7);
|
||||
x_5 = x_13;
|
||||
|
|
@ -12374,7 +12374,7 @@ lean_inc(x_20);
|
|||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_19);
|
||||
x_22 = l_Lean_Meta_mkAuxName___closed__1;
|
||||
x_22 = l_Lean_mkThunk___closed__1;
|
||||
x_23 = 0;
|
||||
x_24 = l_Lean_mkForall(x_22, x_23, x_20, x_7);
|
||||
x_5 = x_13;
|
||||
|
|
@ -12860,7 +12860,7 @@ lean_inc(x_20);
|
|||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_19);
|
||||
x_22 = l_Lean_Meta_mkAuxName___closed__1;
|
||||
x_22 = l_Lean_mkThunk___closed__1;
|
||||
x_23 = 0;
|
||||
x_24 = l_Lean_mkForall(x_22, x_23, x_20, x_7);
|
||||
x_5 = x_13;
|
||||
|
|
@ -13346,7 +13346,7 @@ lean_inc(x_20);
|
|||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_19);
|
||||
x_22 = l_Lean_Meta_mkAuxName___closed__1;
|
||||
x_22 = l_Lean_mkThunk___closed__1;
|
||||
x_23 = 0;
|
||||
x_24 = l_Lean_mkForall(x_22, x_23, x_20, x_7);
|
||||
x_5 = x_13;
|
||||
|
|
@ -13832,7 +13832,7 @@ lean_inc(x_20);
|
|||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_19);
|
||||
x_22 = l_Lean_Meta_mkAuxName___closed__1;
|
||||
x_22 = l_Lean_mkThunk___closed__1;
|
||||
x_23 = 0;
|
||||
x_24 = l_Lean_mkForall(x_22, x_23, x_20, x_7);
|
||||
x_5 = x_13;
|
||||
|
|
@ -14318,7 +14318,7 @@ lean_inc(x_20);
|
|||
x_21 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_19);
|
||||
x_22 = l_Lean_Meta_mkAuxName___closed__1;
|
||||
x_22 = l_Lean_mkThunk___closed__1;
|
||||
x_23 = 0;
|
||||
x_24 = l_Lean_mkForall(x_22, x_23, x_20, x_7);
|
||||
x_5 = x_13;
|
||||
|
|
|
|||
|
|
@ -14,11 +14,10 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
lean_object* l_Lean_nameToExpr___closed__3;
|
||||
lean_object* l_Lean_unitToExpr___closed__3;
|
||||
lean_object* l_Lean_arrayToExpr___rarg(lean_object*);
|
||||
lean_object* l_Lean_boolToExpr;
|
||||
lean_object* l_Lean_unitToExpr___lambda__1___closed__2;
|
||||
lean_object* l_Lean_unitToExpr___lambda__1___closed__4;
|
||||
extern lean_object* l_Lean_mkThunkType___closed__2;
|
||||
lean_object* l_Lean_optionToExpr___rarg___lambda__1___closed__8;
|
||||
lean_object* l_Lean_optionToExpr___rarg___lambda__1___closed__4;
|
||||
lean_object* l_Lean_unitToExpr___closed__2;
|
||||
|
|
@ -33,7 +32,6 @@ lean_object* l_Lean_Name_toExprAux___main___closed__1;
|
|||
lean_object* l_Lean_optionToExpr___rarg___lambda__1___closed__6;
|
||||
lean_object* l_Lean_arrayToExpr___rarg___lambda__1___closed__3;
|
||||
lean_object* l_Lean_charToExpr;
|
||||
lean_object* l_Lean_unitToExpr___lambda__1___closed__5;
|
||||
lean_object* l_Lean_optionToExpr___rarg___closed__1;
|
||||
extern lean_object* l_Lean_Literal_type___closed__3;
|
||||
lean_object* l_Lean_nameToExpr___closed__2;
|
||||
|
|
@ -44,9 +42,9 @@ lean_object* l_Lean_Name_toExprAux___main___closed__2;
|
|||
lean_object* l_Lean_optionToExpr___rarg___lambda__1___closed__1;
|
||||
lean_object* l_Lean_prodToExpr(lean_object*, lean_object*);
|
||||
extern lean_object* l_Nat_HasOfNat___closed__1;
|
||||
extern lean_object* l_Lean_mkThunkType___closed__3;
|
||||
lean_object* l_Lean_listToExpr___rarg___closed__4;
|
||||
extern lean_object* l_Lean_levelZero;
|
||||
lean_object* l_Lean_charToExpr___lambda__1___closed__3;
|
||||
lean_object* l_Lean_unitToExpr___lambda__1(lean_object*);
|
||||
lean_object* l_Lean_Name_toExprAux___main___closed__6;
|
||||
lean_object* l_Lean_nameToExpr;
|
||||
|
|
@ -54,7 +52,6 @@ lean_object* l_Lean_List_toExprAux___main(lean_object*);
|
|||
lean_object* l_Lean_boolToExpr___lambda__1___closed__3;
|
||||
lean_object* l_Lean_boolToExpr___closed__3;
|
||||
extern lean_object* l_Lean_Literal_type___closed__6;
|
||||
lean_object* l_Lean_charToExpr___lambda__1___closed__5;
|
||||
lean_object* l_Lean_prodToExpr___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_List_toExprAux___main___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_listToExpr___rarg___closed__5;
|
||||
|
|
@ -74,7 +71,6 @@ lean_object* l_Lean_strToExpr___closed__2;
|
|||
lean_object* l_Lean_charToExpr___lambda__1___closed__1;
|
||||
lean_object* l_Lean_charToExpr___lambda__1___boxed(lean_object*);
|
||||
lean_object* l_Lean_arrayToExpr(lean_object*);
|
||||
lean_object* l_Lean_charToExpr___lambda__1___closed__2;
|
||||
lean_object* l_Lean_Name_toExprAux___main___closed__7;
|
||||
lean_object* l_Lean_optionToExpr___rarg___lambda__1___closed__3;
|
||||
lean_object* l_Lean_prodToExpr___rarg___lambda__1___closed__1;
|
||||
|
|
@ -116,7 +112,6 @@ lean_object* l_Lean_optionToExpr___rarg___lambda__1___closed__2;
|
|||
lean_object* l_Lean_exprToExpr___closed__1;
|
||||
lean_object* l_Lean_arrayToExpr___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_arrayToExpr___rarg___lambda__1___closed__2;
|
||||
lean_object* l_Lean_charToExpr___lambda__1___closed__4;
|
||||
lean_object* l_Lean_arrayToExpr___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkNatLit(lean_object*);
|
||||
lean_object* l_Lean_mkStrLit(lean_object*);
|
||||
|
|
@ -125,8 +120,10 @@ lean_object* l_Lean_exprToExpr;
|
|||
lean_object* l_Lean_boolToExpr___lambda__1___closed__1;
|
||||
lean_object* l_Lean_arrayToExpr___rarg___closed__2;
|
||||
lean_object* l_Lean_optionToExpr___rarg___lambda__1___closed__7;
|
||||
extern lean_object* l_Lean_Expr_isCharLit___closed__2;
|
||||
lean_object* l_Lean_mkAppB(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_List_toExprAux(lean_object*);
|
||||
extern lean_object* l_Lean_Expr_isCharLit___closed__4;
|
||||
lean_object* l_Lean_strToExpr;
|
||||
extern lean_object* l_Lean_mkAppStx___closed__2;
|
||||
lean_object* l_Lean_List_toExprAux___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -342,45 +339,9 @@ return x_3;
|
|||
lean_object* _init_l_Lean_charToExpr___lambda__1___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("Char");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_charToExpr___lambda__1___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_charToExpr___lambda__1___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_charToExpr___lambda__1___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("ofNat");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_charToExpr___lambda__1___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_charToExpr___lambda__1___closed__2;
|
||||
x_2 = l_Lean_charToExpr___lambda__1___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_charToExpr___lambda__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_charToExpr___lambda__1___closed__4;
|
||||
x_2 = l_Lean_Expr_isCharLit___closed__4;
|
||||
x_3 = l_Lean_mkConst(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -391,7 +352,7 @@ _start:
|
|||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = lean_uint32_to_nat(x_1);
|
||||
x_3 = l_Lean_mkNatLit(x_2);
|
||||
x_4 = l_Lean_charToExpr___lambda__1___closed__5;
|
||||
x_4 = l_Lean_charToExpr___lambda__1___closed__1;
|
||||
x_5 = l_Lean_mkApp(x_4, x_3);
|
||||
return x_5;
|
||||
}
|
||||
|
|
@ -401,7 +362,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_charToExpr___lambda__1___closed__2;
|
||||
x_2 = l_Lean_Expr_isCharLit___closed__2;
|
||||
x_3 = l_Lean_mkConst(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -476,7 +437,7 @@ lean_object* _init_l_Lean_unitToExpr___lambda__1___closed__1() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("Unit");
|
||||
x_1 = lean_mk_string("unit");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -484,7 +445,7 @@ lean_object* _init_l_Lean_unitToExpr___lambda__1___closed__2() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_1 = l_Lean_mkThunkType___closed__2;
|
||||
x_2 = l_Lean_unitToExpr___lambda__1___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
|
|
@ -493,42 +454,6 @@ return x_3;
|
|||
lean_object* _init_l_Lean_unitToExpr___lambda__1___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("unit");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_unitToExpr___lambda__1___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_unitToExpr___lambda__1___closed__2;
|
||||
x_2 = l_Lean_unitToExpr___lambda__1___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_unitToExpr___lambda__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_unitToExpr___lambda__1___closed__4;
|
||||
x_3 = l_Lean_mkConst(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_unitToExpr___lambda__1(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_unitToExpr___lambda__1___closed__5;
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_unitToExpr___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_unitToExpr___lambda__1___closed__2;
|
||||
|
|
@ -536,7 +461,15 @@ x_3 = l_Lean_mkConst(x_2, x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_unitToExpr___closed__2() {
|
||||
lean_object* l_Lean_unitToExpr___lambda__1(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_unitToExpr___lambda__1___closed__3;
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_unitToExpr___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -544,12 +477,12 @@ x_1 = lean_alloc_closure((void*)(l_Lean_unitToExpr___lambda__1___boxed), 1, 0);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_unitToExpr___closed__3() {
|
||||
lean_object* _init_l_Lean_unitToExpr___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_unitToExpr___closed__2;
|
||||
x_2 = l_Lean_unitToExpr___closed__1;
|
||||
x_1 = l_Lean_unitToExpr___closed__1;
|
||||
x_2 = l_Lean_mkThunkType___closed__3;
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
lean_ctor_set(x_3, 1, x_2);
|
||||
|
|
@ -560,7 +493,7 @@ lean_object* _init_l_Lean_unitToExpr() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = l_Lean_unitToExpr___closed__3;
|
||||
x_1 = l_Lean_unitToExpr___closed__2;
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -1359,14 +1292,6 @@ l_Lean_boolToExpr = _init_l_Lean_boolToExpr();
|
|||
lean_mark_persistent(l_Lean_boolToExpr);
|
||||
l_Lean_charToExpr___lambda__1___closed__1 = _init_l_Lean_charToExpr___lambda__1___closed__1();
|
||||
lean_mark_persistent(l_Lean_charToExpr___lambda__1___closed__1);
|
||||
l_Lean_charToExpr___lambda__1___closed__2 = _init_l_Lean_charToExpr___lambda__1___closed__2();
|
||||
lean_mark_persistent(l_Lean_charToExpr___lambda__1___closed__2);
|
||||
l_Lean_charToExpr___lambda__1___closed__3 = _init_l_Lean_charToExpr___lambda__1___closed__3();
|
||||
lean_mark_persistent(l_Lean_charToExpr___lambda__1___closed__3);
|
||||
l_Lean_charToExpr___lambda__1___closed__4 = _init_l_Lean_charToExpr___lambda__1___closed__4();
|
||||
lean_mark_persistent(l_Lean_charToExpr___lambda__1___closed__4);
|
||||
l_Lean_charToExpr___lambda__1___closed__5 = _init_l_Lean_charToExpr___lambda__1___closed__5();
|
||||
lean_mark_persistent(l_Lean_charToExpr___lambda__1___closed__5);
|
||||
l_Lean_charToExpr___closed__1 = _init_l_Lean_charToExpr___closed__1();
|
||||
lean_mark_persistent(l_Lean_charToExpr___closed__1);
|
||||
l_Lean_charToExpr___closed__2 = _init_l_Lean_charToExpr___closed__2();
|
||||
|
|
@ -1387,16 +1312,10 @@ l_Lean_unitToExpr___lambda__1___closed__2 = _init_l_Lean_unitToExpr___lambda__1_
|
|||
lean_mark_persistent(l_Lean_unitToExpr___lambda__1___closed__2);
|
||||
l_Lean_unitToExpr___lambda__1___closed__3 = _init_l_Lean_unitToExpr___lambda__1___closed__3();
|
||||
lean_mark_persistent(l_Lean_unitToExpr___lambda__1___closed__3);
|
||||
l_Lean_unitToExpr___lambda__1___closed__4 = _init_l_Lean_unitToExpr___lambda__1___closed__4();
|
||||
lean_mark_persistent(l_Lean_unitToExpr___lambda__1___closed__4);
|
||||
l_Lean_unitToExpr___lambda__1___closed__5 = _init_l_Lean_unitToExpr___lambda__1___closed__5();
|
||||
lean_mark_persistent(l_Lean_unitToExpr___lambda__1___closed__5);
|
||||
l_Lean_unitToExpr___closed__1 = _init_l_Lean_unitToExpr___closed__1();
|
||||
lean_mark_persistent(l_Lean_unitToExpr___closed__1);
|
||||
l_Lean_unitToExpr___closed__2 = _init_l_Lean_unitToExpr___closed__2();
|
||||
lean_mark_persistent(l_Lean_unitToExpr___closed__2);
|
||||
l_Lean_unitToExpr___closed__3 = _init_l_Lean_unitToExpr___closed__3();
|
||||
lean_mark_persistent(l_Lean_unitToExpr___closed__3);
|
||||
l_Lean_unitToExpr = _init_l_Lean_unitToExpr();
|
||||
lean_mark_persistent(l_Lean_unitToExpr);
|
||||
l_Lean_Name_toExprAux___main___closed__1 = _init_l_Lean_Name_toExprAux___main___closed__1();
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ extern lean_object* l_Array_empty___closed__1;
|
|||
size_t l_Lean_Level_hash(lean_object*);
|
||||
lean_object* lean_array_push(lean_object*, lean_object*);
|
||||
lean_object* lean_array_get_size(lean_object*);
|
||||
lean_object* l_Lean_CollectLevelParams_State_collect(lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Level_hasParam(lean_object*);
|
||||
lean_object* l_Std_mkHashSetImp___rarg(lean_object*);
|
||||
uint8_t l_List_elem___main___at_Lean_CollectLevelParams_visitExpr___spec__2(lean_object*, lean_object*);
|
||||
|
|
@ -2542,6 +2543,14 @@ x_3 = l_Lean_CollectLevelParams_main___main(x_2, x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_CollectLevelParams_State_collect(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_CollectLevelParams_main___main(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* initialize_Init(lean_object*);
|
||||
lean_object* initialize_Lean_Expr(lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
|
|
|
|||
|
|
@ -546,12 +546,16 @@ goto _start;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_15; lean_object* x_16;
|
||||
lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
|
||||
x_15 = l_Lean_Expr_appArg_x21(x_1);
|
||||
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;
|
||||
x_16 = l_List_reverse___rarg(x_2);
|
||||
x_17 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_17, 0, x_15);
|
||||
lean_ctor_set(x_17, 1, x_16);
|
||||
x_18 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_18, 0, x_17);
|
||||
return x_18;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -81,7 +81,6 @@ uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_List_toExprAux___main___at_Lean_WHNF_toCtorIfLit___spec__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_WHNF_reduceQuotRec___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_WHNF_unfoldDefinitionAux(lean_object*);
|
||||
extern lean_object* l_Lean_charToExpr___lambda__1___closed__5;
|
||||
lean_object* lean_nat_sub(lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Util_WHNF_7__deltaDefinition___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_shrink___main___rarg(lean_object*, lean_object*);
|
||||
|
|
@ -112,8 +111,8 @@ lean_object* l___private_Lean_Util_WHNF_3__getRecRuleFor___lambda__1___boxed(lea
|
|||
extern lean_object* l_Lean_Literal_type___closed__2;
|
||||
lean_object* l_Lean_WHNF_isRecStuck_x3f___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Util_WHNF_5__isIdRhsApp___closed__2;
|
||||
extern lean_object* l_Lean_charToExpr___lambda__1___closed__1;
|
||||
lean_object* l_Lean_WHNF_toCtorIfLit___closed__9;
|
||||
extern lean_object* l_Lean_charToExpr___lambda__1___closed__2;
|
||||
uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_WHNF_unfoldDefinitionAux___rarg___lambda__4___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Util_WHNF_1__getFirstCtor___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -182,6 +181,7 @@ lean_object* l_Lean_WHNF_whnfCore___main___rarg___lambda__6___boxed(lean_object*
|
|||
lean_object* l_Array_iterateMAux___main___at_Lean_mkAppN___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Util_WHNF_7__deltaDefinition___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Util_WHNF_9__whnfCoreUnstuck(lean_object*);
|
||||
extern lean_object* l_Lean_Expr_isCharLit___closed__2;
|
||||
lean_object* l_Lean_WHNF_whnfMain___main___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_WHNF_whnfCore___main(lean_object*);
|
||||
lean_object* l_Lean_mkAppB(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -628,7 +628,7 @@ x_6 = lean_unbox_uint32(x_4);
|
|||
lean_dec(x_4);
|
||||
x_7 = lean_uint32_to_nat(x_6);
|
||||
x_8 = l_Lean_mkNatLit(x_7);
|
||||
x_9 = l_Lean_charToExpr___lambda__1___closed__5;
|
||||
x_9 = l_Lean_charToExpr___lambda__1___closed__1;
|
||||
x_10 = l_Lean_mkApp(x_9, x_8);
|
||||
lean_inc(x_2);
|
||||
x_11 = l_Lean_List_toExprAux___main___at_Lean_WHNF_toCtorIfLit___spec__1(x_1, x_2, x_5);
|
||||
|
|
@ -718,7 +718,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_charToExpr___lambda__1___closed__2;
|
||||
x_2 = l_Lean_Expr_isCharLit___closed__2;
|
||||
x_3 = l_Lean_mkConst(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue