chore: update stage0

This commit is contained in:
Leonardo de Moura 2020-10-21 11:32:22 -07:00
parent d25ec3417b
commit 2c94222a69
95 changed files with 100586 additions and 181926 deletions

View file

@ -266,6 +266,11 @@ partial def getHeadInfo : Syntax → Option SourceInfo
end Syntax
/- Syntax objects for a Lean module. -/
structure Module :=
(header : Syntax)
(commands : Array Syntax)
/-
Runtime support for making quotation terms auto-hygienic, by mangling identifiers
introduced by them with a "macro scope" supplied by the context. Details to appear in a

View file

@ -16,75 +16,75 @@ open Meta
/- Auxiliary function for `expandDeclNamespace?` -/
def expandDeclIdNamespace? (declId : Syntax) : Option (Name × Syntax) :=
let (id, optUnivDeclStx) := expandDeclIdCore declId
let scpView := extractMacroScopes id
match scpView.name with
| Name.str Name.anonymous s _ => none
| Name.str pre s _ =>
let nameNew := { scpView with name := mkNameSimple s }.review
if declId.isIdent then
some (pre, mkIdentFrom declId nameNew)
else
some (pre, declId.setArg 0 (mkIdentFrom declId nameNew))
| _ => none
let (id, optUnivDeclStx) := expandDeclIdCore declId
let scpView := extractMacroScopes id
match scpView.name with
| Name.str Name.anonymous s _ => none
| Name.str pre s _ =>
let nameNew := { scpView with name := mkNameSimple s }.review
if declId.isIdent then
some (pre, mkIdentFrom declId nameNew)
else
some (pre, declId.setArg 0 (mkIdentFrom declId nameNew))
| _ => none
/- given declarations such as `@[...] def Foo.Bla.f ...` return `some (Foo.Bla, @[...] def f ...)` -/
def expandDeclNamespace? (stx : Syntax) : Option (Name × Syntax) :=
if !stx.isOfKind `Lean.Parser.Command.declaration then none
else
let decl := stx[1]
let k := decl.getKind
if k == `Lean.Parser.Command.abbrev ||
k == `Lean.Parser.Command.def ||
k == `Lean.Parser.Command.theorem ||
k == `Lean.Parser.Command.constant ||
k == `Lean.Parser.Command.axiom ||
k == `Lean.Parser.Command.inductive ||
k == `Lean.Parser.Command.structure then
match expandDeclIdNamespace? decl[1] with
| some (ns, declId) => some (ns, stx.setArg 1 (decl.setArg 1 declId))
| none => none
else if k == `Lean.Parser.Command.instance then
let optDeclId := decl[1]
if optDeclId.isNone then none
else match expandDeclIdNamespace? optDeclId[0] with
| some (ns, declId) => some (ns, stx.setArg 1 (decl.setArg 1 (optDeclId.setArg 0 declId)))
| none => none
else if k == `Lean.Parser.Command.classInductive then
match expandDeclIdNamespace? decl[2] with
| some (ns, declId) => some (ns, stx.setArg 1 (decl.setArg 2 declId))
| none => none
if !stx.isOfKind `Lean.Parser.Command.declaration then none
else
none
let decl := stx[1]
let k := decl.getKind
if k == `Lean.Parser.Command.abbrev ||
k == `Lean.Parser.Command.def ||
k == `Lean.Parser.Command.theorem ||
k == `Lean.Parser.Command.constant ||
k == `Lean.Parser.Command.axiom ||
k == `Lean.Parser.Command.inductive ||
k == `Lean.Parser.Command.structure then
match expandDeclIdNamespace? decl[1] with
| some (ns, declId) => some (ns, stx.setArg 1 (decl.setArg 1 declId))
| none => none
else if k == `Lean.Parser.Command.instance then
let optDeclId := decl[1]
if optDeclId.isNone then none
else match expandDeclIdNamespace? optDeclId[0] with
| some (ns, declId) => some (ns, stx.setArg 1 (decl.setArg 1 (optDeclId.setArg 0 declId)))
| none => none
else if k == `Lean.Parser.Command.classInductive then
match expandDeclIdNamespace? decl[2] with
| some (ns, declId) => some (ns, stx.setArg 1 (decl.setArg 2 declId))
| none => none
else
none
def elabAxiom (modifiers : Modifiers) (stx : Syntax) : CommandElabM Unit := do
-- parser! "axiom " >> declId >> declSig
let declId := stx[1]
let (binders, typeStx) := expandDeclSig stx[2]
let scopeLevelNames ← getLevelNames
let ⟨name, declName, allUserLevelNames⟩ ← expandDeclId declId modifiers
runTermElabM declName fun vars => Term.withLevelNames allUserLevelNames $ Term.elabBinders binders.getArgs fun xs => do
Term.applyAttributesAt declName modifiers.attrs AttributeApplicationTime.beforeElaboration
let type ← Term.elabType typeStx
Term.synthesizeSyntheticMVarsNoPostponing
let type ← instantiateMVars type
let type ← mkForallFVars xs type
let (type, _) ← mkForallUsedOnly vars type
let (type, _) ← Term.levelMVarToParam type
let usedParams := collectLevelParams {} type $.params
match sortDeclLevelParams scopeLevelNames allUserLevelNames usedParams with
| Except.error msg => throwErrorAt stx msg
| Except.ok levelParams =>
let decl := Declaration.axiomDecl {
name := declName,
lparams := levelParams,
type := type,
isUnsafe := modifiers.isUnsafe
}
Term.ensureNoUnassignedMVars decl
addDecl decl
Term.applyAttributesAt declName modifiers.attrs AttributeApplicationTime.afterTypeChecking
Term.applyAttributesAt declName modifiers.attrs AttributeApplicationTime.afterCompilation
-- parser! "axiom " >> declId >> declSig
let declId := stx[1]
let (binders, typeStx) := expandDeclSig stx[2]
let scopeLevelNames ← getLevelNames
let ⟨name, declName, allUserLevelNames⟩ ← expandDeclId declId modifiers
runTermElabM declName fun vars => Term.withLevelNames allUserLevelNames $ Term.elabBinders binders.getArgs fun xs => do
Term.applyAttributesAt declName modifiers.attrs AttributeApplicationTime.beforeElaboration
let type ← Term.elabType typeStx
Term.synthesizeSyntheticMVarsNoPostponing
let type ← instantiateMVars type
let type ← mkForallFVars xs type
let (type, _) ← mkForallUsedOnly vars type
let (type, _) ← Term.levelMVarToParam type
let usedParams := collectLevelParams {} type $.params
match sortDeclLevelParams scopeLevelNames allUserLevelNames usedParams with
| Except.error msg => throwErrorAt stx msg
| Except.ok levelParams =>
let decl := Declaration.axiomDecl {
name := declName,
lparams := levelParams,
type := type,
isUnsafe := modifiers.isUnsafe
}
Term.ensureNoUnassignedMVars decl
addDecl decl
Term.applyAttributesAt declName modifiers.attrs AttributeApplicationTime.afterTypeChecking
Term.applyAttributesAt declName modifiers.attrs AttributeApplicationTime.afterCompilation
/-
parser! "inductive " >> declId >> optDeclSig >> many ctor
@ -93,116 +93,116 @@ parser! try ("class " >> "inductive ") >> declId >> optDeclSig >> many ctor
Remark: numTokens == 1 for regular `inductive` and 2 for `class inductive`.
-/
private def inductiveSyntaxToView (modifiers : Modifiers) (decl : Syntax) (numTokens := 1) : CommandElabM InductiveView := do
checkValidInductiveModifier modifiers
let (binders, type?) := expandOptDeclSig decl[numTokens + 1]
let declId := decl[numTokens]
let ⟨name, declName, levelNames⟩ ← expandDeclId declId modifiers
let ctors ← decl[numTokens + 2].getArgs.mapM fun ctor => withRef ctor do
-- def ctor := parser! " | " >> declModifiers >> ident >> optional inferMod >> optDeclSig
let ctorModifiers ← elabModifiers ctor[1]
if ctorModifiers.isPrivate && modifiers.isPrivate then
throwError "invalid 'private' constructor in a 'private' inductive datatype"
if ctorModifiers.isProtected && modifiers.isPrivate then
throwError "invalid 'protected' constructor in a 'private' inductive datatype"
checkValidCtorModifier ctorModifiers
let ctorName := ctor.getIdAt 2
let ctorName := declName ++ ctorName
let ctorName ← withRef ctor[2] $ applyVisibility ctorModifiers.visibility ctorName
let inferMod := !ctor[3].isNone
let (binders, type?) := expandOptDeclSig ctor[4]
pure { ref := ctor, modifiers := ctorModifiers, declName := ctorName, inferMod := inferMod, binders := binders, type? := type? : CtorView }
pure {
ref := decl,
modifiers := modifiers,
shortDeclName := name,
declName := declName,
levelNames := levelNames,
binders := binders,
type? := type?,
ctors := ctors
}
checkValidInductiveModifier modifiers
let (binders, type?) := expandOptDeclSig decl[numTokens + 1]
let declId := decl[numTokens]
let ⟨name, declName, levelNames⟩ ← expandDeclId declId modifiers
let ctors ← decl[numTokens + 2].getArgs.mapM fun ctor => withRef ctor do
-- def ctor := parser! " | " >> declModifiers >> ident >> optional inferMod >> optDeclSig
let ctorModifiers ← elabModifiers ctor[1]
if ctorModifiers.isPrivate && modifiers.isPrivate then
throwError "invalid 'private' constructor in a 'private' inductive datatype"
if ctorModifiers.isProtected && modifiers.isPrivate then
throwError "invalid 'protected' constructor in a 'private' inductive datatype"
checkValidCtorModifier ctorModifiers
let ctorName := ctor.getIdAt 2
let ctorName := declName ++ ctorName
let ctorName ← withRef ctor[2] $ applyVisibility ctorModifiers.visibility ctorName
let inferMod := !ctor[3].isNone
let (binders, type?) := expandOptDeclSig ctor[4]
pure { ref := ctor, modifiers := ctorModifiers, declName := ctorName, inferMod := inferMod, binders := binders, type? := type? : CtorView }
pure {
ref := decl,
modifiers := modifiers,
shortDeclName := name,
declName := declName,
levelNames := levelNames,
binders := binders,
type? := type?,
ctors := ctors
}
private def classInductiveSyntaxToView (modifiers : Modifiers) (decl : Syntax) : CommandElabM InductiveView :=
inductiveSyntaxToView modifiers decl 2
inductiveSyntaxToView modifiers decl 2
def elabInductive (modifiers : Modifiers) (stx : Syntax) : CommandElabM Unit := do
let v ← inductiveSyntaxToView modifiers stx
elabInductiveViews #[v]
let v ← inductiveSyntaxToView modifiers stx
elabInductiveViews #[v]
def elabClassInductive (modifiers : Modifiers) (stx : Syntax) : CommandElabM Unit := do
let modifiers := modifiers.addAttribute { name := `class }
let v ← classInductiveSyntaxToView modifiers stx
elabInductiveViews #[v]
let modifiers := modifiers.addAttribute { name := `class }
let v ← classInductiveSyntaxToView modifiers stx
elabInductiveViews #[v]
@[builtinCommandElab declaration]
def elabDeclaration : CommandElab :=
fun stx => match expandDeclNamespace? stx with
| some (ns, newStx) => do
let ns := mkIdentFrom stx ns
let newStx ← `(namespace $ns:ident $newStx end $ns:ident)
withMacroExpansion stx newStx $ elabCommand newStx
| none => do
let modifiers ← elabModifiers stx[0]
let decl := stx[1]
let declKind := decl.getKind
if declKind == `Lean.Parser.Command.«axiom» then
elabAxiom modifiers decl
else if declKind == `Lean.Parser.Command.«inductive» then
elabInductive modifiers decl
else if declKind == `Lean.Parser.Command.classInductive then
elabClassInductive modifiers decl
else if declKind == `Lean.Parser.Command.«structure» then
elabStructure modifiers decl
else if isDefLike decl then
elabMutualDef #[stx]
else
throwError "unexpected declaration"
def elabDeclaration : CommandElab := fun stx =>
match expandDeclNamespace? stx with
| some (ns, newStx) => do
let ns := mkIdentFrom stx ns
let newStx ← `(namespace $ns:ident $newStx end $ns:ident)
withMacroExpansion stx newStx $ elabCommand newStx
| none => do
let modifiers ← elabModifiers stx[0]
let decl := stx[1]
let declKind := decl.getKind
if declKind == `Lean.Parser.Command.«axiom» then
elabAxiom modifiers decl
else if declKind == `Lean.Parser.Command.«inductive» then
elabInductive modifiers decl
else if declKind == `Lean.Parser.Command.classInductive then
elabClassInductive modifiers decl
else if declKind == `Lean.Parser.Command.«structure» then
elabStructure modifiers decl
else if isDefLike decl then
elabMutualDef #[stx]
else
throwError "unexpected declaration"
/- Return true if all elements of the mutual-block are inductive declarations. -/
private def isMutualInductive (stx : Syntax) : Bool :=
stx[1].getArgs.all fun elem =>
let decl := elem[1]
let declKind := decl.getKind
declKind == `Lean.Parser.Command.inductive
stx[1].getArgs.all fun elem =>
let decl := elem[1]
let declKind := decl.getKind
declKind == `Lean.Parser.Command.inductive
private def elabMutualInductive (elems : Array Syntax) : CommandElabM Unit := do
let views ← elems.mapM fun stx => do
let modifiers ← elabModifiers stx[0]
inductiveSyntaxToView modifiers stx[1]
elabInductiveViews views
let views ← elems.mapM fun stx => do
let modifiers ← elabModifiers stx[0]
inductiveSyntaxToView modifiers stx[1]
elabInductiveViews views
/- Return true if all elements of the mutual-block are definitions/theorems/abbrevs. -/
private def isMutualDef (stx : Syntax) : Bool :=
stx[1].getArgs.all fun elem =>
let decl := elem[1]
isDefLike decl
stx[1].getArgs.all fun elem =>
let decl := elem[1]
isDefLike decl
private def isMutualPreambleCommand (stx : Syntax) : Bool :=
let k := stx.getKind
k == `Lean.Parser.Command.variable ||
k == `Lean.Parser.Command.variables ||
k == `Lean.Parser.Command.universe ||
k == `Lean.Parser.Command.universes ||
k == `Lean.Parser.Command.check ||
k == `Lean.Parser.Command.set_option ||
k == `Lean.Parser.Command.open
let k := stx.getKind
k == `Lean.Parser.Command.variable ||
k == `Lean.Parser.Command.variables ||
k == `Lean.Parser.Command.universe ||
k == `Lean.Parser.Command.universes ||
k == `Lean.Parser.Command.check ||
k == `Lean.Parser.Command.set_option ||
k == `Lean.Parser.Command.open
private partial def splitMutualPreamble (elems : Array Syntax) : Option (Array Syntax × Array Syntax) :=
let rec loop (i : Nat) : Option (Array Syntax × Array Syntax) :=
if h : i < elems.size then
let elem := elems.get ⟨i, h⟩
if isMutualPreambleCommand elem then
loop (i+1)
else if i == 0 then
none -- `mutual` block does not contain any preamble commands
let rec loop (i : Nat) : Option (Array Syntax × Array Syntax) :=
if h : i < elems.size then
let elem := elems.get ⟨i, h⟩
if isMutualPreambleCommand elem then
loop (i+1)
else if i == 0 then
none -- `mutual` block does not contain any preamble commands
else
some (elems[0:i], elems[i:elems.size])
else
some (elems[0:i], elems[i:elems.size])
else
none -- a `mutual` block containing only preamble commands is not a valid `mutual` block
loop 0
none -- a `mutual` block containing only preamble commands is not a valid `mutual` block
loop 0
@[builtinMacro Lean.Parser.Command.mutual] def expandMutualNamespace : Macro :=
fun stx => do
@[builtinMacro Lean.Parser.Command.mutual]
def expandMutualNamespace : Macro := fun stx => do
let ns? := none
let elemsNew := #[]
for elem in stx[1].getArgs do
@ -221,8 +221,8 @@ fun stx => do
`(namespace $ns:ident $stxNew end $ns:ident)
| none => Macro.throwUnsupported
@[builtinMacro Lean.Parser.Command.mutual] def expandMutualElement : Macro :=
fun stx => do
@[builtinMacro Lean.Parser.Command.mutual]
def expandMutualElement : Macro := fun stx => do
let elemsNew := #[]
let modified := false
for elem in stx[1].getArgs do
@ -234,8 +234,8 @@ fun stx => do
else
Macro.throwUnsupported
@[builtinMacro Lean.Parser.Command.mutual] def expandMutualPreamble : Macro :=
fun stx =>
@[builtinMacro Lean.Parser.Command.mutual]
def expandMutualPreamble : Macro := fun stx =>
match splitMutualPreamble stx[1].getArgs with
| none => Macro.throwUnsupported
| some (preamble, rest) => do
@ -245,8 +245,7 @@ fun stx =>
pure $ mkNullNode (#[secCmd] ++ preamble ++ #[newMutual] ++ #[endCmd])
@[builtinCommandElab «mutual»]
def elabMutual : CommandElab :=
fun stx => do
def elabMutual : CommandElab := fun stx => do
if isMutualInductive stx then
elabMutualInductive stx[1].getArgs
else if isMutualDef stx then
@ -255,8 +254,7 @@ fun stx => do
throwError "invalid mutual block"
/- parser! optional "local " >> "attribute " >> "[" >> sepBy1 Term.attrInstance ", " >> "]" >> many1 ident -/
@[builtinCommandElab «attribute»] def elabAttr : CommandElab :=
fun stx => do
@[builtinCommandElab «attribute»] def elabAttr : CommandElab := fun stx => do
let persistent := stx[0].isNone
let attrs ← elabAttrs stx[3]
let idents := stx[5].getArgs
@ -264,8 +262,7 @@ fun stx => do
let declName ← resolveGlobalConstNoOverload ident.getId
Term.applyAttributes declName attrs persistent
def expandInitCmd (builtin : Bool) : Macro :=
fun stx =>
def expandInitCmd (builtin : Bool) : Macro := fun stx =>
let optHeader := stx[1]
let doSeq := stx[2]
let attrId := mkIdentFrom stx $ if builtin then `builtinInit else `init
@ -278,9 +275,9 @@ fun stx =>
@[$attrId:ident initFn]constant $id : $type)
@[builtinMacro Lean.Parser.Command.«initialize»] def expandInitialize : Macro :=
expandInitCmd (builtin := false)
expandInitCmd (builtin := false)
@[builtinMacro Lean.Parser.Command.«builtin_initialize»] def expandBuiltinInitialize : Macro :=
expandInitCmd (builtin := true)
expandInitCmd (builtin := true)
end Lean.Elab.Command

View file

@ -12,6 +12,7 @@ structure State :=
(commandState : Command.State)
(parserState : Parser.ModuleParserState)
(cmdPos : String.Pos)
(commands : Array Syntax := #[])
structure Context :=
(inputCtx : Parser.InputContext)
@ -30,7 +31,7 @@ match sNew? with
| some sNew => setCommandState sNew
| none => pure ()
def elabCommandAtFrontend (stx : Syntax) : FrontendM Unit :=
def elabCommandAtFrontend (stx : Syntax) : FrontendM Unit := do
runCommandElabM (Command.elabCommand stx)
def updateCmdPos : FrontendM Unit := do
@ -47,6 +48,7 @@ updateCmdPos
let cmdState ← getCommandState
match Parser.parseCommand cmdState.env (← getInputContext) (← getParserState) cmdState.messages with
| (cmd, ps, messages) =>
modify fun s => { s with commands := s.commands.push cmd }
setParserState ps
setMessages messages
if Parser.isEOI cmd || Parser.isExitCommand cmd then
@ -64,15 +66,15 @@ end Frontend
open Frontend
def IO.processCommands (inputCtx : Parser.InputContext) (parserState : Parser.ModuleParserState) (commandState : Command.State) : IO Command.State := do
def IO.processCommands (inputCtx : Parser.InputContext) (parserState : Parser.ModuleParserState) (commandState : Command.State) : IO State := do
let (_, s) ← (Frontend.processCommands.run { inputCtx := inputCtx }).run { commandState := commandState, parserState := parserState, cmdPos := parserState.pos }
pure s.commandState
pure s
def process (input : String) (env : Environment) (opts : Options) (fileName : Option String := none) : IO (Environment × MessageLog) := do
let fileName := fileName.getD "<input>"
let inputCtx := Parser.mkInputContext input fileName
let commandState ← IO.processCommands inputCtx { : Parser.ModuleParserState } (Command.mkState env {} opts)
pure (commandState.env, commandState.messages)
let s ← IO.processCommands inputCtx { : Parser.ModuleParserState } (Command.mkState env {} opts)
pure (s.commandState.env, s.commandState.messages)
@[export lean_process_input]
def processExport (env : Environment) (input : String) (opts : Options) (fileName : String) : IO (Environment × List Message) := do
@ -80,12 +82,12 @@ let (env, messages) ← process input env opts fileName
pure (env, messages.toList)
@[export lean_run_frontend]
def runFrontend (input : String) (opts : Options) (fileName : String) (mainModuleName : Name) : IO (Environment × List Message) := do
def runFrontend (input : String) (opts : Options) (fileName : String) (mainModuleName : Name) : IO (Environment × List Message × Module) := do
let inputCtx := Parser.mkInputContext input fileName
let (header, parserState, messages) ← Parser.parseHeader inputCtx
let (env, messages) ← processHeader header opts messages inputCtx
let env := env.setMainModule mainModuleName
let cmdState ← IO.processCommands inputCtx parserState (Command.mkState env messages opts)
pure (cmdState.env, cmdState.messages.toList)
let s ← IO.processCommands inputCtx parserState (Command.mkState env messages opts)
pure (s.commandState.env, s.commandState.messages.toList, { header := header, commands := s.commands })
end Lean.Elab

File diff suppressed because it is too large Load diff

View file

@ -310,6 +310,8 @@ instance : ToMessageData Format := ⟨MessageData.ofFormat⟩
instance : ToMessageData MessageData := ⟨id⟩
instance {α} [ToMessageData α] : ToMessageData (List α) := ⟨fun as => MessageData.ofList $ as.map toMessageData⟩
instance {α} [ToMessageData α] : ToMessageData (Array α) := ⟨fun as => toMessageData as.toList⟩
instance {α} [ToMessageData α] : ToMessageData (Option α) := ⟨fun | none => "none" | some e => "some ({toMessageData e})"⟩
instance : ToMessageData (Option Expr) := ⟨fun | none => "<not-available>" | some e => toMessageData e⟩
syntax:max "msg!" (interpolatedStr term) : term
@ -319,9 +321,4 @@ macro_rules
let r ← Lean.Syntax.expandInterpolatedStrChunks chunks (fun a b => `($a ++ $b)) (fun a => `(toMessageData $a))
`(($r : MessageData))
-- TODO: interpreter should not compiled code when building stdlib.
-- The following instances cannot be defined before `syntax` because it would change the internal syntax node kinds and break the build.
instance {α} [ToMessageData α] : ToMessageData (Option α) := ⟨fun | none => "none" | some e => "some ({toMessageData e})"⟩
instance : ToMessageData (Option Expr) := ⟨fun | none => "<not-available>" | some e => toMessageData e⟩
end Lean

File diff suppressed because it is too large Load diff

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -8,14 +9,11 @@ import Lean.Parser.Term
namespace Lean
namespace Parser
@[builtinInit] def regBuiltinDoElemParserAttr : IO Unit :=
registerBuiltinParserAttribute `builtinDoElemParser `doElem
@[builtinInit] def regDoElemParserAttribute : IO Unit :=
registerBuiltinDynamicParserAttribute `doElemParser `doElem
builtin_initialize registerBuiltinParserAttribute `builtinDoElemParser `doElem
builtin_initialize registerBuiltinDynamicParserAttribute `doElemParser `doElem
@[inline] def doElemParser (rbp : Nat := 0) : Parser :=
categoryParser `doElem rbp
categoryParser `doElem rbp
namespace Term
def leftArrow : Parser := unicodeSymbol " ← " " <- "

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2019 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -21,131 +22,134 @@ def header := parser! optional («prelude» >> ppLine) >> many («import» >
def module := parser! header >> many (commandParser >> ppLine >> ppLine)
def updateTokens (c : ParserContext) : ParserContext :=
{ c with
tokens := match addParserTokens c.tokens header.info with
| Except.ok tables => tables
| Except.error _ => unreachable! }
{ c with
tokens := match addParserTokens c.tokens header.info with
| Except.ok tables => tables
| Except.error _ => unreachable! }
end Module
structure ModuleParserState :=
(pos : String.Pos := 0)
(recovering : Bool := false)
(pos : String.Pos := 0)
(recovering : Bool := false)
instance ModuleParserState.inhabited : Inhabited ModuleParserState :=
⟨{}⟩
instance : Inhabited ModuleParserState := ⟨{}⟩
private def mkErrorMessage (c : ParserContext) (pos : String.Pos) (errorMsg : String) : Message :=
let pos := c.fileMap.toPosition pos;
{ fileName := c.fileName, pos := pos, data := errorMsg }
let pos := c.fileMap.toPosition pos
{ fileName := c.fileName, pos := pos, data := errorMsg }
def parseHeader (inputCtx : InputContext) : IO (Syntax × ModuleParserState × MessageLog) := do
dummyEnv ← mkEmptyEnvironment;
let ctx := mkParserContext dummyEnv inputCtx;
let ctx := Module.updateTokens ctx;
let s := mkParserState ctx.input;
let s := whitespace ctx s;
let s := Module.header.fn ctx s;
let stx := s.stxStack.back;
match s.errorMsg with
| some errorMsg =>
let msg := mkErrorMessage ctx s.pos (toString errorMsg);
pure (stx, { pos := s.pos, recovering := true }, { : MessageLog }.add msg)
| none =>
pure (stx, { pos := s.pos }, {})
let dummyEnv ← mkEmptyEnvironment
let ctx := mkParserContext dummyEnv inputCtx
let ctx := Module.updateTokens ctx
let s := mkParserState ctx.input
let s := whitespace ctx s
let s := Module.header.fn ctx s
let stx := s.stxStack.back
match s.errorMsg with
| some errorMsg =>
let msg := mkErrorMessage ctx s.pos (toString errorMsg)
pure (stx, { pos := s.pos, recovering := true }, { : MessageLog }.add msg)
| none =>
pure (stx, { pos := s.pos }, {})
private def mkEOI (pos : String.Pos) : Syntax :=
let atom := mkAtom { pos := pos, trailing := "".toSubstring, leading := "".toSubstring } "";
Syntax.node `Lean.Parser.Module.eoi #[atom]
let atom := mkAtom { pos := pos, trailing := "".toSubstring, leading := "".toSubstring } ""
Syntax.node `Lean.Parser.Module.eoi #[atom]
def isEOI (s : Syntax) : Bool :=
s.isOfKind `Lean.Parser.Module.eoi
s.isOfKind `Lean.Parser.Module.eoi
def isExitCommand (s : Syntax) : Bool :=
s.isOfKind `Lean.Parser.Command.exit
s.isOfKind `Lean.Parser.Command.exit
private def consumeInput (c : ParserContext) (pos : String.Pos) : String.Pos :=
let s : ParserState := { cache := initCacheForInput c.input, pos := pos };
let s := tokenFn c s;
match s.errorMsg with
| some _ => pos + 1
| none => s.pos
let s : ParserState := { cache := initCacheForInput c.input, pos := pos }
let s := tokenFn c s
match s.errorMsg with
| some _ => pos + 1
| none => s.pos
def topLevelCommandParserFn : ParserFn :=
orelseFnCore
commandParser.fn
(andthenFn (lookaheadFn termParser.fn) (errorFn "expected command, but found term; this error may be due to parsing precedence levels, consider parenthesizing the term"))
false /- do not merge errors -/
orelseFnCore
commandParser.fn
(andthenFn (lookaheadFn termParser.fn) (errorFn "expected command, but found term; this error may be due to parsing precedence levels, consider parenthesizing the term"))
false /- do not merge errors -/
partial def parseCommand (env : Environment) (inputCtx : InputContext) : ModuleParserState → MessageLog → Syntax × ModuleParserState × MessageLog
| s@{ pos := pos, recovering := recovering }, messages =>
if inputCtx.input.atEnd pos then
(mkEOI pos, s, messages)
else
let c := mkParserContext env inputCtx;
let s := { cache := initCacheForInput c.input, pos := pos : ParserState };
let s := whitespace c s;
let s := topLevelCommandParserFn c s;
let stx := s.stxStack.back;
match s.errorMsg with
| none => (stx, { pos := s.pos }, messages)
| some errorMsg =>
-- advance at least one token to prevent infinite loops
let pos := if s.pos == pos then consumeInput c s.pos else s.pos;
if recovering then
parseCommand { pos := pos, recovering := true } messages
partial def parseCommand (env : Environment) (inputCtx : InputContext) (s : ModuleParserState) (messages : MessageLog) : Syntax × ModuleParserState × MessageLog :=
let rec parse (s : ModuleParserState) (messages : MessageLog) :=
let { pos := pos, recovering := recovering } := s
if inputCtx.input.atEnd pos then
(mkEOI pos, s, messages)
else
let c := mkParserContext env inputCtx
let s := { cache := initCacheForInput c.input, pos := pos : ParserState }
let s := whitespace c s
let s := topLevelCommandParserFn c s
let stx := s.stxStack.back
match s.errorMsg with
| none => (stx, { pos := s.pos }, messages)
| some errorMsg =>
-- advance at least one token to prevent infinite loops
let pos := if s.pos == pos then consumeInput c s.pos else s.pos
if recovering then
parse { pos := pos, recovering := true } messages
else
let msg := mkErrorMessage c s.pos (toString errorMsg)
let messages := messages.add msg
-- We should replace the following line with commented one if we want to elaborate commands containing Syntax errors.
-- This is useful for implementing features such as autocompletion.
-- Right now, it is disabled since `match_syntax` fails on "partial" `Syntax` objects.
parse { pos := pos, recovering := true } messages
-- (stx, { pos := pos, recovering := true }, messages)
parse s messages
private partial def testModuleParserAux (env : Environment) (inputCtx : InputContext) (displayStx : Bool) (s : ModuleParserState) (messages : MessageLog) : IO Bool :=
let rec loop (s : ModuleParserState) (messages : MessageLog) := do
match parseCommand env inputCtx s messages with
| (stx, s, messages) =>
if isEOI stx || isExitCommand stx then
messages.forM fun msg => msg.toString >>= IO.println
pure (!messages.hasErrors)
else
let msg := mkErrorMessage c s.pos (toString errorMsg);
let messages := messages.add msg;
-- We should replace the following line with commented one if we want to elaborate commands containing Syntax errors.
-- This is useful for implementing features such as autocompletion.
-- Right now, it is disabled since `match_syntax` fails on "partial" `Syntax` objects.
parseCommand { pos := pos, recovering := true } messages
-- (stx, { pos := pos, recovering := true }, messages)
private partial def testModuleParserAux (env : Environment) (inputCtx : InputContext) (displayStx : Bool) : ModuleParserState → MessageLog → IO Bool
| s, messages =>
match parseCommand env inputCtx s messages with
| (stx, s, messages) =>
if isEOI stx || isExitCommand stx then do
messages.forM $ fun msg => msg.toString >>= IO.println;
pure (!messages.hasErrors)
else do
when displayStx (IO.println stx);
testModuleParserAux s messages
if displayStx then IO.println stx
loop s messages
loop s messages
@[export lean_test_module_parser]
def testModuleParser (env : Environment) (input : String) (fileName := "<input>") (displayStx := false) : IO Bool :=
timeit (fileName ++ " parser") $ do
let inputCtx := mkInputContext input fileName;
(stx, s, messages) ← parseHeader inputCtx;
when displayStx (IO.println stx);
testModuleParserAux env inputCtx displayStx s messages
timeit (fileName ++ " parser") do
let inputCtx := mkInputContext input fileName
let (stx, s, messages) ← parseHeader inputCtx
if displayStx then IO.println stx
testModuleParserAux env inputCtx displayStx s messages
partial def parseModuleAux (env : Environment) (inputCtx : InputContext) : ModuleParserState → MessageLog → Array Syntax → IO (Array Syntax)
| state, msgs, stxs =>
match parseCommand env inputCtx state msgs with
| (stx, state, msgs) =>
if isEOI stx then
if msgs.isEmpty then
pure stxs
else do
msgs.forM $ fun msg => msg.toString >>= IO.println;
throw (IO.userError "failed to parse file")
else
parseModuleAux state msgs (stxs.push stx)
partial def parseModuleAux (env : Environment) (inputCtx : InputContext) (s : ModuleParserState) (msgs : MessageLog) (stxs : Array Syntax) : IO (Array Syntax) :=
let rec parse (state : ModuleParserState) (msgs : MessageLog) (stxs : Array Syntax) :=
match parseCommand env inputCtx state msgs with
| (stx, state, msgs) =>
if isEOI stx then
if msgs.isEmpty then
pure stxs
else do
msgs.forM fun msg => msg.toString >>= IO.println
throw (IO.userError "failed to parse file")
else
parse state msgs (stxs.push stx)
parse s msgs stxs
def parseModule (env : Environment) (fname contents : String) : IO Syntax := do
fname ← IO.realPath fname;
let inputCtx := mkInputContext contents fname;
(header, state, messages) ← parseHeader inputCtx;
cmds ← parseModuleAux env inputCtx state messages #[];
let stx := Syntax.node `Lean.Parser.Module.module #[header, mkListNode cmds];
pure stx.updateLeading
let fname ← IO.realPath fname
let inputCtx := mkInputContext contents fname
let (header, state, messages) ← parseHeader inputCtx
let cmds ← parseModuleAux env inputCtx state messages #[]
let stx := Syntax.node `Lean.Parser.Module.module #[header, mkListNode cmds]
pure stx.updateLeading
def parseFile (env : Environment) (fname : String) : IO Syntax := do
contents ← IO.FS.readFile fname;
parseModule env fname contents
let contents ← IO.FS.readFile fname
parseModule env fname contents
end Parser
end Lean

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2019 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -9,21 +10,21 @@ import Lean.Parser.Tactic
namespace Lean
namespace Parser
@[builtinInit] def regBuiltinSyntaxParserAttr : IO Unit :=
let leadingIdentAsSymbol := true;
registerBuiltinParserAttribute `builtinSyntaxParser `stx leadingIdentAsSymbol
builtin_initialize
let leadingIdentAsSymbol := true
registerBuiltinParserAttribute `builtinSyntaxParser `stx leadingIdentAsSymbol
@[builtinInit] def regSyntaxParserAttribute : IO Unit :=
registerBuiltinDynamicParserAttribute `stxParser `stx
builtin_initialize
registerBuiltinDynamicParserAttribute `stxParser `stx
@[inline] def syntaxParser (rbp : Nat := 0) : Parser :=
categoryParser `stx rbp
categoryParser `stx rbp
-- TODO: `max` is a bad precedence name. Find a new one.
def maxSymbol := parser! nonReservedSymbol "max" true
def precedenceLit : Parser := numLit <|> maxSymbol
def «precedence» := parser! ":" >> precedenceLit
def optPrecedence := optional (try «precedence»)
def optPrecedence := optional («try» «precedence»)
namespace Syntax
@[builtinSyntaxParser] def paren := parser! "(" >> many1 syntaxParser >> ")"
@ -35,7 +36,7 @@ namespace Syntax
@[builtinSyntaxParser] def ident := parser! nonReservedSymbol "ident"
@[builtinSyntaxParser] def noWs := parser! nonReservedSymbol "noWs"
@[builtinSyntaxParser] def interpolatedStr := parser! nonReservedSymbol "interpolatedStr " >> syntaxParser maxPrec
@[builtinSyntaxParser] def try := parser! nonReservedSymbol "try " >> syntaxParser maxPrec
@[builtinSyntaxParser] def «try» := parser! nonReservedSymbol "try " >> syntaxParser maxPrec
@[builtinSyntaxParser] def lookahead := parser! nonReservedSymbol "lookahead " >> syntaxParser maxPrec
@[builtinSyntaxParser] def sepBy := parser! nonReservedSymbol "sepBy " >> syntaxParser maxPrec >> syntaxParser maxPrec
@[builtinSyntaxParser] def sepBy1 := parser! nonReservedSymbol "sepBy1 " >> syntaxParser maxPrec >> syntaxParser maxPrec
@ -78,24 +79,24 @@ def notationItem := ppSpace >> withAntiquot (mkAntiquot "notationItem" `Lean.Par
@[builtinCommandParser] def «macro_rules» := parser! "macro_rules" >> optKind >> Term.matchAlts
def parserKind := parser! ident
def parserPrio := parser! numLit
def parserKindPrio := parser! try (ident >> ", ") >> numLit
def parserKindPrio := parser! «try» (ident >> ", ") >> numLit
def optKindPrio : Parser := optional ("[" >> (parserKindPrio <|> parserKind <|> parserPrio) >> "]")
@[builtinCommandParser] def «syntax» := parser! "syntax " >> optPrecedence >> optKindPrio >> many1 syntaxParser >> " : " >> ident
@[builtinCommandParser] def syntaxAbbrev := parser! "syntax " >> ident >> " := " >> many1 syntaxParser
@[builtinCommandParser] def syntaxCat := parser! "declare_syntax_cat " >> ident
def macroArgSimple := parser! ident >> checkNoWsBefore "no space before ':'" >> ":" >> syntaxParser maxPrec
def macroArg := try strLit <|> try macroArgSimple
def macroHead := macroArg <|> try ident
def macroTailTactic : Parser := try (" : " >> identEq "tactic") >> darrow >> ("`(" >> toggleInsideQuot Tactic.seq1 >> ")" <|> termParser)
def macroTailCommand : Parser := try (" : " >> identEq "command") >> darrow >> ("`(" >> toggleInsideQuot (many1Unbox commandParser) >> ")" <|> termParser)
def macroTailDefault : Parser := try (" : " >> ident) >> darrow >> (("`(" >> toggleInsideQuot (categoryParserOfStack 2) >> ")") <|> termParser)
def macroArg := «try» strLit <|> «try» macroArgSimple
def macroHead := macroArg <|> «try» ident
def macroTailTactic : Parser := «try» (" : " >> identEq "tactic") >> darrow >> ("`(" >> toggleInsideQuot Tactic.seq1 >> ")" <|> termParser)
def macroTailCommand : Parser := «try» (" : " >> identEq "command") >> darrow >> ("`(" >> toggleInsideQuot (many1Unbox commandParser) >> ")" <|> termParser)
def macroTailDefault : Parser := «try» (" : " >> ident) >> darrow >> (("`(" >> toggleInsideQuot (categoryParserOfStack 2) >> ")") <|> termParser)
def macroTail := macroTailTactic <|> macroTailCommand <|> macroTailDefault
@[builtinCommandParser] def «macro» := parser! "macro " >> optPrecedence >> macroHead >> many macroArg >> macroTail
@[builtinCommandParser] def «elab_rules» := parser! "elab_rules" >> optKind >> optional (" : " >> ident) >> Term.matchAlts
def elabHead := macroHead
def elabArg := macroArg
def elabTail := try (" : " >> ident >> optional (" <= " >> ident)) >> darrow >> termParser
def elabTail := «try» (" : " >> ident >> optional (" <= " >> ident)) >> darrow >> termParser
@[builtinCommandParser] def «elab» := parser! "elab " >> optPrecedence >> elabHead >> many elabArg >> elabTail
end Command

View file

@ -21,6 +21,7 @@ import Lean.PrettyPrinter.Backtrack
namespace Lean
namespace Syntax namespace MonadTraverser end MonadTraverser end Syntax -- Hack for old frontend
namespace Parser end Parser -- Hack for old frontend
namespace PrettyPrinter
namespace Formatter

View file

@ -79,6 +79,8 @@ import Lean.PrettyPrinter.Backtrack
namespace Lean
namespace Syntax namespace MonadTraverser end MonadTraverser end Syntax -- Hack for old frontend
namespace Parser end Parser -- Hack for old frontend
namespace PrettyPrinter
namespace Parenthesizer

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -18,39 +19,46 @@ structure State :=
abbrev FoldM := StateM State
@[inline] unsafe def visited (e : Expr) (size : USize) : FoldM Bool := do
s ← get;
let h := ptrAddrUnsafe e;
let i := h % size;
let k := s.visitedTerms.uget i lcProof;
if ptrAddrUnsafe k == h then pure true
else do
modify $ fun s => { s with visitedTerms := s.visitedTerms.uset i e lcProof };
pure false
@[inline]
unsafe def visited (e : Expr) (size : USize) : FoldM Bool := do
let s ← get
let h := ptrAddrUnsafe e
let i := h % size
let k := s.visitedTerms.uget i lcProof
if ptrAddrUnsafe k == h then pure true
else do
modify $ fun s => { s with visitedTerms := s.visitedTerms.uset i e lcProof }
pure false
@[specialize] unsafe partial def fold {α : Type} (f : Name → αα) (size : USize) : Expr → α → FoldM α
| e, acc => condM (liftM $ visited e size) (pure acc) $
match e with
| Expr.forallE _ d b _ => do acc ← fold d acc; fold b acc
| Expr.lam _ d b _ => do acc ← fold d acc; fold b acc
| Expr.mdata _ b _ => fold b acc
| Expr.letE _ t v b _ => do acc ← fold t acc; acc ← fold v acc; fold b acc
| Expr.app f a _ => do acc ← fold f acc; fold a acc
| Expr.proj _ _ b _ => fold b acc
| Expr.const c _ _ => do
s ← get;
if s.visitedConsts.contains c then pure acc
else do
modify $ fun s => { s with visitedConsts := s.visitedConsts.insert c };
pure $ f c acc
| _ => pure acc
@[specialize]
unsafe def fold {α : Type} (f : Name → αα) (size : USize) (e : Expr) (acc : α) : FoldM α :=
let rec visit (e : Expr) (acc : α) : FoldM α := do
if (← visited e size) then
pure acc
else
match e with
| Expr.forallE _ d b _ => visit b (← visit d acc)
| Expr.lam _ d b _ => visit b (← visit d acc)
| Expr.mdata _ b _ => visit b acc
| Expr.letE _ t v b _ => visit b (← visit v (← visit t acc))
| Expr.app f a _ => visit a (← visit f acc)
| Expr.proj _ _ b _ => visit b acc
| Expr.const c _ _ =>
let s ← get
if s.visitedConsts.contains c then
pure acc
else do
modify fun s => { s with visitedConsts := s.visitedConsts.insert c };
pure $ f c acc
| _ => pure acc
visit e acc
unsafe def initCache : State :=
{ visitedTerms := mkArray cacheSize.toNat (cast lcProof ()),
visitedConsts := {} }
{ visitedTerms := mkArray cacheSize.toNat (cast lcProof ()),
visitedConsts := {} }
@[inline] unsafe def foldUnsafe {α : Type} (e : Expr) (init : α) (f : Name → αα) : α :=
(fold f cacheSize e init).run' initCache
(fold f cacheSize e init).run' initCache
end FoldConstsImpl
@ -59,17 +67,17 @@ end FoldConstsImpl
constant foldConsts {α : Type} (e : Expr) (init : α) (f : Name → αα) : α := init
def getUsedConstants (e : Expr) : Array Name :=
e.foldConsts #[] fun c cs => cs.push c
e.foldConsts #[] fun c cs => cs.push c
end Expr
def getMaxHeight (env : Environment) (e : Expr) : UInt32 :=
e.foldConsts 0 $ fun constName max =>
match env.find? constName with
| ConstantInfo.defnInfo val =>
match val.hints with
| ReducibilityHints.regular h => if h > max then h else max
| _ => max
| _ => max
e.foldConsts 0 $ fun constName max =>
match env.find? constName with
| ConstantInfo.defnInfo val =>
match val.hints with
| ReducibilityHints.regular h => if h > max then h else max
| _ => max
| _ => max
end Lean

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -15,25 +16,25 @@ addresses. Note that the following code is parametric in a monad `m`.
variables {ω : Type} {m : Type → Type} [STWorld ω m] [MonadLiftT (ST ω) m] [Monad m]
namespace ForEachExpr
@[specialize] partial def visit (f : Expr → m Bool) : Expr → MonadCacheT Expr Unit m Unit
| e => checkCache e fun e =>
condM (not <$> liftM (f e)) (pure ()) do
@[specialize] partial def visit (g : Expr → m Bool) (e : Expr) : MonadCacheT Expr Unit m Unit :=
checkCache e fun e => do
if (← g e) then
match e with
| Expr.forallE _ d b _ => do visit d; visit b
| Expr.lam _ d b _ => do visit d; visit b
| Expr.letE _ t v b _ => do visit t; visit v; visit b
| Expr.app f a _ => do visit f; visit a
| Expr.mdata _ b _ => visit b
| Expr.proj _ _ b _ => visit b
| Expr.forallE _ d b _ => do visit g d; visit g b
| Expr.lam _ d b _ => do visit g d; visit g b
| Expr.letE _ t v b _ => do visit g t; visit g v; visit g b
| Expr.app f a _ => do visit g f; visit g a
| Expr.mdata _ b _ => visit g b
| Expr.proj _ _ b _ => visit g b
| _ => pure ()
end ForEachExpr
/-- Apply `f` to each sub-expression of `e`. If `f t` return true, then t's children are not visited. -/
@[inline] def Expr.forEach' (e : Expr) (f : Expr → m Bool) : m Unit :=
(ForEachExpr.visit f e).run
(ForEachExpr.visit f e).run
@[inline] def Expr.forEach (e : Expr) (f : Expr → m Unit) : m Unit :=
e.forEach' fun e => do f e; pure true
e.forEach' fun e => do f e; pure true
end Lean

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -9,52 +10,50 @@ import Lean.Data.OpenDecl
namespace Lean
@[builtinInit] private def registerOptions : IO Unit := do
registerOption `syntaxMaxDepth { defValue := (2 : Nat), group := "", descr := "maximum depth when displaying syntax objects in messages" };
registerOption `pp.raw { defValue := false, group := "pp", descr := "(pretty printer) print raw expression/syntax tree" }
builtin_initialize
registerOption `syntaxMaxDepth { defValue := (2 : Nat), group := "", descr := "maximum depth when displaying syntax objects in messages" };
registerOption `pp.raw { defValue := false, group := "pp", descr := "(pretty printer) print raw expression/syntax tree" }
def getSyntaxMaxDepth (opts : Options) : Nat :=
opts.getNat `syntaxMaxDepth 2
opts.getNat `syntaxMaxDepth 2
def getPPRaw (opts : Options) : Bool :=
opts.getBool `pp.raw false
opts.getBool `pp.raw false
structure PPContext :=
(env : Environment)
(mctx : MetavarContext := {})
(lctx : LocalContext := {})
(opts : Options := {})
(currNamespace : Name := Name.anonymous)
(openDecls : List OpenDecl := [])
(env : Environment)
(mctx : MetavarContext := {})
(lctx : LocalContext := {})
(opts : Options := {})
(currNamespace : Name := Name.anonymous)
(openDecls : List OpenDecl := [])
structure PPFns :=
(ppExpr : PPContext → Expr → IO Format)
(ppTerm : PPContext → Syntax → IO Format)
(ppExpr : PPContext → Expr → IO Format)
(ppTerm : PPContext → Syntax → IO Format)
instance PPFns.inhabited : Inhabited PPFns := ⟨⟨arbitrary _, arbitrary _⟩⟩
def mkPPFnsRef : IO (IO.Ref PPFns) := IO.mkRef {
ppExpr := fun ctx e => pure $ format (toString e),
ppTerm := fun ctx stx => pure $ stx.formatStx (getSyntaxMaxDepth ctx.opts),
}
@[builtinInit mkPPFnsRef] def ppFnsRef : IO.Ref PPFns := arbitrary _
builtin_initialize ppFnsRef : IO.Ref PPFns ←
IO.mkRef {
ppExpr := fun ctx e => pure $ format (toString e),
ppTerm := fun ctx stx => pure $ stx.formatStx (getSyntaxMaxDepth ctx.opts),
}
def mkPPExt : IO (EnvExtension PPFns) :=
registerEnvExtension $ ppFnsRef.get
builtin_initialize ppExt : EnvExtension PPFns ←
registerEnvExtension $ ppFnsRef.get
@[builtinInit mkPPExt]
constant ppExt : EnvExtension PPFns := arbitrary _
def ppExpr (ctx : PPContext) (e : Expr) : IO Format :=
let e := (ctx.mctx.instantiateMVars e).1;
if getPPRaw ctx.opts then
pure $ format (toString e)
else
(ppExt.getState ctx.env).ppExpr ctx e
let e := (ctx.mctx.instantiateMVars e).1
if getPPRaw ctx.opts then
pure $ format (toString e)
else
(ppExt.getState ctx.env).ppExpr ctx e
def ppTerm (ctx : PPContext) (stx : Syntax) : IO Format :=
if getPPRaw ctx.opts then
pure $ stx.formatStx (getSyntaxMaxDepth ctx.opts)
else
(ppExt.getState ctx.env).ppTerm ctx stx
if getPPRaw ctx.opts then
pure $ stx.formatStx (getSyntaxMaxDepth ctx.opts)
else
(ppExt.getState ctx.env).ppTerm ctx stx
end Lean

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -8,67 +9,66 @@ import Lean.Util.PPExt
namespace Lean
def ppAuxDeclsDefault := false
@[builtinInit] def ppAuxDeclsOption : IO Unit :=
registerOption `pp.auxDecls { defValue := ppAuxDeclsDefault, group := "pp", descr := "display auxiliary declarations used to compile recursive functions" }
def getAuxDeclsOption (o : Options) : Bool:= o.get `pp.auxDecls ppAuxDeclsDefault
builtin_initialize
registerOption `pp.auxDecls { defValue := ppAuxDeclsDefault, group := "pp", descr := "display auxiliary declarations used to compile recursive functions" }
def getAuxDeclsOption (o : Options) : Bool := o.get `pp.auxDecls ppAuxDeclsDefault
def ppGoal (ppCtx : PPContext) (mvarId : MVarId) : IO Format :=
let env := ppCtx.env;
let mctx := ppCtx.mctx;
let opts := ppCtx.opts;
match mctx.findDecl? mvarId with
| none => pure "unknown goal"
| some mvarDecl => do
let indent := 2; -- Use option
let ppAuxDecls := getAuxDeclsOption opts;
let lctx := mvarDecl.lctx;
let lctx := lctx.sanitizeNames.run' { options := opts };
let ppCtx := { ppCtx with lctx := lctx };
let pp (e : Expr) : IO Format := ppExpr ppCtx e;
let instMVars (e : Expr) : Expr := (mctx.instantiateMVars e).1;
let addLine (fmt : Format) : Format := if fmt.isNil then fmt else fmt ++ Format.line;
let pushPending (ids : List Name) (type? : Option Expr) (fmt : Format) : IO Format :=
if ids.isEmpty then
pure fmt
else
let fmt := addLine fmt;
match ids, type? with
| [], _ => pure fmt
| _, none => pure fmt
| _, some type => do {
typeFmt ← pp type;
pure $ fmt ++ (Format.joinSep ids.reverse " " ++ " :" ++ Format.nest indent (Format.line ++ typeFmt)).group
};
(varNames, type?, fmt) ← lctx.foldlM
(fun (acc : List Name × Option Expr × Format) (localDecl : LocalDecl) =>
if !ppAuxDecls && localDecl.isAuxDecl then pure acc else
let (varNames, prevType?, fmt) := acc;
match localDecl with
| LocalDecl.cdecl _ _ varName type _ =>
let varName := varName.simpMacroScopes;
let type := instMVars type;
if prevType? == none || prevType? == some type then
pure (varName :: varNames, some type, fmt)
else do
fmt ← pushPending varNames prevType? fmt;
pure ([varName], some type, fmt)
| LocalDecl.ldecl _ _ varName type val _ => do
let varName := varName.simpMacroScopes;
fmt ← pushPending varNames prevType? fmt;
let fmt := addLine fmt;
let type := instMVars type;
let val := instMVars val;
typeFmt ← pp type;
valFmt ← pp val;
let fmt := fmt ++ (format varName ++ " : " ++ typeFmt ++ " :=" ++ Format.nest indent (Format.line ++ valFmt)).group;
pure ([], none, fmt))
([], none, Format.nil);
fmt ← pushPending varNames type? fmt;
let fmt := addLine fmt;
typeFmt ← pp mvarDecl.type;
let fmt := fmt ++ "⊢" ++ " " ++ Format.nest indent typeFmt;
match mvarDecl.userName with
| Name.anonymous => pure fmt
| name => pure $ "case " ++ format name.eraseMacroScopes ++ Format.line ++ fmt
let env := ppCtx.env
let mctx := ppCtx.mctx
let opts := ppCtx.opts
match mctx.findDecl? mvarId with
| none => pure "unknown goal"
| some mvarDecl => do
let indent := 2 -- Use option
let ppAuxDecls := getAuxDeclsOption opts
let lctx := mvarDecl.lctx
let lctx := lctx.sanitizeNames.run' { options := opts }
let ppCtx := { ppCtx with lctx := lctx }
let pp (e : Expr) : IO Format := ppExpr ppCtx e
let instMVars (e : Expr) : Expr := (mctx.instantiateMVars e).1
let addLine (fmt : Format) : Format := if fmt.isNil then fmt else fmt ++ Format.line
let pushPending (ids : List Name) (type? : Option Expr) (fmt : Format) : IO Format :=
if ids.isEmpty then
pure fmt
else
let fmt := addLine fmt
match ids, type? with
| [], _ => pure fmt
| _, none => pure fmt
| _, some type => do
let typeFmt ← pp type
pure $ fmt ++ (Format.joinSep ids.reverse " " ++ " :" ++ Format.nest indent (Format.line ++ typeFmt)).group
let (varNames, type?, fmt) ← lctx.foldlM
(fun (acc : List Name × Option Expr × Format) (localDecl : LocalDecl) =>
if !ppAuxDecls && localDecl.isAuxDecl then pure acc else
let (varNames, prevType?, fmt) := acc
match localDecl with
| LocalDecl.cdecl _ _ varName type _ =>
let varName := varName.simpMacroScopes
let type := instMVars type
if prevType? == none || prevType? == some type then
pure (varName :: varNames, some type, fmt)
else do
let fmt ← pushPending varNames prevType? fmt
pure ([varName], some type, fmt)
| LocalDecl.ldecl _ _ varName type val _ => do
let varName := varName.simpMacroScopes
fmt ← pushPending varNames prevType? fmt
let fmt := addLine fmt
let type := instMVars type
let val := instMVars val
let typeFmt ← pp type
let valFmt ← pp val
let fmt := fmt ++ (format varName ++ " : " ++ typeFmt ++ " :=" ++ Format.nest indent (Format.line ++ valFmt)).group
pure ([], none, fmt))
([], none, Format.nil)
let fmt ← pushPending varNames type? fmt
let fmt := addLine fmt
let typeFmt ← pp mvarDecl.type
let fmt := fmt ++ "⊢" ++ " " ++ Format.nest indent typeFmt
match mvarDecl.userName with
| Name.anonymous => pure fmt
| name => pure $ "case " ++ format name.eraseMacroScopes ++ Format.line ++ fmt
end Lean

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -13,40 +14,41 @@ namespace ReplaceImpl
abbrev cacheSize : USize := 8192
structure State :=
(keys : Array Expr) -- Remark: our "unsafe" implementation relies on the fact that `()` is not a valid Expr
(results : Array Expr)
(keys : Array Expr) -- Remark: our "unsafe" implementation relies on the fact that `()` is not a valid Expr
(results : Array Expr)
abbrev ReplaceM := StateM State
@[inline] unsafe def cache (i : USize) (key : Expr) (result : Expr) : ReplaceM Expr := do
modify $ fun s => { keys := s.keys.uset i key lcProof, results := s.results.uset i result lcProof };
pure result
modify fun s => { keys := s.keys.uset i key lcProof, results := s.results.uset i result lcProof };
pure result
@[specialize] unsafe def replaceUnsafeM (f? : Expr → Option Expr) (size : USize) : Expr → ReplaceM Expr
| e => do
c ← get;
let h := ptrAddrUnsafe e;
let i := h % size;
if ptrAddrUnsafe (c.keys.uget i lcProof) == h then
pure $ c.results.uget i lcProof
else match f? e with
| some eNew => cache i e eNew
| none => match e with
| Expr.forallE _ d b _ => do d ← replaceUnsafeM d; b ← replaceUnsafeM b; cache i e $ e.updateForallE! d b
| Expr.lam _ d b _ => do d ← replaceUnsafeM d; b ← replaceUnsafeM b; cache i e $ e.updateLambdaE! d b
| Expr.mdata _ b _ => do b ← replaceUnsafeM b; cache i e $ e.updateMData! b
| Expr.letE _ t v b _ => do t ← replaceUnsafeM t; v ← replaceUnsafeM v; b ← replaceUnsafeM b; cache i e $ e.updateLet! t v b
| Expr.app f a _ => do f ← replaceUnsafeM f; a ← replaceUnsafeM a; cache i e $ e.updateApp! f a
| Expr.proj _ _ b _ => do b ← replaceUnsafeM b; cache i e $ e.updateProj! b
| Expr.localE _ _ _ _ => unreachable!
| e => pure e
@[specialize] unsafe def replaceUnsafeM (f? : Expr → Option Expr) (size : USize) (e : Expr) : ReplaceM Expr := do
let rec visit (e : Expr) := do
let c ← get
let h := ptrAddrUnsafe e
let i := h % size
if ptrAddrUnsafe (c.keys.uget i lcProof) == h then
pure $ c.results.uget i lcProof
else match f? e with
| some eNew => cache i e eNew
| none => match e with
| Expr.forallE _ d b _ => cache i e $ e.updateForallE! (← visit d) (← visit b)
| Expr.lam _ d b _ => cache i e $ e.updateLambdaE! (← visit d) (← visit b)
| Expr.mdata _ b _ => cache i e $ e.updateMData! (← visit b)
| Expr.letE _ t v b _ => cache i e $ e.updateLet! (← visit t) (← visit v) (← visit b)
| Expr.app f a _ => cache i e $ e.updateApp! (← visit f) (← visit a)
| Expr.proj _ _ b _ => cache i e $ e.updateProj! (← visit b)
| Expr.localE _ _ _ _ => unreachable!
| e => pure e
visit e
unsafe def initCache : State :=
{ keys := mkArray cacheSize.toNat (cast lcProof ()), -- `()` is not a valid `Expr`
results := mkArray cacheSize.toNat (arbitrary _) }
{ keys := mkArray cacheSize.toNat (cast lcProof ()), -- `()` is not a valid `Expr`
results := mkArray cacheSize.toNat (arbitrary _) }
@[inline] unsafe def replaceUnsafe (f? : Expr → Option Expr) (e : Expr) : Expr :=
(replaceUnsafeM f? cacheSize e).run' initCache
(replaceUnsafeM f? cacheSize e).run' initCache
end ReplaceImpl
@ -54,18 +56,17 @@ end ReplaceImpl
We also need an invariant at `State` and proofs for the `uget` operations. -/
@[implementedBy ReplaceImpl.replaceUnsafe]
partial def replace (f? : Expr → Option Expr) : Expr → Expr
| e =>
partial def replace (f? : Expr → Option Expr) (e : Expr) : Expr :=
/- This is a reference implementation for the unsafe one above -/
match f? e with
| some eNew => eNew
| none => match e with
| Expr.forallE _ d b _ => let d := replace d; let b := replace b; e.updateForallE! d b
| Expr.lam _ d b _ => let d := replace d; let b := replace b; e.updateLambdaE! d b
| Expr.mdata _ b _ => let b := replace b; e.updateMData! b
| Expr.letE _ t v b _ => let t := replace t; let v := replace v; let b := replace b; e.updateLet! t v b
| Expr.app f a _ => let f := replace f; let a := replace a; e.updateApp! f a
| Expr.proj _ _ b _ => let b := replace b; e.updateProj! b
| Expr.forallE _ d b _ => let d := replace f? d; let b := replace f? b; e.updateForallE! d b
| Expr.lam _ d b _ => let d := replace f? d; let b := replace f? b; e.updateLambdaE! d b
| Expr.mdata _ b _ => let b := replace f? b; e.updateMData! b
| Expr.letE _ t v b _ => let t := replace f? t; let v := replace f? v; let b := replace f? b; e.updateLet! t v b
| Expr.app f a _ => let f := replace f? f; let a := replace f? a; e.updateApp! f a
| Expr.proj _ _ b _ => let b := replace f? b; e.updateProj! b
| e => e
end Expr

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -8,14 +9,13 @@ import Lean.Expr
namespace Lean
namespace Level
partial def replace (f? : Level → Option Level) : Level → Level
| u =>
partial def replace (f? : Level → Option Level) (u : Level) : Level :=
match f? u with
| some v => v
| none => match u with
| max v₁ v₂ _ => mkLevelMax (replace v₁) (replace v₂)
| imax v₁ v₂ _ => mkLevelIMax (replace v₁) (replace v₂)
| succ v _ => mkLevelSucc (replace v)
| max v₁ v₂ _ => mkLevelMax (replace f? v₁) (replace f? v₂)
| imax v₁ v₂ _ => mkLevelIMax (replace f? v₁) (replace f? v₂)
| succ v _ => mkLevelSucc (replace f? v)
| _ => u
end Level
@ -27,51 +27,52 @@ namespace ReplaceLevelImpl
abbrev cacheSize : USize := 8192
structure State :=
(keys : Array Expr) -- Remark: our "unsafe" implementation relies on the fact that `()` is not a valid Expr
(results : Array Expr)
(keys : Array Expr) -- Remark: our "unsafe" implementation relies on the fact that `()` is not a valid Expr
(results : Array Expr)
abbrev ReplaceM := StateM State
@[inline] unsafe def cache (i : USize) (key : Expr) (result : Expr) : ReplaceM Expr := do
modify $ fun s => { keys := s.keys.uset i key lcProof, results := s.results.uset i result lcProof };
pure result
modify fun s => { keys := s.keys.uset i key lcProof, results := s.results.uset i result lcProof };
pure result
@[specialize] unsafe def replaceUnsafeM (f? : Level → Option Level) (size : USize) : Expr → ReplaceM Expr
| e => do
c ← get;
let h := ptrAddrUnsafe e;
let i := h % size;
if ptrAddrUnsafe (c.keys.uget i lcProof) == h then
pure $ c.results.uget i lcProof
else match e with
| Expr.forallE _ d b _ => do d ← replaceUnsafeM d; b ← replaceUnsafeM b; cache i e $ e.updateForallE! d b
| Expr.lam _ d b _ => do d ← replaceUnsafeM d; b ← replaceUnsafeM b; cache i e $ e.updateLambdaE! d b
| Expr.mdata _ b _ => do b ← replaceUnsafeM b; cache i e $ e.updateMData! b
| Expr.letE _ t v b _ => do t ← replaceUnsafeM t; v ← replaceUnsafeM v; b ← replaceUnsafeM b; cache i e $ e.updateLet! t v b
| Expr.app f a _ => do f ← replaceUnsafeM f; a ← replaceUnsafeM a; cache i e $ e.updateApp! f a
| Expr.proj _ _ b _ => do b ← replaceUnsafeM b; cache i e $ e.updateProj! b
| Expr.sort u _ => cache i e $ e.updateSort! (u.replace f?)
| Expr.const n us _ => cache i e $ e.updateConst! (us.map (Level.replace f?))
| Expr.localE _ _ _ _ => unreachable!
| e => pure e
@[specialize] unsafe def replaceUnsafeM (f? : Level → Option Level) (size : USize) (e : Expr) : ReplaceM Expr := do
let rec visit (e : Expr) := do
let c ← get
let h := ptrAddrUnsafe e
let i := h % size
if ptrAddrUnsafe (c.keys.uget i lcProof) == h then
pure $ c.results.uget i lcProof
else match e with
| Expr.forallE _ d b _ => cache i e $ e.updateForallE! (← visit d) (← visit b)
| Expr.lam _ d b _ => cache i e $ e.updateLambdaE! (← visit d) (← visit b)
| Expr.mdata _ b _ => cache i e $ e.updateMData! (← visit b)
| Expr.letE _ t v b _ => cache i e $ e.updateLet! (← visit t) (← visit v) (← visit b)
| Expr.app f a _ => cache i e $ e.updateApp! (← visit f) (← visit a)
| Expr.proj _ _ b _ => cache i e $ e.updateProj! (← visit b)
| Expr.sort u _ => cache i e $ e.updateSort! (u.replace f?)
| Expr.const n us _ => cache i e $ e.updateConst! (us.map (Level.replace f?))
| Expr.localE _ _ _ _ => unreachable!
| e => pure e
visit e
unsafe def initCache : State :=
{ keys := mkArray cacheSize.toNat (cast lcProof ()), -- `()` is not a valid `Expr`
results := mkArray cacheSize.toNat (arbitrary _) }
{ keys := mkArray cacheSize.toNat (cast lcProof ()), -- `()` is not a valid `Expr`
results := mkArray cacheSize.toNat (arbitrary _) }
@[inline] unsafe def replaceUnsafe (f? : Level → Option Level) (e : Expr) : Expr :=
(replaceUnsafeM f? cacheSize e).run' initCache
(replaceUnsafeM f? cacheSize e).run' initCache
end ReplaceLevelImpl
@[implementedBy ReplaceLevelImpl.replaceUnsafe]
partial def replaceLevel (f? : Level → Option Level) : Expr → Expr
| e@(Expr.forallE _ d b _) => let d := replaceLevel d; let b := replaceLevel b; e.updateForallE! d b
| e@(Expr.lam _ d b _) => let d := replaceLevel d; let b := replaceLevel b; e.updateLambdaE! d b
| e@(Expr.mdata _ b _) => let b := replaceLevel b; e.updateMData! b
| e@(Expr.letE _ t v b _) => let t := replaceLevel t; let v := replaceLevel v; let b := replaceLevel b; e.updateLet! t v b
| e@(Expr.app f a _) => let f := replaceLevel f; let a := replaceLevel a; e.updateApp! f a
| e@(Expr.proj _ _ b _) => let b := replaceLevel b; e.updateProj! b
| e@(Expr.forallE _ d b _) => let d := replaceLevel f? d; let b := replaceLevel f? b; e.updateForallE! d b
| e@(Expr.lam _ d b _) => let d := replaceLevel f? d; let b := replaceLevel f? b; e.updateLambdaE! d b
| e@(Expr.mdata _ b _) => let b := replaceLevel f? b; e.updateMData! b
| e@(Expr.letE _ t v b _) => let t := replaceLevel f? t; let v := replaceLevel f? v; let b := replaceLevel f? b; e.updateLet! t v b
| e@(Expr.app f a _) => let f := replaceLevel f? f; let a := replaceLevel f? a; e.updateApp! f a
| e@(Expr.proj _ _ b _) => let b := replaceLevel f? b; e.updateProj! b
| e@(Expr.sort u _) => e.updateSort! (u.replace f?)
| e@(Expr.const n us _) => e.updateConst! (us.map (Level.replace f?))
| e => e

View file

@ -1,3 +1,4 @@
#lang lean4
/-
Copyright (c) 2018 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@ -12,162 +13,165 @@ namespace Lean
open Std (PersistentArray)
structure TraceElem :=
(ref : Syntax)
(msg : MessageData)
(ref : Syntax)
(msg : MessageData)
instance traceElem.inhabited : Inhabited TraceElem :=
⟨⟨arbitrary _, arbitrary _⟩⟩
instance : Inhabited TraceElem :=
⟨⟨arbitrary _, arbitrary _⟩⟩
structure TraceState :=
(enabled : Bool := true)
(traces : PersistentArray TraceElem := {})
(enabled : Bool := true)
(traces : PersistentArray TraceElem := {})
namespace TraceState
instance : Inhabited TraceState := ⟨{}⟩
private def toFormat (traces : PersistentArray TraceElem) (sep : Format) : IO Format :=
traces.size.foldM
(fun i r => do
curr ← (traces.get! i).msg.format;
pure $ if i > 0 then r ++ sep ++ curr else r ++ curr)
Format.nil
traces.size.foldM
(fun i r => do
let curr ← (traces.get! i).msg.format
pure $ if i > 0 then r ++ sep ++ curr else r ++ curr)
Format.nil
end TraceState
class MonadTrace (m : Type → Type) :=
(modifyTraceState : (TraceState → TraceState) → m Unit)
(getTraceState : m TraceState)
(modifyTraceState : (TraceState → TraceState) → m Unit)
(getTraceState : m TraceState)
export MonadTrace (getTraceState modifyTraceState)
instance monadTraceTrans (m n) [MonadTrace m] [MonadLift m n] : MonadTrace n :=
{ modifyTraceState := fun f => liftM (modifyTraceState f : m _),
getTraceState := liftM (getTraceState : m _) }
instance (m n) [MonadTrace m] [MonadLift m n] : MonadTrace n :=
{ modifyTraceState := fun f => liftM (modifyTraceState f : m _),
getTraceState := liftM (getTraceState : m _) }
variables {α : Type} {m : Type → Type} [Monad m] [MonadTrace m]
def printTraces {m} [Monad m] [MonadTrace m] [MonadIO m] : m Unit := do
traceState ← getTraceState;
traceState.traces.forM $ fun m => do d ← liftIO m.msg.format; liftIO $ IO.println d
let traceState ← getTraceState
traceState.traces.forM fun m => do
let d ← liftIO m.msg.format
liftIO $ IO.println d
def resetTraceState {m} [MonadTrace m] : m Unit :=
modifyTraceState (fun _ => {})
modifyTraceState (fun _ => {})
private def checkTraceOptionAux (opts : Options) : Name → Bool
| n@(Name.str p _ _) => opts.getBool n || (!opts.contains n && checkTraceOptionAux p)
| _ => false
| n@(Name.str p _ _) => opts.getBool n || (!opts.contains n && checkTraceOptionAux opts p)
| _ => false
def checkTraceOption (opts : Options) (cls : Name) : Bool :=
if opts.isEmpty then false
else checkTraceOptionAux opts (`trace ++ cls)
if opts.isEmpty then false
else checkTraceOptionAux opts (`trace ++ cls)
private def checkTraceOptionM [MonadOptions m] (cls : Name) : m Bool := do
opts ← getOptions;
pure $ checkTraceOption opts cls
let opts ← getOptions
pure $ checkTraceOption opts cls
@[inline] def isTracingEnabledFor [MonadOptions m] (cls : Name) : m Bool := do
s ← getTraceState;
if !s.enabled then pure false
else checkTraceOptionM cls
let s ← getTraceState
if !s.enabled then pure false
else checkTraceOptionM cls
@[inline] def enableTracing (b : Bool) : m Bool := do
s ← getTraceState;
let oldEnabled := s.enabled;
modifyTraceState $ fun s => { s with enabled := b };
pure oldEnabled
let s ← getTraceState
let oldEnabled := s.enabled
modifyTraceState fun s => { s with enabled := b }
pure oldEnabled
@[inline] def getTraces : m (PersistentArray TraceElem) := do
s ← getTraceState; pure s.traces
let s ← getTraceState
pure s.traces
@[inline] def modifyTraces (f : PersistentArray TraceElem → PersistentArray TraceElem) : m Unit :=
modifyTraceState $ fun s => { s with traces := f s.traces }
modifyTraceState fun s => { s with traces := f s.traces }
@[inline] def setTraceState (s : TraceState) : m Unit :=
modifyTraceState $ fun _ => s
modifyTraceState fun _ => s
private def addNode (oldTraces : PersistentArray TraceElem) (cls : Name) (ref : Syntax) : m Unit :=
modifyTraces fun traces =>
if traces.isEmpty then
oldTraces
else
let d := MessageData.tagged cls (MessageData.node (traces.toArray.map fun elem => elem.msg));
oldTraces.push { ref := ref, msg := d }
modifyTraces fun traces =>
if traces.isEmpty then
oldTraces
else
let d := MessageData.tagged cls (MessageData.node (traces.toArray.map fun elem => elem.msg))
oldTraces.push { ref := ref, msg := d }
private def getResetTraces : m (PersistentArray TraceElem) := do
oldTraces ← getTraces;
modifyTraces $ fun _ => {};
pure oldTraces
let oldTraces ← getTraces
modifyTraces fun _ => {}
pure oldTraces
section
variables [Ref m] [AddMessageContext m] [MonadOptions m]
def addTrace (cls : Name) (msg : MessageData) : m Unit := do
ref ← getRef;
msg ← addMessageContext msg;
modifyTraces $ fun traces => traces.push { ref := ref, msg := MessageData.tagged cls msg }
let ref ← getRef
let msg ← addMessageContext msg
modifyTraces fun traces => traces.push { ref := ref, msg := MessageData.tagged cls msg }
@[inline] def trace (cls : Name) (msg : Unit → MessageData) : m Unit :=
whenM (isTracingEnabledFor cls) (addTrace cls (msg ()))
@[inline] def trace (cls : Name) (msg : Unit → MessageData) : m Unit := do
if (← isTracingEnabledFor cls) then
addTrace cls (msg ())
@[inline] def traceM (cls : Name) (mkMsg : m MessageData) : m Unit :=
whenM (isTracingEnabledFor cls) (do msg ← mkMsg; addTrace cls msg)
@[inline] def traceM (cls : Name) (mkMsg : m MessageData) : m Unit := do
if (← isTracingEnabledFor cls) then
let msg ← mkMsg
addTrace cls msg
@[inline] def traceCtx [MonadFinally m] (cls : Name) (ctx : m α) : m α := do
b ← isTracingEnabledFor cls;
if !b then do old ← enableTracing false; finally ctx (enableTracing old)
else do
ref ← getRef;
oldCurrTraces ← getResetTraces;
finally ctx (addNode oldCurrTraces cls ref)
let b ← isTracingEnabledFor cls
if !b then
let old ← enableTracing false
try ctx finally enableTracing old
else
let ref ← getRef
let oldCurrTraces ← getResetTraces
try ctx finally addNode oldCurrTraces cls ref
-- TODO: delete after fix old frontend
def MonadTracer.trace (cls : Name) (msg : Unit → MessageData) : m Unit :=
trace cls msg
Lean.trace cls msg
end
def registerTraceClass (traceClassName : Name) : IO Unit :=
registerOption (`trace ++ traceClassName) { group := "trace", defValue := false, descr := "enable/disable tracing for the given module and submodules" }
registerOption (`trace ++ traceClassName) { group := "trace", defValue := false, descr := "enable/disable tracing for the given module and submodules" }
end Lean
new_frontend
namespace Lean
macro:max "trace!" id:term:max msg:term : term => `(trace $id fun _ => ($msg : MessageData))
macro:max "trace!" id:term:max msg:term : term =>
`(trace $id fun _ => ($msg : MessageData))
syntax "trace[" ident "]!" ((interpolatedStr term) <|> term) : term
macro_rules
| `(trace[$id]! $s) =>
if s.getKind == interpolatedStrKind then
`(Lean.trace $(quote id.getId) fun _ => msg! $s)
else
`(Lean.trace $(quote id.getId) fun _ => ($s : MessageData))
| `(trace[$id]! $s) =>
if s.getKind == interpolatedStrKind then
`(Lean.trace $(quote id.getId) fun _ => msg! $s)
else
`(Lean.trace $(quote id.getId) fun _ => ($s : MessageData))
variables {α : Type} {m : Type → Type} [Monad m] [MonadTrace m] [MonadOptions m] [Ref m]
def withNestedTraces [MonadFinally m] (x : m α) : m α := do
let s ← getTraceState
if !s.enabled then
x
else
let currTraces ← getTraces
modifyTraces fun _ => {}
let ref ← getRef
try
let s ← getTraceState
if !s.enabled then
x
finally
modifyTraces fun traces =>
if traces.size == 0 then
currTraces
else if traces.size == 1 && traces[0].msg.isNest then
currTraces ++ traces -- No nest of nest
else
let d := traces.foldl (init := MessageData.nil) fun d elem =>
if d.isNil then elem.msg else msg!"{d}\n{elem.msg}"
currTraces.push { ref := ref, msg := MessageData.nestD d }
else
let currTraces ← getTraces
modifyTraces fun _ => {}
let ref ← getRef
try
x
finally
modifyTraces fun traces =>
if traces.size == 0 then
currTraces
else if traces.size == 1 && traces[0].msg.isNest then
currTraces ++ traces -- No nest of nest
else
let d := traces.foldl (init := MessageData.nil) fun d elem =>
if d.isNil then elem.msg else msg!"{d}\n{elem.msg}"
currTraces.push { ref := ref, msg := MessageData.nestD d }
end Lean

View file

@ -345,9 +345,10 @@ bool test_module_parser(environment const & env, std::string const & input, std:
}
typedef list_ref<object_ref> messages;
typedef object_ref module_stx;
extern "C" object * lean_run_frontend(object * input, object * opts, object * filename, object * main_module_name, object * w);
pair_ref<environment, messages> run_new_frontend(std::string const & input, options const & opts, std::string const & file_name, name const & main_module_name) {
return get_io_result<pair_ref<environment, messages>>(
pair_ref<environment, pair_ref<messages, module_stx>> run_new_frontend(std::string const & input, options const & opts, std::string const & file_name, name const & main_module_name) {
return get_io_result<pair_ref<environment, pair_ref<messages, module_stx>>>(
lean_run_frontend(mk_string(input), opts.to_obj_arg(), mk_string(file_name), main_module_name.to_obj_arg(), io_mk_world()));
}
@ -637,11 +638,11 @@ int main(int argc, char ** argv) {
if (new_frontend) {
if (!main_module_name)
main_module_name = name("_stdin");
pair_ref<environment, messages> r = run_new_frontend(contents, opts, mod_fn, *main_module_name);
pair_ref<environment, pair_ref<messages, module_stx>> r = run_new_frontend(contents, opts, mod_fn, *main_module_name);
env = r.fst();
buffer<message> cpp_msgs;
// HACK: convert Lean Message into C++ message
for (auto msg : r.snd()) {
for (auto msg : r.snd().fst()) {
pos_info pos = get_message_pos(msg);
message_severity sev = get_message_severity(msg);
if (sev == message_severity::ERROR)

File diff suppressed because one or more lines are too long

View file

@ -323,7 +323,6 @@ lean_object* lean_push_scope(lean_object*, lean_object*, uint8_t, lean_object*);
lean_object* l_Lean_Environment_getModuleIdxFor_x3f(lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerParametricAttribute___spec__4___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerEnumAttributes___spec__3___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_TraceState_Inhabited___closed__1;
lean_object* l_Lean_registerParametricAttribute___rarg___lambda__3___boxed(lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerEnumAttributes___spec__6(lean_object*);
lean_object* l_Lean_attrResolveName___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -416,6 +415,7 @@ lean_object* l_Lean_registerTagAttribute___lambda__3___closed__2;
lean_object* l_Lean_attrResolveName___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkAttributeImplOfBuilder(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_registerEnumAttributes(lean_object*);
extern lean_object* l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
lean_object* l_Lean_registerTagAttribute___lambda__3___boxed(lean_object*);
lean_object* l_Lean_registerBuiltinAttribute___closed__1;
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerParametricAttribute___spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -4667,7 +4667,7 @@ lean_inc(x_11);
lean_dec(x_9);
x_12 = l_Lean_Unhygienic_run___rarg___closed__1;
x_13 = l_Lean_NameGenerator_Inhabited___closed__3;
x_14 = l_Lean_TraceState_Inhabited___closed__1;
x_14 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_15 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_15, 0, x_1);
lean_ctor_set(x_15, 1, x_12);

View file

@ -190,7 +190,6 @@ lean_object* l_Lean_expandExternPatternAux(lean_object*, lean_object*, lean_obje
lean_object* l_Lean_getExternEntryForAux___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternAttrData___closed__9;
lean_object* l_Lean_Environment_getModuleIdxFor_x3f(lean_object*, lean_object*);
extern lean_object* l_Lean_TraceState_Inhabited___closed__1;
lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternAttrData___closed__4;
lean_object* l_Lean_isExternC_match__1(lean_object*);
lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternAttrData___closed__2;
@ -228,6 +227,7 @@ lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternAttrData
lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternAttrData___closed__6;
lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternEntries___closed__5;
lean_object* l_List_foldl___main___at_Lean_mkSimpleFnCall___spec__1(lean_object*, lean_object*);
extern lean_object* l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
lean_object* l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__2___closed__1;
lean_object* l_Lean_ParametricAttribute_getParam___at_Lean_getExternAttrData___spec__1(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_NameGenerator_Inhabited___closed__3;
@ -4829,7 +4829,7 @@ _start:
lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
x_4 = l_Lean_Unhygienic_run___rarg___closed__1;
x_5 = l_Lean_NameGenerator_Inhabited___closed__3;
x_6 = l_Lean_TraceState_Inhabited___closed__1;
x_6 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_7 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_7, 0, x_1);
lean_ctor_set(x_7, 1, x_4);

View file

@ -177,6 +177,7 @@ lean_object* l_Lean_IR_EmitC_toCInitName_match__1(lean_object*);
lean_object* l_Lean_IR_EmitC_emitInitFn(lean_object*, lean_object*);
uint8_t l_Nat_anyAux___main___at_Lean_IR_EmitC_overwriteParam___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_EmitC_declareVars(lean_object*, uint8_t, lean_object*, lean_object*);
extern lean_object* l_Lean_ppGoal___closed__6;
lean_object* l_Lean_IR_EmitC_emitCtorSetArgs(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_EmitC_emitUnbox___closed__1;
uint8_t l_Lean_IR_IRType_isObj(lean_object*);
@ -621,7 +622,6 @@ uint8_t l_Lean_IR_EmitC_paramEqArg(lean_object*, lean_object*);
lean_object* l_Lean_IR_EmitC_emitCase(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_EmitC_emitSSet___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Nat_forMAux___main___at_Lean_IR_EmitC_emitArgs___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_ppGoal___closed__7;
lean_object* l_Lean_IR_EmitC_emitLns___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_EmitC_emitFileHeader___closed__10;
lean_object* l_Lean_IR_EmitC_getModName(lean_object*, lean_object*);
@ -12228,7 +12228,7 @@ lean_inc(x_10);
x_11 = lean_ctor_get(x_9, 1);
lean_inc(x_11);
lean_dec(x_9);
x_12 = l_Lean_ppGoal___closed__7;
x_12 = l_Lean_ppGoal___closed__6;
x_13 = lean_string_append(x_4, x_12);
x_14 = lean_ctor_get(x_10, 1);
lean_inc(x_14);

View file

@ -218,11 +218,11 @@ lean_object* l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatIRType___close
lean_object* l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatIRType___closed__2;
lean_object* l_Lean_IR_formatFnBodyHead___closed__19;
lean_object* l_Lean_Format_joinSep___main___at___private_Lean_Compiler_IR_Format_0__Lean_IR_formatIRType___spec__1(lean_object*, lean_object*);
extern lean_object* l_Lean_ppGoal___closed__8;
lean_object* l_Lean_IR_formatAlt_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatExpr___closed__16;
lean_object* l_Lean_IR_formatFnBodyHead___closed__36;
lean_object* lean_nat_to_int(lean_object*);
extern lean_object* l_Lean_ppGoal___closed__7;
lean_object* l_Lean_IR_formatFnBody_loop___closed__3;
lean_object* l_Lean_IR_exprHasToString(lean_object*);
lean_object* l_Lean_IR_formatFnBody(lean_object*, lean_object*);
@ -3931,7 +3931,7 @@ x_177 = lean_string_append(x_176, x_175);
lean_dec(x_175);
x_178 = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(x_178, 0, x_177);
x_179 = l_Lean_ppGoal___closed__8;
x_179 = l_Lean_ppGoal___closed__7;
x_180 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_180, 0, x_179);
lean_ctor_set(x_180, 1, x_178);
@ -5076,7 +5076,7 @@ x_274 = lean_string_append(x_273, x_272);
lean_dec(x_272);
x_275 = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(x_275, 0, x_274);
x_276 = l_Lean_ppGoal___closed__8;
x_276 = l_Lean_ppGoal___closed__7;
x_277 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_277, 0, x_276);
lean_ctor_set(x_277, 1, x_275);

View file

@ -120,7 +120,6 @@ lean_object* l_Lean_Core_CoreM_toIO(lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Core_hasEval(lean_object*);
lean_object* l_Lean_Core_Lean_AddMessageContext___closed__1;
extern lean_object* l_Lean_TraceState_Inhabited___closed__1;
lean_object* l_Lean_catchInternalId(lean_object*, lean_object*);
lean_object* l_Lean_Core_hasEval___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*);
lean_object* l_Lean_Core_Lean_MonadRecDepth___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -149,6 +148,7 @@ lean_object* l_Std_PersistentArray_forMAux___at_Lean_Core_hasEval___spec__3(lean
lean_object* l_Lean_Core_Lean_MonadRecDepth___closed__2;
lean_object* l_Lean_Core_CoreM_toIO___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Core_liftIOCore___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
lean_object* l_Lean_Core_CoreM_inhabited___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_NameGenerator_Inhabited___closed__3;
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
@ -176,7 +176,7 @@ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_obj
x_1 = l_Lean_Core_State_inhabited___closed__1;
x_2 = l_Lean_Unhygienic_run___rarg___closed__1;
x_3 = l_Lean_NameGenerator_Inhabited___closed__3;
x_4 = l_Lean_TraceState_Inhabited___closed__1;
x_4 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_5 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_5, 0, x_1);
lean_ctor_set(x_5, 1, x_2);
@ -2103,7 +2103,7 @@ lean_ctor_set(x_32, 2, x_29);
lean_ctor_set(x_32, 3, x_31);
x_33 = l_Lean_Unhygienic_run___rarg___closed__1;
x_34 = l_Lean_NameGenerator_Inhabited___closed__3;
x_35 = l_Lean_TraceState_Inhabited___closed__1;
x_35 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_36 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_36, 0, x_2);
lean_ctor_set(x_36, 1, x_33);

View file

@ -56,6 +56,7 @@ lean_object* l_Lean_Delaborator_Alternative___closed__8;
lean_object* lean_local_ctx_get_unused_name(lean_object*, lean_object*);
lean_object* l_Lean_Delaborator_DelabM_monadQuotation___closed__2;
lean_object* l___regBuiltin_Lean_Delaborator_delabFVar___closed__1;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
lean_object* l___regBuiltin_Lean_Delaborator_delabMod(lean_object*);
lean_object* l___regBuiltin_Lean_Delaborator_delabseqRight___closed__4;
@ -198,7 +199,6 @@ lean_object* l_Lean_Delaborator_delabCoeFun(lean_object*, lean_object*, lean_obj
lean_object* l_Lean_Delaborator_descend___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_tailD___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Delaborator_delabFComp___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__11;
lean_object* l_Lean_Delaborator_delabBAnd___lambda__1___closed__1;
lean_object* l_Lean_Delaborator_delabMod___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Delaborator_delabAnd___lambda__1___closed__4;
@ -293,6 +293,7 @@ lean_object* l_Lean_Level_quote___main___lambda__3___boxed(lean_object*, lean_ob
lean_object* l_Lean_Delaborator_delabOrElse___lambda__1___closed__3;
lean_object* l___regBuiltin_Lean_Delaborator_delabOr(lean_object*);
lean_object* l___regBuiltin_Lean_Delaborator_delabBEq___closed__2;
extern lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8;
lean_object* l_Lean_Delaborator_delabSub___lambda__1___closed__2;
lean_object* l_Lean_Delaborator_delabEq___closed__1;
lean_object* l_Lean_Level_HasQuote;
@ -397,7 +398,6 @@ lean_object* l_Lean_Delaborator_delabBOr___lambda__1___boxed(lean_object*, lean_
lean_object* l_Lean_Delaborator_orelse(lean_object*);
lean_object* l_Lean_Delaborator_delabBNe___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Level_LevelToFormat_Result_format___closed__3;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
extern lean_object* l_Lean_numLitKind;
lean_object* l_Lean_Delaborator_delabCons___lambda__1___closed__3;
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__22;
@ -452,6 +452,7 @@ lean_object* l___regBuiltin_Lean_Delaborator_delabseq___closed__4;
lean_object* l_Lean_Delaborator_delabMul___lambda__1___closed__1;
lean_object* l_Lean_Delaborator_delabProj___closed__1;
lean_object* l_Lean_Delaborator_delabNe___closed__1;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
lean_object* l_Lean_Delaborator_delabStructureInstance___closed__2;
lean_object* l___regBuiltin_Lean_Delaborator_delabAnd___closed__1;
lean_object* l_Lean_Delaborator_delabNot___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -630,6 +631,7 @@ lean_object* l_Lean_Delaborator_delabBNe___closed__1;
lean_object* l_Lean_Delaborator_delabProd___lambda__1___closed__2;
lean_object* l_Lean_Delaborator_delabOrM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Delaborator_delabGE___lambda__1___closed__1;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
lean_object* l___regBuiltin_Lean_Delaborator_delabCoeFun___closed__3;
lean_object* l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Delaborator_delabFComp___closed__1;
@ -726,7 +728,6 @@ lean_object* l___regBuiltin_Lean_Delaborator_delabProjectionApp(lean_object*);
lean_object* l_Lean_Delaborator_delabGT___lambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Delaborator_delabAppExplicit___closed__1;
lean_object* l_Lean_delab(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__8;
lean_object* l_Lean_getPPStructureInstanceType___boxed(lean_object*);
lean_object* l_Lean_Delaborator_delabFor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_getPPStructureInstanceType___closed__1;
@ -753,6 +754,7 @@ lean_object* l___regBuiltin_Lean_Delaborator_delabNe(lean_object*);
lean_object* l_Lean_Level_quote___main___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Delaborator_delabAppExplicit___lambda__1___closed__2;
lean_object* l_Lean_Delaborator_delabNe___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__11;
lean_object* l_Lean_Delaborator_delabConst___closed__6;
lean_object* l_Lean_Level_quote___main___lambda__9___closed__1;
lean_object* l_Lean_Delaborator_descend(lean_object*);
@ -888,7 +890,6 @@ lean_object* l_Lean_getPPNotation___closed__2;
lean_object* l___regBuiltin_Lean_Delaborator_delabLit___closed__1;
lean_object* l___regBuiltin_Lean_Delaborator_delabLT(lean_object*);
uint8_t l_Lean_Expr_hasLooseBVars(lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
lean_object* l_Lean_getPPExplicit___closed__1;
lean_object* l_Lean_Delaborator_delabLetE___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Delaborator_delabLT___lambda__1___closed__1;
@ -1073,7 +1074,6 @@ lean_object* l___private_Lean_Delaborator_3__unresolveOpenDecls___main(lean_obje
lean_object* l_Lean_Delaborator_delabOrElse___lambda__1___closed__4;
lean_object* l_Lean_getPPPrivateNames___boxed(lean_object*);
lean_object* l_Array_anyRangeMAux___main___at_Lean_Delaborator_delabForall___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
lean_object* l___regBuiltin_Lean_Delaborator_delabModN(lean_object*);
extern lean_object* l_Lean_sanitizeNamesOption___closed__2;
lean_object* l_Lean_Level_quote___main___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*);
@ -1370,7 +1370,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Elab_Level_elabLevel___closed__6;
x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__11;
x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__11;
x_3 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_3, 0, x_1);
lean_ctor_set(x_3, 1, x_2);
@ -2224,7 +2224,7 @@ static lean_object* _init_l_Lean_ppOptions___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
x_1 = l___private_Lean_Util_PPExt_1__registerOptions___closed__8;
x_1 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8;
x_2 = l_Lean_sanitizeNamesOption___closed__1;
x_3 = l_Lean_ppOptions___closed__1;
x_4 = lean_alloc_ctor(0, 3, 0);
@ -2246,7 +2246,7 @@ static lean_object* _init_l_Lean_ppOptions___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
x_1 = l___private_Lean_Util_PPExt_1__registerOptions___closed__8;
x_1 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8;
x_2 = l_Lean_sanitizeNamesOption___closed__1;
x_3 = l_Lean_ppOptions___closed__3;
x_4 = lean_alloc_ctor(0, 3, 0);
@ -13728,7 +13728,7 @@ lean_object* x_29; uint8_t x_30; lean_object* x_63; uint8_t x_64;
lean_dec(x_14);
x_29 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_1);
lean_dec(x_1);
x_63 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_63 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_64 = l_Lean_Syntax_isOfKind(x_2, x_63);
if (x_64 == 0)
@ -13761,12 +13761,12 @@ x_33 = l_Lean_nullKind___closed__2;
x_34 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_34, 0, x_33);
lean_ctor_set(x_34, 1, x_32);
x_35 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_35 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_36 = lean_array_push(x_35, x_34);
x_37 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_37 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_38 = lean_array_push(x_36, x_37);
x_39 = lean_array_push(x_38, x_2);
x_40 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_40 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_41 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_41, 0, x_40);
lean_ctor_set(x_41, 1, x_39);
@ -13798,12 +13798,12 @@ x_52 = l_Lean_nullKind___closed__2;
x_53 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_53, 0, x_52);
lean_ctor_set(x_53, 1, x_51);
x_54 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_54 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_55 = lean_array_push(x_54, x_53);
x_56 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_56 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_57 = lean_array_push(x_55, x_56);
x_58 = lean_array_push(x_57, x_46);
x_59 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_59 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_60 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_60, 0, x_59);
lean_ctor_set(x_60, 1, x_58);
@ -13857,7 +13857,7 @@ x_91 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
x_92 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_92, 0, x_91);
lean_ctor_set(x_92, 1, x_90);
x_120 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_120 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_121 = l_Lean_Syntax_isOfKind(x_2, x_120);
if (x_121 == 0)
@ -13888,12 +13888,12 @@ x_94 = lean_array_push(x_76, x_92);
x_95 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_95, 0, x_83);
lean_ctor_set(x_95, 1, x_94);
x_96 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_96 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_97 = lean_array_push(x_96, x_95);
x_98 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_98 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_99 = lean_array_push(x_97, x_98);
x_100 = lean_array_push(x_99, x_2);
x_101 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_101 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_102 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_102, 0, x_101);
lean_ctor_set(x_102, 1, x_100);
@ -13921,12 +13921,12 @@ lean_dec(x_107);
x_110 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_110, 0, x_83);
lean_ctor_set(x_110, 1, x_109);
x_111 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_111 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_112 = lean_array_push(x_111, x_110);
x_113 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_113 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_114 = lean_array_push(x_112, x_113);
x_115 = lean_array_push(x_114, x_106);
x_116 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_116 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_117 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_117, 0, x_116);
lean_ctor_set(x_117, 1, x_115);
@ -13984,7 +13984,7 @@ x_152 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
x_153 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_153, 0, x_152);
lean_ctor_set(x_153, 1, x_151);
x_181 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_181 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_182 = l_Lean_Syntax_isOfKind(x_2, x_181);
if (x_182 == 0)
@ -14015,12 +14015,12 @@ x_155 = lean_array_push(x_130, x_153);
x_156 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_156, 0, x_134);
lean_ctor_set(x_156, 1, x_155);
x_157 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_157 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_158 = lean_array_push(x_157, x_156);
x_159 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_159 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_160 = lean_array_push(x_158, x_159);
x_161 = lean_array_push(x_160, x_2);
x_162 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_162 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_163 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_163, 0, x_162);
lean_ctor_set(x_163, 1, x_161);
@ -14048,12 +14048,12 @@ lean_dec(x_168);
x_171 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_171, 0, x_134);
lean_ctor_set(x_171, 1, x_170);
x_172 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_172 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_173 = lean_array_push(x_172, x_171);
x_174 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_174 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_175 = lean_array_push(x_173, x_174);
x_176 = lean_array_push(x_175, x_167);
x_177 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_177 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_178 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_178, 0, x_177);
lean_ctor_set(x_178, 1, x_176);
@ -14102,7 +14102,7 @@ x_200 = l_Lean_Delaborator_delabLam___lambda__1___closed__1;
x_201 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_201, 0, x_200);
lean_ctor_set(x_201, 1, x_199);
x_230 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_230 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_231 = l_Lean_Syntax_isOfKind(x_2, x_230);
if (x_231 == 0)
@ -14133,12 +14133,12 @@ x_203 = lean_array_push(x_190, x_201);
x_204 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_204, 0, x_192);
lean_ctor_set(x_204, 1, x_203);
x_205 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_205 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_206 = lean_array_push(x_205, x_204);
x_207 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_207 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_208 = lean_array_push(x_206, x_207);
x_209 = lean_array_push(x_208, x_2);
x_210 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_210 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_211 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_211, 0, x_210);
lean_ctor_set(x_211, 1, x_209);
@ -14167,12 +14167,12 @@ lean_dec(x_217);
x_220 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_220, 0, x_192);
lean_ctor_set(x_220, 1, x_219);
x_221 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_221 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_222 = lean_array_push(x_221, x_220);
x_223 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_223 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_224 = lean_array_push(x_222, x_223);
x_225 = lean_array_push(x_224, x_216);
x_226 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_226 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_227 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_227, 0, x_226);
lean_ctor_set(x_227, 1, x_225);
@ -14212,7 +14212,7 @@ x_250 = l_Lean_Delaborator_delabLam___lambda__1___closed__1;
x_251 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_251, 0, x_250);
lean_ctor_set(x_251, 1, x_249);
x_280 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_280 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_281 = l_Lean_Syntax_isOfKind(x_2, x_280);
if (x_281 == 0)
@ -14243,12 +14243,12 @@ x_253 = lean_array_push(x_238, x_251);
x_254 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_254, 0, x_240);
lean_ctor_set(x_254, 1, x_253);
x_255 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_255 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_256 = lean_array_push(x_255, x_254);
x_257 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_257 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_258 = lean_array_push(x_256, x_257);
x_259 = lean_array_push(x_258, x_2);
x_260 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_260 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_261 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_261, 0, x_260);
lean_ctor_set(x_261, 1, x_259);
@ -14277,12 +14277,12 @@ lean_dec(x_267);
x_270 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_270, 0, x_240);
lean_ctor_set(x_270, 1, x_269);
x_271 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_271 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_272 = lean_array_push(x_271, x_270);
x_273 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_273 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_274 = lean_array_push(x_272, x_273);
x_275 = lean_array_push(x_274, x_266);
x_276 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_276 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_277 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_277, 0, x_276);
lean_ctor_set(x_277, 1, x_275);
@ -14323,7 +14323,7 @@ if (lean_is_exclusive(x_289)) {
lean_dec_ref(x_289);
x_292 = lean_box(0);
}
x_326 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_326 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_327 = l_Lean_Syntax_isOfKind(x_2, x_326);
if (x_327 == 0)
@ -14356,12 +14356,12 @@ x_296 = l_Lean_nullKind___closed__2;
x_297 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_297, 0, x_296);
lean_ctor_set(x_297, 1, x_295);
x_298 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_298 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_299 = lean_array_push(x_298, x_297);
x_300 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_300 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_301 = lean_array_push(x_299, x_300);
x_302 = lean_array_push(x_301, x_2);
x_303 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_303 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_304 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_304, 0, x_303);
lean_ctor_set(x_304, 1, x_302);
@ -14393,12 +14393,12 @@ x_315 = l_Lean_nullKind___closed__2;
x_316 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_316, 0, x_315);
lean_ctor_set(x_316, 1, x_314);
x_317 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_317 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_318 = lean_array_push(x_317, x_316);
x_319 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_319 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_320 = lean_array_push(x_318, x_319);
x_321 = lean_array_push(x_320, x_309);
x_322 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_322 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_323 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_323, 0, x_322);
lean_ctor_set(x_323, 1, x_321);
@ -14465,7 +14465,7 @@ x_349 = l_Lean_Delaborator_delabLam___lambda__1___closed__2;
x_350 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_350, 0, x_349);
lean_ctor_set(x_350, 1, x_348);
x_380 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_380 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_381 = l_Lean_Syntax_isOfKind(x_2, x_380);
if (x_381 == 0)
@ -14496,12 +14496,12 @@ x_352 = lean_array_push(x_338, x_350);
x_353 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_353, 0, x_342);
lean_ctor_set(x_353, 1, x_352);
x_354 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_354 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_355 = lean_array_push(x_354, x_353);
x_356 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_356 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_357 = lean_array_push(x_355, x_356);
x_358 = lean_array_push(x_357, x_2);
x_359 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_359 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_360 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_360, 0, x_359);
lean_ctor_set(x_360, 1, x_358);
@ -14531,12 +14531,12 @@ lean_dec(x_366);
x_370 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_370, 0, x_342);
lean_ctor_set(x_370, 1, x_369);
x_371 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_371 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_372 = lean_array_push(x_371, x_370);
x_373 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_373 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_374 = lean_array_push(x_372, x_373);
x_375 = lean_array_push(x_374, x_365);
x_376 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_376 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_377 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_377, 0, x_376);
lean_ctor_set(x_377, 1, x_375);
@ -14576,7 +14576,7 @@ if (lean_is_exclusive(x_389)) {
lean_dec_ref(x_389);
x_392 = lean_box(0);
}
x_426 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_426 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_427 = l_Lean_Syntax_isOfKind(x_2, x_426);
if (x_427 == 0)
@ -14609,12 +14609,12 @@ x_396 = l_Lean_nullKind___closed__2;
x_397 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_397, 0, x_396);
lean_ctor_set(x_397, 1, x_395);
x_398 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_398 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_399 = lean_array_push(x_398, x_397);
x_400 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_400 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_401 = lean_array_push(x_399, x_400);
x_402 = lean_array_push(x_401, x_2);
x_403 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_403 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_404 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_404, 0, x_403);
lean_ctor_set(x_404, 1, x_402);
@ -14646,12 +14646,12 @@ x_415 = l_Lean_nullKind___closed__2;
x_416 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_416, 0, x_415);
lean_ctor_set(x_416, 1, x_414);
x_417 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_417 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_418 = lean_array_push(x_417, x_416);
x_419 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_419 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_420 = lean_array_push(x_418, x_419);
x_421 = lean_array_push(x_420, x_409);
x_422 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_422 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_423 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_423, 0, x_422);
lean_ctor_set(x_423, 1, x_421);
@ -14808,7 +14808,7 @@ lean_object* x_460; uint8_t x_461; lean_object* x_494; uint8_t x_495;
lean_dec(x_14);
x_460 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_1);
lean_dec(x_1);
x_494 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_494 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_495 = l_Lean_Syntax_isOfKind(x_2, x_494);
if (x_495 == 0)
@ -14841,12 +14841,12 @@ x_464 = l_Lean_nullKind___closed__2;
x_465 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_465, 0, x_464);
lean_ctor_set(x_465, 1, x_463);
x_466 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_466 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_467 = lean_array_push(x_466, x_465);
x_468 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_468 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_469 = lean_array_push(x_467, x_468);
x_470 = lean_array_push(x_469, x_2);
x_471 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_471 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_472 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_472, 0, x_471);
lean_ctor_set(x_472, 1, x_470);
@ -14878,12 +14878,12 @@ x_483 = l_Lean_nullKind___closed__2;
x_484 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_484, 0, x_483);
lean_ctor_set(x_484, 1, x_482);
x_485 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_485 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_486 = lean_array_push(x_485, x_484);
x_487 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_487 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_488 = lean_array_push(x_486, x_487);
x_489 = lean_array_push(x_488, x_477);
x_490 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_490 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_491 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_491, 0, x_490);
lean_ctor_set(x_491, 1, x_489);
@ -14937,7 +14937,7 @@ x_522 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
x_523 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_523, 0, x_522);
lean_ctor_set(x_523, 1, x_521);
x_551 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_551 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_552 = l_Lean_Syntax_isOfKind(x_2, x_551);
if (x_552 == 0)
@ -14968,12 +14968,12 @@ x_525 = lean_array_push(x_507, x_523);
x_526 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_526, 0, x_514);
lean_ctor_set(x_526, 1, x_525);
x_527 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_527 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_528 = lean_array_push(x_527, x_526);
x_529 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_529 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_530 = lean_array_push(x_528, x_529);
x_531 = lean_array_push(x_530, x_2);
x_532 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_532 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_533 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_533, 0, x_532);
lean_ctor_set(x_533, 1, x_531);
@ -15001,12 +15001,12 @@ lean_dec(x_538);
x_541 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_541, 0, x_514);
lean_ctor_set(x_541, 1, x_540);
x_542 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_542 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_543 = lean_array_push(x_542, x_541);
x_544 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_544 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_545 = lean_array_push(x_543, x_544);
x_546 = lean_array_push(x_545, x_537);
x_547 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_547 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_548 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_548, 0, x_547);
lean_ctor_set(x_548, 1, x_546);
@ -15064,7 +15064,7 @@ x_583 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
x_584 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_584, 0, x_583);
lean_ctor_set(x_584, 1, x_582);
x_612 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_612 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_613 = l_Lean_Syntax_isOfKind(x_2, x_612);
if (x_613 == 0)
@ -15095,12 +15095,12 @@ x_586 = lean_array_push(x_561, x_584);
x_587 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_587, 0, x_565);
lean_ctor_set(x_587, 1, x_586);
x_588 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_588 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_589 = lean_array_push(x_588, x_587);
x_590 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_590 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_591 = lean_array_push(x_589, x_590);
x_592 = lean_array_push(x_591, x_2);
x_593 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_593 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_594 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_594, 0, x_593);
lean_ctor_set(x_594, 1, x_592);
@ -15128,12 +15128,12 @@ lean_dec(x_599);
x_602 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_602, 0, x_565);
lean_ctor_set(x_602, 1, x_601);
x_603 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_603 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_604 = lean_array_push(x_603, x_602);
x_605 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_605 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_606 = lean_array_push(x_604, x_605);
x_607 = lean_array_push(x_606, x_598);
x_608 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_608 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_609 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_609, 0, x_608);
lean_ctor_set(x_609, 1, x_607);
@ -15182,7 +15182,7 @@ x_631 = l_Lean_Delaborator_delabLam___lambda__1___closed__1;
x_632 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_632, 0, x_631);
lean_ctor_set(x_632, 1, x_630);
x_661 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_661 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_662 = l_Lean_Syntax_isOfKind(x_2, x_661);
if (x_662 == 0)
@ -15213,12 +15213,12 @@ x_634 = lean_array_push(x_621, x_632);
x_635 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_635, 0, x_623);
lean_ctor_set(x_635, 1, x_634);
x_636 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_636 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_637 = lean_array_push(x_636, x_635);
x_638 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_638 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_639 = lean_array_push(x_637, x_638);
x_640 = lean_array_push(x_639, x_2);
x_641 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_641 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_642 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_642, 0, x_641);
lean_ctor_set(x_642, 1, x_640);
@ -15247,12 +15247,12 @@ lean_dec(x_648);
x_651 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_651, 0, x_623);
lean_ctor_set(x_651, 1, x_650);
x_652 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_652 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_653 = lean_array_push(x_652, x_651);
x_654 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_654 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_655 = lean_array_push(x_653, x_654);
x_656 = lean_array_push(x_655, x_647);
x_657 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_657 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_658 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_658, 0, x_657);
lean_ctor_set(x_658, 1, x_656);
@ -15292,7 +15292,7 @@ x_681 = l_Lean_Delaborator_delabLam___lambda__1___closed__1;
x_682 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_682, 0, x_681);
lean_ctor_set(x_682, 1, x_680);
x_711 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_711 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_712 = l_Lean_Syntax_isOfKind(x_2, x_711);
if (x_712 == 0)
@ -15323,12 +15323,12 @@ x_684 = lean_array_push(x_669, x_682);
x_685 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_685, 0, x_671);
lean_ctor_set(x_685, 1, x_684);
x_686 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_686 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_687 = lean_array_push(x_686, x_685);
x_688 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_688 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_689 = lean_array_push(x_687, x_688);
x_690 = lean_array_push(x_689, x_2);
x_691 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_691 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_692 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_692, 0, x_691);
lean_ctor_set(x_692, 1, x_690);
@ -15357,12 +15357,12 @@ lean_dec(x_698);
x_701 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_701, 0, x_671);
lean_ctor_set(x_701, 1, x_700);
x_702 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_702 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_703 = lean_array_push(x_702, x_701);
x_704 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_704 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_705 = lean_array_push(x_703, x_704);
x_706 = lean_array_push(x_705, x_697);
x_707 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_707 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_708 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_708, 0, x_707);
lean_ctor_set(x_708, 1, x_706);
@ -15403,7 +15403,7 @@ if (lean_is_exclusive(x_720)) {
lean_dec_ref(x_720);
x_723 = lean_box(0);
}
x_757 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_757 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_758 = l_Lean_Syntax_isOfKind(x_2, x_757);
if (x_758 == 0)
@ -15436,12 +15436,12 @@ x_727 = l_Lean_nullKind___closed__2;
x_728 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_728, 0, x_727);
lean_ctor_set(x_728, 1, x_726);
x_729 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_729 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_730 = lean_array_push(x_729, x_728);
x_731 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_731 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_732 = lean_array_push(x_730, x_731);
x_733 = lean_array_push(x_732, x_2);
x_734 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_734 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_735 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_735, 0, x_734);
lean_ctor_set(x_735, 1, x_733);
@ -15473,12 +15473,12 @@ x_746 = l_Lean_nullKind___closed__2;
x_747 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_747, 0, x_746);
lean_ctor_set(x_747, 1, x_745);
x_748 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_748 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_749 = lean_array_push(x_748, x_747);
x_750 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_750 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_751 = lean_array_push(x_749, x_750);
x_752 = lean_array_push(x_751, x_740);
x_753 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_753 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_754 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_754, 0, x_753);
lean_ctor_set(x_754, 1, x_752);
@ -15547,7 +15547,7 @@ x_780 = l_Lean_Delaborator_delabLam___lambda__1___closed__2;
x_781 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_781, 0, x_780);
lean_ctor_set(x_781, 1, x_779);
x_811 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_811 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_812 = l_Lean_Syntax_isOfKind(x_2, x_811);
if (x_812 == 0)
@ -15578,12 +15578,12 @@ x_783 = lean_array_push(x_769, x_781);
x_784 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_784, 0, x_773);
lean_ctor_set(x_784, 1, x_783);
x_785 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_785 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_786 = lean_array_push(x_785, x_784);
x_787 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_787 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_788 = lean_array_push(x_786, x_787);
x_789 = lean_array_push(x_788, x_2);
x_790 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_790 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_791 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_791, 0, x_790);
lean_ctor_set(x_791, 1, x_789);
@ -15613,12 +15613,12 @@ lean_dec(x_797);
x_801 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_801, 0, x_773);
lean_ctor_set(x_801, 1, x_800);
x_802 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_802 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_803 = lean_array_push(x_802, x_801);
x_804 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_804 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_805 = lean_array_push(x_803, x_804);
x_806 = lean_array_push(x_805, x_796);
x_807 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_807 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_808 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_808, 0, x_807);
lean_ctor_set(x_808, 1, x_806);
@ -15658,7 +15658,7 @@ if (lean_is_exclusive(x_820)) {
lean_dec_ref(x_820);
x_823 = lean_box(0);
}
x_857 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_857 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_858 = l_Lean_Syntax_isOfKind(x_2, x_857);
if (x_858 == 0)
@ -15691,12 +15691,12 @@ x_827 = l_Lean_nullKind___closed__2;
x_828 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_828, 0, x_827);
lean_ctor_set(x_828, 1, x_826);
x_829 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_829 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_830 = lean_array_push(x_829, x_828);
x_831 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_831 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_832 = lean_array_push(x_830, x_831);
x_833 = lean_array_push(x_832, x_2);
x_834 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_834 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_835 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_835, 0, x_834);
lean_ctor_set(x_835, 1, x_833);
@ -15728,12 +15728,12 @@ x_846 = l_Lean_nullKind___closed__2;
x_847 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_847, 0, x_846);
lean_ctor_set(x_847, 1, x_845);
x_848 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_848 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_849 = lean_array_push(x_848, x_847);
x_850 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_850 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_851 = lean_array_push(x_849, x_850);
x_852 = lean_array_push(x_851, x_840);
x_853 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_853 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_854 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_854, 0, x_853);
lean_ctor_set(x_854, 1, x_852);

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -47,6 +47,7 @@ lean_object* l_Lean_stringToMessageData(lean_object*);
lean_object* l_Lean_Elab_Term_expandNot___closed__2;
lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__8;
lean_object* l___regBuiltin_Lean_Elab_Term_expandMap___closed__1;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
extern lean_object* l___kind_term____x40_Init_Data_ToString_Macro___hyg_2____closed__10;
lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkEqImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_getRefPos___at_Lean_Elab_Term_elabPanic___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
@ -121,6 +122,7 @@ lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserM
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__20;
lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__12;
extern lean_object* l_Array_empty___closed__1;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
lean_object* l_Lean_Elab_Term_expandAssert___closed__12;
lean_object* l_Lean_Elab_Term_expandHave___closed__4;
lean_object* l_Lean_Elab_Term_expandAssert_match__1(lean_object*);
@ -238,6 +240,7 @@ extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____c
lean_object* l___regBuiltin_Lean_Elab_Term_expandMod(lean_object*);
lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__7;
lean_object* l_Lean_Elab_Term_expandBind___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__13;
lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabClosedTerm___lambda__1___closed__1;
lean_object* l_Lean_Elab_Term_elabParen___closed__1;
lean_object* l___regBuiltin_Lean_Elab_Term_expandBOr___closed__3;
@ -297,7 +300,6 @@ lean_object* l_Lean_Elab_Term_expandEmptyC___closed__5;
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__5;
lean_object* l___regBuiltin_Lean_Elab_Term_expandseqLeft___closed__2;
lean_object* lean_st_ref_take(lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
lean_object* l___regBuiltin_Lean_Elab_Term_expandAdd___closed__2;
lean_object* l___regBuiltin_Lean_Elab_Term_expandHave___closed__1;
lean_object* l_Lean_Elab_Term_elabNativeDecide(lean_object*);
@ -341,6 +343,7 @@ extern lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_
lean_object* l_Lean_Elab_Term_ExpandFComp___closed__4;
lean_object* l_Lean_Elab_Term_expandBAnd(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_expandEmptyC___closed__1;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabDecide___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_expandAppend(lean_object*);
@ -467,6 +470,7 @@ lean_object* l_Lean_Elab_Term_expandDiv___closed__3;
lean_object* l___regBuiltin_Lean_Elab_Term_elabBorrowed(lean_object*);
extern lean_object* l_Lean_setOptionFromString___closed__5;
lean_object* l_Lean_Elab_Term_expandPow___closed__4;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
lean_object* l_Lean_Elab_Term_expandAssert___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_expandEmptyC(lean_object*);
@ -486,7 +490,6 @@ lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_mkNativeRef
extern lean_object* l_Lean_Meta_reduceNat_x3f___closed__8;
lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__22;
lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13;
extern lean_object* l___regBuiltin_Lean_Elab_Term_elabByTactic___closed__2;
lean_object* l_Lean_Elab_Term_expandAppend___closed__2;
lean_object* l___regBuiltin_Lean_Elab_Term_expandAndThen___closed__2;
@ -504,7 +507,6 @@ lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_mkNativeRef
lean_object* l_Lean_Elab_Term_expandGE(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabDecide___closed__1;
lean_object* l_Lean_Elab_Term_expandMul___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
lean_object* l___regBuiltin_Lean_Elab_Term_elabNativeRefl(lean_object*);
extern lean_object* l_Lean_nullKind___closed__2;
lean_object* l_Lean_Elab_Term_elabAnonymousCtor_match__2(lean_object*);
@ -589,7 +591,6 @@ lean_object* l_Lean_Elab_Term_expandIf___closed__2;
lean_object* l_Lean_Elab_Term_expandOr___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabAnonymousCtor_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_expandOr___closed__1;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
lean_object* l___regBuiltin_Lean_Elab_Term_expandseqRight(lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabNativeDecide___closed__3;
lean_object* l_Lean_Elab_Term_expandShow___closed__10;
@ -610,6 +611,7 @@ lean_object* l_Lean_Elab_Term_adaptExpander(lean_object*, lean_object*, lean_obj
extern lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___lambda__4___closed__4;
lean_object* l_Lean_Elab_Term_elabDecide(lean_object*);
lean_object* l_Lean_mkStxStrLit(lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
lean_object* l_Lean_Elab_Term_expandAssert___closed__18;
lean_object* l_Lean_Elab_Term_expandShow___closed__8;
lean_object* l_Lean_Syntax_getPos(lean_object*);
@ -655,7 +657,6 @@ lean_object* l___regBuiltin_Lean_Elab_Term_expandCons___closed__2;
lean_object* l_Lean_Elab_Term_ExpandFComp___closed__3;
lean_object* l_Lean_Elab_Term_elabParserMacro___lambda__1___closed__3;
lean_object* l___regBuiltin_Lean_Elab_Term_expandEq___closed__1;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabClosedTerm___closed__1;
lean_object* l___regBuiltin_Lean_Elab_Term_expandOrM___closed__2;
lean_object* l_List_beq___main___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___spec__1___boxed(lean_object*, lean_object*);
@ -814,7 +815,6 @@ lean_object* l___regBuiltin_Lean_Elab_Term_expandseq(lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor___closed__1;
extern lean_object* l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_shouldAddAsStar___closed__9;
lean_object* l_Lean_Elab_Term_expandUnreachable___rarg___closed__4;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
lean_object* l_Lean_Elab_Term_elabTParserMacro___lambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Elab_Term_expandUnreachable___closed__2;
lean_object* lean_name_mk_numeral(lean_object*, lean_object*);
@ -1248,13 +1248,13 @@ x_69 = lean_array_push(x_66, x_52);
x_70 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_70, 0, x_16);
lean_ctor_set(x_70, 1, x_69);
x_71 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_71 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_72 = lean_array_push(x_71, x_70);
x_73 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_73 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_74 = lean_array_push(x_72, x_73);
lean_inc(x_74);
x_75 = lean_array_push(x_74, x_55);
x_76 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_76 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_77 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_77, 0, x_76);
lean_ctor_set(x_77, 1, x_75);
@ -1413,7 +1413,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__22;
x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
x_3 = lean_array_push(x_1, x_2);
return x_3;
}
@ -1580,12 +1580,12 @@ x_51 = lean_array_push(x_39, x_50);
x_52 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_52, 0, x_18);
lean_ctor_set(x_52, 1, x_51);
x_53 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_53 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_54 = lean_array_push(x_53, x_52);
x_55 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_55 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_56 = lean_array_push(x_54, x_55);
x_57 = lean_array_push(x_56, x_30);
x_58 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_58 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_59 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_59, 0, x_58);
lean_ctor_set(x_59, 1, x_57);
@ -1711,12 +1711,12 @@ x_112 = lean_array_push(x_95, x_111);
x_113 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_113, 0, x_18);
lean_ctor_set(x_113, 1, x_112);
x_114 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_114 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_115 = lean_array_push(x_114, x_113);
x_116 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_116 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_117 = lean_array_push(x_115, x_116);
x_118 = lean_array_push(x_117, x_86);
x_119 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_119 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_120 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_120, 0, x_119);
lean_ctor_set(x_120, 1, x_118);
@ -11510,9 +11510,9 @@ x_42 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_42, 0, x_41);
lean_ctor_set(x_42, 1, x_40);
x_43 = lean_array_push(x_19, x_42);
x_44 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
x_44 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
x_45 = lean_array_push(x_44, x_7);
x_46 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_46 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_47 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_47, 0, x_46);
lean_ctor_set(x_47, 1, x_45);
@ -11571,9 +11571,9 @@ x_77 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_77, 0, x_76);
lean_ctor_set(x_77, 1, x_75);
x_78 = lean_array_push(x_61, x_77);
x_79 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
x_79 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
x_80 = lean_array_push(x_79, x_7);
x_81 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_81 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_82 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_82, 0, x_81);
lean_ctor_set(x_82, 1, x_80);
@ -11757,7 +11757,7 @@ lean_ctor_set(x_17, 0, x_7);
lean_ctor_set(x_17, 1, x_15);
lean_ctor_set(x_17, 2, x_14);
lean_ctor_set(x_17, 3, x_16);
x_18 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13;
x_18 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__13;
x_19 = lean_array_push(x_18, x_17);
x_20 = l_Lean_nullKind___closed__2;
x_21 = lean_alloc_ctor(1, 2, 0);

View file

@ -200,6 +200,7 @@ lean_object* l_Lean_Elab_Command_modifyScope___closed__3;
lean_object* l_Lean_Elab_Command_elabEvalUnsafe___lambda__6___closed__1;
lean_object* l_Lean_Meta_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_Lean_Elab_Command___instance__1___closed__4;
extern lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8;
lean_object* l_Lean_Elab_Command_State_messages___default;
lean_object* l_Lean_Elab_Command_Scope_inhabited;
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
@ -215,6 +216,7 @@ lean_object* l___private_Lean_Elab_Command_0__Lean_Elab_Command_addNamespace___c
lean_object* l_Lean_Elab_Command_elabSynth___closed__2;
lean_object* l_Lean_Elab_Command_modifyScope___at_Lean_Elab_Command_elabVariables___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabEvalUnsafe___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__1___closed__1;
lean_object* l_Lean_Elab_Command_elabUniverses___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabEvalUnsafe___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
@ -275,7 +277,6 @@ lean_object* l_Lean_Elab_Command_elabEvalUnsafe_match__4___rarg(lean_object*, le
extern lean_object* l_Lean_Elab_mkDeclName___rarg___closed__2;
extern lean_object* l_Lean_Exception_inhabited___closed__1;
extern lean_object* l_Lean_Elab_mkDeclName___rarg___lambda__1___closed__3;
extern lean_object* l_Lean_Elab_Term_State_inhabited___closed__1;
lean_object* lean_st_ref_take(lean_object*, lean_object*);
lean_object* l_List_foldl___main___at_Lean_Elab_addMacroStack___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_getOptionDecl(lean_object*, lean_object*);
@ -525,7 +526,6 @@ lean_object* l___private_Lean_Elab_Command_0__Lean_Elab_Command_checkEndHeader_m
lean_object* l___regBuiltin_Lean_Elab_Command_elabCheckFailure___closed__3;
lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*);
lean_object* l_List_drop___main___rarg(lean_object*, lean_object*);
extern lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__8;
lean_object* l_Lean_Elab_Command_modifyScope___at_Lean_Elab_Command_addUnivLevel___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabExport___closed__2;
lean_object* l_Lean_Elab_Command_Lean_Elab_Command___instance__7___closed__1;
@ -623,7 +623,6 @@ lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_Command_0__Lean
lean_object* l_Lean_Elab_Command_liftCoreM(lean_object*);
uint8_t l_Lean_Syntax_isNone(lean_object*);
lean_object* l_Lean_setEnv___at_Lean_Elab_Term_declareTacticSyntax___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_TraceState_Inhabited___closed__1;
lean_object* l_Lean_Elab_Command_mkCommandElabAttributeUnsafe(lean_object*);
lean_object* l_Lean_Elab_Command_expandInCmd___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Command_elabNamespace(lean_object*);
@ -774,6 +773,7 @@ lean_object* l_Lean_Elab_Command_Lean_Elab_Command___instance__8___closed__3;
lean_object* l___private_Init_Util_2__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_CommandElabM_MonadQuotation;
lean_object* l_Lean_Elab_log___at_Lean_Elab_Command_withLogging___spec__3(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
lean_object* l___regBuiltin_Lean_Elab_Command_elabSetOption___closed__2;
lean_object* l___regBuiltin_Lean_Elab_Command_elabEnd___closed__3;
lean_object* l_Array_iterateMAux___main___at_Lean_Elab_Command_elabOpenOnly___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -1962,7 +1962,7 @@ x_51 = lean_ctor_get(x_47, 6);
lean_inc(x_51);
lean_dec(x_47);
x_52 = l_Lean_Unhygienic_run___rarg___closed__1;
x_53 = l_Lean_TraceState_Inhabited___closed__1;
x_53 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_54 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_54, 0, x_50);
lean_ctor_set(x_54, 1, x_52);
@ -7197,7 +7197,7 @@ lean_inc(x_12);
x_13 = l___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext(x_3, x_7, x_1);
x_14 = l___private_Lean_Elab_Command_0__Lean_Elab_Command_mkCoreContext(x_3, x_7);
lean_dec(x_7);
x_15 = l_Lean_TraceState_Inhabited___closed__1;
x_15 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_16 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_16, 0, x_9);
lean_ctor_set(x_16, 1, x_11);
@ -7216,7 +7216,7 @@ lean_inc(x_72);
x_73 = lean_ctor_get(x_71, 1);
lean_inc(x_73);
lean_dec(x_71);
x_74 = l_Lean_Elab_Term_State_inhabited___closed__1;
x_74 = l_Lean_Elab_Term_Lean_Elab_Term___instance__1___closed__1;
x_75 = lean_st_mk_ref(x_74, x_73);
x_76 = lean_ctor_get(x_75, 0);
lean_inc(x_76);
@ -18649,7 +18649,7 @@ else
{
lean_object* x_25; lean_object* x_26;
lean_dec(x_9);
x_25 = l___private_Lean_Util_PPExt_1__registerOptions___closed__8;
x_25 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8;
x_26 = l_Lean_Elab_Command_setOption(x_7, x_25, x_2, x_3, x_4);
return x_26;
}

View file

@ -32,6 +32,7 @@ lean_object* lean_st_ref_get(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_mkDefViewOfInstance___closed__1;
lean_object* l_Lean_mkIdentFrom(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_mkDefViewOfInstance___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__14;
lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* l_Lean_Elab_DefKind_isTheorem_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_mkDefViewOfAbbrev___closed__1;
@ -86,7 +87,6 @@ lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_mkDefViewOfExample_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Elab_DefKind_isTheorem_match__1(lean_object*);
lean_object* l_Lean_mkAtomFrom(lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__14;
lean_object* l_Lean_Elab_Command_mkDefViewOfTheorem_match__1(lean_object*);
lean_object* l_Lean_Elab_Command_mkDefViewOfInstance_match__2(lean_object*);
lean_object* l_Lean_Elab_Command_getCurrMacroScope(lean_object*, lean_object*, lean_object*);
@ -904,7 +904,7 @@ lean_ctor_set(x_25, 2, x_21);
lean_ctor_set(x_25, 3, x_24);
x_26 = l_Array_empty___closed__1;
x_27 = lean_array_push(x_26, x_25);
x_28 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__14;
x_28 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__14;
x_29 = lean_array_push(x_27, x_28);
x_30 = l_Lean_mkAppStx___closed__8;
x_31 = lean_alloc_ctor(1, 2, 0);

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -13,18 +13,16 @@
#ifdef __cplusplus
extern "C" {
#endif
lean_object* lean_string_push(lean_object*, uint32_t);
lean_object* l_Lean_Parser_parseHeader(lean_object*, lean_object*);
lean_object* lean_io_error_to_string(lean_object*);
lean_object* l_List_map___main___at_Lean_Elab_headerToImports___spec__1(lean_object*);
lean_object* l_List_append___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Elab_headerToImports___closed__2;
lean_object* l_Lean_Elab_headerToImports(lean_object*);
lean_object* l_List_forInAux___main___at_Lean_Elab_printDeps___spec__4___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkInputContext(lean_object*, lean_object*);
lean_object* l_Lean_Elab_parseImports_match__1(lean_object*);
extern lean_object* l_String_splitAux___main___closed__1;
lean_object* l_IO_println___at_Lean_Elab_printDeps___spec__1(lean_object*, lean_object*);
lean_object* l_List_forInAux___main___at_Lean_Elab_printDeps___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_headerToImports___closed__1;
lean_object* l_Lean_Elab_headerToImports___boxed(lean_object*);
lean_object* l_Lean_findOLean(lean_object*, lean_object*);
@ -32,7 +30,6 @@ lean_object* l_Lean_Elab_processHeader(lean_object*, lean_object*, lean_object*,
lean_object* l_Lean_Elab_parseImports___closed__1;
lean_object* l_Lean_MessageLog_toList(lean_object*);
lean_object* l_Lean_Elab_parseImports_match__1___rarg(lean_object*, lean_object*);
lean_object* l_IO_getStdout___at_Lean_Elab_printDeps___spec__3(lean_object*);
lean_object* l_Lean_Elab_headerToImports___closed__3;
lean_object* l_Lean_Syntax_getId(lean_object*);
lean_object* lean_name_mk_string(lean_object*, lean_object*);
@ -43,10 +40,9 @@ lean_object* l_Lean_FileMap_ofString(lean_object*);
lean_object* lean_mk_empty_environment(uint32_t, lean_object*);
lean_object* lean_import_modules(lean_object*, lean_object*, uint32_t, lean_object*);
lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*);
lean_object* l_List_forInAux___main___at_Lean_Elab_printDeps___spec__4(lean_object*, lean_object*, lean_object*);
lean_object* l_List_forInAux___main___at_Lean_Elab_printDeps___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_getArgs(lean_object*);
lean_object* lean_get_stdout(lean_object*);
lean_object* l_IO_print___at_Lean_Elab_printDeps___spec__2(lean_object*, lean_object*);
lean_object* l_IO_println___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__4(lean_object*, lean_object*);
lean_object* lean_parse_imports(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_getPos(lean_object*);
uint8_t l_Lean_Syntax_isNone(lean_object*);
@ -1048,69 +1044,7 @@ return x_38;
}
}
}
lean_object* l_IO_getStdout___at_Lean_Elab_printDeps___spec__3(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_get_stdout(x_1);
return x_2;
}
}
lean_object* l_IO_print___at_Lean_Elab_printDeps___spec__2(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_get_stdout(x_2);
if (lean_obj_tag(x_3) == 0)
{
lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_4 = lean_ctor_get(x_3, 0);
lean_inc(x_4);
x_5 = lean_ctor_get(x_3, 1);
lean_inc(x_5);
lean_dec(x_3);
x_6 = lean_ctor_get(x_4, 5);
lean_inc(x_6);
lean_dec(x_4);
x_7 = lean_apply_2(x_6, x_1, x_5);
return x_7;
}
else
{
uint8_t x_8;
lean_dec(x_1);
x_8 = !lean_is_exclusive(x_3);
if (x_8 == 0)
{
return x_3;
}
else
{
lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_9 = lean_ctor_get(x_3, 0);
x_10 = lean_ctor_get(x_3, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_dec(x_3);
x_11 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_11, 0, x_9);
lean_ctor_set(x_11, 1, x_10);
return x_11;
}
}
}
}
lean_object* l_IO_println___at_Lean_Elab_printDeps___spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
uint32_t x_3; lean_object* x_4; lean_object* x_5;
x_3 = 10;
x_4 = lean_string_push(x_1, x_3);
x_5 = l_IO_print___at_Lean_Elab_printDeps___spec__2(x_4, x_2);
return x_5;
}
}
lean_object* l_List_forInAux___main___at_Lean_Elab_printDeps___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
lean_object* l_List_forInAux___main___at_Lean_Elab_printDeps___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@ -1137,7 +1071,7 @@ lean_inc(x_9);
x_10 = lean_ctor_get(x_8, 1);
lean_inc(x_10);
lean_dec(x_8);
x_11 = l_IO_println___at_Lean_Elab_printDeps___spec__1(x_9, x_10);
x_11 = l_IO_println___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__4(x_9, x_10);
if (lean_obj_tag(x_11) == 0)
{
lean_object* x_12; lean_object* x_13;
@ -1203,7 +1137,7 @@ _start:
{
lean_object* x_3; lean_object* x_4;
x_3 = lean_box(0);
x_4 = l_List_forInAux___main___at_Lean_Elab_printDeps___spec__4(x_1, x_3, x_2);
x_4 = l_List_forInAux___main___at_Lean_Elab_printDeps___spec__1(x_1, x_3, x_2);
lean_dec(x_1);
if (lean_obj_tag(x_4) == 0)
{
@ -1251,11 +1185,11 @@ return x_12;
}
}
}
lean_object* l_List_forInAux___main___at_Lean_Elab_printDeps___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
lean_object* l_List_forInAux___main___at_Lean_Elab_printDeps___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_List_forInAux___main___at_Lean_Elab_printDeps___spec__4(x_1, x_2, x_3);
x_4 = l_List_forInAux___main___at_Lean_Elab_printDeps___spec__1(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}

33
stage0/stdlib/Lean/Elab/IndentDefs.c generated Normal file
View file

@ -0,0 +1,33 @@
// Lean compiler output
// Module: Lean.Elab.IndentDefs
// Imports: Init Lean.Elab.Frontend
#include <lean/lean.h>
#if defined(__clang__)
#pragma clang diagnostic ignored "-Wunused-parameter"
#pragma clang diagnostic ignored "-Wunused-label"
#elif defined(__GNUC__) && !defined(__CLANG__)
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wunused-label"
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
#endif
#ifdef __cplusplus
extern "C" {
#endif
lean_object* initialize_Init(lean_object*);
lean_object* initialize_Lean_Elab_Frontend(lean_object*);
static bool _G_initialized = false;
lean_object* initialize_Lean_Elab_IndentDefs(lean_object* w) {
lean_object * res;
if (_G_initialized) return lean_io_result_mk_ok(lean_box(0));
_G_initialized = true;
res = initialize_Init(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Elab_Frontend(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
return lean_io_result_mk_ok(lean_box(0));
}
#ifdef __cplusplus
}
#endif

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -18,6 +18,7 @@ uint8_t l_Lean_Syntax_isQuot(lean_object*);
lean_object* l_List_head_x21___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__2(lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm_match__2(lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___lambda__1___closed__3;
extern lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss___closed__5;
extern lean_object* l_Lean_Expr_eq_x3f___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__10;
@ -36,6 +37,7 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSy
lean_object* l_Lean_Syntax_isNatLitAux(lean_object*, lean_object*);
extern lean_object* l_Lean_Syntax_isQuot_match__1___rarg___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__40;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__27;
lean_object* l_Lean_Elab_Term_Quotation_HeadInfo_generalizes_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
@ -74,7 +76,6 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSy
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___elambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__2;
extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__8;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__37;
extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss___closed__3;
@ -98,6 +99,7 @@ lean_object* l_Lean_Elab_Term_Quotation_elabTacticQuot(lean_object*, lean_object
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getPatternVarsAux___boxed(lean_object*);
lean_object* l_Lean_mkMVar(lean_object*);
extern lean_object* l_Array_empty___closed__1;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
lean_object* l_ReaderT_pure___at_Lean_Elab_Term_Quotation_HeadInfo_Inhabited___spec__1(lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabTacticQuot___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_explodeHeadPat_match__2___rarg(lean_object*, lean_object*, lean_object*);
@ -174,6 +176,7 @@ lean_object* l_Lean_Elab_Term_Quotation_oldExpandMatchSyntax___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__2___closed__8;
lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabMatchSyntax___closed__3;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__11;
extern lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__1___closed__1;
extern lean_object* l_Lean_mkAppStx___closed__8;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___lambda__2___closed__6;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__2;
@ -205,13 +208,13 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBind
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__46;
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Term_Quotation_match__syntax_expand___spec__1___lambda__2___closed__3;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__2___closed__2;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
lean_object* l_List_replicate___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__25;
lean_object* l_Lean_Elab_Term_Quotation_getPatternVars(lean_object*);
extern lean_object* l_Lean_Meta_reduceNat_x3f___closed__12;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__52;
lean_object* l_List_filterAux___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__16;
lean_object* l_List_map___main___at_Lean_Elab_Term_Quotation_oldGetPatternVars___spec__1(lean_object*);
extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__5;
lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabLevelQuot___closed__2;
@ -238,9 +241,7 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getPatt
lean_object* l_Lean_MessageData_toString(lean_object*, lean_object*);
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__5;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___lambda__2___closed__4;
extern lean_object* l_Lean_Elab_Term_State_inhabited___closed__1;
lean_object* lean_st_ref_take(lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___closed__11;
extern lean_object* l_Lean_numLitKind;
extern lean_object* l_Lean_choiceKind___closed__1;
@ -268,6 +269,7 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBind
lean_object* l_List_filterAux___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__2___closed__10;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__57;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
lean_object* l_Lean_replaceRef(lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__2___closed__20;
@ -364,6 +366,7 @@ lean_object* l_Lean_Parser_getTokenTable(lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__66;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_elimAntiquotChoices_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm_match__3(lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
lean_object* l_ReaderT_bind___at_Lean_Elab_Term_monadLog___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -389,7 +392,6 @@ extern lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUn
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__22;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
extern lean_object* l_Lean_Meta_DiscrTree_Trie_format___rarg___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_explodeHeadPat___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -476,7 +478,6 @@ lean_object* l_Lean_Elab_Term_Quotation_elabTacticQuotSeq(lean_object*, lean_obj
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___lambda__1___closed__1;
lean_object* l_List_head_x21___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__2___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__54;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo(lean_object*);
lean_object* l_List_head_x21___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__1___boxed(lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___closed__1;
@ -501,11 +502,11 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSy
lean_object* l_Lean_mkStxStrLit(lean_object*, lean_object*);
lean_object* l_List_foldl___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___spec__2___closed__2;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss_match__2(lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm_match__3___rarg(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Elab_Term_Quotation_isAntiquotSplice(lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__4___closed__1;
lean_object* lean_parse_expr(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__1;
lean_object* l_List_mapM___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Term_resolveName___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -517,7 +518,6 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_elimAnt
lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabDoElemQuot___closed__4;
extern lean_object* l_Lean_Unhygienic_MonadQuotation___closed__2;
lean_object* l_List_mapM___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__8___closed__2;
extern lean_object* l_Lean_TraceState_Inhabited___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch_match__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__1___closed__4;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax_match__1(lean_object*);
@ -525,7 +525,6 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compile
lean_object* l_Array_findMAux___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_elimAntiquotChoices___spec__2___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___closed__5;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__12;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
lean_object* l_Array_toList___rarg(lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss___closed__2;
lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabTacticQuot(lean_object*);
@ -580,6 +579,7 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPrete
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__2___closed__15;
extern lean_object* l_System_FilePath_dirName___closed__1;
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__16;
lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabfunBinderQuot___closed__3;
lean_object* l_Array_iterateMAux___main___at_Lean_mkAppN___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -621,7 +621,6 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_explode
lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__1___closed__3;
lean_object* l_Lean_Elab_Term_Quotation_getAntiquotTerm___boxed(lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabTermQuot(lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
extern lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe___closed__2;
lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__1___closed__5;
lean_object* l_List_mapM___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__8___closed__8;
@ -637,6 +636,7 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getPatt
lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__11;
lean_object* l___private_Init_Util_2__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__4;
extern lean_object* l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
lean_object* lean_expand_match_syntax(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___lambda__3___closed__5;
@ -4215,9 +4215,9 @@ x_41 = l_Lean_nullKind___closed__2;
x_42 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_42, 0, x_41);
lean_ctor_set(x_42, 1, x_40);
x_43 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_43 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_44 = lean_array_push(x_43, x_42);
x_45 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_45 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_46 = lean_array_push(x_44, x_45);
x_47 = l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__22;
lean_inc(x_16);
@ -4267,7 +4267,7 @@ x_71 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_71, 0, x_70);
lean_ctor_set(x_71, 1, x_69);
x_72 = lean_array_push(x_60, x_71);
x_73 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_73 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_74 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_74, 0, x_73);
lean_ctor_set(x_74, 1, x_72);
@ -4369,9 +4369,9 @@ x_123 = l_Lean_nullKind___closed__2;
x_124 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_124, 0, x_123);
lean_ctor_set(x_124, 1, x_122);
x_125 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_125 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_126 = lean_array_push(x_125, x_124);
x_127 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_127 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_128 = lean_array_push(x_126, x_127);
x_129 = l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__22;
lean_inc(x_16);
@ -4421,7 +4421,7 @@ x_153 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_153, 0, x_152);
lean_ctor_set(x_153, 1, x_151);
x_154 = lean_array_push(x_142, x_153);
x_155 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_155 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_156 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_156, 0, x_155);
lean_ctor_set(x_156, 1, x_154);
@ -6432,7 +6432,7 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_explode
_start:
{
lean_object* x_4; lean_object* x_5;
x_4 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
x_4 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
x_5 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_5, 0, x_4);
lean_ctor_set(x_5, 1, x_3);
@ -10445,7 +10445,7 @@ static lean_object* _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quot
_start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_2 = l_Lean_mkAtom(x_1);
return x_2;
}
@ -10454,7 +10454,7 @@ static lean_object* _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quot
_start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__16;
x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__16;
x_2 = l_Lean_mkAtom(x_1);
return x_2;
}
@ -10633,9 +10633,9 @@ x_71 = lean_array_push(x_69, x_70);
x_72 = lean_array_push(x_71, x_70);
x_73 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__20;
x_74 = lean_array_push(x_72, x_73);
x_75 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
x_75 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
x_76 = lean_array_push(x_75, x_18);
x_77 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_77 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_78 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_78, 0, x_77);
lean_ctor_set(x_78, 1, x_76);
@ -10681,9 +10681,9 @@ x_98 = lean_array_push(x_96, x_97);
x_99 = lean_array_push(x_98, x_97);
x_100 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__20;
x_101 = lean_array_push(x_99, x_100);
x_102 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
x_102 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
x_103 = lean_array_push(x_102, x_18);
x_104 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_104 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_105 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_105, 0, x_104);
lean_ctor_set(x_105, 1, x_103);
@ -10843,9 +10843,9 @@ x_157 = lean_array_push(x_155, x_156);
x_158 = lean_array_push(x_157, x_156);
x_159 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__20;
x_160 = lean_array_push(x_158, x_159);
x_161 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
x_161 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
x_162 = lean_array_push(x_161, x_18);
x_163 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_163 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_164 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_164, 0, x_163);
lean_ctor_set(x_164, 1, x_162);
@ -10936,7 +10936,7 @@ x_192 = lean_array_push(x_191, x_190);
x_193 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss___closed__11;
x_194 = lean_array_push(x_192, x_193);
x_195 = lean_array_push(x_194, x_18);
x_196 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_196 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_197 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_197, 0, x_196);
lean_ctor_set(x_197, 1, x_195);
@ -11329,7 +11329,7 @@ x_348 = lean_array_push(x_347, x_346);
x_349 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss___closed__11;
x_350 = lean_array_push(x_348, x_349);
x_351 = lean_array_push(x_350, x_18);
x_352 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_352 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_353 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_353, 0, x_352);
lean_ctor_set(x_353, 1, x_351);
@ -11706,9 +11706,9 @@ x_488 = lean_array_push(x_486, x_487);
x_489 = lean_array_push(x_488, x_487);
x_490 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__20;
x_491 = lean_array_push(x_489, x_490);
x_492 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
x_492 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
x_493 = lean_array_push(x_492, x_429);
x_494 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_494 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_495 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_495, 0, x_494);
lean_ctor_set(x_495, 1, x_493);
@ -11798,7 +11798,7 @@ x_521 = lean_array_push(x_520, x_519);
x_522 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss___closed__11;
x_523 = lean_array_push(x_521, x_522);
x_524 = lean_array_push(x_523, x_429);
x_525 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_525 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_526 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_526, 0, x_525);
lean_ctor_set(x_526, 1, x_524);
@ -12197,9 +12197,9 @@ x_665 = lean_array_push(x_663, x_664);
x_666 = lean_array_push(x_665, x_664);
x_667 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__20;
x_668 = lean_array_push(x_666, x_667);
x_669 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
x_669 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
x_670 = lean_array_push(x_669, x_604);
x_671 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_671 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_672 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_672, 0, x_671);
lean_ctor_set(x_672, 1, x_670);
@ -12288,7 +12288,7 @@ x_698 = lean_array_push(x_697, x_696);
x_699 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss___closed__11;
x_700 = lean_array_push(x_698, x_699);
x_701 = lean_array_push(x_700, x_604);
x_702 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_702 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_703 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_703, 0, x_702);
lean_ctor_set(x_703, 1, x_701);
@ -13344,7 +13344,7 @@ else
{
lean_object* x_64; uint8_t x_65;
lean_dec(x_41);
x_64 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
x_64 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_65 = lean_string_dec_eq(x_38, x_64);
if (x_65 == 0)
{
@ -13619,7 +13619,7 @@ else
{
lean_object* x_129; uint8_t x_130;
lean_dec(x_41);
x_129 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
x_129 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_130 = lean_string_dec_eq(x_38, x_129);
if (x_130 == 0)
{
@ -13944,7 +13944,7 @@ else
{
lean_object* x_203; uint8_t x_204;
lean_dec(x_41);
x_203 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
x_203 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_204 = lean_string_dec_eq(x_38, x_203);
if (x_204 == 0)
{
@ -14303,7 +14303,7 @@ else
{
lean_object* x_283; uint8_t x_284;
lean_dec(x_41);
x_283 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
x_283 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_284 = lean_string_dec_eq(x_38, x_283);
if (x_284 == 0)
{
@ -14695,7 +14695,7 @@ else
{
lean_object* x_370; uint8_t x_371;
lean_dec(x_344);
x_370 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
x_370 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_371 = lean_string_dec_eq(x_38, x_370);
if (x_371 == 0)
{
@ -15670,12 +15670,12 @@ x_30 = l_Lean_nullKind___closed__2;
x_31 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_31, 0, x_30);
lean_ctor_set(x_31, 1, x_29);
x_32 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_32 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_33 = lean_array_push(x_32, x_31);
x_34 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_34 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_35 = lean_array_push(x_33, x_34);
x_36 = lean_array_push(x_35, x_2);
x_37 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_37 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_38 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_38, 0, x_37);
lean_ctor_set(x_38, 1, x_36);
@ -15762,12 +15762,12 @@ x_62 = l_Lean_nullKind___closed__2;
x_63 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_63, 0, x_62);
lean_ctor_set(x_63, 1, x_61);
x_64 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_64 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_65 = lean_array_push(x_64, x_63);
x_66 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_66 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_67 = lean_array_push(x_65, x_66);
x_68 = lean_array_push(x_67, x_2);
x_69 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_69 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_70 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_70, 0, x_69);
lean_ctor_set(x_70, 1, x_68);
@ -16401,7 +16401,7 @@ else
{
lean_object* x_129; uint8_t x_130;
lean_dec(x_91);
x_129 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
x_129 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_130 = lean_string_dec_eq(x_88, x_129);
if (x_130 == 0)
{
@ -17150,7 +17150,7 @@ else
{
lean_object* x_342; uint8_t x_343;
lean_dec(x_91);
x_342 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
x_342 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_343 = lean_string_dec_eq(x_88, x_342);
if (x_343 == 0)
{
@ -17896,7 +17896,7 @@ else
{
lean_object* x_546; uint8_t x_547;
lean_dec(x_91);
x_546 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
x_546 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_547 = lean_string_dec_eq(x_88, x_546);
if (x_547 == 0)
{
@ -18676,7 +18676,7 @@ else
{
lean_object* x_756; uint8_t x_757;
lean_dec(x_91);
x_756 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
x_756 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_757 = lean_string_dec_eq(x_88, x_756);
if (x_757 == 0)
{
@ -19489,7 +19489,7 @@ else
{
lean_object* x_973; uint8_t x_974;
lean_dec(x_929);
x_973 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
x_973 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_974 = lean_string_dec_eq(x_88, x_973);
if (x_974 == 0)
{
@ -20766,7 +20766,7 @@ else
{
lean_object* x_1301; uint8_t x_1302;
lean_dec(x_1256);
x_1301 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
x_1301 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_1302 = lean_string_dec_eq(x_1254, x_1301);
if (x_1302 == 0)
{
@ -21865,7 +21865,7 @@ lean_ctor_set_uint8(x_16, sizeof(void*)*8, x_15);
lean_ctor_set_uint8(x_16, sizeof(void*)*8 + 1, x_15);
x_17 = l_Lean_Unhygienic_run___rarg___closed__1;
x_18 = l_Lean_NameGenerator_Inhabited___closed__3;
x_19 = l_Lean_TraceState_Inhabited___closed__1;
x_19 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_20 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_20, 0, x_3);
lean_ctor_set(x_20, 1, x_17);
@ -21885,13 +21885,13 @@ lean_inc(x_27);
x_28 = lean_ctor_get(x_26, 1);
lean_inc(x_28);
lean_dec(x_26);
x_29 = l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__1;
x_29 = l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__1;
x_30 = l_Array_empty___closed__1;
x_31 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_31, 0, x_29);
lean_ctor_set(x_31, 1, x_7);
lean_ctor_set(x_31, 2, x_30);
x_32 = l_Lean_Elab_Term_State_inhabited___closed__1;
x_32 = l_Lean_Elab_Term_Lean_Elab_Term___instance__1___closed__1;
x_33 = lean_st_mk_ref(x_32, x_28);
x_34 = lean_ctor_get(x_33, 0);
lean_inc(x_34);

View file

@ -40,6 +40,7 @@ lean_object* l_Lean_Elab_Term_StructInst_Struct_modifyFieldsM(lean_object*);
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName_match__1(lean_object*);
lean_object* l_Lean_Meta_synthInstance_x3f___at_Lean_Elab_Term_StructInst_trySynthStructInstance_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct_match__4___rarg(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStruct___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_getExprMVarAssignment_x3f___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -224,7 +225,6 @@ lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_group
lean_object* l_Lean_Elab_Term_StructInst_formatStruct___closed__5;
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSource_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_StructInst_defaultMissing_x3f___boxed(lean_object*);
lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(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*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName___rarg___closed__2;
lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*);
@ -256,7 +256,6 @@ lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabM
lean_object* l_List_map___main___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__1(lean_object*, lean_object*);
lean_object* lean_st_ref_take(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_findDefaultMissing_x3f_match__4(lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__22;
lean_object* l_List_mapM___main___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1___closed__2;
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct_match__7(lean_object*);
@ -294,6 +293,7 @@ lean_object* l_Lean_mkAnnotation(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_StructInst_Struct_source_match__1(lean_object*);
lean_object* l_List_mapM___main___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2(lean_object*);
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct_match__4(lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
lean_object* l_Lean_replaceRef(lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_StructInst_Source_isNone_match__1___rarg(lean_object*, lean_object*, lean_object*);
@ -412,6 +412,7 @@ extern lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___clos
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkCtorHeaderAux___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_Struct_fields_match__1(lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_step_match__3(lean_object*);
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f_match__1(lean_object*);
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkCtorHeaderAux___closed__2;
@ -498,6 +499,7 @@ lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___boxed(le
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_propagateExpectedType_match__1(lean_object*);
lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*);
lean_object* l_List_foldlM___main___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___spec__1___closed__2;
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_StructInst_formatField___closed__1;
lean_object* l_Lean_Elab_Term_StructInst_Struct_modifyFieldsM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkHole(lean_object*);
@ -598,7 +600,6 @@ lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop_match__1___
lean_object* l_List_mapM___main___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStruct___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_hasLooseBVars(lean_object*);
lean_object* l_Array_foldlStepMAux___main___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__1___closed__8;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
lean_object* l_List_mapM___main___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1___closed__3;
lean_object* l_Array_toList___rarg(lean_object*);
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandCompositeFields_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
@ -719,7 +720,6 @@ lean_object* l_Lean_throwError___at_Lean_Elab_Term_StructInst_DefaultFields_prop
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields_match__4___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___lambda__3___closed__2;
lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_collectStructNames___boxed(lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
lean_object* l_Lean_Elab_Term_StructInst_Struct_allDefault_match__3___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Name_components(lean_object*);
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___closed__20;
@ -2769,7 +2769,7 @@ x_335 = lean_ctor_get(x_329, 1);
lean_inc(x_335);
lean_dec(x_329);
x_336 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___closed__4;
x_337 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_336, x_5, x_6, x_7, x_8, x_9, x_10, x_335);
x_337 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_336, x_5, x_6, x_7, x_8, x_9, x_10, x_335);
x_338 = lean_ctor_get(x_337, 0);
lean_inc(x_338);
x_339 = lean_ctor_get(x_337, 1);
@ -2926,7 +2926,7 @@ x_180 = lean_ctor_get(x_39, 1);
lean_inc(x_180);
lean_dec(x_39);
x_181 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___closed__4;
x_182 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_181, x_5, x_6, x_7, x_8, x_9, x_10, x_180);
x_182 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_181, x_5, x_6, x_7, x_8, x_9, x_10, x_180);
x_183 = lean_ctor_get(x_182, 0);
lean_inc(x_183);
x_184 = lean_ctor_get(x_182, 1);
@ -3012,12 +3012,12 @@ x_89 = l_Lean_nullKind___closed__2;
x_90 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_90, 0, x_89);
lean_ctor_set(x_90, 1, x_88);
x_91 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_91 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_92 = lean_array_push(x_91, x_90);
x_93 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_93 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_94 = lean_array_push(x_92, x_93);
x_95 = lean_array_push(x_94, x_49);
x_96 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_96 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_97 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_97, 0, x_96);
lean_ctor_set(x_97, 1, x_95);
@ -3068,7 +3068,7 @@ x_154 = lean_ctor_get(x_148, 1);
lean_inc(x_154);
lean_dec(x_148);
x_155 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___closed__4;
x_156 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_155, x_5, x_6, x_7, x_8, x_9, x_10, x_154);
x_156 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_155, x_5, x_6, x_7, x_8, x_9, x_10, x_154);
x_157 = lean_ctor_get(x_156, 0);
lean_inc(x_157);
x_158 = lean_ctor_get(x_156, 1);
@ -3309,12 +3309,12 @@ x_243 = l_Lean_nullKind___closed__2;
x_244 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_244, 0, x_243);
lean_ctor_set(x_244, 1, x_242);
x_245 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_245 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_246 = lean_array_push(x_245, x_244);
x_247 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_247 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_248 = lean_array_push(x_246, x_247);
x_249 = lean_array_push(x_248, x_199);
x_250 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_250 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_251 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_251, 0, x_250);
lean_ctor_set(x_251, 1, x_249);
@ -3365,7 +3365,7 @@ x_308 = lean_ctor_get(x_302, 1);
lean_inc(x_308);
lean_dec(x_302);
x_309 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___closed__4;
x_310 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_309, x_5, x_6, x_7, x_8, x_9, x_10, x_308);
x_310 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_309, x_5, x_6, x_7, x_8, x_9, x_10, x_308);
x_311 = lean_ctor_get(x_310, 0);
lean_inc(x_311);
x_312 = lean_ctor_get(x_310, 1);
@ -25534,7 +25534,7 @@ x_75 = lean_ctor_get(x_69, 1);
lean_inc(x_75);
lean_dec(x_69);
x_76 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___closed__2;
x_77 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_76, x_6, x_7, x_8, x_9, x_10, x_11, x_75);
x_77 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_76, x_6, x_7, x_8, x_9, x_10, x_11, x_75);
x_78 = lean_ctor_get(x_77, 0);
lean_inc(x_78);
x_79 = lean_ctor_get(x_77, 1);

View file

@ -88,7 +88,6 @@ lean_object* lean_st_ref_get(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_elabModifiers___rarg___closed__2;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__11;
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabStructure_match__1(lean_object*);
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -361,6 +360,7 @@ lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_Structure_0__Le
extern lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___closed__2;
lean_object* l_Lean_Elab_Command_elabStructure___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_CollectLevelParams_State_inhabited___closed__1;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__11;
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_loop___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParamAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -439,10 +439,10 @@ lean_object* l_List_forM___main___at___private_Lean_Elab_Structure_0__Lean_Elab_
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___closed__10;
lean_object* l_Array_toList___rarg(lean_object*);
extern lean_object* l_Lean_Elab_Command_CtorView_inhabited___closed__1;
lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__7;
lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_expr_abstract(lean_object*, lean_object*);
lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -475,7 +475,6 @@ lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields_m
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__8___closed__1;
lean_object* l_Lean_Meta_mkAuxDefinition___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forMAux___main___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParamFVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_checkValidCtorModifier(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParamFVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -489,6 +488,7 @@ lean_object* l_Lean_Elab_Command_elabStructure___closed__7;
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_findFieldInfo_x3f(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withUsed_match__1___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParamFVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___lambda__2___closed__1;
extern lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3___closed__2;
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___closed__1;
@ -11144,7 +11144,7 @@ x_38 = lean_ctor_get(x_32, 1);
lean_inc(x_38);
lean_dec(x_32);
x_39 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_517____closed__4;
x_40 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_39, x_7, x_8, x_9, x_10, x_38);
x_40 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_39, x_7, x_8, x_9, x_10, x_38);
x_41 = lean_ctor_get(x_40, 0);
lean_inc(x_41);
x_42 = lean_ctor_get(x_40, 1);
@ -11198,7 +11198,7 @@ x_26 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_26, 0, x_25);
lean_ctor_set(x_26, 1, x_16);
x_27 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_517____closed__4;
x_28 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_27, x_26, x_7, x_8, x_9, x_10, x_13);
x_28 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_27, x_26, x_7, x_8, x_9, x_10, x_13);
x_29 = lean_ctor_get(x_28, 1);
lean_inc(x_29);
lean_dec(x_28);
@ -13612,7 +13612,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Elab_Level_elabLevel___closed__6;
x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__11;
x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__11;
x_3 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_3, 0, x_1);
lean_ctor_set(x_3, 1, x_2);

View file

@ -50,6 +50,7 @@ extern lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_534__
lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__34;
lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Term_toParserDescrAux___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabMacroRulesAux___closed__22;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__161;
lean_object* l_Lean_Elab_Term_checkLeftRec___lambda__2___closed__5;
lean_object* l_Lean_Elab_Command_elabMacroRulesAux___closed__18;
@ -172,6 +173,7 @@ lean_object* l_Lean_Elab_Term_toParserDescrAux_match__6(lean_object*);
lean_object* l___private_Init_LeanInit_16__filterSepElemsMAux___main___at_Lean_Elab_Command_elabNoKindMacroRulesAux___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabSyntax___lambda__3___closed__6;
lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__52;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__14;
lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Term_mkParserSeq___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__29;
lean_object* l_Lean_Elab_Command_elabSyntax___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -311,7 +313,6 @@ lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQ
lean_object* l___regBuiltin_Lean_Elab_Command_elabSyntaxAbbrev(lean_object*);
lean_object* l_Lean_Elab_Command_expandMixfix___closed__9;
lean_object* lean_st_ref_take(lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__100;
lean_object* l_Lean_Elab_Command_elabNoKindMacroRulesAux___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_numLitKind;
@ -367,6 +368,7 @@ lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__137;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__54;
extern lean_object* l_Lean_Elab_Attribute_hasFormat___closed__1;
lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_elabKindPrio___closed__7;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Term_toParserDescrAux___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_replaceRef(lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
@ -503,6 +505,7 @@ lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Elab_Syntax_0__Lean
lean_object* l_Lean_Elab_Command_expandMixfix___closed__11;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__25;
extern lean_object* l_Lean_setOptionFromString___closed__5;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
lean_object* l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_quotedSymbolKind;
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Command_expandMacro___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
@ -530,7 +533,6 @@ lean_object* l_Lean_Elab_Command_expandElab___closed__25;
lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Elab_Syntax_0__Lean_Elab_Term_mkParserSeq___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabBinders___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_elabKindPrio(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
lean_object* l_Lean_Elab_Term_checkLeftRec___closed__6;
extern lean_object* l_Lean_Meta_DiscrTree_Trie_format___rarg___closed__1;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__60;
@ -585,7 +587,6 @@ lean_object* l_Lean_Elab_Term_toParserDescrAux___lambda__1___closed__4;
lean_object* l_Lean_Name_appendAfter(lean_object*, lean_object*);
extern lean_object* l_Lean_mkAppStx___closed__5;
lean_object* l_Lean_Elab_Term_toParserDescrAux_match__6___rarg(lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__14;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__44;
lean_object* l_Lean_Elab_Command_expandElab___closed__37;
lean_object* l_Lean_Syntax_getNumArgs(lean_object*);
@ -667,6 +668,7 @@ lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__104;
extern lean_object* l_Lean_Elab_Tactic_evalOrelse___closed__1;
lean_object* l_Lean_Elab_Command_mkKind___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkStxStrLit(lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__39;
lean_object* l_Array_findMAux___main___at_Lean_Elab_Command_elabMacroRulesAux___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabMacroRulesAux___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -708,7 +710,6 @@ lean_object* l_Lean_Macro_expandMacro_x3fImp(lean_object*, lean_object*, lean_ob
lean_object* l_Lean_Elab_Command_elabMacroRulesAux___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabSyntaxAbbrev___closed__4;
lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Term_toParserDescrAux___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
extern lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
lean_object* l_Lean_Elab_Command_elabSyntax___lambda__3___closed__3;
lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Term_withoutLeftRec(lean_object*);
@ -848,7 +849,6 @@ lean_object* l___regBuiltin_Lean_Elab_Command_elabSyntax___closed__2;
lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Elab_Syntax_0__Lean_Elab_Term_mkParserSeq___spec__1___closed__8;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__69;
lean_object* l_Lean_Elab_Command_elabMacroRulesAux___closed__12;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
lean_object* l_Lean_Elab_Command_elabMacroRulesAux_match__1(lean_object*);
lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_toParserDescrAux___spec__1___rarg(lean_object*);
lean_object* l_Lean_Elab_Command_expandMacroArgIntoSyntaxItem___boxed(lean_object*, lean_object*, lean_object*);
@ -14159,7 +14159,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Array_empty___closed__1;
x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__14;
x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__14;
x_3 = lean_array_push(x_1, x_2);
return x_3;
}
@ -14169,7 +14169,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Elab_Command_elabMacroRulesAux___closed__18;
x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_3 = lean_array_push(x_1, x_2);
return x_3;
}
@ -14487,9 +14487,9 @@ x_80 = lean_array_push(x_22, x_79);
x_81 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_81, 0, x_26);
lean_ctor_set(x_81, 1, x_80);
x_82 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_82 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_83 = lean_array_push(x_82, x_81);
x_84 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_84 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_85 = lean_array_push(x_83, x_84);
x_86 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_87 = lean_array_push(x_86, x_79);
@ -14551,7 +14551,7 @@ x_121 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_121, 0, x_120);
lean_ctor_set(x_121, 1, x_119);
x_122 = lean_array_push(x_85, x_121);
x_123 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_123 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_124 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_124, 0, x_123);
lean_ctor_set(x_124, 1, x_122);
@ -14695,9 +14695,9 @@ x_201 = lean_array_push(x_143, x_200);
x_202 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_202, 0, x_147);
lean_ctor_set(x_202, 1, x_201);
x_203 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_203 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_204 = lean_array_push(x_203, x_202);
x_205 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_205 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_206 = lean_array_push(x_204, x_205);
x_207 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_208 = lean_array_push(x_207, x_200);
@ -14759,7 +14759,7 @@ x_242 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_242, 0, x_241);
lean_ctor_set(x_242, 1, x_240);
x_243 = lean_array_push(x_206, x_242);
x_244 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_244 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_245 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_245, 0, x_244);
lean_ctor_set(x_245, 1, x_243);
@ -16613,7 +16613,7 @@ lean_ctor_set(x_361, 1, x_360);
x_362 = l_Lean_Elab_Command_expandMixfix___closed__32;
x_363 = lean_array_push(x_362, x_361);
x_364 = lean_array_push(x_363, x_353);
x_365 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_365 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_366 = lean_array_push(x_364, x_365);
x_367 = lean_array_push(x_366, x_355);
x_368 = lean_alloc_ctor(1, 2, 0);
@ -16805,7 +16805,7 @@ x_77 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_77, 0, x_30);
lean_ctor_set(x_77, 1, x_76);
x_78 = lean_array_push(x_63, x_77);
x_79 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_79 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_80 = lean_array_push(x_78, x_79);
x_81 = lean_array_push(x_59, x_53);
x_82 = lean_alloc_ctor(1, 2, 0);
@ -16983,7 +16983,7 @@ x_143 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_143, 0, x_97);
lean_ctor_set(x_143, 1, x_142);
x_144 = lean_array_push(x_130, x_143);
x_145 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_145 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_146 = lean_array_push(x_144, x_145);
x_147 = lean_array_push(x_126, x_120);
x_148 = lean_alloc_ctor(1, 2, 0);
@ -17208,7 +17208,7 @@ x_233 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_233, 0, x_169);
lean_ctor_set(x_233, 1, x_232);
x_234 = lean_array_push(x_208, x_233);
x_235 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_235 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_236 = lean_array_push(x_234, x_235);
x_237 = lean_array_push(x_204, x_192);
x_238 = lean_array_push(x_214, x_224);
@ -17401,7 +17401,7 @@ x_308 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_308, 0, x_253);
lean_ctor_set(x_308, 1, x_307);
x_309 = lean_array_push(x_286, x_308);
x_310 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_310 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_311 = lean_array_push(x_309, x_310);
x_312 = lean_array_push(x_282, x_276);
x_313 = lean_array_push(x_293, x_303);
@ -18465,7 +18465,7 @@ x_59 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_59, 0, x_39);
lean_ctor_set(x_59, 1, x_58);
x_60 = lean_array_push(x_31, x_59);
x_61 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_61 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_62 = lean_array_push(x_60, x_61);
x_63 = lean_array_push(x_52, x_23);
x_64 = lean_array_push(x_63, x_54);
@ -18561,7 +18561,7 @@ x_118 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_118, 0, x_88);
lean_ctor_set(x_118, 1, x_117);
x_119 = lean_array_push(x_86, x_118);
x_120 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_120 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_121 = lean_array_push(x_119, x_120);
x_122 = lean_array_push(x_111, x_23);
x_123 = lean_array_push(x_122, x_113);
@ -18656,7 +18656,7 @@ x_172 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_172, 0, x_152);
lean_ctor_set(x_172, 1, x_171);
x_173 = lean_array_push(x_144, x_172);
x_174 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_174 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_175 = lean_array_push(x_173, x_174);
x_176 = lean_array_push(x_165, x_23);
x_177 = lean_array_push(x_176, x_167);
@ -18754,7 +18754,7 @@ x_232 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_232, 0, x_202);
lean_ctor_set(x_232, 1, x_231);
x_233 = lean_array_push(x_200, x_232);
x_234 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_234 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_235 = lean_array_push(x_233, x_234);
x_236 = lean_array_push(x_225, x_23);
x_237 = lean_array_push(x_236, x_227);
@ -19592,7 +19592,7 @@ x_80 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_80, 0, x_50);
lean_ctor_set(x_80, 1, x_79);
x_81 = lean_array_push(x_48, x_80);
x_82 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_82 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_83 = lean_array_push(x_81, x_82);
x_84 = lean_array_push(x_73, x_47);
x_85 = lean_array_push(x_84, x_75);
@ -19682,7 +19682,7 @@ x_136 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_136, 0, x_106);
lean_ctor_set(x_136, 1, x_135);
x_137 = lean_array_push(x_104, x_136);
x_138 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_138 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_139 = lean_array_push(x_137, x_138);
x_140 = lean_array_push(x_139, x_103);
x_141 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@ -19788,7 +19788,7 @@ x_197 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_197, 0, x_167);
lean_ctor_set(x_197, 1, x_196);
x_198 = lean_array_push(x_165, x_197);
x_199 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_199 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_200 = lean_array_push(x_198, x_199);
x_201 = lean_array_push(x_190, x_164);
x_202 = lean_array_push(x_201, x_192);
@ -19880,7 +19880,7 @@ x_254 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_254, 0, x_224);
lean_ctor_set(x_254, 1, x_253);
x_255 = lean_array_push(x_222, x_254);
x_256 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_256 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_257 = lean_array_push(x_255, x_256);
x_258 = lean_array_push(x_257, x_221);
x_259 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@ -21083,9 +21083,9 @@ x_147 = lean_array_push(x_65, x_146);
x_148 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_148, 0, x_67);
lean_ctor_set(x_148, 1, x_147);
x_149 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_149 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_150 = lean_array_push(x_149, x_148);
x_151 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_151 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_152 = lean_array_push(x_150, x_151);
x_153 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_154 = lean_array_push(x_153, x_146);
@ -21143,7 +21143,7 @@ x_189 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_189, 0, x_188);
lean_ctor_set(x_189, 1, x_187);
x_190 = lean_array_push(x_152, x_189);
x_191 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_191 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_192 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_192, 0, x_191);
lean_ctor_set(x_192, 1, x_190);
@ -21326,9 +21326,9 @@ x_290 = lean_array_push(x_207, x_289);
x_291 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_291, 0, x_209);
lean_ctor_set(x_291, 1, x_290);
x_292 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_292 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_293 = lean_array_push(x_292, x_291);
x_294 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_294 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_295 = lean_array_push(x_293, x_294);
x_296 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_297 = lean_array_push(x_296, x_289);
@ -21386,7 +21386,7 @@ x_332 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_332, 0, x_331);
lean_ctor_set(x_332, 1, x_330);
x_333 = lean_array_push(x_295, x_332);
x_334 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_334 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_335 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_335, 0, x_334);
lean_ctor_set(x_335, 1, x_333);
@ -21566,14 +21566,14 @@ lean_ctor_set(x_432, 2, x_430);
lean_ctor_set(x_432, 3, x_376);
lean_inc(x_432);
x_433 = lean_array_push(x_350, x_432);
x_434 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
x_434 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
x_435 = lean_array_push(x_433, x_434);
x_436 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_436, 0, x_352);
lean_ctor_set(x_436, 1, x_435);
x_437 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_437 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_438 = lean_array_push(x_437, x_436);
x_439 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_439 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_440 = lean_array_push(x_438, x_439);
x_441 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_442 = lean_array_push(x_441, x_432);
@ -21631,7 +21631,7 @@ x_477 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_477, 0, x_476);
lean_ctor_set(x_477, 1, x_475);
x_478 = lean_array_push(x_440, x_477);
x_479 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_479 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_480 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_480, 0, x_479);
lean_ctor_set(x_480, 1, x_478);
@ -21854,9 +21854,9 @@ x_593 = lean_array_push(x_588, x_592);
x_594 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_594, 0, x_507);
lean_ctor_set(x_594, 1, x_593);
x_595 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_595 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_596 = lean_array_push(x_595, x_594);
x_597 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_597 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_598 = lean_array_push(x_596, x_597);
x_599 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_600 = lean_array_push(x_599, x_587);
@ -21896,7 +21896,7 @@ lean_ctor_set(x_621, 1, x_620);
x_622 = lean_array_push(x_595, x_621);
x_623 = lean_array_push(x_622, x_597);
x_624 = lean_array_push(x_623, x_17);
x_625 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_625 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_626 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_626, 0, x_625);
lean_ctor_set(x_626, 1, x_624);
@ -22182,9 +22182,9 @@ x_773 = lean_array_push(x_691, x_772);
x_774 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_774, 0, x_693);
lean_ctor_set(x_774, 1, x_773);
x_775 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_775 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_776 = lean_array_push(x_775, x_774);
x_777 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_777 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_778 = lean_array_push(x_776, x_777);
x_779 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_780 = lean_array_push(x_779, x_772);
@ -22242,7 +22242,7 @@ x_815 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_815, 0, x_814);
lean_ctor_set(x_815, 1, x_813);
x_816 = lean_array_push(x_778, x_815);
x_817 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_817 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_818 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_818, 0, x_817);
lean_ctor_set(x_818, 1, x_816);
@ -22427,9 +22427,9 @@ x_917 = lean_array_push(x_834, x_916);
x_918 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_918, 0, x_836);
lean_ctor_set(x_918, 1, x_917);
x_919 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_919 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_920 = lean_array_push(x_919, x_918);
x_921 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_921 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_922 = lean_array_push(x_920, x_921);
x_923 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_924 = lean_array_push(x_923, x_916);
@ -22487,7 +22487,7 @@ x_959 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_959, 0, x_958);
lean_ctor_set(x_959, 1, x_957);
x_960 = lean_array_push(x_922, x_959);
x_961 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_961 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_962 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_962, 0, x_961);
lean_ctor_set(x_962, 1, x_960);
@ -22669,14 +22669,14 @@ lean_ctor_set(x_1060, 2, x_1058);
lean_ctor_set(x_1060, 3, x_1004);
lean_inc(x_1060);
x_1061 = lean_array_push(x_978, x_1060);
x_1062 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
x_1062 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
x_1063 = lean_array_push(x_1061, x_1062);
x_1064 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1064, 0, x_980);
lean_ctor_set(x_1064, 1, x_1063);
x_1065 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_1065 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_1066 = lean_array_push(x_1065, x_1064);
x_1067 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_1067 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1068 = lean_array_push(x_1066, x_1067);
x_1069 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_1070 = lean_array_push(x_1069, x_1060);
@ -22734,7 +22734,7 @@ x_1105 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1105, 0, x_1104);
lean_ctor_set(x_1105, 1, x_1103);
x_1106 = lean_array_push(x_1068, x_1105);
x_1107 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_1107 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_1108 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1108, 0, x_1107);
lean_ctor_set(x_1108, 1, x_1106);
@ -22958,9 +22958,9 @@ x_1222 = lean_array_push(x_1217, x_1221);
x_1223 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1223, 0, x_1136);
lean_ctor_set(x_1223, 1, x_1222);
x_1224 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
x_1224 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_1225 = lean_array_push(x_1224, x_1223);
x_1226 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_1226 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1227 = lean_array_push(x_1225, x_1226);
x_1228 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_1229 = lean_array_push(x_1228, x_1216);
@ -23000,7 +23000,7 @@ lean_ctor_set(x_1250, 1, x_1249);
x_1251 = lean_array_push(x_1224, x_1250);
x_1252 = lean_array_push(x_1251, x_1226);
x_1253 = lean_array_push(x_1252, x_17);
x_1254 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
x_1254 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_1255 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1255, 0, x_1254);
lean_ctor_set(x_1255, 1, x_1253);

View file

@ -65,7 +65,6 @@ lean_object* l_Lean_fmt___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Ter
lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSyntheticMVarsStep___closed__3;
lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizePendingCoeInstMVar_match__1(lean_object*);
lean_object* l_Lean_Elab_Term_synthesizeUsingDefault(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_filterAuxM___main___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSyntheticMVarsStep___spec__2___closed__8;
lean_object* l_Lean_Meta_assignExprMVar___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_logTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -141,6 +140,7 @@ lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSy
lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSyntheticMVarsStep___closed__4;
lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_resumePostponed___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_forInAux___main___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_reportStuckSyntheticMVars___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_forInAux___main___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_reportStuckSyntheticMVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_filterAuxM___main___at_Lean_Elab_Term_synthesizeUsingDefault___spec__1___lambda__2___closed__4;
lean_object* l_List_filterAuxM___main___at_Lean_Elab_Term_synthesizeUsingDefault___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -2932,7 +2932,7 @@ return x_13;
}
else
{
lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72;
lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70; lean_object* x_81; lean_object* x_82; lean_object* x_83; uint8_t x_84;
x_14 = lean_ctor_get(x_4, 0);
lean_inc(x_14);
x_15 = lean_ctor_get(x_4, 1);
@ -2966,112 +2966,43 @@ x_67 = lean_alloc_closure((void*)(l_List_filterAuxM___main___at___private_Lean_E
lean_closure_set(x_67, 0, x_66);
x_68 = lean_alloc_closure((void*)(l_ReaderT_lift___rarg___boxed), 2, 1);
lean_closure_set(x_68, 0, x_67);
x_69 = lean_st_ref_get(x_11, x_12);
x_70 = lean_ctor_get(x_69, 0);
lean_inc(x_70);
x_71 = lean_ctor_get(x_70, 3);
lean_inc(x_71);
lean_dec(x_70);
x_72 = lean_ctor_get_uint8(x_71, sizeof(void*)*1);
lean_dec(x_71);
if (x_72 == 0)
{
lean_object* x_73;
lean_dec(x_68);
lean_dec(x_60);
x_73 = lean_ctor_get(x_69, 1);
lean_inc(x_73);
lean_dec(x_69);
x_25 = x_73;
goto block_59;
}
else
{
lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77;
x_74 = lean_ctor_get(x_69, 1);
lean_inc(x_74);
lean_dec(x_69);
lean_inc(x_24);
x_75 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_24, x_6, x_7, x_8, x_9, x_10, x_11, x_74);
x_76 = lean_ctor_get(x_75, 0);
lean_inc(x_76);
x_77 = lean_unbox(x_76);
lean_dec(x_76);
if (x_77 == 0)
{
lean_object* x_78;
lean_dec(x_68);
lean_dec(x_60);
x_78 = lean_ctor_get(x_75, 1);
lean_inc(x_78);
lean_dec(x_75);
x_25 = x_78;
goto block_59;
}
else
{
lean_object* x_79; lean_object* x_80;
x_79 = lean_ctor_get(x_75, 1);
lean_inc(x_79);
lean_dec(x_75);
lean_inc(x_11);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
x_80 = l_Lean_Meta_withMVarContext___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSyntheticMVarsStep___spec__1___rarg(x_60, x_68, x_6, x_7, x_8, x_9, x_10, x_11, x_79);
if (lean_obj_tag(x_80) == 0)
{
lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
x_81 = lean_ctor_get(x_80, 0);
lean_inc(x_81);
x_82 = lean_ctor_get(x_80, 1);
x_81 = lean_st_ref_get(x_11, x_12);
x_82 = lean_ctor_get(x_81, 0);
lean_inc(x_82);
lean_dec(x_80);
lean_inc(x_24);
x_83 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_24, x_81, x_6, x_7, x_8, x_9, x_10, x_11, x_82);
x_84 = lean_ctor_get(x_83, 1);
lean_inc(x_84);
x_83 = lean_ctor_get(x_82, 3);
lean_inc(x_83);
lean_dec(x_82);
x_84 = lean_ctor_get_uint8(x_83, sizeof(void*)*1);
lean_dec(x_83);
x_25 = x_84;
goto block_59;
if (x_84 == 0)
{
lean_object* x_85; uint8_t x_86;
x_85 = lean_ctor_get(x_81, 1);
lean_inc(x_85);
lean_dec(x_81);
x_86 = 0;
x_69 = x_86;
x_70 = x_85;
goto block_80;
}
else
{
uint8_t x_85;
lean_dec(x_24);
lean_dec(x_16);
lean_dec(x_15);
lean_dec(x_14);
lean_dec(x_11);
lean_dec(x_10);
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_3);
x_85 = !lean_is_exclusive(x_80);
if (x_85 == 0)
{
return x_80;
}
else
{
lean_object* x_86; lean_object* x_87; lean_object* x_88;
x_86 = lean_ctor_get(x_80, 0);
x_87 = lean_ctor_get(x_80, 1);
lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; uint8_t x_91;
x_87 = lean_ctor_get(x_81, 1);
lean_inc(x_87);
lean_inc(x_86);
lean_dec(x_80);
x_88 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_88, 0, x_86);
lean_ctor_set(x_88, 1, x_87);
return x_88;
}
}
}
lean_dec(x_81);
lean_inc(x_24);
x_88 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_24, x_6, x_7, x_8, x_9, x_10, x_11, x_87);
x_89 = lean_ctor_get(x_88, 0);
lean_inc(x_89);
x_90 = lean_ctor_get(x_88, 1);
lean_inc(x_90);
lean_dec(x_88);
x_91 = lean_unbox(x_89);
lean_dec(x_89);
x_69 = x_91;
x_70 = x_90;
goto block_80;
}
block_22:
{
@ -3144,7 +3075,7 @@ x_50 = lean_ctor_get(x_44, 1);
lean_inc(x_50);
lean_dec(x_44);
lean_inc(x_24);
x_51 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_24, x_6, x_7, x_8, x_9, x_10, x_11, x_50);
x_51 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_24, x_6, x_7, x_8, x_9, x_10, x_11, x_50);
x_52 = lean_ctor_get(x_51, 0);
lean_inc(x_52);
x_53 = lean_ctor_get(x_51, 1);
@ -3250,6 +3181,77 @@ return x_58;
}
}
}
block_80:
{
if (x_69 == 0)
{
lean_dec(x_68);
lean_dec(x_60);
x_25 = x_70;
goto block_59;
}
else
{
lean_object* x_71;
lean_inc(x_11);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
x_71 = l_Lean_Meta_withMVarContext___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSyntheticMVarsStep___spec__1___rarg(x_60, x_68, x_6, x_7, x_8, x_9, x_10, x_11, x_70);
if (lean_obj_tag(x_71) == 0)
{
lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75;
x_72 = lean_ctor_get(x_71, 0);
lean_inc(x_72);
x_73 = lean_ctor_get(x_71, 1);
lean_inc(x_73);
lean_dec(x_71);
lean_inc(x_24);
x_74 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_24, x_72, x_6, x_7, x_8, x_9, x_10, x_11, x_73);
x_75 = lean_ctor_get(x_74, 1);
lean_inc(x_75);
lean_dec(x_74);
x_25 = x_75;
goto block_59;
}
else
{
uint8_t x_76;
lean_dec(x_24);
lean_dec(x_16);
lean_dec(x_15);
lean_dec(x_14);
lean_dec(x_11);
lean_dec(x_10);
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_3);
x_76 = !lean_is_exclusive(x_71);
if (x_76 == 0)
{
return x_71;
}
else
{
lean_object* x_77; lean_object* x_78; lean_object* x_79;
x_77 = lean_ctor_get(x_71, 0);
x_78 = lean_ctor_get(x_71, 1);
lean_inc(x_78);
lean_inc(x_77);
lean_dec(x_71);
x_79 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_79, 0, x_77);
lean_ctor_set(x_79, 1, x_78);
return x_79;
}
}
}
}
}
}
}

View file

@ -212,6 +212,7 @@ lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at___pr
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_sortFVarIds___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_evalTacticUsing_loop___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__2___closed__1;
lean_object* l_Lean_Meta_getMVarType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isExprMVarAssigned___at_Lean_Elab_Tactic_pruneSolvedGoals___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_setMCtx___at_Lean_Elab_Tactic_BacktrackableState_restore___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -252,6 +253,7 @@ lean_object* l___regBuiltin_Lean_Elab_Tactic_evalTacticSeqBracketed___closed__3;
lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Tactic_evalChoiceAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Tactic_evalTacticSeq1Indented___closed__2;
lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSkip(lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
uint8_t l_Lean_Expr_hasExprMVar(lean_object*);
lean_object* l_Lean_replaceRef(lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
@ -310,7 +312,6 @@ lean_object* l_Lean_Elab_Tactic_evalSeq1(lean_object*, lean_object*, lean_object
lean_object* l_Lean_Elab_Tactic_getMainModule___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalTacticSeq___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_getMainGoal(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_Term_SavedState_inhabited___closed__1;
lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSubst(lean_object*);
lean_object* l_Lean_Elab_Tactic_evalTacticSeq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_erase___main___at_Lean_Elab_Tactic_evalCase___spec__1(lean_object*, lean_object*);
@ -373,7 +374,6 @@ lean_object* l_Lean_Elab_Tactic_evalOrelse(lean_object*, lean_object*, lean_obje
lean_object* l___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_introStep(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withMVarContextImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalAssumption___boxed(lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
lean_object* l_Lean_Elab_Tactic_forEachVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_nullKind___closed__2;
lean_object* l_Lean_Elab_Tactic_evalRevert(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -469,6 +469,7 @@ lean_object* l_Lean_Elab_Tactic_catch___rarg(lean_object*, lean_object*, lean_ob
lean_object* l_Lean_Elab_Tactic_TacticM_run___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalChoiceAux(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_Tactic_evalFocus___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
lean_object* l_Lean_Syntax_getPos(lean_object*);
lean_object* lean_metavar_ctx_find_decl(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalIntro___closed__5;
@ -595,7 +596,6 @@ lean_object* l_Lean_Elab_Term_reportUnsolvedGoals___closed__2;
extern lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__4;
extern lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__17;
lean_object* l___regBuiltin_Lean_Elab_Tactic_evalIntroMatch___closed__3;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_sortFVarIds___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_TacticM_run_x27___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_log___at_Lean_Elab_Tactic_evalTactic___spec__8(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -1316,7 +1316,7 @@ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_obj
x_1 = lean_box(0);
x_2 = l_Lean_Core_State_inhabited___closed__2;
x_3 = l_Lean_Meta_State_inhabited___closed__1;
x_4 = l_Lean_Elab_Term_SavedState_inhabited___closed__1;
x_4 = l_Lean_Elab_Term_Lean_Elab_Term___instance__2___closed__1;
x_5 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_5, 0, x_2);
lean_ctor_set(x_5, 1, x_3);
@ -9787,9 +9787,9 @@ x_118 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_118, 0, x_72);
lean_ctor_set(x_118, 1, x_117);
x_119 = lean_array_push(x_96, x_118);
x_120 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_120 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_121 = lean_array_push(x_119, x_120);
x_122 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
x_122 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
x_123 = lean_array_push(x_121, x_122);
x_124 = l_Lean_Elab_Tactic_evalIntro___closed__6;
x_125 = lean_alloc_ctor(1, 2, 0);

View file

@ -60,7 +60,6 @@ lean_object* l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(lean_
lean_object* l_Lean_Elab_Tactic_expandShowTactic___closed__11;
lean_object* l_Lean_Elab_Tactic_expandSufficesTactic(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Binders_0__Lean_Elab_Tactic_liftTermBinderSyntax_match__1(lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
extern lean_object* l_Lean_nullKind___closed__2;
lean_object* l_Lean_mkAtomFrom(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_expandLetBangTactic___boxed(lean_object*, lean_object*, lean_object*);
@ -75,6 +74,7 @@ lean_object* l___private_Lean_Elab_Tactic_Binders_0__Lean_Elab_Tactic_liftTermBi
lean_object* l_Lean_Syntax_getKind(lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Tactic_expandShowTactic___closed__2;
lean_object* l___regBuiltin_Lean_Elab_Tactic_expandHaveTactic___closed__2;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
extern lean_object* l_Lean_mkAppStx___closed__9;
lean_object* l___private_Lean_Elab_Tactic_Binders_0__Lean_Elab_Tactic_liftTermBinderSyntax___closed__2;
extern lean_object* l_Lean_Level_LevelToFormat_toResult___closed__4;
@ -189,7 +189,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l___private_Lean_Elab_Tactic_Binders_0__Lean_Elab_Tactic_liftTermBinderSyntax___closed__2;
x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
x_3 = lean_array_push(x_1, x_2);
return x_3;
}

View file

@ -92,7 +92,6 @@ lean_object* l_Lean_Elab_Tactic_getInductiveValFromMajor___lambda__1___closed__1
lean_object* l_Lean_Elab_Tactic_RecInfo_altRHSs___default;
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo_match__3___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault_match__2(lean_object*);
lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkCasesResult_loop___closed__4;
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalInduction_match__1___rarg(lean_object*, lean_object*);
@ -190,6 +189,7 @@ lean_object* l_Array_findIdxAux___main___at___private_Lean_Elab_Tactic_Induction
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkCasesResult(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generalizeVars___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_throwUnknownConstant___rarg___closed__3;
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_redLength___main___rarg(lean_object*);
lean_object* l_Lean_Meta_getMVarsNoDelayedImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*);
@ -214,6 +214,7 @@ lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processR
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__6;
lean_object* l_Lean_Meta_mkRecursorInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generalizeVars___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Syntax_isMissing(lean_object*);
lean_object* l_Lean_Meta_throwTacticEx___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkCasesResult_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -278,6 +279,7 @@ lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecFr
lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_getRecFromUsing___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_elabTerm(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Tactic_evalCases___spec__1(lean_object*, lean_object*);
extern lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1___closed__1;
uint8_t l_Lean_Syntax_isNone(lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Tactic_evalIntros___spec__1(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -340,7 +342,6 @@ lean_object* l_Lean_Elab_Tactic_evalCases_match__1___rarg(lean_object*, lean_obj
lean_object* l_Lean_Elab_Tactic_liftMetaTacticAux___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___closed__3;
lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_elabMajor_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_findIdxAux___main___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_induction(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -1806,7 +1807,7 @@ return x_60;
}
}
}
lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_11; uint8_t x_12; lean_object* x_13; lean_object* x_14;
@ -1874,191 +1875,201 @@ return x_2;
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) {
_start:
{
uint8_t x_15;
x_15 = x_4 < x_3;
if (x_15 == 0)
lean_object* x_15; lean_object* x_16; uint8_t x_22;
x_22 = x_4 < x_3;
if (x_22 == 0)
{
lean_object* x_16;
lean_object* x_23;
lean_dec(x_12);
x_16 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_16, 0, x_5);
lean_ctor_set(x_16, 1, x_14);
return x_16;
x_23 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_23, 0, x_5);
lean_ctor_set(x_23, 1, x_14);
return x_23;
}
else
{
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50; lean_object* x_51; lean_object* x_64; lean_object* x_65; lean_object* x_66; uint8_t x_67;
lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54; lean_object* x_55; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71;
lean_dec(x_5);
x_17 = lean_array_uget(x_2, x_4);
x_18 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltName(x_17);
x_44 = lean_ctor_get(x_12, 0);
lean_inc(x_44);
x_45 = lean_ctor_get(x_12, 1);
lean_inc(x_45);
x_46 = lean_ctor_get(x_12, 2);
lean_inc(x_46);
x_47 = lean_ctor_get(x_12, 3);
lean_inc(x_47);
x_48 = l_Lean_replaceRef(x_17, x_47);
lean_dec(x_47);
x_49 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_49, 0, x_44);
lean_ctor_set(x_49, 1, x_45);
lean_ctor_set(x_49, 2, x_46);
lean_ctor_set(x_49, 3, x_48);
x_64 = lean_st_ref_get(x_13, x_14);
x_65 = lean_ctor_get(x_64, 0);
lean_inc(x_65);
x_66 = lean_ctor_get(x_65, 3);
x_24 = lean_array_uget(x_2, x_4);
x_25 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltName(x_24);
x_48 = lean_ctor_get(x_12, 0);
lean_inc(x_48);
x_49 = lean_ctor_get(x_12, 1);
lean_inc(x_49);
x_50 = lean_ctor_get(x_12, 2);
lean_inc(x_50);
x_51 = lean_ctor_get(x_12, 3);
lean_inc(x_51);
x_52 = l_Lean_replaceRef(x_24, x_51);
lean_dec(x_51);
x_53 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_53, 0, x_48);
lean_ctor_set(x_53, 1, x_49);
lean_ctor_set(x_53, 2, x_50);
lean_ctor_set(x_53, 3, x_52);
x_68 = lean_st_ref_get(x_13, x_14);
x_69 = lean_ctor_get(x_68, 0);
lean_inc(x_69);
x_70 = lean_ctor_get(x_69, 3);
lean_inc(x_70);
lean_dec(x_69);
x_71 = lean_ctor_get_uint8(x_70, sizeof(void*)*1);
lean_dec(x_70);
if (x_71 == 0)
{
lean_object* x_72; uint8_t x_73;
x_72 = lean_ctor_get(x_68, 1);
lean_inc(x_72);
lean_dec(x_68);
x_73 = 0;
x_54 = x_73;
x_55 = x_72;
goto block_67;
}
else
{
lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; uint8_t x_79;
x_74 = lean_ctor_get(x_68, 1);
lean_inc(x_74);
lean_dec(x_68);
x_75 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__4;
x_76 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3(x_75, x_6, x_7, x_8, x_9, x_10, x_11, x_53, x_13, x_74);
x_77 = lean_ctor_get(x_76, 0);
lean_inc(x_77);
x_78 = lean_ctor_get(x_76, 1);
lean_inc(x_78);
lean_dec(x_76);
x_79 = lean_unbox(x_77);
lean_dec(x_77);
x_54 = x_79;
x_55 = x_78;
goto block_67;
}
block_47:
{
uint8_t x_27; lean_object* x_42; uint8_t x_43;
x_42 = l_Lean_mkSimpleThunk___closed__1;
x_43 = lean_name_eq(x_25, x_42);
if (x_43 == 0)
{
uint8_t x_44; uint8_t x_45;
x_44 = 0;
x_45 = l_List_foldr___main___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__1(x_25, x_44, x_1);
x_27 = x_45;
goto block_41;
}
else
{
uint8_t x_46;
x_46 = 1;
x_27 = x_46;
goto block_41;
}
block_41:
{
if (x_27 == 0)
{
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36;
x_28 = lean_unsigned_to_nat(0u);
x_29 = l_Lean_Syntax_getArg(x_24, x_28);
lean_dec(x_24);
x_30 = lean_alloc_ctor(4, 1, 0);
lean_ctor_set(x_30, 0, x_25);
x_31 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__2;
x_32 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_32, 0, x_31);
lean_ctor_set(x_32, 1, x_30);
x_33 = l_Lean_getConstInfo___rarg___lambda__1___closed__2;
x_34 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_34, 0, x_32);
lean_ctor_set(x_34, 1, x_33);
x_35 = l_Lean_throwErrorAt___at_Lean_Elab_Tactic_expandTacticMacroFns_loop___spec__1___rarg(x_29, x_34, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_26);
lean_dec(x_29);
x_36 = !lean_is_exclusive(x_35);
if (x_36 == 0)
{
return x_35;
}
else
{
lean_object* x_37; lean_object* x_38; lean_object* x_39;
x_37 = lean_ctor_get(x_35, 0);
x_38 = lean_ctor_get(x_35, 1);
lean_inc(x_38);
lean_inc(x_37);
lean_dec(x_35);
x_39 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_39, 0, x_37);
lean_ctor_set(x_39, 1, x_38);
return x_39;
}
}
else
{
lean_object* x_40;
lean_dec(x_25);
lean_dec(x_24);
x_40 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1___closed__1;
x_15 = x_40;
x_16 = x_26;
goto block_21;
}
}
}
block_67:
{
if (x_54 == 0)
{
lean_dec(x_53);
x_26 = x_55;
goto block_47;
}
else
{
lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66;
lean_inc(x_25);
x_56 = lean_alloc_ctor(4, 1, 0);
lean_ctor_set(x_56, 0, x_25);
x_57 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
x_58 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_58, 0, x_57);
lean_ctor_set(x_58, 1, x_56);
x_59 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__6;
x_60 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_60, 0, x_58);
lean_ctor_set(x_60, 1, x_59);
lean_inc(x_24);
x_61 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_61, 0, x_24);
x_62 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_62, 0, x_60);
lean_ctor_set(x_62, 1, x_61);
x_63 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_63, 0, x_62);
lean_ctor_set(x_63, 1, x_57);
x_64 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__4;
x_65 = l_Lean_addTrace___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__2(x_64, x_63, x_6, x_7, x_8, x_9, x_10, x_11, x_53, x_13, x_55);
lean_dec(x_53);
x_66 = lean_ctor_get(x_65, 1);
lean_inc(x_66);
lean_dec(x_65);
x_67 = lean_ctor_get_uint8(x_66, sizeof(void*)*1);
lean_dec(x_66);
if (x_67 == 0)
{
lean_object* x_68; uint8_t x_69;
x_68 = lean_ctor_get(x_64, 1);
lean_inc(x_68);
lean_dec(x_64);
x_69 = 0;
x_50 = x_69;
x_51 = x_68;
goto block_63;
}
else
{
lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75;
x_70 = lean_ctor_get(x_64, 1);
lean_inc(x_70);
lean_dec(x_64);
x_71 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__4;
x_72 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3(x_71, x_6, x_7, x_8, x_9, x_10, x_11, x_49, x_13, x_70);
x_73 = lean_ctor_get(x_72, 0);
lean_inc(x_73);
x_74 = lean_ctor_get(x_72, 1);
lean_inc(x_74);
lean_dec(x_72);
x_75 = lean_unbox(x_73);
lean_dec(x_73);
x_50 = x_75;
x_51 = x_74;
goto block_63;
}
block_43:
{
uint8_t x_20; lean_object* x_38; uint8_t x_39;
x_38 = l_Lean_mkSimpleThunk___closed__1;
x_39 = lean_name_eq(x_18, x_38);
if (x_39 == 0)
{
uint8_t x_40; uint8_t x_41;
x_40 = 0;
x_41 = l_List_foldr___main___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__1(x_18, x_40, x_1);
x_20 = x_41;
goto block_37;
}
else
{
uint8_t x_42;
x_42 = 1;
x_20 = x_42;
goto block_37;
}
block_37:
{
if (x_20 == 0)
{
lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29;
x_21 = lean_unsigned_to_nat(0u);
x_22 = l_Lean_Syntax_getArg(x_17, x_21);
lean_dec(x_17);
x_23 = lean_alloc_ctor(4, 1, 0);
lean_ctor_set(x_23, 0, x_18);
x_24 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__2;
x_25 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_25, 0, x_24);
lean_ctor_set(x_25, 1, x_23);
x_26 = l_Lean_getConstInfo___rarg___lambda__1___closed__2;
x_27 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_27, 0, x_25);
lean_ctor_set(x_27, 1, x_26);
x_28 = l_Lean_throwErrorAt___at_Lean_Elab_Tactic_expandTacticMacroFns_loop___spec__1___rarg(x_22, x_27, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_19);
lean_dec(x_22);
x_29 = !lean_is_exclusive(x_28);
if (x_29 == 0)
{
return x_28;
}
else
{
lean_object* x_30; lean_object* x_31; lean_object* x_32;
x_30 = lean_ctor_get(x_28, 0);
x_31 = lean_ctor_get(x_28, 1);
lean_inc(x_31);
lean_inc(x_30);
lean_dec(x_28);
x_32 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_32, 0, x_30);
lean_ctor_set(x_32, 1, x_31);
return x_32;
}
}
else
{
size_t x_33; size_t x_34; lean_object* x_35;
lean_dec(x_18);
lean_dec(x_17);
x_33 = 1;
x_34 = x_4 + x_33;
x_35 = lean_box(0);
x_4 = x_34;
x_5 = x_35;
x_14 = x_19;
goto _start;
x_26 = x_66;
goto block_47;
}
}
}
block_63:
block_21:
{
if (x_50 == 0)
{
lean_dec(x_49);
x_19 = x_51;
goto block_43;
}
else
{
lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62;
lean_inc(x_18);
x_52 = lean_alloc_ctor(4, 1, 0);
lean_ctor_set(x_52, 0, x_18);
x_53 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
x_54 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_54, 0, x_53);
lean_ctor_set(x_54, 1, x_52);
x_55 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__6;
x_56 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_56, 0, x_54);
lean_ctor_set(x_56, 1, x_55);
lean_object* x_17; size_t x_18; size_t x_19;
x_17 = lean_ctor_get(x_15, 0);
lean_inc(x_17);
x_57 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_57, 0, x_17);
x_58 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_58, 0, x_56);
lean_ctor_set(x_58, 1, x_57);
x_59 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_59, 0, x_58);
lean_ctor_set(x_59, 1, x_53);
x_60 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__4;
x_61 = l_Lean_addTrace___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__2(x_60, x_59, x_6, x_7, x_8, x_9, x_10, x_11, x_49, x_13, x_51);
lean_dec(x_49);
x_62 = lean_ctor_get(x_61, 1);
lean_inc(x_62);
lean_dec(x_61);
x_19 = x_62;
goto block_43;
}
}
lean_dec(x_15);
x_18 = 1;
x_19 = x_4 + x_18;
x_4 = x_19;
x_5 = x_17;
x_14 = x_16;
goto _start;
}
}
}
@ -2147,11 +2158,11 @@ lean_dec(x_3);
return x_12;
}
}
lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_11;
x_11 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
x_11 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);

View file

@ -47,6 +47,7 @@ lean_object* lean_st_ref_take(lean_object*, lean_object*);
lean_object* l_Lean_Name_append___main(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Match_0__Lean_Elab_Tactic_mkAuxiliaryMatchTermAux___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalMatch_match__1(lean_object*);
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_expandMacro_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_mapSepElemsM___at___private_Lean_Elab_Tactic_Match_0__Lean_Elab_Tactic_mkAuxiliaryMatchTermAux___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_appendIndexAfter(lean_object*, lean_object*);
@ -85,7 +86,6 @@ lean_object* l___private_Lean_Elab_Tactic_Match_0__Lean_Elab_Tactic_mkAuxiliaryM
lean_object* l___private_Lean_Elab_Tactic_Match_0__Lean_Elab_Tactic_mkAuxiliaryMatchTerm(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_mapSepElemsM___at___private_Lean_Elab_Tactic_Match_0__Lean_Elab_Tactic_mkAuxiliaryMatchTermAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalMatch___closed__1;
extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
extern lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed__1;
extern lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss___closed__4;
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
@ -302,7 +302,7 @@ lean_ctor_set(x_25, 1, x_24);
x_26 = l_Lean_Syntax_getArg(x_25, x_14);
x_27 = l___private_Lean_Elab_Tactic_Match_0__Lean_Elab_Tactic_mkAuxiliaryMatchTermAux___lambda__1___closed__4;
x_28 = lean_array_push(x_27, x_26);
x_29 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
x_29 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_30 = lean_array_push(x_28, x_29);
x_31 = lean_array_push(x_30, x_9);
x_32 = l_Lean_Elab_Tactic_evalCase___closed__2;

File diff suppressed because it is too large Load diff

View file

@ -33,12 +33,14 @@ lean_object* l_Lean_withRef___rarg___lambda__1___boxed(lean_object*, lean_object
extern lean_object* l_Lean_maxRecDepthErrorMessage;
lean_object* l_Lean_withIncRecDepth___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Array_empty___closed__1;
extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__8;
lean_object* l_StateRefT_x27_run___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_3____closed__8;
lean_object* l_Lean_withRef___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ReaderT_MonadRecDepth___rarg___lambda__2(lean_object*, lean_object*);
lean_object* l_Lean_throwUnknownConstant___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_myMacro____x40_Lean_Exception___hyg_334____closed__1;
extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__1;
lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_42____closed__2;
@ -51,7 +53,6 @@ lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_42____closed__1;
lean_object* lean_string_utf8_byte_size(lean_object*);
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_3____closed__9;
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_3____closed__4;
extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__6;
lean_object* l_Lean_Exception_inhabited;
lean_object* l_Lean_myMacro____x40_Lean_Exception___hyg_334____closed__4;
extern lean_object* l_Lean_mkAppStx___closed__8;
@ -59,7 +60,6 @@ lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* l_Lean_ReaderT_MonadRecDepth___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwUnknownConstant___rarg___closed__2;
lean_object* l_Lean_refTrans(lean_object*, lean_object*);
extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__5;
lean_object* l_Lean_withIncRecDepth___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_42____closed__7;
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
@ -98,6 +98,7 @@ lean_object* l_Lean_Syntax_getArgs(lean_object*);
lean_object* l_Lean_Syntax_getKind(lean_object*);
lean_object* l_Lean_throwKernelException___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwError___rarg___lambda__1___boxed(lean_object*, lean_object*);
extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__5;
lean_object* l_Lean_ReaderT_MonadRecDepth___rarg___lambda__3___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Exception_getRef(lean_object*);
lean_object* l_Lean_throwErrorAt(lean_object*);
@ -108,7 +109,6 @@ lean_object* l_Lean_refTrans___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_withIncRecDepth___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_3_;
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_42_;
extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__1;
lean_object* l_Lean_addErrorMessageContextDefault___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_3____closed__6;
lean_object* l_Lean_StateRefT_monadRecDepth___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
@ -122,6 +122,7 @@ lean_object* l_Lean_withRef(lean_object*);
lean_object* l_Lean_refTrans___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwError___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_3____closed__3;
extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__6;
lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*);
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_3____closed__5;
lean_object* l_Lean_ofExcept(lean_object*);
@ -135,7 +136,6 @@ lean_object* l_Lean_mkConst(lean_object*, lean_object*);
lean_object* l_Lean_myMacro____x40_Lean_Exception___hyg_87_(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_myMacro____x40_Lean_Exception___hyg_334_(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_3____closed__1;
extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__8;
lean_object* lean_name_mk_numeral(lean_object*, lean_object*);
lean_object* l_Lean_ReaderT_MonadRecDepth___rarg___lambda__2___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Exception_toMessageData(lean_object*);
@ -868,7 +868,7 @@ static lean_object* _init_l_Lean___kind_term____x40_Lean_Exception___hyg_3____cl
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__1;
x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__1;
x_2 = l_Lean___kind_term____x40_Lean_Exception___hyg_3____closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@ -916,7 +916,7 @@ static lean_object* _init_l_Lean___kind_term____x40_Lean_Exception___hyg_3____cl
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__8;
x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__8;
x_2 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__18;
x_3 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_3, 0, x_1);
@ -1124,7 +1124,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_Lean___kind_term____x40_Lean_Message___hyg_125____closed__6;
x_2 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__6;
x_3 = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(x_3, 0, x_1);
lean_ctor_set(x_3, 1, x_2);
@ -1247,7 +1247,7 @@ x_44 = l_Array_empty___closed__1;
x_45 = lean_array_push(x_44, x_43);
x_46 = l_Lean_myMacro____x40_Lean_Exception___hyg_87____closed__9;
x_47 = lean_array_push(x_46, x_15);
x_48 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__5;
x_48 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__5;
x_49 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_49, 0, x_48);
lean_ctor_set(x_49, 1, x_47);
@ -1469,7 +1469,7 @@ x_48 = lean_array_push(x_47, x_46);
x_49 = lean_array_push(x_47, x_15);
x_50 = l_Lean_myMacro____x40_Lean_Exception___hyg_87____closed__9;
x_51 = lean_array_push(x_50, x_17);
x_52 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__5;
x_52 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__5;
x_53 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_53, 0, x_52);
lean_ctor_set(x_53, 1, x_51);

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1359,7 +1359,6 @@ lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp__
lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_1052____lambda__1___closed__1;
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp___at___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeImp___spec__24___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_withMVarContext___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_TraceState_Inhabited___closed__1;
lean_object* l_Lean_Meta_inferType(lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp___at___private_Lean_Meta_Basic_0__Lean_Meta_forallBoundedTelescopeImp___spec__36___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp___at___private_Lean_Meta_Basic_0__Lean_Meta_forallBoundedTelescopeImp___spec__30___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -1700,6 +1699,7 @@ lean_object* l_Lean_Meta_forallBoundedTelescope___rarg(lean_object*, lean_object
extern lean_object* l_Lean_MetavarContext_MkBinding_mkBinding___closed__1;
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp___at___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingImp___spec__102___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp___at___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingImp___spec__80___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp___at___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeImp___spec__30___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkFreshExprMVar___at_Lean_Meta_mkFreshTypeMVar___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkArrow___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -3224,7 +3224,7 @@ lean_ctor_set(x_32, 2, x_29);
lean_ctor_set(x_32, 3, x_31);
x_33 = l_Lean_Unhygienic_run___rarg___closed__1;
x_34 = l_Lean_NameGenerator_Inhabited___closed__3;
x_35 = l_Lean_TraceState_Inhabited___closed__1;
x_35 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_36 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_36, 0, x_2);
lean_ctor_set(x_36, 1, x_33);

File diff suppressed because it is too large Load diff

View file

@ -238,10 +238,10 @@ lean_object* l_Std_mkHashMap___at_Lean_Meta_Closure_State_visitedLevel___default
lean_object* l_Lean_Meta_Closure_process_match__2(lean_object*);
lean_object* l_Lean_mkFreshId___at_Lean_Meta_Closure_collectExprAux___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_toList___rarg(lean_object*);
lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_pop(lean_object*);
lean_object* lean_mk_array(lean_object*, lean_object*);
lean_object* l_Std_AssocList_replace___at_Lean_Meta_Closure_visitExpr___spec__8(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_expr_abstract(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Closure_pickNextToProcessAux(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkAuxDefinition___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -253,7 +253,6 @@ extern lean_object* l_Lean_Expr_updateLet_x21___closed__2;
lean_object* l_Lean_Meta_mkAuxDefinition___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkAuxDefinition___rarg(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t);
lean_object* lean_compile_decl(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_AssocList_contains___at_Lean_Meta_Closure_visitExpr___spec__4___boxed(lean_object*, lean_object*);
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_mkAppN___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
@ -267,6 +266,7 @@ lean_object* lean_expr_update_app(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Closure_collectExprAux_match__1___rarg(uint8_t, lean_object*, lean_object*, lean_object*);
uint8_t lean_level_eq(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Closure_State_newLetDecls___default;
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_addDecl___at___private_Lean_Meta_Closure_0__Lean_Meta_mkAuxDefinitionImp___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_hasFVar(lean_object*);
lean_object* l_Lean_Meta_Closure_process_match__1(lean_object*);
@ -11627,7 +11627,7 @@ x_78 = lean_ctor_get(x_28, 1);
lean_inc(x_78);
lean_dec(x_28);
x_79 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_517____closed__4;
x_80 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_79, x_5, x_6, x_7, x_8, x_78);
x_80 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_79, x_5, x_6, x_7, x_8, x_78);
x_81 = lean_ctor_get(x_80, 0);
lean_inc(x_81);
x_82 = lean_ctor_get(x_80, 1);
@ -11759,7 +11759,7 @@ x_68 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_68, 0, x_67);
lean_ctor_set(x_68, 1, x_58);
x_69 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_517____closed__4;
x_70 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_69, x_68, x_5, x_6, x_7, x_8, x_56);
x_70 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_69, x_68, x_5, x_6, x_7, x_8, x_56);
x_71 = lean_ctor_get(x_70, 1);
lean_inc(x_71);
lean_dec(x_70);
@ -11901,7 +11901,7 @@ lean_ctor_set(x_23, 1, x_22);
x_24 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_24, 0, x_23);
lean_ctor_set(x_24, 1, x_14);
x_25 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_4, x_24, x_6, x_7, x_8, x_9, x_10);
x_25 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_4, x_24, x_6, x_7, x_8, x_9, x_10);
return x_25;
}
}
@ -12039,7 +12039,7 @@ x_36 = lean_ctor_get(x_30, 1);
lean_inc(x_36);
lean_dec(x_30);
x_37 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_517____closed__4;
x_38 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_37, x_5, x_6, x_7, x_8, x_36);
x_38 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_37, x_5, x_6, x_7, x_8, x_36);
x_39 = lean_ctor_get(x_38, 0);
lean_inc(x_39);
x_40 = lean_ctor_get(x_38, 1);
@ -12093,7 +12093,7 @@ x_24 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_24, 0, x_23);
lean_ctor_set(x_24, 1, x_14);
x_25 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_517____closed__4;
x_26 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_25, x_24, x_5, x_6, x_7, x_8, x_11);
x_26 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_25, x_24, x_5, x_6, x_7, x_8, x_11);
x_27 = lean_ctor_get(x_26, 1);
lean_inc(x_27);
lean_dec(x_26);

File diff suppressed because it is too large Load diff

View file

@ -169,7 +169,6 @@ lean_object* l_Lean_Meta_instanceExtension___closed__3;
uint8_t l_Lean_Meta_DiscrTree_Key_lt(lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey_match__1___rarg(lean_object*, lean_object*);
extern lean_object* l_Lean_TraceState_Inhabited___closed__1;
lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_Meta_addInstanceEntry___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_Meta_addInstanceEntry___spec__2(lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_Context_config___default___closed__1;
@ -206,6 +205,7 @@ size_t l_Lean_Meta_DiscrTree_Key_hash(lean_object*);
lean_object* l_Lean_Meta_addGlobalInstanceImp___closed__3;
uint8_t l_Array_contains___at_Lean_Meta_addInstanceEntry___spec__12(lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at_Lean_Meta_initFn____x40_Lean_Meta_Instances___hyg_19____spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
lean_object* l_Lean_Meta_DiscrTree_empty(lean_object*);
lean_object* l_Lean_Meta_instanceExtension___elambda__2___boxed(lean_object*);
extern lean_object* l_Lean_NameGenerator_Inhabited___closed__3;
@ -2600,7 +2600,7 @@ x_9 = l_List_map___main___at_Lean_Meta_addGlobalInstanceImp___spec__1(x_8);
x_10 = l_Lean_mkConst(x_2, x_9);
x_11 = l_Lean_Unhygienic_run___rarg___closed__1;
x_12 = l_Lean_NameGenerator_Inhabited___closed__3;
x_13 = l_Lean_TraceState_Inhabited___closed__1;
x_13 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_14 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_14, 0, x_1);
lean_ctor_set(x_14, 1, x_11);

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -25,7 +25,6 @@ lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Le
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___lambda__1___closed__1;
lean_object* l_Array_iterateMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__19(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__3___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Expr_eq_x3f___closed__2;
lean_object* l_Lean_Expr_mvarId_x21(lean_object*);
lean_object* l_Lean_Meta_generalizeIndices_match__3___rarg(lean_object*, lean_object*);
@ -33,7 +32,6 @@ lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__13(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_stringToMessageData(lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__16___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkEqImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
@ -61,7 +59,6 @@ lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1__
lean_object* l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_generalizeIndices_match__2___rarg(lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__25___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__17(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkEqOfHEqImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_extract___rarg(lean_object*, lean_object*, lean_object*);
@ -108,24 +105,19 @@ lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_elimAuxIndice
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___closed__3;
lean_object* l_Lean_Expr_appArg_x21(lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_toCasesSubgoals___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__22___boxed(lean_object*, lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_checkNotAssigned___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_getLocalInstances___at___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarCore___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__21(lean_object*, lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__41(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__8___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkForallFVars___at___private_Lean_Meta_InferType_0__Lean_Meta_inferLambdaType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_mkCasesContext_x3f_match__1(lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__24___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Cases_cases___lambda__1___closed__5;
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_elimAuxIndices___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_substCore___spec__4___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__15___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__20___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_MetavarContext_8__dep___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_casesOnSuffix;
uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -173,7 +165,6 @@ lean_object* l_Lean_Expr_fvarId_x21(lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__7___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_List_lengthAux___main___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_clear(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_generalizeIndices(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -204,7 +195,6 @@ uint8_t l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean
lean_object* l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__46___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__9(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__17___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_MetavarContext_8__dep___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__24(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_withNewIndexEqs_loop___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Environment_contains(lean_object*, lean_object*);
@ -240,12 +230,10 @@ lean_object* l_Lean_Meta_generalizeIndices_match__2(lean_object*);
lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_mkCasesContext_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___closed__4;
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__23___boxed(lean_object*, lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__17(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Cases___hyg_2406_(lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__2(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_LocalDecl_fvarId(lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__1___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkNoConfusionImp___closed__8;
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_LocalDecl_type(lean_object*);
@ -261,12 +249,9 @@ lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCase
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux_match__5(lean_object*);
uint8_t l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__8(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Cases_Context_nminors___default(lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__6___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Cases_cases(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__19___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux_match__4(lean_object*);
lean_object* l_Lean_LocalDecl_index(lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__21___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*);
uint8_t l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__31(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Meta_getParamNamesImp___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -279,7 +264,6 @@ lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0
uint8_t lean_expr_eqv(lean_object*, lean_object*);
lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__38___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__45(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__12___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Cases_cases___lambda__1___closed__4;
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___closed__2;
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_elimAuxIndices(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -294,7 +278,6 @@ extern lean_object* l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqs_match__1(lean_object*);
extern lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkNoConfusionImp___closed__5;
uint8_t l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__20(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__2___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Cases_cases_match__1(lean_object*);
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___closed__3;
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__22___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -320,16 +303,14 @@ lean_object* l_Lean_Meta_generalizeIndices___lambda__1___closed__1;
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__27___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__43___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_array(lean_object*, lean_object*);
lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__42___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__15(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_MetavarContext_8__dep___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__30(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___lambda__6___closed__2;
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_withNewIndexEqs_loop___rarg___closed__1;
uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__11___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__5___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux_match__1(lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeExpected___rarg___closed__1;
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_elimAuxIndices_match__1___rarg(lean_object*, lean_object*, lean_object*);
@ -342,16 +323,14 @@ lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0
lean_object* l_List_toArrayAux___main___rarg(lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__29___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__41___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_mkAppN___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__14___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__20(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__7(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__9___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkAppB(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_indentExpr(lean_object*);
uint8_t l_Lean_Expr_hasFVar(lean_object*);
@ -363,21 +342,17 @@ lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux_m
lean_object* l_Lean_mkConst(lean_object*, lean_object*);
uint8_t l_Nat_anyAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__4___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux_match__7___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__44___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__10___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeExpected___rarg___closed__2;
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__16(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___lambda__6___closed__1;
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_toCasesSubgoals___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__13___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_InferType_0__Lean_Meta_getLevelImp___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__20___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkApp3(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__18___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__23(lean_object*, lean_object*, lean_object*);
uint8_t l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__25(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_induction(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -11853,6 +11828,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -11863,6 +11839,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -11886,6 +11863,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -11896,6 +11874,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -11919,6 +11898,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -11929,6 +11909,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -11952,6 +11933,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -11962,6 +11944,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -11985,6 +11968,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -11995,6 +11979,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12018,6 +12003,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12028,6 +12014,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12051,6 +12038,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12061,6 +12049,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12084,6 +12073,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12094,6 +12084,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12117,6 +12108,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12127,6 +12119,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12150,6 +12143,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12160,6 +12154,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12183,6 +12178,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12193,6 +12189,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12216,6 +12213,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12226,6 +12224,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12249,6 +12248,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12259,6 +12259,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12282,6 +12283,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12292,6 +12294,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12315,6 +12318,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12325,6 +12329,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12348,6 +12353,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12358,6 +12364,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12381,6 +12388,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12391,6 +12399,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12414,6 +12423,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12424,6 +12434,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12447,6 +12458,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12457,6 +12469,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12480,6 +12493,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12490,6 +12504,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12513,6 +12528,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12523,6 +12539,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12546,6 +12563,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12556,6 +12574,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12579,6 +12598,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12589,6 +12609,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12612,6 +12633,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12622,6 +12644,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12645,6 +12668,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@ -12655,6 +12679,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@ -12835,6 +12860,7 @@ lean_inc(x_43);
lean_dec(x_40);
x_44 = x_4;
x_45 = lean_unsigned_to_nat(0u);
lean_inc(x_42);
x_46 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__1(x_42, x_45, x_44);
x_47 = x_46;
x_48 = lean_alloc_ctor(0, 3, 0);
@ -13009,6 +13035,7 @@ lean_inc(x_80);
lean_dec(x_77);
x_81 = x_4;
x_82 = lean_unsigned_to_nat(0u);
lean_inc(x_79);
x_83 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__2(x_79, x_82, x_81);
x_84 = x_83;
x_85 = lean_alloc_ctor(0, 3, 0);
@ -13107,6 +13134,7 @@ lean_inc(x_108);
lean_dec(x_105);
x_109 = x_4;
x_110 = lean_unsigned_to_nat(0u);
lean_inc(x_107);
x_111 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__3(x_107, x_110, x_109);
x_112 = x_111;
x_113 = lean_alloc_ctor(0, 3, 0);
@ -13241,6 +13269,7 @@ lean_inc(x_134);
lean_dec(x_131);
x_135 = x_4;
x_136 = lean_unsigned_to_nat(0u);
lean_inc(x_133);
x_137 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__4(x_133, x_136, x_135);
x_138 = x_137;
x_139 = lean_alloc_ctor(0, 3, 0);
@ -13309,6 +13338,7 @@ lean_inc(x_152);
lean_dec(x_149);
x_153 = x_4;
x_154 = lean_unsigned_to_nat(0u);
lean_inc(x_151);
x_155 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__5(x_151, x_154, x_153);
x_156 = x_155;
x_157 = lean_alloc_ctor(0, 3, 0);
@ -13377,6 +13407,7 @@ lean_inc(x_170);
lean_dec(x_167);
x_171 = x_4;
x_172 = lean_unsigned_to_nat(0u);
lean_inc(x_169);
x_173 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__6(x_169, x_172, x_171);
x_174 = x_173;
x_175 = lean_alloc_ctor(0, 3, 0);
@ -13445,6 +13476,7 @@ lean_inc(x_188);
lean_dec(x_185);
x_189 = x_4;
x_190 = lean_unsigned_to_nat(0u);
lean_inc(x_187);
x_191 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__7(x_187, x_190, x_189);
x_192 = x_191;
x_193 = lean_alloc_ctor(0, 3, 0);
@ -13513,6 +13545,7 @@ lean_inc(x_206);
lean_dec(x_203);
x_207 = x_4;
x_208 = lean_unsigned_to_nat(0u);
lean_inc(x_205);
x_209 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__8(x_205, x_208, x_207);
x_210 = x_209;
x_211 = lean_alloc_ctor(0, 3, 0);
@ -13581,6 +13614,7 @@ lean_inc(x_224);
lean_dec(x_221);
x_225 = x_4;
x_226 = lean_unsigned_to_nat(0u);
lean_inc(x_223);
x_227 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__9(x_223, x_226, x_225);
x_228 = x_227;
x_229 = lean_alloc_ctor(0, 3, 0);
@ -13649,6 +13683,7 @@ lean_inc(x_242);
lean_dec(x_239);
x_243 = x_4;
x_244 = lean_unsigned_to_nat(0u);
lean_inc(x_241);
x_245 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__10(x_241, x_244, x_243);
x_246 = x_245;
x_247 = lean_alloc_ctor(0, 3, 0);
@ -13717,6 +13752,7 @@ lean_inc(x_260);
lean_dec(x_257);
x_261 = x_4;
x_262 = lean_unsigned_to_nat(0u);
lean_inc(x_259);
x_263 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__11(x_259, x_262, x_261);
x_264 = x_263;
x_265 = lean_alloc_ctor(0, 3, 0);
@ -13785,6 +13821,7 @@ lean_inc(x_278);
lean_dec(x_275);
x_279 = x_4;
x_280 = lean_unsigned_to_nat(0u);
lean_inc(x_277);
x_281 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__12(x_277, x_280, x_279);
x_282 = x_281;
x_283 = lean_alloc_ctor(0, 3, 0);
@ -13853,6 +13890,7 @@ lean_inc(x_296);
lean_dec(x_293);
x_297 = x_4;
x_298 = lean_unsigned_to_nat(0u);
lean_inc(x_295);
x_299 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__13(x_295, x_298, x_297);
x_300 = x_299;
x_301 = lean_alloc_ctor(0, 3, 0);
@ -13921,6 +13959,7 @@ lean_inc(x_314);
lean_dec(x_311);
x_315 = x_4;
x_316 = lean_unsigned_to_nat(0u);
lean_inc(x_313);
x_317 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__14(x_313, x_316, x_315);
x_318 = x_317;
x_319 = lean_alloc_ctor(0, 3, 0);
@ -13992,6 +14031,7 @@ lean_inc(x_331);
lean_dec(x_328);
x_332 = x_4;
x_333 = lean_unsigned_to_nat(0u);
lean_inc(x_330);
x_334 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__15(x_330, x_333, x_332);
x_335 = x_334;
x_336 = lean_alloc_ctor(0, 3, 0);
@ -14164,6 +14204,7 @@ lean_inc(x_367);
lean_dec(x_364);
x_368 = x_4;
x_369 = lean_unsigned_to_nat(0u);
lean_inc(x_366);
x_370 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__16(x_366, x_369, x_368);
x_371 = x_370;
x_372 = lean_alloc_ctor(0, 3, 0);
@ -14336,6 +14377,7 @@ lean_inc(x_403);
lean_dec(x_400);
x_404 = x_4;
x_405 = lean_unsigned_to_nat(0u);
lean_inc(x_402);
x_406 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__17(x_402, x_405, x_404);
x_407 = x_406;
x_408 = lean_alloc_ctor(0, 3, 0);
@ -14508,6 +14550,7 @@ lean_inc(x_439);
lean_dec(x_436);
x_440 = x_4;
x_441 = lean_unsigned_to_nat(0u);
lean_inc(x_438);
x_442 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__18(x_438, x_441, x_440);
x_443 = x_442;
x_444 = lean_alloc_ctor(0, 3, 0);
@ -14680,6 +14723,7 @@ lean_inc(x_475);
lean_dec(x_472);
x_476 = x_4;
x_477 = lean_unsigned_to_nat(0u);
lean_inc(x_474);
x_478 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__19(x_474, x_477, x_476);
x_479 = x_478;
x_480 = lean_alloc_ctor(0, 3, 0);
@ -14852,6 +14896,7 @@ lean_inc(x_511);
lean_dec(x_508);
x_512 = x_4;
x_513 = lean_unsigned_to_nat(0u);
lean_inc(x_510);
x_514 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__20(x_510, x_513, x_512);
x_515 = x_514;
x_516 = lean_alloc_ctor(0, 3, 0);
@ -15024,6 +15069,7 @@ lean_inc(x_547);
lean_dec(x_544);
x_548 = x_4;
x_549 = lean_unsigned_to_nat(0u);
lean_inc(x_546);
x_550 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__21(x_546, x_549, x_548);
x_551 = x_550;
x_552 = lean_alloc_ctor(0, 3, 0);
@ -15196,6 +15242,7 @@ lean_inc(x_583);
lean_dec(x_580);
x_584 = x_4;
x_585 = lean_unsigned_to_nat(0u);
lean_inc(x_582);
x_586 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__22(x_582, x_585, x_584);
x_587 = x_586;
x_588 = lean_alloc_ctor(0, 3, 0);
@ -15368,6 +15415,7 @@ lean_inc(x_619);
lean_dec(x_616);
x_620 = x_4;
x_621 = lean_unsigned_to_nat(0u);
lean_inc(x_618);
x_622 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__23(x_618, x_621, x_620);
x_623 = x_622;
x_624 = lean_alloc_ctor(0, 3, 0);
@ -15540,6 +15588,7 @@ lean_inc(x_655);
lean_dec(x_652);
x_656 = x_4;
x_657 = lean_unsigned_to_nat(0u);
lean_inc(x_654);
x_658 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__24(x_654, x_657, x_656);
x_659 = x_658;
x_660 = lean_alloc_ctor(0, 3, 0);
@ -15712,6 +15761,7 @@ lean_inc(x_691);
lean_dec(x_688);
x_692 = x_4;
x_693 = lean_unsigned_to_nat(0u);
lean_inc(x_690);
x_694 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__25(x_690, x_693, x_692);
x_695 = x_694;
x_696 = lean_alloc_ctor(0, 3, 0);
@ -16497,7 +16547,7 @@ x_58 = lean_ctor_get(x_52, 1);
lean_inc(x_58);
lean_dec(x_52);
x_59 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___closed__1;
x_60 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_59, x_3, x_4, x_5, x_6, x_58);
x_60 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_59, x_3, x_4, x_5, x_6, x_58);
x_61 = lean_ctor_get(x_60, 0);
lean_inc(x_61);
x_62 = lean_ctor_get(x_60, 1);
@ -16628,7 +16678,7 @@ x_47 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_47, 0, x_45);
lean_ctor_set(x_47, 1, x_46);
x_48 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___closed__1;
x_49 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_48, x_47, x_3, x_4, x_5, x_6, x_34);
x_49 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_48, x_47, x_3, x_4, x_5, x_6, x_34);
x_50 = lean_ctor_get(x_49, 1);
lean_inc(x_50);
lean_dec(x_49);
@ -16666,7 +16716,7 @@ x_88 = lean_ctor_get(x_82, 1);
lean_inc(x_88);
lean_dec(x_82);
x_89 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___closed__1;
x_90 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_89, x_3, x_4, x_5, x_6, x_88);
x_90 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_89, x_3, x_4, x_5, x_6, x_88);
x_91 = lean_ctor_get(x_90, 0);
lean_inc(x_91);
x_92 = lean_ctor_get(x_90, 1);
@ -16709,7 +16759,7 @@ x_72 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_72, 0, x_71);
lean_ctor_set(x_72, 1, x_70);
x_73 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___closed__1;
x_74 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_73, x_72, x_3, x_4, x_5, x_6, x_65);
x_74 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_73, x_72, x_3, x_4, x_5, x_6, x_65);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
@ -16743,231 +16793,6 @@ return x_80;
}
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__1(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__2(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__3(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__4(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__5(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__6(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__7(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__8(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__9(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__10(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__11(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__12___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__12(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__13___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__13(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__14___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__14(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__15___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__15(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__16___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__16(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__17___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__17(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__18___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__18(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__19___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__19(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__20___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__20(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__21___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__21(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__22___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__22(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__23___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__23(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__24___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__24(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__25___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__25(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) {
_start:
{
@ -17506,7 +17331,7 @@ x_80 = lean_ctor_get(x_74, 1);
lean_inc(x_80);
lean_dec(x_74);
x_81 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___closed__1;
x_82 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_81, x_7, x_8, x_9, x_10, x_80);
x_82 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_81, x_7, x_8, x_9, x_10, x_80);
x_83 = lean_ctor_get(x_82, 0);
lean_inc(x_83);
x_84 = lean_ctor_get(x_82, 1);
@ -17639,7 +17464,7 @@ x_54 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_54, 0, x_52);
lean_ctor_set(x_54, 1, x_53);
x_55 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___closed__1;
x_56 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_55, x_54, x_7, x_8, x_9, x_10, x_28);
x_56 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_55, x_54, x_7, x_8, x_9, x_10, x_28);
x_57 = lean_ctor_get(x_56, 1);
lean_inc(x_57);
lean_dec(x_56);

File diff suppressed because it is too large Load diff

View file

@ -221,8 +221,8 @@ lean_object* l_Lean_Meta_withMVarContext___at_Lean_Meta_revert___spec__5___rarg(
lean_object* l_Nat_forMAux___main___at_Lean_Meta_induction___spec__6___lambda__2___closed__1;
lean_object* l_Nat_foldAux___main___at___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_toList___rarg(lean_object*);
lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_array(lean_object*, lean_object*);
lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_induction_match__5(lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_addRecParams_match__1___rarg(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Level_isZero(lean_object*);
@ -235,7 +235,6 @@ lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_getTargetArity_
lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_throwUnexpectedMajorType___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkFreshExprSyntheticOpaqueMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_toArrayAux___main___rarg(lean_object*, lean_object*);
lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_throwUnexpectedMajorType___rarg___closed__1;
lean_object* l_Array_umapMAux___main___at_Lean_Meta_induction___spec__7___lambda__2___closed__3;
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
@ -244,6 +243,7 @@ lean_object* l_Lean_Meta_induction_match__4(lean_object*);
extern lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___closed__1;
lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop_match__4___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_InductionSubgoal_inhabited;
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_throwUnexpectedMajorType___rarg___closed__2;
lean_object* l_Lean_Meta_induction_match__3(lean_object*);
lean_object* l_Lean_indentExpr(lean_object*);
@ -6275,7 +6275,7 @@ x_68 = lean_ctor_get(x_62, 1);
lean_inc(x_68);
lean_dec(x_62);
x_69 = l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__12___lambda__2___closed__1;
x_70 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_69, x_11, x_12, x_13, x_14, x_68);
x_70 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_69, x_11, x_12, x_13, x_14, x_68);
x_71 = lean_ctor_get(x_70, 0);
lean_inc(x_71);
x_72 = lean_ctor_get(x_70, 1);
@ -6340,7 +6340,7 @@ x_57 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_57, 0, x_55);
lean_ctor_set(x_57, 1, x_56);
x_58 = l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__12___lambda__2___closed__1;
x_59 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_58, x_57, x_11, x_12, x_13, x_14, x_52);
x_59 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_58, x_57, x_11, x_12, x_13, x_14, x_52);
x_60 = lean_ctor_get(x_59, 1);
lean_inc(x_60);
lean_dec(x_59);

View file

@ -151,9 +151,9 @@ lean_object* l_Lean_Meta_substCore___lambda__11___closed__1;
lean_object* l_Lean_Meta_substCore___lambda__11___closed__4;
lean_object* l_Lean_Meta_substCore___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_toList___rarg(lean_object*);
lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_substCore___lambda__11___closed__2;
lean_object* l_Lean_Meta_substCore___lambda__13(lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_substCore___lambda__13___closed__2;
lean_object* l_Array_findSomeMAux___main___at_Lean_Meta_subst___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_substCore_match__4(lean_object*);
@ -165,10 +165,10 @@ lean_object* l_Lean_Meta_substCore___lambda__13___closed__4;
lean_object* l_Nat_foldMAux___main___at_Lean_Meta_substCore___spec__7(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_mkFreshExprSyntheticOpaqueMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_substCore___lambda__13___closed__17;
lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___closed__1;
lean_object* l_Lean_Meta_substCore___lambda__13___closed__8;
lean_object* l_Lean_Meta_substCore_match__2(lean_object*);
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_subst___lambda__1___closed__1;
lean_object* l_Lean_Meta_substCore_match__3___rarg(lean_object*, lean_object*);
lean_object* l_Lean_indentExpr(lean_object*);
@ -2629,7 +2629,7 @@ x_66 = lean_ctor_get(x_60, 1);
lean_inc(x_66);
lean_dec(x_60);
lean_inc(x_8);
x_67 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_8, x_10, x_11, x_12, x_13, x_66);
x_67 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_8, x_10, x_11, x_12, x_13, x_66);
x_68 = lean_ctor_get(x_67, 0);
lean_inc(x_68);
x_69 = lean_ctor_get(x_67, 1);
@ -2704,7 +2704,7 @@ x_55 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed_
x_56 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_56, 0, x_54);
lean_ctor_set(x_56, 1, x_55);
x_57 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_8, x_56, x_10, x_11, x_12, x_13, x_49);
x_57 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_8, x_56, x_10, x_11, x_12, x_13, x_49);
x_58 = lean_ctor_get(x_57, 1);
lean_inc(x_58);
lean_dec(x_57);
@ -3200,7 +3200,7 @@ x_87 = lean_ctor_get(x_81, 1);
lean_inc(x_87);
lean_dec(x_81);
x_88 = l_Lean_Meta_substCore___lambda__13___closed__18;
x_89 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_88, x_7, x_8, x_9, x_10, x_87);
x_89 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_88, x_7, x_8, x_9, x_10, x_87);
x_90 = lean_ctor_get(x_89, 0);
lean_inc(x_90);
x_91 = lean_ctor_get(x_89, 1);
@ -3331,7 +3331,7 @@ x_76 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_76, 0, x_74);
lean_ctor_set(x_76, 1, x_75);
x_77 = l_Lean_Meta_substCore___lambda__13___closed__18;
x_78 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_77, x_76, x_7, x_8, x_9, x_10, x_63);
x_78 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_77, x_76, x_7, x_8, x_9, x_10, x_63);
x_79 = lean_ctor_get(x_78, 1);
lean_inc(x_79);
lean_dec(x_78);

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -18,6 +18,7 @@ lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1658____clo
lean_object* l_Lean_Parser_declareLeadingBuiltinParser___closed__2;
lean_object* l_Lean_Parser_builtinTokenTable;
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_updateBuiltinTokens_match__1(lean_object*);
extern lean_object* l_Lean_Parser_Lean_Parser_Basic___instance__9___closed__1;
lean_object* l_Array_iterateMAux___main___at___private_Lean_Parser_Extension_0__Lean_Parser_addParserCategoryCore___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add_match__1(lean_object*);
size_t l_USize_add(size_t, size_t);
@ -60,7 +61,6 @@ lean_object* l_IO_mkRef___at_Lean_Parser_mkParserAttributeHooks___spec__1(lean_o
uint8_t l_Lean_Name_quickLt(lean_object*, lean_object*);
uint8_t lean_name_eq(lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_charLit;
lean_object* l_Lean_Parser_trailingLoop___main(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkParserOfConstantAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_addTokenConfig_match__1(lean_object*);
lean_object* l_Lean_Parser_registerBuiltinParserAttribute___closed__1;
@ -122,6 +122,7 @@ extern lean_object* l_String_splitAux___main___closed__1;
lean_object* l_Lean_Parser_categoryParserFnImpl(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_Parser_getCategory___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_checkPrecFn___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_leadingParserAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_Parser_getSyntaxNodeKinds___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_IO_mkRef___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_22____spec__1(lean_object*, lean_object*);
size_t l_USize_shiftRight(size_t, size_t);
@ -174,7 +175,6 @@ lean_object* l_List_forM___main___at_Lean_Parser_runParserAttributeHooks___spec_
lean_object* l_Lean_Parser_setCategoryParserFnRef(lean_object*);
lean_object* l_Lean_Parser_throwUnknownParserCategory(lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_PrattParsingTables_inhabited___closed__1;
extern lean_object* l_Lean_KeyedDeclsAttribute_init___rarg___lambda__4___closed__2;
lean_object* l_Lean_Parser_throwUnknownParserCategory___rarg___closed__1;
lean_object* l_Std_PersistentHashMap_containsAux___at___private_Lean_Parser_Extension_0__Lean_Parser_addParserCategoryCore___spec__2___boxed(lean_object*, lean_object*, lean_object*);
@ -247,7 +247,6 @@ extern lean_object* l_Lean_Parser_Trie_Lean_Data_Trie___instance__1___closed__1;
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add___lambda__2___closed__1;
uint8_t l_Std_PersistentHashMap_contains___at___private_Lean_Parser_Extension_0__Lean_Parser_addParserCategoryCore___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1602____lambda__2(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_whitespace___main(lean_object*, lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_addTrailingParserAux_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_parserExtension___closed__4;
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
@ -255,13 +254,13 @@ uint8_t l_Lean_Parser_tryAnti(lean_object*, lean_object*);
lean_object* l_Lean_Parser_optionaInfo(lean_object*);
lean_object* l_Array_iterateMAux___main___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtension_addImported___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_peekToken(lean_object*, lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_registerParserAttributeImplBuilder___lambda__1(lean_object*);
lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1867____closed__5;
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_nameLit;
lean_object* l_List_lengthAux___main___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Parser_peekTokenAux(lean_object*, lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_registerParserAttributeImplBuilder___closed__2;
lean_object* l_Lean_Parser_parserExtension___elambda__4(lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_Parser_getSyntaxNodeKinds___spec__2(lean_object*, lean_object*);
@ -332,13 +331,13 @@ lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1602____clo
size_t l_USize_mul(size_t, size_t);
lean_object* l_Lean_FileMap_ofString(lean_object*);
lean_object* l_Lean_Parser_addParser_match__1(lean_object*);
lean_object* l_Lean_Parser_whitespace(lean_object*, lean_object*);
lean_object* l_List_redLength___main___rarg(lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_getTokenTable(lean_object*);
lean_object* l_List_foldl___main___at___private_Lean_Parser_Extension_0__Lean_Parser_addTrailingParserAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_getParserPriority___closed__2;
uint8_t l_Std_PersistentHashMap_containsAtAux___at_Lean_Parser_isValidSyntaxNodeKind___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_restore(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1602____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_isValidSyntaxNodeKind___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1658____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -373,6 +372,7 @@ lean_object* l_Lean_Parser_compileParserDescr_visit(lean_object*, lean_object*,
lean_object* l_Lean_Parser_registerParserCategory(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*);
lean_object* l_IO_ofExcept___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtension_addImported___spec__1(lean_object*, lean_object*);
extern lean_object* l_Lean_identKind;
lean_object* l_Lean_Parser_trailingLoop(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtensionAddEntry(lean_object*, lean_object*);
lean_object* l_List_forM___main___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___spec__1___closed__3;
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
@ -391,7 +391,6 @@ extern lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda_
lean_object* l_Lean_Parser_notFollowedByCategoryTokenFn_match__2(lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___rarg(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Syntax_hasArgs(lean_object*);
lean_object* l_Lean_Parser_mergeOrElseErrors(lean_object*, lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Parser_tryFn(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Parser_isParserCategory(lean_object*, lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -419,6 +418,7 @@ lean_object* l_Lean_Parser_addLeadingParser_match__1(lean_object*);
lean_object* l_Lean_Parser_symbolInfo(lean_object*);
lean_object* l_Lean_Parser_parserAttributeHooks;
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_updateBuiltinTokens(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_orelseFnCore(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_epsilonInfo;
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_registerParserAttributeImplBuilder___closed__3;
lean_object* l_Lean_Parser_notFollowedByTermToken;
@ -1568,7 +1568,7 @@ lean_inc(x_6);
x_7 = lean_ctor_get(x_5, 1);
lean_inc(x_7);
lean_dec(x_5);
x_8 = l_Lean_Parser_PrattParsingTables_inhabited___closed__1;
x_8 = l_Lean_Parser_Lean_Parser_Basic___instance__9___closed__1;
x_9 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_9, 0, x_8);
lean_ctor_set_uint8(x_9, sizeof(void*)*1, x_2);
@ -3631,7 +3631,7 @@ x_55 = lean_ctor_get(x_1, 1);
lean_dec(x_55);
x_56 = lean_ctor_get(x_1, 0);
lean_dec(x_56);
x_57 = l_Lean_Parser_PrattParsingTables_inhabited___closed__1;
x_57 = l_Lean_Parser_Lean_Parser_Basic___instance__9___closed__1;
x_58 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_58, 0, x_57);
lean_ctor_set_uint8(x_58, sizeof(void*)*1, x_46);
@ -3651,7 +3651,7 @@ else
{
lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67;
lean_dec(x_1);
x_62 = l_Lean_Parser_PrattParsingTables_inhabited___closed__1;
x_62 = l_Lean_Parser_Lean_Parser_Basic___instance__9___closed__1;
x_63 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_63, 0, x_62);
lean_ctor_set_uint8(x_63, sizeof(void*)*1, x_46);
@ -8777,7 +8777,7 @@ x_60 = lean_ctor_get(x_5, 0);
x_61 = lean_ctor_get(x_5, 1);
x_62 = lean_ctor_get(x_5, 2);
x_63 = lean_ctor_get(x_5, 3);
x_64 = l_Lean_Parser_PrattParsingTables_inhabited___closed__1;
x_64 = l_Lean_Parser_Lean_Parser_Basic___instance__9___closed__1;
x_65 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_65, 0, x_64);
lean_ctor_set_uint8(x_65, sizeof(void*)*1, x_58);
@ -8838,7 +8838,7 @@ lean_inc(x_77);
lean_inc(x_76);
lean_inc(x_75);
lean_dec(x_5);
x_79 = l_Lean_Parser_PrattParsingTables_inhabited___closed__1;
x_79 = l_Lean_Parser_Lean_Parser_Basic___instance__9___closed__1;
x_80 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_80, 0, x_79);
lean_ctor_set_uint8(x_80, sizeof(void*)*1, x_58);
@ -10075,17 +10075,17 @@ lean_dec(x_8);
if (x_5 == 0)
{
x_10 = x_1;
goto block_43;
goto block_34;
}
else
{
lean_object* x_44;
lean_object* x_35;
lean_dec(x_1);
x_44 = l_Lean_Parser_categoryParserFnImpl___closed__4;
x_10 = x_44;
goto block_43;
x_35 = l_Lean_Parser_categoryParserFnImpl___closed__4;
x_10 = x_35;
goto block_34;
}
block_43:
block_34:
{
lean_object* x_11;
x_11 = l_Std_PersistentHashMap_find_x3f___at_Lean_Parser_getCategory___spec__1(x_9, x_10);
@ -10105,7 +10105,7 @@ return x_18;
}
else
{
lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24;
lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26;
x_19 = lean_ctor_get(x_11, 0);
lean_inc(x_19);
lean_dec(x_11);
@ -10118,103 +10118,62 @@ x_22 = l_Lean_Parser_mkCategoryAntiquotParser(x_10);
x_23 = lean_ctor_get(x_22, 1);
lean_inc(x_23);
lean_dec(x_22);
x_24 = lean_box(x_21);
lean_inc(x_20);
lean_inc(x_10);
x_25 = lean_alloc_closure((void*)(l_Lean_Parser_leadingParserAux___boxed), 5, 3);
lean_closure_set(x_25, 0, x_10);
lean_closure_set(x_25, 1, x_20);
lean_closure_set(x_25, 2, x_24);
lean_inc(x_3);
lean_inc(x_2);
x_24 = l_Lean_Parser_tryAnti(x_2, x_3);
if (x_24 == 0)
x_26 = l_Lean_Parser_tryAnti(x_2, x_3);
if (x_26 == 0)
{
lean_object* x_25; lean_object* x_26;
lean_object* x_27; lean_object* x_28;
lean_dec(x_25);
lean_dec(x_23);
lean_inc(x_2);
lean_inc(x_20);
x_25 = l_Lean_Parser_leadingParserAux(x_10, x_20, x_21, x_2, x_3);
x_26 = lean_ctor_get(x_25, 3);
lean_inc(x_26);
if (lean_obj_tag(x_26) == 0)
x_27 = l_Lean_Parser_leadingParserAux(x_10, x_20, x_21, x_2, x_3);
x_28 = lean_ctor_get(x_27, 3);
lean_inc(x_28);
if (lean_obj_tag(x_28) == 0)
{
lean_object* x_27;
x_27 = l_Lean_Parser_trailingLoop___main(x_20, x_2, x_25);
return x_27;
lean_object* x_29;
x_29 = l_Lean_Parser_trailingLoop(x_20, x_2, x_27);
return x_29;
}
else
{
lean_dec(x_26);
lean_dec(x_28);
lean_dec(x_20);
lean_dec(x_2);
return x_25;
return x_27;
}
}
else
{
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
x_28 = lean_ctor_get(x_3, 0);
lean_inc(x_28);
x_29 = lean_array_get_size(x_28);
lean_dec(x_28);
x_30 = lean_ctor_get(x_3, 1);
lean_inc(x_30);
uint8_t x_30; lean_object* x_31; lean_object* x_32;
lean_dec(x_10);
x_30 = 1;
lean_inc(x_2);
x_31 = lean_apply_2(x_23, x_2, x_3);
x_31 = l_Lean_Parser_orelseFnCore(x_23, x_25, x_30, x_2, x_3);
x_32 = lean_ctor_get(x_31, 3);
lean_inc(x_32);
if (lean_obj_tag(x_32) == 0)
{
lean_object* x_33;
lean_dec(x_30);
lean_dec(x_29);
lean_dec(x_10);
x_33 = l_Lean_Parser_trailingLoop___main(x_20, x_2, x_31);
x_33 = l_Lean_Parser_trailingLoop(x_20, x_2, x_31);
return x_33;
}
else
{
lean_object* x_34; lean_object* x_35; uint8_t x_36;
x_34 = lean_ctor_get(x_32, 0);
lean_inc(x_34);
lean_dec(x_32);
x_35 = lean_ctor_get(x_31, 1);
lean_inc(x_35);
x_36 = lean_nat_dec_eq(x_35, x_30);
lean_dec(x_35);
if (x_36 == 0)
{
lean_dec(x_34);
lean_dec(x_30);
lean_dec(x_29);
lean_dec(x_20);
lean_dec(x_10);
lean_dec(x_2);
return x_31;
}
else
{
lean_object* x_37; lean_object* x_38; uint8_t x_39; lean_object* x_40; lean_object* x_41;
lean_inc(x_30);
x_37 = l_Lean_Parser_ParserState_restore(x_31, x_29, x_30);
lean_dec(x_29);
lean_inc(x_2);
lean_inc(x_20);
x_38 = l_Lean_Parser_leadingParserAux(x_10, x_20, x_21, x_2, x_37);
x_39 = 1;
x_40 = l_Lean_Parser_mergeOrElseErrors(x_38, x_34, x_30, x_39);
lean_dec(x_30);
x_41 = lean_ctor_get(x_40, 3);
lean_inc(x_41);
if (lean_obj_tag(x_41) == 0)
{
lean_object* x_42;
x_42 = l_Lean_Parser_trailingLoop___main(x_20, x_2, x_40);
return x_42;
}
else
{
lean_dec(x_41);
lean_dec(x_20);
lean_dec(x_2);
return x_40;
}
}
}
}
}
}
@ -10760,7 +10719,7 @@ lean_inc(x_3);
x_5 = l_Lean_Parser_mkInputContext(x_3, x_4);
x_6 = l_Lean_Parser_mkParserContext(x_1, x_5);
x_7 = l_Lean_Parser_mkParserState(x_3);
x_8 = l_Lean_Parser_whitespace___main(x_6, x_7);
x_8 = l_Lean_Parser_whitespace(x_6, x_7);
lean_inc(x_6);
x_9 = l_Lean_Parser_categoryParserFnImpl(x_2, x_6, x_8);
x_10 = lean_ctor_get(x_9, 3);
@ -14388,334 +14347,133 @@ return x_15;
}
else
{
uint8_t x_16;
x_16 = !lean_is_exclusive(x_8);
if (x_16 == 0)
{
lean_object* x_17; lean_object* x_18; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50;
x_17 = lean_ctor_get(x_8, 0);
x_47 = lean_ctor_get(x_3, 2);
lean_inc(x_47);
x_48 = lean_ctor_get(x_47, 0);
lean_inc(x_48);
x_49 = lean_ctor_get(x_3, 1);
lean_inc(x_49);
x_50 = lean_nat_dec_eq(x_48, x_49);
lean_dec(x_49);
lean_dec(x_48);
if (x_50 == 0)
{
lean_object* x_51;
lean_dec(x_47);
lean_free_object(x_8);
lean_object* x_16; lean_object* x_17; lean_object* x_18;
x_16 = lean_ctor_get(x_8, 0);
lean_inc(x_16);
lean_dec(x_8);
lean_inc(x_2);
x_51 = l_Lean_Parser_peekTokenAux(x_2, x_3);
x_18 = x_51;
goto block_46;
x_17 = l_Lean_Parser_peekToken(x_2, x_3);
x_18 = lean_ctor_get(x_17, 1);
lean_inc(x_18);
if (lean_obj_tag(x_18) == 0)
{
lean_object* x_19;
lean_dec(x_16);
lean_dec(x_2);
lean_dec(x_1);
x_19 = lean_ctor_get(x_17, 0);
lean_inc(x_19);
lean_dec(x_17);
return x_19;
}
else
{
lean_object* x_52; lean_object* x_53;
x_52 = lean_ctor_get(x_47, 2);
lean_inc(x_52);
lean_dec(x_47);
lean_ctor_set(x_8, 0, x_52);
x_53 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_53, 0, x_3);
lean_ctor_set(x_53, 1, x_8);
x_18 = x_53;
goto block_46;
}
block_46:
{
lean_object* x_19;
x_19 = lean_ctor_get(x_18, 1);
lean_inc(x_19);
if (lean_obj_tag(x_19) == 0)
{
lean_object* x_20;
lean_dec(x_17);
lean_dec(x_2);
lean_dec(x_1);
x_20 = lean_ctor_get(x_18, 0);
lean_inc(x_20);
lean_dec(x_18);
return x_20;
}
else
if (lean_obj_tag(x_20) == 2)
{
lean_object* x_21;
x_21 = lean_ctor_get(x_19, 0);
lean_inc(x_21);
lean_dec(x_19);
if (lean_obj_tag(x_21) == 2)
{
uint8_t x_22;
x_22 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
uint8_t x_21;
x_21 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
lean_dec(x_2);
if (x_22 == 0)
if (x_21 == 0)
{
lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
x_23 = lean_ctor_get(x_18, 0);
lean_inc(x_23);
lean_dec(x_18);
x_24 = lean_ctor_get(x_21, 1);
lean_inc(x_24);
lean_dec(x_21);
x_25 = lean_ctor_get(x_17, 0);
lean_inc(x_25);
lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
x_22 = lean_ctor_get(x_17, 0);
lean_inc(x_22);
lean_dec(x_17);
x_26 = lean_ctor_get(x_25, 0);
lean_inc(x_26);
x_23 = lean_ctor_get(x_20, 1);
lean_inc(x_23);
lean_dec(x_20);
x_24 = lean_ctor_get(x_16, 0);
lean_inc(x_24);
lean_dec(x_16);
x_25 = lean_ctor_get(x_24, 0);
lean_inc(x_25);
lean_dec(x_24);
x_26 = lean_box(0);
x_27 = lean_name_mk_string(x_26, x_23);
x_28 = l_Std_RBNode_find___at_Lean_Parser_notFollowedByCategoryTokenFn___spec__1(x_25, x_27);
lean_dec(x_27);
lean_dec(x_25);
x_27 = lean_box(0);
x_28 = lean_name_mk_string(x_27, x_24);
x_29 = l_Std_RBNode_find___at_Lean_Parser_notFollowedByCategoryTokenFn___spec__1(x_26, x_28);
lean_dec(x_28);
lean_dec(x_26);
if (lean_obj_tag(x_29) == 0)
if (lean_obj_tag(x_28) == 0)
{
lean_dec(x_1);
return x_23;
return x_22;
}
else
{
lean_object* x_30; lean_object* x_31; lean_object* x_32;
lean_dec(x_29);
x_30 = l_System_FilePath_dirName___closed__1;
x_31 = l_Lean_Name_toStringWithSep___main(x_30, x_1);
x_32 = l_Lean_Parser_ParserState_mkUnexpectedError(x_23, x_31);
lean_object* x_29; lean_object* x_30; lean_object* x_31;
lean_dec(x_28);
x_29 = l_System_FilePath_dirName___closed__1;
x_30 = l_Lean_Name_toStringWithSep___main(x_29, x_1);
x_31 = l_Lean_Parser_ParserState_mkUnexpectedError(x_22, x_30);
return x_31;
}
}
else
{
lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35;
x_32 = lean_ctor_get(x_17, 0);
lean_inc(x_32);
lean_dec(x_17);
x_33 = lean_ctor_get(x_20, 1);
lean_inc(x_33);
lean_dec(x_20);
x_34 = l_Lean_Parser_mkAntiquot___closed__8;
x_35 = lean_string_dec_eq(x_33, x_34);
if (x_35 == 0)
{
lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
x_36 = lean_ctor_get(x_16, 0);
lean_inc(x_36);
lean_dec(x_16);
x_37 = lean_ctor_get(x_36, 0);
lean_inc(x_37);
lean_dec(x_36);
x_38 = lean_box(0);
x_39 = lean_name_mk_string(x_38, x_33);
x_40 = l_Std_RBNode_find___at_Lean_Parser_notFollowedByCategoryTokenFn___spec__1(x_37, x_39);
lean_dec(x_39);
lean_dec(x_37);
if (lean_obj_tag(x_40) == 0)
{
lean_dec(x_1);
return x_32;
}
else
{
lean_object* x_41; lean_object* x_42; lean_object* x_43;
lean_dec(x_40);
x_41 = l_System_FilePath_dirName___closed__1;
x_42 = l_Lean_Name_toStringWithSep___main(x_41, x_1);
x_43 = l_Lean_Parser_ParserState_mkUnexpectedError(x_32, x_42);
return x_43;
}
}
else
{
lean_dec(x_33);
lean_dec(x_16);
lean_dec(x_1);
return x_32;
}
}
else
{
lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36;
x_33 = lean_ctor_get(x_18, 0);
lean_inc(x_33);
lean_dec(x_18);
x_34 = lean_ctor_get(x_21, 1);
lean_inc(x_34);
lean_dec(x_21);
x_35 = l_Lean_Parser_mkAntiquot___closed__8;
x_36 = lean_string_dec_eq(x_34, x_35);
if (x_36 == 0)
{
lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
x_37 = lean_ctor_get(x_17, 0);
lean_inc(x_37);
lean_dec(x_17);
x_38 = lean_ctor_get(x_37, 0);
lean_inc(x_38);
lean_dec(x_37);
x_39 = lean_box(0);
x_40 = lean_name_mk_string(x_39, x_34);
x_41 = l_Std_RBNode_find___at_Lean_Parser_notFollowedByCategoryTokenFn___spec__1(x_38, x_40);
lean_dec(x_40);
lean_dec(x_38);
if (lean_obj_tag(x_41) == 0)
{
lean_dec(x_1);
return x_33;
}
else
{
lean_object* x_42; lean_object* x_43; lean_object* x_44;
lean_dec(x_41);
x_42 = l_System_FilePath_dirName___closed__1;
x_43 = l_Lean_Name_toStringWithSep___main(x_42, x_1);
x_44 = l_Lean_Parser_ParserState_mkUnexpectedError(x_33, x_43);
lean_object* x_44;
lean_dec(x_20);
lean_dec(x_16);
lean_dec(x_2);
lean_dec(x_1);
x_44 = lean_ctor_get(x_17, 0);
lean_inc(x_44);
lean_dec(x_17);
return x_44;
}
}
else
{
lean_dec(x_34);
lean_dec(x_17);
lean_dec(x_1);
return x_33;
}
}
}
else
{
lean_object* x_45;
lean_dec(x_21);
lean_dec(x_17);
lean_dec(x_2);
lean_dec(x_1);
x_45 = lean_ctor_get(x_18, 0);
lean_inc(x_45);
lean_dec(x_18);
return x_45;
}
}
}
}
else
{
lean_object* x_54; lean_object* x_55; lean_object* x_84; lean_object* x_85; lean_object* x_86; uint8_t x_87;
x_54 = lean_ctor_get(x_8, 0);
lean_inc(x_54);
lean_dec(x_8);
x_84 = lean_ctor_get(x_3, 2);
lean_inc(x_84);
x_85 = lean_ctor_get(x_84, 0);
lean_inc(x_85);
x_86 = lean_ctor_get(x_3, 1);
lean_inc(x_86);
x_87 = lean_nat_dec_eq(x_85, x_86);
lean_dec(x_86);
lean_dec(x_85);
if (x_87 == 0)
{
lean_object* x_88;
lean_dec(x_84);
lean_inc(x_2);
x_88 = l_Lean_Parser_peekTokenAux(x_2, x_3);
x_55 = x_88;
goto block_83;
}
else
{
lean_object* x_89; lean_object* x_90; lean_object* x_91;
x_89 = lean_ctor_get(x_84, 2);
lean_inc(x_89);
lean_dec(x_84);
x_90 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_90, 0, x_89);
x_91 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_91, 0, x_3);
lean_ctor_set(x_91, 1, x_90);
x_55 = x_91;
goto block_83;
}
block_83:
{
lean_object* x_56;
x_56 = lean_ctor_get(x_55, 1);
lean_inc(x_56);
if (lean_obj_tag(x_56) == 0)
{
lean_object* x_57;
lean_dec(x_54);
lean_dec(x_2);
lean_dec(x_1);
x_57 = lean_ctor_get(x_55, 0);
lean_inc(x_57);
lean_dec(x_55);
return x_57;
}
else
{
lean_object* x_58;
x_58 = lean_ctor_get(x_56, 0);
lean_inc(x_58);
lean_dec(x_56);
if (lean_obj_tag(x_58) == 2)
{
uint8_t x_59;
x_59 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
lean_dec(x_2);
if (x_59 == 0)
{
lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66;
x_60 = lean_ctor_get(x_55, 0);
lean_inc(x_60);
lean_dec(x_55);
x_61 = lean_ctor_get(x_58, 1);
lean_inc(x_61);
lean_dec(x_58);
x_62 = lean_ctor_get(x_54, 0);
lean_inc(x_62);
lean_dec(x_54);
x_63 = lean_ctor_get(x_62, 0);
lean_inc(x_63);
lean_dec(x_62);
x_64 = lean_box(0);
x_65 = lean_name_mk_string(x_64, x_61);
x_66 = l_Std_RBNode_find___at_Lean_Parser_notFollowedByCategoryTokenFn___spec__1(x_63, x_65);
lean_dec(x_65);
lean_dec(x_63);
if (lean_obj_tag(x_66) == 0)
{
lean_dec(x_1);
return x_60;
}
else
{
lean_object* x_67; lean_object* x_68; lean_object* x_69;
lean_dec(x_66);
x_67 = l_System_FilePath_dirName___closed__1;
x_68 = l_Lean_Name_toStringWithSep___main(x_67, x_1);
x_69 = l_Lean_Parser_ParserState_mkUnexpectedError(x_60, x_68);
return x_69;
}
}
else
{
lean_object* x_70; lean_object* x_71; lean_object* x_72; uint8_t x_73;
x_70 = lean_ctor_get(x_55, 0);
lean_inc(x_70);
lean_dec(x_55);
x_71 = lean_ctor_get(x_58, 1);
lean_inc(x_71);
lean_dec(x_58);
x_72 = l_Lean_Parser_mkAntiquot___closed__8;
x_73 = lean_string_dec_eq(x_71, x_72);
if (x_73 == 0)
{
lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
x_74 = lean_ctor_get(x_54, 0);
lean_inc(x_74);
lean_dec(x_54);
x_75 = lean_ctor_get(x_74, 0);
lean_inc(x_75);
lean_dec(x_74);
x_76 = lean_box(0);
x_77 = lean_name_mk_string(x_76, x_71);
x_78 = l_Std_RBNode_find___at_Lean_Parser_notFollowedByCategoryTokenFn___spec__1(x_75, x_77);
lean_dec(x_77);
lean_dec(x_75);
if (lean_obj_tag(x_78) == 0)
{
lean_dec(x_1);
return x_70;
}
else
{
lean_object* x_79; lean_object* x_80; lean_object* x_81;
lean_dec(x_78);
x_79 = l_System_FilePath_dirName___closed__1;
x_80 = l_Lean_Name_toStringWithSep___main(x_79, x_1);
x_81 = l_Lean_Parser_ParserState_mkUnexpectedError(x_70, x_80);
return x_81;
}
}
else
{
lean_dec(x_71);
lean_dec(x_54);
lean_dec(x_1);
return x_70;
}
}
}
else
{
lean_object* x_82;
lean_dec(x_58);
lean_dec(x_54);
lean_dec(x_2);
lean_dec(x_1);
x_82 = lean_ctor_get(x_55, 0);
lean_inc(x_82);
lean_dec(x_55);
return x_82;
}
}
}
}
}
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -13,8 +13,8 @@
#ifdef __cplusplus
extern "C" {
#endif
lean_object* l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_interpolatedStrFn_parse___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_mkError(lean_object*, lean_object*);
lean_object* l_Lean_Parser_quotedCharCoreFn(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Parser_isQuotableCharDefault(uint32_t);
lean_object* l_Lean_Parser_ParserState_next(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_interpolatedStrNoAntiquot___closed__1;
@ -22,34 +22,32 @@ lean_object* l_Lean_Parser_ParserState_mkNode(lean_object*, lean_object*, lean_o
lean_object* lean_array_get_size(lean_object*);
extern lean_object* l_Lean_interpolatedStrKind;
lean_object* l_Lean_Parser_mkAtomicInfo(lean_object*);
lean_object* l_Lean_Parser_interpolatedStrFn_parse___lambda__1___boxed(lean_object*);
lean_object* l_Lean_Parser_mkNodeToken(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_satisfyFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_string_utf8_next(lean_object*, lean_object*);
lean_object* l_Lean_Parser_interpolatedStr___elambda__1___closed__1;
lean_object* l_Lean_Parser_interpolatedStr___elambda__1___closed__2;
lean_object* l_Lean_Parser_ParserState_setPos(lean_object*, lean_object*);
lean_object* l_Lean_Parser_interpolatedStrFn_parse___closed__2;
lean_object* l_Lean_Parser_interpolatedStrFn___closed__1;
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Parser_interpolatedStrFn_parse___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_interpolatedStrFn_parse___closed__1;
lean_object* l_Lean_Parser_interpolatedStrNoAntiquot(lean_object*);
lean_object* l_Lean_Parser_interpolatedStrFn_parse___closed__3;
uint8_t l_Lean_Parser_tryAnti(lean_object*, lean_object*);
lean_object* l_Lean_Parser_orelseInfo(lean_object*, lean_object*);
uint8_t l_Lean_Parser_isQuotableCharForStrInterpolant(uint32_t);
extern lean_object* l_Lean_Parser_ParserState_mkEOIError___closed__1;
uint32_t lean_string_utf8_get(lean_object*, lean_object*);
lean_object* l_Lean_Parser_interpolatedStr(lean_object*);
lean_object* l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_interpolatedStrFn_parse___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_Parser_interpolatedStr___closed__1;
extern lean_object* l_Lean_Parser_quotedCharCoreFn___closed__1;
lean_object* l_Lean_Parser_ParserState_restore(lean_object*, lean_object*, lean_object*);
uint8_t l_UInt32_decEq(uint32_t, uint32_t);
lean_object* l_Lean_Parser_hexDigitFn(lean_object*, lean_object*);
lean_object* l_Lean_Parser_mergeOrElseErrors(lean_object*, lean_object*, lean_object*, uint8_t);
uint8_t l_Lean_Parser_interpolatedStrFn_parse___lambda__1(uint32_t);
lean_object* l_Lean_Parser_interpolatedStr___elambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_interpolatedStrFn_parse___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_orelseFnCore(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_interpolatedStrFn_parse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_interpolatedStrNoAntiquot___closed__2;
lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_interpolatedStrFn_parse___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot(lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Parser_isQuotableCharForStrInterpolant___boxed(lean_object*);
lean_object* l_Lean_Parser_interpolatedStrFn(lean_object*, lean_object*, lean_object*);
@ -87,189 +85,39 @@ x_4 = lean_box(x_3);
return x_4;
}
}
lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_interpolatedStrFn_parse___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
uint8_t l_Lean_Parser_interpolatedStrFn_parse___lambda__1(uint32_t x_1) {
_start:
{
lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_ctor_get(x_5, 0);
x_7 = lean_string_utf8_at_end(x_6, x_4);
if (x_7 == 0)
{
uint32_t x_8; uint32_t x_9; uint8_t x_10;
x_8 = lean_string_utf8_get(x_6, x_4);
x_9 = 125;
x_10 = x_8 == x_9;
if (x_10 == 0)
{
lean_object* x_11;
lean_dec(x_4);
x_11 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_1);
return x_11;
}
else
{
lean_object* x_12;
lean_dec(x_1);
x_12 = l_Lean_Parser_ParserState_next(x_3, x_6, x_4);
lean_dec(x_4);
return x_12;
}
}
else
{
lean_object* x_13; lean_object* x_14;
lean_dec(x_4);
lean_dec(x_1);
x_13 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_13);
return x_14;
}
}
}
lean_object* l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_interpolatedStrFn_parse___spec__2(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6;
x_3 = lean_ctor_get(x_1, 0);
x_4 = lean_ctor_get(x_3, 0);
x_5 = lean_ctor_get(x_2, 1);
lean_inc(x_5);
x_6 = lean_string_utf8_at_end(x_4, x_5);
if (x_6 == 0)
{
uint32_t x_7; uint8_t x_8;
x_7 = lean_string_utf8_get(x_4, x_5);
x_8 = l_Lean_Parser_isQuotableCharForStrInterpolant(x_7);
if (x_8 == 0)
{
uint32_t x_9; uint8_t x_10; uint8_t x_28;
x_9 = 120;
x_28 = x_7 == x_9;
if (x_28 == 0)
{
uint8_t x_29;
x_29 = 0;
x_10 = x_29;
goto block_27;
}
else
{
uint8_t x_30;
x_30 = 1;
x_10 = x_30;
goto block_27;
}
block_27:
{
if (x_10 == 0)
{
uint32_t x_11; uint8_t x_12;
x_11 = 117;
x_12 = x_7 == x_11;
if (x_12 == 0)
{
lean_object* x_13; lean_object* x_14;
lean_dec(x_5);
x_13 = l_Lean_Parser_quotedCharCoreFn___closed__1;
x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_2, x_13);
return x_14;
}
else
{
lean_object* x_15; lean_object* x_16; lean_object* x_17;
x_15 = l_Lean_Parser_ParserState_next(x_2, x_4, x_5);
lean_dec(x_5);
x_16 = l_Lean_Parser_hexDigitFn(x_1, x_15);
x_17 = lean_ctor_get(x_16, 3);
lean_inc(x_17);
if (lean_obj_tag(x_17) == 0)
{
lean_object* x_18; lean_object* x_19;
x_18 = l_Lean_Parser_hexDigitFn(x_1, x_16);
x_19 = lean_ctor_get(x_18, 3);
lean_inc(x_19);
if (lean_obj_tag(x_19) == 0)
{
lean_object* x_20; lean_object* x_21;
x_20 = l_Lean_Parser_hexDigitFn(x_1, x_18);
x_21 = lean_ctor_get(x_20, 3);
lean_inc(x_21);
if (lean_obj_tag(x_21) == 0)
{
lean_object* x_22;
x_22 = l_Lean_Parser_hexDigitFn(x_1, x_20);
return x_22;
}
else
{
lean_dec(x_21);
return x_20;
}
}
else
{
lean_dec(x_19);
return x_18;
}
}
else
{
lean_dec(x_17);
return x_16;
}
}
}
else
{
lean_object* x_23; lean_object* x_24; lean_object* x_25;
x_23 = l_Lean_Parser_ParserState_next(x_2, x_4, x_5);
lean_dec(x_5);
x_24 = l_Lean_Parser_hexDigitFn(x_1, x_23);
x_25 = lean_ctor_get(x_24, 3);
lean_inc(x_25);
if (lean_obj_tag(x_25) == 0)
{
lean_object* x_26;
x_26 = l_Lean_Parser_hexDigitFn(x_1, x_24);
return x_26;
}
else
{
lean_dec(x_25);
return x_24;
}
}
}
}
else
{
lean_object* x_31;
x_31 = l_Lean_Parser_ParserState_next(x_2, x_4, x_5);
lean_dec(x_5);
return x_31;
}
}
else
{
lean_object* x_32; lean_object* x_33;
lean_dec(x_5);
x_32 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
x_33 = l_Lean_Parser_ParserState_mkUnexpectedError(x_2, x_32);
return x_33;
}
uint32_t x_2; uint8_t x_3;
x_2 = 125;
x_3 = x_1 == x_2;
return x_3;
}
}
static lean_object* _init_l_Lean_Parser_interpolatedStrFn_parse___closed__1() {
_start:
{
lean_object* x_1;
x_1 = lean_alloc_closure((void*)(l_Lean_Parser_interpolatedStrFn_parse___lambda__1___boxed), 1, 0);
return x_1;
}
}
static lean_object* _init_l_Lean_Parser_interpolatedStrFn_parse___closed__2() {
_start:
{
lean_object* x_1;
x_1 = lean_mk_string("expected '}'");
return x_1;
}
}
static lean_object* _init_l_Lean_Parser_interpolatedStrFn_parse___closed__3() {
_start:
{
lean_object* x_1;
x_1 = lean_alloc_closure((void*)(l_Lean_Parser_isQuotableCharForStrInterpolant___boxed), 1, 0);
return x_1;
}
}
lean_object* l_Lean_Parser_interpolatedStrFn_parse(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
@ -279,70 +127,70 @@ lean_inc(x_7);
x_8 = lean_string_utf8_at_end(x_2, x_7);
if (x_8 == 0)
{
uint32_t x_9; lean_object* x_10; lean_object* x_11; uint32_t x_12; uint8_t x_13; uint8_t x_44;
uint32_t x_9; lean_object* x_10; lean_object* x_11; uint32_t x_12; uint8_t x_13; uint8_t x_50;
x_9 = lean_string_utf8_get(x_2, x_7);
x_10 = lean_string_utf8_next(x_2, x_7);
lean_dec(x_7);
x_11 = l_Lean_Parser_ParserState_setPos(x_6, x_10);
x_12 = 34;
x_44 = x_9 == x_12;
if (x_44 == 0)
x_50 = x_9 == x_12;
if (x_50 == 0)
{
uint8_t x_45;
x_45 = 0;
x_13 = x_45;
goto block_43;
uint8_t x_51;
x_51 = 0;
x_13 = x_51;
goto block_49;
}
else
{
uint8_t x_46;
x_46 = 1;
x_13 = x_46;
goto block_43;
uint8_t x_52;
x_52 = 1;
x_13 = x_52;
goto block_49;
}
block_43:
block_49:
{
if (x_13 == 0)
{
uint32_t x_14; uint8_t x_15; uint8_t x_36;
uint32_t x_14; uint8_t x_15; uint8_t x_42;
x_14 = 92;
x_36 = x_9 == x_14;
if (x_36 == 0)
x_42 = x_9 == x_14;
if (x_42 == 0)
{
uint8_t x_37;
x_37 = 0;
x_15 = x_37;
goto block_35;
uint8_t x_43;
x_43 = 0;
x_15 = x_43;
goto block_41;
}
else
{
uint8_t x_38;
x_38 = 1;
x_15 = x_38;
goto block_35;
uint8_t x_44;
x_44 = 1;
x_15 = x_44;
goto block_41;
}
block_35:
block_41:
{
if (x_15 == 0)
{
uint32_t x_16; uint8_t x_17; uint8_t x_29;
uint32_t x_16; uint8_t x_17; uint8_t x_34;
x_16 = 123;
x_29 = x_9 == x_16;
if (x_29 == 0)
x_34 = x_9 == x_16;
if (x_34 == 0)
{
uint8_t x_30;
x_30 = 0;
x_17 = x_30;
goto block_28;
uint8_t x_35;
x_35 = 0;
x_17 = x_35;
goto block_33;
}
else
{
uint8_t x_31;
x_31 = 1;
x_17 = x_31;
goto block_28;
uint8_t x_36;
x_36 = 1;
x_17 = x_36;
goto block_33;
}
block_28:
block_33:
{
if (x_17 == 0)
{
@ -351,42 +199,59 @@ goto _start;
}
else
{
lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_object* x_30;
x_19 = l_Lean_interpolatedStrLitKind;
x_20 = l_Lean_Parser_mkNodeToken(x_19, x_4, x_5, x_11);
lean_inc(x_1);
lean_inc(x_5);
x_21 = lean_apply_2(x_1, x_5, x_20);
x_22 = lean_ctor_get(x_21, 3);
lean_inc(x_22);
if (lean_obj_tag(x_22) == 0)
x_30 = lean_ctor_get(x_21, 3);
lean_inc(x_30);
if (lean_obj_tag(x_30) == 0)
{
lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
uint8_t x_31;
x_31 = 0;
x_22 = x_31;
goto block_29;
}
else
{
uint8_t x_32;
lean_dec(x_30);
x_32 = 1;
x_22 = x_32;
goto block_29;
}
block_29:
{
if (x_22 == 0)
{
lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
x_23 = lean_ctor_get(x_21, 1);
lean_inc(x_23);
x_24 = l_Lean_Parser_interpolatedStrFn_parse___closed__1;
x_25 = l_Lean_Parser_satisfyFn___at_Lean_Parser_interpolatedStrFn_parse___spec__1(x_24, x_5, x_21);
x_26 = lean_ctor_get(x_25, 3);
lean_inc(x_26);
if (lean_obj_tag(x_26) == 0)
x_25 = l_Lean_Parser_interpolatedStrFn_parse___closed__2;
x_26 = l_Lean_Parser_satisfyFn(x_24, x_25, x_5, x_21);
x_27 = lean_ctor_get(x_26, 3);
lean_inc(x_27);
if (lean_obj_tag(x_27) == 0)
{
x_4 = x_23;
x_6 = x_25;
x_6 = x_26;
goto _start;
}
else
{
lean_dec(x_26);
lean_dec(x_27);
lean_dec(x_23);
lean_dec(x_5);
lean_dec(x_3);
lean_dec(x_1);
return x_25;
return x_26;
}
}
else
{
lean_dec(x_22);
lean_dec(x_5);
lean_dec(x_3);
lean_dec(x_1);
@ -395,72 +260,67 @@ return x_21;
}
}
}
}
else
{
lean_object* x_32; lean_object* x_33;
x_32 = l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_interpolatedStrFn_parse___spec__2(x_5, x_11);
x_33 = lean_ctor_get(x_32, 3);
lean_inc(x_33);
if (lean_obj_tag(x_33) == 0)
lean_object* x_37; lean_object* x_38; lean_object* x_39;
x_37 = l_Lean_Parser_interpolatedStrFn_parse___closed__3;
x_38 = l_Lean_Parser_quotedCharCoreFn(x_37, x_5, x_11);
x_39 = lean_ctor_get(x_38, 3);
lean_inc(x_39);
if (lean_obj_tag(x_39) == 0)
{
x_6 = x_32;
x_6 = x_38;
goto _start;
}
else
{
lean_dec(x_33);
lean_dec(x_39);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
return x_32;
return x_38;
}
}
}
}
else
{
lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42;
lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48;
lean_dec(x_1);
x_39 = l_Lean_interpolatedStrLitKind;
x_40 = l_Lean_Parser_mkNodeToken(x_39, x_4, x_5, x_11);
x_45 = l_Lean_interpolatedStrLitKind;
x_46 = l_Lean_Parser_mkNodeToken(x_45, x_4, x_5, x_11);
lean_dec(x_5);
x_41 = l_Lean_interpolatedStrKind;
x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_3);
return x_42;
x_47 = l_Lean_interpolatedStrKind;
x_48 = l_Lean_Parser_ParserState_mkNode(x_46, x_47, x_3);
return x_48;
}
}
}
else
{
lean_object* x_47; lean_object* x_48;
lean_object* x_53; lean_object* x_54;
lean_dec(x_7);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
x_47 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
x_48 = l_Lean_Parser_ParserState_mkUnexpectedError(x_6, x_47);
return x_48;
x_53 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
x_54 = l_Lean_Parser_ParserState_mkUnexpectedError(x_6, x_53);
return x_54;
}
}
}
lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_interpolatedStrFn_parse___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
lean_object* l_Lean_Parser_interpolatedStrFn_parse___lambda__1___boxed(lean_object* x_1) {
_start:
{
lean_object* x_4;
x_4 = l_Lean_Parser_satisfyFn___at_Lean_Parser_interpolatedStrFn_parse___spec__1(x_1, x_2, x_3);
lean_dec(x_2);
return x_4;
}
}
lean_object* l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_interpolatedStrFn_parse___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_interpolatedStrFn_parse___spec__2(x_1, x_2);
uint32_t x_2; uint8_t x_3; lean_object* x_4;
x_2 = lean_unbox_uint32(x_1);
lean_dec(x_1);
return x_3;
x_3 = l_Lean_Parser_interpolatedStrFn_parse___lambda__1(x_2);
x_4 = lean_box(x_3);
return x_4;
}
}
lean_object* l_Lean_Parser_interpolatedStrFn_parse___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
@ -610,57 +470,10 @@ return x_7;
}
else
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
x_8 = lean_ctor_get(x_3, 0);
lean_inc(x_8);
x_9 = lean_array_get_size(x_8);
lean_dec(x_8);
x_10 = lean_ctor_get(x_3, 1);
lean_inc(x_10);
lean_inc(x_2);
x_11 = lean_apply_2(x_5, x_2, x_3);
x_12 = lean_ctor_get(x_11, 3);
lean_inc(x_12);
if (lean_obj_tag(x_12) == 0)
{
lean_dec(x_10);
lean_dec(x_9);
lean_dec(x_2);
lean_dec(x_1);
return x_11;
}
else
{
lean_object* x_13; lean_object* x_14; uint8_t x_15;
x_13 = lean_ctor_get(x_12, 0);
lean_inc(x_13);
lean_dec(x_12);
x_14 = lean_ctor_get(x_11, 1);
lean_inc(x_14);
x_15 = lean_nat_dec_eq(x_14, x_10);
lean_dec(x_14);
if (x_15 == 0)
{
lean_dec(x_13);
lean_dec(x_10);
lean_dec(x_9);
lean_dec(x_2);
lean_dec(x_1);
return x_11;
}
else
{
lean_object* x_16; lean_object* x_17; uint8_t x_18; lean_object* x_19;
lean_inc(x_10);
x_16 = l_Lean_Parser_ParserState_restore(x_11, x_9, x_10);
lean_dec(x_9);
x_17 = lean_apply_2(x_1, x_2, x_16);
x_18 = 1;
x_19 = l_Lean_Parser_mergeOrElseErrors(x_17, x_13, x_10, x_18);
lean_dec(x_10);
return x_19;
}
}
uint8_t x_8; lean_object* x_9;
x_8 = 1;
x_9 = l_Lean_Parser_orelseFnCore(x_5, x_1, x_8, x_2, x_3);
return x_9;
}
}
}
@ -709,6 +522,10 @@ if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_Parser_interpolatedStrFn_parse___closed__1 = _init_l_Lean_Parser_interpolatedStrFn_parse___closed__1();
lean_mark_persistent(l_Lean_Parser_interpolatedStrFn_parse___closed__1);
l_Lean_Parser_interpolatedStrFn_parse___closed__2 = _init_l_Lean_Parser_interpolatedStrFn_parse___closed__2();
lean_mark_persistent(l_Lean_Parser_interpolatedStrFn_parse___closed__2);
l_Lean_Parser_interpolatedStrFn_parse___closed__3 = _init_l_Lean_Parser_interpolatedStrFn_parse___closed__3();
lean_mark_persistent(l_Lean_Parser_interpolatedStrFn_parse___closed__3);
l_Lean_Parser_interpolatedStrFn___closed__1 = _init_l_Lean_Parser_interpolatedStrFn___closed__1();
lean_mark_persistent(l_Lean_Parser_interpolatedStrFn___closed__1);
l_Lean_Parser_interpolatedStrNoAntiquot___closed__1 = _init_l_Lean_Parser_interpolatedStrNoAntiquot___closed__1();

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -71,13 +71,13 @@ lean_object* l___private_Lean_PrettyPrinter_0__Lean_PrettyPrinter_withoutContext
lean_object* l___private_Lean_PrettyPrinter_0__Lean_PrettyPrinter_withoutContext(lean_object*);
lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter___hyg_246____closed__3;
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_TraceState_Inhabited___closed__1;
extern lean_object* l_Lean_Meta_Context_config___default___closed__1;
lean_object* l___private_Lean_PrettyPrinter_0__Lean_PrettyPrinter_noContext_match__1___rarg(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Unhygienic_run___rarg___closed__1;
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalContextImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PPContext_runMetaM(lean_object*);
extern lean_object* l_Lean_PrettyPrinter_Formatter_checkKind___closed__1;
extern lean_object* l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
lean_object* l_Lean_LocalContext_sanitizeNames(lean_object*, lean_object*);
extern lean_object* l_Lean_NameGenerator_Inhabited___closed__3;
lean_object* l_Lean_PPContext_runCoreM___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
@ -97,7 +97,7 @@ lean_ctor_set(x_9, 2, x_7);
lean_ctor_set(x_9, 3, x_8);
x_10 = l_Lean_Unhygienic_run___rarg___closed__1;
x_11 = l_Lean_NameGenerator_Inhabited___closed__3;
x_12 = l_Lean_TraceState_Inhabited___closed__1;
x_12 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
lean_inc(x_4);
x_13 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_13, 0, x_4);
@ -517,7 +517,7 @@ lean_ctor_set(x_17, 2, x_15);
lean_ctor_set(x_17, 3, x_16);
x_18 = l_Lean_Unhygienic_run___rarg___closed__1;
x_19 = l_Lean_NameGenerator_Inhabited___closed__3;
x_20 = l_Lean_TraceState_Inhabited___closed__1;
x_20 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_21 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_21, 0, x_1);
lean_ctor_set(x_21, 1, x_18);

View file

@ -27,7 +27,6 @@ lean_object* l_Lean_PrettyPrinter_Formatter_getStackSize___rarg(lean_object*, le
lean_object* l_Lean_PrettyPrinter_Formatter_concat(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_numLitNoAntiquot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_MonadTraverser_getCur___at_Lean_PrettyPrinter_Formatter_visitArgs___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_eoi_formatter___rarg(lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_FormatterM_monadTraverser___closed__4;
uint8_t l_List_foldr___main___at_Lean_PrettyPrinter_Formatter_identNoAntiquot_formatter___spec__1(uint8_t, lean_object*);
@ -42,6 +41,7 @@ lean_object* l_Lean_Syntax_MonadTraverser_goUp___at_Lean_PrettyPrinter_Formatter
lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_format___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_pushLine___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_many_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___closed__8;
lean_object* l_Lean_Format_pretty(lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_checkNoImmediateColon_formatter___rarg(lean_object*);
@ -277,6 +277,7 @@ lean_object* l_Lean_PrettyPrinter_Formatter_parseToken___boxed(lean_object*, lea
extern lean_object* l_Lean_identKind;
lean_object* l_Lean_PrettyPrinter_Formatter_parseToken___closed__1;
lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___closed__11;
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_UInt32_decEq(uint32_t, uint32_t);
lean_object* l_List_foldl___main___at_Lean_moduleNameOfFileName___spec__1(lean_object*, lean_object*);
extern lean_object* l_Lean_Syntax_inhabited;
@ -294,7 +295,6 @@ lean_object* l_Lean_PrettyPrinter_Formatter_symbol_formatter___lambda__1___close
lean_object* l_Lean_addMessageContextPartial___at_Lean_Core_Lean_AddMessageContext___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_MonadTraverser_goUp___at_Lean_PrettyPrinter_Formatter_visitArgs___spec__4___boxed(lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_checkKind___lambda__1___closed__3;
lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Format_getWidth___closed__1;
lean_object* l_Lean_PrettyPrinter_Formatter_checkNoWsBefore_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_String_isPrefixOf(lean_object*, lean_object*);
@ -3263,7 +3263,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
x_1 = l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__1___closed__1;
x_2 = lean_unsigned_to_nat(182u);
x_2 = lean_unsigned_to_nat(183u);
x_3 = lean_unsigned_to_nat(6u);
x_4 = l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__1___closed__2;
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
@ -3842,7 +3842,7 @@ return x_14;
}
}
}
lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; uint8_t x_8; lean_object* x_9; lean_object* x_10;
@ -4069,7 +4069,7 @@ x_18 = lean_ctor_get(x_8, 1);
lean_inc(x_18);
lean_dec(x_8);
lean_inc(x_1);
x_19 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2(x_1, x_3, x_4, x_5, x_6, x_18);
x_19 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2(x_1, x_3, x_4, x_5, x_6, x_18);
x_20 = lean_ctor_get(x_19, 0);
lean_inc(x_20);
x_21 = lean_unbox(x_20);
@ -4319,11 +4319,11 @@ return x_29;
}
}
}
lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7;
x_7 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2(x_1, x_2, x_3, x_4, x_5, x_6);
x_7 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);

View file

@ -19,7 +19,6 @@ lean_object* l_Lean_fmt___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize_
lean_object* l_Lean_PrettyPrinter_Parenthesizer_visitToken___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_ite(lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_numLitNoAntiquot_parenthesizer(lean_object*);
lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__2___closed__8;
lean_object* l___regBuiltin_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer___closed__1;
extern lean_object* l_Option_HasRepr___rarg___closed__2;
@ -156,6 +155,7 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___closed__2
lean_object* l_Lean_PrettyPrinter_parenthesize___closed__3;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkWsBefore_parenthesizer___rarg(lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_strLitNoAntiquot_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__2(lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__4;
lean_object* l_Nat_forMAux___main___at_Lean_PrettyPrinter_Parenthesizer_parenthesizeCategoryCore___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -187,6 +187,7 @@ lean_object* lean_nat_sub(lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__3___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_throwBacktrack___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_choiceKind___closed__2;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__1___closed__1;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__1___closed__3;
@ -345,7 +346,6 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_ParenthesizerM_monadTraverser___
lean_object* l_Lean_Syntax_getArgs(lean_object*);
lean_object* l_Lean_fmt___at_Lean_Level_LevelToFormat_Result_format___spec__1(lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_ite___rarg(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___closed__4;
extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3127____closed__4;
lean_object* l_Lean_Syntax_getKind(lean_object*);
@ -2897,7 +2897,7 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_MonadTraverser_getIdx___at_Lean_P
return x_2;
}
}
lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; uint8_t x_8; lean_object* x_9; lean_object* x_10;
@ -3124,7 +3124,7 @@ x_18 = lean_ctor_get(x_8, 1);
lean_inc(x_18);
lean_dec(x_8);
lean_inc(x_1);
x_19 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3(x_1, x_3, x_4, x_5, x_6, x_18);
x_19 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3(x_1, x_3, x_4, x_5, x_6, x_18);
x_20 = lean_ctor_get(x_19, 0);
lean_inc(x_20);
x_21 = lean_unbox(x_20);
@ -3826,7 +3826,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
x_1 = l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__8;
x_2 = lean_unsigned_to_nat(211u);
x_2 = lean_unsigned_to_nat(213u);
x_3 = lean_unsigned_to_nat(4u);
x_4 = l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__9;
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
@ -5735,11 +5735,11 @@ lean_dec(x_1);
return x_2;
}
}
lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7;
x_7 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3(x_1, x_2, x_3, x_4, x_5, x_6);
x_7 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);

View file

@ -38,6 +38,7 @@ lean_object* l_Lean_Lsp_writeLspMessage(lean_object*, lean_object*, lean_object*
lean_object* l_Lean_Server_EditableDocument_updateDocument___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Server_Snapshots_compileCmdsAfter___main(lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_get(lean_object*, lean_object*);
lean_object* l_IO_FS_Handle_mk___at_Lean_Server_Test_runWithInputFile___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_append___rarg(lean_object*, lean_object*);
lean_object* l_Array_forMAux___main___at_Lean_Server_handleDidChange___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forMAux___main___at_Lean_Server_handleDidChange___spec__1___closed__1;
@ -59,7 +60,6 @@ extern lean_object* l_Lean_Lsp_VersionedTextDocumentIdentifier_hasFromJson___clo
lean_object* l_Lean_Server_parseParams___rarg___closed__1;
lean_object* l_Lean_Server_handleHover___rarg(lean_object*);
lean_object* l_Lean_Server_handleNotification___closed__1;
lean_object* l_IO_FS_Handle_mk___at_Lean_Parser_parseFile___spec__2(lean_object*, uint8_t, uint8_t, lean_object*);
lean_object* lean_string_utf8_byte_size(lean_object*);
lean_object* l_Lean_Server_handleDidChange___closed__2;
lean_object* l_Lean_Server_sendDiagnostics(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -111,6 +111,7 @@ lean_object* l_Lean_Server_writeLspResponse___rarg(lean_object*, lean_object*, l
lean_object* l_Lean_Server_writeLspNotification(lean_object*);
extern lean_object* l_IO_FS_Stream_readRequestAs___closed__7;
extern lean_object* l_IO_FS_Stream_readRequestAs___closed__3;
lean_object* l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__2(lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentArray_mapMAux___at_Lean_Server_sendDiagnostics___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_appendTrees___rarg(lean_object*, lean_object*);
@ -119,6 +120,7 @@ lean_object* l_Lean_Json_getObjValAs_x3f___at_Lean_Lsp_TextDocumentPositionParam
lean_object* l_Std_RBNode_balRight___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Std_RBNode_isBlack___rarg(lean_object*);
lean_object* l_Lean_Server_handleDidChange___closed__4;
lean_object* l_IO_Prim_fopenFlags(uint8_t, uint8_t);
lean_object* l_Lean_Server_Snapshots_compileHeader(lean_object*, lean_object*, lean_object*);
lean_object* l_List_filterAux___main___at_Lean_Server_EditableDocument_updateDocument___spec__1(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Char_HasRepr___closed__1;
@ -161,6 +163,7 @@ lean_object* l_Lean_Server_parseParams___at_Lean_Server_handleNotification___spe
lean_object* l_Lean_Server_writeLspResponse___at_Lean_Server_initAndRunServer___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Json_getObjValAs_x3f___at_Lean_Lsp_InitializeParams_hasFromJson___spec__3(lean_object*, lean_object*);
lean_object* l_Lean_Server_initAndRunServer___closed__3;
lean_object* l_IO_FS_Handle_mk___at_Lean_Server_Test_runWithInputFile___spec__1(lean_object*, uint8_t, uint8_t, lean_object*);
lean_object* l_Lean_Lsp_readLspRequestAs___at_Lean_Server_initAndRunServer___spec__3___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Lsp_msgToDiagnostic(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Json_opt___at_Lean_Lsp_InitializeResult_hasToJson___spec__1(lean_object*, lean_object*);
@ -202,7 +205,6 @@ lean_object* l_Lean_Server_handleHover(lean_object*, lean_object*);
lean_object* l_Lean_Server_updateOpenDocuments(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Lsp_InitializeParams_hasFromJson___closed__4;
extern lean_object* l_IO_FS_Stream_readRequestAs___closed__4;
lean_object* l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_List_head_x3f___rarg(lean_object*);
lean_object* l_Lean_Server_handleRequest___closed__3;
lean_object* l_Lean_Server_mainLoop(lean_object*);
@ -222,6 +224,7 @@ lean_object* l_Lean_Json_getObjVal_x3f(lean_object*, lean_object*);
lean_object* l_Lean_Server_writeLspNotification___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Server_writeLspResponse(lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_Server_findOpenDocument___spec__1___boxed(lean_object*, lean_object*);
lean_object* lean_io_prim_handle_mk(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Lsp_InitializeParams_hasFromJson___closed__6;
lean_object* lean_nat_to_int(lean_object*);
extern lean_object* l_Lean_Lsp_DidChangeTextDocumentParams_hasFromJson___closed__1;
@ -7709,7 +7712,17 @@ lean_dec(x_1);
return x_4;
}
}
lean_object* l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
lean_object* l_IO_FS_Handle_mk___at_Lean_Server_Test_runWithInputFile___spec__1(lean_object* x_1, uint8_t x_2, uint8_t x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; lean_object* x_6;
x_5 = l_IO_Prim_fopenFlags(x_2, x_3);
x_6 = lean_io_prim_handle_mk(x_1, x_5, x_4);
lean_dec(x_5);
return x_6;
}
}
lean_object* l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; uint32_t x_5; lean_object* x_6; lean_object* x_7;
@ -7746,7 +7759,7 @@ lean_inc(x_9);
lean_dec(x_7);
x_10 = 0;
x_11 = 1;
x_12 = l_IO_FS_Handle_mk___at_Lean_Parser_parseFile___spec__2(x_1, x_10, x_11, x_9);
x_12 = l_IO_FS_Handle_mk___at_Lean_Server_Test_runWithInputFile___spec__1(x_1, x_10, x_11, x_9);
if (lean_obj_tag(x_12) == 0)
{
lean_object* x_13; lean_object* x_14; lean_object* x_15;
@ -7778,7 +7791,7 @@ x_20 = lean_ctor_get(x_18, 1);
lean_inc(x_20);
lean_dec(x_18);
x_21 = lean_io_error_to_string(x_19);
x_22 = l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__1(x_8, x_21, x_20);
x_22 = l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__2(x_8, x_21, x_20);
return x_22;
}
}
@ -7884,6 +7897,19 @@ return x_38;
}
}
}
lean_object* l_IO_FS_Handle_mk___at_Lean_Server_Test_runWithInputFile___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
uint8_t x_5; uint8_t x_6; lean_object* x_7;
x_5 = lean_unbox(x_2);
lean_dec(x_2);
x_6 = lean_unbox(x_3);
lean_dec(x_3);
x_7 = l_IO_FS_Handle_mk___at_Lean_Server_Test_runWithInputFile___spec__1(x_1, x_5, x_6, x_4);
lean_dec(x_1);
return x_7;
}
}
lean_object* l_Lean_Server_Test_runWithInputFile___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{

View file

@ -18,10 +18,10 @@ lean_object* lean_io_error_to_string(lean_object*);
lean_object* _lean_main(lean_object*, lean_object*);
lean_object* lean_get_stderr(lean_object*);
lean_object* l_main___boxed__const__1;
lean_object* l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__2(lean_object*, lean_object*, lean_object*);
lean_object* l_IO_getStdin___at_main___spec__1(lean_object*);
lean_object* lean_init_search_path(lean_object*, lean_object*);
lean_object* lean_get_stdout(lean_object*);
lean_object* l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Server_initAndRunServer(lean_object*, lean_object*, lean_object*);
lean_object* l_IO_getStdin___at_main___spec__1(lean_object* x_1) {
_start:
@ -117,7 +117,7 @@ x_23 = lean_ctor_get(x_15, 1);
lean_inc(x_23);
lean_dec(x_15);
x_24 = lean_io_error_to_string(x_22);
x_25 = l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__1(x_10, x_24, x_23);
x_25 = l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__2(x_10, x_24, x_23);
if (lean_obj_tag(x_25) == 0)
{
uint8_t x_26;

View file

@ -27,7 +27,6 @@ extern lean_object* l_Lean_Elab_parseImports___closed__1;
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Server_Snapshots_Snapshot_env___boxed(lean_object*);
lean_object* l_Lean_Elab_Command_mkState(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_parseCommand___main(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Server_Snapshots_compileHeader(lean_object*, lean_object*, lean_object*);
lean_object* lean_st_mk_ref(lean_object*, lean_object*);
lean_object* l_Lean_Elab_logException___at_Lean_Elab_Command_withLogging___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
@ -40,6 +39,7 @@ extern lean_object* l_Lean_SourceInfo_inhabited;
lean_object* l_Lean_InternalExceptionId_getName(lean_object*, lean_object*);
lean_object* l___private_Lean_Server_Snapshots_1__ioErrorFromEmpty___boxed(lean_object*);
lean_object* l_Lean_Syntax_getHeadInfo___main(lean_object*);
lean_object* l_Lean_Parser_parseCommand_parse(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Parser_isExitCommand(lean_object*);
lean_object* lean_panic_fn(lean_object*, lean_object*);
extern lean_object* l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
@ -350,7 +350,7 @@ x_6 = l_Lean_Server_Snapshots_Snapshot_env(x_2);
x_7 = lean_ctor_get(x_2, 1);
lean_inc(x_7);
x_8 = l_Lean_Server_Snapshots_Snapshot_msgLog(x_2);
x_9 = l_Lean_Parser_parseCommand___main(x_6, x_5, x_7, x_8);
x_9 = l_Lean_Parser_parseCommand_parse(x_6, x_5, x_7, x_8);
x_10 = lean_ctor_get(x_9, 1);
lean_inc(x_10);
x_11 = lean_ctor_get(x_9, 0);

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -13,56 +13,63 @@
#ifdef __cplusplus
extern "C" {
#endif
lean_object* l_Lean_mkPPFnsRef___lambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__5;
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__1;
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__2(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PPContext_mctx___default;
lean_object* l_Lean_MetavarContext_instantiateMVars(lean_object*, lean_object*);
lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__10;
lean_object* l___private_Lean_Util_PPExt_1__registerOptions(lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__7;
lean_object* l_Lean_PPContext_opts___default;
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__3;
lean_object* l_Lean_EnvExtensionInterfaceUnsafe_registerExt___rarg(lean_object*, lean_object*);
lean_object* l_Lean_PPContext_lctx___default;
lean_object* l_Lean_PPContext_openDecls___default;
lean_object* lean_st_ref_get(lean_object*, lean_object*);
lean_object* l_Lean_mkPPFnsRef___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l_String_splitAux___main___closed__1;
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__2;
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__4;
lean_object* l_IO_mkRef___at_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____spec__1(lean_object*, lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8;
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98_(lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3_(lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133_(lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__9;
lean_object* l_Lean_getSyntaxMaxDepth___boxed(lean_object*);
lean_object* l_Lean_mkPPFnsRef___closed__3;
lean_object* l_Lean_mkPPFnsRef___lambda__2(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_LocalContext_Inhabited___closed__2;
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__6;
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__1___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_PersistentEnvExtension_inhabited___closed__1;
uint8_t l_Lean_KVMap_getBool(lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_PPFns_inhabited;
lean_object* l_Lean_ppFnsRef;
lean_object* lean_st_mk_ref(lean_object*, lean_object*);
lean_object* l_Lean_mkPPExt___lambda__1(lean_object*);
lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__7;
lean_object* lean_name_mk_string(lean_object*, lean_object*);
lean_object* l_Lean_mkPPFnsRef___closed__2;
lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__5;
lean_object* l_Lean_mkPPFnsRef___closed__1;
lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__3;
lean_object* lean_expr_dbg_to_string(lean_object*);
lean_object* l_Lean_mkPPFnsRef___lambda__2___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__2___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__1;
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133____closed__1;
lean_object* l_Lean_ppExpr(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__1;
lean_object* l_Lean_PPContext_currNamespace___default;
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__10;
uint8_t l_Lean_getPPRaw(lean_object*);
lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__2;
lean_object* l_Lean_KVMap_getNat(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_EnvExtensionInterfaceUnsafe_Ext_inhabitedExt___closed__2;
lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__9;
lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__4;
lean_object* l_Lean_PPFns_inhabited___closed__1;
lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__8;
lean_object* l_IO_mkRef___at_Lean_mkPPFnsRef___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_mkPPExt(lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__3;
extern lean_object* l_Lean_sanitizeNamesOption___closed__1;
lean_object* l_Lean_mkPPFnsRef(lean_object*);
lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__6;
lean_object* lean_register_option(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_getPPRaw___boxed(lean_object*);
lean_object* l_Lean_ppTerm(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ppExt;
lean_object* l_Lean_getSyntaxMaxDepth(lean_object*);
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133____lambda__1(lean_object*);
extern lean_object* l_Lean_MetavarContext_Inhabited___closed__1;
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__2;
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_EnvExtensionInterfaceUnsafe_getState___rarg(lean_object*, lean_object*);
extern lean_object* l_Lean_sanitizeNamesOption___closed__2;
lean_object* l_Lean_mkPPExt___closed__1;
lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*);
static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__1() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__1() {
_start:
{
lean_object* x_1;
@ -70,17 +77,17 @@ x_1 = lean_mk_string("syntaxMaxDepth");
return x_1;
}
}
static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__2() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
x_2 = l___private_Lean_Util_PPExt_1__registerOptions___closed__1;
x_2 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__3() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2;
@ -90,7 +97,7 @@ lean_ctor_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__4() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__4() {
_start:
{
lean_object* x_1;
@ -98,13 +105,13 @@ x_1 = lean_mk_string("maximum depth when displaying syntax objects in messages")
return x_1;
}
}
static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__5() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__5() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
x_1 = l___private_Lean_Util_PPExt_1__registerOptions___closed__3;
x_1 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__3;
x_2 = l_String_splitAux___main___closed__1;
x_3 = l___private_Lean_Util_PPExt_1__registerOptions___closed__4;
x_3 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__4;
x_4 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_4, 0, x_1);
lean_ctor_set(x_4, 1, x_2);
@ -112,7 +119,7 @@ lean_ctor_set(x_4, 2, x_3);
return x_4;
}
}
static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__6() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__6() {
_start:
{
lean_object* x_1;
@ -120,17 +127,17 @@ x_1 = lean_mk_string("raw");
return x_1;
}
}
static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__7() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_sanitizeNamesOption___closed__2;
x_2 = l___private_Lean_Util_PPExt_1__registerOptions___closed__6;
x_2 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__6;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__8() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8() {
_start:
{
uint8_t x_1; lean_object* x_2;
@ -140,7 +147,7 @@ lean_ctor_set_uint8(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__9() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__9() {
_start:
{
lean_object* x_1;
@ -148,13 +155,13 @@ x_1 = lean_mk_string("(pretty printer) print raw expression/syntax tree");
return x_1;
}
}
static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__10() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__10() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
x_1 = l___private_Lean_Util_PPExt_1__registerOptions___closed__8;
x_1 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8;
x_2 = l_Lean_sanitizeNamesOption___closed__1;
x_3 = l___private_Lean_Util_PPExt_1__registerOptions___closed__9;
x_3 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__9;
x_4 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_4, 0, x_1);
lean_ctor_set(x_4, 1, x_2);
@ -162,12 +169,12 @@ lean_ctor_set(x_4, 2, x_3);
return x_4;
}
}
lean_object* l___private_Lean_Util_PPExt_1__registerOptions(lean_object* x_1) {
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4;
x_2 = l___private_Lean_Util_PPExt_1__registerOptions___closed__2;
x_3 = l___private_Lean_Util_PPExt_1__registerOptions___closed__5;
x_2 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__2;
x_3 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__5;
x_4 = lean_register_option(x_2, x_3, x_1);
if (lean_obj_tag(x_4) == 0)
{
@ -175,8 +182,8 @@ lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_5 = lean_ctor_get(x_4, 1);
lean_inc(x_5);
lean_dec(x_4);
x_6 = l___private_Lean_Util_PPExt_1__registerOptions___closed__7;
x_7 = l___private_Lean_Util_PPExt_1__registerOptions___closed__10;
x_6 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__7;
x_7 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__10;
x_8 = lean_register_option(x_6, x_7, x_5);
return x_8;
}
@ -208,7 +215,7 @@ lean_object* l_Lean_getSyntaxMaxDepth(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4;
x_2 = l___private_Lean_Util_PPExt_1__registerOptions___closed__2;
x_2 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__2;
x_3 = lean_unsigned_to_nat(2u);
x_4 = l_Lean_KVMap_getNat(x_1, x_2, x_3);
return x_4;
@ -227,7 +234,7 @@ uint8_t l_Lean_getPPRaw(lean_object* x_1) {
_start:
{
lean_object* x_2; uint8_t x_3; uint8_t x_4;
x_2 = l___private_Lean_Util_PPExt_1__registerOptions___closed__7;
x_2 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__7;
x_3 = 0;
x_4 = l_Lean_KVMap_getBool(x_1, x_2, x_3);
return x_4;
@ -243,6 +250,46 @@ x_3 = lean_box(x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_PPContext_mctx___default() {
_start:
{
lean_object* x_1;
x_1 = l_Lean_MetavarContext_Inhabited___closed__1;
return x_1;
}
}
static lean_object* _init_l_Lean_PPContext_lctx___default() {
_start:
{
lean_object* x_1;
x_1 = l_Lean_LocalContext_Inhabited___closed__2;
return x_1;
}
}
static lean_object* _init_l_Lean_PPContext_opts___default() {
_start:
{
lean_object* x_1;
x_1 = lean_box(0);
return x_1;
}
}
static lean_object* _init_l_Lean_PPContext_currNamespace___default() {
_start:
{
lean_object* x_1;
x_1 = lean_box(0);
return x_1;
}
}
static lean_object* _init_l_Lean_PPContext_openDecls___default() {
_start:
{
lean_object* x_1;
x_1 = lean_box(0);
return x_1;
}
}
static lean_object* _init_l_Lean_PPFns_inhabited___closed__1() {
_start:
{
@ -262,7 +309,7 @@ x_1 = l_Lean_PPFns_inhabited___closed__1;
return x_1;
}
}
lean_object* l_IO_mkRef___at_Lean_mkPPFnsRef___spec__1(lean_object* x_1, lean_object* x_2) {
lean_object* l_IO_mkRef___at_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; uint8_t x_4;
@ -287,7 +334,7 @@ return x_7;
}
}
}
lean_object* l_Lean_mkPPFnsRef___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; lean_object* x_5; lean_object* x_6;
@ -300,7 +347,7 @@ lean_ctor_set(x_6, 1, x_3);
return x_6;
}
}
lean_object* l_Lean_mkPPFnsRef___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
@ -317,63 +364,63 @@ lean_ctor_set(x_10, 1, x_3);
return x_10;
}
}
static lean_object* _init_l_Lean_mkPPFnsRef___closed__1() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__1() {
_start:
{
lean_object* x_1;
x_1 = lean_alloc_closure((void*)(l_Lean_mkPPFnsRef___lambda__1___boxed), 3, 0);
x_1 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__1___boxed), 3, 0);
return x_1;
}
}
static lean_object* _init_l_Lean_mkPPFnsRef___closed__2() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__2() {
_start:
{
lean_object* x_1;
x_1 = lean_alloc_closure((void*)(l_Lean_mkPPFnsRef___lambda__2___boxed), 3, 0);
x_1 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__2___boxed), 3, 0);
return x_1;
}
}
static lean_object* _init_l_Lean_mkPPFnsRef___closed__3() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_mkPPFnsRef___closed__1;
x_2 = l_Lean_mkPPFnsRef___closed__2;
x_1 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__1;
x_2 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__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;
}
}
lean_object* l_Lean_mkPPFnsRef(lean_object* x_1) {
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3;
x_2 = l_Lean_mkPPFnsRef___closed__3;
x_3 = l_IO_mkRef___at_Lean_mkPPFnsRef___spec__1(x_2, x_1);
x_2 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__3;
x_3 = l_IO_mkRef___at_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____spec__1(x_2, x_1);
return x_3;
}
}
lean_object* l_Lean_mkPPFnsRef___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Lean_mkPPFnsRef___lambda__1(x_1, x_2, x_3);
x_4 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__1(x_1, x_2, x_3);
lean_dec(x_2);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Lean_mkPPFnsRef___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_Lean_mkPPFnsRef___lambda__2(x_1, x_2, x_3);
x_4 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__2(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
lean_object* l_Lean_mkPPExt___lambda__1(lean_object* x_1) {
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133____lambda__1(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4;
@ -399,19 +446,19 @@ return x_7;
}
}
}
static lean_object* _init_l_Lean_mkPPExt___closed__1() {
static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133____closed__1() {
_start:
{
lean_object* x_1;
x_1 = lean_alloc_closure((void*)(l_Lean_mkPPExt___lambda__1), 1, 0);
x_1 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133____lambda__1), 1, 0);
return x_1;
}
}
lean_object* l_Lean_mkPPExt(lean_object* x_1) {
lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3;
x_2 = l_Lean_mkPPExt___closed__1;
x_2 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133____closed__1;
x_3 = l_Lean_EnvExtensionInterfaceUnsafe_registerExt___rarg(x_2, x_1);
return x_3;
}
@ -520,47 +567,57 @@ lean_dec_ref(res);
res = initialize_Lean_Data_OpenDecl(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l___private_Lean_Util_PPExt_1__registerOptions___closed__1 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__1();
lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__1);
l___private_Lean_Util_PPExt_1__registerOptions___closed__2 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__2();
lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__2);
l___private_Lean_Util_PPExt_1__registerOptions___closed__3 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__3();
lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__3);
l___private_Lean_Util_PPExt_1__registerOptions___closed__4 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__4();
lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__4);
l___private_Lean_Util_PPExt_1__registerOptions___closed__5 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__5();
lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__5);
l___private_Lean_Util_PPExt_1__registerOptions___closed__6 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__6();
lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__6);
l___private_Lean_Util_PPExt_1__registerOptions___closed__7 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__7();
lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__7);
l___private_Lean_Util_PPExt_1__registerOptions___closed__8 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__8();
lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__8);
l___private_Lean_Util_PPExt_1__registerOptions___closed__9 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__9();
lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__9);
l___private_Lean_Util_PPExt_1__registerOptions___closed__10 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__10();
lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__10);
res = l___private_Lean_Util_PPExt_1__registerOptions(lean_io_mk_world());
l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__1 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__1();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__1);
l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__2 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__2();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__2);
l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__3 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__3();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__3);
l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__4 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__4();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__4);
l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__5 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__5();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__5);
l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__6 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__6();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__6);
l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__7 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__7();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__7);
l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8);
l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__9 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__9();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__9);
l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__10 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__10();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__10);
res = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3_(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_PPContext_mctx___default = _init_l_Lean_PPContext_mctx___default();
lean_mark_persistent(l_Lean_PPContext_mctx___default);
l_Lean_PPContext_lctx___default = _init_l_Lean_PPContext_lctx___default();
lean_mark_persistent(l_Lean_PPContext_lctx___default);
l_Lean_PPContext_opts___default = _init_l_Lean_PPContext_opts___default();
lean_mark_persistent(l_Lean_PPContext_opts___default);
l_Lean_PPContext_currNamespace___default = _init_l_Lean_PPContext_currNamespace___default();
lean_mark_persistent(l_Lean_PPContext_currNamespace___default);
l_Lean_PPContext_openDecls___default = _init_l_Lean_PPContext_openDecls___default();
lean_mark_persistent(l_Lean_PPContext_openDecls___default);
l_Lean_PPFns_inhabited___closed__1 = _init_l_Lean_PPFns_inhabited___closed__1();
lean_mark_persistent(l_Lean_PPFns_inhabited___closed__1);
l_Lean_PPFns_inhabited = _init_l_Lean_PPFns_inhabited();
lean_mark_persistent(l_Lean_PPFns_inhabited);
l_Lean_mkPPFnsRef___closed__1 = _init_l_Lean_mkPPFnsRef___closed__1();
lean_mark_persistent(l_Lean_mkPPFnsRef___closed__1);
l_Lean_mkPPFnsRef___closed__2 = _init_l_Lean_mkPPFnsRef___closed__2();
lean_mark_persistent(l_Lean_mkPPFnsRef___closed__2);
l_Lean_mkPPFnsRef___closed__3 = _init_l_Lean_mkPPFnsRef___closed__3();
lean_mark_persistent(l_Lean_mkPPFnsRef___closed__3);
res = l_Lean_mkPPFnsRef(lean_io_mk_world());
l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__1 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__1();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__1);
l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__2 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__2();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__2);
l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__3 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__3();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__3);
res = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98_(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
l_Lean_ppFnsRef = lean_io_result_get_value(res);
lean_mark_persistent(l_Lean_ppFnsRef);
lean_dec_ref(res);
l_Lean_mkPPExt___closed__1 = _init_l_Lean_mkPPExt___closed__1();
lean_mark_persistent(l_Lean_mkPPExt___closed__1);
res = l_Lean_mkPPExt(lean_io_mk_world());
l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133____closed__1 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133____closed__1();
lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133____closed__1);
res = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133_(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
l_Lean_ppExt = lean_io_result_get_value(res);
lean_mark_persistent(l_Lean_ppExt);

File diff suppressed because it is too large Load diff

View file

@ -15,19 +15,23 @@ extern "C" {
#endif
lean_object* lean_expr_update_forall(lean_object*, uint8_t, lean_object*, lean_object*);
extern lean_object* l_Lean_Expr_Lean_Expr___instance__1;
extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l_Lean_Expr_ReplaceImpl_initCache___closed__1;
lean_object* l_unreachable_x21___rarg(lean_object*);
uint8_t l_USize_decEq(size_t, size_t);
lean_object* lean_array_uget(lean_object*, size_t);
lean_object* lean_expr_update_mdata(lean_object*, lean_object*);
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
lean_object* l_Lean_Expr_replace_match__2(lean_object*);
lean_object* l_Lean_Expr_ReplaceImpl_cache___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_ReplaceImpl_initCache___closed__2;
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit_match__2(lean_object*);
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafe(lean_object*, lean_object*);
lean_object* l_Lean_Expr_replace_match__1(lean_object*);
extern lean_object* l___private_Lean_Data_Format_11__be___main___closed__1;
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__3;
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__4;
size_t l_Lean_Expr_ReplaceImpl_cacheSize;
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_expr_update_let(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM(lean_object*, size_t, lean_object*, lean_object*);
uint8_t l_Lean_Expr_Data_binderInfo(uint64_t);
@ -36,13 +40,21 @@ lean_object* l_Lean_Expr_ReplaceImpl_cache(size_t, lean_object*, lean_object*, l
size_t l_USize_mod(size_t, size_t);
size_t lean_ptr_addr(lean_object*);
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_replace___main(lean_object*, lean_object*);
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__1;
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__2;
lean_object* lean_panic_fn(lean_object*, lean_object*);
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit_match__1(lean_object*);
lean_object* l_Lean_Expr_replace_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_expr_update_lambda(lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* lean_mk_array(lean_object*, lean_object*);
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1;
lean_object* l_Lean_Expr_replace_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* lean_expr_update_app(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_replace(lean_object*, lean_object*);
lean_object* l_Lean_Expr_ReplaceImpl_initCache___closed__3;
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l___private_Init_Util_2__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_ReplaceImpl_initCache;
extern lean_object* l_Lean_Expr_Lean_Expr___instance__1___closed__1;
lean_object* l_monadInhabited___rarg(lean_object*, lean_object*);
@ -85,7 +97,218 @@ x_6 = l_Lean_Expr_ReplaceImpl_cache(x_5, x_2, x_3, x_4);
return x_6;
}
}
static lean_object* _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1() {
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
_start:
{
switch (lean_obj_tag(x_1)) {
case 5:
{
lean_object* x_10; lean_object* x_11; uint64_t x_12; lean_object* x_13; lean_object* x_14;
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
x_10 = lean_ctor_get(x_1, 0);
lean_inc(x_10);
x_11 = lean_ctor_get(x_1, 1);
lean_inc(x_11);
x_12 = lean_ctor_get_uint64(x_1, sizeof(void*)*2);
lean_dec(x_1);
x_13 = lean_box_uint64(x_12);
x_14 = lean_apply_3(x_6, x_10, x_11, x_13);
return x_14;
}
case 6:
{
lean_object* x_15; lean_object* x_16; lean_object* x_17; uint64_t x_18; lean_object* x_19; lean_object* x_20;
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_2);
x_15 = lean_ctor_get(x_1, 0);
lean_inc(x_15);
x_16 = lean_ctor_get(x_1, 1);
lean_inc(x_16);
x_17 = lean_ctor_get(x_1, 2);
lean_inc(x_17);
x_18 = lean_ctor_get_uint64(x_1, sizeof(void*)*3);
lean_dec(x_1);
x_19 = lean_box_uint64(x_18);
x_20 = lean_apply_4(x_3, x_15, x_16, x_17, x_19);
return x_20;
}
case 7:
{
lean_object* x_21; lean_object* x_22; lean_object* x_23; uint64_t x_24; lean_object* x_25; lean_object* x_26;
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
x_21 = lean_ctor_get(x_1, 0);
lean_inc(x_21);
x_22 = lean_ctor_get(x_1, 1);
lean_inc(x_22);
x_23 = lean_ctor_get(x_1, 2);
lean_inc(x_23);
x_24 = lean_ctor_get_uint64(x_1, sizeof(void*)*3);
lean_dec(x_1);
x_25 = lean_box_uint64(x_24);
x_26 = lean_apply_4(x_2, x_21, x_22, x_23, x_25);
return x_26;
}
case 8:
{
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint64_t x_31; lean_object* x_32; lean_object* x_33;
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
x_27 = lean_ctor_get(x_1, 0);
lean_inc(x_27);
x_28 = lean_ctor_get(x_1, 1);
lean_inc(x_28);
x_29 = lean_ctor_get(x_1, 2);
lean_inc(x_29);
x_30 = lean_ctor_get(x_1, 3);
lean_inc(x_30);
x_31 = lean_ctor_get_uint64(x_1, sizeof(void*)*4);
lean_dec(x_1);
x_32 = lean_box_uint64(x_31);
x_33 = lean_apply_5(x_5, x_27, x_28, x_29, x_30, x_32);
return x_33;
}
case 10:
{
lean_object* x_34; lean_object* x_35; uint64_t x_36; lean_object* x_37; lean_object* x_38;
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_3);
lean_dec(x_2);
x_34 = lean_ctor_get(x_1, 0);
lean_inc(x_34);
x_35 = lean_ctor_get(x_1, 1);
lean_inc(x_35);
x_36 = lean_ctor_get_uint64(x_1, sizeof(void*)*2);
lean_dec(x_1);
x_37 = lean_box_uint64(x_36);
x_38 = lean_apply_3(x_4, x_34, x_35, x_37);
return x_38;
}
case 11:
{
lean_object* x_39; lean_object* x_40; lean_object* x_41; uint64_t x_42; lean_object* x_43; lean_object* x_44;
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
x_39 = lean_ctor_get(x_1, 0);
lean_inc(x_39);
x_40 = lean_ctor_get(x_1, 1);
lean_inc(x_40);
x_41 = lean_ctor_get(x_1, 2);
lean_inc(x_41);
x_42 = lean_ctor_get_uint64(x_1, sizeof(void*)*3);
lean_dec(x_1);
x_43 = lean_box_uint64(x_42);
x_44 = lean_apply_4(x_7, x_39, x_40, x_41, x_43);
return x_44;
}
case 12:
{
lean_object* x_45; lean_object* x_46; lean_object* x_47; uint64_t x_48; lean_object* x_49; lean_object* x_50;
lean_dec(x_9);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
x_45 = lean_ctor_get(x_1, 0);
lean_inc(x_45);
x_46 = lean_ctor_get(x_1, 1);
lean_inc(x_46);
x_47 = lean_ctor_get(x_1, 2);
lean_inc(x_47);
x_48 = lean_ctor_get_uint64(x_1, sizeof(void*)*3);
lean_dec(x_1);
x_49 = lean_box_uint64(x_48);
x_50 = lean_apply_4(x_8, x_45, x_46, x_47, x_49);
return x_50;
}
default:
{
lean_object* x_51;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
x_51 = lean_apply_1(x_9, x_1);
return x_51;
}
}
}
}
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit_match__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit_match__1___rarg), 9, 0);
return x_2;
}
}
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
if (lean_obj_tag(x_1) == 0)
{
lean_object* x_4; lean_object* x_5;
lean_dec(x_2);
x_4 = lean_box(0);
x_5 = lean_apply_1(x_3, x_4);
return x_5;
}
else
{
lean_object* x_6; lean_object* x_7;
lean_dec(x_3);
x_6 = lean_ctor_get(x_1, 0);
lean_inc(x_6);
lean_dec(x_1);
x_7 = lean_apply_1(x_2, x_6);
return x_7;
}
}
}
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit_match__2(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit_match__2___rarg), 3, 0);
return x_2;
}
}
static lean_object* _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@ -95,7 +318,36 @@ x_3 = l_monadInhabited___rarg(x_1, x_2);
return x_3;
}
}
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4) {
static lean_object* _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__2() {
_start:
{
lean_object* x_1;
x_1 = lean_mk_string("Lean.Util.ReplaceExpr");
return x_1;
}
}
static lean_object* _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__3() {
_start:
{
lean_object* x_1;
x_1 = lean_mk_string("Lean.Expr.ReplaceImpl.replaceUnsafeM.visit");
return x_1;
}
}
static lean_object* _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_1 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__2;
x_2 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__3;
x_3 = lean_unsigned_to_nat(42u);
x_4 = lean_unsigned_to_nat(36u);
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
}
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
size_t x_5; size_t x_6; lean_object* x_7; lean_object* x_8; size_t x_9; uint8_t x_10;
@ -127,14 +379,14 @@ lean_inc(x_13);
x_14 = lean_ctor_get_uint64(x_3, sizeof(void*)*2);
lean_inc(x_12);
lean_inc(x_1);
x_15 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_12, x_4);
x_15 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_12, x_4);
x_16 = lean_ctor_get(x_15, 0);
lean_inc(x_16);
x_17 = lean_ctor_get(x_15, 1);
lean_inc(x_17);
lean_dec(x_15);
lean_inc(x_13);
x_18 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_13, x_17);
x_18 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_13, x_17);
x_19 = !lean_is_exclusive(x_18);
if (x_19 == 0)
{
@ -243,14 +495,14 @@ lean_inc(x_49);
x_50 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
lean_inc(x_48);
lean_inc(x_1);
x_51 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_48, x_4);
x_51 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_48, x_4);
x_52 = lean_ctor_get(x_51, 0);
lean_inc(x_52);
x_53 = lean_ctor_get(x_51, 1);
lean_inc(x_53);
lean_dec(x_51);
lean_inc(x_49);
x_54 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_49, x_53);
x_54 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_49, x_53);
x_55 = !lean_is_exclusive(x_54);
if (x_55 == 0)
{
@ -367,14 +619,14 @@ lean_inc(x_89);
x_90 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
lean_inc(x_88);
lean_inc(x_1);
x_91 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_88, x_4);
x_91 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_88, x_4);
x_92 = lean_ctor_get(x_91, 0);
lean_inc(x_92);
x_93 = lean_ctor_get(x_91, 1);
lean_inc(x_93);
lean_dec(x_91);
lean_inc(x_89);
x_94 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_89, x_93);
x_94 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_89, x_93);
x_95 = !lean_is_exclusive(x_94);
if (x_95 == 0)
{
@ -493,7 +745,7 @@ lean_inc(x_130);
x_131 = lean_ctor_get_uint64(x_3, sizeof(void*)*4);
lean_inc(x_128);
lean_inc(x_1);
x_132 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_128, x_4);
x_132 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_128, x_4);
x_133 = lean_ctor_get(x_132, 0);
lean_inc(x_133);
x_134 = lean_ctor_get(x_132, 1);
@ -501,14 +753,14 @@ lean_inc(x_134);
lean_dec(x_132);
lean_inc(x_129);
lean_inc(x_1);
x_135 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_129, x_134);
x_135 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_129, x_134);
x_136 = lean_ctor_get(x_135, 0);
lean_inc(x_136);
x_137 = lean_ctor_get(x_135, 1);
lean_inc(x_137);
lean_dec(x_135);
lean_inc(x_130);
x_138 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_130, x_137);
x_138 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_130, x_137);
x_139 = !lean_is_exclusive(x_138);
if (x_139 == 0)
{
@ -624,7 +876,7 @@ x_170 = lean_ctor_get(x_3, 1);
lean_inc(x_170);
x_171 = lean_ctor_get_uint64(x_3, sizeof(void*)*2);
lean_inc(x_170);
x_172 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_170, x_4);
x_172 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_170, x_4);
x_173 = !lean_is_exclusive(x_172);
if (x_173 == 0)
{
@ -732,7 +984,7 @@ x_203 = lean_ctor_get(x_3, 2);
lean_inc(x_203);
x_204 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
lean_inc(x_203);
x_205 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_203, x_4);
x_205 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_203, x_4);
x_206 = !lean_is_exclusive(x_205);
if (x_206 == 0)
{
@ -836,71 +1088,72 @@ return x_234;
}
case 12:
{
lean_object* x_235; lean_object* x_236; lean_object* x_237;
lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238;
lean_dec(x_3);
lean_dec(x_1);
x_235 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1;
x_236 = l_unreachable_x21___rarg(x_235);
x_237 = lean_apply_1(x_236, x_4);
return x_237;
x_235 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__1;
x_236 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__4;
x_237 = lean_panic_fn(x_235, x_236);
x_238 = lean_apply_1(x_237, x_4);
return x_238;
}
default:
{
lean_object* x_238;
lean_object* x_239;
lean_dec(x_1);
x_238 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_238, 0, x_3);
lean_ctor_set(x_238, 1, x_4);
return x_238;
x_239 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_239, 0, x_3);
lean_ctor_set(x_239, 1, x_4);
return x_239;
}
}
}
else
{
lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244;
lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245;
lean_dec(x_1);
x_239 = lean_ctor_get(x_11, 0);
lean_inc(x_239);
x_240 = lean_ctor_get(x_11, 0);
lean_inc(x_240);
lean_dec(x_11);
x_240 = lean_array_uset(x_7, x_6, x_3);
x_241 = lean_ctor_get(x_4, 1);
lean_inc(x_241);
x_241 = lean_array_uset(x_7, x_6, x_3);
x_242 = lean_ctor_get(x_4, 1);
lean_inc(x_242);
lean_dec(x_4);
lean_inc(x_239);
x_242 = lean_array_uset(x_241, x_6, x_239);
x_243 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_243, 0, x_240);
lean_ctor_set(x_243, 1, x_242);
lean_inc(x_240);
x_243 = lean_array_uset(x_242, x_6, x_240);
x_244 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_244, 0, x_239);
lean_ctor_set(x_244, 0, x_241);
lean_ctor_set(x_244, 1, x_243);
return x_244;
x_245 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_245, 0, x_240);
lean_ctor_set(x_245, 1, x_244);
return x_245;
}
}
else
{
lean_object* x_245; lean_object* x_246; lean_object* x_247;
lean_object* x_246; lean_object* x_247; lean_object* x_248;
lean_dec(x_7);
lean_dec(x_3);
lean_dec(x_1);
x_245 = lean_ctor_get(x_4, 1);
lean_inc(x_245);
x_246 = lean_array_uget(x_245, x_6);
lean_dec(x_245);
x_247 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_247, 0, x_246);
lean_ctor_set(x_247, 1, x_4);
return x_247;
x_246 = lean_ctor_get(x_4, 1);
lean_inc(x_246);
x_247 = lean_array_uget(x_246, x_6);
lean_dec(x_246);
x_248 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_248, 0, x_247);
lean_ctor_set(x_248, 1, x_4);
return x_248;
}
}
}
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
size_t x_5; lean_object* x_6;
x_5 = lean_unbox_usize(x_2);
lean_dec(x_2);
x_6 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_5, x_3, x_4);
x_6 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_5, x_3, x_4);
return x_6;
}
}
@ -908,7 +1161,7 @@ lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM(lean_object* x_1, size_t x_2
_start:
{
lean_object* x_5;
x_5 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_3, x_4);
x_5 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_3, x_4);
return x_5;
}
}
@ -968,14 +1221,196 @@ _start:
size_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_3 = 8192;
x_4 = l_Lean_Expr_ReplaceImpl_initCache;
x_5 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_3, x_2, x_4);
x_5 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_3, x_2, x_4);
x_6 = lean_ctor_get(x_5, 0);
lean_inc(x_6);
lean_dec(x_5);
return x_6;
}
}
lean_object* l_Lean_Expr_replace___main(lean_object* x_1, lean_object* x_2) {
lean_object* l_Lean_Expr_replace_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
_start:
{
switch (lean_obj_tag(x_1)) {
case 5:
{
lean_object* x_9; lean_object* x_10; uint64_t x_11; lean_object* x_12; lean_object* x_13;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
x_9 = lean_ctor_get(x_1, 0);
lean_inc(x_9);
x_10 = lean_ctor_get(x_1, 1);
lean_inc(x_10);
x_11 = lean_ctor_get_uint64(x_1, sizeof(void*)*2);
lean_dec(x_1);
x_12 = lean_box_uint64(x_11);
x_13 = lean_apply_3(x_6, x_9, x_10, x_12);
return x_13;
}
case 6:
{
lean_object* x_14; lean_object* x_15; lean_object* x_16; uint64_t x_17; lean_object* x_18; lean_object* x_19;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_2);
x_14 = lean_ctor_get(x_1, 0);
lean_inc(x_14);
x_15 = lean_ctor_get(x_1, 1);
lean_inc(x_15);
x_16 = lean_ctor_get(x_1, 2);
lean_inc(x_16);
x_17 = lean_ctor_get_uint64(x_1, sizeof(void*)*3);
lean_dec(x_1);
x_18 = lean_box_uint64(x_17);
x_19 = lean_apply_4(x_3, x_14, x_15, x_16, x_18);
return x_19;
}
case 7:
{
lean_object* x_20; lean_object* x_21; lean_object* x_22; uint64_t x_23; lean_object* x_24; lean_object* x_25;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
x_20 = lean_ctor_get(x_1, 0);
lean_inc(x_20);
x_21 = lean_ctor_get(x_1, 1);
lean_inc(x_21);
x_22 = lean_ctor_get(x_1, 2);
lean_inc(x_22);
x_23 = lean_ctor_get_uint64(x_1, sizeof(void*)*3);
lean_dec(x_1);
x_24 = lean_box_uint64(x_23);
x_25 = lean_apply_4(x_2, x_20, x_21, x_22, x_24);
return x_25;
}
case 8:
{
lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint64_t x_30; lean_object* x_31; lean_object* x_32;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
x_26 = lean_ctor_get(x_1, 0);
lean_inc(x_26);
x_27 = lean_ctor_get(x_1, 1);
lean_inc(x_27);
x_28 = lean_ctor_get(x_1, 2);
lean_inc(x_28);
x_29 = lean_ctor_get(x_1, 3);
lean_inc(x_29);
x_30 = lean_ctor_get_uint64(x_1, sizeof(void*)*4);
lean_dec(x_1);
x_31 = lean_box_uint64(x_30);
x_32 = lean_apply_5(x_5, x_26, x_27, x_28, x_29, x_31);
return x_32;
}
case 10:
{
lean_object* x_33; lean_object* x_34; uint64_t x_35; lean_object* x_36; lean_object* x_37;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_3);
lean_dec(x_2);
x_33 = lean_ctor_get(x_1, 0);
lean_inc(x_33);
x_34 = lean_ctor_get(x_1, 1);
lean_inc(x_34);
x_35 = lean_ctor_get_uint64(x_1, sizeof(void*)*2);
lean_dec(x_1);
x_36 = lean_box_uint64(x_35);
x_37 = lean_apply_3(x_4, x_33, x_34, x_36);
return x_37;
}
case 11:
{
lean_object* x_38; lean_object* x_39; lean_object* x_40; uint64_t x_41; lean_object* x_42; lean_object* x_43;
lean_dec(x_8);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
x_38 = lean_ctor_get(x_1, 0);
lean_inc(x_38);
x_39 = lean_ctor_get(x_1, 1);
lean_inc(x_39);
x_40 = lean_ctor_get(x_1, 2);
lean_inc(x_40);
x_41 = lean_ctor_get_uint64(x_1, sizeof(void*)*3);
lean_dec(x_1);
x_42 = lean_box_uint64(x_41);
x_43 = lean_apply_4(x_7, x_38, x_39, x_40, x_42);
return x_43;
}
default:
{
lean_object* x_44;
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
x_44 = lean_apply_1(x_8, x_1);
return x_44;
}
}
}
}
lean_object* l_Lean_Expr_replace_match__1(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_Expr_replace_match__1___rarg), 8, 0);
return x_2;
}
}
lean_object* l_Lean_Expr_replace_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
if (lean_obj_tag(x_1) == 0)
{
lean_object* x_4; lean_object* x_5;
lean_dec(x_2);
x_4 = lean_box(0);
x_5 = lean_apply_1(x_3, x_4);
return x_5;
}
else
{
lean_object* x_6; lean_object* x_7;
lean_dec(x_3);
x_6 = lean_ctor_get(x_1, 0);
lean_inc(x_6);
lean_dec(x_1);
x_7 = lean_apply_1(x_2, x_6);
return x_7;
}
}
}
lean_object* l_Lean_Expr_replace_match__2(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = lean_alloc_closure((void*)(l_Lean_Expr_replace_match__2___rarg), 3, 0);
return x_2;
}
}
lean_object* l_Lean_Expr_replace(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
@ -996,9 +1431,9 @@ x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_ctor_get(x_2, 1);
lean_inc(x_5);
lean_inc(x_1);
x_7 = l_Lean_Expr_replace___main(x_1, x_5);
x_7 = l_Lean_Expr_replace(x_1, x_5);
lean_inc(x_6);
x_8 = l_Lean_Expr_replace___main(x_1, x_6);
x_8 = l_Lean_Expr_replace(x_1, x_6);
x_9 = lean_expr_update_app(x_2, x_7, x_8);
return x_9;
}
@ -1013,9 +1448,9 @@ lean_inc(x_10);
lean_dec(x_2);
lean_inc(x_10);
lean_inc(x_1);
x_13 = l_Lean_Expr_replace___main(x_1, x_10);
x_13 = l_Lean_Expr_replace(x_1, x_10);
lean_inc(x_11);
x_14 = l_Lean_Expr_replace___main(x_1, x_11);
x_14 = l_Lean_Expr_replace(x_1, x_11);
x_15 = lean_alloc_ctor(5, 2, 8);
lean_ctor_set(x_15, 0, x_10);
lean_ctor_set(x_15, 1, x_11);
@ -1036,9 +1471,9 @@ x_19 = lean_ctor_get(x_2, 2);
x_20 = lean_ctor_get_uint64(x_2, sizeof(void*)*3);
lean_inc(x_18);
lean_inc(x_1);
x_21 = l_Lean_Expr_replace___main(x_1, x_18);
x_21 = l_Lean_Expr_replace(x_1, x_18);
lean_inc(x_19);
x_22 = l_Lean_Expr_replace___main(x_1, x_19);
x_22 = l_Lean_Expr_replace(x_1, x_19);
x_23 = (uint8_t)((x_20 << 24) >> 61);
x_24 = lean_expr_update_lambda(x_2, x_23, x_21, x_22);
return x_24;
@ -1056,9 +1491,9 @@ lean_inc(x_25);
lean_dec(x_2);
lean_inc(x_26);
lean_inc(x_1);
x_29 = l_Lean_Expr_replace___main(x_1, x_26);
x_29 = l_Lean_Expr_replace(x_1, x_26);
lean_inc(x_27);
x_30 = l_Lean_Expr_replace___main(x_1, x_27);
x_30 = l_Lean_Expr_replace(x_1, x_27);
x_31 = lean_alloc_ctor(6, 3, 8);
lean_ctor_set(x_31, 0, x_25);
lean_ctor_set(x_31, 1, x_26);
@ -1081,9 +1516,9 @@ x_36 = lean_ctor_get(x_2, 2);
x_37 = lean_ctor_get_uint64(x_2, sizeof(void*)*3);
lean_inc(x_35);
lean_inc(x_1);
x_38 = l_Lean_Expr_replace___main(x_1, x_35);
x_38 = l_Lean_Expr_replace(x_1, x_35);
lean_inc(x_36);
x_39 = l_Lean_Expr_replace___main(x_1, x_36);
x_39 = l_Lean_Expr_replace(x_1, x_36);
x_40 = (uint8_t)((x_37 << 24) >> 61);
x_41 = lean_expr_update_forall(x_2, x_40, x_38, x_39);
return x_41;
@ -1101,9 +1536,9 @@ lean_inc(x_42);
lean_dec(x_2);
lean_inc(x_43);
lean_inc(x_1);
x_46 = l_Lean_Expr_replace___main(x_1, x_43);
x_46 = l_Lean_Expr_replace(x_1, x_43);
lean_inc(x_44);
x_47 = l_Lean_Expr_replace___main(x_1, x_44);
x_47 = l_Lean_Expr_replace(x_1, x_44);
x_48 = lean_alloc_ctor(7, 3, 8);
lean_ctor_set(x_48, 0, x_42);
lean_ctor_set(x_48, 1, x_43);
@ -1126,12 +1561,12 @@ x_53 = lean_ctor_get(x_2, 2);
x_54 = lean_ctor_get(x_2, 3);
lean_inc(x_52);
lean_inc(x_1);
x_55 = l_Lean_Expr_replace___main(x_1, x_52);
x_55 = l_Lean_Expr_replace(x_1, x_52);
lean_inc(x_53);
lean_inc(x_1);
x_56 = l_Lean_Expr_replace___main(x_1, x_53);
x_56 = l_Lean_Expr_replace(x_1, x_53);
lean_inc(x_54);
x_57 = l_Lean_Expr_replace___main(x_1, x_54);
x_57 = l_Lean_Expr_replace(x_1, x_54);
x_58 = lean_expr_update_let(x_2, x_55, x_56, x_57);
return x_58;
}
@ -1150,12 +1585,12 @@ lean_inc(x_59);
lean_dec(x_2);
lean_inc(x_60);
lean_inc(x_1);
x_64 = l_Lean_Expr_replace___main(x_1, x_60);
x_64 = l_Lean_Expr_replace(x_1, x_60);
lean_inc(x_61);
lean_inc(x_1);
x_65 = l_Lean_Expr_replace___main(x_1, x_61);
x_65 = l_Lean_Expr_replace(x_1, x_61);
lean_inc(x_62);
x_66 = l_Lean_Expr_replace___main(x_1, x_62);
x_66 = l_Lean_Expr_replace(x_1, x_62);
x_67 = lean_alloc_ctor(8, 4, 8);
lean_ctor_set(x_67, 0, x_59);
lean_ctor_set(x_67, 1, x_60);
@ -1175,7 +1610,7 @@ if (x_69 == 0)
lean_object* x_70; lean_object* x_71; lean_object* x_72;
x_70 = lean_ctor_get(x_2, 1);
lean_inc(x_70);
x_71 = l_Lean_Expr_replace___main(x_1, x_70);
x_71 = l_Lean_Expr_replace(x_1, x_70);
x_72 = lean_expr_update_mdata(x_2, x_71);
return x_72;
}
@ -1189,7 +1624,7 @@ lean_inc(x_74);
lean_inc(x_73);
lean_dec(x_2);
lean_inc(x_74);
x_76 = l_Lean_Expr_replace___main(x_1, x_74);
x_76 = l_Lean_Expr_replace(x_1, x_74);
x_77 = lean_alloc_ctor(10, 2, 8);
lean_ctor_set(x_77, 0, x_73);
lean_ctor_set(x_77, 1, x_74);
@ -1207,7 +1642,7 @@ if (x_79 == 0)
lean_object* x_80; lean_object* x_81; lean_object* x_82;
x_80 = lean_ctor_get(x_2, 2);
lean_inc(x_80);
x_81 = l_Lean_Expr_replace___main(x_1, x_80);
x_81 = l_Lean_Expr_replace(x_1, x_80);
x_82 = lean_expr_update_proj(x_2, x_81);
return x_82;
}
@ -1223,7 +1658,7 @@ lean_inc(x_84);
lean_inc(x_83);
lean_dec(x_2);
lean_inc(x_85);
x_87 = l_Lean_Expr_replace___main(x_1, x_85);
x_87 = l_Lean_Expr_replace(x_1, x_85);
x_88 = lean_alloc_ctor(11, 3, 8);
lean_ctor_set(x_88, 0, x_83);
lean_ctor_set(x_88, 1, x_84);
@ -1252,14 +1687,6 @@ return x_90;
}
}
}
lean_object* l_Lean_Expr_replace(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Lean_Expr_replace___main(x_1, x_2);
return x_3;
}
}
lean_object* initialize_Init(lean_object*);
lean_object* initialize_Lean_Expr(lean_object*);
static bool _G_initialized = false;
@ -1274,8 +1701,14 @@ res = initialize_Lean_Expr(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_Expr_ReplaceImpl_cacheSize = _init_l_Lean_Expr_ReplaceImpl_cacheSize();
l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1 = _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1();
lean_mark_persistent(l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1);
l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__1 = _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__1();
lean_mark_persistent(l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__1);
l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__2 = _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__2();
lean_mark_persistent(l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__2);
l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__3 = _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__3();
lean_mark_persistent(l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__3);
l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__4 = _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__4();
lean_mark_persistent(l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__4);
l_Lean_Expr_ReplaceImpl_initCache___closed__1 = _init_l_Lean_Expr_ReplaceImpl_initCache___closed__1();
lean_mark_persistent(l_Lean_Expr_ReplaceImpl_initCache___closed__1);
l_Lean_Expr_ReplaceImpl_initCache___closed__2 = _init_l_Lean_Expr_ReplaceImpl_initCache___closed__2();

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff