chore: use extensible grind attribute framework to implement [grind] itself (#11769)

This PR uses the new support for user-defined `grind` attributes to
implement the default `[grind]` attribute.

A manual update-stage0 is required because it affects the .olean files.
This commit is contained in:
Leonardo de Moura 2025-12-22 10:07:30 -08:00 committed by GitHub
parent 13c88f960f
commit dc53fac626
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
75 changed files with 22309 additions and 36987 deletions

View file

@ -153,9 +153,10 @@ def ematchThms (only : Bool) (thms : Array EMatchTheorem) : GrindTacticM Unit :=
if let some thmRefs := thmRefs? then
for thmRef in thmRefs do
match thmRef with
-- **Note**: Delete `namespace` modifier. We should use a custom `grind` attribute for this.
| `(Parser.Tactic.Grind.thm| namespace $ns:ident) =>
let namespaceName := ns.getId
let scopedThms ← Grind.getEMatchTheoremsForNamespace namespaceName
let scopedThms ← Grind.grindExt.getEMatchTheoremsForNamespace namespaceName
thms := thms ++ scopedThms
| `(Parser.Tactic.Grind.thm| #$anchor:hexnum) => thms := thms ++ (← withRef thmRef <| elabLocalEMatchTheorem anchor)
| `(Parser.Tactic.Grind.thm| $[$mod?:grindMod]? $id:ident) => thms := thms ++ (← withRef thmRef <| elabThm mod? id false)
@ -229,8 +230,8 @@ where
match kind with
| .ematch .user =>
ensureNoMinIndexable minIndexable
let s ← Grind.getEMatchTheorems
let thms := s.find (.decl declName)
let params := (← read).params
let thms := params.extensions.find (.decl declName)
let thms := thms.filter fun thm => thm.kind == .user
if thms.isEmpty then
throwError "invalid use of `usr` modifier, `{.ofConstName declName}` does not have patterns specified with the command `grind_pattern`"

View file

@ -36,7 +36,7 @@ builtin_initialize muteExt : SimplePersistentEnvExtension Name NameSet ←
open Command Meta Grind
def checkEMatchTheorem (declName : Name) : CoreM Unit := do
unless (← isEMatchTheorem declName) do
unless (← Grind.grindExt.isEMatchTheorem declName) do
throwError "`{declName}` is not marked with the `@[grind]` attribute for theorem instantiation"
@[builtin_command_elab Lean.Grind.grindLintSkip]
@ -163,7 +163,7 @@ def nameEndsWithSuffix (name suff : Name) : Bool :=
def getTheorems (prefixes? : Option (Array Name)) (inModule : Bool) : CoreM (List Name) := do
let skip := skipExt.getState (← getEnv)
let skipSuffixes := skipSuffixExt.getState (← getEnv)
let origins := (← getEMatchTheorems).getOrigins
let origins := (← Grind.grindExt.getEMatchTheorems).getOrigins
let env ← getEnv
return origins.filterMap fun origin => Id.run do
let .decl declName := origin | return none

View file

@ -18,6 +18,7 @@ import Lean.Elab.Tactic.Grind.Param
import Lean.Meta.Tactic.Grind.Action
import Lean.Elab.Tactic.Grind.Trace
import Lean.Meta.Tactic.Grind.Finish
import Lean.Meta.Tactic.Grind.Attr
import Lean.Meta.Tactic.Grind.CollectParams
import Lean.Elab.MutualDef
meta import Lean.Meta.Tactic.Grind.Parser
@ -144,17 +145,15 @@ where
let pattern ← Grind.preprocessPattern pattern
return pattern.abstract xs
let cnstrs ← elabCnstrs xs cnstrs?
Grind.addEMatchTheorem declName xs.size patterns.toList .user kind cnstrs (minIndexable := false)
Grind.grindExt.addEMatchTheorem declName xs.size patterns.toList .user kind cnstrs (minIndexable := false)
open Command in
@[builtin_command_elab Lean.Parser.resetGrindAttrs]
def elabResetGrindAttrs : CommandElab := fun _ => liftTermElabM do
Grind.resetCasesExt
Grind.resetEMatchTheoremsExt
Grind.resetInjectiveTheoremsExt
-- Remark: we do not reset symbol priorities because we would have to then set
-- `[grind symbol 0] Eq` after a `reset_grind_attr%` command.
-- Grind.resetSymbolPrioExt
modifyEnv fun env => Grind.grindExt.modifyState env fun ext => { ext with casesTypes := {}, inj := {}, ematch := {} }
open Command Term in
@[builtin_command_elab Lean.Parser.Command.initGrindNorm]

View file

@ -34,6 +34,9 @@ def _root_.Lean.Meta.Grind.Params.insertFunCC (params : Grind.Params) (declName
def _root_.Lean.Meta.Grind.Params.containsEMatch (params : Grind.Params) (declName : Name) : Bool :=
params.extensions.any fun ext => ext.ematch.contains (.decl declName)
def _root_.Lean.Meta.Grind.Params.isInjectiveTheorem (params : Grind.Params) (declName : Name) : Bool :=
params.extensions.any fun ext => ext.inj.contains (.decl declName)
def _root_.Lean.Meta.Grind.Params.eraseEMatchCore (params : Grind.Params) (declName : Name) : Grind.Params :=
{ params with extensions := params.extensions.modify 0 fun ext => { ext with ematch := ext.ematch.erase (.decl declName) } }
@ -62,6 +65,14 @@ def _root_.Lean.Meta.Grind.ExtensionStateArray.getKindsFor (s : Grind.ExtensionS
result := result ++ ks
return result
public def _root_.Lean.Meta.Grind.ExtensionStateArray.find (s : Grind.ExtensionStateArray) (origin : Grind.Origin) : List Grind.EMatchTheorem := Id.run do
let mut r := []
for h : i in *...s.size do
let thms := s[i].ematch.find origin
unless thms.isEmpty do
r := r ++ thms
return r
def warnRedundantEMatchArg (s : Grind.ExtensionStateArray) (declName : Name) : MetaM Unit := do
let minIndexable := false -- TODO: infer it
let kinds ← match s.getKindsFor (.decl declName) with
@ -212,8 +223,9 @@ def processParam (params : Grind.Params)
unless only do
withRef p <| Grind.throwInvalidUsrModifier
ensureNoMinIndexable minIndexable
let s ← Grind.getEMatchTheorems
let thms := s.find (.decl declName)
-- **Note**: This check is hard-coded to the default `grind` attribute. Possible improvement: `usr` modifier that specifies the attribute where
-- the user pattern is coming from.
let thms := (← Grind.grindExt.getEMatchTheorems).find (.decl declName)
let thms := thms.filter fun thm => thm.kind == .user
if thms.isEmpty then
throwErrorAt p "invalid use of `usr` modifier, `{.ofConstName declName}` does not have patterns specified with the command `grind_pattern`"
@ -275,7 +287,7 @@ public def elabGrindParams (params : Grind.Params) (ps : TSyntaxArray ``Parser.T
if let some declName ← Grind.isCasesAttrCandidate? declName false then
Grind.ensureNotBuiltinCases declName
params ← params.eraseCasesTypes declName
else if (← Grind.isInjectiveTheorem declName) then
else if params.isInjectiveTheorem declName then
params := params.eraseInj declName
else
params ← params.eraseEMatch declName

View file

@ -117,7 +117,7 @@ Auxiliary function for registering `grind`, `grind!`, `grind?`, and `grind!?` at
The `grind?` and `grind!?` are aliases for `grind` and `grind!` which displays patterns using `logInfo`.
It is just a convenience for users.
-/
private def mkGrindAttr (attrName : Name) (minIndexable : Bool) (showInfo : Bool) (ext? : Option Extension := none) (ref : Name := by exact decl_name%) : IO Unit :=
private def mkGrindAttr (attrName : Name) (minIndexable : Bool) (showInfo : Bool) (ext : Extension) (ref : Name := by exact decl_name%) : IO Unit :=
registerBuiltinAttribute {
ref := ref
name := match minIndexable, showInfo with
@ -154,88 +154,49 @@ private def mkGrindAttr (attrName : Name) (minIndexable : Bool) (showInfo : Bool
-- When the body is not available (i.e. the def equations are private), the attribute will not
-- be exported; see `ematchTheoremsExt.exportEntry?`.
withoutExporting do
if let some ext := ext? then
match (← getAttrKindFromOpt stx) with
| .symbol prio =>
unless attrName == `grind do
throwError "symbol priorities must be set using the default `[grind]` attribute"
addSymbolPriorityAttr declName attrKind prio
| .cases eager => ext.addCasesAttr declName eager attrKind
| .funCC => ext.addFunCCAttr declName attrKind
| .ext => ext.addExtAttr declName attrKind
| .ematch .user => throwInvalidUsrModifier
| .ematch k => ext.addEMatchAttr declName attrKind k (← getGlobalSymbolPriorities) (minIndexable := minIndexable) (showInfo := showInfo)
| .intro =>
if let some info ← isCasesAttrPredicateCandidate? declName false then
match (← getAttrKindFromOpt stx) with
| .symbol prio =>
unless attrName == `grind do
throwError "symbol priorities must be set using the default `[grind]` attribute"
addSymbolPriorityAttr declName attrKind prio
| .cases eager => ext.addCasesAttr declName eager attrKind
| .funCC => ext.addFunCCAttr declName attrKind
| .ext => ext.addExtAttr declName attrKind
| .ematch .user => throwInvalidUsrModifier
| .ematch k => ext.addEMatchAttr declName attrKind k (← getGlobalSymbolPriorities) (minIndexable := minIndexable) (showInfo := showInfo)
| .intro =>
if let some info ← isCasesAttrPredicateCandidate? declName false then
for ctor in info.ctors do
ext.addEMatchAttr ctor attrKind (.default false) (← getGlobalSymbolPriorities) (minIndexable := minIndexable) (showInfo := showInfo)
else
throwError "invalid `[{attrName} intro]`, `{.ofConstName declName}` is not an inductive predicate"
| .infer =>
if let some declName ← isCasesAttrCandidate? declName false then
ext.addCasesAttr declName false attrKind
if let some info ← isInductivePredicate? declName then
-- If it is an inductive predicate,
-- we also add the constructors (intro rules) as E-matching rules
for ctor in info.ctors do
ext.addEMatchAttr ctor attrKind (.default false) (← getGlobalSymbolPriorities) (minIndexable := minIndexable) (showInfo := showInfo)
else
throwError "invalid `[{attrName} intro]`, `{.ofConstName declName}` is not an inductive predicate"
| .infer =>
if let some declName ← isCasesAttrCandidate? declName false then
ext.addCasesAttr declName false attrKind
if let some info ← isInductivePredicate? declName then
-- If it is an inductive predicate,
-- we also add the constructors (intro rules) as E-matching rules
for ctor in info.ctors do
ext.addEMatchAttr ctor attrKind (.default false) (← getGlobalSymbolPriorities) (minIndexable := minIndexable) (showInfo := showInfo)
else
ext.addEMatchAttrAndSuggest stx declName attrKind (← getGlobalSymbolPriorities) (minIndexable := minIndexable) (showInfo := showInfo)
| .inj => ext.addInjectiveAttr declName attrKind
else
-- **TODO**: delete after update stage0 and new extension for default `grind` attribute
match (← getAttrKindFromOpt stx) with
| .ematch .user => throwInvalidUsrModifier
| .ematch k => addEMatchAttr declName attrKind k (← getGlobalSymbolPriorities) (minIndexable := minIndexable) (showInfo := showInfo)
| .cases eager => addCasesAttr declName eager attrKind
| .intro =>
if let some info ← isCasesAttrPredicateCandidate? declName false then
for ctor in info.ctors do
addEMatchAttr ctor attrKind (.default false) (← getGlobalSymbolPriorities) (minIndexable := minIndexable) (showInfo := showInfo)
else
throwError "invalid `[{attrName} intro]`, `{.ofConstName declName}` is not an inductive predicate"
| .ext => addExtAttr declName attrKind
| .infer =>
if let some declName ← isCasesAttrCandidate? declName false then
addCasesAttr declName false attrKind
if let some info ← isInductivePredicate? declName then
-- If it is an inductive predicate,
-- we also add the constructors (intro rules) as E-matching rules
for ctor in info.ctors do
addEMatchAttr ctor attrKind (.default false) (← getGlobalSymbolPriorities) (minIndexable := minIndexable) (showInfo := showInfo)
else
addEMatchAttrAndSuggest stx declName attrKind (← getGlobalSymbolPriorities) (minIndexable := minIndexable) (showInfo := showInfo)
| .symbol prio => addSymbolPriorityAttr declName attrKind prio
| .inj => addInjectiveAttr declName attrKind
| .funCC => addFunCCAttr declName attrKind
else
ext.addEMatchAttrAndSuggest stx declName attrKind (← getGlobalSymbolPriorities) (minIndexable := minIndexable) (showInfo := showInfo)
| .inj => ext.addInjectiveAttr declName attrKind
erase := fun declName => MetaM.run' do
if showInfo then
throwError "`[{attrName}?]` is a helper attribute for displaying inferred patterns, if you want to remove the attribute, consider using `[{attrName}]` instead"
if let some ext := ext? then
if (← isCasesAttrCandidate declName false) then
ext.eraseCasesAttr declName
else if (← ext.isExtTheorem declName) then
ext.eraseExtAttr declName
else if (← ext.isInjectiveTheorem declName) then
ext.eraseInjectiveAttr declName
else if (← ext.hasFunCCAttr declName) then
ext.eraseFunCCAttr declName
else
ext.eraseEMatchAttr declName
if (← isCasesAttrCandidate declName false) then
ext.eraseCasesAttr declName
else if (← ext.isExtTheorem declName) then
ext.eraseExtAttr declName
else if (← ext.isInjectiveTheorem declName) then
ext.eraseInjectiveAttr declName
else if (← ext.hasFunCCAttr declName) then
ext.eraseFunCCAttr declName
else
-- **TODO**: delete after update stage0 and new extension for default `grind` attribute
if (← isCasesAttrCandidate declName false) then
eraseCasesAttr declName
else if (← isExtTheorem declName) then
eraseExtAttr declName
else if (← isInjectiveTheorem declName) then
eraseInjectiveAttr declName
else if (← hasFunCCAttr declName) then
eraseFunCCAttr declName
else
eraseEMatchAttr declName
ext.eraseEMatchAttr declName
}
/-
private def registerDefaultGrindAttr (minIndexable : Bool) (showInfo : Bool) : IO Unit :=
mkGrindAttr `grind minIndexable showInfo
@ -244,6 +205,7 @@ builtin_initialize
registerDefaultGrindAttr (minIndexable := false) (showInfo := false)
registerDefaultGrindAttr (minIndexable := true) (showInfo := true)
registerDefaultGrindAttr (minIndexable := true) (showInfo := false)
-/
abbrev ExtensionMap := Std.HashMap Name Extension
@ -254,11 +216,18 @@ def getExtension? (attrName : Name) : IO (Option Extension) :=
def registerAttr (attrName : Name) (ref : Name := by exact decl_name%) : IO Extension := do
let ext ← mkExtension ref
mkGrindAttr attrName (minIndexable := false) (showInfo := true) (ext? := some ext) (ref := ref)
mkGrindAttr attrName (minIndexable := false) (showInfo := false) (ext? := some ext) (ref := ref)
mkGrindAttr attrName (minIndexable := true) (showInfo := true) (ext? := some ext) (ref := ref)
mkGrindAttr attrName (minIndexable := true) (showInfo := false) (ext? := some ext) (ref := ref)
mkGrindAttr attrName (minIndexable := false) (showInfo := true) (ext := ext) (ref := ref)
mkGrindAttr attrName (minIndexable := false) (showInfo := false) (ext := ext) (ref := ref)
mkGrindAttr attrName (minIndexable := true) (showInfo := true) (ext := ext) (ref := ref)
mkGrindAttr attrName (minIndexable := true) (showInfo := false) (ext := ext) (ref := ref)
extensionMapRef.modify fun map => map.insert attrName ext
return ext
builtin_initialize grindExt : Extension ← registerAttr `grind
/-- Returns `true` is `declName` is a builtin split or has been tagged with `[grind]` attribute. -/
def isGlobalSplit (declName : Name) : CoreM Bool := do
let s := grindExt.getState (← getEnv)
return s.casesTypes.isSplit declName
end Lean.Meta.Grind

View file

@ -51,25 +51,6 @@ def CasesTypes.isEagerSplit (s : CasesTypes) (declName : Name) : Bool :=
def CasesTypes.isSplit (s : CasesTypes) (declName : Name) : Bool :=
(s.casesMap.find? declName |>.isSome) || isBuiltinEagerCases declName
/-
TODO: group into a `grind` extension object
-/
builtin_initialize casesExt : SimpleScopedEnvExtension CasesEntry CasesTypes ←
registerSimpleScopedEnvExtension {
initial := {}
addEntry := fun s {declName, eager} => s.insert declName eager
}
def resetCasesExt : CoreM Unit := do
modifyEnv fun env => casesExt.modifyState env fun _ => {}
def getCasesTypes : CoreM CasesTypes :=
return casesExt.getState (← getEnv)
/-- Returns `true` is `declName` is a builtin split or has been tagged with `[grind]` attribute. -/
def isGlobalSplit (declName : Name) : CoreM Bool := do
return (← getCasesTypes).isSplit declName
partial def isCasesAttrCandidate? (declName : Name) (eager : Bool) : CoreM (Option Name) := do
match (← isInductive? declName) with
| some info => if !info.isRec || !eager then return some declName else return none
@ -89,10 +70,6 @@ def validateCasesAttr (declName : Name) (eager : Bool) : CoreM Unit := do
else
throwError "invalid `[grind cases]`, `{.ofConstName declName}` is not an inductive datatype or an alias for one"
def addCasesAttr (declName : Name) (eager : Bool) (attrKind : AttributeKind) : CoreM Unit := do
validateCasesAttr declName eager
casesExt.add { declName, eager } attrKind
def CasesTypes.eraseDecl (s : CasesTypes) (declName : Name) : CoreM CasesTypes := do
if s.contains declName then
return s.erase declName
@ -103,12 +80,6 @@ def ensureNotBuiltinCases (declName : Name) : CoreM Unit := do
if isBuiltinEagerCases declName then
throwError "`{.ofConstName declName}` is marked as a built-in case-split for `grind` and cannot be erased"
def eraseCasesAttr (declName : Name) : CoreM Unit := do
ensureNotBuiltinCases declName
let s := casesExt.getState (← getEnv)
let s ← s.eraseDecl declName
modifyEnv fun env => casesExt.modifyState env fun _ => s
/--
We say a free variable is "simple" to be processed by the cases tactic IF:
- It is the latest and consequently there are no forward dependencies, OR

View file

@ -350,29 +350,6 @@ def EMatchTheorems.getKindsFor (s : EMatchTheorems) (origin : Origin) : List EMa
def EMatchTheorem.getProofWithFreshMVarLevels (thm : EMatchTheorem) : MetaM Expr := do
Grind.getProofWithFreshMVarLevels thm
/-
TODO: group into a `grind` extension object
-/
private builtin_initialize ematchTheoremsExt : SimpleScopedEnvExtension EMatchTheorem (Theorems EMatchTheorem) ←
registerSimpleScopedEnvExtension {
addEntry := Theorems.insert
initial := {}
exportEntry? := fun lvl e => do
-- export only annotations on public decls, like simp
let declName := match e.origin with
| .decl n => n
| _ => unreachable! -- used only for tactic-local entries
guard (lvl == .private || !isPrivateName declName)
return e
}
/-- Returns `true` if `declName` has been tagged as an E-match theorem using `[grind]`. -/
def isEMatchTheorem (declName : Name) : CoreM Bool := do
return ematchTheoremsExt.getState (← getEnv) |>.contains (.decl declName)
def resetEMatchTheoremsExt : CoreM Unit := do
modifyEnv fun env => ematchTheoremsExt.modifyState env fun _ => {}
/--
Auxiliary function to expand a pattern containing forbidden application symbols
into a multi-pattern.
@ -892,6 +869,22 @@ def mkEMatchEqBwdTheoremCore (origin : Origin) (levelParams : Array Name) (proof
mkEMatchTheoremCore origin levelParams numParams proof patterns .eqBwd (showInfo := showInfo)
(minIndexable := false)
def Extension.isEMatchTheorem (ext : Extension) (declName : Name) : CoreM Bool :=
return ext.getState (← getEnv) |>.ematch.contains (.decl declName)
def Extension.getEMatchTheorems (ext : Extension) : CoreM EMatchTheorems := do
return ext.getState (← getEnv) |>.ematch
-- **TODO**: Delete. We should use custom grind attributes for implementing the `lia` tactic.
/-- Returns the scoped E-matching theorems declared in the given namespace. -/
def Extension.getEMatchTheoremsForNamespace (ext : Extension) (namespaceName : Name) : CoreM (Array EMatchTheorem) := do
let stateStack := ext.ext.getState (← getEnv)
match stateStack.scopedEntries.map.find? namespaceName with
| none => return #[]
| some entries => return entries.toArray.filterMap fun
| .ematch thm => some thm
| _ => none
/--
Given theorem with name `declName` and type of the form `∀ (a_1 ... a_n), lhs = rhs`,
creates an E-matching pattern for it using `addEMatchTheorem n [lhs]`
@ -906,27 +899,16 @@ def mkEMatchEqTheorem (declName : Name) (normalizePattern := true) (useLhs : Boo
Adds an E-matching theorem to the environment.
See `mkEMatchTheorem`.
-/
def addEMatchTheorem (declName : Name) (numParams : Nat) (patterns : List Expr) (kind : EMatchTheoremKind)
def Extension.addEMatchTheorem (ext : Extension) (declName : Name) (numParams : Nat) (patterns : List Expr) (kind : EMatchTheoremKind)
(minIndexable : Bool) (attrKind := AttributeKind.global) (cnstrs : List EMatchTheoremConstraint) : MetaM Unit := do
ematchTheoremsExt.add (← mkEMatchTheorem declName numParams patterns kind cnstrs (minIndexable := minIndexable)) attrKind
ext.add (.ematch (← mkEMatchTheorem declName numParams patterns kind cnstrs (minIndexable := minIndexable))) attrKind
/--
Adds an E-matching equality theorem to the environment.
See `mkEMatchEqTheorem`.
-/
def addEMatchEqTheorem (declName : Name) : MetaM Unit := do
ematchTheoremsExt.add (← mkEMatchEqTheorem declName)
/-- Returns the E-matching theorems registered in the environment. -/
def getEMatchTheorems : CoreM EMatchTheorems :=
return ematchTheoremsExt.getState (← getEnv)
/-- Returns the scoped E-matching theorems declared in the given namespace. -/
def getEMatchTheoremsForNamespace (namespaceName : Name) : CoreM (Array EMatchTheorem) := do
let stateStack := ematchTheoremsExt.ext.getState (← getEnv)
match stateStack.scopedEntries.map.find? namespaceName with
| none => return #[]
| some entries => return entries.toArray
def Extension.addEMatchEqTheorem (ext : Extension) (declName : Name) : MetaM Unit := do
ext.add (.ematch (← mkEMatchEqTheorem declName))
/-- Returns the types of `xs` that are propositions. -/
private def getPropTypes (xs : Array Expr) : MetaM (Array Expr) :=
@ -1375,17 +1357,6 @@ def mkEMatchEqTheoremsForDef? (declName : Name) (showInfo := false) : MetaM (Opt
eqns.mapM fun eqn => do
mkEMatchEqTheorem eqn (normalizePattern := true) (showInfo := showInfo)
-- TODO: delete
private def addGrindEqAttr (declName : Name) (attrKind : AttributeKind) (thmKind : EMatchTheoremKind) (useLhs := true) (showInfo := false) : MetaM Unit := do
if wasOriginallyTheorem (← getEnv) declName then
ematchTheoremsExt.add (← mkEMatchEqTheorem declName (normalizePattern := true) (useLhs := useLhs) (gen := thmKind.gen) (showInfo := showInfo)) attrKind
else if let some thms ← mkEMatchEqTheoremsForDef? declName (showInfo := showInfo) then
unless useLhs do
throwError "`{.ofConstName declName}` is a definition, you must only use the left-hand side for extracting patterns"
thms.forM (ematchTheoremsExt.add · attrKind)
else
throwError s!"`{thmKind.toAttribute false}` attribute can only be applied to equational theorems or function definitions"
private def Extension.addGrindEqAttr (ext : Extension) (declName : Name) (attrKind : AttributeKind) (thmKind : EMatchTheoremKind) (useLhs := true) (showInfo := false) : MetaM Unit := do
if wasOriginallyTheorem (← getEnv) declName then
ext.add (.ematch (← mkEMatchEqTheorem declName (normalizePattern := true) (useLhs := useLhs) (gen := thmKind.gen) (showInfo := showInfo))) attrKind
@ -1413,29 +1384,6 @@ private def ensureNoMinIndexable (minIndexable : Bool) : MetaM Unit := do
if minIndexable then
throwError "redundant modifier `!` in `grind` attribute"
-- TODO: delete
def addEMatchAttr (declName : Name) (attrKind : AttributeKind) (thmKind : EMatchTheoremKind) (prios : SymbolPriorities)
(showInfo := false) (minIndexable := false) : MetaM Unit := do
match thmKind with
| .eqLhs _ =>
ensureNoMinIndexable minIndexable
addGrindEqAttr declName attrKind thmKind (useLhs := true) (showInfo := showInfo)
| .eqRhs _ =>
ensureNoMinIndexable minIndexable
addGrindEqAttr declName attrKind thmKind (useLhs := false) (showInfo := showInfo)
| .eqBoth _ =>
ensureNoMinIndexable minIndexable
addGrindEqAttr declName attrKind thmKind (useLhs := true) (showInfo := showInfo)
addGrindEqAttr declName attrKind thmKind (useLhs := false) (showInfo := showInfo)
| _ =>
let info ← getConstInfo declName
if !wasOriginallyTheorem (← getEnv) declName && !info.isCtor && !info.isAxiom then
ensureNoMinIndexable minIndexable
addGrindEqAttr declName attrKind thmKind (showInfo := showInfo)
else
let thm ← mkEMatchTheoremForDecl declName thmKind prios (showInfo := showInfo) (minIndexable := minIndexable)
ematchTheoremsExt.add thm attrKind
def Extension.addEMatchAttr (ext : Extension) (declName : Name) (attrKind : AttributeKind) (thmKind : EMatchTheoremKind) (prios : SymbolPriorities)
(showInfo := false) (minIndexable := false) : MetaM Unit := do
match thmKind with
@ -1589,26 +1537,6 @@ Tries different modifiers, logs info messages with modifiers that worked, but st
Remark: if `backward.grind.inferPattern` is `true`, then `.default false` is used.
The parameter `showInfo` is only taken into account when `backward.grind.inferPattern` is `true`.
-/
-- TODO: delete
def addEMatchAttrAndSuggest (ref : Syntax) (declName : Name) (attrKind : AttributeKind) (prios : SymbolPriorities)
(minIndexable : Bool) (showInfo : Bool) (isParam : Bool := false) : MetaM Unit := do
let info ← getConstInfo declName
if !wasOriginallyTheorem (← getEnv) declName && !info.isCtor && !info.isAxiom then
ensureNoMinIndexable minIndexable
addGrindEqAttr declName attrKind (.default false) (showInfo := showInfo)
else if backward.grind.inferPattern.get (← getOptions) then
addEMatchAttr declName attrKind (.default false) prios (minIndexable := minIndexable) (showInfo := showInfo)
else
let thm ← mkEMatchTheoremAndSuggest ref declName prios minIndexable isParam
ematchTheoremsExt.add thm attrKind
/--
Tries different modifiers, logs info messages with modifiers that worked, but stores just the first one that worked.
Remark: if `backward.grind.inferPattern` is `true`, then `.default false` is used.
The parameter `showInfo` is only taken into account when `backward.grind.inferPattern` is `true`.
-/
-- TODO: delete
def Extension.addEMatchAttrAndSuggest (ext : Extension) (ref : Syntax) (declName : Name) (attrKind : AttributeKind) (prios : SymbolPriorities)
(minIndexable : Bool) (showInfo : Bool) (isParam : Bool := false) : MetaM Unit := do
let info ← getConstInfo declName
@ -1621,23 +1549,4 @@ def Extension.addEMatchAttrAndSuggest (ext : Extension) (ref : Syntax) (declName
let thm ← mkEMatchTheoremAndSuggest ref declName prios minIndexable isParam
ext.add (.ematch thm) attrKind
def eraseEMatchAttr (declName : Name) : MetaM Unit := do
/-
Remark: consider the following example
```
attribute [grind] foo -- ok
attribute [-grind] foo.eqn_2 -- ok
attribute [-grind] foo -- error
```
One may argue that the correct behavior should be
```
attribute [grind] foo -- ok
attribute [-grind] foo.eqn_2 -- error
attribute [-grind] foo -- ok
```
-/
let s := ematchTheoremsExt.getState (← getEnv)
let s ← s.eraseDecl declName
modifyEnv fun env => ematchTheoremsExt.modifyState env fun _ => s
end Lean.Meta.Grind

View file

@ -11,39 +11,15 @@ public section
namespace Lean.Meta.Grind
/-! Grind extensionality attribute to mark which `[ext]` theorems should be used. -/
/-
TODO: group into a `grind` extension object
-/
builtin_initialize extTheoremsExt : SimpleScopedEnvExtension Name ExtTheorems ←
registerSimpleScopedEnvExtension {
initial := {}
addEntry := fun s declName => s.insert declName
}
def validateExtAttr (declName : Name) : CoreM Unit := do
if !(← Ext.isExtTheorem declName) then
if !(isStructure (← getEnv) declName) then
throwError "invalid `[grind ext]`, `{.ofConstName declName}` is neither tagged with `[ext]` nor is a structure"
def addExtAttr (declName : Name) (attrKind : AttributeKind) : CoreM Unit := do
validateExtAttr declName
extTheoremsExt.add declName attrKind
def ExtTheorems.eraseDecl (s : ExtTheorems) (declName : Name) : CoreM ExtTheorems := do
if s.contains declName then
return s.erase declName
else
throwError "`{.ofConstName declName}` is not marked with the `[grind ext]` attribute"
def eraseExtAttr (declName : Name) : CoreM Unit := do
let s := extTheoremsExt.getState (← getEnv)
let s ← s.eraseDecl declName
modifyEnv fun env => extTheoremsExt.modifyState env fun _ => s
def isExtTheorem (declName : Name) : CoreM Bool := do
return extTheoremsExt.getState (← getEnv) |>.contains declName
def getGlobalExtTheorems : CoreM ExtTheorems := do
return extTheoremsExt.getState (← getEnv)
end Lean.Meta.Grind

View file

@ -9,29 +9,6 @@ public import Lean.ScopedEnvExtension
public section
namespace Lean.Meta.Grind
/-
TODO: group into a `grind` extension object
-/
private builtin_initialize funCCExt : SimpleScopedEnvExtension Name NameSet ←
registerSimpleScopedEnvExtension {
initial := {}
addEntry := fun s declName => s.insert declName
}
def getFunCCSet : CoreM NameSet :=
return funCCExt.getState (← getEnv)
def hasFunCCAttr (declName : Name) : CoreM Bool := do
return (← getFunCCSet).contains declName
def addFunCCAttr (declName : Name) (attrKind : AttributeKind) : CoreM Unit := do
funCCExt.add declName attrKind
def eraseFunCCAttr (declName : Name) : CoreM Unit := do
let s ← getFunCCSet
unless s.contains declName do
throwError "`{.ofConstName declName}` is not marked with the `[grind]` attribute"
let s := s.erase declName
modifyEnv fun env => funCCExt.modifyState env fun _ => s
-- **TODO**: delete this file
end Lean.Meta.Grind

View file

@ -20,15 +20,6 @@ abbrev InjectiveTheorems := Theorems InjectiveTheorem
/-- A collections of sets of Injective theorems. -/
abbrev InjectiveTheoremsArray := TheoremsArray InjectiveTheorem
/-
TODO: group into a `grind` extension object
-/
private builtin_initialize injectiveTheoremsExt : SimpleScopedEnvExtension InjectiveTheorem (Theorems InjectiveTheorem) ←
registerSimpleScopedEnvExtension {
addEntry := Theorems.insert
initial := {}
}
private partial def getSymbols (proof : Expr) (hasUniverses : Bool) : MetaM (List HeadIndex) := do
let type ← inferType proof
forallTelescope type fun xs type => do
@ -75,27 +66,7 @@ def mkInjectiveTheorem (declName : Name) : MetaM InjectiveTheorem := do
proof, symbols
}
-- TODO: delete
def addInjectiveAttr (declName : Name) (attrKind : AttributeKind) : MetaM Unit := do
injectiveTheoremsExt.add (← mkInjectiveTheorem declName) attrKind
def Extension.addInjectiveAttr (ext : Extension) (declName : Name) (attrKind : AttributeKind) : MetaM Unit := do
ext.add (.inj (← mkInjectiveTheorem declName)) attrKind
def eraseInjectiveAttr (declName : Name) : MetaM Unit := do
let s := injectiveTheoremsExt.getState (← getEnv)
let s ← s.eraseDecl declName
modifyEnv fun env => injectiveTheoremsExt.modifyState env fun _ => s
/-- Returns `true` if `declName` has been tagged as an injective theorem using `[grind]`. -/
def isInjectiveTheorem (declName : Name) : CoreM Bool := do
return injectiveTheoremsExt.getState (← getEnv) |>.contains (.decl declName)
/-- Returns the injective theorems registered in the environment. -/
def getInjectiveTheorems : CoreM InjectiveTheorems := do
return injectiveTheoremsExt.getState (← getEnv)
def resetInjectiveTheoremsExt : CoreM Unit := do
modifyEnv fun env => injectiveTheoremsExt.modifyState env fun _ => {}
end Lean.Meta.Grind

View file

@ -35,21 +35,14 @@ namespace Lean.Meta.Grind
/--
Returns the `ExtensionState` for the default `grind` attribute.
-/
def getDefaultExtensionState : MetaM ExtensionState := do
-- **TODO**: update after update stage0
let casesTypes ← getCasesTypes
let funCC ← getFunCCSet
let extThms ← getGlobalExtTheorems
let ematch ← getEMatchTheorems
let inj ← getInjectiveTheorems
return {
casesTypes, funCC, extThms, ematch, inj
}
def getDefaultExtensionState : MetaM ExtensionState :=
return grindExt.getState (← getEnv)
def getOnlyExtensionState : MetaM ExtensionState := do
let casesTypes ← getCasesTypes
let funCC ← getFunCCSet
let extThms ← getGlobalExtTheorems
let s := grindExt.getState (← getEnv)
let casesTypes := s.casesTypes
let funCC := s.funCC
let extThms := s.extThms
return {
casesTypes, funCC, extThms
}

View file

@ -358,6 +358,9 @@ def isSplit (declName : Name) : GrindM Bool :=
def isEagerSplit (declName : Name) : GrindM Bool :=
return (← readThe Context).extensions.any fun ext => ext.casesTypes.isEagerSplit declName
def isExtTheorem (declName : Name) : GrindM Bool :=
return (← readThe Context).extensions.any fun ext => ext.extThms.contains declName
/--
Returns `true` if `declName` is the name of a `match` equation or a `match` congruence equation.
-/

View file

@ -75,12 +75,12 @@ def saveEqnCandidate (declName : Name) : M Unit := do
if (← isEligible declName) then
let some eqns ← getEqnsFor? declName | return ()
if eqns.isEmpty then return ()
unless (← Grind.isEMatchTheorem eqns[0]!) do
unless (← Grind.grindExt.isEMatchTheorem eqns[0]!) do
modify fun s => { s with eqnCandidates := s.eqnCandidates.insert declName }
def getEqDefDecl? (declName : Name) : MetaM (Option Name) := do
let declName := declName ++ `eq_def
if (← Grind.isEMatchTheorem declName) then return none
if (← Grind.grindExt.isEMatchTheorem declName) then return none
try
let result ← realizeGlobalConstNoOverloadCore declName
return some result
@ -107,7 +107,7 @@ open LibrarySearch in
def saveLibSearchCandidates (e : Expr) : M Unit := do
if (← getConfig).harder then
for (declName, declMod) in (← libSearchFindDecls e) do
unless (← Grind.isEMatchTheorem declName) do
unless (← Grind.grindExt.isEMatchTheorem declName) do
let kind := match declMod with
| .none => (.default false)
| .mp => .leftRight

View file

@ -1885,10 +1885,10 @@ lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean
x_22 = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(x_22, 0, x_18);
lean_ctor_set(x_22, 1, x_21);
lean_inc(x_19);
lean_inc(x_20);
x_23 = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(x_23, 0, x_22);
lean_ctor_set(x_23, 1, x_19);
lean_ctor_set(x_23, 1, x_20);
x_24 = l_Nat_reprFast(x_15);
x_25 = lean_alloc_ctor(3, 1, 0);
lean_ctor_set(x_25, 0, x_24);
@ -1897,13 +1897,13 @@ lean_ctor_set(x_26, 0, x_23);
lean_ctor_set(x_26, 1, x_25);
x_27 = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(x_27, 0, x_26);
lean_ctor_set(x_27, 1, x_19);
lean_ctor_set(x_27, 1, x_20);
x_28 = l_Lean_Grind_Linarith_instReprPoly_repr(x_16, x_17);
x_29 = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(x_29, 0, x_27);
lean_ctor_set(x_29, 1, x_28);
x_30 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_30, 0, x_20);
lean_ctor_set(x_30, 0, x_19);
lean_ctor_set(x_30, 1, x_29);
x_31 = 0;
x_32 = lean_alloc_ctor(6, 1, 1);
@ -1927,8 +1927,8 @@ lean_dec(x_14);
x_41 = lean_alloc_ctor(3, 1, 0);
lean_ctor_set(x_41, 0, x_40);
x_18 = x_37;
x_19 = x_36;
x_20 = x_35;
x_19 = x_35;
x_20 = x_36;
x_21 = x_41;
goto block_34;
}
@ -1941,8 +1941,8 @@ x_43 = lean_alloc_ctor(3, 1, 0);
lean_ctor_set(x_43, 0, x_42);
x_44 = l_Repr_addAppParen(x_43, x_17);
x_18 = x_37;
x_19 = x_36;
x_20 = x_35;
x_19 = x_35;
x_20 = x_36;
x_21 = x_44;
goto block_34;
}

View file

@ -5498,25 +5498,25 @@ block_48:
{
lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46; lean_object* x_47;
x_37 = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(x_37, 0, x_33);
lean_ctor_set(x_37, 0, x_34);
lean_ctor_set(x_37, 1, x_36);
lean_inc(x_34);
lean_inc(x_35);
x_38 = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(x_38, 0, x_37);
lean_ctor_set(x_38, 1, x_34);
lean_ctor_set(x_38, 1, x_35);
x_39 = l_Lean_Grind_CommRing_instReprMon_repr(x_30, x_32);
x_40 = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(x_40, 0, x_38);
lean_ctor_set(x_40, 1, x_39);
x_41 = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(x_41, 0, x_40);
lean_ctor_set(x_41, 1, x_34);
lean_ctor_set(x_41, 1, x_35);
x_42 = l_Lean_Grind_CommRing_instReprPoly_repr(x_31, x_32);
x_43 = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(x_43, 0, x_41);
lean_ctor_set(x_43, 1, x_42);
x_44 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_44, 0, x_35);
lean_ctor_set(x_44, 0, x_33);
lean_ctor_set(x_44, 1, x_43);
x_45 = 0;
x_46 = lean_alloc_ctor(6, 1, 1);
@ -5539,9 +5539,9 @@ x_54 = l_Int_repr(x_29);
lean_dec(x_29);
x_55 = lean_alloc_ctor(3, 1, 0);
lean_ctor_set(x_55, 0, x_54);
x_33 = x_51;
x_34 = x_50;
x_35 = x_49;
x_33 = x_49;
x_34 = x_51;
x_35 = x_50;
x_36 = x_55;
goto block_48;
}
@ -5553,9 +5553,9 @@ lean_dec(x_29);
x_57 = lean_alloc_ctor(3, 1, 0);
lean_ctor_set(x_57, 0, x_56);
x_58 = l_Repr_addAppParen(x_57, x_32);
x_33 = x_51;
x_34 = x_50;
x_35 = x_49;
x_33 = x_49;
x_34 = x_51;
x_35 = x_50;
x_36 = x_58;
goto block_48;
}

View file

@ -6213,17 +6213,17 @@ else
{
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
x_17 = lean_string_utf8_byte_size(x_12);
lean_inc(x_13);
lean_inc(x_11);
lean_inc_ref(x_12);
x_18 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_18, 0, x_12);
lean_ctor_set(x_18, 1, x_13);
lean_ctor_set(x_18, 1, x_11);
lean_ctor_set(x_18, 2, x_17);
x_19 = l_String_Slice_Pos_prevn(x_18, x_17, x_11);
x_19 = l_String_Slice_Pos_prevn(x_18, x_17, x_13);
lean_dec_ref(x_18);
x_20 = lean_string_utf8_extract(x_12, x_13, x_19);
x_20 = lean_string_utf8_extract(x_12, x_11, x_19);
lean_dec(x_19);
lean_dec(x_13);
lean_dec(x_11);
lean_dec_ref(x_12);
x_7 = x_20;
goto block_10;
@ -6275,9 +6275,9 @@ if (lean_obj_tag(x_35) == 0)
uint32_t x_36;
lean_dec_ref(x_34);
x_36 = 65;
x_11 = x_27;
x_11 = x_28;
x_12 = x_32;
x_13 = x_28;
x_13 = x_27;
x_14 = x_36;
goto block_21;
}
@ -6294,9 +6294,9 @@ if (lean_obj_tag(x_38) == 0)
{
uint32_t x_39;
x_39 = 65;
x_11 = x_27;
x_11 = x_28;
x_12 = x_32;
x_13 = x_28;
x_13 = x_27;
x_14 = x_39;
goto block_21;
}
@ -6308,9 +6308,9 @@ lean_inc(x_40);
lean_dec_ref(x_38);
x_41 = lean_unbox_uint32(x_40);
lean_dec(x_40);
x_11 = x_27;
x_11 = x_28;
x_12 = x_32;
x_13 = x_28;
x_13 = x_27;
x_14 = x_41;
goto block_21;
}
@ -11099,8 +11099,8 @@ goto block_19;
block_7:
{
uint32_t x_5; uint32_t x_6;
x_5 = lean_uint32_lor(x_3, x_4);
x_6 = lean_uint32_lor(x_2, x_5);
x_5 = lean_uint32_lor(x_2, x_4);
x_6 = lean_uint32_lor(x_3, x_5);
return x_6;
}
block_15:
@ -11109,8 +11109,8 @@ if (x_10 == 0)
{
uint32_t x_13;
x_13 = 0;
x_2 = x_11;
x_3 = x_12;
x_2 = x_12;
x_3 = x_11;
x_4 = x_13;
goto block_7;
}
@ -11118,8 +11118,8 @@ else
{
uint32_t x_14;
x_14 = 1;
x_2 = x_11;
x_3 = x_12;
x_2 = x_12;
x_3 = x_11;
x_4 = x_14;
goto block_7;
}
@ -12130,17 +12130,17 @@ else
{
lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
x_18 = lean_string_utf8_byte_size(x_13);
lean_inc(x_14);
lean_inc(x_12);
lean_inc_ref(x_13);
x_19 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_19, 0, x_13);
lean_ctor_set(x_19, 1, x_14);
lean_ctor_set(x_19, 1, x_12);
lean_ctor_set(x_19, 2, x_18);
x_20 = l_String_Slice_Pos_prevn(x_19, x_18, x_12);
x_20 = l_String_Slice_Pos_prevn(x_19, x_18, x_14);
lean_dec_ref(x_19);
x_21 = lean_string_utf8_extract(x_13, x_14, x_20);
x_21 = lean_string_utf8_extract(x_13, x_12, x_20);
lean_dec(x_20);
lean_dec(x_14);
lean_dec(x_12);
lean_dec_ref(x_13);
x_8 = x_21;
goto block_11;
@ -12193,9 +12193,9 @@ if (lean_obj_tag(x_36) == 0)
uint32_t x_37;
lean_dec_ref(x_35);
x_37 = 65;
x_12 = x_28;
x_12 = x_29;
x_13 = x_33;
x_14 = x_29;
x_14 = x_28;
x_15 = x_37;
goto block_22;
}
@ -12212,9 +12212,9 @@ if (lean_obj_tag(x_39) == 0)
{
uint32_t x_40;
x_40 = 65;
x_12 = x_28;
x_12 = x_29;
x_13 = x_33;
x_14 = x_29;
x_14 = x_28;
x_15 = x_40;
goto block_22;
}
@ -12226,9 +12226,9 @@ lean_inc(x_41);
lean_dec_ref(x_39);
x_42 = lean_unbox_uint32(x_41);
lean_dec(x_41);
x_12 = x_28;
x_12 = x_29;
x_13 = x_33;
x_14 = x_29;
x_14 = x_28;
x_15 = x_42;
goto block_22;
}

File diff suppressed because it is too large Load diff

View file

@ -3095,9 +3095,9 @@ goto block_52;
block_44:
{
lean_object* x_41; lean_object* x_42; lean_object* x_43;
x_41 = lean_nat_add(x_38, x_40);
x_41 = lean_nat_add(x_39, x_40);
lean_dec(x_40);
lean_dec(x_38);
lean_dec(x_39);
if (lean_is_scalar(x_35)) {
x_42 = lean_alloc_ctor(0, 5, 0);
} else {
@ -3116,7 +3116,7 @@ if (lean_is_scalar(x_25)) {
lean_ctor_set(x_43, 0, x_37);
lean_ctor_set(x_43, 1, x_28);
lean_ctor_set(x_43, 2, x_29);
lean_ctor_set(x_43, 3, x_39);
lean_ctor_set(x_43, 3, x_38);
lean_ctor_set(x_43, 4, x_42);
return x_43;
}
@ -3142,8 +3142,8 @@ if (lean_obj_tag(x_31) == 0)
lean_object* x_50;
x_50 = lean_ctor_get(x_31, 0);
lean_inc(x_50);
x_38 = x_49;
x_39 = x_48;
x_38 = x_48;
x_39 = x_49;
x_40 = x_50;
goto block_44;
}
@ -3151,8 +3151,8 @@ else
{
lean_object* x_51;
x_51 = lean_unsigned_to_nat(0u);
x_38 = x_49;
x_39 = x_48;
x_38 = x_48;
x_39 = x_49;
x_40 = x_51;
goto block_44;
}
@ -3569,9 +3569,9 @@ goto block_154;
block_147:
{
lean_object* x_144; lean_object* x_145; lean_object* x_146;
x_144 = lean_nat_add(x_141, x_143);
x_144 = lean_nat_add(x_142, x_143);
lean_dec(x_143);
lean_dec(x_141);
lean_dec(x_142);
if (lean_is_scalar(x_138)) {
x_145 = lean_alloc_ctor(0, 5, 0);
} else {
@ -3590,7 +3590,7 @@ if (lean_is_scalar(x_128)) {
lean_ctor_set(x_146, 0, x_140);
lean_ctor_set(x_146, 1, x_130);
lean_ctor_set(x_146, 2, x_131);
lean_ctor_set(x_146, 3, x_142);
lean_ctor_set(x_146, 3, x_141);
lean_ctor_set(x_146, 4, x_145);
return x_146;
}
@ -3616,8 +3616,8 @@ if (lean_obj_tag(x_133) == 0)
lean_object* x_152;
x_152 = lean_ctor_get(x_133, 0);
lean_inc(x_152);
x_141 = x_151;
x_142 = x_150;
x_141 = x_150;
x_142 = x_151;
x_143 = x_152;
goto block_147;
}
@ -3625,8 +3625,8 @@ else
{
lean_object* x_153;
x_153 = lean_unsigned_to_nat(0u);
x_141 = x_151;
x_142 = x_150;
x_141 = x_150;
x_142 = x_151;
x_143 = x_153;
goto block_147;
}

File diff suppressed because it is too large Load diff

View file

@ -1621,8 +1621,8 @@ x_16 = 3;
x_17 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_17, 0, x_15);
lean_ctor_set_uint8(x_17, sizeof(void*)*1, x_16);
x_18 = lean_array_push(x_10, x_17);
x_5 = x_11;
x_18 = lean_array_push(x_12, x_17);
x_5 = x_10;
x_6 = x_18;
x_7 = lean_box(0);
goto block_9;
@ -1631,8 +1631,8 @@ block_25:
{
lean_object* x_23; lean_object* x_24;
x_23 = l_Lake_getUrl_x3f___closed__2;
x_24 = lean_array_push(x_20, x_23);
x_5 = x_21;
x_24 = lean_array_push(x_22, x_23);
x_5 = x_20;
x_6 = x_24;
x_7 = lean_box(0);
goto block_9;
@ -1647,8 +1647,8 @@ x_32 = 3;
x_33 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_33, 0, x_31);
lean_ctor_set_uint8(x_33, sizeof(void*)*1, x_32);
x_34 = lean_array_push(x_26, x_33);
x_5 = x_27;
x_34 = lean_array_push(x_28, x_33);
x_5 = x_26;
x_6 = x_34;
x_7 = lean_box(0);
goto block_9;
@ -1658,10 +1658,10 @@ block_96:
if (lean_obj_tag(x_41) == 0)
{
lean_dec_ref(x_39);
lean_dec(x_38);
x_20 = x_36;
x_21 = x_37;
x_22 = lean_box(0);
lean_dec(x_36);
x_20 = x_37;
x_21 = lean_box(0);
x_22 = x_40;
goto block_25;
}
else
@ -1678,7 +1678,7 @@ if (x_45 == 0)
{
lean_object* x_46; uint8_t x_47;
lean_free_object(x_41);
lean_dec(x_38);
lean_dec(x_36);
x_46 = lean_unsigned_to_nat(404u);
x_47 = lean_nat_dec_eq(x_43, x_46);
if (x_47 == 0)
@ -1699,7 +1699,7 @@ x_55 = 3;
x_56 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_56, 0, x_54);
lean_ctor_set_uint8(x_56, sizeof(void*)*1, x_55);
x_57 = lean_array_push(x_36, x_56);
x_57 = lean_array_push(x_40, x_56);
x_5 = x_37;
x_6 = x_57;
x_7 = lean_box(0);
@ -1714,7 +1714,7 @@ lean_dec(x_37);
x_58 = lean_box(0);
x_59 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_59, 0, x_58);
lean_ctor_set(x_59, 1, x_36);
lean_ctor_set(x_59, 1, x_40);
return x_59;
}
}
@ -1729,7 +1729,7 @@ lean_dec_ref(x_39);
x_61 = lean_string_utf8_byte_size(x_60);
x_62 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_62, 0, x_60);
lean_ctor_set(x_62, 1, x_38);
lean_ctor_set(x_62, 1, x_36);
lean_ctor_set(x_62, 2, x_61);
x_63 = l_String_Slice_trimAscii(x_62);
lean_dec_ref(x_62);
@ -1747,7 +1747,7 @@ lean_dec_ref(x_64);
lean_ctor_set(x_41, 0, x_67);
x_68 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_68, 0, x_41);
lean_ctor_set(x_68, 1, x_36);
lean_ctor_set(x_68, 1, x_40);
return x_68;
}
}
@ -1762,7 +1762,7 @@ x_71 = lean_nat_dec_eq(x_69, x_70);
if (x_71 == 0)
{
lean_object* x_72; uint8_t x_73;
lean_dec(x_38);
lean_dec(x_36);
x_72 = lean_unsigned_to_nat(404u);
x_73 = lean_nat_dec_eq(x_69, x_72);
if (x_73 == 0)
@ -1783,7 +1783,7 @@ x_81 = 3;
x_82 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_82, 0, x_80);
lean_ctor_set_uint8(x_82, sizeof(void*)*1, x_81);
x_83 = lean_array_push(x_36, x_82);
x_83 = lean_array_push(x_40, x_82);
x_5 = x_37;
x_6 = x_83;
x_7 = lean_box(0);
@ -1798,7 +1798,7 @@ lean_dec(x_37);
x_84 = lean_box(0);
x_85 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_85, 0, x_84);
lean_ctor_set(x_85, 1, x_36);
lean_ctor_set(x_85, 1, x_40);
return x_85;
}
}
@ -1813,7 +1813,7 @@ lean_dec_ref(x_39);
x_87 = lean_string_utf8_byte_size(x_86);
x_88 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_88, 0, x_86);
lean_ctor_set(x_88, 1, x_38);
lean_ctor_set(x_88, 1, x_36);
lean_ctor_set(x_88, 2, x_87);
x_89 = l_String_Slice_trimAscii(x_88);
lean_dec_ref(x_88);
@ -1832,7 +1832,7 @@ x_94 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_94, 0, x_93);
x_95 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_95, 0, x_94);
lean_ctor_set(x_95, 1, x_36);
lean_ctor_set(x_95, 1, x_40);
return x_95;
}
}
@ -1842,15 +1842,15 @@ block_112:
{
lean_object* x_103; lean_object* x_104;
x_103 = l_Lake_getUrl_x3f___closed__6;
x_104 = l_Lake_JsonObject_getJson_x3f(x_97, x_103);
lean_dec(x_97);
x_104 = l_Lake_JsonObject_getJson_x3f(x_100, x_103);
lean_dec(x_100);
if (lean_obj_tag(x_104) == 0)
{
lean_dec_ref(x_101);
lean_dec(x_100);
lean_dec(x_97);
x_20 = x_98;
x_21 = x_99;
x_22 = lean_box(0);
x_21 = lean_box(0);
x_22 = x_102;
goto block_25;
}
else
@ -1864,7 +1864,7 @@ if (lean_obj_tag(x_106) == 0)
{
lean_object* x_107; lean_object* x_108; lean_object* x_109;
lean_dec_ref(x_101);
lean_dec(x_100);
lean_dec(x_97);
x_107 = lean_ctor_get(x_106, 0);
lean_inc(x_107);
lean_dec_ref(x_106);
@ -1872,8 +1872,8 @@ x_108 = l_Lake_getUrl_x3f___closed__7;
x_109 = lean_string_append(x_108, x_107);
lean_dec(x_107);
x_10 = x_98;
x_11 = x_99;
x_12 = lean_box(0);
x_11 = lean_box(0);
x_12 = x_102;
x_13 = x_109;
goto block_19;
}
@ -1883,13 +1883,13 @@ if (lean_obj_tag(x_106) == 0)
{
lean_object* x_110;
lean_dec_ref(x_101);
lean_dec(x_100);
lean_dec(x_97);
x_110 = lean_ctor_get(x_106, 0);
lean_inc(x_110);
lean_dec_ref(x_106);
x_10 = x_98;
x_11 = x_99;
x_12 = lean_box(0);
x_11 = lean_box(0);
x_12 = x_102;
x_13 = x_110;
goto block_19;
}
@ -1899,11 +1899,11 @@ lean_object* x_111;
x_111 = lean_ctor_get(x_106, 0);
lean_inc(x_111);
lean_dec_ref(x_106);
x_36 = x_98;
x_37 = x_99;
x_38 = x_100;
x_36 = x_97;
x_37 = x_98;
x_38 = lean_box(0);
x_39 = x_101;
x_40 = lean_box(0);
x_40 = x_102;
x_41 = x_111;
goto block_96;
}
@ -1951,9 +1951,9 @@ lean_dec(x_125);
x_129 = lean_ctor_get(x_128, 0);
lean_inc(x_129);
lean_dec_ref(x_128);
x_26 = x_126;
x_27 = x_124;
x_28 = lean_box(0);
x_26 = x_124;
x_27 = lean_box(0);
x_28 = x_126;
x_29 = x_129;
goto block_35;
}
@ -1971,9 +1971,9 @@ lean_dec(x_125);
x_132 = lean_ctor_get(x_131, 0);
lean_inc(x_132);
lean_dec_ref(x_131);
x_26 = x_126;
x_27 = x_124;
x_28 = lean_box(0);
x_26 = x_124;
x_27 = lean_box(0);
x_28 = x_126;
x_29 = x_132;
goto block_35;
}
@ -1989,9 +1989,9 @@ if (lean_obj_tag(x_135) == 0)
{
lean_dec(x_133);
lean_dec(x_125);
x_20 = x_126;
x_21 = x_124;
x_22 = lean_box(0);
x_20 = x_124;
x_21 = lean_box(0);
x_22 = x_126;
goto block_25;
}
else
@ -2004,12 +2004,12 @@ x_137 = l_Option_fromJson_x3f___at___00Lake_getUrl_x3f_spec__0(x_136);
if (lean_obj_tag(x_137) == 0)
{
lean_dec_ref(x_137);
x_97 = x_133;
x_98 = x_126;
x_99 = x_124;
x_100 = x_118;
x_97 = x_118;
x_98 = x_124;
x_99 = lean_box(0);
x_100 = x_133;
x_101 = x_125;
x_102 = lean_box(0);
x_102 = x_126;
goto block_112;
}
else
@ -2017,12 +2017,12 @@ else
if (lean_obj_tag(x_137) == 0)
{
lean_dec_ref(x_137);
x_97 = x_133;
x_98 = x_126;
x_99 = x_124;
x_100 = x_118;
x_97 = x_118;
x_98 = x_124;
x_99 = lean_box(0);
x_100 = x_133;
x_101 = x_125;
x_102 = lean_box(0);
x_102 = x_126;
goto block_112;
}
else
@ -2032,11 +2032,11 @@ lean_dec(x_133);
x_138 = lean_ctor_get(x_137, 0);
lean_inc(x_138);
lean_dec_ref(x_137);
x_36 = x_126;
x_36 = x_118;
x_37 = x_124;
x_38 = x_118;
x_38 = lean_box(0);
x_39 = x_125;
x_40 = lean_box(0);
x_40 = x_126;
x_41 = x_138;
goto block_96;
}

View file

@ -4552,7 +4552,7 @@ return x_2;
LEAN_EXPORT lean_object* l_Lake_ToolchainVer_ofString(lean_object* x_1) {
_start:
{
lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_51; lean_object* x_52; lean_object* x_77; uint32_t x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91;
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_51; lean_object* x_52; lean_object* x_77; uint32_t x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91;
x_86 = 58;
x_87 = lean_unsigned_to_nat(0u);
x_88 = lean_string_utf8_byte_size(x_1);
@ -4581,12 +4581,12 @@ goto block_85;
block_50:
{
lean_object* x_6;
lean_inc_ref(x_4);
x_6 = l_String_dropPrefix_x3f___at___00Lake_ToolchainVer_ofString_spec__0___redArg(x_4);
lean_inc_ref(x_2);
x_6 = l_String_dropPrefix_x3f___at___00Lake_ToolchainVer_ofString_spec__0___redArg(x_2);
if (lean_obj_tag(x_6) == 1)
{
lean_object* x_7; lean_object* x_8; lean_object* x_9;
lean_dec_ref(x_4);
lean_dec_ref(x_2);
x_7 = lean_ctor_get(x_6, 0);
lean_inc(x_7);
lean_dec_ref(x_6);
@ -4595,13 +4595,13 @@ lean_dec(x_7);
x_9 = l_Lake_Date_ofString_x3f(x_8);
if (lean_obj_tag(x_9) == 1)
{
if (x_3 == 0)
if (x_4 == 0)
{
lean_object* x_10; lean_object* x_11;
x_10 = lean_ctor_get(x_9, 0);
lean_inc(x_10);
lean_dec_ref(x_9);
x_11 = l_String_dropPrefix_x3f___at___00Lake_ToolchainVer_ofString_spec__1___redArg(x_2);
x_11 = l_String_dropPrefix_x3f___at___00Lake_ToolchainVer_ofString_spec__1___redArg(x_3);
if (lean_obj_tag(x_11) == 1)
{
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16;
@ -4670,7 +4670,7 @@ else
{
lean_object* x_25; lean_object* x_26;
lean_dec(x_5);
lean_dec_ref(x_2);
lean_dec_ref(x_3);
lean_dec_ref(x_1);
x_25 = lean_ctor_get(x_9, 0);
lean_inc(x_25);
@ -4684,7 +4684,7 @@ else
lean_object* x_27;
lean_dec(x_9);
lean_dec(x_5);
lean_dec_ref(x_2);
lean_dec_ref(x_3);
lean_inc_ref(x_1);
x_27 = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(x_27, 0, x_1);
@ -4696,7 +4696,7 @@ else
{
lean_object* x_28;
lean_dec(x_6);
x_28 = l_String_dropPrefix_x3f___at___00Lake_ToolchainVer_ofString_spec__2___redArg(x_4);
x_28 = l_String_dropPrefix_x3f___at___00Lake_ToolchainVer_ofString_spec__2___redArg(x_2);
if (lean_obj_tag(x_28) == 1)
{
lean_object* x_29; lean_object* x_30;
@ -4708,15 +4708,15 @@ x_30 = l_String_Slice_toNat_x3f(x_29);
lean_dec(x_29);
if (lean_obj_tag(x_30) == 1)
{
if (x_3 == 0)
if (x_4 == 0)
{
lean_object* x_31; lean_object* x_32; uint8_t x_33;
x_31 = lean_ctor_get(x_30, 0);
lean_inc(x_31);
lean_dec_ref(x_30);
x_32 = l_Lake_ToolchainVer_prOrigin___closed__0;
x_33 = lean_string_dec_eq(x_2, x_32);
lean_dec_ref(x_2);
x_33 = lean_string_dec_eq(x_3, x_32);
lean_dec_ref(x_3);
if (x_33 == 0)
{
lean_object* x_34;
@ -4738,7 +4738,7 @@ return x_35;
else
{
lean_object* x_36; lean_object* x_37;
lean_dec_ref(x_2);
lean_dec_ref(x_3);
lean_dec_ref(x_1);
x_36 = lean_ctor_get(x_30, 0);
lean_inc(x_36);
@ -4751,7 +4751,7 @@ else
{
lean_object* x_38;
lean_dec(x_30);
lean_dec_ref(x_2);
lean_dec_ref(x_3);
lean_inc_ref(x_1);
x_38 = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(x_38, 0, x_1);
@ -4769,15 +4769,15 @@ lean_inc_ref(x_1);
x_41 = l___private_Lake_Util_Version_0__Lake_runVerParse___redArg(x_1, x_39, x_5, x_40);
if (lean_obj_tag(x_41) == 1)
{
if (x_3 == 0)
if (x_4 == 0)
{
lean_object* x_42; lean_object* x_43; uint8_t x_44;
x_42 = lean_ctor_get(x_41, 0);
lean_inc(x_42);
lean_dec_ref(x_41);
x_43 = l_Lake_ToolchainVer_defaultOrigin___closed__0;
x_44 = lean_string_dec_eq(x_2, x_43);
lean_dec_ref(x_2);
x_44 = lean_string_dec_eq(x_3, x_43);
lean_dec_ref(x_3);
if (x_44 == 0)
{
lean_object* x_45;
@ -4799,7 +4799,7 @@ return x_46;
else
{
lean_object* x_47; lean_object* x_48;
lean_dec_ref(x_2);
lean_dec_ref(x_3);
lean_dec_ref(x_1);
x_47 = lean_ctor_get(x_41, 0);
lean_inc(x_47);
@ -4812,7 +4812,7 @@ else
{
lean_object* x_49;
lean_dec_ref(x_41);
lean_dec_ref(x_2);
lean_dec_ref(x_3);
lean_inc_ref(x_1);
x_49 = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(x_49, 0, x_1);
@ -4834,9 +4834,9 @@ x_58 = l_Lake_ToolchainVer_ofString___closed__3;
x_59 = lean_nat_dec_le(x_58, x_57);
if (x_59 == 0)
{
x_2 = x_51;
x_3 = x_55;
x_4 = x_52;
x_2 = x_52;
x_3 = x_51;
x_4 = x_55;
x_5 = x_54;
goto block_50;
}
@ -4846,9 +4846,9 @@ uint8_t x_60;
x_60 = lean_string_memcmp(x_52, x_56, x_54, x_54, x_58);
if (x_60 == 0)
{
x_2 = x_51;
x_3 = x_55;
x_4 = x_52;
x_2 = x_52;
x_3 = x_51;
x_4 = x_55;
x_5 = x_54;
goto block_50;
}
@ -7108,7 +7108,7 @@ return x_5;
LEAN_EXPORT uint8_t l_Lake_VerComparator_test(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_3; lean_object* x_4; uint8_t x_5; uint8_t x_6; uint8_t x_7; lean_object* x_8; uint8_t x_9; lean_object* x_14; uint8_t x_15; uint8_t x_16; uint8_t x_17; lean_object* x_18; uint8_t x_19; lean_object* x_24; uint8_t x_25; uint8_t x_26; lean_object* x_27; uint8_t x_28; lean_object* x_33; uint8_t x_34; lean_object* x_35; uint8_t x_36; lean_object* x_41; uint8_t x_42; uint8_t x_43; lean_object* x_44;
uint8_t x_3; uint8_t x_4; uint8_t x_5; uint8_t x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; uint8_t x_14; uint8_t x_15; uint8_t x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; uint8_t x_24; uint8_t x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; uint8_t x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; lean_object* x_41; uint8_t x_42; uint8_t x_43; lean_object* x_44;
x_41 = lean_ctor_get(x_1, 0);
x_42 = lean_ctor_get_uint8(x_1, sizeof(void*)*1);
x_43 = lean_ctor_get_uint8(x_1, sizeof(void*)*1 + 1);
@ -7201,8 +7201,8 @@ goto block_48;
block_13:
{
uint8_t x_10;
x_10 = l_Lake_instDecidableEqStdVer_decEq(x_8, x_4);
switch (x_7) {
x_10 = l_Lake_instDecidableEqStdVer_decEq(x_8, x_7);
switch (x_4) {
case 0:
{
return x_5;
@ -7243,7 +7243,7 @@ return x_12;
block_23:
{
uint8_t x_20;
x_20 = l_Lake_StdVer_compare(x_14, x_18);
x_20 = l_Lake_StdVer_compare(x_17, x_18);
if (x_20 == 2)
{
uint8_t x_21;
@ -7274,7 +7274,7 @@ goto block_13;
block_32:
{
uint8_t x_29;
x_29 = l_Lake_StdVer_compare(x_24, x_27);
x_29 = l_Lake_StdVer_compare(x_26, x_27);
if (x_29 == 0)
{
uint8_t x_30;
@ -7303,7 +7303,7 @@ goto block_23;
block_40:
{
uint8_t x_37;
x_37 = l_Lake_StdVer_compare(x_35, x_33);
x_37 = l_Lake_StdVer_compare(x_35, x_34);
if (x_37 == 2)
{
uint8_t x_38;
@ -7335,8 +7335,8 @@ if (x_45 == 0)
{
uint8_t x_46;
x_46 = 1;
x_33 = x_41;
x_34 = x_42;
x_33 = x_42;
x_34 = x_41;
x_35 = x_44;
x_36 = x_46;
goto block_40;
@ -7345,8 +7345,8 @@ else
{
uint8_t x_47;
x_47 = 0;
x_33 = x_41;
x_34 = x_42;
x_33 = x_42;
x_34 = x_41;
x_35 = x_44;
x_36 = x_47;
goto block_40;
@ -11061,7 +11061,7 @@ return x_1;
LEAN_EXPORT lean_object* l___private_Lake_Util_Version_0__Lake_VerRange_parseM_parseWild(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; lean_object* x_8; lean_object* x_13; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_128; lean_object* x_129; lean_object* x_130; uint8_t x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_149; uint8_t x_150; lean_object* x_151; lean_object* x_152; uint8_t x_167; lean_object* x_178; lean_object* x_179; lean_object* x_180;
lean_object* x_4; lean_object* x_8; lean_object* x_13; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; lean_object* x_24; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; uint8_t x_133; lean_object* x_134; lean_object* x_149; lean_object* x_150; uint8_t x_151; lean_object* x_152; uint8_t x_167; lean_object* x_178; lean_object* x_179; lean_object* x_180;
x_17 = lean_unsigned_to_nat(0u);
x_115 = l___private_Lake_Util_Version_0__Lake_parseVerComponents___closed__0;
lean_inc(x_3);
@ -11152,15 +11152,15 @@ return x_15;
block_114:
{
lean_object* x_25;
x_25 = l___private_Lake_Util_Version_0__Lake_parseVerComponent___redArg(x_23, x_24, x_22);
x_25 = l___private_Lake_Util_Version_0__Lake_parseVerComponent___redArg(x_22, x_24, x_18);
lean_dec(x_24);
lean_dec_ref(x_23);
lean_dec_ref(x_22);
if (lean_obj_tag(x_25) == 0)
{
switch (lean_obj_tag(x_19)) {
switch (lean_obj_tag(x_21)) {
case 2:
{
switch (lean_obj_tag(x_18)) {
switch (lean_obj_tag(x_19)) {
case 2:
{
lean_object* x_26;
@ -11175,19 +11175,19 @@ 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; lean_object* x_36; uint8_t x_37; lean_object* x_38; lean_object* x_39; uint8_t x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43;
x_28 = lean_ctor_get(x_25, 0);
lean_dec(x_28);
x_29 = lean_ctor_get(x_19, 0);
x_29 = lean_ctor_get(x_21, 0);
lean_inc(x_29);
lean_dec_ref(x_19);
x_30 = lean_ctor_get(x_18, 0);
lean_dec_ref(x_21);
x_30 = lean_ctor_get(x_19, 0);
lean_inc(x_30);
lean_dec_ref(x_18);
lean_dec_ref(x_19);
lean_inc(x_30);
lean_inc(x_29);
x_31 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_31, 0, x_29);
lean_ctor_set(x_31, 1, x_30);
lean_ctor_set(x_31, 2, x_17);
x_32 = lean_nat_add(x_30, x_21);
x_32 = lean_nat_add(x_30, x_20);
lean_dec(x_30);
x_33 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_33, 0, x_29);
@ -11204,7 +11204,7 @@ x_37 = 3;
x_38 = lean_alloc_ctor(0, 1, 2);
lean_ctor_set(x_38, 0, x_35);
lean_ctor_set_uint8(x_38, sizeof(void*)*1, x_37);
lean_ctor_set_uint8(x_38, sizeof(void*)*1 + 1, x_20);
lean_ctor_set_uint8(x_38, sizeof(void*)*1 + 1, x_23);
x_39 = lean_array_push(x_2, x_38);
x_40 = 0;
x_41 = 1;
@ -11222,19 +11222,19 @@ lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean
x_44 = lean_ctor_get(x_25, 1);
lean_inc(x_44);
lean_dec(x_25);
x_45 = lean_ctor_get(x_19, 0);
x_45 = lean_ctor_get(x_21, 0);
lean_inc(x_45);
lean_dec_ref(x_19);
x_46 = lean_ctor_get(x_18, 0);
lean_dec_ref(x_21);
x_46 = lean_ctor_get(x_19, 0);
lean_inc(x_46);
lean_dec_ref(x_18);
lean_dec_ref(x_19);
lean_inc(x_46);
lean_inc(x_45);
x_47 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_47, 0, x_45);
lean_ctor_set(x_47, 1, x_46);
lean_ctor_set(x_47, 2, x_17);
x_48 = lean_nat_add(x_46, x_21);
x_48 = lean_nat_add(x_46, x_20);
lean_dec(x_46);
x_49 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_49, 0, x_45);
@ -11251,7 +11251,7 @@ x_53 = 3;
x_54 = lean_alloc_ctor(0, 1, 2);
lean_ctor_set(x_54, 0, x_51);
lean_ctor_set_uint8(x_54, sizeof(void*)*1, x_53);
lean_ctor_set_uint8(x_54, sizeof(void*)*1 + 1, x_20);
lean_ctor_set_uint8(x_54, sizeof(void*)*1 + 1, x_23);
x_55 = lean_array_push(x_2, x_54);
x_56 = 0;
x_57 = 1;
@ -11270,8 +11270,8 @@ else
{
lean_object* x_61;
lean_dec(x_26);
lean_dec_ref(x_21);
lean_dec_ref(x_19);
lean_dec_ref(x_18);
lean_dec_ref(x_2);
x_61 = lean_ctor_get(x_25, 1);
lean_inc(x_61);
@ -11289,7 +11289,7 @@ if (lean_obj_tag(x_62) == 2)
{
lean_object* x_63;
lean_dec_ref(x_62);
lean_dec_ref(x_19);
lean_dec_ref(x_21);
lean_dec_ref(x_2);
x_63 = lean_ctor_get(x_25, 1);
lean_inc(x_63);
@ -11307,15 +11307,15 @@ if (x_64 == 0)
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; lean_object* x_72; uint8_t x_73; lean_object* x_74; lean_object* x_75; uint8_t x_76; uint8_t x_77; lean_object* x_78; lean_object* x_79;
x_65 = lean_ctor_get(x_25, 0);
lean_dec(x_65);
x_66 = lean_ctor_get(x_19, 0);
x_66 = lean_ctor_get(x_21, 0);
lean_inc(x_66);
lean_dec_ref(x_19);
lean_dec_ref(x_21);
lean_inc(x_66);
x_67 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_67, 0, x_66);
lean_ctor_set(x_67, 1, x_17);
lean_ctor_set(x_67, 2, x_17);
x_68 = lean_nat_add(x_66, x_21);
x_68 = lean_nat_add(x_66, x_20);
lean_dec(x_66);
x_69 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_69, 0, x_68);
@ -11332,7 +11332,7 @@ x_73 = 3;
x_74 = lean_alloc_ctor(0, 1, 2);
lean_ctor_set(x_74, 0, x_71);
lean_ctor_set_uint8(x_74, sizeof(void*)*1, x_73);
lean_ctor_set_uint8(x_74, sizeof(void*)*1 + 1, x_20);
lean_ctor_set_uint8(x_74, sizeof(void*)*1 + 1, x_23);
x_75 = lean_array_push(x_2, x_74);
x_76 = 0;
x_77 = 1;
@ -11350,15 +11350,15 @@ lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean
x_80 = lean_ctor_get(x_25, 1);
lean_inc(x_80);
lean_dec(x_25);
x_81 = lean_ctor_get(x_19, 0);
x_81 = lean_ctor_get(x_21, 0);
lean_inc(x_81);
lean_dec_ref(x_19);
lean_dec_ref(x_21);
lean_inc(x_81);
x_82 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_82, 0, x_81);
lean_ctor_set(x_82, 1, x_17);
lean_ctor_set(x_82, 2, x_17);
x_83 = lean_nat_add(x_81, x_21);
x_83 = lean_nat_add(x_81, x_20);
lean_dec(x_81);
x_84 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_84, 0, x_83);
@ -11375,7 +11375,7 @@ x_88 = 3;
x_89 = lean_alloc_ctor(0, 1, 2);
lean_ctor_set(x_89, 0, x_86);
lean_ctor_set_uint8(x_89, sizeof(void*)*1, x_88);
lean_ctor_set_uint8(x_89, sizeof(void*)*1 + 1, x_20);
lean_ctor_set_uint8(x_89, sizeof(void*)*1 + 1, x_23);
x_90 = lean_array_push(x_2, x_89);
x_91 = 0;
x_92 = 1;
@ -11394,8 +11394,8 @@ return x_95;
default:
{
lean_object* x_96;
lean_dec_ref(x_19);
lean_dec(x_18);
lean_dec_ref(x_21);
lean_dec(x_19);
lean_dec_ref(x_2);
x_96 = lean_ctor_get(x_25, 1);
lean_inc(x_96);
@ -11414,7 +11414,7 @@ if (lean_obj_tag(x_97) == 2)
{
lean_object* x_98;
lean_dec_ref(x_97);
lean_dec(x_18);
lean_dec(x_19);
lean_dec_ref(x_2);
x_98 = lean_ctor_get(x_25, 1);
lean_inc(x_98);
@ -11425,10 +11425,10 @@ goto block_16;
else
{
lean_dec(x_97);
if (lean_obj_tag(x_18) == 2)
if (lean_obj_tag(x_19) == 2)
{
uint8_t x_99;
lean_dec_ref(x_18);
lean_dec_ref(x_19);
lean_dec_ref(x_2);
x_99 = !lean_is_exclusive(x_25);
if (x_99 == 0)
@ -11457,7 +11457,7 @@ return x_104;
else
{
lean_object* x_105;
lean_dec(x_18);
lean_dec(x_19);
x_105 = lean_ctor_get(x_25, 1);
lean_inc(x_105);
lean_dec_ref(x_25);
@ -11468,8 +11468,8 @@ goto block_12;
}
default:
{
lean_dec(x_19);
if (lean_obj_tag(x_18) == 1)
lean_dec(x_21);
if (lean_obj_tag(x_19) == 1)
{
lean_object* x_106;
x_106 = lean_ctor_get(x_25, 0);
@ -11499,7 +11499,7 @@ goto block_12;
else
{
lean_object* x_109;
lean_dec(x_18);
lean_dec(x_19);
x_109 = lean_ctor_get(x_25, 1);
lean_inc(x_109);
lean_dec_ref(x_25);
@ -11512,8 +11512,8 @@ goto block_12;
else
{
uint8_t x_110;
lean_dec(x_21);
lean_dec(x_19);
lean_dec(x_18);
lean_dec_ref(x_2);
x_110 = !lean_is_exclusive(x_25);
if (x_110 == 0)
@ -11557,9 +11557,9 @@ return x_126;
block_148:
{
lean_object* x_135;
x_135 = l___private_Lake_Util_Version_0__Lake_parseVerComponent___redArg(x_129, x_134, x_133);
x_135 = l___private_Lake_Util_Version_0__Lake_parseVerComponent___redArg(x_130, x_134, x_128);
lean_dec(x_134);
lean_dec_ref(x_129);
lean_dec_ref(x_130);
if (lean_obj_tag(x_135) == 0)
{
lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; uint8_t x_140;
@ -11570,19 +11570,19 @@ lean_inc(x_137);
lean_dec_ref(x_135);
x_138 = l_Lake_instReprSemVerCore_repr___redArg___closed__12;
x_139 = lean_unsigned_to_nat(2u);
x_140 = lean_nat_dec_lt(x_139, x_132);
lean_dec(x_132);
x_140 = lean_nat_dec_lt(x_139, x_129);
lean_dec(x_129);
if (x_140 == 0)
{
lean_object* x_141;
lean_dec(x_117);
x_141 = lean_box(0);
x_18 = x_136;
x_19 = x_128;
x_20 = x_131;
x_21 = x_130;
x_22 = x_137;
x_23 = x_138;
x_18 = x_137;
x_19 = x_136;
x_20 = x_132;
x_21 = x_131;
x_22 = x_138;
x_23 = x_133;
x_24 = x_141;
goto block_114;
}
@ -11593,12 +11593,12 @@ x_142 = lean_array_fget(x_117, x_139);
lean_dec(x_117);
x_143 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_143, 0, x_142);
x_18 = x_136;
x_19 = x_128;
x_20 = x_131;
x_21 = x_130;
x_22 = x_137;
x_23 = x_138;
x_18 = x_137;
x_19 = x_136;
x_20 = x_132;
x_21 = x_131;
x_22 = x_138;
x_23 = x_133;
x_24 = x_143;
goto block_114;
}
@ -11606,8 +11606,8 @@ goto block_114;
else
{
uint8_t x_144;
lean_dec(x_132);
lean_dec(x_128);
lean_dec(x_131);
lean_dec(x_129);
lean_dec(x_117);
lean_dec_ref(x_2);
x_144 = !lean_is_exclusive(x_135);
@ -11646,17 +11646,17 @@ lean_inc(x_155);
lean_dec_ref(x_153);
x_156 = l_Lake_instReprSemVerCore_repr___redArg___closed__10;
x_157 = lean_unsigned_to_nat(1u);
x_158 = lean_nat_dec_lt(x_157, x_151);
x_158 = lean_nat_dec_lt(x_157, x_150);
if (x_158 == 0)
{
lean_object* x_159;
x_159 = lean_box(0);
x_128 = x_154;
x_129 = x_156;
x_130 = x_157;
x_131 = x_150;
x_132 = x_151;
x_133 = x_155;
x_128 = x_155;
x_129 = x_150;
x_130 = x_156;
x_131 = x_154;
x_132 = x_157;
x_133 = x_151;
x_134 = x_159;
goto block_148;
}
@ -11667,12 +11667,12 @@ x_160 = lean_array_fget_borrowed(x_117, x_157);
lean_inc(x_160);
x_161 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_161, 0, x_160);
x_128 = x_154;
x_129 = x_156;
x_130 = x_157;
x_131 = x_150;
x_132 = x_151;
x_133 = x_155;
x_128 = x_155;
x_129 = x_150;
x_130 = x_156;
x_131 = x_154;
x_132 = x_157;
x_133 = x_151;
x_134 = x_161;
goto block_148;
}
@ -11680,7 +11680,7 @@ goto block_148;
else
{
uint8_t x_162;
lean_dec(x_151);
lean_dec(x_150);
lean_dec(x_117);
lean_dec_ref(x_2);
x_162 = !lean_is_exclusive(x_153);
@ -11724,8 +11724,8 @@ if (x_173 == 0)
lean_object* x_174;
x_174 = lean_box(0);
x_149 = x_172;
x_150 = x_167;
x_151 = x_168;
x_150 = x_168;
x_151 = x_167;
x_152 = x_174;
goto block_166;
}
@ -11737,8 +11737,8 @@ lean_inc(x_175);
x_176 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_176, 0, x_175);
x_149 = x_172;
x_150 = x_167;
x_151 = x_168;
x_150 = x_168;
x_151 = x_167;
x_152 = x_176;
goto block_166;
}

View file

@ -7999,8 +7999,8 @@ if (x_6 == 0)
lean_object* x_7;
lean_dec_ref(x_3);
x_7 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_7, 0, x_4);
lean_ctor_set(x_7, 1, x_5);
lean_ctor_set(x_7, 0, x_5);
lean_ctor_set(x_7, 1, x_4);
return x_7;
}
else
@ -8017,8 +8017,8 @@ if (x_11 == 0)
lean_object* x_12;
lean_dec_ref(x_3);
x_12 = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(x_12, 0, x_9);
lean_ctor_set(x_12, 1, x_10);
lean_ctor_set(x_12, 0, x_10);
lean_ctor_set(x_12, 1, x_9);
return x_12;
}
else
@ -8046,8 +8046,8 @@ x_21 = lean_ptr_addr(x_17);
x_22 = lean_usize_dec_eq(x_20, x_21);
if (x_22 == 0)
{
x_4 = x_16;
x_5 = x_17;
x_4 = x_17;
x_5 = x_16;
x_6 = x_22;
goto block_8;
}
@ -8057,8 +8057,8 @@ size_t x_23; size_t x_24; uint8_t x_25;
x_23 = lean_ptr_addr(x_18);
x_24 = lean_ptr_addr(x_16);
x_25 = lean_usize_dec_eq(x_23, x_24);
x_4 = x_16;
x_5 = x_17;
x_4 = x_17;
x_5 = x_16;
x_6 = x_25;
goto block_8;
}
@ -8073,8 +8073,8 @@ x_29 = lean_ptr_addr(x_17);
x_30 = lean_usize_dec_eq(x_28, x_29);
if (x_30 == 0)
{
x_9 = x_16;
x_10 = x_17;
x_9 = x_17;
x_10 = x_16;
x_11 = x_30;
goto block_13;
}
@ -8084,8 +8084,8 @@ size_t x_31; size_t x_32; uint8_t x_33;
x_31 = lean_ptr_addr(x_26);
x_32 = lean_ptr_addr(x_16);
x_33 = lean_usize_dec_eq(x_31, x_32);
x_9 = x_16;
x_10 = x_17;
x_9 = x_17;
x_10 = x_16;
x_11 = x_33;
goto block_13;
}

File diff suppressed because it is too large Load diff

View file

@ -3209,9 +3209,9 @@ goto block_52;
block_45:
{
lean_object* x_42; lean_object* x_43; lean_object* x_44;
x_42 = lean_nat_add(x_40, x_41);
x_42 = lean_nat_add(x_39, x_41);
lean_dec(x_41);
lean_dec(x_40);
lean_dec(x_39);
if (lean_is_scalar(x_36)) {
x_43 = lean_alloc_ctor(0, 5, 0);
} else {
@ -3230,7 +3230,7 @@ if (lean_is_scalar(x_26)) {
lean_ctor_set(x_44, 0, x_38);
lean_ctor_set(x_44, 1, x_28);
lean_ctor_set(x_44, 2, x_29);
lean_ctor_set(x_44, 3, x_39);
lean_ctor_set(x_44, 3, x_40);
lean_ctor_set(x_44, 4, x_43);
return x_44;
}
@ -3256,8 +3256,8 @@ if (lean_obj_tag(x_31) == 0)
lean_object* x_50;
x_50 = lean_ctor_get(x_31, 0);
lean_inc(x_50);
x_39 = x_48;
x_40 = x_49;
x_39 = x_49;
x_40 = x_48;
x_41 = x_50;
goto block_45;
}
@ -3265,8 +3265,8 @@ else
{
lean_object* x_51;
x_51 = lean_unsigned_to_nat(0u);
x_39 = x_48;
x_40 = x_49;
x_39 = x_49;
x_40 = x_48;
x_41 = x_51;
goto block_45;
}
@ -3682,9 +3682,9 @@ goto block_152;
block_144:
{
lean_object* x_141; lean_object* x_142; lean_object* x_143;
x_141 = lean_nat_add(x_139, x_140);
x_141 = lean_nat_add(x_138, x_140);
lean_dec(x_140);
lean_dec(x_139);
lean_dec(x_138);
if (lean_is_scalar(x_135)) {
x_142 = lean_alloc_ctor(0, 5, 0);
} else {
@ -3703,7 +3703,7 @@ if (lean_is_scalar(x_125)) {
lean_ctor_set(x_143, 0, x_137);
lean_ctor_set(x_143, 1, x_128);
lean_ctor_set(x_143, 2, x_129);
lean_ctor_set(x_143, 3, x_138);
lean_ctor_set(x_143, 3, x_139);
lean_ctor_set(x_143, 4, x_142);
return x_143;
}
@ -3729,8 +3729,8 @@ if (lean_obj_tag(x_131) == 0)
lean_object* x_150;
x_150 = lean_ctor_get(x_131, 0);
lean_inc(x_150);
x_138 = x_148;
x_139 = x_149;
x_138 = x_149;
x_139 = x_148;
x_140 = x_150;
goto block_144;
}
@ -3738,8 +3738,8 @@ else
{
lean_object* x_151;
x_151 = lean_unsigned_to_nat(0u);
x_138 = x_148;
x_139 = x_149;
x_138 = x_149;
x_139 = x_148;
x_140 = x_151;
goto block_144;
}
@ -5178,9 +5178,9 @@ goto block_53;
block_46:
{
lean_object* x_43; lean_object* x_44; lean_object* x_45;
x_43 = lean_nat_add(x_41, x_42);
x_43 = lean_nat_add(x_40, x_42);
lean_dec(x_42);
lean_dec(x_41);
lean_dec(x_40);
if (lean_is_scalar(x_36)) {
x_44 = lean_alloc_ctor(0, 5, 0);
} else {
@ -5199,7 +5199,7 @@ if (lean_is_scalar(x_26)) {
lean_ctor_set(x_45, 0, x_39);
lean_ctor_set(x_45, 1, x_28);
lean_ctor_set(x_45, 2, x_29);
lean_ctor_set(x_45, 3, x_40);
lean_ctor_set(x_45, 3, x_41);
lean_ctor_set(x_45, 4, x_44);
return x_45;
}
@ -5225,8 +5225,8 @@ if (lean_obj_tag(x_31) == 0)
lean_object* x_51;
x_51 = lean_ctor_get(x_31, 0);
lean_inc(x_51);
x_40 = x_49;
x_41 = x_50;
x_40 = x_50;
x_41 = x_49;
x_42 = x_51;
goto block_46;
}
@ -5234,8 +5234,8 @@ else
{
lean_object* x_52;
x_52 = lean_unsigned_to_nat(0u);
x_40 = x_49;
x_41 = x_50;
x_40 = x_50;
x_41 = x_49;
x_42 = x_52;
goto block_46;
}
@ -5806,9 +5806,9 @@ goto block_190;
block_182:
{
lean_object* x_179; lean_object* x_180; lean_object* x_181;
x_179 = lean_nat_add(x_176, x_178);
x_179 = lean_nat_add(x_177, x_178);
lean_dec(x_178);
lean_dec(x_176);
lean_dec(x_177);
if (lean_is_scalar(x_172)) {
x_180 = lean_alloc_ctor(0, 5, 0);
} else {
@ -5827,7 +5827,7 @@ if (lean_is_scalar(x_162)) {
lean_ctor_set(x_181, 0, x_175);
lean_ctor_set(x_181, 1, x_165);
lean_ctor_set(x_181, 2, x_166);
lean_ctor_set(x_181, 3, x_177);
lean_ctor_set(x_181, 3, x_176);
lean_ctor_set(x_181, 4, x_180);
return x_181;
}
@ -5853,8 +5853,8 @@ if (lean_obj_tag(x_168) == 0)
lean_object* x_188;
x_188 = lean_ctor_get(x_168, 0);
lean_inc(x_188);
x_176 = x_187;
x_177 = x_186;
x_176 = x_186;
x_177 = x_187;
x_178 = x_188;
goto block_182;
}
@ -5862,8 +5862,8 @@ else
{
lean_object* x_189;
x_189 = lean_unsigned_to_nat(0u);
x_176 = x_187;
x_177 = x_186;
x_176 = x_186;
x_177 = x_187;
x_178 = x_189;
goto block_182;
}

View file

@ -2869,26 +2869,26 @@ goto block_79;
block_50:
{
lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35;
lean_dec_ref(x_13);
x_24 = lean_st_ref_get(x_17);
lean_dec_ref(x_22);
x_24 = lean_st_ref_get(x_21);
x_25 = lean_ctor_get(x_24, 0);
lean_inc_ref(x_25);
lean_dec(x_24);
lean_inc_ref(x_19);
lean_inc_ref(x_14);
lean_inc_ref(x_11);
x_26 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_26, 0, x_11);
lean_ctor_set(x_26, 1, x_10);
lean_ctor_set(x_26, 2, x_14);
lean_ctor_set(x_26, 0, x_14);
lean_ctor_set(x_26, 1, x_18);
lean_ctor_set(x_26, 2, x_19);
lean_ctor_set(x_26, 3, x_23);
lean_inc_ref(x_25);
x_27 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_27, 0, x_25);
lean_ctor_set(x_27, 1, x_22);
lean_ctor_set(x_27, 2, x_19);
lean_ctor_set(x_27, 3, x_12);
x_28 = l_Lean_Parser_mkParserState(x_11);
lean_dec_ref(x_11);
lean_ctor_set(x_27, 1, x_9);
lean_ctor_set(x_27, 2, x_11);
lean_ctor_set(x_27, 3, x_10);
x_28 = l_Lean_Parser_mkParserState(x_14);
lean_dec_ref(x_14);
x_29 = l_Lean_Parser_ParserState_setPos(x_28, x_15);
x_30 = lean_box(0);
x_31 = l_Lean_parseVersoDocString___redArg___lam__4___closed__1;
@ -2904,8 +2904,8 @@ lean_dec_ref(x_33);
x_36 = lean_box(0);
x_37 = lean_array_size(x_34);
x_38 = 0;
x_39 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_parseVersoDocString___at___00Lean_versoDocString_spec__0_spec__0___redArg(x_14, x_36, x_35, x_34, x_37, x_38, x_36, x_18, x_17);
lean_dec_ref(x_18);
x_39 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_parseVersoDocString___at___00Lean_versoDocString_spec__0_spec__0___redArg(x_19, x_36, x_35, x_34, x_37, x_38, x_36, x_16, x_21);
lean_dec_ref(x_16);
lean_dec_ref(x_34);
if (lean_obj_tag(x_39) == 0)
{
@ -2952,8 +2952,8 @@ else
{
lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49;
lean_dec_ref(x_34);
lean_dec_ref(x_18);
lean_dec_ref(x_14);
lean_dec_ref(x_19);
lean_dec_ref(x_16);
x_46 = lean_ctor_get(x_33, 0);
lean_inc_ref(x_46);
lean_dec_ref(x_33);
@ -3009,39 +3009,39 @@ x_74 = lean_nat_dec_le(x_72, x_73);
if (x_74 == 0)
{
lean_dec(x_72);
x_9 = lean_box(0);
x_10 = x_58;
x_11 = x_70;
x_12 = x_62;
x_13 = x_51;
x_14 = x_59;
x_9 = x_60;
x_10 = x_62;
x_11 = x_61;
x_12 = x_52;
x_13 = x_53;
x_14 = x_70;
x_15 = x_67;
x_16 = x_53;
x_17 = x_56;
x_18 = x_55;
x_19 = x_61;
x_20 = x_52;
x_21 = x_54;
x_22 = x_60;
x_16 = x_55;
x_17 = lean_box(0);
x_18 = x_58;
x_19 = x_59;
x_20 = x_54;
x_21 = x_56;
x_22 = x_51;
x_23 = x_73;
goto block_50;
}
else
{
x_9 = lean_box(0);
x_10 = x_58;
x_11 = x_70;
x_12 = x_62;
x_13 = x_51;
x_14 = x_59;
x_9 = x_60;
x_10 = x_62;
x_11 = x_61;
x_12 = x_52;
x_13 = x_53;
x_14 = x_70;
x_15 = x_67;
x_16 = x_53;
x_17 = x_56;
x_18 = x_55;
x_19 = x_61;
x_20 = x_52;
x_21 = x_54;
x_22 = x_60;
x_16 = x_55;
x_17 = lean_box(0);
x_18 = x_58;
x_19 = x_59;
x_20 = x_54;
x_21 = x_56;
x_22 = x_51;
x_23 = x_72;
goto block_50;
}
@ -3862,7 +3862,7 @@ return x_1;
LEAN_EXPORT lean_object* l_Lean_logAt___at___00Lean_versoDocStringFromString_spec__3___redArg(lean_object* x_1, lean_object* x_2, uint8_t x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
_start:
{
lean_object* x_10; uint8_t x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_50; uint8_t x_51; uint8_t x_52; lean_object* x_53; uint8_t x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_77; lean_object* x_78; uint8_t x_79; uint8_t x_80; uint8_t x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_88; uint8_t x_89; lean_object* x_90; uint8_t x_91; lean_object* x_92; lean_object* x_93; uint8_t x_94; uint8_t x_100; lean_object* x_101; uint8_t x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106; uint8_t x_107; uint8_t x_109; uint8_t x_125;
lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_50; uint8_t x_51; lean_object* x_52; uint8_t x_53; uint8_t x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_77; lean_object* x_78; uint8_t x_79; uint8_t x_80; uint8_t x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_88; uint8_t x_89; lean_object* x_90; uint8_t x_91; lean_object* x_92; lean_object* x_93; uint8_t x_94; uint8_t x_100; lean_object* x_101; uint8_t x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106; uint8_t x_107; uint8_t x_109; uint8_t x_125;
x_100 = 2;
x_125 = l_Lean_instBEqMessageSeverity_beq(x_3, x_100);
if (x_125 == 0)
@ -3899,13 +3899,13 @@ x_26 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_26, 0, x_25);
lean_ctor_set(x_26, 1, x_10);
x_27 = lean_alloc_ctor(0, 5, 3);
lean_ctor_set(x_27, 0, x_14);
lean_ctor_set(x_27, 1, x_15);
lean_ctor_set(x_27, 2, x_12);
lean_ctor_set(x_27, 3, x_16);
lean_ctor_set(x_27, 0, x_15);
lean_ctor_set(x_27, 1, x_12);
lean_ctor_set(x_27, 2, x_16);
lean_ctor_set(x_27, 3, x_13);
lean_ctor_set(x_27, 4, x_26);
lean_ctor_set_uint8(x_27, sizeof(void*)*5, x_13);
lean_ctor_set_uint8(x_27, sizeof(void*)*5 + 1, x_11);
lean_ctor_set_uint8(x_27, sizeof(void*)*5, x_11);
lean_ctor_set_uint8(x_27, sizeof(void*)*5 + 1, x_14);
lean_ctor_set_uint8(x_27, sizeof(void*)*5 + 2, x_4);
x_28 = l_Lean_MessageLog_add(x_27, x_24);
lean_ctor_set(x_20, 6, x_28);
@ -3944,13 +3944,13 @@ x_42 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_42, 0, x_41);
lean_ctor_set(x_42, 1, x_10);
x_43 = lean_alloc_ctor(0, 5, 3);
lean_ctor_set(x_43, 0, x_14);
lean_ctor_set(x_43, 1, x_15);
lean_ctor_set(x_43, 2, x_12);
lean_ctor_set(x_43, 3, x_16);
lean_ctor_set(x_43, 0, x_15);
lean_ctor_set(x_43, 1, x_12);
lean_ctor_set(x_43, 2, x_16);
lean_ctor_set(x_43, 3, x_13);
lean_ctor_set(x_43, 4, x_42);
lean_ctor_set_uint8(x_43, sizeof(void*)*5, x_13);
lean_ctor_set_uint8(x_43, sizeof(void*)*5 + 1, x_11);
lean_ctor_set_uint8(x_43, sizeof(void*)*5, x_11);
lean_ctor_set_uint8(x_43, sizeof(void*)*5 + 1, x_14);
lean_ctor_set_uint8(x_43, sizeof(void*)*5 + 2, x_4);
x_44 = l_Lean_MessageLog_add(x_43, x_38);
x_45 = lean_alloc_ctor(0, 9, 0);
@ -3980,25 +3980,25 @@ if (x_60 == 0)
{
lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65;
x_61 = lean_ctor_get(x_59, 0);
lean_inc_ref(x_56);
x_62 = l_Lean_FileMap_toPosition(x_56, x_55);
lean_dec(x_55);
x_63 = l_Lean_FileMap_toPosition(x_56, x_57);
lean_inc_ref(x_52);
x_62 = l_Lean_FileMap_toPosition(x_52, x_56);
lean_dec(x_56);
x_63 = l_Lean_FileMap_toPosition(x_52, x_57);
lean_dec(x_57);
x_64 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_64, 0, x_63);
x_65 = l_Lean_parseVersoDocString___redArg___lam__2___closed__0;
if (x_52 == 0)
if (x_53 == 0)
{
lean_free_object(x_59);
lean_dec_ref(x_50);
x_10 = x_61;
x_11 = x_51;
x_12 = x_64;
x_13 = x_54;
x_14 = x_53;
x_15 = x_62;
x_16 = x_65;
x_12 = x_62;
x_13 = x_65;
x_14 = x_54;
x_15 = x_55;
x_16 = x_64;
x_17 = x_7;
x_18 = x_8;
x_19 = lean_box(0);
@ -4015,7 +4015,7 @@ lean_object* x_67;
lean_dec_ref(x_64);
lean_dec_ref(x_62);
lean_dec(x_61);
lean_dec_ref(x_53);
lean_dec_ref(x_55);
lean_dec_ref(x_7);
x_67 = lean_box(0);
lean_ctor_set(x_59, 0, x_67);
@ -4026,11 +4026,11 @@ else
lean_free_object(x_59);
x_10 = x_61;
x_11 = x_51;
x_12 = x_64;
x_13 = x_54;
x_14 = x_53;
x_15 = x_62;
x_16 = x_65;
x_12 = x_62;
x_13 = x_65;
x_14 = x_54;
x_15 = x_55;
x_16 = x_64;
x_17 = x_7;
x_18 = x_8;
x_19 = lean_box(0);
@ -4044,24 +4044,24 @@ lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean
x_68 = lean_ctor_get(x_59, 0);
lean_inc(x_68);
lean_dec(x_59);
lean_inc_ref(x_56);
x_69 = l_Lean_FileMap_toPosition(x_56, x_55);
lean_dec(x_55);
x_70 = l_Lean_FileMap_toPosition(x_56, x_57);
lean_inc_ref(x_52);
x_69 = l_Lean_FileMap_toPosition(x_52, x_56);
lean_dec(x_56);
x_70 = l_Lean_FileMap_toPosition(x_52, x_57);
lean_dec(x_57);
x_71 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_71, 0, x_70);
x_72 = l_Lean_parseVersoDocString___redArg___lam__2___closed__0;
if (x_52 == 0)
if (x_53 == 0)
{
lean_dec_ref(x_50);
x_10 = x_68;
x_11 = x_51;
x_12 = x_71;
x_13 = x_54;
x_14 = x_53;
x_15 = x_69;
x_16 = x_72;
x_12 = x_69;
x_13 = x_72;
x_14 = x_54;
x_15 = x_55;
x_16 = x_71;
x_17 = x_7;
x_18 = x_8;
x_19 = lean_box(0);
@ -4078,7 +4078,7 @@ lean_object* x_74; lean_object* x_75;
lean_dec_ref(x_71);
lean_dec_ref(x_69);
lean_dec(x_68);
lean_dec_ref(x_53);
lean_dec_ref(x_55);
lean_dec_ref(x_7);
x_74 = lean_box(0);
x_75 = lean_alloc_ctor(0, 1, 0);
@ -4089,11 +4089,11 @@ else
{
x_10 = x_68;
x_11 = x_51;
x_12 = x_71;
x_13 = x_54;
x_14 = x_53;
x_15 = x_69;
x_16 = x_72;
x_12 = x_69;
x_13 = x_72;
x_14 = x_54;
x_15 = x_55;
x_16 = x_71;
x_17 = x_7;
x_18 = x_8;
x_19 = lean_box(0);
@ -4105,18 +4105,18 @@ goto block_49;
block_87:
{
lean_object* x_85;
x_85 = l_Lean_Syntax_getTailPos_x3f(x_78, x_81);
lean_dec(x_78);
x_85 = l_Lean_Syntax_getTailPos_x3f(x_83, x_79);
lean_dec(x_83);
if (lean_obj_tag(x_85) == 0)
{
lean_inc(x_84);
x_50 = x_77;
x_51 = x_79;
x_52 = x_80;
x_53 = x_82;
x_52 = x_78;
x_53 = x_80;
x_54 = x_81;
x_55 = x_84;
x_56 = x_83;
x_55 = x_82;
x_56 = x_84;
x_57 = x_84;
goto block_76;
}
@ -4128,11 +4128,11 @@ lean_inc(x_86);
lean_dec_ref(x_85);
x_50 = x_77;
x_51 = x_79;
x_52 = x_80;
x_53 = x_82;
x_52 = x_78;
x_53 = x_80;
x_54 = x_81;
x_55 = x_84;
x_56 = x_83;
x_55 = x_82;
x_56 = x_84;
x_57 = x_86;
goto block_76;
}
@ -4142,18 +4142,18 @@ block_99:
lean_object* x_95; lean_object* x_96;
x_95 = l_Lean_replaceRef(x_1, x_92);
lean_dec(x_92);
x_96 = l_Lean_Syntax_getPos_x3f(x_95, x_91);
x_96 = l_Lean_Syntax_getPos_x3f(x_95, x_89);
if (lean_obj_tag(x_96) == 0)
{
lean_object* x_97;
x_97 = lean_unsigned_to_nat(0u);
x_77 = x_88;
x_78 = x_95;
x_79 = x_94;
x_80 = x_89;
x_81 = x_91;
x_82 = x_90;
x_83 = x_93;
x_78 = x_90;
x_79 = x_89;
x_80 = x_91;
x_81 = x_94;
x_82 = x_93;
x_83 = x_95;
x_84 = x_97;
goto block_87;
}
@ -4164,12 +4164,12 @@ x_98 = lean_ctor_get(x_96, 0);
lean_inc(x_98);
lean_dec_ref(x_96);
x_77 = x_88;
x_78 = x_95;
x_79 = x_94;
x_80 = x_89;
x_81 = x_91;
x_82 = x_90;
x_83 = x_93;
x_78 = x_90;
x_79 = x_89;
x_80 = x_91;
x_81 = x_94;
x_82 = x_93;
x_83 = x_95;
x_84 = x_98;
goto block_87;
}
@ -4178,23 +4178,23 @@ block_108:
{
if (x_107 == 0)
{
x_88 = x_101;
x_89 = x_102;
x_90 = x_104;
x_91 = x_106;
x_88 = x_105;
x_89 = x_106;
x_90 = x_101;
x_91 = x_102;
x_92 = x_103;
x_93 = x_105;
x_93 = x_104;
x_94 = x_3;
goto block_99;
}
else
{
x_88 = x_101;
x_89 = x_102;
x_90 = x_104;
x_91 = x_106;
x_88 = x_105;
x_89 = x_106;
x_90 = x_101;
x_91 = x_102;
x_92 = x_103;
x_93 = x_105;
x_93 = x_104;
x_94 = x_100;
goto block_99;
}
@ -4218,14 +4218,14 @@ x_118 = 1;
x_119 = l_Lean_instBEqMessageSeverity_beq(x_3, x_118);
if (x_119 == 0)
{
lean_inc_ref(x_111);
lean_inc_ref(x_110);
lean_inc(x_113);
x_101 = x_117;
lean_inc_ref(x_111);
x_101 = x_111;
x_102 = x_114;
x_103 = x_113;
x_104 = x_110;
x_105 = x_111;
x_105 = x_117;
x_106 = x_109;
x_107 = x_119;
goto block_108;
@ -4235,14 +4235,14 @@ else
lean_object* x_120; uint8_t x_121;
x_120 = l_Lean_logAt___at___00Lean_versoDocStringFromString_spec__3___redArg___closed__0;
x_121 = l_Lean_Option_get___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_parseVersoDocString___at___00Lean_versoDocString_spec__0_spec__1_spec__2_spec__5_spec__6(x_112, x_120);
lean_inc_ref(x_111);
lean_inc_ref(x_110);
lean_inc(x_113);
x_101 = x_117;
lean_inc_ref(x_111);
x_101 = x_111;
x_102 = x_114;
x_103 = x_113;
x_104 = x_110;
x_105 = x_111;
x_105 = x_117;
x_106 = x_109;
x_107 = x_121;
goto block_108;

View file

@ -6693,17 +6693,17 @@ if (lean_is_scalar(x_54)) {
x_59 = x_54;
lean_ctor_set_tag(x_59, 5);
}
lean_ctor_set(x_59, 0, x_56);
lean_ctor_set(x_59, 0, x_57);
lean_ctor_set(x_59, 1, x_58);
x_60 = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(x_60, 0, x_59);
lean_ctor_set(x_60, 1, x_55);
lean_ctor_set(x_60, 1, x_56);
x_61 = l_Array_Array_repr___redArg(x_7, x_53);
x_62 = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(x_62, 0, x_60);
lean_ctor_set(x_62, 1, x_61);
x_63 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_63, 0, x_57);
lean_ctor_set(x_63, 0, x_55);
lean_ctor_set(x_63, 1, x_62);
x_64 = 0;
x_65 = lean_alloc_ctor(6, 1, 1);
@ -6726,9 +6726,9 @@ x_73 = l_Int_repr(x_52);
lean_dec(x_52);
x_74 = lean_alloc_ctor(3, 1, 0);
lean_ctor_set(x_74, 0, x_73);
x_55 = x_69;
x_56 = x_70;
x_57 = x_68;
x_55 = x_68;
x_56 = x_69;
x_57 = x_70;
x_58 = x_74;
goto block_67;
}
@ -6741,9 +6741,9 @@ lean_dec(x_52);
x_77 = lean_alloc_ctor(3, 1, 0);
lean_ctor_set(x_77, 0, x_76);
x_78 = l_Repr_addAppParen(x_77, x_75);
x_55 = x_69;
x_56 = x_70;
x_57 = x_68;
x_55 = x_68;
x_56 = x_69;
x_57 = x_70;
x_58 = x_78;
goto block_67;
}

View file

@ -8233,9 +8233,9 @@ goto block_115;
block_108:
{
lean_object* x_105; lean_object* x_106; lean_object* x_107;
x_105 = lean_nat_add(x_103, x_104);
x_105 = lean_nat_add(x_102, x_104);
lean_dec(x_104);
lean_dec(x_103);
lean_dec(x_102);
x_106 = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(x_106, 0, x_105);
lean_ctor_set(x_106, 1, x_81);
@ -8246,7 +8246,7 @@ x_107 = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(x_107, 0, x_101);
lean_ctor_set(x_107, 1, x_92);
lean_ctor_set(x_107, 2, x_93);
lean_ctor_set(x_107, 3, x_102);
lean_ctor_set(x_107, 3, x_103);
lean_ctor_set(x_107, 4, x_106);
return x_107;
}
@ -8268,8 +8268,8 @@ if (lean_obj_tag(x_95) == 0)
lean_object* x_113;
x_113 = lean_ctor_get(x_95, 0);
lean_inc(x_113);
x_102 = x_111;
x_103 = x_112;
x_102 = x_112;
x_103 = x_111;
x_104 = x_113;
goto block_108;
}
@ -8277,8 +8277,8 @@ else
{
lean_object* x_114;
x_114 = lean_unsigned_to_nat(0u);
x_102 = x_111;
x_103 = x_112;
x_102 = x_112;
x_103 = x_111;
x_104 = x_114;
goto block_108;
}
@ -9225,9 +9225,9 @@ goto block_204;
block_196:
{
lean_object* x_193; lean_object* x_194; lean_object* x_195;
x_193 = lean_nat_add(x_190, x_192);
x_193 = lean_nat_add(x_191, x_192);
lean_dec(x_192);
lean_dec(x_190);
lean_dec(x_191);
x_194 = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(x_194, 0, x_193);
lean_ctor_set(x_194, 1, x_170);
@ -9238,7 +9238,7 @@ x_195 = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(x_195, 0, x_189);
lean_ctor_set(x_195, 1, x_181);
lean_ctor_set(x_195, 2, x_182);
lean_ctor_set(x_195, 3, x_191);
lean_ctor_set(x_195, 3, x_190);
lean_ctor_set(x_195, 4, x_194);
return x_195;
}
@ -9260,8 +9260,8 @@ if (lean_obj_tag(x_184) == 0)
lean_object* x_202;
x_202 = lean_ctor_get(x_184, 0);
lean_inc(x_202);
x_190 = x_201;
x_191 = x_200;
x_190 = x_200;
x_191 = x_201;
x_192 = x_202;
goto block_196;
}
@ -9269,8 +9269,8 @@ else
{
lean_object* x_203;
x_203 = lean_unsigned_to_nat(0u);
x_190 = x_201;
x_191 = x_200;
x_190 = x_200;
x_191 = x_201;
x_192 = x_203;
goto block_196;
}
@ -9520,9 +9520,9 @@ goto block_276;
block_268:
{
lean_object* x_265; lean_object* x_266; lean_object* x_267;
x_265 = lean_nat_add(x_262, x_264);
x_265 = lean_nat_add(x_263, x_264);
lean_dec(x_264);
lean_dec(x_262);
lean_dec(x_263);
x_266 = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(x_266, 0, x_265);
lean_ctor_set(x_266, 1, x_3);
@ -9533,7 +9533,7 @@ x_267 = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(x_267, 0, x_261);
lean_ctor_set(x_267, 1, x_253);
lean_ctor_set(x_267, 2, x_254);
lean_ctor_set(x_267, 3, x_263);
lean_ctor_set(x_267, 3, x_262);
lean_ctor_set(x_267, 4, x_266);
return x_267;
}
@ -9556,8 +9556,8 @@ if (lean_obj_tag(x_256) == 0)
lean_object* x_274;
x_274 = lean_ctor_get(x_256, 0);
lean_inc(x_274);
x_262 = x_273;
x_263 = x_272;
x_262 = x_272;
x_263 = x_273;
x_264 = x_274;
goto block_268;
}
@ -9565,8 +9565,8 @@ else
{
lean_object* x_275;
x_275 = lean_unsigned_to_nat(0u);
x_262 = x_273;
x_263 = x_272;
x_262 = x_272;
x_263 = x_273;
x_264 = x_275;
goto block_268;
}
@ -20887,8 +20887,8 @@ goto block_96;
block_57:
{
lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; size_t x_47; lean_object* x_48;
lean_dec(x_37);
lean_dec(x_36);
lean_dec(x_35);
x_40 = l_Array_reverse___redArg(x_34);
x_41 = lean_array_push(x_40, x_17);
x_42 = l_Array_reverse___redArg(x_33);
@ -20901,8 +20901,8 @@ x_46 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_46, 0, x_39);
lean_ctor_set(x_46, 1, x_45);
x_47 = lean_array_size(x_44);
x_48 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Do_Legacy_0__Lean_Elab_Term_Do_expandDoIf_x3f_spec__3___redArg(x_19, x_8, x_9, x_10, x_11, x_16, x_30, x_44, x_47, x_25, x_46, x_35, x_38);
lean_dec_ref(x_35);
x_48 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Do_Legacy_0__Lean_Elab_Term_Do_expandDoIf_x3f_spec__3___redArg(x_19, x_8, x_9, x_10, x_11, x_16, x_30, x_44, x_47, x_25, x_46, x_38, x_37);
lean_dec_ref(x_38);
lean_dec_ref(x_44);
if (lean_obj_tag(x_48) == 0)
{
@ -21016,10 +21016,10 @@ x_92 = l_Lean_Syntax_node2(x_71, x_74, x_89, x_91);
lean_inc(x_71);
x_93 = l_Lean_Syntax_node1(x_71, x_73, x_92);
x_94 = l_Lean_Syntax_node1(x_71, x_72, x_93);
x_35 = x_68;
x_36 = x_69;
x_37 = x_70;
x_38 = x_60;
x_35 = x_69;
x_36 = x_70;
x_37 = x_60;
x_38 = x_68;
x_39 = x_94;
goto block_57;
}
@ -21032,10 +21032,10 @@ lean_dec(x_62);
x_95 = lean_ctor_get(x_58, 0);
lean_inc(x_95);
lean_dec_ref(x_58);
x_35 = x_68;
x_36 = x_69;
x_37 = x_70;
x_38 = x_60;
x_35 = x_69;
x_36 = x_70;
x_37 = x_60;
x_38 = x_68;
x_39 = x_95;
goto block_57;
}
@ -21226,11 +21226,11 @@ return x_211;
block_134:
{
lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; size_t x_123; size_t x_124; lean_object* x_125;
lean_dec(x_113);
lean_dec(x_109);
x_116 = l_Array_reverse___redArg(x_114);
lean_dec(x_114);
lean_dec(x_110);
x_116 = l_Array_reverse___redArg(x_109);
x_117 = lean_array_push(x_116, x_17);
x_118 = l_Array_reverse___redArg(x_112);
x_118 = l_Array_reverse___redArg(x_111);
x_119 = lean_array_push(x_118, x_108);
x_120 = l_Array_zip___redArg(x_117, x_119);
lean_dec_ref(x_119);
@ -21241,8 +21241,8 @@ lean_ctor_set(x_122, 0, x_115);
lean_ctor_set(x_122, 1, x_121);
x_123 = lean_array_size(x_120);
x_124 = 0;
x_125 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Do_Legacy_0__Lean_Elab_Term_Do_expandDoIf_x3f_spec__4___redArg(x_8, x_9, x_10, x_11, x_16, x_106, x_120, x_123, x_124, x_122, x_110, x_111);
lean_dec_ref(x_110);
x_125 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Do_Legacy_0__Lean_Elab_Term_Do_expandDoIf_x3f_spec__4___redArg(x_8, x_9, x_10, x_11, x_16, x_106, x_120, x_123, x_124, x_122, x_112, x_113);
lean_dec_ref(x_112);
lean_dec_ref(x_120);
if (lean_obj_tag(x_125) == 0)
{
@ -21357,12 +21357,12 @@ x_172 = l_Lean_Syntax_node2(x_151, x_154, x_169, x_171);
lean_inc(x_151);
x_173 = l_Lean_Syntax_node1(x_151, x_153, x_172);
x_174 = l_Lean_Syntax_node1(x_151, x_152, x_173);
x_109 = x_149;
x_110 = x_147;
x_111 = x_139;
x_112 = x_136;
x_113 = x_148;
x_114 = x_135;
x_109 = x_135;
x_110 = x_149;
x_111 = x_136;
x_112 = x_147;
x_113 = x_139;
x_114 = x_148;
x_115 = x_174;
goto block_134;
}
@ -21375,12 +21375,12 @@ lean_dec(x_141);
x_175 = lean_ctor_get(x_137, 0);
lean_inc(x_175);
lean_dec_ref(x_137);
x_109 = x_149;
x_110 = x_147;
x_111 = x_139;
x_112 = x_136;
x_113 = x_148;
x_114 = x_135;
x_109 = x_135;
x_110 = x_149;
x_111 = x_136;
x_112 = x_147;
x_113 = x_139;
x_114 = x_148;
x_115 = x_175;
goto block_134;
}
@ -39515,7 +39515,7 @@ return x_2;
LEAN_EXPORT lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
_start:
{
uint8_t x_11; uint8_t x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_35; uint8_t x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
uint8_t x_11; lean_object* x_12; uint8_t x_13; uint8_t x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_35; uint8_t x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
x_51 = lean_unsigned_to_nat(1u);
x_52 = l_Lean_Syntax_getArg(x_1, x_51);
x_53 = l___private_Lean_Elab_Do_Legacy_0__Lean_Elab_Term_getDoSeqElems(x_52);
@ -39549,7 +39549,7 @@ lean_inc_ref(x_3);
x_61 = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Elab_Term_Do_ToCodeBlock_doTryToCode_spec__2(x_51, x_59, x_60, x_58, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_61) == 0)
{
lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; uint8_t x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; uint8_t x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; uint8_t x_76; lean_object* x_77; uint8_t x_78; lean_object* x_106; lean_object* x_107; lean_object* x_108; uint8_t x_109; lean_object* x_110; lean_object* x_111; uint8_t x_112; lean_object* x_113; uint8_t x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; uint8_t x_178; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; uint8_t x_195;
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_71; lean_object* x_72; lean_object* x_73; uint8_t x_74; lean_object* x_75; uint8_t x_76; lean_object* x_77; uint8_t x_78; lean_object* x_106; lean_object* x_107; lean_object* x_108; uint8_t x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; uint8_t x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; uint8_t x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; uint8_t x_178; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; uint8_t x_195;
x_62 = lean_ctor_get(x_61, 0);
lean_inc(x_62);
lean_dec_ref(x_61);
@ -39626,22 +39626,22 @@ goto block_194;
block_105:
{
lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; uint8_t x_91; lean_object* x_92; uint8_t x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96;
x_79 = lean_ctor_get(x_74, 0);
x_80 = lean_ctor_get(x_74, 1);
x_81 = lean_ctor_get(x_74, 2);
x_82 = lean_ctor_get(x_74, 3);
x_83 = lean_ctor_get(x_74, 4);
x_84 = lean_ctor_get(x_74, 5);
x_85 = lean_ctor_get(x_74, 6);
x_86 = lean_ctor_get(x_74, 7);
x_87 = lean_ctor_get(x_74, 8);
x_88 = lean_ctor_get(x_74, 9);
x_89 = lean_ctor_get(x_74, 10);
x_90 = lean_ctor_get(x_74, 11);
x_91 = lean_ctor_get_uint8(x_74, sizeof(void*)*14);
x_92 = lean_ctor_get(x_74, 12);
x_93 = lean_ctor_get_uint8(x_74, sizeof(void*)*14 + 1);
x_94 = lean_ctor_get(x_74, 13);
x_79 = lean_ctor_get(x_71, 0);
x_80 = lean_ctor_get(x_71, 1);
x_81 = lean_ctor_get(x_71, 2);
x_82 = lean_ctor_get(x_71, 3);
x_83 = lean_ctor_get(x_71, 4);
x_84 = lean_ctor_get(x_71, 5);
x_85 = lean_ctor_get(x_71, 6);
x_86 = lean_ctor_get(x_71, 7);
x_87 = lean_ctor_get(x_71, 8);
x_88 = lean_ctor_get(x_71, 9);
x_89 = lean_ctor_get(x_71, 10);
x_90 = lean_ctor_get(x_71, 11);
x_91 = lean_ctor_get_uint8(x_71, sizeof(void*)*14);
x_92 = lean_ctor_get(x_71, 12);
x_93 = lean_ctor_get_uint8(x_71, sizeof(void*)*14 + 1);
x_94 = lean_ctor_get(x_71, 13);
x_95 = l_Lean_replaceRef(x_64, x_84);
lean_dec(x_64);
lean_inc_ref(x_94);
@ -39678,31 +39678,31 @@ if (x_78 == 0)
{
lean_object* x_97; lean_object* x_98;
x_97 = l_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___closed__1;
x_98 = l_Lean_throwError___at___00Lean_Elab_Term_Do_ToCodeBlock_checkReassignable_spec__0___redArg(x_97, x_72, x_65, x_96, x_68);
x_98 = l_Lean_throwError___at___00Lean_Elab_Term_Do_ToCodeBlock_checkReassignable_spec__0___redArg(x_97, x_73, x_72, x_96, x_65);
if (lean_obj_tag(x_98) == 0)
{
lean_object* x_99; lean_object* x_100;
x_99 = lean_ctor_get(x_98, 0);
lean_inc(x_99);
lean_dec_ref(x_98);
lean_inc(x_68);
lean_inc(x_65);
lean_inc_ref(x_72);
lean_inc(x_73);
lean_inc(x_72);
lean_inc_ref(x_73);
lean_inc(x_68);
lean_inc_ref(x_70);
lean_inc_ref(x_75);
lean_inc_ref(x_69);
x_100 = lean_apply_9(x_71, x_99, x_69, x_75, x_73, x_72, x_65, x_96, x_68, lean_box(0));
x_100 = lean_apply_9(x_66, x_99, x_75, x_70, x_68, x_73, x_72, x_96, x_65, lean_box(0));
x_35 = x_65;
x_36 = x_70;
x_37 = x_72;
x_38 = x_73;
x_39 = x_66;
x_40 = x_74;
x_41 = x_76;
x_42 = x_75;
x_36 = x_69;
x_37 = x_70;
x_38 = x_71;
x_39 = x_72;
x_40 = x_67;
x_41 = x_74;
x_42 = x_73;
x_43 = x_68;
x_44 = x_69;
x_45 = x_77;
x_44 = x_75;
x_45 = x_76;
x_46 = x_100;
goto block_50;
}
@ -39710,14 +39710,14 @@ else
{
lean_object* x_101; lean_object* x_102;
lean_dec_ref(x_96);
lean_dec_ref(x_77);
lean_dec_ref(x_75);
lean_dec_ref(x_74);
lean_dec(x_73);
lean_dec_ref(x_72);
lean_dec_ref(x_73);
lean_dec(x_72);
lean_dec_ref(x_71);
lean_dec_ref(x_69);
lean_dec_ref(x_70);
lean_dec(x_68);
lean_dec_ref(x_67);
lean_dec_ref(x_66);
lean_dec(x_65);
lean_dec(x_2);
x_101 = lean_ctor_get(x_98, 0);
@ -39732,57 +39732,57 @@ else
{
lean_object* x_103; lean_object* x_104;
x_103 = lean_box(0);
lean_inc(x_68);
lean_inc(x_65);
lean_inc_ref(x_72);
lean_inc(x_73);
lean_inc(x_72);
lean_inc_ref(x_73);
lean_inc(x_68);
lean_inc_ref(x_70);
lean_inc_ref(x_75);
lean_inc_ref(x_69);
x_104 = lean_apply_9(x_71, x_103, x_69, x_75, x_73, x_72, x_65, x_96, x_68, lean_box(0));
x_104 = lean_apply_9(x_66, x_103, x_75, x_70, x_68, x_73, x_72, x_96, x_65, lean_box(0));
x_35 = x_65;
x_36 = x_70;
x_37 = x_72;
x_38 = x_73;
x_39 = x_66;
x_40 = x_74;
x_41 = x_76;
x_42 = x_75;
x_36 = x_69;
x_37 = x_70;
x_38 = x_71;
x_39 = x_72;
x_40 = x_67;
x_41 = x_74;
x_42 = x_73;
x_43 = x_68;
x_44 = x_69;
x_45 = x_77;
x_44 = x_75;
x_45 = x_76;
x_46 = x_104;
goto block_50;
}
}
block_128:
{
if (lean_obj_tag(x_116) == 0)
if (lean_obj_tag(x_119) == 0)
{
lean_dec(x_107);
lean_dec(x_106);
lean_dec(x_64);
lean_dec(x_1);
x_11 = x_109;
x_12 = x_112;
x_12 = x_113;
x_13 = x_114;
x_14 = x_119;
x_14 = x_118;
x_15 = x_120;
x_16 = x_118;
x_17 = x_115;
x_18 = x_111;
x_19 = x_110;
x_20 = x_108;
x_21 = x_113;
x_22 = x_117;
x_16 = x_117;
x_17 = x_110;
x_18 = x_116;
x_19 = x_115;
x_20 = x_112;
x_21 = x_111;
x_22 = x_108;
x_23 = lean_box(0);
goto block_34;
}
else
{
lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125;
x_122 = lean_ctor_get(x_116, 0);
x_122 = lean_ctor_get(x_119, 0);
lean_inc(x_122);
lean_dec_ref(x_116);
lean_dec_ref(x_119);
x_123 = lean_ctor_get(x_122, 0);
lean_inc_ref(x_123);
x_124 = lean_ctor_get(x_122, 1);
@ -39800,18 +39800,18 @@ uint8_t x_126;
lean_dec_ref(x_124);
x_126 = 0;
x_65 = x_108;
x_66 = x_112;
x_67 = lean_box(0);
x_68 = x_117;
x_69 = x_118;
x_70 = x_109;
x_71 = x_125;
x_72 = x_110;
x_73 = x_111;
x_74 = x_113;
x_75 = x_115;
x_76 = x_114;
x_77 = x_119;
x_66 = x_125;
x_67 = x_113;
x_68 = x_116;
x_69 = x_109;
x_70 = x_110;
x_71 = x_111;
x_72 = x_112;
x_73 = x_115;
x_74 = x_114;
x_75 = x_117;
x_76 = x_118;
x_77 = lean_box(0);
x_78 = x_126;
goto block_105;
}
@ -39820,18 +39820,18 @@ else
uint8_t x_127;
x_127 = 1;
x_65 = x_108;
x_66 = x_112;
x_67 = lean_box(0);
x_68 = x_117;
x_69 = x_118;
x_70 = x_109;
x_71 = x_125;
x_72 = x_110;
x_73 = x_111;
x_74 = x_113;
x_75 = x_115;
x_76 = x_114;
x_77 = x_119;
x_66 = x_125;
x_67 = x_113;
x_68 = x_116;
x_69 = x_109;
x_70 = x_110;
x_71 = x_111;
x_72 = x_112;
x_73 = x_115;
x_74 = x_114;
x_75 = x_117;
x_76 = x_118;
x_77 = lean_box(0);
x_78 = x_127;
goto block_105;
}
@ -39909,18 +39909,18 @@ lean_dec(x_138);
lean_dec(x_62);
x_106 = x_143;
x_107 = x_142;
x_108 = x_134;
x_109 = x_146;
x_110 = x_133;
x_111 = x_132;
x_112 = x_150;
x_113 = x_135;
x_114 = x_148;
x_115 = x_131;
x_116 = x_129;
x_117 = x_136;
x_118 = x_130;
x_119 = x_144;
x_108 = x_136;
x_109 = x_148;
x_110 = x_131;
x_111 = x_135;
x_112 = x_134;
x_113 = x_144;
x_114 = x_150;
x_115 = x_133;
x_116 = x_132;
x_117 = x_130;
x_118 = x_146;
x_119 = x_129;
x_120 = x_156;
x_121 = lean_box(0);
goto block_128;
@ -39935,18 +39935,18 @@ lean_dec(x_138);
lean_dec(x_62);
x_106 = x_143;
x_107 = x_142;
x_108 = x_134;
x_109 = x_146;
x_110 = x_133;
x_111 = x_132;
x_112 = x_150;
x_113 = x_135;
x_114 = x_148;
x_115 = x_131;
x_116 = x_129;
x_117 = x_136;
x_118 = x_130;
x_119 = x_144;
x_108 = x_136;
x_109 = x_148;
x_110 = x_131;
x_111 = x_135;
x_112 = x_134;
x_113 = x_144;
x_114 = x_150;
x_115 = x_133;
x_116 = x_132;
x_117 = x_130;
x_118 = x_146;
x_119 = x_129;
x_120 = x_156;
x_121 = lean_box(0);
goto block_128;
@ -39974,18 +39974,18 @@ lean_inc(x_163);
lean_dec_ref(x_162);
x_106 = x_143;
x_107 = x_142;
x_108 = x_134;
x_109 = x_146;
x_110 = x_133;
x_111 = x_132;
x_112 = x_150;
x_113 = x_135;
x_114 = x_148;
x_115 = x_131;
x_116 = x_129;
x_117 = x_136;
x_118 = x_130;
x_119 = x_144;
x_108 = x_136;
x_109 = x_148;
x_110 = x_131;
x_111 = x_135;
x_112 = x_134;
x_113 = x_144;
x_114 = x_150;
x_115 = x_133;
x_116 = x_132;
x_117 = x_130;
x_118 = x_146;
x_119 = x_129;
x_120 = x_163;
x_121 = lean_box(0);
goto block_128;
@ -40067,14 +40067,14 @@ block_183:
{
if (x_178 == 0)
{
x_129 = x_172;
x_130 = x_170;
x_131 = x_169;
x_132 = x_177;
x_133 = x_175;
x_134 = x_171;
x_135 = x_174;
x_136 = x_176;
x_129 = x_176;
x_130 = x_171;
x_131 = x_173;
x_132 = x_170;
x_133 = x_169;
x_134 = x_177;
x_135 = x_175;
x_136 = x_172;
x_137 = lean_box(0);
goto block_168;
}
@ -40082,18 +40082,18 @@ else
{
lean_object* x_179; lean_object* x_180;
x_179 = l_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___closed__6;
x_180 = l_Lean_throwError___at___00Lean_Elab_Term_Do_ToCodeBlock_checkReassignable_spec__0___redArg(x_179, x_175, x_171, x_174, x_176);
x_180 = l_Lean_throwError___at___00Lean_Elab_Term_Do_ToCodeBlock_checkReassignable_spec__0___redArg(x_179, x_169, x_177, x_175, x_172);
if (lean_obj_tag(x_180) == 0)
{
lean_dec_ref(x_180);
x_129 = x_172;
x_130 = x_170;
x_131 = x_169;
x_132 = x_177;
x_133 = x_175;
x_134 = x_171;
x_135 = x_174;
x_136 = x_176;
x_129 = x_176;
x_130 = x_171;
x_131 = x_173;
x_132 = x_170;
x_133 = x_169;
x_134 = x_177;
x_135 = x_175;
x_136 = x_172;
x_137 = lean_box(0);
goto block_168;
}
@ -40103,10 +40103,10 @@ lean_object* x_181; lean_object* x_182;
lean_dec(x_177);
lean_dec(x_176);
lean_dec_ref(x_175);
lean_dec_ref(x_174);
lean_dec_ref(x_173);
lean_dec(x_172);
lean_dec(x_171);
lean_dec_ref(x_170);
lean_dec_ref(x_171);
lean_dec(x_170);
lean_dec_ref(x_169);
lean_dec(x_64);
lean_dec(x_62);
@ -40128,15 +40128,15 @@ uint8_t x_193;
x_193 = l_Array_isEmpty___redArg(x_62);
if (x_193 == 0)
{
x_169 = x_186;
x_170 = x_185;
x_171 = x_189;
x_172 = x_184;
x_173 = lean_box(0);
x_174 = x_190;
x_175 = x_188;
x_176 = x_191;
x_177 = x_187;
x_169 = x_188;
x_170 = x_187;
x_171 = x_185;
x_172 = x_191;
x_173 = x_186;
x_174 = lean_box(0);
x_175 = x_190;
x_176 = x_184;
x_177 = x_189;
x_178 = x_193;
goto block_183;
}
@ -40144,15 +40144,15 @@ else
{
if (lean_obj_tag(x_184) == 0)
{
x_169 = x_186;
x_170 = x_185;
x_171 = x_189;
x_172 = x_184;
x_173 = lean_box(0);
x_174 = x_190;
x_175 = x_188;
x_176 = x_191;
x_177 = x_187;
x_169 = x_188;
x_170 = x_187;
x_171 = x_185;
x_172 = x_191;
x_173 = x_186;
x_174 = lean_box(0);
x_175 = x_190;
x_176 = x_184;
x_177 = x_189;
x_178 = x_193;
goto block_183;
}
@ -40209,12 +40209,12 @@ return x_54;
block_34:
{
lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
x_24 = lean_box(x_11);
x_25 = lean_box(x_13);
x_26 = lean_box(x_12);
x_24 = lean_box(x_14);
x_25 = lean_box(x_11);
x_26 = lean_box(x_13);
x_27 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult___boxed), 7, 5);
lean_closure_set(x_27, 0, x_15);
lean_closure_set(x_27, 1, x_14);
lean_closure_set(x_27, 1, x_12);
lean_closure_set(x_27, 2, x_24);
lean_closure_set(x_27, 3, x_25);
lean_closure_set(x_27, 4, x_26);
@ -40258,29 +40258,29 @@ x_47 = lean_ctor_get(x_46, 0);
lean_inc(x_47);
lean_dec_ref(x_46);
x_11 = x_36;
x_12 = x_39;
x_12 = x_40;
x_13 = x_41;
x_14 = x_45;
x_15 = x_47;
x_16 = x_44;
x_17 = x_42;
x_18 = x_38;
x_19 = x_37;
x_20 = x_35;
x_21 = x_40;
x_22 = x_43;
x_17 = x_37;
x_18 = x_43;
x_19 = x_42;
x_20 = x_39;
x_21 = x_38;
x_22 = x_35;
x_23 = lean_box(0);
goto block_34;
}
else
{
lean_object* x_48; lean_object* x_49;
lean_dec_ref(x_45);
lean_dec_ref(x_44);
lean_dec(x_43);
lean_dec_ref(x_42);
lean_dec_ref(x_40);
lean_dec(x_38);
lean_dec(x_39);
lean_dec_ref(x_38);
lean_dec_ref(x_37);
lean_dec(x_35);
lean_dec(x_2);

View file

@ -43587,8 +43587,8 @@ if (lean_obj_tag(x_49) == 0)
{
lean_object* x_50;
x_50 = l_Std_DTreeMap_Internal_Impl_Const_alter___at___00Lean_Doc_addBuiltinDocRole_spec__0___redArg___lam__0___closed__0;
x_30 = lean_box(0);
x_31 = x_46;
x_30 = x_46;
x_31 = lean_box(0);
x_32 = x_50;
goto block_42;
}
@ -43598,8 +43598,8 @@ lean_object* x_51;
x_51 = lean_ctor_get(x_49, 0);
lean_inc(x_51);
lean_dec_ref(x_49);
x_30 = lean_box(0);
x_31 = x_46;
x_30 = x_46;
x_31 = lean_box(0);
x_32 = x_51;
goto block_42;
}
@ -43749,9 +43749,9 @@ goto block_22;
block_42:
{
size_t x_33; size_t x_34; lean_object* x_35;
x_33 = lean_array_size(x_31);
x_33 = lean_array_size(x_30);
x_34 = 0;
x_35 = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_DocString_0__Lean_Doc_roleExpandersForUnsafe_spec__0(x_33, x_34, x_31, x_2, x_3, x_4, x_5, x_6, x_7);
x_35 = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_DocString_0__Lean_Doc_roleExpandersForUnsafe_spec__0(x_33, x_34, x_30, x_2, x_3, x_4, x_5, x_6, x_7);
lean_dec(x_7);
lean_dec_ref(x_6);
if (lean_obj_tag(x_35) == 0)
@ -44437,8 +44437,8 @@ if (lean_obj_tag(x_49) == 0)
{
lean_object* x_50;
x_50 = l_Std_DTreeMap_Internal_Impl_Const_alter___at___00Lean_Doc_addBuiltinDocDirective_spec__0___redArg___lam__0___closed__0;
x_30 = x_46;
x_31 = lean_box(0);
x_30 = lean_box(0);
x_31 = x_46;
x_32 = x_50;
goto block_42;
}
@ -44448,8 +44448,8 @@ lean_object* x_51;
x_51 = lean_ctor_get(x_49, 0);
lean_inc(x_51);
lean_dec_ref(x_49);
x_30 = x_46;
x_31 = lean_box(0);
x_30 = lean_box(0);
x_31 = x_46;
x_32 = x_51;
goto block_42;
}
@ -44599,9 +44599,9 @@ goto block_22;
block_42:
{
size_t x_33; size_t x_34; lean_object* x_35;
x_33 = lean_array_size(x_30);
x_33 = lean_array_size(x_31);
x_34 = 0;
x_35 = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_DocString_0__Lean_Doc_directiveExpandersForUnsafe_spec__0(x_33, x_34, x_30, x_2, x_3, x_4, x_5, x_6, x_7);
x_35 = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_DocString_0__Lean_Doc_directiveExpandersForUnsafe_spec__0(x_33, x_34, x_31, x_2, x_3, x_4, x_5, x_6, x_7);
lean_dec(x_7);
lean_dec_ref(x_6);
if (lean_obj_tag(x_35) == 0)
@ -45499,7 +45499,7 @@ return x_1;
LEAN_EXPORT lean_object* l_Lean_logAt___at___00Lean_logWarningAt___at___00__private_Lean_Elab_DocString_0__Lean_Doc_mkArg_spec__0_spec__0___redArg(lean_object* x_1, lean_object* x_2, uint8_t x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_13; lean_object* x_14; uint8_t x_15; uint8_t x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_47; uint8_t x_48; lean_object* x_49; uint8_t x_50; lean_object* x_51; lean_object* x_52; lean_object* x_56; uint8_t x_57; uint8_t x_58; lean_object* x_59; uint8_t x_60; lean_object* x_71; uint8_t x_72; uint8_t x_73; lean_object* x_74; uint8_t x_75; uint8_t x_76; uint8_t x_78; uint8_t x_91;
lean_object* x_13; lean_object* x_14; uint8_t x_15; uint8_t x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50; uint8_t x_51; lean_object* x_52; lean_object* x_56; uint8_t x_57; uint8_t x_58; lean_object* x_59; uint8_t x_60; lean_object* x_71; uint8_t x_72; uint8_t x_73; lean_object* x_74; uint8_t x_75; uint8_t x_76; uint8_t x_78; uint8_t x_91;
x_13 = l_Lean_logAt___at___00Lean_logWarningAt___at___00__private_Lean_Elab_DocString_0__Lean_Doc_mkArg_spec__0_spec__0___redArg___closed__0;
x_14 = l_Lean_logAt___at___00Lean_logWarningAt___at___00__private_Lean_Elab_DocString_0__Lean_Doc_mkArg_spec__0_spec__0___redArg___closed__1;
x_56 = l_Lean_logAt___at___00Lean_logWarningAt___at___00__private_Lean_Elab_DocString_0__Lean_Doc_mkArg_spec__0_spec__0___redArg___closed__2;
@ -45565,15 +45565,15 @@ x_27 = lean_ctor_get(x_26, 0);
lean_inc(x_27);
lean_dec_ref(x_26);
lean_inc(x_21);
x_28 = l_Lean_FileMap_toPosition(x_21, x_18);
lean_dec(x_18);
x_28 = l_Lean_FileMap_toPosition(x_21, x_17);
lean_dec(x_17);
x_29 = l_Lean_FileMap_toPosition(x_21, x_19);
lean_dec(x_19);
x_30 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_30, 0, x_29);
x_31 = l___private_Lean_Elab_DocString_0__Lean_Doc_getModState___redArg___lam__6___closed__1;
x_32 = lean_box(x_16);
x_33 = lean_box(x_15);
x_32 = lean_box(x_15);
x_33 = lean_box(x_16);
x_34 = lean_box(x_4);
x_35 = lean_alloc_closure((void*)(l_Lean_logAt___at___00Lean_logErrorAt___at___00Lean_Doc_done_spec__0_spec__0___redArg___lam__6___boxed), 15, 8);
lean_closure_set(x_35, 0, x_25);
@ -45593,7 +45593,7 @@ uint8_t x_37;
lean_dec(x_25);
lean_dec(x_21);
lean_dec(x_19);
lean_dec(x_18);
lean_dec(x_17);
lean_dec(x_11);
lean_dec_ref(x_10);
lean_dec(x_9);
@ -45622,7 +45622,7 @@ else
uint8_t x_40;
lean_dec(x_21);
lean_dec(x_19);
lean_dec(x_18);
lean_dec(x_17);
lean_dec(x_11);
lean_dec_ref(x_10);
lean_dec(x_9);
@ -45650,7 +45650,7 @@ else
{
uint8_t x_43;
lean_dec(x_19);
lean_dec(x_18);
lean_dec(x_17);
lean_dec(x_11);
lean_dec_ref(x_10);
lean_dec(x_9);
@ -45678,15 +45678,15 @@ return x_45;
block_55:
{
lean_object* x_53;
x_53 = l_Lean_Syntax_getTailPos_x3f(x_51, x_50);
lean_dec(x_51);
x_53 = l_Lean_Syntax_getTailPos_x3f(x_50, x_51);
lean_dec(x_50);
if (lean_obj_tag(x_53) == 0)
{
lean_inc(x_52);
x_15 = x_47;
x_16 = x_48;
x_17 = lean_box(0);
x_18 = x_52;
x_16 = x_49;
x_17 = x_52;
x_18 = lean_box(0);
x_19 = x_52;
goto block_46;
}
@ -45697,9 +45697,9 @@ x_54 = lean_ctor_get(x_53, 0);
lean_inc(x_54);
lean_dec_ref(x_53);
x_15 = x_47;
x_16 = x_48;
x_17 = lean_box(0);
x_18 = x_52;
x_16 = x_49;
x_17 = x_52;
x_18 = lean_box(0);
x_19 = x_54;
goto block_46;
}
@ -45727,11 +45727,11 @@ if (lean_obj_tag(x_64) == 0)
{
lean_object* x_65;
x_65 = lean_unsigned_to_nat(0u);
x_47 = x_60;
x_48 = x_57;
x_49 = lean_box(0);
x_50 = x_58;
x_51 = x_63;
x_47 = x_57;
x_48 = lean_box(0);
x_49 = x_60;
x_50 = x_63;
x_51 = x_58;
x_52 = x_65;
goto block_55;
}
@ -45741,11 +45741,11 @@ lean_object* x_66;
x_66 = lean_ctor_get(x_64, 0);
lean_inc(x_66);
lean_dec_ref(x_64);
x_47 = x_60;
x_48 = x_57;
x_49 = lean_box(0);
x_50 = x_58;
x_51 = x_63;
x_47 = x_57;
x_48 = lean_box(0);
x_49 = x_60;
x_50 = x_63;
x_51 = x_58;
x_52 = x_66;
goto block_55;
}
@ -53938,10 +53938,10 @@ block_32:
{
if (x_22 == 0)
{
if (lean_obj_tag(x_21) == 1)
if (lean_obj_tag(x_20) == 1)
{
lean_object* x_23; lean_object* x_24; uint8_t x_25;
x_23 = lean_ctor_get(x_21, 0);
x_23 = lean_ctor_get(x_20, 0);
x_24 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Doc_elabInline_spec__2___closed__0;
x_25 = l_Lean_instBEqInternalExceptionId_beq(x_23, x_24);
if (x_25 == 0)
@ -53960,13 +53960,13 @@ lean_dec_ref(x_3);
lean_dec_ref(x_2);
lean_dec_ref(x_1);
x_26 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_26, 0, x_21);
lean_ctor_set(x_26, 0, x_20);
return x_26;
}
else
{
size_t x_27; size_t x_28;
lean_dec_ref(x_21);
lean_dec_ref(x_20);
x_27 = 1;
x_28 = lean_usize_add(x_8, x_27);
lean_inc_ref(x_1);
@ -53995,7 +53995,7 @@ lean_dec_ref(x_3);
lean_dec_ref(x_2);
lean_dec_ref(x_1);
x_30 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_30, 0, x_21);
lean_ctor_set(x_30, 0, x_20);
return x_30;
}
}
@ -54015,7 +54015,7 @@ lean_dec_ref(x_3);
lean_dec_ref(x_2);
lean_dec_ref(x_1);
x_31 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_31, 0, x_21);
lean_ctor_set(x_31, 0, x_20);
return x_31;
}
}
@ -54028,15 +54028,15 @@ if (x_35 == 0)
uint8_t x_36;
lean_inc_ref(x_33);
x_36 = l_Lean_Exception_isRuntime(x_33);
x_20 = lean_box(0);
x_21 = x_33;
x_20 = x_33;
x_21 = lean_box(0);
x_22 = x_36;
goto block_32;
}
else
{
x_20 = lean_box(0);
x_21 = x_33;
x_20 = x_33;
x_21 = lean_box(0);
x_22 = x_35;
goto block_32;
}
@ -58371,10 +58371,10 @@ block_32:
{
if (x_22 == 0)
{
if (lean_obj_tag(x_20) == 1)
if (lean_obj_tag(x_21) == 1)
{
lean_object* x_23; lean_object* x_24; uint8_t x_25;
x_23 = lean_ctor_get(x_20, 0);
x_23 = lean_ctor_get(x_21, 0);
x_24 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Doc_elabInline_spec__2___closed__0;
x_25 = l_Lean_instBEqInternalExceptionId_beq(x_23, x_24);
if (x_25 == 0)
@ -58393,13 +58393,13 @@ lean_dec_ref(x_3);
lean_dec_ref(x_2);
lean_dec_ref(x_1);
x_26 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_26, 0, x_20);
lean_ctor_set(x_26, 0, x_21);
return x_26;
}
else
{
size_t x_27; size_t x_28;
lean_dec_ref(x_20);
lean_dec_ref(x_21);
x_27 = 1;
x_28 = lean_usize_add(x_8, x_27);
lean_inc_ref(x_1);
@ -58428,7 +58428,7 @@ lean_dec_ref(x_3);
lean_dec_ref(x_2);
lean_dec_ref(x_1);
x_30 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_30, 0, x_20);
lean_ctor_set(x_30, 0, x_21);
return x_30;
}
}
@ -58448,7 +58448,7 @@ lean_dec_ref(x_3);
lean_dec_ref(x_2);
lean_dec_ref(x_1);
x_31 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_31, 0, x_20);
lean_ctor_set(x_31, 0, x_21);
return x_31;
}
}
@ -58461,15 +58461,15 @@ if (x_35 == 0)
uint8_t x_36;
lean_inc_ref(x_33);
x_36 = l_Lean_Exception_isRuntime(x_33);
x_20 = x_33;
x_21 = lean_box(0);
x_20 = lean_box(0);
x_21 = x_33;
x_22 = x_36;
goto block_32;
}
else
{
x_20 = x_33;
x_21 = lean_box(0);
x_20 = lean_box(0);
x_21 = x_33;
x_22 = x_35;
goto block_32;
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -603,7 +603,7 @@ block_13:
if (x_10 == 0)
{
lean_object* x_11; lean_object* x_12;
lean_dec_ref(x_8);
lean_dec_ref(x_9);
x_11 = lean_box(0);
x_12 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_12, 0, x_11);
@ -611,7 +611,7 @@ return x_12;
}
else
{
return x_8;
return x_9;
}
}
block_19:
@ -622,16 +622,16 @@ if (x_17 == 0)
{
uint8_t x_18;
x_18 = l_Lean_Exception_isRuntime(x_15);
x_8 = x_14;
x_9 = lean_box(0);
x_8 = lean_box(0);
x_9 = x_14;
x_10 = x_18;
goto block_13;
}
else
{
lean_dec_ref(x_15);
x_8 = x_14;
x_9 = lean_box(0);
x_8 = lean_box(0);
x_9 = x_14;
x_10 = x_17;
goto block_13;
}

View file

@ -14179,7 +14179,7 @@ x_38 = l_WellFounded_opaqueFix_u2083___at___00Lean_Elab_Structural_getRecArgInfo
x_39 = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(x_39, 0, x_37);
lean_ctor_set(x_39, 1, x_38);
x_40 = l_Lean_Exception_toMessageData(x_32);
x_40 = l_Lean_Exception_toMessageData(x_31);
x_41 = l_Lean_indentD(x_40);
x_42 = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(x_42, 0, x_39);
@ -14198,7 +14198,7 @@ goto block_24;
else
{
uint8_t x_46;
lean_dec_ref(x_32);
lean_dec_ref(x_31);
lean_dec(x_27);
lean_dec(x_16);
lean_dec_ref(x_15);
@ -14245,7 +14245,7 @@ lean_dec_ref(x_4);
lean_dec_ref(x_3);
lean_dec(x_1);
x_49 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_49, 0, x_32);
lean_ctor_set(x_49, 0, x_31);
return x_49;
}
}
@ -14258,15 +14258,15 @@ if (x_53 == 0)
uint8_t x_54;
lean_inc_ref(x_51);
x_54 = l_Lean_Exception_isRuntime(x_51);
x_31 = lean_box(0);
x_32 = x_51;
x_31 = x_51;
x_32 = lean_box(0);
x_33 = x_54;
goto block_50;
}
else
{
x_31 = lean_box(0);
x_32 = x_51;
x_31 = x_51;
x_32 = lean_box(0);
x_33 = x_53;
goto block_50;
}
@ -16902,18 +16902,18 @@ goto block_111;
block_150:
{
lean_object* x_132;
lean_inc(x_128);
lean_inc_ref(x_124);
lean_inc(x_129);
lean_inc_ref(x_130);
x_132 = l_Lean_Elab_Structural_inductiveGroups(x_131, x_130, x_129, x_124, x_128);
lean_inc(x_124);
lean_inc_ref(x_127);
lean_inc(x_130);
lean_inc_ref(x_125);
x_132 = l_Lean_Elab_Structural_inductiveGroups(x_131, x_125, x_130, x_127, x_124);
if (lean_obj_tag(x_132) == 0)
{
lean_object* x_133; lean_object* x_134; lean_object* x_135; uint8_t x_136;
x_133 = lean_ctor_get(x_132, 0);
lean_inc(x_133);
lean_dec_ref(x_132);
x_134 = l_Lean_isTracingEnabledFor___at___00Lean_Elab_Structural_tryAllArgs_spec__1___redArg(x_39, x_124);
x_134 = l_Lean_isTracingEnabledFor___at___00Lean_Elab_Structural_tryAllArgs_spec__1___redArg(x_39, x_127);
x_135 = lean_ctor_get(x_134, 0);
lean_inc(x_135);
lean_dec_ref(x_134);
@ -16923,12 +16923,12 @@ if (x_136 == 0)
{
lean_dec(x_31);
x_112 = x_133;
x_113 = x_125;
x_114 = x_126;
x_115 = x_130;
x_116 = x_129;
x_117 = x_124;
x_118 = x_128;
x_113 = x_128;
x_114 = x_129;
x_115 = x_125;
x_116 = x_130;
x_117 = x_127;
x_118 = x_124;
x_119 = lean_box(0);
goto block_123;
}
@ -16949,17 +16949,17 @@ if (lean_is_scalar(x_31)) {
}
lean_ctor_set(x_142, 0, x_137);
lean_ctor_set(x_142, 1, x_141);
x_143 = l_Lean_addTrace___at___00Lean_Elab_Structural_tryAllArgs_spec__3___redArg(x_39, x_142, x_130, x_129, x_124, x_128);
x_143 = l_Lean_addTrace___at___00Lean_Elab_Structural_tryAllArgs_spec__3___redArg(x_39, x_142, x_125, x_130, x_127, x_124);
if (lean_obj_tag(x_143) == 0)
{
lean_dec_ref(x_143);
x_112 = x_133;
x_113 = x_125;
x_114 = x_126;
x_115 = x_130;
x_116 = x_129;
x_117 = x_124;
x_118 = x_128;
x_113 = x_128;
x_114 = x_129;
x_115 = x_125;
x_116 = x_130;
x_117 = x_127;
x_118 = x_124;
x_119 = lean_box(0);
goto block_123;
}
@ -16967,12 +16967,12 @@ else
{
uint8_t x_144;
lean_dec(x_133);
lean_dec_ref(x_130);
lean_dec(x_130);
lean_dec(x_129);
lean_dec(x_128);
lean_dec(x_126);
lean_dec_ref(x_128);
lean_dec_ref(x_127);
lean_dec_ref(x_125);
lean_dec_ref(x_124);
lean_dec(x_124);
lean_dec_ref(x_44);
lean_dec(x_38);
lean_dec(x_35);
@ -17001,12 +17001,12 @@ return x_146;
else
{
uint8_t x_147;
lean_dec_ref(x_130);
lean_dec(x_130);
lean_dec(x_129);
lean_dec(x_128);
lean_dec(x_126);
lean_dec_ref(x_128);
lean_dec_ref(x_127);
lean_dec_ref(x_125);
lean_dec_ref(x_124);
lean_dec(x_124);
lean_dec_ref(x_44);
lean_dec(x_38);
lean_dec(x_35);
@ -17040,13 +17040,13 @@ x_159 = lean_array_get_size(x_44);
x_160 = lean_nat_dec_lt(x_14, x_159);
if (x_160 == 0)
{
x_124 = x_155;
x_125 = x_151;
x_126 = x_152;
x_127 = lean_box(0);
x_128 = x_156;
x_129 = x_154;
x_130 = x_153;
x_124 = x_156;
x_125 = x_153;
x_126 = lean_box(0);
x_127 = x_155;
x_128 = x_151;
x_129 = x_152;
x_130 = x_154;
x_131 = x_158;
goto block_150;
}
@ -17056,13 +17056,13 @@ uint8_t x_161;
x_161 = lean_nat_dec_le(x_159, x_159);
if (x_161 == 0)
{
x_124 = x_155;
x_125 = x_151;
x_126 = x_152;
x_127 = lean_box(0);
x_128 = x_156;
x_129 = x_154;
x_130 = x_153;
x_124 = x_156;
x_125 = x_153;
x_126 = lean_box(0);
x_127 = x_155;
x_128 = x_151;
x_129 = x_152;
x_130 = x_154;
x_131 = x_158;
goto block_150;
}
@ -17071,13 +17071,13 @@ else
size_t x_162; lean_object* x_163;
x_162 = lean_usize_of_nat(x_159);
x_163 = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Elab_Structural_tryAllArgs_spec__10(x_44, x_27, x_162, x_158);
x_124 = x_155;
x_125 = x_151;
x_126 = x_152;
x_127 = lean_box(0);
x_128 = x_156;
x_129 = x_154;
x_130 = x_153;
x_124 = x_156;
x_125 = x_153;
x_126 = lean_box(0);
x_127 = x_155;
x_128 = x_151;
x_129 = x_152;
x_130 = x_154;
x_131 = x_163;
goto block_150;
}

File diff suppressed because it is too large Load diff

View file

@ -11517,7 +11517,7 @@ block_38:
if (x_30 == 0)
{
lean_object* x_31;
lean_dec_ref(x_28);
lean_dec_ref(x_29);
x_31 = l_Lean_Elab_Tactic_SavedState_restore___redArg(x_26, x_30, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
if (lean_obj_tag(x_31) == 0)
{
@ -11564,12 +11564,12 @@ else
lean_dec(x_27);
lean_dec(x_26);
lean_dec_ref(x_4);
if (lean_obj_tag(x_28) == 0)
if (lean_obj_tag(x_29) == 0)
{
lean_object* x_37;
x_37 = lean_ctor_get(x_28, 0);
x_37 = lean_ctor_get(x_29, 0);
lean_inc(x_37);
lean_dec_ref(x_28);
lean_dec_ref(x_29);
x_14 = x_37;
x_15 = lean_box(0);
goto block_19;
@ -11584,7 +11584,7 @@ lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
return x_28;
return x_29;
}
}
}
@ -11596,16 +11596,16 @@ if (x_42 == 0)
{
uint8_t x_43;
x_43 = l_Lean_Exception_isRuntime(x_40);
x_28 = x_39;
x_29 = lean_box(0);
x_28 = lean_box(0);
x_29 = x_39;
x_30 = x_43;
goto block_38;
}
else
{
lean_dec_ref(x_40);
x_28 = x_39;
x_29 = lean_box(0);
x_28 = lean_box(0);
x_29 = x_39;
x_30 = x_42;
goto block_38;
}

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

@ -5043,7 +5043,7 @@ lean_inc_ref(x_6);
x_20 = l_Lean_Meta_getFunInfo(x_18, x_19, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_20) == 0)
{
lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_69; uint8_t x_70; lean_object* x_71; lean_object* x_72; lean_object* x_75; lean_object* x_76; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_97;
lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_27; lean_object* x_69; uint8_t x_70; lean_object* x_71; lean_object* x_72; lean_object* x_75; lean_object* x_76; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_97;
x_21 = lean_ctor_get(x_20, 0);
lean_inc(x_21);
lean_dec_ref(x_20);
@ -5075,7 +5075,7 @@ goto block_100;
block_68:
{
lean_object* x_28; uint8_t x_29;
x_28 = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor(x_27, x_22, x_24, x_2, x_25);
x_28 = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor(x_27, x_22, x_26, x_2, x_24);
lean_dec_ref(x_22);
x_29 = !lean_is_exclusive(x_28);
if (x_29 == 0)
@ -5088,7 +5088,7 @@ x_33 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_33, 0, x_30);
lean_ctor_set_uint8(x_33, sizeof(void*)*1, x_32);
x_34 = lean_array_push(x_3, x_33);
x_35 = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors(x_1, x_2, x_34, x_15, x_26, x_6, x_7, x_8, x_9);
x_35 = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors(x_1, x_2, x_34, x_15, x_25, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_35) == 0)
{
uint8_t x_36;
@ -5202,7 +5202,7 @@ x_56 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_56, 0, x_53);
lean_ctor_set_uint8(x_56, sizeof(void*)*1, x_55);
x_57 = lean_array_push(x_3, x_56);
x_58 = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors(x_1, x_2, x_57, x_15, x_26, x_6, x_7, x_8, x_9);
x_58 = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors(x_1, x_2, x_57, x_15, x_25, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_58) == 0)
{
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_object* x_67;
@ -5267,9 +5267,9 @@ lean_object* x_73;
x_73 = lean_ctor_get(x_69, 0);
lean_inc(x_73);
lean_dec_ref(x_69);
x_24 = x_70;
x_25 = x_71;
x_26 = x_72;
x_24 = x_71;
x_25 = x_72;
x_26 = x_70;
x_27 = x_73;
goto block_68;
}
@ -16278,7 +16278,7 @@ goto block_42;
block_19:
{
lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
x_14 = l_Array_toSubarray___redArg(x_10, x_12, x_13);
x_14 = l_Array_toSubarray___redArg(x_8, x_12, x_13);
x_15 = l_Subarray_toArray___redArg(x_14);
x_16 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_16, 0, x_15);
@ -16325,9 +16325,9 @@ x_34 = lean_array_get_size(x_25);
x_35 = lean_nat_dec_le(x_32, x_20);
if (x_35 == 0)
{
x_8 = lean_box(0);
x_8 = x_25;
x_9 = x_26;
x_10 = x_25;
x_10 = lean_box(0);
x_11 = x_33;
x_12 = x_32;
x_13 = x_34;
@ -16336,9 +16336,9 @@ goto block_19;
else
{
lean_dec(x_32);
x_8 = lean_box(0);
x_8 = x_25;
x_9 = x_26;
x_10 = x_25;
x_10 = lean_box(0);
x_11 = x_33;
x_12 = x_20;
x_13 = x_34;
@ -16891,10 +16891,10 @@ lean_dec_ref(x_45);
x_47 = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_name_x3f(x_33);
if (lean_obj_tag(x_31) == 0)
{
x_12 = lean_box(0);
x_13 = x_46;
x_14 = x_47;
x_15 = x_33;
x_12 = x_33;
x_13 = x_47;
x_14 = lean_box(0);
x_15 = x_46;
x_16 = x_44;
goto block_23;
}
@ -16909,10 +16909,10 @@ x_49 = lean_ctor_get(x_31, 0);
x_50 = l_Lean_TSyntax_getId(x_49);
lean_dec(x_49);
lean_ctor_set(x_31, 0, x_50);
x_12 = lean_box(0);
x_13 = x_46;
x_14 = x_47;
x_15 = x_33;
x_12 = x_33;
x_13 = x_47;
x_14 = lean_box(0);
x_15 = x_46;
x_16 = x_31;
goto block_23;
}
@ -16926,10 +16926,10 @@ x_52 = l_Lean_TSyntax_getId(x_51);
lean_dec(x_51);
x_53 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_53, 0, x_52);
x_12 = lean_box(0);
x_13 = x_46;
x_14 = x_47;
x_15 = x_33;
x_12 = x_33;
x_13 = x_47;
x_14 = lean_box(0);
x_15 = x_46;
x_16 = x_53;
goto block_23;
}
@ -17008,11 +17008,11 @@ block_23:
{
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
x_17 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_17, 0, x_13);
lean_ctor_set(x_17, 1, x_14);
lean_ctor_set(x_17, 0, x_15);
lean_ctor_set(x_17, 1, x_13);
lean_ctor_set(x_17, 2, x_16);
x_18 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_18, 0, x_15);
lean_ctor_set(x_18, 0, x_12);
lean_ctor_set(x_18, 1, x_17);
x_19 = lean_unsigned_to_nat(1u);
x_20 = lean_nat_add(x_3, x_19);
@ -18228,28 +18228,28 @@ if (x_46 == 0)
lean_object* x_47;
lean_dec(x_6);
x_47 = lean_box(0);
x_16 = x_38;
x_17 = x_41;
x_18 = x_39;
x_19 = x_42;
x_20 = x_40;
x_21 = x_37;
x_22 = lean_box(0);
x_23 = x_44;
x_16 = x_39;
x_17 = x_42;
x_18 = x_44;
x_19 = x_40;
x_20 = lean_box(0);
x_21 = x_41;
x_22 = x_38;
x_23 = x_37;
x_24 = x_36;
x_25 = x_47;
goto block_28;
}
else
{
x_16 = x_38;
x_17 = x_41;
x_18 = x_39;
x_19 = x_42;
x_20 = x_40;
x_21 = x_37;
x_22 = lean_box(0);
x_23 = x_44;
x_16 = x_39;
x_17 = x_42;
x_18 = x_44;
x_19 = x_40;
x_20 = lean_box(0);
x_21 = x_41;
x_22 = x_38;
x_23 = x_37;
x_24 = x_36;
x_25 = x_6;
goto block_28;
@ -18439,14 +18439,14 @@ block_28:
if (lean_obj_tag(x_24) == 0)
{
lean_object* x_26;
x_26 = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue___redArg(x_1, x_2, x_3, x_25, x_23, x_7, x_4, x_8, x_21, x_16, x_18, x_20, x_17, x_19);
x_26 = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue___redArg(x_1, x_2, x_3, x_25, x_18, x_7, x_4, x_8, x_23, x_22, x_16, x_19, x_21, x_17);
return x_26;
}
else
{
lean_object* x_27;
lean_dec(x_7);
x_27 = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue___redArg(x_1, x_2, x_3, x_25, x_23, x_24, x_4, x_8, x_21, x_16, x_18, x_20, x_17, x_19);
x_27 = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue___redArg(x_1, x_2, x_3, x_25, x_18, x_24, x_4, x_8, x_23, x_22, x_16, x_19, x_21, x_17);
return x_27;
}
}
@ -19764,17 +19764,17 @@ goto block_154;
block_59:
{
lean_object* x_47;
x_47 = l_Lean_Elab_Tactic_getMainGoal___redArg(x_36, x_41, x_43, x_45, x_40);
x_47 = l_Lean_Elab_Tactic_getMainGoal___redArg(x_40, x_38, x_39, x_43, x_45);
if (lean_obj_tag(x_47) == 0)
{
lean_object* x_48; lean_object* x_49; lean_object* x_50; size_t x_51; size_t x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55;
x_48 = lean_ctor_get(x_47, 0);
lean_inc(x_48);
lean_dec_ref(x_47);
x_49 = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_typed_x3f(x_34, x_46, x_38);
lean_dec(x_38);
x_50 = l_Lean_Syntax_TSepArray_getElems___redArg(x_35);
lean_dec_ref(x_35);
x_49 = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_typed_x3f(x_34, x_46, x_41);
lean_dec(x_41);
x_50 = l_Lean_Syntax_TSepArray_getElems___redArg(x_44);
lean_dec_ref(x_44);
x_51 = lean_array_size(x_50);
x_52 = 0;
x_53 = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__0(x_51, x_52, x_50);
@ -19783,22 +19783,22 @@ x_54 = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_El
lean_closure_set(x_54, 0, x_53);
lean_closure_set(x_54, 1, x_49);
lean_closure_set(x_54, 2, x_48);
x_55 = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg(x_48, x_54, x_42, x_36, x_37, x_39, x_41, x_43, x_45, x_40);
x_55 = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg(x_48, x_54, x_36, x_40, x_35, x_37, x_38, x_39, x_43, x_45);
return x_55;
}
else
{
uint8_t x_56;
lean_dec_ref(x_46);
lean_dec_ref(x_45);
lean_dec(x_43);
lean_dec_ref(x_42);
lean_dec_ref(x_41);
lean_dec(x_45);
lean_dec_ref(x_44);
lean_dec_ref(x_43);
lean_dec(x_41);
lean_dec(x_40);
lean_dec(x_39);
lean_dec(x_38);
lean_dec_ref(x_37);
lean_dec(x_36);
lean_dec_ref(x_38);
lean_dec(x_37);
lean_dec_ref(x_36);
lean_dec_ref(x_35);
lean_dec(x_34);
x_56 = !lean_is_exclusive(x_47);
@ -19820,29 +19820,29 @@ return x_58;
}
block_84:
{
if (lean_obj_tag(x_61) == 1)
if (lean_obj_tag(x_68) == 1)
{
if (lean_obj_tag(x_70) == 0)
{
lean_object* x_72; lean_object* x_73; lean_object* x_74;
x_72 = lean_ctor_get(x_61, 0);
x_72 = lean_ctor_get(x_68, 0);
lean_inc(x_72);
lean_dec_ref(x_61);
lean_dec_ref(x_68);
x_73 = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__1;
lean_inc(x_34);
x_74 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_74, 0, x_34);
lean_ctor_set(x_74, 1, x_73);
x_35 = x_72;
x_36 = x_60;
x_35 = x_60;
x_36 = x_61;
x_37 = x_62;
x_38 = x_63;
x_39 = x_64;
x_40 = x_65;
x_41 = x_66;
x_42 = x_67;
x_43 = x_68;
x_44 = lean_box(0);
x_41 = x_67;
x_42 = lean_box(0);
x_43 = x_66;
x_44 = x_72;
x_45 = x_69;
x_46 = x_74;
goto block_59;
@ -19850,22 +19850,22 @@ goto block_59;
else
{
lean_object* x_75; lean_object* x_76;
x_75 = lean_ctor_get(x_61, 0);
x_75 = lean_ctor_get(x_68, 0);
lean_inc(x_75);
lean_dec_ref(x_61);
lean_dec_ref(x_68);
x_76 = lean_ctor_get(x_70, 0);
lean_inc(x_76);
lean_dec_ref(x_70);
x_35 = x_75;
x_36 = x_60;
x_35 = x_60;
x_36 = x_61;
x_37 = x_62;
x_38 = x_63;
x_39 = x_64;
x_40 = x_65;
x_41 = x_66;
x_42 = x_67;
x_43 = x_68;
x_44 = lean_box(0);
x_41 = x_67;
x_42 = lean_box(0);
x_43 = x_66;
x_44 = x_75;
x_45 = x_69;
x_46 = x_76;
goto block_59;
@ -19873,28 +19873,28 @@ goto block_59;
}
else
{
lean_dec(x_61);
if (lean_obj_tag(x_63) == 1)
lean_dec(x_68);
if (lean_obj_tag(x_67) == 1)
{
if (lean_obj_tag(x_70) == 0)
{
lean_object* x_77; lean_object* x_78; lean_object* x_79;
x_77 = lean_ctor_get(x_63, 0);
x_77 = lean_ctor_get(x_67, 0);
lean_inc(x_77);
lean_dec_ref(x_63);
lean_dec_ref(x_67);
x_78 = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__3;
x_79 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_79, 0, x_34);
lean_ctor_set(x_79, 1, x_78);
x_11 = x_77;
x_12 = x_60;
x_13 = x_62;
x_14 = x_64;
x_15 = x_65;
x_16 = x_66;
x_17 = x_67;
x_18 = x_68;
x_19 = lean_box(0);
x_13 = x_61;
x_14 = x_62;
x_15 = x_63;
x_16 = x_64;
x_17 = x_65;
x_18 = lean_box(0);
x_19 = x_66;
x_20 = x_69;
x_21 = x_79;
goto block_29;
@ -19903,21 +19903,21 @@ else
{
lean_object* x_80; lean_object* x_81;
lean_dec(x_34);
x_80 = lean_ctor_get(x_63, 0);
x_80 = lean_ctor_get(x_67, 0);
lean_inc(x_80);
lean_dec_ref(x_63);
lean_dec_ref(x_67);
x_81 = lean_ctor_get(x_70, 0);
lean_inc(x_81);
lean_dec_ref(x_70);
x_11 = x_80;
x_12 = x_60;
x_13 = x_62;
x_14 = x_64;
x_15 = x_65;
x_16 = x_66;
x_17 = x_67;
x_18 = x_68;
x_19 = lean_box(0);
x_13 = x_61;
x_14 = x_62;
x_15 = x_63;
x_16 = x_64;
x_17 = x_65;
x_18 = lean_box(0);
x_19 = x_66;
x_20 = x_69;
x_21 = x_81;
goto block_29;
@ -19927,38 +19927,38 @@ else
{
lean_object* x_82; lean_object* x_83;
lean_dec(x_70);
lean_dec_ref(x_67);
lean_dec(x_64);
lean_dec(x_63);
lean_dec_ref(x_62);
lean_dec(x_60);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_62);
lean_dec_ref(x_61);
lean_dec_ref(x_60);
lean_dec(x_34);
x_82 = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__5;
x_83 = l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__1___redArg(x_82, x_66, x_68, x_69, x_65);
lean_dec(x_65);
lean_dec_ref(x_69);
lean_dec(x_68);
x_83 = l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__1___redArg(x_82, x_63, x_64, x_66, x_69);
lean_dec(x_69);
lean_dec_ref(x_66);
lean_dec(x_64);
lean_dec_ref(x_63);
return x_83;
}
}
}
block_112:
{
if (lean_obj_tag(x_86) == 0)
if (lean_obj_tag(x_85) == 0)
{
lean_object* x_97;
x_97 = lean_box(0);
x_60 = x_89;
x_61 = x_87;
x_62 = x_90;
x_63 = x_85;
x_64 = x_91;
x_65 = x_95;
x_66 = x_92;
x_67 = x_88;
x_68 = x_93;
x_69 = x_94;
x_60 = x_90;
x_61 = x_88;
x_62 = x_91;
x_63 = x_92;
x_64 = x_93;
x_65 = x_89;
x_66 = x_94;
x_67 = x_86;
x_68 = x_87;
x_69 = x_95;
x_70 = x_97;
x_71 = lean_box(0);
goto block_84;
@ -19966,11 +19966,11 @@ goto block_84;
else
{
uint8_t x_98;
x_98 = !lean_is_exclusive(x_86);
x_98 = !lean_is_exclusive(x_85);
if (x_98 == 0)
{
lean_object* x_99; lean_object* x_100;
x_99 = lean_ctor_get(x_86, 0);
x_99 = lean_ctor_get(x_85, 0);
x_100 = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse(x_99, x_92, x_93, x_94, x_95);
if (lean_obj_tag(x_100) == 0)
{
@ -19978,25 +19978,25 @@ lean_object* x_101;
x_101 = lean_ctor_get(x_100, 0);
lean_inc(x_101);
lean_dec_ref(x_100);
lean_ctor_set(x_86, 0, x_101);
x_60 = x_89;
x_61 = x_87;
x_62 = x_90;
x_63 = x_85;
x_64 = x_91;
x_65 = x_95;
x_66 = x_92;
x_67 = x_88;
x_68 = x_93;
x_69 = x_94;
x_70 = x_86;
lean_ctor_set(x_85, 0, x_101);
x_60 = x_90;
x_61 = x_88;
x_62 = x_91;
x_63 = x_92;
x_64 = x_93;
x_65 = x_89;
x_66 = x_94;
x_67 = x_86;
x_68 = x_87;
x_69 = x_95;
x_70 = x_85;
x_71 = lean_box(0);
goto block_84;
}
else
{
uint8_t x_102;
lean_free_object(x_86);
lean_free_object(x_85);
lean_dec(x_95);
lean_dec_ref(x_94);
lean_dec(x_93);
@ -20006,7 +20006,7 @@ lean_dec_ref(x_90);
lean_dec(x_89);
lean_dec_ref(x_88);
lean_dec(x_87);
lean_dec(x_85);
lean_dec(x_86);
lean_dec(x_34);
x_102 = !lean_is_exclusive(x_100);
if (x_102 == 0)
@ -20028,9 +20028,9 @@ return x_104;
else
{
lean_object* x_105; lean_object* x_106;
x_105 = lean_ctor_get(x_86, 0);
x_105 = lean_ctor_get(x_85, 0);
lean_inc(x_105);
lean_dec(x_86);
lean_dec(x_85);
x_106 = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse(x_105, x_92, x_93, x_94, x_95);
if (lean_obj_tag(x_106) == 0)
{
@ -20040,16 +20040,16 @@ lean_inc(x_107);
lean_dec_ref(x_106);
x_108 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_108, 0, x_107);
x_60 = x_89;
x_61 = x_87;
x_62 = x_90;
x_63 = x_85;
x_64 = x_91;
x_65 = x_95;
x_66 = x_92;
x_67 = x_88;
x_68 = x_93;
x_69 = x_94;
x_60 = x_90;
x_61 = x_88;
x_62 = x_91;
x_63 = x_92;
x_64 = x_93;
x_65 = x_89;
x_66 = x_94;
x_67 = x_86;
x_68 = x_87;
x_69 = x_95;
x_70 = x_108;
x_71 = lean_box(0);
goto block_84;
@ -20066,7 +20066,7 @@ lean_dec_ref(x_90);
lean_dec(x_89);
lean_dec_ref(x_88);
lean_dec(x_87);
lean_dec(x_85);
lean_dec(x_86);
lean_dec(x_34);
x_109 = lean_ctor_get(x_106, 0);
lean_inc(x_109);
@ -20127,8 +20127,8 @@ x_132 = l_Lean_Syntax_getArgs(x_131);
lean_dec(x_131);
x_133 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_133, 0, x_132);
x_85 = x_116;
x_86 = x_115;
x_85 = x_115;
x_86 = x_116;
x_87 = x_133;
x_88 = x_117;
x_89 = x_118;
@ -20147,8 +20147,8 @@ else
lean_object* x_134;
lean_dec(x_127);
x_134 = lean_box(0);
x_85 = x_116;
x_86 = x_115;
x_85 = x_115;
x_86 = x_116;
x_87 = x_134;
x_88 = x_117;
x_89 = x_118;
@ -20237,7 +20237,7 @@ goto block_135;
block_29:
{
lean_object* x_22;
x_22 = l_Lean_Elab_Tactic_getMainGoal___redArg(x_12, x_16, x_18, x_20, x_15);
x_22 = l_Lean_Elab_Tactic_getMainGoal___redArg(x_17, x_15, x_16, x_19, x_20);
if (lean_obj_tag(x_22) == 0)
{
lean_object* x_23; lean_object* x_24; lean_object* x_25;
@ -20249,21 +20249,21 @@ x_24 = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_El
lean_closure_set(x_24, 0, x_21);
lean_closure_set(x_24, 1, x_11);
lean_closure_set(x_24, 2, x_23);
x_25 = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg(x_23, x_24, x_17, x_12, x_13, x_14, x_16, x_18, x_20, x_15);
x_25 = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg(x_23, x_24, x_13, x_17, x_12, x_14, x_15, x_16, x_19, x_20);
return x_25;
}
else
{
uint8_t x_26;
lean_dec_ref(x_21);
lean_dec_ref(x_20);
lean_dec(x_18);
lean_dec_ref(x_17);
lean_dec_ref(x_16);
lean_dec(x_15);
lean_dec(x_20);
lean_dec_ref(x_19);
lean_dec(x_17);
lean_dec(x_16);
lean_dec_ref(x_15);
lean_dec(x_14);
lean_dec_ref(x_13);
lean_dec(x_12);
lean_dec_ref(x_12);
lean_dec(x_11);
x_26 = !lean_is_exclusive(x_22);
if (x_26 == 0)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -8229,9 +8229,9 @@ goto block_52;
block_44:
{
lean_object* x_41; lean_object* x_42; lean_object* x_43;
x_41 = lean_nat_add(x_39, x_40);
x_41 = lean_nat_add(x_38, x_40);
lean_dec(x_40);
lean_dec(x_39);
lean_dec(x_38);
if (lean_is_scalar(x_35)) {
x_42 = lean_alloc_ctor(0, 5, 0);
} else {
@ -8250,7 +8250,7 @@ if (lean_is_scalar(x_25)) {
lean_ctor_set(x_43, 0, x_37);
lean_ctor_set(x_43, 1, x_28);
lean_ctor_set(x_43, 2, x_29);
lean_ctor_set(x_43, 3, x_38);
lean_ctor_set(x_43, 3, x_39);
lean_ctor_set(x_43, 4, x_42);
return x_43;
}
@ -8276,8 +8276,8 @@ if (lean_obj_tag(x_31) == 0)
lean_object* x_50;
x_50 = lean_ctor_get(x_31, 0);
lean_inc(x_50);
x_38 = x_48;
x_39 = x_49;
x_38 = x_49;
x_39 = x_48;
x_40 = x_50;
goto block_44;
}
@ -8285,8 +8285,8 @@ else
{
lean_object* x_51;
x_51 = lean_unsigned_to_nat(0u);
x_38 = x_48;
x_39 = x_49;
x_38 = x_49;
x_39 = x_48;
x_40 = x_51;
goto block_44;
}

View file

@ -8713,15 +8713,15 @@ block_28:
{
lean_object* x_22; lean_object* x_23; lean_object* x_24;
lean_inc(x_3);
x_22 = l_List_get_x21Internal___redArg(x_13, x_15, x_3);
lean_dec(x_15);
x_22 = l_List_get_x21Internal___redArg(x_13, x_16, x_3);
lean_dec(x_16);
x_23 = l_Lean_Expr_bindingName_x21(x_12);
lean_dec(x_12);
lean_inc(x_20);
lean_inc_ref(x_19);
lean_inc(x_18);
lean_inc_ref(x_17);
x_24 = l_Lean_Meta_withLocalDeclD___at___00Lean_Meta_ArgsPacker_Unary_uncurryType_spec__1___redArg(x_23, x_22, x_16, x_17, x_18, x_19, x_20);
x_24 = l_Lean_Meta_withLocalDeclD___at___00Lean_Meta_ArgsPacker_Unary_uncurryType_spec__1___redArg(x_23, x_22, x_15, x_17, x_18, x_19, x_20);
if (lean_obj_tag(x_24) == 0)
{
lean_object* x_25; lean_object* x_26; lean_object* x_27;
@ -8797,8 +8797,8 @@ return x_45;
}
else
{
x_15 = x_37;
x_16 = x_38;
x_15 = x_38;
x_16 = x_37;
x_17 = x_30;
x_18 = x_31;
x_19 = x_32;

File diff suppressed because it is too large Load diff

View file

@ -7701,7 +7701,7 @@ return x_1;
LEAN_EXPORT lean_object* l_Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
_start:
{
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_28; double x_29; lean_object* x_30; lean_object* x_31; double x_32; lean_object* x_33; lean_object* x_34; lean_object* x_39; uint8_t x_40; double x_41; lean_object* x_42; lean_object* x_43; double x_44; lean_object* x_49; lean_object* x_50; lean_object* x_51; 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_64; double x_65; uint8_t x_66; lean_object* x_67; double x_68; lean_object* x_69; lean_object* x_70; lean_object* x_75; double x_76; lean_object* x_77; lean_object* x_78; uint8_t x_79; double x_80; lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88; double x_89; lean_object* x_90; lean_object* x_91; double x_92; uint8_t x_93; lean_object* x_127; uint8_t x_128; double x_129; lean_object* x_130; lean_object* x_131; double x_132; double x_133; lean_object* x_137; uint8_t x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_159; double x_160; lean_object* x_161; uint8_t x_162; lean_object* x_163; double x_164; uint8_t x_165; lean_object* x_199; double x_200; lean_object* x_201; lean_object* x_202; uint8_t x_203; double x_204; double x_205; lean_object* x_209; lean_object* x_210; uint8_t x_211; lean_object* x_212; lean_object* x_213; uint8_t x_249;
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; double x_28; uint8_t x_29; lean_object* x_30; lean_object* x_31; double x_32; lean_object* x_33; lean_object* x_34; double x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42; double x_43; lean_object* x_44; lean_object* x_49; lean_object* x_50; lean_object* x_51; 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_64; double x_65; double x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69; lean_object* x_70; lean_object* x_75; double x_76; double x_77; lean_object* x_78; lean_object* x_79; uint8_t x_80; lean_object* x_85; lean_object* x_86; double x_87; uint8_t x_88; lean_object* x_89; lean_object* x_90; double x_91; lean_object* x_92; uint8_t x_93; double x_127; lean_object* x_128; uint8_t x_129; lean_object* x_130; double x_131; lean_object* x_132; double x_133; lean_object* x_137; lean_object* x_138; uint8_t x_139; lean_object* x_140; lean_object* x_141; lean_object* x_159; double x_160; double x_161; lean_object* x_162; uint8_t x_163; lean_object* x_164; uint8_t x_165; lean_object* x_199; double x_200; double x_201; lean_object* x_202; lean_object* x_203; uint8_t x_204; double x_205; lean_object* x_209; lean_object* x_210; uint8_t x_211; lean_object* x_212; lean_object* x_213; uint8_t x_249;
x_11 = lean_ctor_get(x_8, 2);
x_12 = lean_ctor_get(x_8, 5);
lean_inc(x_1);
@ -7739,7 +7739,7 @@ goto block_248;
block_27:
{
lean_object* x_22;
x_22 = l___private_Lean_Util_Trace_0__Lean_addTraceNode___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1_spec__3(x_13, x_16, x_12, x_15, x_17, x_18, x_19, x_20);
x_22 = l___private_Lean_Util_Trace_0__Lean_addTraceNode___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1_spec__3(x_15, x_16, x_12, x_14, x_17, x_18, x_19, x_20);
lean_dec(x_20);
lean_dec(x_18);
lean_dec_ref(x_17);
@ -7747,13 +7747,13 @@ if (lean_obj_tag(x_22) == 0)
{
lean_object* x_23;
lean_dec_ref(x_22);
x_23 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1_spec__4___redArg(x_14);
x_23 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1_spec__4___redArg(x_13);
return x_23;
}
else
{
uint8_t x_24;
lean_dec_ref(x_14);
lean_dec_ref(x_13);
x_24 = !lean_is_exclusive(x_22);
if (x_24 == 0)
{
@ -7773,7 +7773,7 @@ return x_26;
}
block_38:
{
if (x_28 == 0)
if (x_29 == 0)
{
double x_35; lean_object* x_36;
x_35 = l_Lean_addTrace___at___00__private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq_spec__2___closed__0;
@ -7784,8 +7784,8 @@ lean_ctor_set_float(x_36, sizeof(void*)*2, x_35);
lean_ctor_set_float(x_36, sizeof(void*)*2 + 8, x_35);
lean_ctor_set_uint8(x_36, sizeof(void*)*2 + 16, x_4);
x_13 = x_30;
x_14 = x_31;
x_15 = x_33;
x_14 = x_33;
x_15 = x_31;
x_16 = x_36;
x_17 = x_6;
x_18 = x_7;
@ -7800,12 +7800,12 @@ lean_object* x_37;
x_37 = lean_alloc_ctor(0, 2, 17);
lean_ctor_set(x_37, 0, x_1);
lean_ctor_set(x_37, 1, x_5);
lean_ctor_set_float(x_37, sizeof(void*)*2, x_29);
lean_ctor_set_float(x_37, sizeof(void*)*2 + 8, x_32);
lean_ctor_set_float(x_37, sizeof(void*)*2, x_32);
lean_ctor_set_float(x_37, sizeof(void*)*2 + 8, x_28);
lean_ctor_set_uint8(x_37, sizeof(void*)*2 + 16, x_4);
x_13 = x_30;
x_14 = x_31;
x_15 = x_33;
x_14 = x_33;
x_15 = x_31;
x_16 = x_37;
x_17 = x_6;
x_18 = x_7;
@ -7822,19 +7822,19 @@ lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc_ref(x_43);
x_45 = lean_apply_6(x_2, x_43, x_6, x_7, x_8, x_9, lean_box(0));
lean_inc_ref(x_40);
x_45 = lean_apply_6(x_2, x_40, x_6, x_7, x_8, x_9, lean_box(0));
if (lean_obj_tag(x_45) == 0)
{
lean_object* x_46;
x_46 = lean_ctor_get(x_45, 0);
lean_inc(x_46);
lean_dec_ref(x_45);
x_28 = x_40;
x_28 = x_39;
x_29 = x_41;
x_30 = x_42;
x_31 = x_43;
x_32 = x_44;
x_30 = x_40;
x_31 = x_42;
x_32 = x_43;
x_33 = x_46;
x_34 = lean_box(0);
goto block_38;
@ -7844,11 +7844,11 @@ else
lean_object* x_47;
lean_dec_ref(x_45);
x_47 = l_Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1___redArg___closed__1;
x_28 = x_40;
x_28 = x_39;
x_29 = x_41;
x_30 = x_42;
x_31 = x_43;
x_32 = x_44;
x_30 = x_40;
x_31 = x_42;
x_32 = x_43;
x_33 = x_47;
x_34 = lean_box(0);
goto block_38;
@ -7857,7 +7857,7 @@ goto block_38;
block_63:
{
lean_object* x_58;
x_58 = l___private_Lean_Util_Trace_0__Lean_addTraceNode___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1_spec__3(x_51, x_52, x_12, x_50, x_53, x_54, x_55, x_56);
x_58 = l___private_Lean_Util_Trace_0__Lean_addTraceNode___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1_spec__3(x_50, x_52, x_12, x_51, x_53, x_54, x_55, x_56);
lean_dec(x_56);
lean_dec(x_54);
lean_dec_ref(x_53);
@ -7891,7 +7891,7 @@ return x_62;
}
block_74:
{
if (x_66 == 0)
if (x_68 == 0)
{
double x_71; lean_object* x_72;
x_71 = l_Lean_addTrace___at___00__private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq_spec__2___closed__0;
@ -7902,8 +7902,8 @@ lean_ctor_set_float(x_72, sizeof(void*)*2, x_71);
lean_ctor_set_float(x_72, sizeof(void*)*2 + 8, x_71);
lean_ctor_set_uint8(x_72, sizeof(void*)*2 + 16, x_4);
x_49 = x_64;
x_50 = x_69;
x_51 = x_67;
x_50 = x_67;
x_51 = x_69;
x_52 = x_72;
x_53 = x_6;
x_54 = x_7;
@ -7919,11 +7919,11 @@ x_73 = lean_alloc_ctor(0, 2, 17);
lean_ctor_set(x_73, 0, x_1);
lean_ctor_set(x_73, 1, x_5);
lean_ctor_set_float(x_73, sizeof(void*)*2, x_65);
lean_ctor_set_float(x_73, sizeof(void*)*2 + 8, x_68);
lean_ctor_set_float(x_73, sizeof(void*)*2 + 8, x_66);
lean_ctor_set_uint8(x_73, sizeof(void*)*2 + 16, x_4);
x_49 = x_64;
x_50 = x_69;
x_51 = x_67;
x_50 = x_67;
x_51 = x_69;
x_52 = x_73;
x_53 = x_6;
x_54 = x_7;
@ -7950,7 +7950,7 @@ lean_inc(x_82);
lean_dec_ref(x_81);
x_64 = x_75;
x_65 = x_76;
x_66 = x_79;
x_66 = x_77;
x_67 = x_78;
x_68 = x_80;
x_69 = x_82;
@ -7964,7 +7964,7 @@ lean_dec_ref(x_81);
x_83 = l_Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1___redArg___closed__1;
x_64 = x_75;
x_65 = x_76;
x_66 = x_79;
x_66 = x_77;
x_67 = x_78;
x_68 = x_80;
x_69 = x_83;
@ -8005,7 +8005,7 @@ lean_dec_ref(x_99);
lean_ctor_set(x_97, 0, x_100);
x_101 = lean_st_ref_set(x_9, x_95);
lean_dec(x_9);
x_102 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1_spec__4___redArg(x_91);
x_102 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1_spec__4___redArg(x_89);
return x_102;
}
else
@ -8023,7 +8023,7 @@ lean_ctor_set_uint64(x_106, sizeof(void*)*1, x_103);
lean_ctor_set(x_95, 4, x_106);
x_107 = lean_st_ref_set(x_9, x_95);
lean_dec(x_9);
x_108 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1_spec__4___redArg(x_91);
x_108 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1_spec__4___redArg(x_89);
return x_108;
}
}
@ -8080,43 +8080,43 @@ lean_ctor_set(x_123, 7, x_116);
lean_ctor_set(x_123, 8, x_117);
x_124 = lean_st_ref_set(x_9, x_123);
lean_dec(x_9);
x_125 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1_spec__4___redArg(x_91);
x_125 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1_spec__4___redArg(x_89);
return x_125;
}
}
else
{
x_39 = lean_box(0);
x_40 = x_88;
x_41 = x_89;
x_39 = x_87;
x_40 = x_89;
x_41 = x_88;
x_42 = x_90;
x_43 = x_91;
x_44 = x_92;
x_44 = lean_box(0);
goto block_48;
}
}
else
{
x_39 = lean_box(0);
x_40 = x_88;
x_41 = x_89;
x_39 = x_87;
x_40 = x_89;
x_41 = x_88;
x_42 = x_90;
x_43 = x_91;
x_44 = x_92;
x_44 = lean_box(0);
goto block_48;
}
}
block_136:
{
double x_134; uint8_t x_135;
x_134 = lean_float_sub(x_132, x_129);
x_134 = lean_float_sub(x_127, x_131);
x_135 = lean_float_decLt(x_133, x_134);
x_87 = lean_box(0);
x_88 = x_128;
x_89 = x_129;
x_87 = x_127;
x_88 = x_129;
x_89 = x_128;
x_90 = x_130;
x_91 = x_131;
x_92 = x_132;
x_92 = lean_box(0);
x_93 = x_135;
goto block_126;
}
@ -8124,7 +8124,7 @@ block_158:
{
lean_object* x_142; double x_143; double x_144; double x_145; double x_146; double x_147; lean_object* x_148; uint8_t x_149;
x_142 = lean_io_mono_nanos_now();
x_143 = lean_float_of_nat(x_139);
x_143 = lean_float_of_nat(x_138);
x_144 = l_Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1___redArg___closed__2;
x_145 = lean_float_div(x_143, x_144);
x_146 = lean_float_of_nat(x_142);
@ -8133,18 +8133,18 @@ x_148 = l_Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta
x_149 = l_Lean_Option_get___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1_spec__2(x_11, x_148);
if (x_149 == 0)
{
x_87 = lean_box(0);
x_87 = x_147;
x_88 = x_149;
x_89 = x_145;
x_89 = x_140;
x_90 = x_137;
x_91 = x_140;
x_92 = x_147;
x_91 = x_145;
x_92 = lean_box(0);
x_93 = x_149;
goto block_126;
}
else
{
if (x_138 == 0)
if (x_139 == 0)
{
lean_object* x_150; lean_object* x_151; double x_152; double x_153; double x_154;
x_150 = l_Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1___redArg___closed__4;
@ -8152,12 +8152,12 @@ x_151 = l_Lean_Option_get___at___00Lean_withTraceNode___at___00__private_Lean_Me
x_152 = lean_float_of_nat(x_151);
x_153 = l_Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1___redArg___closed__5;
x_154 = lean_float_div(x_152, x_153);
x_127 = lean_box(0);
x_128 = x_149;
x_129 = x_145;
x_127 = x_147;
x_128 = x_140;
x_129 = x_149;
x_130 = x_137;
x_131 = x_140;
x_132 = x_147;
x_131 = x_145;
x_132 = lean_box(0);
x_133 = x_154;
goto block_136;
}
@ -8167,12 +8167,12 @@ lean_object* x_155; lean_object* x_156; double x_157;
x_155 = l_Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1___redArg___closed__4;
x_156 = l_Lean_Option_get___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem_spec__1_spec__5(x_11, x_155);
x_157 = lean_float_of_nat(x_156);
x_127 = lean_box(0);
x_128 = x_149;
x_129 = x_145;
x_127 = x_147;
x_128 = x_140;
x_129 = x_149;
x_130 = x_137;
x_131 = x_140;
x_132 = x_147;
x_131 = x_145;
x_132 = lean_box(0);
x_133 = x_157;
goto block_136;
}
@ -8206,7 +8206,7 @@ if (x_170 == 0)
{
lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174;
x_171 = lean_ctor_get(x_169, 0);
x_172 = l_Lean_PersistentArray_append___redArg(x_163, x_171);
x_172 = l_Lean_PersistentArray_append___redArg(x_162, x_171);
lean_dec_ref(x_171);
lean_ctor_set(x_169, 0, x_172);
x_173 = lean_st_ref_set(x_9, x_167);
@ -8221,7 +8221,7 @@ x_175 = lean_ctor_get_uint64(x_169, sizeof(void*)*1);
x_176 = lean_ctor_get(x_169, 0);
lean_inc(x_176);
lean_dec(x_169);
x_177 = l_Lean_PersistentArray_append___redArg(x_163, x_176);
x_177 = l_Lean_PersistentArray_append___redArg(x_162, x_176);
lean_dec_ref(x_176);
x_178 = lean_alloc_ctor(0, 1, 8);
lean_ctor_set(x_178, 0, x_177);
@ -8265,7 +8265,7 @@ if (lean_is_exclusive(x_181)) {
lean_dec_ref(x_181);
x_192 = lean_box(0);
}
x_193 = l_Lean_PersistentArray_append___redArg(x_163, x_191);
x_193 = l_Lean_PersistentArray_append___redArg(x_162, x_191);
lean_dec_ref(x_191);
if (lean_is_scalar(x_192)) {
x_194 = lean_alloc_ctor(0, 1, 8);
@ -8294,10 +8294,10 @@ else
{
x_75 = x_159;
x_76 = x_160;
x_77 = lean_box(0);
x_78 = x_163;
x_79 = x_162;
x_80 = x_164;
x_77 = x_161;
x_78 = x_162;
x_79 = lean_box(0);
x_80 = x_163;
goto block_84;
}
}
@ -8305,24 +8305,24 @@ else
{
x_75 = x_159;
x_76 = x_160;
x_77 = lean_box(0);
x_78 = x_163;
x_79 = x_162;
x_80 = x_164;
x_77 = x_161;
x_78 = x_162;
x_79 = lean_box(0);
x_80 = x_163;
goto block_84;
}
}
block_208:
{
double x_206; uint8_t x_207;
x_206 = lean_float_sub(x_204, x_200);
x_206 = lean_float_sub(x_201, x_200);
x_207 = lean_float_decLt(x_205, x_206);
x_159 = x_199;
x_160 = x_200;
x_161 = lean_box(0);
x_162 = x_203;
x_163 = x_202;
x_164 = x_204;
x_161 = x_201;
x_162 = x_202;
x_163 = x_204;
x_164 = lean_box(0);
x_165 = x_207;
goto block_198;
}
@ -8338,10 +8338,10 @@ if (x_218 == 0)
{
x_159 = x_212;
x_160 = x_215;
x_161 = lean_box(0);
x_162 = x_218;
x_163 = x_210;
x_164 = x_216;
x_161 = x_216;
x_162 = x_210;
x_163 = x_218;
x_164 = lean_box(0);
x_165 = x_218;
goto block_198;
}
@ -8357,10 +8357,10 @@ x_222 = l_Lean_withTraceNode___at___00__private_Lean_Meta_Injective_0__Lean_Meta
x_223 = lean_float_div(x_221, x_222);
x_199 = x_212;
x_200 = x_215;
x_201 = lean_box(0);
x_201 = x_216;
x_202 = x_210;
x_203 = x_218;
x_204 = x_216;
x_203 = lean_box(0);
x_204 = x_218;
x_205 = x_223;
goto block_208;
}
@ -8372,10 +8372,10 @@ x_225 = l_Lean_Option_get___at___00Lean_withTraceNode___at___00__private_Lean_Me
x_226 = lean_float_of_nat(x_225);
x_199 = x_212;
x_200 = x_215;
x_201 = lean_box(0);
x_201 = x_216;
x_202 = x_210;
x_203 = x_218;
x_204 = x_216;
x_203 = lean_box(0);
x_204 = x_218;
x_205 = x_226;
goto block_208;
}
@ -8407,8 +8407,8 @@ if (x_234 == 0)
{
lean_ctor_set_tag(x_233, 1);
x_137 = x_229;
x_138 = x_231;
x_139 = x_232;
x_138 = x_232;
x_139 = x_231;
x_140 = x_233;
x_141 = lean_box(0);
goto block_158;
@ -8422,8 +8422,8 @@ lean_dec(x_233);
x_236 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_236, 0, x_235);
x_137 = x_229;
x_138 = x_231;
x_139 = x_232;
x_138 = x_232;
x_139 = x_231;
x_140 = x_236;
x_141 = lean_box(0);
goto block_158;
@ -8437,8 +8437,8 @@ if (x_237 == 0)
{
lean_ctor_set_tag(x_233, 0);
x_137 = x_229;
x_138 = x_231;
x_139 = x_232;
x_138 = x_232;
x_139 = x_231;
x_140 = x_233;
x_141 = lean_box(0);
goto block_158;
@ -8452,8 +8452,8 @@ lean_dec(x_233);
x_239 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_239, 0, x_238);
x_137 = x_229;
x_138 = x_231;
x_139 = x_232;
x_138 = x_232;
x_139 = x_231;
x_140 = x_239;
x_141 = lean_box(0);
goto block_158;

View file

@ -18462,7 +18462,7 @@ return x_1;
LEAN_EXPORT lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logError___at___00Lean_Meta_LazyDiscrTree_logImportFailure___at___00Lean_Meta_LazyDiscrTree_createImportedDiscrTree___at___00Lean_Meta_LazyDiscrTree_findImportMatches_spec__0_spec__0_spec__2_spec__3_spec__7(lean_object* x_1, lean_object* x_2, uint8_t x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
_start:
{
lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_50; uint8_t x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57; lean_object* x_77; uint8_t x_78; lean_object* x_79; lean_object* x_80; uint8_t x_81; lean_object* x_82; uint8_t x_83; lean_object* x_84; lean_object* x_88; lean_object* x_89; lean_object* x_90; uint8_t x_91; lean_object* x_92; uint8_t x_93; uint8_t x_94; uint8_t x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; uint8_t x_105; uint8_t x_106; uint8_t x_107; uint8_t x_109; uint8_t x_125;
lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_50; uint8_t x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57; lean_object* x_77; lean_object* x_78; uint8_t x_79; uint8_t x_80; lean_object* x_81; uint8_t x_82; lean_object* x_83; lean_object* x_84; lean_object* x_88; uint8_t x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; uint8_t x_93; uint8_t x_94; uint8_t x_100; lean_object* x_101; uint8_t x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106; uint8_t x_107; uint8_t x_109; uint8_t x_125;
x_100 = 2;
x_125 = l_Lean_instBEqMessageSeverity_beq(x_3, x_100);
if (x_125 == 0)
@ -18497,15 +18497,15 @@ lean_ctor_set(x_25, 0, x_21);
lean_ctor_set(x_25, 1, x_22);
x_26 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_26, 0, x_25);
lean_ctor_set(x_26, 1, x_10);
lean_ctor_set(x_26, 1, x_14);
x_27 = lean_alloc_ctor(0, 5, 3);
lean_ctor_set(x_27, 0, x_13);
lean_ctor_set(x_27, 1, x_16);
lean_ctor_set(x_27, 0, x_10);
lean_ctor_set(x_27, 1, x_12);
lean_ctor_set(x_27, 2, x_11);
lean_ctor_set(x_27, 3, x_14);
lean_ctor_set(x_27, 3, x_16);
lean_ctor_set(x_27, 4, x_26);
lean_ctor_set_uint8(x_27, sizeof(void*)*5, x_15);
lean_ctor_set_uint8(x_27, sizeof(void*)*5 + 1, x_12);
lean_ctor_set_uint8(x_27, sizeof(void*)*5 + 1, x_13);
lean_ctor_set_uint8(x_27, sizeof(void*)*5 + 2, x_4);
x_28 = l_Lean_MessageLog_add(x_27, x_24);
lean_ctor_set(x_20, 6, x_28);
@ -18542,15 +18542,15 @@ lean_ctor_set(x_41, 0, x_21);
lean_ctor_set(x_41, 1, x_22);
x_42 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_42, 0, x_41);
lean_ctor_set(x_42, 1, x_10);
lean_ctor_set(x_42, 1, x_14);
x_43 = lean_alloc_ctor(0, 5, 3);
lean_ctor_set(x_43, 0, x_13);
lean_ctor_set(x_43, 1, x_16);
lean_ctor_set(x_43, 0, x_10);
lean_ctor_set(x_43, 1, x_12);
lean_ctor_set(x_43, 2, x_11);
lean_ctor_set(x_43, 3, x_14);
lean_ctor_set(x_43, 3, x_16);
lean_ctor_set(x_43, 4, x_42);
lean_ctor_set_uint8(x_43, sizeof(void*)*5, x_15);
lean_ctor_set_uint8(x_43, sizeof(void*)*5 + 1, x_12);
lean_ctor_set_uint8(x_43, sizeof(void*)*5 + 1, x_13);
lean_ctor_set_uint8(x_43, sizeof(void*)*5 + 2, x_4);
x_44 = l_Lean_MessageLog_add(x_43, x_38);
x_45 = lean_alloc_ctor(0, 9, 0);
@ -18581,24 +18581,24 @@ if (x_60 == 0)
lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65;
x_61 = lean_ctor_get(x_59, 0);
lean_inc_ref(x_55);
x_62 = l_Lean_FileMap_toPosition(x_55, x_52);
lean_dec(x_52);
x_62 = l_Lean_FileMap_toPosition(x_55, x_53);
lean_dec(x_53);
x_63 = l_Lean_FileMap_toPosition(x_55, x_57);
lean_dec(x_57);
x_64 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_64, 0, x_63);
x_65 = l_Lean_logAt___at___00Lean_log___at___00Lean_logError___at___00Lean_Meta_LazyDiscrTree_logImportFailure___at___00Lean_Meta_LazyDiscrTree_createImportedDiscrTree___at___00Lean_Meta_LazyDiscrTree_findImportMatches_spec__0_spec__0_spec__2_spec__3_spec__7___closed__0;
if (x_56 == 0)
if (x_51 == 0)
{
lean_free_object(x_59);
lean_dec_ref(x_50);
x_10 = x_61;
x_10 = x_52;
x_11 = x_64;
x_12 = x_51;
x_13 = x_53;
x_14 = x_65;
x_15 = x_54;
x_16 = x_62;
x_12 = x_62;
x_13 = x_54;
x_14 = x_61;
x_15 = x_56;
x_16 = x_65;
x_17 = x_7;
x_18 = x_8;
x_19 = lean_box(0);
@ -18615,7 +18615,7 @@ lean_object* x_67;
lean_dec_ref(x_64);
lean_dec_ref(x_62);
lean_dec(x_61);
lean_dec_ref(x_53);
lean_dec_ref(x_52);
lean_dec_ref(x_7);
x_67 = lean_box(0);
lean_ctor_set(x_59, 0, x_67);
@ -18624,13 +18624,13 @@ return x_59;
else
{
lean_free_object(x_59);
x_10 = x_61;
x_10 = x_52;
x_11 = x_64;
x_12 = x_51;
x_13 = x_53;
x_14 = x_65;
x_15 = x_54;
x_16 = x_62;
x_12 = x_62;
x_13 = x_54;
x_14 = x_61;
x_15 = x_56;
x_16 = x_65;
x_17 = x_7;
x_18 = x_8;
x_19 = lean_box(0);
@ -18645,23 +18645,23 @@ x_68 = lean_ctor_get(x_59, 0);
lean_inc(x_68);
lean_dec(x_59);
lean_inc_ref(x_55);
x_69 = l_Lean_FileMap_toPosition(x_55, x_52);
lean_dec(x_52);
x_69 = l_Lean_FileMap_toPosition(x_55, x_53);
lean_dec(x_53);
x_70 = l_Lean_FileMap_toPosition(x_55, x_57);
lean_dec(x_57);
x_71 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_71, 0, x_70);
x_72 = l_Lean_logAt___at___00Lean_log___at___00Lean_logError___at___00Lean_Meta_LazyDiscrTree_logImportFailure___at___00Lean_Meta_LazyDiscrTree_createImportedDiscrTree___at___00Lean_Meta_LazyDiscrTree_findImportMatches_spec__0_spec__0_spec__2_spec__3_spec__7___closed__0;
if (x_56 == 0)
if (x_51 == 0)
{
lean_dec_ref(x_50);
x_10 = x_68;
x_10 = x_52;
x_11 = x_71;
x_12 = x_51;
x_13 = x_53;
x_14 = x_72;
x_15 = x_54;
x_16 = x_69;
x_12 = x_69;
x_13 = x_54;
x_14 = x_68;
x_15 = x_56;
x_16 = x_72;
x_17 = x_7;
x_18 = x_8;
x_19 = lean_box(0);
@ -18678,7 +18678,7 @@ lean_object* x_74; lean_object* x_75;
lean_dec_ref(x_71);
lean_dec_ref(x_69);
lean_dec(x_68);
lean_dec_ref(x_53);
lean_dec_ref(x_52);
lean_dec_ref(x_7);
x_74 = lean_box(0);
x_75 = lean_alloc_ctor(0, 1, 0);
@ -18687,13 +18687,13 @@ return x_75;
}
else
{
x_10 = x_68;
x_10 = x_52;
x_11 = x_71;
x_12 = x_51;
x_13 = x_53;
x_14 = x_72;
x_15 = x_54;
x_16 = x_69;
x_12 = x_69;
x_13 = x_54;
x_14 = x_68;
x_15 = x_56;
x_16 = x_72;
x_17 = x_7;
x_18 = x_8;
x_19 = lean_box(0);
@ -18705,18 +18705,18 @@ goto block_49;
block_87:
{
lean_object* x_85;
x_85 = l_Lean_Syntax_getTailPos_x3f(x_82, x_81);
lean_dec(x_82);
x_85 = l_Lean_Syntax_getTailPos_x3f(x_83, x_82);
lean_dec(x_83);
if (lean_obj_tag(x_85) == 0)
{
lean_inc(x_84);
x_50 = x_77;
x_51 = x_78;
x_52 = x_84;
x_53 = x_79;
x_54 = x_81;
x_55 = x_80;
x_56 = x_83;
x_51 = x_79;
x_52 = x_78;
x_53 = x_84;
x_54 = x_80;
x_55 = x_81;
x_56 = x_82;
x_57 = x_84;
goto block_76;
}
@ -18727,12 +18727,12 @@ x_86 = lean_ctor_get(x_85, 0);
lean_inc(x_86);
lean_dec_ref(x_85);
x_50 = x_77;
x_51 = x_78;
x_52 = x_84;
x_53 = x_79;
x_54 = x_81;
x_55 = x_80;
x_56 = x_83;
x_51 = x_79;
x_52 = x_78;
x_53 = x_84;
x_54 = x_80;
x_55 = x_81;
x_56 = x_82;
x_57 = x_86;
goto block_76;
}
@ -18740,20 +18740,20 @@ goto block_76;
block_99:
{
lean_object* x_95; lean_object* x_96;
x_95 = l_Lean_replaceRef(x_1, x_90);
lean_dec(x_90);
x_96 = l_Lean_Syntax_getPos_x3f(x_95, x_91);
x_95 = l_Lean_replaceRef(x_1, x_91);
lean_dec(x_91);
x_96 = l_Lean_Syntax_getPos_x3f(x_95, x_93);
if (lean_obj_tag(x_96) == 0)
{
lean_object* x_97;
x_97 = lean_unsigned_to_nat(0u);
x_77 = x_88;
x_78 = x_94;
x_78 = x_90;
x_79 = x_89;
x_80 = x_92;
x_81 = x_91;
x_82 = x_95;
x_83 = x_93;
x_80 = x_94;
x_81 = x_92;
x_82 = x_93;
x_83 = x_95;
x_84 = x_97;
goto block_87;
}
@ -18764,12 +18764,12 @@ x_98 = lean_ctor_get(x_96, 0);
lean_inc(x_98);
lean_dec_ref(x_96);
x_77 = x_88;
x_78 = x_94;
x_78 = x_90;
x_79 = x_89;
x_80 = x_92;
x_81 = x_91;
x_82 = x_95;
x_83 = x_93;
x_80 = x_94;
x_81 = x_92;
x_82 = x_93;
x_83 = x_95;
x_84 = x_98;
goto block_87;
}
@ -18778,23 +18778,23 @@ block_108:
{
if (x_107 == 0)
{
x_88 = x_101;
x_88 = x_105;
x_89 = x_102;
x_90 = x_103;
x_91 = x_106;
x_90 = x_101;
x_91 = x_103;
x_92 = x_104;
x_93 = x_105;
x_93 = x_106;
x_94 = x_3;
goto block_99;
}
else
{
x_88 = x_101;
x_88 = x_105;
x_89 = x_102;
x_90 = x_103;
x_91 = x_106;
x_90 = x_101;
x_91 = x_103;
x_92 = x_104;
x_93 = x_105;
x_93 = x_106;
x_94 = x_100;
goto block_99;
}
@ -18821,11 +18821,11 @@ if (x_119 == 0)
lean_inc_ref(x_111);
lean_inc(x_113);
lean_inc_ref(x_110);
x_101 = x_117;
x_102 = x_110;
x_101 = x_110;
x_102 = x_114;
x_103 = x_113;
x_104 = x_111;
x_105 = x_114;
x_105 = x_117;
x_106 = x_109;
x_107 = x_119;
goto block_108;
@ -18838,11 +18838,11 @@ x_121 = l_Lean_Option_get___at___00Lean_Meta_LazyDiscrTree_addConstImportData_sp
lean_inc_ref(x_111);
lean_inc(x_113);
lean_inc_ref(x_110);
x_101 = x_117;
x_102 = x_110;
x_101 = x_110;
x_102 = x_114;
x_103 = x_113;
x_104 = x_111;
x_105 = x_114;
x_105 = x_117;
x_106 = x_109;
x_107 = x_121;
goto block_108;
@ -20279,7 +20279,7 @@ return x_12;
LEAN_EXPORT lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logError___at___00Lean_Meta_LazyDiscrTree_logImportFailure___at___00Lean_Meta_LazyDiscrTree_createModuleDiscrTree_spec__0_spec__0_spec__2_spec__4(lean_object* x_1, lean_object* x_2, uint8_t x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
uint8_t x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_48; lean_object* x_49; uint8_t x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53; uint8_t x_54; lean_object* x_55; lean_object* x_75; lean_object* x_76; uint8_t x_77; lean_object* x_78; uint8_t x_79; uint8_t x_80; lean_object* x_81; lean_object* x_82; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; uint8_t x_90; uint8_t x_91; uint8_t x_92; uint8_t x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103; uint8_t x_104; uint8_t x_105; uint8_t x_107; uint8_t x_123;
lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; uint8_t x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51; uint8_t x_52; lean_object* x_53; uint8_t x_54; lean_object* x_55; lean_object* x_75; lean_object* x_76; uint8_t x_77; uint8_t x_78; lean_object* x_79; uint8_t x_80; lean_object* x_81; lean_object* x_82; lean_object* x_86; lean_object* x_87; uint8_t x_88; lean_object* x_89; lean_object* x_90; uint8_t x_91; uint8_t x_92; uint8_t x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103; uint8_t x_104; uint8_t x_105; uint8_t x_107; uint8_t x_123;
x_98 = 2;
x_123 = l_Lean_instBEqMessageSeverity_beq(x_3, x_98);
if (x_123 == 0)
@ -20314,15 +20314,15 @@ lean_ctor_set(x_23, 0, x_19);
lean_ctor_set(x_23, 1, x_20);
x_24 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_24, 0, x_23);
lean_ctor_set(x_24, 1, x_10);
lean_ctor_set(x_24, 1, x_9);
x_25 = lean_alloc_ctor(0, 5, 3);
lean_ctor_set(x_25, 0, x_9);
lean_ctor_set(x_25, 1, x_12);
lean_ctor_set(x_25, 2, x_13);
lean_ctor_set(x_25, 3, x_14);
lean_ctor_set(x_25, 0, x_13);
lean_ctor_set(x_25, 1, x_14);
lean_ctor_set(x_25, 2, x_10);
lean_ctor_set(x_25, 3, x_8);
lean_ctor_set(x_25, 4, x_24);
lean_ctor_set_uint8(x_25, sizeof(void*)*5, x_11);
lean_ctor_set_uint8(x_25, sizeof(void*)*5 + 1, x_8);
lean_ctor_set_uint8(x_25, sizeof(void*)*5, x_12);
lean_ctor_set_uint8(x_25, sizeof(void*)*5 + 1, x_11);
lean_ctor_set_uint8(x_25, sizeof(void*)*5 + 2, x_4);
x_26 = l_Lean_MessageLog_add(x_25, x_22);
lean_ctor_set(x_18, 6, x_26);
@ -20359,15 +20359,15 @@ lean_ctor_set(x_39, 0, x_19);
lean_ctor_set(x_39, 1, x_20);
x_40 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_40, 0, x_39);
lean_ctor_set(x_40, 1, x_10);
lean_ctor_set(x_40, 1, x_9);
x_41 = lean_alloc_ctor(0, 5, 3);
lean_ctor_set(x_41, 0, x_9);
lean_ctor_set(x_41, 1, x_12);
lean_ctor_set(x_41, 2, x_13);
lean_ctor_set(x_41, 3, x_14);
lean_ctor_set(x_41, 0, x_13);
lean_ctor_set(x_41, 1, x_14);
lean_ctor_set(x_41, 2, x_10);
lean_ctor_set(x_41, 3, x_8);
lean_ctor_set(x_41, 4, x_40);
lean_ctor_set_uint8(x_41, sizeof(void*)*5, x_11);
lean_ctor_set_uint8(x_41, sizeof(void*)*5 + 1, x_8);
lean_ctor_set_uint8(x_41, sizeof(void*)*5, x_12);
lean_ctor_set_uint8(x_41, sizeof(void*)*5 + 1, x_11);
lean_ctor_set_uint8(x_41, sizeof(void*)*5 + 2, x_4);
x_42 = l_Lean_MessageLog_add(x_41, x_36);
x_43 = lean_alloc_ctor(0, 9, 0);
@ -20397,25 +20397,25 @@ if (x_58 == 0)
{
lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63;
x_59 = lean_ctor_get(x_57, 0);
lean_inc_ref(x_51);
x_60 = l_Lean_FileMap_toPosition(x_51, x_53);
lean_dec(x_53);
x_61 = l_Lean_FileMap_toPosition(x_51, x_55);
lean_inc_ref(x_50);
x_60 = l_Lean_FileMap_toPosition(x_50, x_49);
lean_dec(x_49);
x_61 = l_Lean_FileMap_toPosition(x_50, x_55);
lean_dec(x_55);
x_62 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_62, 0, x_61);
x_63 = l_Lean_logAt___at___00Lean_log___at___00Lean_logError___at___00Lean_Meta_LazyDiscrTree_logImportFailure___at___00Lean_Meta_LazyDiscrTree_createImportedDiscrTree___at___00Lean_Meta_LazyDiscrTree_findImportMatches_spec__0_spec__0_spec__2_spec__3_spec__7___closed__0;
if (x_52 == 0)
if (x_54 == 0)
{
lean_free_object(x_57);
lean_dec_ref(x_48);
x_8 = x_50;
x_9 = x_49;
x_10 = x_59;
x_11 = x_54;
x_12 = x_60;
x_13 = x_62;
x_14 = x_63;
x_8 = x_63;
x_9 = x_59;
x_10 = x_62;
x_11 = x_51;
x_12 = x_52;
x_13 = x_53;
x_14 = x_60;
x_15 = x_5;
x_16 = x_6;
x_17 = lean_box(0);
@ -20432,7 +20432,7 @@ lean_object* x_65;
lean_dec_ref(x_62);
lean_dec_ref(x_60);
lean_dec(x_59);
lean_dec_ref(x_49);
lean_dec_ref(x_53);
lean_dec_ref(x_5);
x_65 = lean_box(0);
lean_ctor_set(x_57, 0, x_65);
@ -20441,13 +20441,13 @@ return x_57;
else
{
lean_free_object(x_57);
x_8 = x_50;
x_9 = x_49;
x_10 = x_59;
x_11 = x_54;
x_12 = x_60;
x_13 = x_62;
x_14 = x_63;
x_8 = x_63;
x_9 = x_59;
x_10 = x_62;
x_11 = x_51;
x_12 = x_52;
x_13 = x_53;
x_14 = x_60;
x_15 = x_5;
x_16 = x_6;
x_17 = lean_box(0);
@ -20461,24 +20461,24 @@ lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean
x_66 = lean_ctor_get(x_57, 0);
lean_inc(x_66);
lean_dec(x_57);
lean_inc_ref(x_51);
x_67 = l_Lean_FileMap_toPosition(x_51, x_53);
lean_dec(x_53);
x_68 = l_Lean_FileMap_toPosition(x_51, x_55);
lean_inc_ref(x_50);
x_67 = l_Lean_FileMap_toPosition(x_50, x_49);
lean_dec(x_49);
x_68 = l_Lean_FileMap_toPosition(x_50, x_55);
lean_dec(x_55);
x_69 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_69, 0, x_68);
x_70 = l_Lean_logAt___at___00Lean_log___at___00Lean_logError___at___00Lean_Meta_LazyDiscrTree_logImportFailure___at___00Lean_Meta_LazyDiscrTree_createImportedDiscrTree___at___00Lean_Meta_LazyDiscrTree_findImportMatches_spec__0_spec__0_spec__2_spec__3_spec__7___closed__0;
if (x_52 == 0)
if (x_54 == 0)
{
lean_dec_ref(x_48);
x_8 = x_50;
x_9 = x_49;
x_10 = x_66;
x_11 = x_54;
x_12 = x_67;
x_13 = x_69;
x_14 = x_70;
x_8 = x_70;
x_9 = x_66;
x_10 = x_69;
x_11 = x_51;
x_12 = x_52;
x_13 = x_53;
x_14 = x_67;
x_15 = x_5;
x_16 = x_6;
x_17 = lean_box(0);
@ -20495,7 +20495,7 @@ lean_object* x_72; lean_object* x_73;
lean_dec_ref(x_69);
lean_dec_ref(x_67);
lean_dec(x_66);
lean_dec_ref(x_49);
lean_dec_ref(x_53);
lean_dec_ref(x_5);
x_72 = lean_box(0);
x_73 = lean_alloc_ctor(0, 1, 0);
@ -20504,13 +20504,13 @@ return x_73;
}
else
{
x_8 = x_50;
x_9 = x_49;
x_10 = x_66;
x_11 = x_54;
x_12 = x_67;
x_13 = x_69;
x_14 = x_70;
x_8 = x_70;
x_9 = x_66;
x_10 = x_69;
x_11 = x_51;
x_12 = x_52;
x_13 = x_53;
x_14 = x_67;
x_15 = x_5;
x_16 = x_6;
x_17 = lean_box(0);
@ -20522,17 +20522,17 @@ goto block_47;
block_85:
{
lean_object* x_83;
x_83 = l_Lean_Syntax_getTailPos_x3f(x_81, x_80);
x_83 = l_Lean_Syntax_getTailPos_x3f(x_81, x_78);
lean_dec(x_81);
if (lean_obj_tag(x_83) == 0)
{
lean_inc(x_82);
x_48 = x_75;
x_49 = x_78;
x_50 = x_77;
x_51 = x_76;
x_52 = x_79;
x_53 = x_82;
x_49 = x_82;
x_50 = x_76;
x_51 = x_77;
x_52 = x_78;
x_53 = x_79;
x_54 = x_80;
x_55 = x_82;
goto block_74;
@ -20544,11 +20544,11 @@ x_84 = lean_ctor_get(x_83, 0);
lean_inc(x_84);
lean_dec_ref(x_83);
x_48 = x_75;
x_49 = x_78;
x_50 = x_77;
x_51 = x_76;
x_52 = x_79;
x_53 = x_82;
x_49 = x_82;
x_50 = x_76;
x_51 = x_77;
x_52 = x_78;
x_53 = x_79;
x_54 = x_80;
x_55 = x_84;
goto block_74;
@ -20557,18 +20557,18 @@ goto block_74;
block_97:
{
lean_object* x_93; lean_object* x_94;
x_93 = l_Lean_replaceRef(x_1, x_89);
lean_dec(x_89);
x_94 = l_Lean_Syntax_getPos_x3f(x_93, x_91);
x_93 = l_Lean_replaceRef(x_1, x_90);
lean_dec(x_90);
x_94 = l_Lean_Syntax_getPos_x3f(x_93, x_88);
if (lean_obj_tag(x_94) == 0)
{
lean_object* x_95;
x_95 = lean_unsigned_to_nat(0u);
x_75 = x_86;
x_76 = x_88;
x_76 = x_87;
x_77 = x_92;
x_78 = x_87;
x_79 = x_90;
x_78 = x_88;
x_79 = x_89;
x_80 = x_91;
x_81 = x_93;
x_82 = x_95;
@ -20581,10 +20581,10 @@ x_96 = lean_ctor_get(x_94, 0);
lean_inc(x_96);
lean_dec_ref(x_94);
x_75 = x_86;
x_76 = x_88;
x_76 = x_87;
x_77 = x_92;
x_78 = x_87;
x_79 = x_90;
x_78 = x_88;
x_79 = x_89;
x_80 = x_91;
x_81 = x_93;
x_82 = x_96;
@ -20595,23 +20595,23 @@ block_106:
{
if (x_105 == 0)
{
x_86 = x_99;
x_87 = x_101;
x_88 = x_100;
x_89 = x_102;
x_90 = x_103;
x_91 = x_104;
x_86 = x_101;
x_87 = x_99;
x_88 = x_104;
x_89 = x_100;
x_90 = x_102;
x_91 = x_103;
x_92 = x_3;
goto block_97;
}
else
{
x_86 = x_99;
x_87 = x_101;
x_88 = x_100;
x_89 = x_102;
x_90 = x_103;
x_91 = x_104;
x_86 = x_101;
x_87 = x_99;
x_88 = x_104;
x_89 = x_100;
x_90 = x_102;
x_91 = x_103;
x_92 = x_98;
goto block_97;
}
@ -20638,9 +20638,9 @@ if (x_117 == 0)
lean_inc(x_111);
lean_inc_ref(x_108);
lean_inc_ref(x_109);
x_99 = x_115;
x_100 = x_109;
x_101 = x_108;
x_99 = x_109;
x_100 = x_108;
x_101 = x_115;
x_102 = x_111;
x_103 = x_112;
x_104 = x_107;
@ -20655,9 +20655,9 @@ x_119 = l_Lean_Option_get___at___00Lean_Meta_LazyDiscrTree_addConstImportData_sp
lean_inc(x_111);
lean_inc_ref(x_108);
lean_inc_ref(x_109);
x_99 = x_115;
x_100 = x_109;
x_101 = x_108;
x_99 = x_109;
x_100 = x_108;
x_101 = x_115;
x_102 = x_111;
x_103 = x_112;
x_104 = x_107;

View file

@ -9709,15 +9709,15 @@ x_33 = l_Lean_Syntax_getArg(x_29, x_14);
lean_dec(x_29);
x_34 = l_Lean_Elab_Tactic_expandLocation(x_33);
lean_dec(x_33);
x_15 = x_7;
x_16 = x_4;
x_17 = x_2;
x_18 = x_5;
x_19 = x_8;
x_20 = x_3;
x_21 = lean_box(0);
x_22 = x_9;
x_23 = x_6;
x_15 = x_9;
x_16 = x_8;
x_17 = x_5;
x_18 = x_3;
x_19 = lean_box(0);
x_20 = x_7;
x_21 = x_6;
x_22 = x_4;
x_23 = x_2;
x_24 = x_34;
goto block_27;
}
@ -9730,15 +9730,15 @@ x_35 = l_Lean_Meta_AC_evalNf0___closed__2;
x_36 = lean_alloc_ctor(1, 1, 1);
lean_ctor_set(x_36, 0, x_35);
lean_ctor_set_uint8(x_36, sizeof(void*)*1, x_12);
x_15 = x_7;
x_16 = x_4;
x_17 = x_2;
x_18 = x_5;
x_19 = x_8;
x_20 = x_3;
x_21 = lean_box(0);
x_22 = x_9;
x_23 = x_6;
x_15 = x_9;
x_16 = x_8;
x_17 = x_5;
x_18 = x_3;
x_19 = lean_box(0);
x_20 = x_7;
x_21 = x_6;
x_22 = x_4;
x_23 = x_2;
x_24 = x_36;
goto block_27;
}
@ -9748,7 +9748,7 @@ lean_object* x_25; lean_object* x_26;
x_25 = lean_alloc_closure((void*)(l_Lean_Meta_AC_evalNf0___lam__0___boxed), 11, 2);
lean_closure_set(x_25, 0, x_24);
lean_closure_set(x_25, 1, x_14);
x_26 = l_Lean_Elab_Tactic_withMainContext___redArg(x_25, x_17, x_20, x_16, x_18, x_23, x_15, x_19, x_22);
x_26 = l_Lean_Elab_Tactic_withMainContext___redArg(x_25, x_23, x_18, x_22, x_17, x_21, x_20, x_16, x_15);
return x_26;
}
}

View file

@ -5358,7 +5358,7 @@ goto _start;
LEAN_EXPORT lean_object* l_Lean_MVarId_apply___lam__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
_start:
{
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_52;
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t 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; lean_object* x_36; lean_object* x_52;
lean_inc(x_2);
lean_inc(x_1);
x_52 = l_Lean_MVarId_checkNotAssigned(x_1, x_2, x_6, x_7, x_8, x_9);
@ -5664,13 +5664,13 @@ x_79 = lean_nat_dec_lt(x_76, x_77);
if (x_79 == 0)
{
lean_dec(x_66);
x_28 = x_76;
x_29 = x_60;
x_30 = x_62;
x_31 = x_73;
x_32 = x_61;
x_33 = x_68;
x_34 = x_59;
x_28 = x_68;
x_29 = x_76;
x_30 = x_61;
x_31 = x_62;
x_32 = x_60;
x_33 = x_59;
x_34 = x_73;
x_35 = x_78;
x_36 = lean_box(0);
goto block_51;
@ -5682,13 +5682,13 @@ x_80 = lean_nat_dec_le(x_77, x_77);
if (x_80 == 0)
{
lean_dec(x_66);
x_28 = x_76;
x_29 = x_60;
x_30 = x_62;
x_31 = x_73;
x_32 = x_61;
x_33 = x_68;
x_34 = x_59;
x_28 = x_68;
x_29 = x_76;
x_30 = x_61;
x_31 = x_62;
x_32 = x_60;
x_33 = x_59;
x_34 = x_73;
x_35 = x_78;
x_36 = lean_box(0);
goto block_51;
@ -5706,13 +5706,13 @@ lean_object* x_84;
x_84 = lean_ctor_get(x_83, 0);
lean_inc(x_84);
lean_dec_ref(x_83);
x_28 = x_76;
x_29 = x_60;
x_30 = x_62;
x_31 = x_73;
x_32 = x_61;
x_33 = x_68;
x_34 = x_59;
x_28 = x_68;
x_29 = x_76;
x_30 = x_61;
x_31 = x_62;
x_32 = x_60;
x_33 = x_59;
x_34 = x_73;
x_35 = x_84;
x_36 = lean_box(0);
goto block_51;
@ -5889,11 +5889,11 @@ lean_object* x_18; lean_object* x_19; lean_object* x_20;
x_18 = lean_array_to_list(x_17);
x_19 = l_List_appendTR___redArg(x_15, x_18);
lean_inc(x_19);
x_20 = l_List_forM___at___00Lean_MVarId_apply_spec__3(x_19, x_16, x_11, x_14, x_12);
x_20 = l_List_forM___at___00Lean_MVarId_apply_spec__3(x_19, x_14, x_13, x_11, x_12);
lean_dec(x_12);
lean_dec_ref(x_11);
lean_dec(x_13);
lean_dec_ref(x_14);
lean_dec(x_11);
lean_dec_ref(x_16);
if (lean_obj_tag(x_20) == 0)
{
uint8_t x_21;
@ -5939,18 +5939,18 @@ return x_26;
block_51:
{
lean_object* x_37;
x_37 = l_Lean_Meta_getMVarsNoDelayed(x_31, x_34, x_29, x_32, x_30);
x_37 = l_Lean_Meta_getMVarsNoDelayed(x_34, x_33, x_32, x_30, x_31);
if (lean_obj_tag(x_37) == 0)
{
lean_object* x_38; lean_object* x_39;
x_38 = lean_ctor_get(x_37, 0);
lean_inc(x_38);
lean_dec_ref(x_37);
lean_inc(x_30);
lean_inc_ref(x_32);
lean_inc(x_29);
lean_inc_ref(x_34);
x_39 = l___private_Lean_Meta_Tactic_Apply_0__Lean_Meta_reorderGoals(x_35, x_33, x_34, x_29, x_32, x_30);
lean_inc(x_31);
lean_inc_ref(x_30);
lean_inc(x_32);
lean_inc_ref(x_33);
x_39 = l___private_Lean_Meta_Tactic_Apply_0__Lean_Meta_reorderGoals(x_35, x_28, x_33, x_32, x_30, x_31);
if (lean_obj_tag(x_39) == 0)
{
lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43;
@ -5958,17 +5958,17 @@ x_40 = lean_ctor_get(x_39, 0);
lean_inc(x_40);
lean_dec_ref(x_39);
x_41 = lean_array_get_size(x_38);
x_42 = lean_mk_empty_array_with_capacity(x_28);
x_43 = lean_nat_dec_lt(x_28, x_41);
x_42 = lean_mk_empty_array_with_capacity(x_29);
x_43 = lean_nat_dec_lt(x_29, x_41);
if (x_43 == 0)
{
lean_dec(x_38);
x_11 = x_29;
x_12 = x_30;
x_13 = lean_box(0);
x_14 = x_32;
x_11 = x_30;
x_12 = x_31;
x_13 = x_32;
x_14 = x_33;
x_15 = x_40;
x_16 = x_34;
x_16 = lean_box(0);
x_17 = x_42;
goto block_27;
}
@ -5979,12 +5979,12 @@ x_44 = lean_nat_dec_le(x_41, x_41);
if (x_44 == 0)
{
lean_dec(x_38);
x_11 = x_29;
x_12 = x_30;
x_13 = lean_box(0);
x_14 = x_32;
x_11 = x_30;
x_12 = x_31;
x_13 = x_32;
x_14 = x_33;
x_15 = x_40;
x_16 = x_34;
x_16 = lean_box(0);
x_17 = x_42;
goto block_27;
}
@ -5995,12 +5995,12 @@ x_45 = 0;
x_46 = lean_usize_of_nat(x_41);
x_47 = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_MVarId_apply_spec__4(x_40, x_38, x_45, x_46, x_42);
lean_dec(x_38);
x_11 = x_29;
x_12 = x_30;
x_13 = lean_box(0);
x_14 = x_32;
x_11 = x_30;
x_12 = x_31;
x_13 = x_32;
x_14 = x_33;
x_15 = x_40;
x_16 = x_34;
x_16 = lean_box(0);
x_17 = x_47;
goto block_27;
}
@ -6009,10 +6009,10 @@ goto block_27;
else
{
lean_dec(x_38);
lean_dec_ref(x_34);
lean_dec_ref(x_32);
lean_dec(x_30);
lean_dec(x_29);
lean_dec_ref(x_33);
lean_dec(x_32);
lean_dec(x_31);
lean_dec_ref(x_30);
return x_39;
}
}
@ -6020,10 +6020,10 @@ else
{
uint8_t x_48;
lean_dec_ref(x_35);
lean_dec_ref(x_34);
lean_dec_ref(x_32);
lean_dec(x_30);
lean_dec(x_29);
lean_dec_ref(x_33);
lean_dec(x_32);
lean_dec(x_31);
lean_dec_ref(x_30);
x_48 = !lean_is_exclusive(x_37);
if (x_48 == 0)
{

View file

@ -1769,7 +1769,7 @@ return x_1;
LEAN_EXPORT lean_object* l_Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
_start:
{
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_28; double x_29; double x_30; lean_object* x_31; uint8_t x_32; lean_object* x_33; lean_object* x_34; lean_object* x_39; double x_40; lean_object* x_41; double x_42; uint8_t x_43; lean_object* x_44; lean_object* x_49; lean_object* x_50; lean_object* x_51; 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_64; double x_65; uint8_t x_66; lean_object* x_67; double x_68; lean_object* x_69; lean_object* x_70; lean_object* x_75; lean_object* x_76; uint8_t x_77; double x_78; lean_object* x_79; double x_80; lean_object* x_85; lean_object* x_86; lean_object* x_87; double x_88; double x_89; lean_object* x_90; uint8_t x_91; lean_object* x_92; uint8_t x_93; lean_object* x_127; double x_128; lean_object* x_129; double x_130; uint8_t x_131; lean_object* x_132; double x_133; lean_object* x_137; uint8_t x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_159; lean_object* x_160; double x_161; uint8_t x_162; lean_object* x_163; double x_164; uint8_t x_165; lean_object* x_199; lean_object* x_200; uint8_t x_201; double x_202; lean_object* x_203; double x_204; double x_205; lean_object* x_209; uint8_t x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; uint8_t x_249;
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_28; uint8_t x_29; lean_object* x_30; double x_31; double x_32; lean_object* x_33; lean_object* x_34; lean_object* x_39; uint8_t x_40; lean_object* x_41; lean_object* x_42; double x_43; double x_44; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; uint8_t x_64; lean_object* x_65; double x_66; lean_object* x_67; double x_68; lean_object* x_69; lean_object* x_70; uint8_t x_75; lean_object* x_76; lean_object* x_77; double x_78; lean_object* x_79; double x_80; lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88; lean_object* x_89; lean_object* x_90; double x_91; double x_92; uint8_t x_93; lean_object* x_127; uint8_t x_128; lean_object* x_129; lean_object* x_130; double x_131; double x_132; double x_133; uint8_t x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; uint8_t x_159; lean_object* x_160; lean_object* x_161; double x_162; lean_object* x_163; double x_164; uint8_t x_165; uint8_t x_199; lean_object* x_200; lean_object* x_201; double x_202; lean_object* x_203; double x_204; double x_205; lean_object* x_209; uint8_t x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; uint8_t x_249;
x_11 = lean_ctor_get(x_8, 2);
x_12 = lean_ctor_get(x_8, 5);
lean_inc(x_1);
@ -1807,7 +1807,7 @@ goto block_248;
block_27:
{
lean_object* x_22;
x_22 = l___private_Lean_Util_Trace_0__Lean_addTraceNode___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__4(x_13, x_16, x_12, x_14, x_17, x_18, x_19, x_20);
x_22 = l___private_Lean_Util_Trace_0__Lean_addTraceNode___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__4(x_15, x_16, x_12, x_14, x_17, x_18, x_19, x_20);
lean_dec(x_20);
lean_dec(x_18);
lean_dec_ref(x_17);
@ -1815,13 +1815,13 @@ if (lean_obj_tag(x_22) == 0)
{
lean_object* x_23;
lean_dec_ref(x_22);
x_23 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__5___redArg(x_15);
x_23 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__5___redArg(x_13);
return x_23;
}
else
{
uint8_t x_24;
lean_dec_ref(x_15);
lean_dec_ref(x_13);
x_24 = !lean_is_exclusive(x_22);
if (x_24 == 0)
{
@ -1841,7 +1841,7 @@ return x_26;
}
block_38:
{
if (x_32 == 0)
if (x_29 == 0)
{
double x_35; lean_object* x_36;
x_35 = l_Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1___redArg___closed__0;
@ -1853,7 +1853,7 @@ lean_ctor_set_float(x_36, sizeof(void*)*2 + 8, x_35);
lean_ctor_set_uint8(x_36, sizeof(void*)*2 + 16, x_4);
x_13 = x_28;
x_14 = x_33;
x_15 = x_31;
x_15 = x_30;
x_16 = x_36;
x_17 = x_6;
x_18 = x_7;
@ -1868,12 +1868,12 @@ lean_object* x_37;
x_37 = lean_alloc_ctor(0, 2, 17);
lean_ctor_set(x_37, 0, x_1);
lean_ctor_set(x_37, 1, x_5);
lean_ctor_set_float(x_37, sizeof(void*)*2, x_29);
lean_ctor_set_float(x_37, sizeof(void*)*2 + 8, x_30);
lean_ctor_set_float(x_37, sizeof(void*)*2, x_32);
lean_ctor_set_float(x_37, sizeof(void*)*2 + 8, x_31);
lean_ctor_set_uint8(x_37, sizeof(void*)*2 + 16, x_4);
x_13 = x_28;
x_14 = x_33;
x_15 = x_31;
x_15 = x_30;
x_16 = x_37;
x_17 = x_6;
x_18 = x_7;
@ -1890,8 +1890,8 @@ lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc_ref(x_41);
x_45 = lean_apply_6(x_2, x_41, x_6, x_7, x_8, x_9, lean_box(0));
lean_inc_ref(x_39);
x_45 = lean_apply_6(x_2, x_39, x_6, x_7, x_8, x_9, lean_box(0));
if (lean_obj_tag(x_45) == 0)
{
lean_object* x_46;
@ -1901,8 +1901,8 @@ lean_dec_ref(x_45);
x_28 = x_39;
x_29 = x_40;
x_30 = x_42;
x_31 = x_41;
x_32 = x_43;
x_31 = x_43;
x_32 = x_44;
x_33 = x_46;
x_34 = lean_box(0);
goto block_38;
@ -1915,8 +1915,8 @@ x_47 = l_Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lea
x_28 = x_39;
x_29 = x_40;
x_30 = x_42;
x_31 = x_41;
x_32 = x_43;
x_31 = x_43;
x_32 = x_44;
x_33 = x_47;
x_34 = lean_box(0);
goto block_38;
@ -1925,7 +1925,7 @@ goto block_38;
block_63:
{
lean_object* x_58;
x_58 = l___private_Lean_Util_Trace_0__Lean_addTraceNode___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__4(x_50, x_52, x_12, x_49, x_53, x_54, x_55, x_56);
x_58 = l___private_Lean_Util_Trace_0__Lean_addTraceNode___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__4(x_50, x_52, x_12, x_51, x_53, x_54, x_55, x_56);
lean_dec(x_56);
lean_dec(x_54);
lean_dec_ref(x_53);
@ -1933,13 +1933,13 @@ if (lean_obj_tag(x_58) == 0)
{
lean_object* x_59;
lean_dec_ref(x_58);
x_59 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__5___redArg(x_51);
x_59 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__5___redArg(x_49);
return x_59;
}
else
{
uint8_t x_60;
lean_dec_ref(x_51);
lean_dec_ref(x_49);
x_60 = !lean_is_exclusive(x_58);
if (x_60 == 0)
{
@ -1959,7 +1959,7 @@ return x_62;
}
block_74:
{
if (x_66 == 0)
if (x_64 == 0)
{
double x_71; lean_object* x_72;
x_71 = l_Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1___redArg___closed__0;
@ -1969,9 +1969,9 @@ lean_ctor_set(x_72, 1, x_5);
lean_ctor_set_float(x_72, sizeof(void*)*2, x_71);
lean_ctor_set_float(x_72, sizeof(void*)*2 + 8, x_71);
lean_ctor_set_uint8(x_72, sizeof(void*)*2 + 16, x_4);
x_49 = x_69;
x_50 = x_64;
x_51 = x_67;
x_49 = x_65;
x_50 = x_67;
x_51 = x_69;
x_52 = x_72;
x_53 = x_6;
x_54 = x_7;
@ -1987,11 +1987,11 @@ x_73 = lean_alloc_ctor(0, 2, 17);
lean_ctor_set(x_73, 0, x_1);
lean_ctor_set(x_73, 1, x_5);
lean_ctor_set_float(x_73, sizeof(void*)*2, x_68);
lean_ctor_set_float(x_73, sizeof(void*)*2 + 8, x_65);
lean_ctor_set_float(x_73, sizeof(void*)*2 + 8, x_66);
lean_ctor_set_uint8(x_73, sizeof(void*)*2 + 16, x_4);
x_49 = x_69;
x_50 = x_64;
x_51 = x_67;
x_49 = x_65;
x_50 = x_67;
x_51 = x_69;
x_52 = x_73;
x_53 = x_6;
x_54 = x_7;
@ -2008,8 +2008,8 @@ lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc_ref(x_79);
x_81 = lean_apply_6(x_2, x_79, x_6, x_7, x_8, x_9, lean_box(0));
lean_inc_ref(x_76);
x_81 = lean_apply_6(x_2, x_76, x_6, x_7, x_8, x_9, lean_box(0));
if (lean_obj_tag(x_81) == 0)
{
lean_object* x_82;
@ -2017,8 +2017,8 @@ x_82 = lean_ctor_get(x_81, 0);
lean_inc(x_82);
lean_dec_ref(x_81);
x_64 = x_75;
x_65 = x_78;
x_66 = x_77;
x_65 = x_76;
x_66 = x_78;
x_67 = x_79;
x_68 = x_80;
x_69 = x_82;
@ -2031,8 +2031,8 @@ lean_object* x_83;
lean_dec_ref(x_81);
x_83 = l_Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1___redArg___closed__2;
x_64 = x_75;
x_65 = x_78;
x_66 = x_77;
x_65 = x_76;
x_66 = x_78;
x_67 = x_79;
x_68 = x_80;
x_69 = x_83;
@ -2068,12 +2068,12 @@ if (x_98 == 0)
{
lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102;
x_99 = lean_ctor_get(x_97, 0);
x_100 = l_Lean_PersistentArray_append___redArg(x_87, x_99);
x_100 = l_Lean_PersistentArray_append___redArg(x_90, x_99);
lean_dec_ref(x_99);
lean_ctor_set(x_97, 0, x_100);
x_101 = lean_st_ref_set(x_9, x_95);
lean_dec(x_9);
x_102 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__5___redArg(x_90);
x_102 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__5___redArg(x_87);
return x_102;
}
else
@ -2083,7 +2083,7 @@ x_103 = lean_ctor_get_uint64(x_97, sizeof(void*)*1);
x_104 = lean_ctor_get(x_97, 0);
lean_inc(x_104);
lean_dec(x_97);
x_105 = l_Lean_PersistentArray_append___redArg(x_87, x_104);
x_105 = l_Lean_PersistentArray_append___redArg(x_90, x_104);
lean_dec_ref(x_104);
x_106 = lean_alloc_ctor(0, 1, 8);
lean_ctor_set(x_106, 0, x_105);
@ -2091,7 +2091,7 @@ lean_ctor_set_uint64(x_106, sizeof(void*)*1, x_103);
lean_ctor_set(x_95, 4, x_106);
x_107 = lean_st_ref_set(x_9, x_95);
lean_dec(x_9);
x_108 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__5___redArg(x_90);
x_108 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__5___redArg(x_87);
return x_108;
}
}
@ -2127,7 +2127,7 @@ if (lean_is_exclusive(x_109)) {
lean_dec_ref(x_109);
x_120 = lean_box(0);
}
x_121 = l_Lean_PersistentArray_append___redArg(x_87, x_119);
x_121 = l_Lean_PersistentArray_append___redArg(x_90, x_119);
lean_dec_ref(x_119);
if (lean_is_scalar(x_120)) {
x_122 = lean_alloc_ctor(0, 1, 8);
@ -2148,7 +2148,7 @@ lean_ctor_set(x_123, 7, x_116);
lean_ctor_set(x_123, 8, x_117);
x_124 = lean_st_ref_set(x_9, x_123);
lean_dec(x_9);
x_125 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__5___redArg(x_90);
x_125 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__5___redArg(x_87);
return x_125;
}
}
@ -2156,10 +2156,10 @@ else
{
x_39 = x_87;
x_40 = x_88;
x_41 = x_90;
x_42 = x_89;
x_41 = lean_box(0);
x_42 = x_90;
x_43 = x_91;
x_44 = lean_box(0);
x_44 = x_92;
goto block_48;
}
}
@ -2167,24 +2167,24 @@ else
{
x_39 = x_87;
x_40 = x_88;
x_41 = x_90;
x_42 = x_89;
x_41 = lean_box(0);
x_42 = x_90;
x_43 = x_91;
x_44 = lean_box(0);
x_44 = x_92;
goto block_48;
}
}
block_136:
{
double x_134; uint8_t x_135;
x_134 = lean_float_sub(x_130, x_128);
x_134 = lean_float_sub(x_131, x_132);
x_135 = lean_float_decLt(x_133, x_134);
x_87 = x_127;
x_88 = x_128;
x_89 = x_130;
x_90 = x_129;
x_89 = lean_box(0);
x_90 = x_130;
x_91 = x_131;
x_92 = lean_box(0);
x_92 = x_132;
x_93 = x_135;
goto block_126;
}
@ -2201,18 +2201,18 @@ x_148 = l_Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Le
x_149 = l_Lean_Option_get___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__3(x_11, x_148);
if (x_149 == 0)
{
x_87 = x_137;
x_88 = x_145;
x_89 = x_147;
x_90 = x_140;
x_91 = x_149;
x_92 = lean_box(0);
x_87 = x_140;
x_88 = x_149;
x_89 = lean_box(0);
x_90 = x_138;
x_91 = x_147;
x_92 = x_145;
x_93 = x_149;
goto block_126;
}
else
{
if (x_138 == 0)
if (x_137 == 0)
{
lean_object* x_150; lean_object* x_151; double x_152; double x_153; double x_154;
x_150 = l_Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1___redArg___closed__5;
@ -2220,12 +2220,12 @@ x_151 = l_Lean_Option_get___at___00Lean_withTraceNode___at___00__private_Lean_Me
x_152 = lean_float_of_nat(x_151);
x_153 = l_Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1___redArg___closed__6;
x_154 = lean_float_div(x_152, x_153);
x_127 = x_137;
x_128 = x_145;
x_129 = x_140;
x_130 = x_147;
x_131 = x_149;
x_132 = lean_box(0);
x_127 = x_140;
x_128 = x_149;
x_129 = lean_box(0);
x_130 = x_138;
x_131 = x_147;
x_132 = x_145;
x_133 = x_154;
goto block_136;
}
@ -2235,12 +2235,12 @@ lean_object* x_155; lean_object* x_156; double x_157;
x_155 = l_Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1___redArg___closed__5;
x_156 = l_Lean_Option_get___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__6(x_11, x_155);
x_157 = lean_float_of_nat(x_156);
x_127 = x_137;
x_128 = x_145;
x_129 = x_140;
x_130 = x_147;
x_131 = x_149;
x_132 = lean_box(0);
x_127 = x_140;
x_128 = x_149;
x_129 = lean_box(0);
x_130 = x_138;
x_131 = x_147;
x_132 = x_145;
x_133 = x_157;
goto block_136;
}
@ -2274,12 +2274,12 @@ if (x_170 == 0)
{
lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174;
x_171 = lean_ctor_get(x_169, 0);
x_172 = l_Lean_PersistentArray_append___redArg(x_159, x_171);
x_172 = l_Lean_PersistentArray_append___redArg(x_163, x_171);
lean_dec_ref(x_171);
lean_ctor_set(x_169, 0, x_172);
x_173 = lean_st_ref_set(x_9, x_167);
lean_dec(x_9);
x_174 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__5___redArg(x_163);
x_174 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__5___redArg(x_160);
return x_174;
}
else
@ -2289,7 +2289,7 @@ x_175 = lean_ctor_get_uint64(x_169, sizeof(void*)*1);
x_176 = lean_ctor_get(x_169, 0);
lean_inc(x_176);
lean_dec(x_169);
x_177 = l_Lean_PersistentArray_append___redArg(x_159, x_176);
x_177 = l_Lean_PersistentArray_append___redArg(x_163, x_176);
lean_dec_ref(x_176);
x_178 = lean_alloc_ctor(0, 1, 8);
lean_ctor_set(x_178, 0, x_177);
@ -2297,7 +2297,7 @@ lean_ctor_set_uint64(x_178, sizeof(void*)*1, x_175);
lean_ctor_set(x_167, 4, x_178);
x_179 = lean_st_ref_set(x_9, x_167);
lean_dec(x_9);
x_180 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__5___redArg(x_163);
x_180 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__5___redArg(x_160);
return x_180;
}
}
@ -2333,7 +2333,7 @@ if (lean_is_exclusive(x_181)) {
lean_dec_ref(x_181);
x_192 = lean_box(0);
}
x_193 = l_Lean_PersistentArray_append___redArg(x_159, x_191);
x_193 = l_Lean_PersistentArray_append___redArg(x_163, x_191);
lean_dec_ref(x_191);
if (lean_is_scalar(x_192)) {
x_194 = lean_alloc_ctor(0, 1, 8);
@ -2354,16 +2354,16 @@ lean_ctor_set(x_195, 7, x_188);
lean_ctor_set(x_195, 8, x_189);
x_196 = lean_st_ref_set(x_9, x_195);
lean_dec(x_9);
x_197 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__5___redArg(x_163);
x_197 = l_MonadExcept_ofExcept___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__5___redArg(x_160);
return x_197;
}
}
else
{
x_75 = x_159;
x_76 = lean_box(0);
x_77 = x_162;
x_78 = x_161;
x_76 = x_160;
x_77 = lean_box(0);
x_78 = x_162;
x_79 = x_163;
x_80 = x_164;
goto block_84;
@ -2372,9 +2372,9 @@ goto block_84;
else
{
x_75 = x_159;
x_76 = lean_box(0);
x_77 = x_162;
x_78 = x_161;
x_76 = x_160;
x_77 = lean_box(0);
x_78 = x_162;
x_79 = x_163;
x_80 = x_164;
goto block_84;
@ -2386,9 +2386,9 @@ double x_206; uint8_t x_207;
x_206 = lean_float_sub(x_202, x_204);
x_207 = lean_float_decLt(x_205, x_206);
x_159 = x_199;
x_160 = lean_box(0);
x_161 = x_202;
x_162 = x_201;
x_160 = x_200;
x_161 = lean_box(0);
x_162 = x_202;
x_163 = x_203;
x_164 = x_204;
x_165 = x_207;
@ -2398,17 +2398,17 @@ block_227:
{
lean_object* x_214; double x_215; double x_216; lean_object* x_217; uint8_t x_218;
x_214 = lean_io_get_num_heartbeats();
x_215 = lean_float_of_nat(x_211);
x_215 = lean_float_of_nat(x_209);
x_216 = lean_float_of_nat(x_214);
x_217 = l_Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1___redArg___closed__4;
x_218 = l_Lean_Option_get___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__3(x_11, x_217);
if (x_218 == 0)
{
x_159 = x_209;
x_160 = lean_box(0);
x_161 = x_216;
x_162 = x_218;
x_163 = x_212;
x_159 = x_218;
x_160 = x_212;
x_161 = lean_box(0);
x_162 = x_216;
x_163 = x_211;
x_164 = x_215;
x_165 = x_218;
goto block_198;
@ -2423,11 +2423,11 @@ x_220 = l_Lean_Option_get___at___00Lean_withTraceNode___at___00__private_Lean_Me
x_221 = lean_float_of_nat(x_220);
x_222 = l_Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1___redArg___closed__6;
x_223 = lean_float_div(x_221, x_222);
x_199 = x_209;
x_200 = lean_box(0);
x_201 = x_218;
x_199 = x_218;
x_200 = x_212;
x_201 = lean_box(0);
x_202 = x_216;
x_203 = x_212;
x_203 = x_211;
x_204 = x_215;
x_205 = x_223;
goto block_208;
@ -2438,11 +2438,11 @@ lean_object* x_224; lean_object* x_225; double x_226;
x_224 = l_Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1___redArg___closed__5;
x_225 = l_Lean_Option_get___at___00Lean_withTraceNode___at___00__private_Lean_Meta_Tactic_Backtrack_0__Lean_Meta_Tactic_Backtrack_Backtrack_run_spec__1_spec__6(x_11, x_224);
x_226 = lean_float_of_nat(x_225);
x_199 = x_209;
x_200 = lean_box(0);
x_201 = x_218;
x_199 = x_218;
x_200 = x_212;
x_201 = lean_box(0);
x_202 = x_216;
x_203 = x_212;
x_203 = x_211;
x_204 = x_215;
x_205 = x_226;
goto block_208;
@ -2474,8 +2474,8 @@ x_234 = !lean_is_exclusive(x_233);
if (x_234 == 0)
{
lean_ctor_set_tag(x_233, 1);
x_137 = x_229;
x_138 = x_231;
x_137 = x_231;
x_138 = x_229;
x_139 = x_232;
x_140 = x_233;
x_141 = lean_box(0);
@ -2489,8 +2489,8 @@ lean_inc(x_235);
lean_dec(x_233);
x_236 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_236, 0, x_235);
x_137 = x_229;
x_138 = x_231;
x_137 = x_231;
x_138 = x_229;
x_139 = x_232;
x_140 = x_236;
x_141 = lean_box(0);
@ -2504,8 +2504,8 @@ x_237 = !lean_is_exclusive(x_233);
if (x_237 == 0)
{
lean_ctor_set_tag(x_233, 0);
x_137 = x_229;
x_138 = x_231;
x_137 = x_231;
x_138 = x_229;
x_139 = x_232;
x_140 = x_233;
x_141 = lean_box(0);
@ -2519,8 +2519,8 @@ lean_inc(x_238);
lean_dec(x_233);
x_239 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_239, 0, x_238);
x_137 = x_229;
x_138 = x_231;
x_137 = x_231;
x_138 = x_229;
x_139 = x_232;
x_140 = x_239;
x_141 = lean_box(0);
@ -2544,9 +2544,9 @@ x_242 = !lean_is_exclusive(x_241);
if (x_242 == 0)
{
lean_ctor_set_tag(x_241, 1);
x_209 = x_229;
x_209 = x_240;
x_210 = x_231;
x_211 = x_240;
x_211 = x_229;
x_212 = x_241;
x_213 = lean_box(0);
goto block_227;
@ -2559,9 +2559,9 @@ lean_inc(x_243);
lean_dec(x_241);
x_244 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_244, 0, x_243);
x_209 = x_229;
x_209 = x_240;
x_210 = x_231;
x_211 = x_240;
x_211 = x_229;
x_212 = x_244;
x_213 = lean_box(0);
goto block_227;
@ -2574,9 +2574,9 @@ x_245 = !lean_is_exclusive(x_241);
if (x_245 == 0)
{
lean_ctor_set_tag(x_241, 0);
x_209 = x_229;
x_209 = x_240;
x_210 = x_231;
x_211 = x_240;
x_211 = x_229;
x_212 = x_241;
x_213 = lean_box(0);
goto block_227;
@ -2589,9 +2589,9 @@ lean_inc(x_246);
lean_dec(x_241);
x_247 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_247, 0, x_246);
x_209 = x_229;
x_209 = x_240;
x_210 = x_231;
x_211 = x_240;
x_211 = x_229;
x_212 = x_247;
x_213 = lean_box(0);
goto block_227;
@ -5273,11 +5273,11 @@ block_33:
if (x_28 == 0)
{
lean_object* x_29;
lean_dec_ref(x_26);
x_29 = l_Lean_Meta_SavedState_restore___redArg(x_25, x_12, x_14);
lean_dec_ref(x_25);
x_29 = l_Lean_Meta_SavedState_restore___redArg(x_26, x_12, x_14);
lean_dec(x_14);
lean_dec(x_12);
lean_dec_ref(x_25);
lean_dec_ref(x_26);
if (lean_obj_tag(x_29) == 0)
{
lean_dec_ref(x_29);
@ -5310,11 +5310,11 @@ return x_32;
}
else
{
lean_dec_ref(x_25);
lean_dec_ref(x_26);
lean_dec(x_14);
lean_dec(x_12);
lean_dec(x_3);
x_22 = x_26;
x_22 = x_25;
goto block_24;
}
}
@ -5409,8 +5409,8 @@ if (x_53 == 0)
{
uint8_t x_54;
x_54 = l_Lean_Exception_isRuntime(x_52);
x_25 = x_50;
x_26 = x_51;
x_25 = x_51;
x_26 = x_50;
x_27 = lean_box(0);
x_28 = x_54;
goto block_33;
@ -5418,8 +5418,8 @@ goto block_33;
else
{
lean_dec(x_52);
x_25 = x_50;
x_26 = x_51;
x_25 = x_51;
x_26 = x_50;
x_27 = lean_box(0);
x_28 = x_53;
goto block_33;

File diff suppressed because it is too large Load diff

View file

@ -21949,9 +21949,9 @@ goto block_154;
block_147:
{
lean_object* x_144; lean_object* x_145; lean_object* x_146;
x_144 = lean_nat_add(x_142, x_143);
x_144 = lean_nat_add(x_141, x_143);
lean_dec(x_143);
lean_dec(x_142);
lean_dec(x_141);
if (lean_is_scalar(x_138)) {
x_145 = lean_alloc_ctor(0, 5, 0);
} else {
@ -21970,7 +21970,7 @@ if (lean_is_scalar(x_128)) {
lean_ctor_set(x_146, 0, x_140);
lean_ctor_set(x_146, 1, x_130);
lean_ctor_set(x_146, 2, x_131);
lean_ctor_set(x_146, 3, x_141);
lean_ctor_set(x_146, 3, x_142);
lean_ctor_set(x_146, 4, x_145);
return x_146;
}
@ -21996,8 +21996,8 @@ if (lean_obj_tag(x_133) == 0)
lean_object* x_152;
x_152 = lean_ctor_get(x_133, 0);
lean_inc(x_152);
x_141 = x_150;
x_142 = x_151;
x_141 = x_151;
x_142 = x_150;
x_143 = x_152;
goto block_147;
}
@ -22005,8 +22005,8 @@ else
{
lean_object* x_153;
x_153 = lean_unsigned_to_nat(0u);
x_141 = x_150;
x_142 = x_151;
x_141 = x_151;
x_142 = x_150;
x_143 = x_153;
goto block_147;
}
@ -23200,7 +23200,7 @@ block_47:
{
lean_object* x_45; lean_object* x_46;
x_45 = l_List_forIn_x27_loop___at___00List_forIn_x27_loop___at___00__private_Lean_Meta_Tactic_Grind_AC_Eq_0__Lean_Meta_Grind_AC_EqCnstr_superposeWithAC_spec__3_spec__3___redArg___closed__3;
x_46 = l_panic___at___00__private_Lean_Meta_Tactic_Grind_AC_Eq_0__Lean_Meta_Grind_AC_EqCnstr_superposeWithAC_spec__0(x_45, x_43, x_41, x_37, x_36, x_38, x_39, x_42, x_40, x_35);
x_46 = l_panic___at___00__private_Lean_Meta_Tactic_Grind_AC_Eq_0__Lean_Meta_Grind_AC_EqCnstr_superposeWithAC_spec__0(x_45, x_39, x_44, x_42, x_38, x_43, x_41, x_36, x_35, x_37);
x_20 = x_46;
goto block_34;
}
@ -23208,17 +23208,17 @@ block_78:
{
lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71;
x_67 = lean_ctor_get(x_3, 1);
lean_inc_ref(x_56);
lean_inc_ref(x_67);
x_68 = l_Lean_Grind_AC_Seq_union(x_67, x_56);
lean_inc_ref(x_54);
lean_inc_ref(x_67);
x_68 = l_Lean_Grind_AC_Seq_union(x_67, x_54);
lean_inc_ref(x_55);
lean_inc_ref(x_53);
x_69 = l_Lean_Grind_AC_Seq_union(x_53, x_54);
x_69 = l_Lean_Grind_AC_Seq_union(x_53, x_55);
lean_inc_ref(x_3);
x_70 = lean_alloc_ctor(9, 5, 0);
lean_ctor_set(x_70, 0, x_54);
lean_ctor_set(x_70, 1, x_55);
lean_ctor_set(x_70, 2, x_56);
lean_ctor_set(x_70, 0, x_55);
lean_ctor_set(x_70, 1, x_56);
lean_ctor_set(x_70, 2, x_54);
lean_ctor_set(x_70, 3, x_3);
lean_ctor_set(x_70, 4, x_17);
lean_inc(x_57);
@ -23340,16 +23340,16 @@ if (x_91 == 0)
if (x_89 == 0)
{
lean_dec(x_17);
x_35 = x_87;
x_36 = x_82;
x_37 = x_81;
x_38 = x_83;
x_39 = x_84;
x_40 = x_86;
x_41 = x_80;
x_42 = x_85;
x_43 = x_79;
x_44 = lean_box(0);
x_35 = x_86;
x_36 = x_85;
x_37 = x_87;
x_38 = x_82;
x_39 = x_79;
x_40 = lean_box(0);
x_41 = x_84;
x_42 = x_81;
x_43 = x_83;
x_44 = x_80;
goto block_47;
}
else
@ -23379,9 +23379,9 @@ x_99 = l_List_forIn_x27_loop___at___00List_forIn_x27_loop___at___00__private_Lea
x_100 = l_Lean_Option_get___at___00__private_Lean_Meta_Tactic_Grind_AC_Eq_0__Lean_Meta_Grind_AC_EqCnstr_superposeWithAC_spec__1(x_98, x_99);
if (x_100 == 0)
{
x_54 = x_95;
x_55 = x_96;
x_56 = x_97;
x_54 = x_97;
x_55 = x_95;
x_56 = x_96;
x_57 = x_79;
x_58 = x_80;
x_59 = x_81;
@ -23436,9 +23436,9 @@ goto block_34;
}
else
{
x_54 = x_95;
x_55 = x_96;
x_56 = x_97;
x_54 = x_97;
x_55 = x_95;
x_56 = x_96;
x_57 = x_79;
x_58 = x_80;
x_59 = x_81;
@ -23494,16 +23494,16 @@ return x_110;
else
{
lean_dec(x_17);
x_35 = x_87;
x_36 = x_82;
x_37 = x_81;
x_38 = x_83;
x_39 = x_84;
x_40 = x_86;
x_41 = x_80;
x_42 = x_85;
x_43 = x_79;
x_44 = lean_box(0);
x_35 = x_86;
x_36 = x_85;
x_37 = x_87;
x_38 = x_82;
x_39 = x_79;
x_40 = lean_box(0);
x_41 = x_84;
x_42 = x_81;
x_43 = x_83;
x_44 = x_80;
goto block_47;
}
}
@ -23895,7 +23895,7 @@ block_48:
{
lean_object* x_46; lean_object* x_47;
x_46 = l_List_forIn_x27_loop___at___00List_forIn_x27_loop___at___00__private_Lean_Meta_Tactic_Grind_AC_Eq_0__Lean_Meta_Grind_AC_EqCnstr_superposeWithAC_spec__3_spec__3___redArg___closed__3;
x_47 = l_panic___at___00__private_Lean_Meta_Tactic_Grind_AC_Eq_0__Lean_Meta_Grind_AC_EqCnstr_superposeWithAC_spec__0(x_46, x_37, x_45, x_40, x_44, x_36, x_39, x_43, x_42, x_38);
x_47 = l_panic___at___00__private_Lean_Meta_Tactic_Grind_AC_Eq_0__Lean_Meta_Grind_AC_EqCnstr_superposeWithAC_spec__0(x_46, x_43, x_40, x_38, x_37, x_39, x_45, x_42, x_44, x_36);
x_21 = x_47;
goto block_35;
}
@ -24027,16 +24027,16 @@ if (x_92 == 0)
if (x_90 == 0)
{
lean_dec(x_18);
x_36 = x_84;
x_37 = x_80;
x_38 = x_88;
x_39 = x_85;
x_40 = x_82;
x_36 = x_88;
x_37 = x_83;
x_38 = x_82;
x_39 = x_84;
x_40 = x_81;
x_41 = lean_box(0);
x_42 = x_87;
x_43 = x_86;
x_44 = x_83;
x_45 = x_81;
x_42 = x_86;
x_43 = x_80;
x_44 = x_87;
x_45 = x_85;
goto block_48;
}
else
@ -24177,16 +24177,16 @@ return x_111;
else
{
lean_dec(x_18);
x_36 = x_84;
x_37 = x_80;
x_38 = x_88;
x_39 = x_85;
x_40 = x_82;
x_36 = x_88;
x_37 = x_83;
x_38 = x_82;
x_39 = x_84;
x_40 = x_81;
x_41 = lean_box(0);
x_42 = x_87;
x_43 = x_86;
x_44 = x_83;
x_45 = x_81;
x_42 = x_86;
x_43 = x_80;
x_44 = x_87;
x_45 = x_85;
goto block_48;
}
}
@ -28995,9 +28995,9 @@ goto block_49;
block_42:
{
lean_object* x_39; lean_object* x_40; lean_object* x_41;
x_39 = lean_nat_add(x_37, x_38);
x_39 = lean_nat_add(x_36, x_38);
lean_dec(x_38);
lean_dec(x_37);
lean_dec(x_36);
if (lean_is_scalar(x_33)) {
x_40 = lean_alloc_ctor(0, 5, 0);
} else {
@ -29016,7 +29016,7 @@ if (lean_is_scalar(x_23)) {
lean_ctor_set(x_41, 0, x_35);
lean_ctor_set(x_41, 1, x_25);
lean_ctor_set(x_41, 2, x_26);
lean_ctor_set(x_41, 3, x_36);
lean_ctor_set(x_41, 3, x_37);
lean_ctor_set(x_41, 4, x_40);
return x_41;
}
@ -29042,8 +29042,8 @@ if (lean_obj_tag(x_28) == 0)
lean_object* x_47;
x_47 = lean_ctor_get(x_28, 0);
lean_inc(x_47);
x_36 = x_45;
x_37 = x_46;
x_36 = x_46;
x_37 = x_45;
x_38 = x_47;
goto block_42;
}
@ -29051,8 +29051,8 @@ else
{
lean_object* x_48;
x_48 = lean_unsigned_to_nat(0u);
x_36 = x_45;
x_37 = x_46;
x_36 = x_46;
x_37 = x_45;
x_38 = x_48;
goto block_42;
}
@ -30876,9 +30876,9 @@ goto block_454;
block_446:
{
lean_object* x_443; lean_object* x_444; lean_object* x_445;
x_443 = lean_nat_add(x_441, x_442);
x_443 = lean_nat_add(x_440, x_442);
lean_dec(x_442);
lean_dec(x_441);
lean_dec(x_440);
if (lean_is_scalar(x_437)) {
x_444 = lean_alloc_ctor(0, 5, 0);
} else {
@ -30897,7 +30897,7 @@ if (lean_is_scalar(x_427)) {
lean_ctor_set(x_445, 0, x_439);
lean_ctor_set(x_445, 1, x_430);
lean_ctor_set(x_445, 2, x_431);
lean_ctor_set(x_445, 3, x_440);
lean_ctor_set(x_445, 3, x_441);
lean_ctor_set(x_445, 4, x_444);
return x_445;
}
@ -30924,8 +30924,8 @@ if (lean_obj_tag(x_433) == 0)
lean_object* x_452;
x_452 = lean_ctor_get(x_433, 0);
lean_inc(x_452);
x_440 = x_450;
x_441 = x_451;
x_440 = x_451;
x_441 = x_450;
x_442 = x_452;
goto block_446;
}
@ -30933,8 +30933,8 @@ else
{
lean_object* x_453;
x_453 = lean_unsigned_to_nat(0u);
x_440 = x_450;
x_441 = x_451;
x_440 = x_451;
x_441 = x_450;
x_442 = x_453;
goto block_446;
}
@ -37622,11 +37622,11 @@ x_117 = l_List_forIn_x27_loop___at___00List_forIn_x27_loop___at___00__private_Le
x_118 = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(x_118, 0, x_116);
lean_ctor_set(x_118, 1, x_117);
x_119 = l_Lean_MessageData_ofExpr(x_99);
x_119 = l_Lean_MessageData_ofExpr(x_104);
x_120 = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(x_120, 0, x_118);
lean_ctor_set(x_120, 1, x_119);
x_121 = l_Lean_addTrace___at___00__private_Lean_Meta_Tactic_Grind_AC_Eq_0__Lean_Meta_Grind_AC_propagateEqs_process_spec__2___redArg(x_16, x_120, x_108, x_95, x_104, x_98, x_101);
x_121 = l_Lean_addTrace___at___00__private_Lean_Meta_Tactic_Grind_AC_Eq_0__Lean_Meta_Grind_AC_propagateEqs_process_spec__2___redArg(x_16, x_120, x_108, x_106, x_102, x_95, x_107);
if (lean_obj_tag(x_121) == 0)
{
lean_object* x_122; lean_object* x_123;
@ -37636,31 +37636,31 @@ lean_dec_ref(x_121);
x_123 = lean_ctor_get(x_122, 1);
lean_inc(x_123);
lean_dec(x_122);
x_26 = x_100;
x_26 = x_99;
x_27 = x_123;
x_28 = x_103;
x_29 = x_106;
x_30 = x_102;
x_31 = x_96;
x_32 = x_107;
x_33 = x_95;
x_34 = x_104;
x_35 = x_98;
x_36 = x_101;
x_28 = x_96;
x_29 = x_98;
x_30 = x_101;
x_31 = x_105;
x_32 = x_103;
x_33 = x_106;
x_34 = x_102;
x_35 = x_95;
x_36 = x_107;
x_37 = lean_box(0);
goto block_94;
}
else
{
lean_dec(x_107);
lean_dec(x_106);
lean_dec(x_104);
lean_dec_ref(x_106);
lean_dec_ref(x_105);
lean_dec(x_103);
lean_dec(x_102);
lean_dec(x_101);
lean_dec_ref(x_100);
lean_dec_ref(x_98);
lean_dec_ref(x_96);
lean_dec_ref(x_99);
lean_dec(x_98);
lean_dec(x_96);
lean_dec_ref(x_95);
lean_dec_ref(x_25);
lean_dec_ref(x_24);
@ -37734,19 +37734,19 @@ if (x_151 == 0)
{
lean_object* x_152;
x_152 = l___private_Lean_Meta_Tactic_Grind_AC_Eq_0__Lean_Meta_Grind_AC___aux__Lean__Meta__Tactic__Grind__AC__Eq______macroRules____private__Lean__Meta__Tactic__Grind__AC__Eq__0__Lean__Meta__Grind__AC__commandGen__cnstr__fns____1___closed__253;
x_95 = x_132;
x_96 = x_130;
x_95 = x_134;
x_96 = x_127;
x_97 = x_150;
x_98 = x_134;
x_99 = x_147;
x_100 = x_140;
x_101 = x_135;
x_102 = x_129;
x_103 = x_127;
x_104 = x_133;
x_105 = lean_box(0);
x_106 = x_128;
x_107 = x_131;
x_98 = x_128;
x_99 = x_140;
x_100 = lean_box(0);
x_101 = x_129;
x_102 = x_133;
x_103 = x_131;
x_104 = x_147;
x_105 = x_130;
x_106 = x_132;
x_107 = x_135;
x_108 = x_146;
x_109 = x_152;
goto block_124;
@ -37755,19 +37755,19 @@ else
{
lean_object* x_153;
x_153 = l___private_Lean_Meta_Tactic_Grind_AC_Eq_0__Lean_Meta_Grind_AC___aux__Lean__Meta__Tactic__Grind__AC__Eq______macroRules____private__Lean__Meta__Tactic__Grind__AC__Eq__0__Lean__Meta__Grind__AC__commandGen__cnstr__fns____1___closed__220;
x_95 = x_132;
x_96 = x_130;
x_95 = x_134;
x_96 = x_127;
x_97 = x_150;
x_98 = x_134;
x_99 = x_147;
x_100 = x_140;
x_101 = x_135;
x_102 = x_129;
x_103 = x_127;
x_104 = x_133;
x_105 = lean_box(0);
x_106 = x_128;
x_107 = x_131;
x_98 = x_128;
x_99 = x_140;
x_100 = lean_box(0);
x_101 = x_129;
x_102 = x_133;
x_103 = x_131;
x_104 = x_147;
x_105 = x_130;
x_106 = x_132;
x_107 = x_135;
x_108 = x_146;
x_109 = x_153;
goto block_124;

File diff suppressed because it is too large Load diff

View file

@ -317,7 +317,7 @@ _start:
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_1 = l_Lean_Meta_Grind_getEqcLambdas___closed__3;
x_2 = lean_unsigned_to_nat(2u);
x_3 = lean_unsigned_to_nat(1519u);
x_3 = lean_unsigned_to_nat(1522u);
x_4 = l_Lean_Meta_Grind_getEqcLambdas___closed__2;
x_5 = l_Lean_Meta_Grind_getEqcLambdas___closed__1;
x_6 = l_mkPanicMessageWithDecl(x_5, x_4, x_3, x_2, x_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

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -23498,7 +23498,7 @@ lean_free_object(x_44);
x_52 = lean_ctor_get(x_35, 0);
lean_inc(x_52);
lean_dec_ref(x_35);
x_53 = l_Lean_Meta_Grind_isExtTheorem___redArg(x_52, x_10);
x_53 = l_Lean_Meta_Grind_isExtTheorem___redArg(x_52, x_5);
lean_dec(x_52);
if (lean_obj_tag(x_53) == 0)
{
@ -23875,7 +23875,7 @@ lean_object* x_109; lean_object* x_110;
x_109 = lean_ctor_get(x_35, 0);
lean_inc(x_109);
lean_dec_ref(x_35);
x_110 = l_Lean_Meta_Grind_isExtTheorem___redArg(x_109, x_10);
x_110 = l_Lean_Meta_Grind_isExtTheorem___redArg(x_109, x_5);
lean_dec(x_109);
if (lean_obj_tag(x_110) == 0)
{
@ -24613,7 +24613,7 @@ lean_dec(x_199);
x_205 = lean_ctor_get(x_188, 0);
lean_inc(x_205);
lean_dec_ref(x_188);
x_206 = l_Lean_Meta_Grind_isExtTheorem___redArg(x_205, x_10);
x_206 = l_Lean_Meta_Grind_isExtTheorem___redArg(x_205, x_5);
lean_dec(x_205);
if (lean_obj_tag(x_206) == 0)
{
@ -28164,12 +28164,12 @@ block_128:
{
lean_object* x_29; lean_object* x_30;
x_29 = lean_box(0);
lean_inc(x_25);
lean_inc(x_26);
lean_inc(x_28);
lean_inc_ref(x_6);
lean_inc_ref(x_1);
lean_inc_ref(x_5);
x_30 = l_List_forIn_x27_loop___at___00__private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_addSplitCandidatesForExt_found_spec__0___redArg(x_5, x_29, x_1, x_6, x_4, x_2, x_16, x_17, x_28, x_28, x_29, x_25, x_23, x_20, x_22, x_19, x_24, x_27, x_18);
x_30 = l_List_forIn_x27_loop___at___00__private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_addSplitCandidatesForExt_found_spec__0___redArg(x_5, x_29, x_1, x_6, x_4, x_2, x_16, x_17, x_28, x_28, x_29, x_26, x_18, x_19, x_27, x_25, x_21, x_20, x_23);
if (lean_obj_tag(x_30) == 0)
{
uint8_t x_31;
@ -28179,7 +28179,7 @@ if (x_31 == 0)
lean_object* x_32; lean_object* x_33; uint8_t x_34;
x_32 = lean_ctor_get(x_30, 0);
lean_dec(x_32);
x_33 = lean_st_ref_take(x_25);
x_33 = lean_st_ref_take(x_26);
x_34 = !lean_is_exclusive(x_33);
if (x_34 == 0)
{
@ -28197,10 +28197,10 @@ lean_ctor_set(x_38, 2, x_6);
x_39 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_39, 0, x_38);
lean_ctor_set(x_39, 1, x_28);
x_40 = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_addSplitCandidatesForExt_found_spec__1___redArg(x_37, x_26, x_39);
x_40 = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_addSplitCandidatesForExt_found_spec__1___redArg(x_37, x_24, x_39);
lean_ctor_set(x_35, 7, x_40);
x_41 = lean_st_ref_set(x_25, x_33);
lean_dec(x_25);
x_41 = lean_st_ref_set(x_26, x_33);
lean_dec(x_26);
lean_ctor_set(x_30, 0, x_29);
return x_30;
}
@ -28231,7 +28231,7 @@ lean_ctor_set(x_50, 2, x_6);
x_51 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_51, 0, x_50);
lean_ctor_set(x_51, 1, x_28);
x_52 = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_addSplitCandidatesForExt_found_spec__1___redArg(x_49, x_26, x_51);
x_52 = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_addSplitCandidatesForExt_found_spec__1___redArg(x_49, x_24, x_51);
x_53 = lean_alloc_ctor(0, 8, 0);
lean_ctor_set(x_53, 0, x_42);
lean_ctor_set(x_53, 1, x_43);
@ -28242,8 +28242,8 @@ lean_ctor_set(x_53, 5, x_47);
lean_ctor_set(x_53, 6, x_48);
lean_ctor_set(x_53, 7, x_52);
lean_ctor_set(x_33, 15, x_53);
x_54 = lean_st_ref_set(x_25, x_33);
lean_dec(x_25);
x_54 = lean_st_ref_set(x_26, x_33);
lean_dec(x_26);
lean_ctor_set(x_30, 0, x_29);
return x_30;
}
@ -28328,7 +28328,7 @@ lean_ctor_set(x_84, 2, x_6);
x_85 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_85, 0, x_84);
lean_ctor_set(x_85, 1, x_28);
x_86 = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_addSplitCandidatesForExt_found_spec__1___redArg(x_82, x_26, x_85);
x_86 = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_addSplitCandidatesForExt_found_spec__1___redArg(x_82, x_24, x_85);
if (lean_is_scalar(x_83)) {
x_87 = lean_alloc_ctor(0, 8, 0);
} else {
@ -28363,8 +28363,8 @@ lean_ctor_set(x_88, 16, x_72);
lean_ctor_set(x_88, 17, x_73);
lean_ctor_set(x_88, 18, x_74);
lean_ctor_set_uint8(x_88, sizeof(void*)*19, x_65);
x_89 = lean_st_ref_set(x_25, x_88);
lean_dec(x_25);
x_89 = lean_st_ref_set(x_26, x_88);
lean_dec(x_26);
lean_ctor_set(x_30, 0, x_29);
return x_30;
}
@ -28373,7 +28373,7 @@ else
{
lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; uint8_t x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127;
lean_dec(x_30);
x_90 = lean_st_ref_take(x_25);
x_90 = lean_st_ref_take(x_26);
x_91 = lean_ctor_get(x_90, 15);
lean_inc_ref(x_91);
x_92 = lean_ctor_get(x_90, 0);
@ -28475,7 +28475,7 @@ lean_ctor_set(x_121, 2, x_6);
x_122 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_122, 0, x_121);
lean_ctor_set(x_122, 1, x_28);
x_123 = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_addSplitCandidatesForExt_found_spec__1___redArg(x_119, x_26, x_122);
x_123 = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_addSplitCandidatesForExt_found_spec__1___redArg(x_119, x_24, x_122);
if (lean_is_scalar(x_120)) {
x_124 = lean_alloc_ctor(0, 8, 0);
} else {
@ -28514,8 +28514,8 @@ lean_ctor_set(x_125, 16, x_108);
lean_ctor_set(x_125, 17, x_109);
lean_ctor_set(x_125, 18, x_110);
lean_ctor_set_uint8(x_125, sizeof(void*)*19, x_101);
x_126 = lean_st_ref_set(x_25, x_125);
lean_dec(x_25);
x_126 = lean_st_ref_set(x_26, x_125);
lean_dec(x_26);
x_127 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_127, 0, x_29);
return x_127;
@ -28524,8 +28524,8 @@ return x_127;
else
{
lean_dec(x_28);
lean_dec_ref(x_26);
lean_dec(x_25);
lean_dec(x_26);
lean_dec_ref(x_24);
lean_dec_ref(x_6);
lean_dec_ref(x_5);
lean_dec_ref(x_1);
@ -28551,16 +28551,16 @@ if (lean_obj_tag(x_142) == 0)
{
lean_object* x_143;
x_143 = lean_box(0);
x_18 = x_136;
x_19 = x_133;
x_20 = x_131;
x_21 = lean_box(0);
x_22 = x_132;
x_23 = x_130;
x_24 = x_134;
x_25 = x_129;
x_26 = x_141;
x_27 = x_135;
x_18 = x_130;
x_19 = x_131;
x_20 = x_135;
x_21 = x_134;
x_22 = lean_box(0);
x_23 = x_136;
x_24 = x_141;
x_25 = x_133;
x_26 = x_129;
x_27 = x_132;
x_28 = x_143;
goto block_128;
}
@ -28570,16 +28570,16 @@ lean_object* x_144;
x_144 = lean_ctor_get(x_142, 0);
lean_inc(x_144);
lean_dec_ref(x_142);
x_18 = x_136;
x_19 = x_133;
x_20 = x_131;
x_21 = lean_box(0);
x_22 = x_132;
x_23 = x_130;
x_24 = x_134;
x_25 = x_129;
x_26 = x_141;
x_27 = x_135;
x_18 = x_130;
x_19 = x_131;
x_20 = x_135;
x_21 = x_134;
x_22 = lean_box(0);
x_23 = x_136;
x_24 = x_141;
x_25 = x_133;
x_26 = x_129;
x_27 = x_132;
x_28 = x_144;
goto block_128;
}
@ -29164,7 +29164,7 @@ lean_ctor_set(x_30, 1, x_14);
x_31 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_31, 0, x_29);
lean_ctor_set(x_31, 1, x_30);
x_32 = l___private_Init_While_0__Lean_Loop_forIn_loop___at___00__private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_addSplitCandidatesForExt_spec__0(x_29, x_1, x_2, x_17, x_23, x_14, x_15, x_31, x_21, x_26, x_18, x_20, x_24, x_27, x_22, x_25);
x_32 = l___private_Init_While_0__Lean_Loop_forIn_loop___at___00__private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_addSplitCandidatesForExt_spec__0(x_29, x_1, x_2, x_17, x_25, x_14, x_15, x_31, x_21, x_22, x_24, x_20, x_18, x_27, x_26, x_23);
if (lean_obj_tag(x_32) == 0)
{
uint8_t x_33;
@ -29279,15 +29279,15 @@ if (x_15 == 0)
{
lean_free_object(x_59);
lean_dec(x_61);
x_18 = x_50;
x_18 = x_52;
x_19 = lean_box(0);
x_20 = x_51;
x_21 = x_48;
x_22 = x_54;
x_23 = x_58;
x_24 = x_52;
x_25 = x_55;
x_26 = x_49;
x_22 = x_49;
x_23 = x_55;
x_24 = x_50;
x_25 = x_58;
x_26 = x_54;
x_27 = x_53;
goto block_47;
}
@ -29320,15 +29320,15 @@ return x_59;
else
{
lean_free_object(x_59);
x_18 = x_50;
x_18 = x_52;
x_19 = lean_box(0);
x_20 = x_51;
x_21 = x_48;
x_22 = x_54;
x_23 = x_58;
x_24 = x_52;
x_25 = x_55;
x_26 = x_49;
x_22 = x_49;
x_23 = x_55;
x_24 = x_50;
x_25 = x_58;
x_26 = x_54;
x_27 = x_53;
goto block_47;
}
@ -29338,15 +29338,15 @@ else
{
lean_free_object(x_59);
lean_dec(x_61);
x_18 = x_50;
x_18 = x_52;
x_19 = lean_box(0);
x_20 = x_51;
x_21 = x_48;
x_22 = x_54;
x_23 = x_58;
x_24 = x_52;
x_25 = x_55;
x_26 = x_49;
x_22 = x_49;
x_23 = x_55;
x_24 = x_50;
x_25 = x_58;
x_26 = x_54;
x_27 = x_53;
goto block_47;
}
@ -29364,15 +29364,15 @@ if (x_69 == 0)
if (x_15 == 0)
{
lean_dec(x_67);
x_18 = x_50;
x_18 = x_52;
x_19 = lean_box(0);
x_20 = x_51;
x_21 = x_48;
x_22 = x_54;
x_23 = x_58;
x_24 = x_52;
x_25 = x_55;
x_26 = x_49;
x_22 = x_49;
x_23 = x_55;
x_24 = x_50;
x_25 = x_58;
x_26 = x_54;
x_27 = x_53;
goto block_47;
}
@ -29405,15 +29405,15 @@ return x_73;
}
else
{
x_18 = x_50;
x_18 = x_52;
x_19 = lean_box(0);
x_20 = x_51;
x_21 = x_48;
x_22 = x_54;
x_23 = x_58;
x_24 = x_52;
x_25 = x_55;
x_26 = x_49;
x_22 = x_49;
x_23 = x_55;
x_24 = x_50;
x_25 = x_58;
x_26 = x_54;
x_27 = x_53;
goto block_47;
}
@ -29422,15 +29422,15 @@ goto block_47;
else
{
lean_dec(x_67);
x_18 = x_50;
x_18 = x_52;
x_19 = lean_box(0);
x_20 = x_51;
x_21 = x_48;
x_22 = x_54;
x_23 = x_58;
x_24 = x_52;
x_25 = x_55;
x_26 = x_49;
x_22 = x_49;
x_23 = x_55;
x_24 = x_50;
x_25 = x_58;
x_26 = x_54;
x_27 = x_53;
goto block_47;
}
@ -29599,7 +29599,7 @@ lean_ctor_set(x_101, 1, x_84);
x_102 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_102, 0, x_100);
lean_ctor_set(x_102, 1, x_101);
x_103 = l___private_Init_While_0__Lean_Loop_forIn_loop___at___00__private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_addSplitCandidatesForExt_spec__0(x_100, x_1, x_2, x_88, x_94, x_84, x_85, x_102, x_92, x_97, x_89, x_91, x_95, x_98, x_93, x_96);
x_103 = l___private_Init_While_0__Lean_Loop_forIn_loop___at___00__private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_addSplitCandidatesForExt_spec__0(x_100, x_1, x_2, x_88, x_96, x_84, x_85, x_102, x_92, x_93, x_95, x_91, x_89, x_98, x_97, x_94);
if (lean_obj_tag(x_103) == 0)
{
lean_object* x_104; lean_object* x_105; lean_object* x_106;
@ -29704,15 +29704,15 @@ if (x_85 == 0)
{
lean_dec(x_128);
lean_dec(x_127);
x_89 = x_117;
x_89 = x_119;
x_90 = lean_box(0);
x_91 = x_118;
x_92 = x_115;
x_93 = x_121;
x_94 = x_125;
x_95 = x_119;
x_96 = x_122;
x_97 = x_116;
x_93 = x_116;
x_94 = x_122;
x_95 = x_117;
x_96 = x_125;
x_97 = x_121;
x_98 = x_120;
goto block_114;
}
@ -29750,15 +29750,15 @@ return x_134;
else
{
lean_dec(x_128);
x_89 = x_117;
x_89 = x_119;
x_90 = lean_box(0);
x_91 = x_118;
x_92 = x_115;
x_93 = x_121;
x_94 = x_125;
x_95 = x_119;
x_96 = x_122;
x_97 = x_116;
x_93 = x_116;
x_94 = x_122;
x_95 = x_117;
x_96 = x_125;
x_97 = x_121;
x_98 = x_120;
goto block_114;
}
@ -29768,15 +29768,15 @@ else
{
lean_dec(x_128);
lean_dec(x_127);
x_89 = x_117;
x_89 = x_119;
x_90 = lean_box(0);
x_91 = x_118;
x_92 = x_115;
x_93 = x_121;
x_94 = x_125;
x_95 = x_119;
x_96 = x_122;
x_97 = x_116;
x_93 = x_116;
x_94 = x_122;
x_95 = x_117;
x_96 = x_125;
x_97 = x_121;
x_98 = x_120;
goto block_114;
}
@ -37070,13 +37070,13 @@ if (x_39 == 0)
{
lean_object* x_40;
lean_dec(x_35);
lean_dec(x_34);
lean_dec(x_33);
lean_dec_ref(x_34);
lean_dec_ref(x_33);
lean_dec(x_32);
lean_dec_ref(x_31);
lean_dec_ref(x_30);
lean_dec(x_30);
lean_dec(x_29);
lean_dec_ref(x_28);
lean_dec(x_28);
lean_dec_ref(x_1);
x_40 = lean_box(0);
lean_ctor_set(x_36, 0, x_40);
@ -37086,33 +37086,33 @@ else
{
lean_object* x_41;
lean_free_object(x_36);
lean_inc(x_35);
lean_inc_ref(x_28);
lean_inc(x_33);
lean_inc(x_30);
lean_inc_ref(x_31);
lean_inc(x_32);
lean_inc_ref(x_30);
lean_inc(x_34);
lean_inc(x_29);
lean_inc_ref(x_33);
lean_inc(x_28);
lean_inc_ref(x_34);
lean_inc(x_32);
lean_inc(x_35);
lean_inc_ref(x_1);
x_41 = l_Lean_Meta_Grind_propagateUp(x_1, x_29, x_34, x_30, x_32, x_31, x_33, x_28, x_35);
x_41 = l_Lean_Meta_Grind_propagateUp(x_1, x_35, x_32, x_34, x_28, x_33, x_29, x_31, x_30);
if (lean_obj_tag(x_41) == 0)
{
lean_object* x_42;
lean_dec_ref(x_41);
x_42 = l___private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_checkAndAddSplitCandidate(x_1, x_29, x_34, x_30, x_32, x_31, x_33, x_28, x_35);
x_42 = l___private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_checkAndAddSplitCandidate(x_1, x_35, x_32, x_34, x_28, x_33, x_29, x_31, x_30);
return x_42;
}
else
{
lean_dec(x_35);
lean_dec(x_34);
lean_dec(x_33);
lean_dec_ref(x_34);
lean_dec_ref(x_33);
lean_dec(x_32);
lean_dec_ref(x_31);
lean_dec_ref(x_30);
lean_dec(x_30);
lean_dec(x_29);
lean_dec_ref(x_28);
lean_dec(x_28);
lean_dec_ref(x_1);
return x_41;
}
@ -37130,13 +37130,13 @@ if (x_44 == 0)
{
lean_object* x_45; lean_object* x_46;
lean_dec(x_35);
lean_dec(x_34);
lean_dec(x_33);
lean_dec_ref(x_34);
lean_dec_ref(x_33);
lean_dec(x_32);
lean_dec_ref(x_31);
lean_dec_ref(x_30);
lean_dec(x_30);
lean_dec(x_29);
lean_dec_ref(x_28);
lean_dec(x_28);
lean_dec_ref(x_1);
x_45 = lean_box(0);
x_46 = lean_alloc_ctor(0, 1, 0);
@ -37146,33 +37146,33 @@ return x_46;
else
{
lean_object* x_47;
lean_inc(x_35);
lean_inc_ref(x_28);
lean_inc(x_33);
lean_inc(x_30);
lean_inc_ref(x_31);
lean_inc(x_32);
lean_inc_ref(x_30);
lean_inc(x_34);
lean_inc(x_29);
lean_inc_ref(x_33);
lean_inc(x_28);
lean_inc_ref(x_34);
lean_inc(x_32);
lean_inc(x_35);
lean_inc_ref(x_1);
x_47 = l_Lean_Meta_Grind_propagateUp(x_1, x_29, x_34, x_30, x_32, x_31, x_33, x_28, x_35);
x_47 = l_Lean_Meta_Grind_propagateUp(x_1, x_35, x_32, x_34, x_28, x_33, x_29, x_31, x_30);
if (lean_obj_tag(x_47) == 0)
{
lean_object* x_48;
lean_dec_ref(x_47);
x_48 = l___private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_checkAndAddSplitCandidate(x_1, x_29, x_34, x_30, x_32, x_31, x_33, x_28, x_35);
x_48 = l___private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_checkAndAddSplitCandidate(x_1, x_35, x_32, x_34, x_28, x_33, x_29, x_31, x_30);
return x_48;
}
else
{
lean_dec(x_35);
lean_dec(x_34);
lean_dec(x_33);
lean_dec_ref(x_34);
lean_dec_ref(x_33);
lean_dec(x_32);
lean_dec_ref(x_31);
lean_dec_ref(x_30);
lean_dec(x_30);
lean_dec(x_29);
lean_dec_ref(x_28);
lean_dec(x_28);
lean_dec_ref(x_1);
return x_47;
}
@ -37183,13 +37183,13 @@ else
{
uint8_t x_49;
lean_dec(x_35);
lean_dec(x_34);
lean_dec(x_33);
lean_dec_ref(x_34);
lean_dec_ref(x_33);
lean_dec(x_32);
lean_dec_ref(x_31);
lean_dec_ref(x_30);
lean_dec(x_30);
lean_dec(x_29);
lean_dec_ref(x_28);
lean_dec(x_28);
lean_dec_ref(x_1);
x_49 = !lean_is_exclusive(x_36);
if (x_49 == 0)
@ -37225,14 +37225,14 @@ x_65 = lean_unbox(x_64);
lean_dec(x_64);
if (x_65 == 0)
{
x_28 = x_60;
x_29 = x_54;
x_30 = x_56;
x_31 = x_58;
x_32 = x_57;
x_33 = x_59;
x_34 = x_55;
x_35 = x_61;
x_28 = x_57;
x_29 = x_59;
x_30 = x_61;
x_31 = x_60;
x_32 = x_55;
x_33 = x_58;
x_34 = x_56;
x_35 = x_54;
x_36 = x_63;
goto block_52;
}
@ -37246,28 +37246,28 @@ lean_inc(x_59);
lean_inc_ref(x_58);
lean_inc_ref(x_1);
x_66 = l_Lean_Meta_isProp(x_1, x_58, x_59, x_60, x_61);
x_28 = x_60;
x_29 = x_54;
x_30 = x_56;
x_31 = x_58;
x_32 = x_57;
x_33 = x_59;
x_34 = x_55;
x_35 = x_61;
x_28 = x_57;
x_29 = x_59;
x_30 = x_61;
x_31 = x_60;
x_32 = x_55;
x_33 = x_58;
x_34 = x_56;
x_35 = x_54;
x_36 = x_66;
goto block_52;
}
}
else
{
x_28 = x_60;
x_29 = x_54;
x_30 = x_56;
x_31 = x_58;
x_32 = x_57;
x_33 = x_59;
x_34 = x_55;
x_35 = x_61;
x_28 = x_57;
x_29 = x_59;
x_30 = x_61;
x_31 = x_60;
x_32 = x_55;
x_33 = x_58;
x_34 = x_56;
x_35 = x_54;
x_36 = x_63;
goto block_52;
}

View file

@ -65,7 +65,6 @@ LEAN_EXPORT lean_object* l_Lean_logInfo___at___00Lean_Meta_Grind_mkResult_spec__
lean_object* l_Lean_Meta_Grind_getBoolFalseExpr___redArg(lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGoal___closed__1;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGoal___closed__9;
lean_object* l_Lean_Meta_Grind_getGlobalExtTheorems___redArg(lean_object*);
lean_object* l_Lean_Environment_header(lean_object*);
uint8_t lean_usize_dec_le(size_t, size_t);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGoal_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -157,8 +156,8 @@ LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_Persisten
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_getTrueExpr___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkAuxDeclName___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_getCasesTypes___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___redArg___boxed(lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_Grind_grindExt;
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_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*, lean_object*, lean_object*);
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__10;
uint8_t l_Lean_MessageData_hasSyntheticSorry(lean_object*);
@ -202,6 +201,7 @@ static lean_object* l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_Grin
static lean_object* l_Lean_Meta_Grind_GrindM_run___redArg___closed__18;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Meta_Grind_getDefaultExtensionState___redArg___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_getSimpContext(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGoal___closed__11;
@ -335,7 +335,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Grind_assertExtra(lean_object*, lean_object
static lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__16;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__5;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__10___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_getEMatchTheorems___redArg(lean_object*);
static lean_object* l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7___closed__0;
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MVarId_betaReduce(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -358,7 +357,6 @@ LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Uns
uint8_t lean_name_eq(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___redArg___lam__0___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__1_spec__4(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_getFunCCSet___redArg(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_addHypotheses___lam__0___closed__0;
extern lean_object* l_Lean_warningAsError;
@ -441,6 +439,7 @@ LEAN_EXPORT lean_object* l_List_forM___at___00Lean_Meta_Grind_mkMethods_spec__1(
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getOnlyExtensionState___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Meta_Grind_getDefaultExtensionState___redArg___closed__0;
static lean_object* l_Lean_Meta_Grind_GrindM_run___redArg___closed__1;
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_isEmpty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__1___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Lean_log___at___00Lean_logInfo___at___00Lean_Meta_Grind_mkResult_spec__0_spec__0(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -460,6 +459,7 @@ LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_Persisten
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0_spec__2_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_Grind_instInhabitedExtensionState_default;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_MVarId_getDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -511,13 +511,13 @@ LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_m
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__4(lean_object*, size_t, size_t, lean_object*);
lean_object* l_Lean_LocalDecl_type(lean_object*);
uint64_t lean_uint64_xor(uint64_t, uint64_t);
lean_object* l_Lean_ScopedEnvExtension_getState___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logInfo___at___00Lean_Meta_Grind_mkResult_spec__0_spec__0_spec__1___redArg___lam__0___closed__3;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Result_toMessageData(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00Lean_logAt___at___00Lean_log___at___00Lean_logInfo___at___00Lean_Meta_Grind_mkResult_spec__0_spec__0_spec__1_spec__2___boxed(lean_object*, lean_object*);
lean_object* l_List_reverse___redArg(lean_object*);
static lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__2;
lean_object* l_Lean_Meta_Grind_getOrderingEqExpr___redArg(lean_object*);
lean_object* l_Lean_Meta_Grind_getInjectiveTheorems___redArg(lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__8(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___redArg(lean_object*);
static lean_object* l_Lean_Meta_Grind_GrindM_run___redArg___closed__31;
@ -694,183 +694,46 @@ LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_
LEAN_EXPORT lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logInfo___at___00Lean_Meta_Grind_mkResult_spec__0_spec__0_spec__1(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_addHypotheses_spec__0_spec__0_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*);
static lean_object* _init_l_Lean_Meta_Grind_getDefaultExtensionState___redArg___closed__0() {
_start:
{
lean_object* x_1;
x_1 = l_Lean_Meta_Grind_grindExt;
return x_1;
}
}
static lean_object* _init_l_Lean_Meta_Grind_getDefaultExtensionState___redArg___closed__1() {
_start:
{
lean_object* x_1;
x_1 = l_Lean_Meta_Grind_instInhabitedExtensionState_default;
return x_1;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getDefaultExtensionState___redArg(lean_object* x_1) {
_start:
{
lean_object* x_3;
x_3 = l_Lean_Meta_Grind_getCasesTypes___redArg(x_1);
if (lean_obj_tag(x_3) == 0)
{
lean_object* x_4; lean_object* x_5;
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;
x_3 = lean_st_ref_get(x_1);
x_4 = lean_ctor_get(x_3, 0);
lean_inc(x_4);
lean_dec_ref(x_3);
x_5 = l_Lean_Meta_Grind_getFunCCSet___redArg(x_1);
if (lean_obj_tag(x_5) == 0)
{
lean_object* x_6; lean_object* x_7;
x_6 = lean_ctor_get(x_5, 0);
lean_inc(x_6);
lean_dec_ref(x_5);
x_7 = l_Lean_Meta_Grind_getGlobalExtTheorems___redArg(x_1);
if (lean_obj_tag(x_7) == 0)
{
lean_object* x_8; lean_object* x_9;
x_8 = lean_ctor_get(x_7, 0);
lean_inc_ref(x_4);
lean_dec(x_3);
x_5 = l_Lean_Meta_Grind_getDefaultExtensionState___redArg___closed__0;
x_6 = lean_ctor_get(x_5, 1);
lean_inc_ref(x_6);
x_7 = lean_ctor_get(x_6, 0);
lean_inc_ref(x_7);
lean_dec_ref(x_6);
x_8 = lean_ctor_get(x_7, 2);
lean_inc(x_8);
lean_dec_ref(x_7);
x_9 = l_Lean_Meta_Grind_getEMatchTheorems___redArg(x_1);
if (lean_obj_tag(x_9) == 0)
{
lean_object* x_10; lean_object* x_11;
x_10 = lean_ctor_get(x_9, 0);
lean_inc(x_10);
lean_dec_ref(x_9);
x_11 = l_Lean_Meta_Grind_getInjectiveTheorems___redArg(x_1);
if (lean_obj_tag(x_11) == 0)
{
uint8_t x_12;
x_12 = !lean_is_exclusive(x_11);
if (x_12 == 0)
{
lean_object* x_13; lean_object* x_14;
x_13 = lean_ctor_get(x_11, 0);
x_14 = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(x_14, 0, x_4);
lean_ctor_set(x_14, 1, x_8);
lean_ctor_set(x_14, 2, x_6);
lean_ctor_set(x_14, 3, x_10);
lean_ctor_set(x_14, 4, x_13);
lean_ctor_set(x_11, 0, x_14);
return x_11;
}
else
{
lean_object* x_15; lean_object* x_16; lean_object* x_17;
x_15 = lean_ctor_get(x_11, 0);
lean_inc(x_15);
lean_dec(x_11);
x_16 = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(x_16, 0, x_4);
lean_ctor_set(x_16, 1, x_8);
lean_ctor_set(x_16, 2, x_6);
lean_ctor_set(x_16, 3, x_10);
lean_ctor_set(x_16, 4, x_15);
x_17 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_17, 0, x_16);
return x_17;
}
}
else
{
uint8_t x_18;
lean_dec(x_10);
x_9 = l_Lean_Meta_Grind_getDefaultExtensionState___redArg___closed__1;
x_10 = l_Lean_ScopedEnvExtension_getState___redArg(x_9, x_5, x_4, x_8);
lean_dec(x_8);
lean_dec(x_6);
lean_dec(x_4);
x_18 = !lean_is_exclusive(x_11);
if (x_18 == 0)
{
x_11 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_11, 0, x_10);
return x_11;
}
else
{
lean_object* x_19; lean_object* x_20;
x_19 = lean_ctor_get(x_11, 0);
lean_inc(x_19);
lean_dec(x_11);
x_20 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_20, 0, x_19);
return x_20;
}
}
}
else
{
uint8_t x_21;
lean_dec(x_8);
lean_dec(x_6);
lean_dec(x_4);
x_21 = !lean_is_exclusive(x_9);
if (x_21 == 0)
{
return x_9;
}
else
{
lean_object* x_22; lean_object* x_23;
x_22 = lean_ctor_get(x_9, 0);
lean_inc(x_22);
lean_dec(x_9);
x_23 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_23, 0, x_22);
return x_23;
}
}
}
else
{
uint8_t x_24;
lean_dec(x_6);
lean_dec(x_4);
x_24 = !lean_is_exclusive(x_7);
if (x_24 == 0)
{
return x_7;
}
else
{
lean_object* x_25; lean_object* x_26;
x_25 = lean_ctor_get(x_7, 0);
lean_inc(x_25);
lean_dec(x_7);
x_26 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_26, 0, x_25);
return x_26;
}
}
}
else
{
uint8_t x_27;
lean_dec(x_4);
x_27 = !lean_is_exclusive(x_5);
if (x_27 == 0)
{
return x_5;
}
else
{
lean_object* x_28; lean_object* x_29;
x_28 = lean_ctor_get(x_5, 0);
lean_inc(x_28);
lean_dec(x_5);
x_29 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_29, 0, x_28);
return x_29;
}
}
}
else
{
uint8_t x_30;
x_30 = !lean_is_exclusive(x_3);
if (x_30 == 0)
{
return x_3;
}
else
{
lean_object* x_31; lean_object* x_32;
x_31 = lean_ctor_get(x_3, 0);
lean_inc(x_31);
lean_dec(x_3);
x_32 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_32, 0, x_31);
return x_32;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getDefaultExtensionState(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
@ -912,122 +775,61 @@ return x_1;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getOnlyExtensionState___redArg(lean_object* x_1) {
_start:
{
lean_object* x_3;
x_3 = l_Lean_Meta_Grind_getCasesTypes___redArg(x_1);
if (lean_obj_tag(x_3) == 0)
{
lean_object* x_4; lean_object* x_5;
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; uint8_t x_11;
x_3 = lean_st_ref_get(x_1);
x_4 = lean_ctor_get(x_3, 0);
lean_inc(x_4);
lean_dec_ref(x_3);
x_5 = l_Lean_Meta_Grind_getFunCCSet___redArg(x_1);
if (lean_obj_tag(x_5) == 0)
{
lean_object* x_6; lean_object* x_7;
x_6 = lean_ctor_get(x_5, 0);
lean_inc(x_6);
lean_dec_ref(x_5);
x_7 = l_Lean_Meta_Grind_getGlobalExtTheorems___redArg(x_1);
if (lean_obj_tag(x_7) == 0)
{
uint8_t x_8;
x_8 = !lean_is_exclusive(x_7);
if (x_8 == 0)
{
lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_9 = lean_ctor_get(x_7, 0);
x_10 = l_Lean_Meta_Grind_getOnlyExtensionState___redArg___closed__0;
x_11 = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(x_11, 0, x_4);
lean_ctor_set(x_11, 1, x_9);
lean_ctor_set(x_11, 2, x_6);
lean_ctor_set(x_11, 3, x_10);
lean_ctor_set(x_11, 4, x_10);
lean_ctor_set(x_7, 0, x_11);
return x_7;
}
else
lean_inc_ref(x_4);
lean_dec(x_3);
x_5 = l_Lean_Meta_Grind_getDefaultExtensionState___redArg___closed__0;
x_6 = lean_ctor_get(x_5, 1);
lean_inc_ref(x_6);
x_7 = lean_ctor_get(x_6, 0);
lean_inc_ref(x_7);
lean_dec_ref(x_6);
x_8 = lean_ctor_get(x_7, 2);
lean_inc(x_8);
lean_dec_ref(x_7);
x_9 = l_Lean_Meta_Grind_getDefaultExtensionState___redArg___closed__1;
x_10 = l_Lean_ScopedEnvExtension_getState___redArg(x_9, x_5, x_4, x_8);
lean_dec(x_8);
x_11 = !lean_is_exclusive(x_10);
if (x_11 == 0)
{
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
x_12 = lean_ctor_get(x_7, 0);
lean_inc(x_12);
lean_dec(x_7);
x_13 = l_Lean_Meta_Grind_getOnlyExtensionState___redArg___closed__0;
x_14 = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(x_14, 0, x_4);
lean_ctor_set(x_14, 1, x_12);
lean_ctor_set(x_14, 2, x_6);
lean_ctor_set(x_14, 3, x_13);
lean_ctor_set(x_14, 4, x_13);
x_12 = lean_ctor_get(x_10, 4);
lean_dec(x_12);
x_13 = lean_ctor_get(x_10, 3);
lean_dec(x_13);
x_14 = l_Lean_Meta_Grind_getOnlyExtensionState___redArg___closed__0;
lean_ctor_set(x_10, 4, x_14);
lean_ctor_set(x_10, 3, x_14);
x_15 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_15, 0, x_14);
lean_ctor_set(x_15, 0, x_10);
return x_15;
}
}
else
{
uint8_t x_16;
lean_dec(x_6);
lean_dec(x_4);
x_16 = !lean_is_exclusive(x_7);
if (x_16 == 0)
{
return x_7;
}
else
{
lean_object* x_17; lean_object* x_18;
x_17 = lean_ctor_get(x_7, 0);
lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
x_16 = lean_ctor_get(x_10, 0);
x_17 = lean_ctor_get(x_10, 1);
x_18 = lean_ctor_get(x_10, 2);
lean_inc(x_18);
lean_inc(x_17);
lean_dec(x_7);
x_18 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_18, 0, x_17);
return x_18;
}
}
}
else
{
uint8_t x_19;
lean_dec(x_4);
x_19 = !lean_is_exclusive(x_5);
if (x_19 == 0)
{
return x_5;
}
else
{
lean_object* x_20; lean_object* x_21;
x_20 = lean_ctor_get(x_5, 0);
lean_inc(x_20);
lean_dec(x_5);
x_21 = lean_alloc_ctor(1, 1, 0);
lean_inc(x_16);
lean_dec(x_10);
x_19 = l_Lean_Meta_Grind_getOnlyExtensionState___redArg___closed__0;
x_20 = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(x_20, 0, x_16);
lean_ctor_set(x_20, 1, x_17);
lean_ctor_set(x_20, 2, x_18);
lean_ctor_set(x_20, 3, x_19);
lean_ctor_set(x_20, 4, x_19);
x_21 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_21, 0, x_20);
return x_21;
}
}
}
else
{
uint8_t x_22;
x_22 = !lean_is_exclusive(x_3);
if (x_22 == 0)
{
return x_3;
}
else
{
lean_object* x_23; lean_object* x_24;
x_23 = lean_ctor_get(x_3, 0);
lean_inc(x_23);
lean_dec(x_3);
x_24 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_24, 0, x_23);
return x_24;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getOnlyExtensionState(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
@ -1255,11 +1057,8 @@ return x_2;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkDefaultParams(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_7;
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_7 = l_Lean_Meta_Grind_getDefaultExtensionState___redArg(x_5);
if (lean_obj_tag(x_7) == 0)
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_8 = lean_ctor_get(x_7, 0);
lean_inc(x_8);
lean_dec_ref(x_7);
@ -1268,31 +1067,6 @@ x_10 = lean_array_push(x_9, x_8);
x_11 = l_Lean_Meta_Grind_mkParams(x_1, x_10, x_2, x_3, x_4, x_5);
return x_11;
}
else
{
uint8_t x_12;
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec_ref(x_2);
lean_dec_ref(x_1);
x_12 = !lean_is_exclusive(x_7);
if (x_12 == 0)
{
return x_7;
}
else
{
lean_object* x_13; lean_object* x_14;
x_13 = lean_ctor_get(x_7, 0);
lean_inc(x_13);
lean_dec(x_7);
x_14 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_14, 0, x_13);
return x_14;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkDefaultParams___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:
@ -1305,11 +1079,8 @@ return x_7;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkOnlyParams(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_7;
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_7 = l_Lean_Meta_Grind_getOnlyExtensionState___redArg(x_5);
if (lean_obj_tag(x_7) == 0)
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_8 = lean_ctor_get(x_7, 0);
lean_inc(x_8);
lean_dec_ref(x_7);
@ -1318,31 +1089,6 @@ x_10 = lean_array_push(x_9, x_8);
x_11 = l_Lean_Meta_Grind_mkParams(x_1, x_10, x_2, x_3, x_4, x_5);
return x_11;
}
else
{
uint8_t x_12;
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec_ref(x_2);
lean_dec_ref(x_1);
x_12 = !lean_is_exclusive(x_7);
if (x_12 == 0)
{
return x_7;
}
else
{
lean_object* x_13; lean_object* x_14;
x_13 = lean_ctor_get(x_7, 0);
lean_inc(x_13);
lean_dec(x_7);
x_14 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_14, 0, x_13);
return x_14;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkOnlyParams___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:
@ -13402,21 +13148,21 @@ x_88 = l_Array_isEmpty___redArg(x_87);
if (x_88 == 0)
{
lean_object* x_89;
lean_inc_ref(x_80);
x_89 = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData(x_87, x_81, x_82, x_80, x_83);
lean_inc_ref(x_81);
x_89 = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData(x_87, x_83, x_82, x_81, x_86);
if (lean_obj_tag(x_89) == 0)
{
lean_object* x_90; lean_object* x_91;
x_90 = lean_ctor_get(x_89, 0);
lean_inc(x_90);
lean_dec_ref(x_89);
x_91 = lean_array_push(x_84, x_90);
x_63 = x_85;
x_91 = lean_array_push(x_85, x_90);
x_63 = x_84;
x_64 = x_91;
x_65 = x_81;
x_65 = x_83;
x_66 = x_82;
x_67 = x_80;
x_68 = x_83;
x_67 = x_81;
x_68 = x_86;
x_69 = lean_box(0);
goto block_79;
}
@ -13425,7 +13171,7 @@ else
uint8_t x_92;
lean_dec_ref(x_85);
lean_dec_ref(x_84);
lean_dec_ref(x_80);
lean_dec_ref(x_81);
lean_dec(x_12);
lean_dec_ref(x_11);
lean_dec_ref(x_2);
@ -13449,12 +13195,12 @@ return x_94;
else
{
lean_dec_ref(x_87);
x_63 = x_85;
x_64 = x_84;
x_65 = x_81;
x_63 = x_84;
x_64 = x_85;
x_65 = x_83;
x_66 = x_82;
x_67 = x_80;
x_68 = x_83;
x_67 = x_81;
x_68 = x_86;
x_69 = lean_box(0);
goto block_79;
}
@ -13469,13 +13215,13 @@ x_106 = lean_nat_dec_lt(x_15, x_104);
if (x_106 == 0)
{
lean_dec_ref(x_103);
x_80 = x_100;
x_81 = x_98;
x_80 = lean_box(0);
x_81 = x_100;
x_82 = x_99;
x_83 = x_101;
x_84 = x_97;
x_85 = x_96;
x_86 = lean_box(0);
x_83 = x_98;
x_84 = x_96;
x_85 = x_97;
x_86 = x_101;
x_87 = x_105;
goto block_95;
}
@ -13486,13 +13232,13 @@ x_107 = lean_nat_dec_le(x_104, x_104);
if (x_107 == 0)
{
lean_dec_ref(x_103);
x_80 = x_100;
x_81 = x_98;
x_80 = lean_box(0);
x_81 = x_100;
x_82 = x_99;
x_83 = x_101;
x_84 = x_97;
x_85 = x_96;
x_86 = lean_box(0);
x_83 = x_98;
x_84 = x_96;
x_85 = x_97;
x_86 = x_101;
x_87 = x_105;
goto block_95;
}
@ -13503,13 +13249,13 @@ x_108 = 0;
x_109 = lean_usize_of_nat(x_104);
x_110 = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__4(x_103, x_108, x_109, x_105);
lean_dec_ref(x_103);
x_80 = x_100;
x_81 = x_98;
x_80 = lean_box(0);
x_81 = x_100;
x_82 = x_99;
x_83 = x_101;
x_84 = x_97;
x_85 = x_96;
x_86 = lean_box(0);
x_83 = x_98;
x_84 = x_96;
x_85 = x_97;
x_86 = x_101;
x_87 = x_110;
goto block_95;
}
@ -22064,7 +21810,7 @@ return x_9;
LEAN_EXPORT lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logInfo___at___00Lean_Meta_Grind_mkResult_spec__0_spec__0_spec__1___redArg(lean_object* x_1, lean_object* x_2, uint8_t x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
_start:
{
lean_object* x_10; lean_object* x_11; uint8_t x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_50; lean_object* x_51; uint8_t x_52; uint8_t x_53; lean_object* x_54; uint8_t x_55; lean_object* x_56; lean_object* x_57; lean_object* x_77; lean_object* x_78; uint8_t x_79; uint8_t x_80; uint8_t x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_88; lean_object* x_89; uint8_t x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93; uint8_t x_94; uint8_t x_100; lean_object* x_101; uint8_t x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106; uint8_t x_107; uint8_t x_109; uint8_t x_125;
uint8_t x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53; uint8_t x_54; uint8_t x_55; lean_object* x_56; lean_object* x_57; lean_object* x_77; lean_object* x_78; lean_object* x_79; uint8_t x_80; uint8_t x_81; uint8_t x_82; lean_object* x_83; lean_object* x_84; lean_object* x_88; lean_object* x_89; uint8_t x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93; uint8_t x_94; uint8_t x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106; uint8_t x_107; uint8_t x_109; uint8_t x_125;
x_100 = 2;
x_125 = l_Lean_instBEqMessageSeverity_beq(x_3, x_100);
if (x_125 == 0)
@ -22099,15 +21845,15 @@ lean_ctor_set(x_25, 0, x_21);
lean_ctor_set(x_25, 1, x_22);
x_26 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_26, 0, x_25);
lean_ctor_set(x_26, 1, x_16);
lean_ctor_set(x_26, 1, x_12);
x_27 = lean_alloc_ctor(0, 5, 3);
lean_ctor_set(x_27, 0, x_15);
lean_ctor_set(x_27, 0, x_16);
lean_ctor_set(x_27, 1, x_14);
lean_ctor_set(x_27, 2, x_11);
lean_ctor_set(x_27, 3, x_10);
lean_ctor_set(x_27, 2, x_15);
lean_ctor_set(x_27, 3, x_11);
lean_ctor_set(x_27, 4, x_26);
lean_ctor_set_uint8(x_27, sizeof(void*)*5, x_13);
lean_ctor_set_uint8(x_27, sizeof(void*)*5 + 1, x_12);
lean_ctor_set_uint8(x_27, sizeof(void*)*5 + 1, x_10);
lean_ctor_set_uint8(x_27, sizeof(void*)*5 + 2, x_4);
x_28 = l_Lean_MessageLog_add(x_27, x_24);
lean_ctor_set(x_20, 6, x_28);
@ -22144,15 +21890,15 @@ lean_ctor_set(x_41, 0, x_21);
lean_ctor_set(x_41, 1, x_22);
x_42 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_42, 0, x_41);
lean_ctor_set(x_42, 1, x_16);
lean_ctor_set(x_42, 1, x_12);
x_43 = lean_alloc_ctor(0, 5, 3);
lean_ctor_set(x_43, 0, x_15);
lean_ctor_set(x_43, 0, x_16);
lean_ctor_set(x_43, 1, x_14);
lean_ctor_set(x_43, 2, x_11);
lean_ctor_set(x_43, 3, x_10);
lean_ctor_set(x_43, 2, x_15);
lean_ctor_set(x_43, 3, x_11);
lean_ctor_set(x_43, 4, x_42);
lean_ctor_set_uint8(x_43, sizeof(void*)*5, x_13);
lean_ctor_set_uint8(x_43, sizeof(void*)*5 + 1, x_12);
lean_ctor_set_uint8(x_43, sizeof(void*)*5 + 1, x_10);
lean_ctor_set_uint8(x_43, sizeof(void*)*5 + 2, x_4);
x_44 = l_Lean_MessageLog_add(x_43, x_38);
x_45 = lean_alloc_ctor(0, 9, 0);
@ -22183,24 +21929,24 @@ if (x_60 == 0)
lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65;
x_61 = lean_ctor_get(x_59, 0);
lean_inc_ref(x_51);
x_62 = l_Lean_FileMap_toPosition(x_51, x_54);
lean_dec(x_54);
x_62 = l_Lean_FileMap_toPosition(x_51, x_53);
lean_dec(x_53);
x_63 = l_Lean_FileMap_toPosition(x_51, x_57);
lean_dec(x_57);
x_64 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_64, 0, x_63);
x_65 = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0;
if (x_52 == 0)
if (x_54 == 0)
{
lean_free_object(x_59);
lean_dec_ref(x_50);
x_10 = x_65;
x_11 = x_64;
x_12 = x_53;
x_10 = x_52;
x_11 = x_65;
x_12 = x_61;
x_13 = x_55;
x_14 = x_62;
x_15 = x_56;
x_16 = x_61;
x_15 = x_64;
x_16 = x_56;
x_17 = x_7;
x_18 = x_8;
x_19 = lean_box(0);
@ -22226,13 +21972,13 @@ return x_59;
else
{
lean_free_object(x_59);
x_10 = x_65;
x_11 = x_64;
x_12 = x_53;
x_10 = x_52;
x_11 = x_65;
x_12 = x_61;
x_13 = x_55;
x_14 = x_62;
x_15 = x_56;
x_16 = x_61;
x_15 = x_64;
x_16 = x_56;
x_17 = x_7;
x_18 = x_8;
x_19 = lean_box(0);
@ -22247,23 +21993,23 @@ x_68 = lean_ctor_get(x_59, 0);
lean_inc(x_68);
lean_dec(x_59);
lean_inc_ref(x_51);
x_69 = l_Lean_FileMap_toPosition(x_51, x_54);
lean_dec(x_54);
x_69 = l_Lean_FileMap_toPosition(x_51, x_53);
lean_dec(x_53);
x_70 = l_Lean_FileMap_toPosition(x_51, x_57);
lean_dec(x_57);
x_71 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_71, 0, x_70);
x_72 = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0;
if (x_52 == 0)
if (x_54 == 0)
{
lean_dec_ref(x_50);
x_10 = x_72;
x_11 = x_71;
x_12 = x_53;
x_10 = x_52;
x_11 = x_72;
x_12 = x_68;
x_13 = x_55;
x_14 = x_69;
x_15 = x_56;
x_16 = x_68;
x_15 = x_71;
x_16 = x_56;
x_17 = x_7;
x_18 = x_8;
x_19 = lean_box(0);
@ -22289,13 +22035,13 @@ return x_75;
}
else
{
x_10 = x_72;
x_11 = x_71;
x_12 = x_53;
x_10 = x_52;
x_11 = x_72;
x_12 = x_68;
x_13 = x_55;
x_14 = x_69;
x_15 = x_56;
x_16 = x_68;
x_15 = x_71;
x_16 = x_56;
x_17 = x_7;
x_18 = x_8;
x_19 = lean_box(0);
@ -22307,18 +22053,18 @@ goto block_49;
block_87:
{
lean_object* x_85;
x_85 = l_Lean_Syntax_getTailPos_x3f(x_83, x_81);
lean_dec(x_83);
x_85 = l_Lean_Syntax_getTailPos_x3f(x_79, x_82);
lean_dec(x_79);
if (lean_obj_tag(x_85) == 0)
{
lean_inc(x_84);
x_50 = x_77;
x_51 = x_78;
x_52 = x_79;
x_53 = x_80;
x_54 = x_84;
x_55 = x_81;
x_56 = x_82;
x_52 = x_80;
x_53 = x_84;
x_54 = x_81;
x_55 = x_82;
x_56 = x_83;
x_57 = x_84;
goto block_76;
}
@ -22330,11 +22076,11 @@ lean_inc(x_86);
lean_dec_ref(x_85);
x_50 = x_77;
x_51 = x_78;
x_52 = x_79;
x_53 = x_80;
x_54 = x_84;
x_55 = x_81;
x_56 = x_82;
x_52 = x_80;
x_53 = x_84;
x_54 = x_81;
x_55 = x_82;
x_56 = x_83;
x_57 = x_86;
goto block_76;
}
@ -22351,11 +22097,11 @@ lean_object* x_97;
x_97 = lean_unsigned_to_nat(0u);
x_77 = x_88;
x_78 = x_89;
x_79 = x_90;
x_79 = x_95;
x_80 = x_94;
x_81 = x_92;
x_82 = x_93;
x_83 = x_95;
x_81 = x_90;
x_82 = x_92;
x_83 = x_93;
x_84 = x_97;
goto block_87;
}
@ -22367,11 +22113,11 @@ lean_inc(x_98);
lean_dec_ref(x_96);
x_77 = x_88;
x_78 = x_89;
x_79 = x_90;
x_79 = x_95;
x_80 = x_94;
x_81 = x_92;
x_82 = x_93;
x_83 = x_95;
x_81 = x_90;
x_82 = x_92;
x_83 = x_93;
x_84 = x_98;
goto block_87;
}
@ -22380,10 +22126,10 @@ block_108:
{
if (x_107 == 0)
{
x_88 = x_103;
x_88 = x_104;
x_89 = x_101;
x_90 = x_102;
x_91 = x_104;
x_90 = x_103;
x_91 = x_102;
x_92 = x_106;
x_93 = x_105;
x_94 = x_3;
@ -22391,10 +22137,10 @@ goto block_99;
}
else
{
x_88 = x_103;
x_88 = x_104;
x_89 = x_101;
x_90 = x_102;
x_91 = x_104;
x_90 = x_103;
x_91 = x_102;
x_92 = x_106;
x_93 = x_105;
x_94 = x_100;
@ -22424,9 +22170,9 @@ lean_inc_ref(x_110);
lean_inc(x_113);
lean_inc_ref(x_111);
x_101 = x_111;
x_102 = x_114;
x_103 = x_117;
x_104 = x_113;
x_102 = x_113;
x_103 = x_114;
x_104 = x_117;
x_105 = x_110;
x_106 = x_109;
x_107 = x_119;
@ -22441,9 +22187,9 @@ lean_inc_ref(x_110);
lean_inc(x_113);
lean_inc_ref(x_111);
x_101 = x_111;
x_102 = x_114;
x_103 = x_117;
x_104 = x_113;
x_102 = x_113;
x_103 = x_114;
x_104 = x_117;
x_105 = x_110;
x_106 = x_109;
x_107 = x_121;
@ -24550,6 +24296,10 @@ lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Core(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_Meta_Grind_getDefaultExtensionState___redArg___closed__0 = _init_l_Lean_Meta_Grind_getDefaultExtensionState___redArg___closed__0();
lean_mark_persistent(l_Lean_Meta_Grind_getDefaultExtensionState___redArg___closed__0);
l_Lean_Meta_Grind_getDefaultExtensionState___redArg___closed__1 = _init_l_Lean_Meta_Grind_getDefaultExtensionState___redArg___closed__1();
lean_mark_persistent(l_Lean_Meta_Grind_getDefaultExtensionState___redArg___closed__1);
l_Lean_Meta_Grind_getOnlyExtensionState___redArg___closed__0 = _init_l_Lean_Meta_Grind_getOnlyExtensionState___redArg___closed__0();
lean_mark_persistent(l_Lean_Meta_Grind_getOnlyExtensionState___redArg___closed__0);
l_Lean_Meta_Grind_mkParams___closed__0 = _init_l_Lean_Meta_Grind_mkParams___closed__0();

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

@ -939,7 +939,7 @@ return x_7;
LEAN_EXPORT lean_object* l___private_Lean_Server_Completion_CompletionItemCompression_0__Lean_Lsp_ResolvableCompletionList_compressItemFast(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_7; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_32; lean_object* x_36; lean_object* x_40; lean_object* x_44; lean_object* x_45; uint8_t x_46; lean_object* x_47; lean_object* x_75; lean_object* x_76; lean_object* x_77; uint8_t x_78; lean_object* x_79; lean_object* x_94; lean_object* x_119; lean_object* x_136; lean_object* x_205; lean_object* x_216; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_241; lean_object* x_250; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; uint8_t x_271;
lean_object* x_3; lean_object* x_7; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_32; lean_object* x_36; lean_object* x_40; uint8_t x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_75; uint8_t x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_94; lean_object* x_119; lean_object* x_136; lean_object* x_205; lean_object* x_216; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_241; lean_object* x_250; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; uint8_t x_271;
x_11 = lean_ctor_get(x_2, 0);
lean_inc_ref(x_11);
x_12 = lean_ctor_get(x_2, 1);
@ -1082,14 +1082,14 @@ goto block_35;
}
block_74:
{
if (lean_obj_tag(x_44) == 1)
if (lean_obj_tag(x_45) == 1)
{
lean_object* x_48; lean_object* x_49;
x_48 = lean_ctor_get(x_44, 0);
x_48 = lean_ctor_get(x_45, 0);
lean_inc(x_48);
lean_dec_ref(x_44);
x_49 = lean_string_append(x_47, x_45);
lean_dec_ref(x_45);
x_49 = lean_string_append(x_47, x_46);
lean_dec_ref(x_46);
if (lean_obj_tag(x_48) == 0)
{
lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54;
@ -1098,7 +1098,7 @@ lean_inc(x_50);
lean_dec_ref(x_48);
x_51 = l___private_Lean_Server_Completion_CompletionItemCompression_0__Lean_Lsp_ResolvableCompletionList_compressItemDataFast___closed__3;
x_52 = lean_string_append(x_49, x_51);
x_53 = l_Lean_Name_toString(x_50, x_46);
x_53 = l_Lean_Name_toString(x_50, x_44);
x_54 = l___private_Lean_Data_Json_Printer_0__Lean_Json_needEscape(x_53);
if (x_54 == 0)
{
@ -1136,7 +1136,7 @@ lean_inc(x_62);
lean_dec_ref(x_48);
x_63 = l___private_Lean_Server_Completion_CompletionItemCompression_0__Lean_Lsp_ResolvableCompletionList_compressItemDataFast___closed__4;
x_64 = lean_string_append(x_49, x_63);
x_65 = l_Lean_Name_toString(x_62, x_46);
x_65 = l_Lean_Name_toString(x_62, x_44);
x_66 = l___private_Lean_Data_Json_Printer_0__Lean_Json_needEscape(x_65);
if (x_66 == 0)
{
@ -1169,8 +1169,8 @@ goto block_43;
}
else
{
lean_dec_ref(x_45);
lean_dec(x_44);
lean_dec_ref(x_46);
lean_dec(x_45);
x_32 = x_47;
goto block_35;
}
@ -1178,11 +1178,11 @@ goto block_35;
block_93:
{
lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88;
x_80 = lean_ctor_get(x_77, 0);
x_80 = lean_ctor_get(x_75, 0);
lean_inc(x_80);
x_81 = lean_ctor_get(x_77, 1);
x_81 = lean_ctor_get(x_75, 1);
lean_inc(x_81);
lean_dec_ref(x_77);
lean_dec_ref(x_75);
x_82 = l___private_Lean_Server_Completion_CompletionItemCompression_0__Lean_Lsp_ResolvableCompletionList_compressItemDataFast___closed__5;
x_83 = lean_string_append(x_79, x_82);
x_84 = l_Nat_reprFast(x_80);
@ -1192,28 +1192,28 @@ x_86 = lean_string_append(x_85, x_82);
x_87 = l_Nat_reprFast(x_81);
x_88 = lean_string_append(x_86, x_87);
lean_dec_ref(x_87);
if (lean_obj_tag(x_76) == 1)
if (lean_obj_tag(x_78) == 1)
{
lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92;
x_89 = lean_ctor_get(x_76, 0);
x_89 = lean_ctor_get(x_78, 0);
lean_inc(x_89);
lean_dec_ref(x_76);
lean_dec_ref(x_78);
x_90 = lean_string_append(x_88, x_82);
x_91 = l_Nat_reprFast(x_89);
x_92 = lean_string_append(x_90, x_91);
lean_dec_ref(x_91);
x_44 = x_75;
x_45 = x_82;
x_46 = x_78;
x_44 = x_76;
x_45 = x_77;
x_46 = x_82;
x_47 = x_92;
goto block_74;
}
else
{
lean_dec(x_76);
x_44 = x_75;
x_45 = x_82;
x_46 = x_78;
lean_dec(x_78);
x_44 = x_76;
x_45 = x_77;
x_46 = x_82;
x_47 = x_88;
goto block_74;
}
@ -1250,10 +1250,10 @@ lean_object* x_109; lean_object* x_110;
x_109 = lean_string_append(x_107, x_105);
lean_dec_ref(x_105);
x_110 = lean_string_append(x_109, x_106);
x_75 = x_99;
x_76 = x_98;
x_77 = x_97;
x_78 = x_104;
x_75 = x_97;
x_76 = x_104;
x_77 = x_99;
x_78 = x_98;
x_79 = x_110;
goto block_93;
}
@ -1274,10 +1274,10 @@ x_115 = l_String_Slice_positions(x_114);
lean_dec_ref(x_114);
x_116 = l_WellFounded_opaqueFix_u2083___redArg(x_113, x_115, x_107, lean_box(0));
x_117 = lean_string_append(x_116, x_106);
x_75 = x_99;
x_76 = x_98;
x_77 = x_97;
x_78 = x_104;
x_75 = x_97;
x_76 = x_104;
x_77 = x_99;
x_78 = x_98;
x_79 = x_117;
goto block_93;
}
@ -1774,14 +1774,14 @@ goto block_42;
}
block_78:
{
if (lean_obj_tag(x_52) == 1)
if (lean_obj_tag(x_51) == 1)
{
lean_object* x_54; lean_object* x_55;
x_54 = lean_ctor_get(x_52, 0);
x_54 = lean_ctor_get(x_51, 0);
lean_inc(x_54);
lean_dec_ref(x_52);
x_55 = lean_string_append(x_53, x_51);
lean_dec_ref(x_51);
x_55 = lean_string_append(x_53, x_52);
lean_dec_ref(x_52);
if (lean_obj_tag(x_54) == 0)
{
lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60;
@ -1857,8 +1857,8 @@ goto block_46;
}
else
{
lean_dec(x_52);
lean_dec_ref(x_51);
lean_dec_ref(x_52);
lean_dec(x_51);
x_39 = x_53;
goto block_42;
}
@ -1866,11 +1866,11 @@ goto block_42;
block_96:
{
lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91;
x_83 = lean_ctor_get(x_79, 0);
x_83 = lean_ctor_get(x_80, 0);
lean_inc(x_83);
x_84 = lean_ctor_get(x_79, 1);
x_84 = lean_ctor_get(x_80, 1);
lean_inc(x_84);
lean_dec_ref(x_79);
lean_dec_ref(x_80);
x_85 = l___private_Lean_Server_Completion_CompletionItemCompression_0__Lean_Lsp_ResolvableCompletionList_compressItemDataFast___closed__5;
x_86 = lean_string_append(x_82, x_85);
x_87 = l_Nat_reprFast(x_83);
@ -1890,16 +1890,16 @@ x_93 = lean_string_append(x_91, x_85);
x_94 = l_Nat_reprFast(x_92);
x_95 = lean_string_append(x_93, x_94);
lean_dec_ref(x_94);
x_51 = x_85;
x_52 = x_80;
x_51 = x_79;
x_52 = x_85;
x_53 = x_95;
goto block_78;
}
else
{
lean_dec(x_81);
x_51 = x_85;
x_52 = x_80;
x_51 = x_79;
x_52 = x_85;
x_53 = x_91;
goto block_78;
}
@ -1932,10 +1932,10 @@ x_112 = lean_string_append(x_110, x_108);
lean_dec_ref(x_108);
x_113 = lean_string_append(x_112, x_109);
lean_inc(x_102);
lean_inc(x_103);
lean_inc_ref(x_101);
x_79 = x_101;
x_80 = x_103;
lean_inc(x_103);
x_79 = x_103;
x_80 = x_101;
x_81 = x_102;
x_82 = x_113;
goto block_96;
@ -1956,10 +1956,10 @@ lean_dec_ref(x_108);
lean_dec_ref(x_116);
x_119 = lean_string_append(x_118, x_109);
lean_inc(x_102);
lean_inc(x_103);
lean_inc_ref(x_101);
x_79 = x_101;
x_80 = x_103;
lean_inc(x_103);
x_79 = x_103;
x_80 = x_101;
x_81 = x_102;
x_82 = x_119;
goto block_96;
@ -2154,19 +2154,19 @@ block_243:
{
lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; uint8_t x_234;
x_227 = l___private_Lean_Server_Completion_CompletionItemCompression_0__Lean_Lsp_ResolvableCompletionList_compressMarkupContentFast___closed__1;
x_228 = lean_string_append(x_225, x_227);
x_228 = lean_string_append(x_224, x_227);
x_229 = lean_string_append(x_228, x_226);
lean_dec_ref(x_226);
x_230 = l___private_Lean_Server_Completion_CompletionItemCompression_0__Lean_Lsp_ResolvableCompletionList_compressMarkupContentFast___closed__2;
x_231 = lean_string_append(x_229, x_230);
x_232 = l___private_Lean_Server_Completion_CompletionItemCompression_0__Lean_Lsp_ResolvableCompletionList_compressItemDataFast___closed__1;
x_233 = lean_string_append(x_231, x_232);
x_234 = l___private_Lean_Data_Json_Printer_0__Lean_Json_needEscape(x_224);
x_234 = l___private_Lean_Data_Json_Printer_0__Lean_Json_needEscape(x_225);
if (x_234 == 0)
{
lean_object* x_235; lean_object* x_236;
x_235 = lean_string_append(x_233, x_224);
lean_dec_ref(x_224);
x_235 = lean_string_append(x_233, x_225);
lean_dec_ref(x_225);
x_236 = lean_string_append(x_235, x_232);
x_220 = x_236;
goto block_223;
@ -2175,15 +2175,15 @@ else
{
lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242;
x_237 = lean_unsigned_to_nat(0u);
x_238 = lean_string_utf8_byte_size(x_224);
lean_inc_ref(x_224);
x_238 = lean_string_utf8_byte_size(x_225);
lean_inc_ref(x_225);
x_239 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_239, 0, x_224);
lean_ctor_set(x_239, 0, x_225);
lean_ctor_set(x_239, 1, x_237);
lean_ctor_set(x_239, 2, x_238);
x_240 = l_String_Slice_positions(x_239);
x_241 = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Server_Completion_CompletionItemCompression_0__Lean_Lsp_ResolvableCompletionList_compressItemsFast_spec__0___redArg(x_239, x_224, x_240, x_233);
lean_dec_ref(x_224);
x_241 = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Server_Completion_CompletionItemCompression_0__Lean_Lsp_ResolvableCompletionList_compressItemsFast_spec__0___redArg(x_239, x_225, x_240, x_233);
lean_dec_ref(x_225);
lean_dec_ref(x_239);
x_242 = lean_string_append(x_241, x_232);
x_220 = x_242;
@ -2207,8 +2207,8 @@ if (x_247 == 0)
lean_object* x_251;
x_251 = l___private_Lean_Server_Completion_CompletionItemCompression_0__Lean_Lsp_ResolvableCompletionList_compressMarkupContentFast___closed__3;
lean_inc_ref(x_248);
x_224 = x_248;
x_225 = x_250;
x_224 = x_250;
x_225 = x_248;
x_226 = x_251;
goto block_243;
}
@ -2217,8 +2217,8 @@ else
lean_object* x_252;
x_252 = l___private_Lean_Server_Completion_CompletionItemCompression_0__Lean_Lsp_ResolvableCompletionList_compressMarkupContentFast___closed__4;
lean_inc_ref(x_248);
x_224 = x_248;
x_225 = x_250;
x_224 = x_250;
x_225 = x_248;
x_226 = x_252;
goto block_243;
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -49859,9 +49859,9 @@ if (x_67 == 0)
uint8_t x_68; lean_object* x_69;
x_68 = 11;
x_69 = l_Lean_Server_Watchdog_mainLoop___closed__5;
x_23 = lean_box(0);
x_24 = x_57;
x_25 = x_58;
x_23 = x_57;
x_24 = x_58;
x_25 = lean_box(0);
x_26 = x_64;
x_27 = x_68;
x_28 = x_69;
@ -49872,9 +49872,9 @@ else
uint8_t x_70; lean_object* x_71;
x_70 = 10;
x_71 = l_Lean_Server_Watchdog_mainLoop___closed__6;
x_23 = lean_box(0);
x_24 = x_57;
x_25 = x_58;
x_23 = x_57;
x_24 = x_58;
x_25 = lean_box(0);
x_26 = x_64;
x_27 = x_70;
x_28 = x_71;
@ -50246,7 +50246,7 @@ block_17:
{
lean_object* x_12; lean_object* x_13;
x_12 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_12, 0, x_9);
lean_ctor_set(x_12, 0, x_10);
lean_ctor_set(x_12, 1, x_11);
lean_inc_ref(x_2);
x_13 = l_Lean_Server_Watchdog_writeMessage(x_12, x_2);
@ -50256,7 +50256,7 @@ uint8_t x_14; lean_object* x_15;
lean_dec_ref(x_13);
x_14 = 0;
lean_inc_ref(x_2);
x_15 = l_Lean_Server_Watchdog_setWorkerState(x_8, x_14, x_2);
x_15 = l_Lean_Server_Watchdog_setWorkerState(x_9, x_14, x_2);
if (lean_obj_tag(x_15) == 0)
{
lean_dec_ref(x_15);
@ -50271,7 +50271,7 @@ return x_15;
}
else
{
lean_dec_ref(x_8);
lean_dec_ref(x_9);
lean_dec_ref(x_2);
lean_dec_ref(x_1);
return x_13;
@ -50295,7 +50295,7 @@ if (lean_obj_tag(x_36) == 0)
uint8_t x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
lean_dec_ref(x_36);
x_37 = 1;
x_38 = l_Lean_Server_mkFileProgressAtPosNotification(x_25, x_22, x_37);
x_38 = l_Lean_Server_mkFileProgressAtPosNotification(x_24, x_22, x_37);
x_39 = lean_ctor_get(x_38, 0);
lean_inc_ref(x_39);
x_40 = lean_ctor_get(x_38, 1);
@ -50307,9 +50307,9 @@ if (lean_obj_tag(x_41) == 0)
lean_object* x_42;
lean_dec_ref(x_41);
x_42 = lean_box(0);
x_8 = x_24;
x_9 = x_39;
x_10 = lean_box(0);
x_8 = lean_box(0);
x_9 = x_23;
x_10 = x_39;
x_11 = x_42;
goto block_17;
}
@ -50319,9 +50319,9 @@ uint8_t x_43;
x_43 = !lean_is_exclusive(x_41);
if (x_43 == 0)
{
x_8 = x_24;
x_9 = x_39;
x_10 = lean_box(0);
x_8 = lean_box(0);
x_9 = x_23;
x_10 = x_39;
x_11 = x_41;
goto block_17;
}
@ -50333,9 +50333,9 @@ lean_inc(x_44);
lean_dec(x_41);
x_45 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_45, 0, x_44);
x_8 = x_24;
x_9 = x_39;
x_10 = lean_box(0);
x_8 = lean_box(0);
x_9 = x_23;
x_10 = x_39;
x_11 = x_45;
goto block_17;
}
@ -50343,8 +50343,8 @@ goto block_17;
}
else
{
lean_dec_ref(x_25);
lean_dec_ref(x_24);
lean_dec_ref(x_23);
lean_dec_ref(x_2);
lean_dec_ref(x_1);
return x_36;
@ -51661,7 +51661,7 @@ block_120:
{
lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119;
x_106 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_106, 0, x_102);
lean_ctor_set(x_106, 0, x_103);
lean_ctor_set(x_106, 1, x_105);
x_107 = l_Lean_Server_Watchdog_parseRequestParams_x3f___redArg___closed__12;
x_108 = lean_alloc_ctor(3, 1, 0);
@ -51682,13 +51682,13 @@ lean_dec(x_101);
x_115 = l_List_appendTR___redArg(x_112, x_114);
x_116 = l_Lean_Json_mkObj(x_115);
x_117 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_117, 0, x_103);
lean_ctor_set(x_117, 0, x_104);
lean_ctor_set(x_117, 1, x_116);
x_118 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_118, 0, x_117);
lean_ctor_set(x_118, 1, x_110);
x_119 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_119, 0, x_104);
lean_ctor_set(x_119, 0, x_102);
lean_ctor_set(x_119, 1, x_118);
x_39 = x_119;
goto block_48;
@ -51706,9 +51706,9 @@ case 0:
{
lean_object* x_126;
x_126 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__5;
x_102 = x_125;
x_103 = x_124;
x_104 = x_123;
x_102 = x_123;
x_103 = x_125;
x_104 = x_124;
x_105 = x_126;
goto block_120;
}
@ -51716,9 +51716,9 @@ case 1:
{
lean_object* x_127;
x_127 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__7;
x_102 = x_125;
x_103 = x_124;
x_104 = x_123;
x_102 = x_123;
x_103 = x_125;
x_104 = x_124;
x_105 = x_127;
goto block_120;
}
@ -51726,9 +51726,9 @@ case 2:
{
lean_object* x_128;
x_128 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__9;
x_102 = x_125;
x_103 = x_124;
x_104 = x_123;
x_102 = x_123;
x_103 = x_125;
x_104 = x_124;
x_105 = x_128;
goto block_120;
}
@ -51736,9 +51736,9 @@ case 3:
{
lean_object* x_129;
x_129 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__11;
x_102 = x_125;
x_103 = x_124;
x_104 = x_123;
x_102 = x_123;
x_103 = x_125;
x_104 = x_124;
x_105 = x_129;
goto block_120;
}
@ -51746,9 +51746,9 @@ case 4:
{
lean_object* x_130;
x_130 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__13;
x_102 = x_125;
x_103 = x_124;
x_104 = x_123;
x_102 = x_123;
x_103 = x_125;
x_104 = x_124;
x_105 = x_130;
goto block_120;
}
@ -51756,9 +51756,9 @@ case 5:
{
lean_object* x_131;
x_131 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__15;
x_102 = x_125;
x_103 = x_124;
x_104 = x_123;
x_102 = x_123;
x_103 = x_125;
x_104 = x_124;
x_105 = x_131;
goto block_120;
}
@ -51766,9 +51766,9 @@ case 6:
{
lean_object* x_132;
x_132 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__17;
x_102 = x_125;
x_103 = x_124;
x_104 = x_123;
x_102 = x_123;
x_103 = x_125;
x_104 = x_124;
x_105 = x_132;
goto block_120;
}
@ -51776,9 +51776,9 @@ case 7:
{
lean_object* x_133;
x_133 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__19;
x_102 = x_125;
x_103 = x_124;
x_104 = x_123;
x_102 = x_123;
x_103 = x_125;
x_104 = x_124;
x_105 = x_133;
goto block_120;
}
@ -51786,9 +51786,9 @@ case 8:
{
lean_object* x_134;
x_134 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__21;
x_102 = x_125;
x_103 = x_124;
x_104 = x_123;
x_102 = x_123;
x_103 = x_125;
x_104 = x_124;
x_105 = x_134;
goto block_120;
}
@ -51796,9 +51796,9 @@ case 9:
{
lean_object* x_135;
x_135 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__23;
x_102 = x_125;
x_103 = x_124;
x_104 = x_123;
x_102 = x_123;
x_103 = x_125;
x_104 = x_124;
x_105 = x_135;
goto block_120;
}
@ -51806,9 +51806,9 @@ case 10:
{
lean_object* x_136;
x_136 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__25;
x_102 = x_125;
x_103 = x_124;
x_104 = x_123;
x_102 = x_123;
x_103 = x_125;
x_104 = x_124;
x_105 = x_136;
goto block_120;
}
@ -51816,9 +51816,9 @@ default:
{
lean_object* x_137;
x_137 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__27;
x_102 = x_125;
x_103 = x_124;
x_104 = x_123;
x_102 = x_123;
x_103 = x_125;
x_104 = x_124;
x_105 = x_137;
goto block_120;
}
@ -53492,7 +53492,7 @@ goto block_32;
}
else
{
uint8_t x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; lean_object* x_40; lean_object* x_41; lean_object* x_44; lean_object* x_45; lean_object* x_51;
uint8_t x_36; lean_object* x_37; uint8_t x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_44; lean_object* x_45; lean_object* x_51;
x_36 = lean_ctor_get_uint8(x_33, sizeof(void*)*1);
x_37 = lean_ctor_get(x_33, 0);
lean_inc_ref(x_37);
@ -53683,8 +53683,8 @@ lean_dec_ref(x_72);
x_73 = lean_box(0);
x_74 = lean_unbox(x_67);
lean_dec(x_67);
x_38 = x_70;
x_39 = x_74;
x_38 = x_74;
x_39 = x_70;
x_40 = x_61;
x_41 = x_73;
goto block_43;
@ -53698,8 +53698,8 @@ if (x_75 == 0)
uint8_t x_76;
x_76 = lean_unbox(x_67);
lean_dec(x_67);
x_38 = x_70;
x_39 = x_76;
x_38 = x_76;
x_39 = x_70;
x_40 = x_61;
x_41 = x_72;
goto block_43;
@ -53714,8 +53714,8 @@ x_78 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_78, 0, x_77);
x_79 = lean_unbox(x_67);
lean_dec(x_67);
x_38 = x_70;
x_39 = x_79;
x_38 = x_79;
x_39 = x_70;
x_40 = x_61;
x_41 = x_78;
goto block_43;
@ -53828,9 +53828,9 @@ block_43:
lean_object* x_42;
x_42 = lean_alloc_ctor(3, 3, 1);
lean_ctor_set(x_42, 0, x_40);
lean_ctor_set(x_42, 1, x_38);
lean_ctor_set(x_42, 1, x_39);
lean_ctor_set(x_42, 2, x_41);
lean_ctor_set_uint8(x_42, sizeof(void*)*3, x_39);
lean_ctor_set_uint8(x_42, sizeof(void*)*3, x_38);
x_14 = x_36;
x_15 = x_42;
goto block_32;
@ -53858,7 +53858,7 @@ goto block_32;
block_12:
{
lean_object* x_10;
x_10 = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Server_Watchdog_runMessageLoggingTask_spec__0___redArg(x_5, x_7, x_9);
x_10 = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Server_Watchdog_runMessageLoggingTask_spec__0___redArg(x_5, x_8, x_9);
x_5 = x_10;
goto _start;
}
@ -53882,8 +53882,8 @@ if (lean_obj_tag(x_18) == 0)
lean_object* x_19; lean_object* x_20;
x_19 = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Server_Watchdog_handleModuleHierarchyImports_spec__2___closed__3;
x_20 = l_panic___at___00Lean_Server_Watchdog_runMessageLoggingTask_spec__1(x_19);
x_7 = x_17;
x_8 = lean_box(0);
x_7 = lean_box(0);
x_8 = x_17;
x_9 = x_20;
goto block_12;
}
@ -53893,8 +53893,8 @@ lean_object* x_21;
x_21 = lean_ctor_get(x_18, 0);
lean_inc(x_21);
lean_dec_ref(x_18);
x_7 = x_17;
x_8 = lean_box(0);
x_7 = lean_box(0);
x_8 = x_17;
x_9 = x_21;
goto block_12;
}
@ -54742,7 +54742,7 @@ return x_36;
}
else
{
lean_object* x_37; uint8_t x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; 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; uint8_t x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_86; lean_object* x_87; lean_object* x_88; uint8_t x_94; lean_object* x_102; lean_object* x_103;
lean_object* x_37; lean_object* x_38; lean_object* x_39; uint8_t x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_48; lean_object* x_49; uint8_t x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; 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_object* x_67; uint8_t x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_86; lean_object* x_87; lean_object* x_88; uint8_t x_94; lean_object* x_102; lean_object* x_103;
x_37 = lean_ctor_get(x_24, 0);
lean_inc(x_37);
lean_dec_ref(x_24);
@ -54784,13 +54784,13 @@ block_47:
{
lean_object* x_44; lean_object* x_45; lean_object* x_46;
x_44 = lean_alloc_ctor(0, 6, 1);
lean_ctor_set(x_44, 0, x_40);
lean_ctor_set(x_44, 0, x_41);
lean_ctor_set(x_44, 1, x_39);
lean_ctor_set(x_44, 2, x_42);
lean_ctor_set(x_44, 3, x_41);
lean_ctor_set(x_44, 2, x_38);
lean_ctor_set(x_44, 3, x_42);
lean_ctor_set(x_44, 4, x_37);
lean_ctor_set(x_44, 5, x_43);
lean_ctor_set_uint8(x_44, sizeof(void*)*6, x_38);
lean_ctor_set_uint8(x_44, sizeof(void*)*6, x_40);
if (lean_is_scalar(x_11)) {
x_45 = lean_alloc_ctor(0, 3, 0);
} else {
@ -54809,46 +54809,46 @@ return x_46;
}
block_58:
{
if (lean_obj_tag(x_51) == 0)
if (lean_obj_tag(x_52) == 0)
{
lean_object* x_54;
lean_dec_ref(x_51);
lean_dec_ref(x_52);
x_54 = lean_box(0);
x_38 = x_48;
x_39 = x_50;
x_40 = x_49;
x_41 = x_53;
x_42 = x_52;
x_38 = x_49;
x_39 = x_48;
x_40 = x_50;
x_41 = x_51;
x_42 = x_53;
x_43 = x_54;
goto block_47;
}
else
{
uint8_t x_55;
x_55 = !lean_is_exclusive(x_51);
x_55 = !lean_is_exclusive(x_52);
if (x_55 == 0)
{
x_38 = x_48;
x_39 = x_50;
x_40 = x_49;
x_41 = x_53;
x_42 = x_52;
x_43 = x_51;
x_38 = x_49;
x_39 = x_48;
x_40 = x_50;
x_41 = x_51;
x_42 = x_53;
x_43 = x_52;
goto block_47;
}
else
{
lean_object* x_56; lean_object* x_57;
x_56 = lean_ctor_get(x_51, 0);
x_56 = lean_ctor_get(x_52, 0);
lean_inc(x_56);
lean_dec(x_51);
lean_dec(x_52);
x_57 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_57, 0, x_56);
x_38 = x_48;
x_39 = x_50;
x_40 = x_49;
x_41 = x_53;
x_42 = x_52;
x_38 = x_49;
x_39 = x_48;
x_40 = x_50;
x_41 = x_51;
x_42 = x_53;
x_43 = x_57;
goto block_47;
}
@ -54862,10 +54862,10 @@ lean_object* x_72;
lean_dec_ref(x_66);
x_72 = lean_box(0);
x_48 = x_67;
x_49 = x_69;
x_49 = x_71;
x_50 = x_68;
x_51 = x_70;
x_52 = x_71;
x_51 = x_69;
x_52 = x_70;
x_53 = x_72;
goto block_58;
}
@ -54876,10 +54876,10 @@ x_73 = !lean_is_exclusive(x_66);
if (x_73 == 0)
{
x_48 = x_67;
x_49 = x_69;
x_49 = x_71;
x_50 = x_68;
x_51 = x_70;
x_52 = x_71;
x_51 = x_69;
x_52 = x_70;
x_53 = x_66;
goto block_58;
}
@ -54892,10 +54892,10 @@ lean_dec(x_66);
x_75 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_75, 0, x_74);
x_48 = x_67;
x_49 = x_69;
x_49 = x_71;
x_50 = x_68;
x_51 = x_70;
x_52 = x_71;
x_51 = x_69;
x_52 = x_70;
x_53 = x_75;
goto block_58;
}
@ -54908,8 +54908,8 @@ if (lean_obj_tag(x_64) == 0)
lean_object* x_81;
lean_dec_ref(x_64);
x_81 = lean_box(0);
x_67 = x_77;
x_68 = x_80;
x_67 = x_80;
x_68 = x_77;
x_69 = x_78;
x_70 = x_79;
x_71 = x_81;
@ -54921,8 +54921,8 @@ uint8_t x_82;
x_82 = !lean_is_exclusive(x_64);
if (x_82 == 0)
{
x_67 = x_77;
x_68 = x_80;
x_67 = x_80;
x_68 = x_77;
x_69 = x_78;
x_70 = x_79;
x_71 = x_64;
@ -54936,8 +54936,8 @@ lean_inc(x_83);
lean_dec(x_64);
x_84 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_84, 0, x_83);
x_67 = x_77;
x_68 = x_80;
x_67 = x_80;
x_68 = x_77;
x_69 = x_78;
x_70 = x_79;
x_71 = x_84;
@ -55301,7 +55301,7 @@ block_190:
{
lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189;
x_176 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_176, 0, x_172);
lean_ctor_set(x_176, 0, x_173);
lean_ctor_set(x_176, 1, x_175);
x_177 = l_Lean_Server_Watchdog_parseRequestParams_x3f___redArg___closed__12;
x_178 = lean_alloc_ctor(3, 1, 0);
@ -55322,13 +55322,13 @@ lean_dec(x_171);
x_185 = l_List_appendTR___redArg(x_182, x_184);
x_186 = l_Lean_Json_mkObj(x_185);
x_187 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_187, 0, x_173);
lean_ctor_set(x_187, 0, x_174);
lean_ctor_set(x_187, 1, x_186);
x_188 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_188, 0, x_187);
lean_ctor_set(x_188, 1, x_180);
x_189 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_189, 0, x_174);
lean_ctor_set(x_189, 0, x_172);
lean_ctor_set(x_189, 1, x_188);
x_109 = x_189;
goto block_118;
@ -55346,9 +55346,9 @@ case 0:
{
lean_object* x_196;
x_196 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__5;
x_172 = x_195;
x_173 = x_194;
x_174 = x_193;
x_172 = x_193;
x_173 = x_195;
x_174 = x_194;
x_175 = x_196;
goto block_190;
}
@ -55356,9 +55356,9 @@ case 1:
{
lean_object* x_197;
x_197 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__7;
x_172 = x_195;
x_173 = x_194;
x_174 = x_193;
x_172 = x_193;
x_173 = x_195;
x_174 = x_194;
x_175 = x_197;
goto block_190;
}
@ -55366,9 +55366,9 @@ case 2:
{
lean_object* x_198;
x_198 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__9;
x_172 = x_195;
x_173 = x_194;
x_174 = x_193;
x_172 = x_193;
x_173 = x_195;
x_174 = x_194;
x_175 = x_198;
goto block_190;
}
@ -55376,9 +55376,9 @@ case 3:
{
lean_object* x_199;
x_199 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__11;
x_172 = x_195;
x_173 = x_194;
x_174 = x_193;
x_172 = x_193;
x_173 = x_195;
x_174 = x_194;
x_175 = x_199;
goto block_190;
}
@ -55386,9 +55386,9 @@ case 4:
{
lean_object* x_200;
x_200 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__13;
x_172 = x_195;
x_173 = x_194;
x_174 = x_193;
x_172 = x_193;
x_173 = x_195;
x_174 = x_194;
x_175 = x_200;
goto block_190;
}
@ -55396,9 +55396,9 @@ case 5:
{
lean_object* x_201;
x_201 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__15;
x_172 = x_195;
x_173 = x_194;
x_174 = x_193;
x_172 = x_193;
x_173 = x_195;
x_174 = x_194;
x_175 = x_201;
goto block_190;
}
@ -55406,9 +55406,9 @@ case 6:
{
lean_object* x_202;
x_202 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__17;
x_172 = x_195;
x_173 = x_194;
x_174 = x_193;
x_172 = x_193;
x_173 = x_195;
x_174 = x_194;
x_175 = x_202;
goto block_190;
}
@ -55416,9 +55416,9 @@ case 7:
{
lean_object* x_203;
x_203 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__19;
x_172 = x_195;
x_173 = x_194;
x_174 = x_193;
x_172 = x_193;
x_173 = x_195;
x_174 = x_194;
x_175 = x_203;
goto block_190;
}
@ -55426,9 +55426,9 @@ case 8:
{
lean_object* x_204;
x_204 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__21;
x_172 = x_195;
x_173 = x_194;
x_174 = x_193;
x_172 = x_193;
x_173 = x_195;
x_174 = x_194;
x_175 = x_204;
goto block_190;
}
@ -55436,9 +55436,9 @@ case 9:
{
lean_object* x_205;
x_205 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__23;
x_172 = x_195;
x_173 = x_194;
x_174 = x_193;
x_172 = x_193;
x_173 = x_195;
x_174 = x_194;
x_175 = x_205;
goto block_190;
}
@ -55446,9 +55446,9 @@ case 10:
{
lean_object* x_206;
x_206 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__25;
x_172 = x_195;
x_173 = x_194;
x_174 = x_193;
x_172 = x_193;
x_173 = x_195;
x_174 = x_194;
x_175 = x_206;
goto block_190;
}
@ -55456,9 +55456,9 @@ default:
{
lean_object* x_207;
x_207 = l_IO_FS_Stream_readNotificationAs___at___00IO_FS_Stream_readLspNotificationAs___at___00Lean_Server_Watchdog_initAndRunWatchdogAux_spec__1_spec__1___closed__27;
x_172 = x_195;
x_173 = x_194;
x_174 = x_193;
x_172 = x_193;
x_173 = x_195;
x_174 = x_194;
x_175 = x_207;
goto block_190;
}

File diff suppressed because it is too large Load diff

View file

@ -1737,9 +1737,9 @@ goto block_51;
block_43:
{
lean_object* x_40; lean_object* x_41; lean_object* x_42;
x_40 = lean_nat_add(x_38, x_39);
x_40 = lean_nat_add(x_37, x_39);
lean_dec(x_39);
lean_dec(x_38);
lean_dec(x_37);
if (lean_is_scalar(x_33)) {
x_41 = lean_alloc_ctor(0, 5, 0);
} else {
@ -1758,7 +1758,7 @@ if (lean_is_scalar(x_23)) {
lean_ctor_set(x_42, 0, x_36);
lean_ctor_set(x_42, 1, x_26);
lean_ctor_set(x_42, 2, x_27);
lean_ctor_set(x_42, 3, x_37);
lean_ctor_set(x_42, 3, x_38);
lean_ctor_set(x_42, 4, x_41);
return x_42;
}
@ -1780,8 +1780,8 @@ if (lean_obj_tag(x_29) == 0)
lean_object* x_49;
x_49 = lean_ctor_get(x_29, 0);
lean_inc(x_49);
x_37 = x_47;
x_38 = x_48;
x_37 = x_48;
x_38 = x_47;
x_39 = x_49;
goto block_43;
}
@ -1789,8 +1789,8 @@ else
{
lean_object* x_50;
x_50 = lean_unsigned_to_nat(0u);
x_37 = x_47;
x_38 = x_48;
x_37 = x_48;
x_38 = x_47;
x_39 = x_50;
goto block_43;
}
@ -2198,9 +2198,9 @@ goto block_46;
block_38:
{
lean_object* x_35; lean_object* x_36; lean_object* x_37;
x_35 = lean_nat_add(x_33, x_34);
x_35 = lean_nat_add(x_32, x_34);
lean_dec(x_34);
lean_dec(x_33);
lean_dec(x_32);
if (lean_is_scalar(x_28)) {
x_36 = lean_alloc_ctor(0, 5, 0);
} else {
@ -2219,7 +2219,7 @@ if (lean_is_scalar(x_18)) {
lean_ctor_set(x_37, 0, x_31);
lean_ctor_set(x_37, 1, x_21);
lean_ctor_set(x_37, 2, x_22);
lean_ctor_set(x_37, 3, x_32);
lean_ctor_set(x_37, 3, x_33);
lean_ctor_set(x_37, 4, x_36);
return x_37;
}
@ -2241,8 +2241,8 @@ if (lean_obj_tag(x_24) == 0)
lean_object* x_44;
x_44 = lean_ctor_get(x_24, 0);
lean_inc(x_44);
x_32 = x_42;
x_33 = x_43;
x_32 = x_43;
x_33 = x_42;
x_34 = x_44;
goto block_38;
}
@ -2250,8 +2250,8 @@ else
{
lean_object* x_45;
x_45 = lean_unsigned_to_nat(0u);
x_32 = x_42;
x_33 = x_43;
x_32 = x_43;
x_33 = x_42;
x_34 = x_45;
goto block_38;
}
@ -2659,9 +2659,9 @@ goto block_51;
block_43:
{
lean_object* x_40; lean_object* x_41; lean_object* x_42;
x_40 = lean_nat_add(x_38, x_39);
x_40 = lean_nat_add(x_37, x_39);
lean_dec(x_39);
lean_dec(x_38);
lean_dec(x_37);
if (lean_is_scalar(x_33)) {
x_41 = lean_alloc_ctor(0, 5, 0);
} else {
@ -2680,7 +2680,7 @@ if (lean_is_scalar(x_23)) {
lean_ctor_set(x_42, 0, x_36);
lean_ctor_set(x_42, 1, x_26);
lean_ctor_set(x_42, 2, x_27);
lean_ctor_set(x_42, 3, x_37);
lean_ctor_set(x_42, 3, x_38);
lean_ctor_set(x_42, 4, x_41);
return x_42;
}
@ -2702,8 +2702,8 @@ if (lean_obj_tag(x_29) == 0)
lean_object* x_49;
x_49 = lean_ctor_get(x_29, 0);
lean_inc(x_49);
x_37 = x_47;
x_38 = x_48;
x_37 = x_48;
x_38 = x_47;
x_39 = x_49;
goto block_43;
}
@ -2711,8 +2711,8 @@ else
{
lean_object* x_50;
x_50 = lean_unsigned_to_nat(0u);
x_37 = x_47;
x_38 = x_48;
x_37 = x_48;
x_38 = x_47;
x_39 = x_50;
goto block_43;
}
@ -3228,9 +3228,9 @@ goto block_46;
block_38:
{
lean_object* x_35; lean_object* x_36; lean_object* x_37;
x_35 = lean_nat_add(x_33, x_34);
x_35 = lean_nat_add(x_32, x_34);
lean_dec(x_34);
lean_dec(x_33);
lean_dec(x_32);
if (lean_is_scalar(x_28)) {
x_36 = lean_alloc_ctor(0, 5, 0);
} else {
@ -3249,7 +3249,7 @@ if (lean_is_scalar(x_18)) {
lean_ctor_set(x_37, 0, x_31);
lean_ctor_set(x_37, 1, x_21);
lean_ctor_set(x_37, 2, x_22);
lean_ctor_set(x_37, 3, x_32);
lean_ctor_set(x_37, 3, x_33);
lean_ctor_set(x_37, 4, x_36);
return x_37;
}
@ -3271,8 +3271,8 @@ if (lean_obj_tag(x_24) == 0)
lean_object* x_44;
x_44 = lean_ctor_get(x_24, 0);
lean_inc(x_44);
x_32 = x_42;
x_33 = x_43;
x_32 = x_43;
x_33 = x_42;
x_34 = x_44;
goto block_38;
}
@ -3280,8 +3280,8 @@ else
{
lean_object* x_45;
x_45 = lean_unsigned_to_nat(0u);
x_32 = x_42;
x_33 = x_43;
x_32 = x_43;
x_33 = x_42;
x_34 = x_45;
goto block_38;
}
@ -3852,9 +3852,9 @@ goto block_48;
block_40:
{
lean_object* x_37; lean_object* x_38; lean_object* x_39;
x_37 = lean_nat_add(x_34, x_36);
x_37 = lean_nat_add(x_35, x_36);
lean_dec(x_36);
lean_dec(x_34);
lean_dec(x_35);
if (lean_is_scalar(x_30)) {
x_38 = lean_alloc_ctor(0, 5, 0);
} else {
@ -3873,7 +3873,7 @@ if (lean_is_scalar(x_20)) {
lean_ctor_set(x_39, 0, x_33);
lean_ctor_set(x_39, 1, x_23);
lean_ctor_set(x_39, 2, x_24);
lean_ctor_set(x_39, 3, x_35);
lean_ctor_set(x_39, 3, x_34);
lean_ctor_set(x_39, 4, x_38);
return x_39;
}
@ -3895,8 +3895,8 @@ if (lean_obj_tag(x_26) == 0)
lean_object* x_46;
x_46 = lean_ctor_get(x_26, 0);
lean_inc(x_46);
x_34 = x_45;
x_35 = x_44;
x_34 = x_44;
x_35 = x_45;
x_36 = x_46;
goto block_40;
}
@ -3904,8 +3904,8 @@ else
{
lean_object* x_47;
x_47 = lean_unsigned_to_nat(0u);
x_34 = x_45;
x_35 = x_44;
x_34 = x_44;
x_35 = x_45;
x_36 = x_47;
goto block_40;
}
@ -4460,9 +4460,9 @@ goto block_46;
block_38:
{
lean_object* x_35; lean_object* x_36; lean_object* x_37;
x_35 = lean_nat_add(x_32, x_34);
x_35 = lean_nat_add(x_33, x_34);
lean_dec(x_34);
lean_dec(x_32);
lean_dec(x_33);
if (lean_is_scalar(x_28)) {
x_36 = lean_alloc_ctor(0, 5, 0);
} else {
@ -4481,7 +4481,7 @@ if (lean_is_scalar(x_18)) {
lean_ctor_set(x_37, 0, x_31);
lean_ctor_set(x_37, 1, x_21);
lean_ctor_set(x_37, 2, x_22);
lean_ctor_set(x_37, 3, x_33);
lean_ctor_set(x_37, 3, x_32);
lean_ctor_set(x_37, 4, x_36);
return x_37;
}
@ -4503,8 +4503,8 @@ if (lean_obj_tag(x_24) == 0)
lean_object* x_44;
x_44 = lean_ctor_get(x_24, 0);
lean_inc(x_44);
x_32 = x_43;
x_33 = x_42;
x_32 = x_42;
x_33 = x_43;
x_34 = x_44;
goto block_38;
}
@ -4512,8 +4512,8 @@ else
{
lean_object* x_45;
x_45 = lean_unsigned_to_nat(0u);
x_32 = x_43;
x_33 = x_42;
x_32 = x_42;
x_33 = x_43;
x_34 = x_45;
goto block_38;
}
@ -8233,9 +8233,9 @@ goto block_58;
block_50:
{
lean_object* x_41; lean_object* x_42; uint8_t x_43;
x_41 = lean_nat_add(x_38, x_40);
x_41 = lean_nat_add(x_39, x_40);
lean_dec(x_40);
lean_dec(x_38);
lean_dec(x_39);
lean_inc_ref(x_4);
if (lean_is_scalar(x_34)) {
x_42 = lean_alloc_ctor(0, 5, 0);
@ -8262,7 +8262,7 @@ lean_dec(x_47);
x_48 = lean_ctor_get(x_4, 0);
lean_dec(x_48);
lean_ctor_set(x_4, 4, x_42);
lean_ctor_set(x_4, 3, x_39);
lean_ctor_set(x_4, 3, x_38);
lean_ctor_set(x_4, 2, x_28);
lean_ctor_set(x_4, 1, x_27);
lean_ctor_set(x_4, 0, x_37);
@ -8276,7 +8276,7 @@ x_49 = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(x_49, 0, x_37);
lean_ctor_set(x_49, 1, x_27);
lean_ctor_set(x_49, 2, x_28);
lean_ctor_set(x_49, 3, x_39);
lean_ctor_set(x_49, 3, x_38);
lean_ctor_set(x_49, 4, x_42);
return x_49;
}
@ -8303,8 +8303,8 @@ if (lean_obj_tag(x_30) == 0)
lean_object* x_56;
x_56 = lean_ctor_get(x_30, 0);
lean_inc(x_56);
x_38 = x_55;
x_39 = x_54;
x_38 = x_54;
x_39 = x_55;
x_40 = x_56;
goto block_50;
}
@ -8312,8 +8312,8 @@ else
{
lean_object* x_57;
x_57 = lean_unsigned_to_nat(0u);
x_38 = x_55;
x_39 = x_54;
x_38 = x_54;
x_39 = x_55;
x_40 = x_57;
goto block_50;
}
@ -9339,9 +9339,9 @@ goto block_58;
block_50:
{
lean_object* x_41; lean_object* x_42; uint8_t x_43;
x_41 = lean_nat_add(x_39, x_40);
x_41 = lean_nat_add(x_38, x_40);
lean_dec(x_40);
lean_dec(x_39);
lean_dec(x_38);
lean_inc_ref(x_4);
if (lean_is_scalar(x_34)) {
x_42 = lean_alloc_ctor(0, 5, 0);
@ -9368,7 +9368,7 @@ lean_dec(x_47);
x_48 = lean_ctor_get(x_4, 0);
lean_dec(x_48);
lean_ctor_set(x_4, 4, x_42);
lean_ctor_set(x_4, 3, x_38);
lean_ctor_set(x_4, 3, x_39);
lean_ctor_set(x_4, 2, x_28);
lean_ctor_set(x_4, 1, x_27);
lean_ctor_set(x_4, 0, x_37);
@ -9382,7 +9382,7 @@ x_49 = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(x_49, 0, x_37);
lean_ctor_set(x_49, 1, x_27);
lean_ctor_set(x_49, 2, x_28);
lean_ctor_set(x_49, 3, x_38);
lean_ctor_set(x_49, 3, x_39);
lean_ctor_set(x_49, 4, x_42);
return x_49;
}
@ -9409,8 +9409,8 @@ if (lean_obj_tag(x_30) == 0)
lean_object* x_56;
x_56 = lean_ctor_get(x_30, 0);
lean_inc(x_56);
x_38 = x_54;
x_39 = x_55;
x_38 = x_55;
x_39 = x_54;
x_40 = x_56;
goto block_50;
}
@ -9418,8 +9418,8 @@ else
{
lean_object* x_57;
x_57 = lean_unsigned_to_nat(0u);
x_38 = x_54;
x_39 = x_55;
x_38 = x_55;
x_39 = x_54;
x_40 = x_57;
goto block_50;
}
@ -9562,9 +9562,9 @@ goto block_99;
block_92:
{
lean_object* x_89; lean_object* x_90; lean_object* x_91;
x_89 = lean_nat_add(x_87, x_88);
x_89 = lean_nat_add(x_86, x_88);
lean_dec(x_88);
lean_dec(x_87);
lean_dec(x_86);
if (lean_is_scalar(x_82)) {
x_90 = lean_alloc_ctor(0, 5, 0);
} else {
@ -9583,7 +9583,7 @@ if (lean_is_scalar(x_72)) {
lean_ctor_set(x_91, 0, x_85);
lean_ctor_set(x_91, 1, x_74);
lean_ctor_set(x_91, 2, x_75);
lean_ctor_set(x_91, 3, x_86);
lean_ctor_set(x_91, 3, x_87);
lean_ctor_set(x_91, 4, x_90);
return x_91;
}
@ -9605,8 +9605,8 @@ if (lean_obj_tag(x_77) == 0)
lean_object* x_97;
x_97 = lean_ctor_get(x_77, 0);
lean_inc(x_97);
x_86 = x_95;
x_87 = x_96;
x_86 = x_96;
x_87 = x_95;
x_88 = x_97;
goto block_92;
}
@ -9614,8 +9614,8 @@ else
{
lean_object* x_98;
x_98 = lean_unsigned_to_nat(0u);
x_86 = x_95;
x_87 = x_96;
x_86 = x_96;
x_87 = x_95;
x_88 = x_98;
goto block_92;
}
@ -10613,11 +10613,11 @@ goto block_25;
block_20:
{
lean_object* x_11; uint8_t x_12;
x_11 = lean_nat_mul(x_9, x_10);
x_11 = lean_nat_mul(x_8, x_10);
lean_dec(x_10);
x_12 = lean_nat_dec_lt(x_8, x_11);
x_12 = lean_nat_dec_lt(x_9, x_11);
lean_dec(x_11);
lean_dec(x_8);
lean_dec(x_9);
if (x_12 == 0)
{
if (lean_obj_tag(x_6) == 0)
@ -10658,8 +10658,8 @@ if (lean_obj_tag(x_5) == 0)
lean_object* x_23;
x_23 = lean_ctor_get(x_5, 0);
lean_inc(x_23);
x_8 = x_21;
x_9 = x_22;
x_8 = x_22;
x_9 = x_21;
x_10 = x_23;
goto block_20;
}
@ -10667,8 +10667,8 @@ else
{
lean_object* x_24;
x_24 = lean_unsigned_to_nat(0u);
x_8 = x_21;
x_9 = x_22;
x_8 = x_22;
x_9 = x_21;
x_10 = x_24;
goto block_20;
}

File diff suppressed because it is too large Load diff

View file

@ -3778,9 +3778,9 @@ block_8:
{
lean_object* x_6; lean_object* x_7;
x_6 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_6, 0, x_3);
lean_ctor_set(x_6, 0, x_4);
lean_ctor_set(x_6, 1, x_5);
x_7 = l_Std_Sat_AIG_mkGateCached___at___00Std_Tactic_BVDecide_BVExpr_bitblast_go_spec__5(x_4, x_6);
x_7 = l_Std_Sat_AIG_mkGateCached___at___00Std_Tactic_BVDecide_BVExpr_bitblast_go_spec__5(x_3, x_6);
return x_7;
}
block_23:
@ -3796,8 +3796,8 @@ if (x_13 == 0)
uint8_t x_14;
x_14 = 1;
lean_ctor_set_uint8(x_9, sizeof(void*)*1, x_14);
x_3 = x_11;
x_4 = x_10;
x_3 = x_10;
x_4 = x_11;
x_5 = x_9;
goto block_8;
}
@ -3811,8 +3811,8 @@ x_16 = 1;
x_17 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_17, 0, x_15);
lean_ctor_set_uint8(x_17, sizeof(void*)*1, x_16);
x_3 = x_11;
x_4 = x_10;
x_3 = x_10;
x_4 = x_11;
x_5 = x_17;
goto block_8;
}
@ -3826,8 +3826,8 @@ if (x_18 == 0)
uint8_t x_19;
x_19 = 0;
lean_ctor_set_uint8(x_9, sizeof(void*)*1, x_19);
x_3 = x_11;
x_4 = x_10;
x_3 = x_10;
x_4 = x_11;
x_5 = x_9;
goto block_8;
}
@ -3841,8 +3841,8 @@ x_21 = 0;
x_22 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_22, 0, x_20);
lean_ctor_set_uint8(x_22, sizeof(void*)*1, x_21);
x_3 = x_11;
x_4 = x_10;
x_3 = x_10;
x_4 = x_11;
x_5 = x_22;
goto block_8;
}
@ -4319,7 +4319,7 @@ return x_6;
LEAN_EXPORT lean_object* l_Std_Sat_AIG_mkBEqCached___at___00Std_Tactic_BVDecide_BVPred_mkEq___at___00Std_Tactic_BVDecide_BVExpr_bitblast_blastUdiv___at___00Std_Tactic_BVDecide_BVExpr_bitblast_go_spec__13_spec__27_spec__38(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28; uint8_t x_48;
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_27; lean_object* x_28; uint8_t x_48;
x_48 = !lean_is_exclusive(x_2);
if (x_48 == 0)
{
@ -4388,9 +4388,9 @@ if (lean_is_scalar(x_56)) {
lean_ctor_set(x_62, 0, x_52);
lean_ctor_set_uint8(x_62, sizeof(void*)*1, x_61);
x_24 = x_54;
x_25 = x_60;
x_26 = x_59;
x_27 = x_55;
x_25 = x_59;
x_26 = x_55;
x_27 = x_60;
x_28 = x_62;
goto block_47;
}
@ -4411,9 +4411,9 @@ if (lean_is_scalar(x_56)) {
lean_ctor_set(x_66, 0, x_52);
lean_ctor_set_uint8(x_66, sizeof(void*)*1, x_65);
x_24 = x_54;
x_25 = x_64;
x_26 = x_63;
x_27 = x_55;
x_25 = x_63;
x_26 = x_55;
x_27 = x_64;
x_28 = x_66;
goto block_47;
}
@ -4488,9 +4488,9 @@ if (lean_is_scalar(x_77)) {
lean_ctor_set(x_83, 0, x_73);
lean_ctor_set_uint8(x_83, sizeof(void*)*1, x_82);
x_24 = x_75;
x_25 = x_81;
x_26 = x_80;
x_27 = x_76;
x_25 = x_80;
x_26 = x_76;
x_27 = x_81;
x_28 = x_83;
goto block_47;
}
@ -4511,9 +4511,9 @@ if (lean_is_scalar(x_77)) {
lean_ctor_set(x_87, 0, x_73);
lean_ctor_set_uint8(x_87, sizeof(void*)*1, x_86);
x_24 = x_75;
x_25 = x_85;
x_26 = x_84;
x_27 = x_76;
x_25 = x_84;
x_26 = x_76;
x_27 = x_85;
x_28 = x_87;
goto block_47;
}
@ -4605,9 +4605,9 @@ if (lean_is_scalar(x_101)) {
lean_ctor_set(x_107, 0, x_96);
lean_ctor_set_uint8(x_107, sizeof(void*)*1, x_106);
x_24 = x_99;
x_25 = x_105;
x_26 = x_104;
x_27 = x_100;
x_25 = x_104;
x_26 = x_100;
x_27 = x_105;
x_28 = x_107;
goto block_47;
}
@ -4628,9 +4628,9 @@ if (lean_is_scalar(x_101)) {
lean_ctor_set(x_111, 0, x_96);
lean_ctor_set_uint8(x_111, sizeof(void*)*1, x_110);
x_24 = x_99;
x_25 = x_109;
x_26 = x_108;
x_27 = x_100;
x_25 = x_108;
x_26 = x_100;
x_27 = x_109;
x_28 = x_111;
goto block_47;
}
@ -4715,12 +4715,12 @@ block_47:
lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32;
x_29 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_29, 0, x_24);
lean_ctor_set_uint8(x_29, sizeof(void*)*1, x_27);
lean_ctor_set_uint8(x_29, sizeof(void*)*1, x_26);
x_30 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_30, 0, x_28);
lean_ctor_set(x_30, 1, x_29);
x_31 = l_Std_Sat_AIG_mkGateCached___at___00Std_Tactic_BVDecide_BVExpr_bitblast_go_spec__5(x_26, x_30);
x_32 = lean_ctor_get_uint8(x_25, sizeof(void*)*1);
x_31 = l_Std_Sat_AIG_mkGateCached___at___00Std_Tactic_BVDecide_BVExpr_bitblast_go_spec__5(x_25, x_30);
x_32 = lean_ctor_get_uint8(x_27, sizeof(void*)*1);
if (x_32 == 0)
{
lean_object* x_33; lean_object* x_34; uint8_t x_35;
@ -4729,23 +4729,23 @@ lean_inc_ref(x_33);
x_34 = lean_ctor_get(x_31, 1);
lean_inc_ref(x_34);
lean_dec_ref(x_31);
x_35 = !lean_is_exclusive(x_25);
x_35 = !lean_is_exclusive(x_27);
if (x_35 == 0)
{
uint8_t x_36;
x_36 = 1;
lean_ctor_set_uint8(x_25, sizeof(void*)*1, x_36);
lean_ctor_set_uint8(x_27, sizeof(void*)*1, x_36);
x_9 = x_34;
x_10 = x_33;
x_11 = x_25;
x_11 = x_27;
goto block_23;
}
else
{
lean_object* x_37; uint8_t x_38; lean_object* x_39;
x_37 = lean_ctor_get(x_25, 0);
x_37 = lean_ctor_get(x_27, 0);
lean_inc(x_37);
lean_dec(x_25);
lean_dec(x_27);
x_38 = 1;
x_39 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_39, 0, x_37);
@ -4764,23 +4764,23 @@ lean_inc_ref(x_40);
x_41 = lean_ctor_get(x_31, 1);
lean_inc_ref(x_41);
lean_dec_ref(x_31);
x_42 = !lean_is_exclusive(x_25);
x_42 = !lean_is_exclusive(x_27);
if (x_42 == 0)
{
uint8_t x_43;
x_43 = 0;
lean_ctor_set_uint8(x_25, sizeof(void*)*1, x_43);
lean_ctor_set_uint8(x_27, sizeof(void*)*1, x_43);
x_9 = x_41;
x_10 = x_40;
x_11 = x_25;
x_11 = x_27;
goto block_23;
}
else
{
lean_object* x_44; uint8_t x_45; lean_object* x_46;
x_44 = lean_ctor_get(x_25, 0);
x_44 = lean_ctor_get(x_27, 0);
lean_inc(x_44);
lean_dec(x_25);
lean_dec(x_27);
x_45 = 0;
x_46 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_46, 0, x_44);
@ -7687,9 +7687,9 @@ block_17:
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
x_10 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_10, 0, x_9);
lean_ctor_set(x_10, 1, x_7);
lean_ctor_set(x_10, 1, x_8);
lean_ctor_set(x_10, 2, x_6);
x_11 = l_Std_Sat_AIG_RefVec_ite___at___00Std_Tactic_BVDecide_BVExpr_bitblast_blastUdiv___at___00Std_Tactic_BVDecide_BVExpr_bitblast_go_spec__13_spec__29(x_1, x_8, x_10);
x_11 = l_Std_Sat_AIG_RefVec_ite___at___00Std_Tactic_BVDecide_BVExpr_bitblast_blastUdiv___at___00Std_Tactic_BVDecide_BVExpr_bitblast_go_spec__13_spec__29(x_1, x_7, x_10);
x_12 = lean_ctor_get(x_11, 0);
lean_inc_ref(x_12);
x_13 = lean_ctor_get(x_11, 1);
@ -7745,8 +7745,8 @@ lean_object* x_35;
x_35 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_35, 0, x_31);
lean_ctor_set_uint8(x_35, sizeof(void*)*1, x_18);
x_7 = x_28;
x_8 = x_27;
x_7 = x_27;
x_8 = x_28;
x_9 = x_35;
goto block_17;
}
@ -7756,8 +7756,8 @@ lean_object* x_36;
x_36 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_36, 0, x_31);
lean_ctor_set_uint8(x_36, sizeof(void*)*1, x_21);
x_7 = x_28;
x_8 = x_27;
x_7 = x_27;
x_8 = x_28;
x_9 = x_36;
goto block_17;
}
@ -7793,8 +7793,8 @@ lean_object* x_49;
x_49 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_49, 0, x_45);
lean_ctor_set_uint8(x_49, sizeof(void*)*1, x_18);
x_7 = x_42;
x_8 = x_41;
x_7 = x_41;
x_8 = x_42;
x_9 = x_49;
goto block_17;
}
@ -7804,8 +7804,8 @@ lean_object* x_50;
x_50 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_50, 0, x_45);
lean_ctor_set_uint8(x_50, sizeof(void*)*1, x_21);
x_7 = x_42;
x_8 = x_41;
x_7 = x_41;
x_8 = x_42;
x_9 = x_50;
goto block_17;
}

View file

@ -91,11 +91,11 @@ block_19:
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
x_12 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_12, 0, x_11);
lean_ctor_set(x_12, 1, x_9);
lean_ctor_set(x_12, 1, x_10);
lean_ctor_set(x_12, 2, x_8);
lean_inc_ref(x_2);
lean_inc_ref(x_1);
x_13 = l_Std_Sat_AIG_RefVec_ite___redArg(x_1, x_2, x_3, x_10, x_12);
x_13 = l_Std_Sat_AIG_RefVec_ite___redArg(x_1, x_2, x_3, x_9, x_12);
x_14 = lean_ctor_get(x_13, 0);
lean_inc_ref(x_14);
x_15 = lean_ctor_get(x_13, 1);
@ -153,8 +153,8 @@ lean_object* x_37;
x_37 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_37, 0, x_33);
lean_ctor_set_uint8(x_37, sizeof(void*)*1, x_20);
x_9 = x_30;
x_10 = x_29;
x_9 = x_29;
x_10 = x_30;
x_11 = x_37;
goto block_19;
}
@ -164,8 +164,8 @@ lean_object* x_38;
x_38 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_38, 0, x_33);
lean_ctor_set_uint8(x_38, sizeof(void*)*1, x_23);
x_9 = x_30;
x_10 = x_29;
x_9 = x_29;
x_10 = x_30;
x_11 = x_38;
goto block_19;
}
@ -203,8 +203,8 @@ lean_object* x_51;
x_51 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_51, 0, x_47);
lean_ctor_set_uint8(x_51, sizeof(void*)*1, x_20);
x_9 = x_44;
x_10 = x_43;
x_9 = x_43;
x_10 = x_44;
x_11 = x_51;
goto block_19;
}
@ -214,8 +214,8 @@ lean_object* x_52;
x_52 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_52, 0, x_47);
lean_ctor_set_uint8(x_52, sizeof(void*)*1, x_23);
x_9 = x_44;
x_10 = x_43;
x_9 = x_43;
x_10 = x_44;
x_11 = x_52;
goto block_19;
}

View file

@ -50077,14 +50077,14 @@ goto block_162;
block_13:
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
x_8 = lean_string_append(x_6, x_7);
x_8 = lean_string_append(x_5, x_7);
lean_dec_ref(x_7);
x_9 = l___private_Std_Time_Format_Basic_0__Std_Time_parseOffset___closed__0;
x_10 = lean_string_append(x_8, x_9);
x_11 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_11, 0, x_10);
x_12 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_12, 0, x_5);
lean_ctor_set(x_12, 0, x_6);
lean_ctor_set(x_12, 1, x_11);
return x_12;
}
@ -50105,11 +50105,11 @@ return x_21;
block_30:
{
lean_object* x_27; lean_object* x_28; lean_object* x_29;
x_27 = lean_int_add(x_25, x_26);
x_27 = lean_int_add(x_24, x_26);
lean_dec(x_26);
lean_dec(x_25);
x_28 = lean_int_mul(x_27, x_24);
lean_dec(x_24);
x_28 = lean_int_mul(x_27, x_25);
lean_dec(x_25);
lean_dec(x_27);
x_29 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_29, 0, x_23);
@ -50119,32 +50119,32 @@ return x_29;
block_42:
{
lean_object* x_37; lean_object* x_38; lean_object* x_39;
x_37 = lean_nat_to_int(x_35);
x_37 = lean_nat_to_int(x_33);
x_38 = lean_int_mul(x_36, x_37);
lean_dec(x_37);
lean_dec(x_36);
x_39 = lean_int_add(x_34, x_38);
x_39 = lean_int_add(x_35, x_38);
lean_dec(x_38);
lean_dec(x_34);
if (lean_obj_tag(x_33) == 0)
lean_dec(x_35);
if (lean_obj_tag(x_32) == 0)
{
lean_object* x_40;
x_40 = l___private_Std_Time_Format_Basic_0__Std_Time_pad___closed__0;
x_23 = x_31;
x_24 = x_32;
x_25 = x_39;
x_24 = x_39;
x_25 = x_34;
x_26 = x_40;
goto block_30;
}
else
{
lean_object* x_41;
x_41 = lean_ctor_get(x_33, 0);
x_41 = lean_ctor_get(x_32, 0);
lean_inc(x_41);
lean_dec_ref(x_33);
lean_dec_ref(x_32);
x_23 = x_31;
x_24 = x_32;
x_25 = x_39;
x_24 = x_39;
x_25 = x_34;
x_26 = x_41;
goto block_30;
}
@ -50153,31 +50153,31 @@ block_53:
{
lean_object* x_49; lean_object* x_50;
x_49 = l___private_Std_Time_Format_Basic_0__Std_Time_formatWith___closed__3;
x_50 = lean_int_mul(x_46, x_49);
lean_dec(x_46);
if (lean_obj_tag(x_45) == 0)
x_50 = lean_int_mul(x_47, x_49);
lean_dec(x_47);
if (lean_obj_tag(x_43) == 0)
{
lean_object* x_51;
x_51 = l___private_Std_Time_Format_Basic_0__Std_Time_pad___closed__0;
x_31 = x_48;
x_32 = x_43;
x_32 = x_45;
x_33 = x_44;
x_34 = x_50;
x_35 = x_47;
x_34 = x_46;
x_35 = x_50;
x_36 = x_51;
goto block_42;
}
else
{
lean_object* x_52;
x_52 = lean_ctor_get(x_45, 0);
x_52 = lean_ctor_get(x_43, 0);
lean_inc(x_52);
lean_dec_ref(x_45);
lean_dec_ref(x_43);
x_31 = x_48;
x_32 = x_43;
x_32 = x_45;
x_33 = x_44;
x_34 = x_50;
x_35 = x_47;
x_34 = x_46;
x_35 = x_50;
x_36 = x_52;
goto block_42;
}
@ -50188,7 +50188,7 @@ lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63;
x_60 = lean_unsigned_to_nat(1u);
x_61 = l___private_Std_Time_Format_Basic_0__Std_Time_parseOffset___closed__1;
x_62 = lean_box(x_2);
x_63 = lean_apply_3(x_57, x_61, x_62, x_59);
x_63 = lean_apply_3(x_55, x_61, x_62, x_59);
if (lean_obj_tag(x_63) == 0)
{
lean_object* x_64;
@ -50206,9 +50206,9 @@ x_68 = lean_int_dec_lt(x_67, x_66);
if (x_68 == 0)
{
x_43 = x_54;
x_44 = x_64;
x_45 = x_56;
x_46 = x_55;
x_44 = x_56;
x_45 = x_64;
x_46 = x_57;
x_47 = x_58;
x_48 = x_65;
goto block_53;
@ -50219,8 +50219,8 @@ lean_object* x_69; lean_object* x_70; uint8_t x_71;
lean_inc(x_66);
lean_dec_ref(x_64);
lean_dec(x_58);
lean_dec(x_57);
lean_dec(x_56);
lean_dec(x_55);
lean_dec(x_54);
x_69 = l___private_Std_Time_Format_Basic_0__Std_Time_parseOffset___closed__3;
x_70 = l___private_Std_Time_Format_Basic_0__Std_Time_pad___closed__0;
@ -50263,9 +50263,9 @@ x_80 = lean_ctor_get(x_63, 0);
lean_inc(x_80);
lean_dec_ref(x_63);
x_43 = x_54;
x_44 = x_64;
x_45 = x_56;
x_46 = x_55;
x_44 = x_56;
x_45 = x_64;
x_46 = x_57;
x_47 = x_58;
x_48 = x_80;
goto block_53;
@ -50275,8 +50275,8 @@ else
{
uint8_t x_81;
lean_dec(x_58);
lean_dec(x_57);
lean_dec(x_56);
lean_dec(x_55);
lean_dec(x_54);
x_81 = !lean_is_exclusive(x_63);
if (x_81 == 0)
@ -50374,11 +50374,11 @@ x_123 = l___private_Std_Time_Format_Basic_0__Std_Time_parseOffset___closed__2;
x_124 = lean_int_dec_lt(x_123, x_122);
if (x_124 == 0)
{
x_54 = x_106;
x_55 = x_111;
x_56 = x_120;
x_57 = x_116;
x_58 = x_117;
x_54 = x_120;
x_55 = x_116;
x_56 = x_117;
x_57 = x_106;
x_58 = x_111;
x_59 = x_121;
goto block_85;
}
@ -50398,8 +50398,8 @@ lean_object* x_127; lean_object* x_128;
x_127 = lean_nat_abs(x_122);
lean_dec(x_122);
x_128 = l_Nat_reprFast(x_127);
x_5 = x_121;
x_6 = x_125;
x_5 = x_125;
x_6 = x_121;
x_7 = x_128;
goto block_13;
}
@ -50417,8 +50417,8 @@ lean_dec(x_131);
x_134 = l_Nat_reprFast(x_133);
x_135 = lean_string_append(x_132, x_134);
lean_dec_ref(x_134);
x_5 = x_121;
x_6 = x_125;
x_5 = x_125;
x_6 = x_121;
x_7 = x_135;
goto block_13;
}
@ -50430,11 +50430,11 @@ lean_object* x_136;
x_136 = lean_ctor_get(x_119, 0);
lean_inc(x_136);
lean_dec_ref(x_119);
x_54 = x_106;
x_55 = x_111;
x_56 = x_120;
x_57 = x_116;
x_58 = x_117;
x_54 = x_120;
x_55 = x_116;
x_56 = x_117;
x_57 = x_106;
x_58 = x_111;
x_59 = x_136;
goto block_85;
}
@ -58931,7 +58931,7 @@ return x_4;
LEAN_EXPORT lean_object* l___private_Std_Time_Format_Basic_0__Std_Time_GenericFormat_DateBuilder_build(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_127; lean_object* x_128; uint8_t x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; uint8_t x_135; lean_object* x_143; lean_object* x_144; uint8_t x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; uint8_t x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; uint8_t x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; uint8_t x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_228; uint8_t x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; uint8_t x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_251; uint8_t x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_265; uint8_t x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; uint8_t x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; uint8_t x_289; uint8_t x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_305; uint8_t x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_327;
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_32; uint8_t x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_127; lean_object* x_128; lean_object* x_129; uint8_t x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; uint8_t x_135; lean_object* x_143; lean_object* x_144; lean_object* x_145; uint8_t x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_156; lean_object* x_157; uint8_t x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; uint8_t x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_214; lean_object* x_215; uint8_t x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_228; lean_object* x_229; uint8_t x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_240; lean_object* x_241; uint8_t x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_251; lean_object* x_252; uint8_t x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_265; lean_object* x_266; uint8_t x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_283; lean_object* x_284; uint8_t x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; uint8_t x_289; lean_object* x_295; uint8_t x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_305; uint8_t x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_327;
x_172 = lean_ctor_get(x_1, 0);
lean_inc(x_172);
x_173 = lean_ctor_get(x_1, 1);
@ -59040,15 +59040,15 @@ goto block_333;
block_25:
{
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
x_7 = lean_ctor_get(x_3, 0);
x_7 = lean_ctor_get(x_5, 0);
lean_inc(x_7);
x_8 = lean_ctor_get(x_3, 1);
x_8 = lean_ctor_get(x_5, 1);
lean_inc(x_8);
lean_dec_ref(x_3);
lean_dec_ref(x_5);
x_9 = l_Std_Time_TimeZone_LocalTimeType_getTimeZone(x_6);
lean_dec_ref(x_6);
x_10 = l_Std_Time_TimeZone_toSeconds(x_9);
x_11 = lean_nat_to_int(x_5);
x_11 = lean_nat_to_int(x_3);
x_12 = lean_int_neg(x_10);
x_13 = lean_int_neg(x_11);
lean_dec(x_11);
@ -59090,8 +59090,8 @@ x_30 = lean_ctor_get(x_29, 1);
lean_inc_ref(x_30);
lean_dec_ref(x_29);
x_3 = x_26;
x_4 = x_28;
x_5 = x_27;
x_4 = x_27;
x_5 = x_28;
x_6 = x_30;
goto block_25;
}
@ -59100,8 +59100,8 @@ block_126:
if (lean_obj_tag(x_2) == 0)
{
lean_dec_ref(x_35);
lean_dec_ref(x_34);
lean_dec(x_33);
lean_dec(x_34);
lean_dec_ref(x_32);
if (lean_obj_tag(x_36) == 0)
{
lean_object* x_37;
@ -59271,8 +59271,8 @@ if (lean_obj_tag(x_36) == 0)
{
lean_object* x_100;
lean_dec_ref(x_35);
lean_dec_ref(x_34);
lean_dec(x_33);
lean_dec(x_34);
lean_dec_ref(x_32);
x_100 = lean_box(0);
return x_100;
}
@ -59288,10 +59288,10 @@ lean_inc(x_103);
x_104 = 0;
x_105 = 1;
x_106 = lean_alloc_ctor(0, 3, 3);
lean_ctor_set(x_106, 0, x_33);
lean_ctor_set(x_106, 1, x_35);
lean_ctor_set(x_106, 2, x_34);
lean_ctor_set_uint8(x_106, sizeof(void*)*3, x_32);
lean_ctor_set(x_106, 0, x_34);
lean_ctor_set(x_106, 1, x_32);
lean_ctor_set(x_106, 2, x_35);
lean_ctor_set_uint8(x_106, sizeof(void*)*3, x_33);
lean_ctor_set_uint8(x_106, sizeof(void*)*3 + 1, x_104);
lean_ctor_set_uint8(x_106, sizeof(void*)*3 + 2, x_105);
x_107 = lean_unsigned_to_nat(0u);
@ -59330,18 +59330,18 @@ lean_dec(x_103);
if (x_123 == 0)
{
lean_dec(x_117);
x_26 = x_102;
x_27 = x_107;
x_28 = x_109;
x_26 = x_107;
x_27 = x_109;
x_28 = x_102;
x_29 = x_113;
goto block_31;
}
else
{
lean_dec(x_113);
x_26 = x_102;
x_27 = x_107;
x_28 = x_109;
x_26 = x_107;
x_27 = x_109;
x_28 = x_102;
x_29 = x_117;
goto block_31;
}
@ -59354,9 +59354,9 @@ lean_dec(x_103);
x_124 = l___private_Std_Time_Format_Basic_0__Std_Time_GenericFormat_DateBuilder_build___closed__1;
if (lean_obj_tag(x_124) == 0)
{
x_3 = x_102;
x_3 = x_107;
x_4 = x_109;
x_5 = x_107;
x_5 = x_102;
x_6 = x_106;
goto block_25;
}
@ -59366,9 +59366,9 @@ lean_object* x_125;
lean_dec_ref(x_106);
x_125 = lean_ctor_get(x_124, 0);
lean_inc(x_125);
x_26 = x_102;
x_27 = x_107;
x_28 = x_109;
x_26 = x_107;
x_27 = x_109;
x_28 = x_102;
x_29 = x_125;
goto block_31;
}
@ -59379,21 +59379,21 @@ goto block_31;
block_142:
{
lean_object* x_136; uint8_t x_137;
x_136 = l_Std_Time_Month_Ordinal_days(x_135, x_134);
x_137 = lean_int_dec_le(x_133, x_136);
x_136 = l_Std_Time_Month_Ordinal_days(x_135, x_132);
x_137 = lean_int_dec_le(x_128, x_136);
lean_dec(x_136);
if (x_137 == 0)
{
lean_object* x_138;
lean_dec(x_134);
lean_dec(x_133);
lean_dec(x_132);
lean_dec_ref(x_127);
lean_dec_ref(x_129);
lean_dec(x_128);
x_138 = lean_box(0);
x_32 = x_129;
x_33 = x_128;
x_34 = x_130;
x_35 = x_131;
x_32 = x_127;
x_33 = x_130;
x_34 = x_131;
x_35 = x_133;
x_36 = x_138;
goto block_126;
}
@ -59401,18 +59401,18 @@ else
{
lean_object* x_139; lean_object* x_140; lean_object* x_141;
x_139 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_139, 0, x_132);
lean_ctor_set(x_139, 1, x_134);
lean_ctor_set(x_139, 2, x_133);
lean_ctor_set(x_139, 0, x_134);
lean_ctor_set(x_139, 1, x_132);
lean_ctor_set(x_139, 2, x_128);
x_140 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_140, 0, x_139);
lean_ctor_set(x_140, 1, x_127);
lean_ctor_set(x_140, 1, x_129);
x_141 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_141, 0, x_140);
x_32 = x_129;
x_33 = x_128;
x_34 = x_130;
x_35 = x_131;
x_32 = x_127;
x_33 = x_130;
x_34 = x_131;
x_35 = x_133;
x_36 = x_141;
goto block_126;
}
@ -59421,9 +59421,9 @@ block_155:
{
lean_object* x_152; lean_object* x_153; uint8_t x_154;
x_152 = l___private_Std_Time_Format_Basic_0__Std_Time_dateFromModifier___closed__1;
x_153 = lean_int_mod(x_149, x_152);
x_154 = lean_int_dec_eq(x_153, x_147);
lean_dec(x_147);
x_153 = lean_int_mod(x_151, x_152);
x_154 = lean_int_dec_eq(x_153, x_148);
lean_dec(x_148);
lean_dec(x_153);
if (x_154 == 0)
{
@ -59431,11 +59431,11 @@ x_127 = x_143;
x_128 = x_144;
x_129 = x_145;
x_130 = x_146;
x_131 = x_148;
x_131 = x_147;
x_132 = x_149;
x_133 = x_151;
x_134 = x_150;
x_135 = x_145;
x_133 = x_150;
x_134 = x_151;
x_135 = x_146;
goto block_142;
}
else
@ -59444,10 +59444,10 @@ x_127 = x_143;
x_128 = x_144;
x_129 = x_145;
x_130 = x_146;
x_131 = x_148;
x_131 = x_147;
x_132 = x_149;
x_133 = x_151;
x_134 = x_150;
x_133 = x_150;
x_134 = x_151;
x_135 = x_154;
goto block_142;
}
@ -59456,40 +59456,40 @@ block_171:
{
lean_object* x_164; lean_object* x_165; lean_object* x_166; uint8_t x_167;
x_164 = l___private_Std_Time_Format_Basic_0__Std_Time_dateFromModifier___closed__0;
x_165 = lean_int_mod(x_160, x_164);
x_165 = lean_int_mod(x_162, x_164);
x_166 = l___private_Std_Time_Format_Basic_0__Std_Time_pad___closed__0;
x_167 = lean_int_dec_eq(x_165, x_166);
lean_dec(x_165);
if (x_167 == 0)
{
x_127 = x_163;
x_127 = x_156;
x_128 = x_157;
x_129 = x_156;
x_129 = x_163;
x_130 = x_158;
x_131 = x_159;
x_132 = x_160;
x_133 = x_162;
x_134 = x_161;
x_135 = x_156;
x_133 = x_161;
x_134 = x_162;
x_135 = x_158;
goto block_142;
}
else
{
lean_object* x_168; lean_object* x_169; uint8_t x_170;
x_168 = l___private_Std_Time_Format_Basic_0__Std_Time_formatWith___closed__0;
x_169 = lean_int_mod(x_160, x_168);
x_169 = lean_int_mod(x_162, x_168);
x_170 = lean_int_dec_eq(x_169, x_166);
lean_dec(x_169);
if (x_170 == 0)
{
if (x_167 == 0)
{
x_143 = x_163;
x_143 = x_156;
x_144 = x_157;
x_145 = x_156;
x_145 = x_163;
x_146 = x_158;
x_147 = x_166;
x_148 = x_159;
x_147 = x_159;
x_148 = x_166;
x_149 = x_160;
x_150 = x_161;
x_151 = x_162;
@ -59497,26 +59497,26 @@ goto block_155;
}
else
{
x_127 = x_163;
x_127 = x_156;
x_128 = x_157;
x_129 = x_156;
x_129 = x_163;
x_130 = x_158;
x_131 = x_159;
x_132 = x_160;
x_133 = x_162;
x_134 = x_161;
x_133 = x_161;
x_134 = x_162;
x_135 = x_167;
goto block_142;
}
}
else
{
x_143 = x_163;
x_143 = x_156;
x_144 = x_157;
x_145 = x_156;
x_145 = x_163;
x_146 = x_158;
x_147 = x_166;
x_148 = x_159;
x_147 = x_159;
x_148 = x_166;
x_149 = x_160;
x_150 = x_161;
x_151 = x_162;
@ -59532,16 +59532,16 @@ if (lean_obj_tag(x_185) == 0)
{
lean_object* x_206;
x_206 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_206, 0, x_198);
lean_ctor_set(x_206, 1, x_200);
lean_ctor_set(x_206, 2, x_195);
lean_ctor_set(x_206, 0, x_204);
lean_ctor_set(x_206, 1, x_199);
lean_ctor_set(x_206, 2, x_196);
lean_ctor_set(x_206, 3, x_205);
x_156 = x_197;
x_157 = x_196;
x_158 = x_199;
x_159 = x_201;
x_160 = x_202;
x_161 = x_204;
x_156 = x_195;
x_157 = x_197;
x_158 = x_198;
x_159 = x_200;
x_160 = x_201;
x_161 = x_202;
x_162 = x_203;
x_163 = x_206;
goto block_171;
@ -59550,9 +59550,9 @@ else
{
lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210;
lean_dec(x_205);
lean_dec(x_200);
lean_dec(x_198);
lean_dec(x_195);
lean_dec(x_204);
lean_dec(x_199);
lean_dec(x_196);
x_207 = lean_ctor_get(x_185, 0);
lean_inc(x_207);
lean_dec_ref(x_185);
@ -59561,12 +59561,12 @@ x_209 = lean_int_mul(x_207, x_208);
lean_dec(x_207);
x_210 = l_Std_Time_PlainTime_ofNanoseconds(x_209);
lean_dec(x_209);
x_156 = x_197;
x_157 = x_196;
x_158 = x_199;
x_159 = x_201;
x_160 = x_202;
x_161 = x_204;
x_156 = x_195;
x_157 = x_197;
x_158 = x_198;
x_159 = x_200;
x_160 = x_201;
x_161 = x_202;
x_162 = x_203;
x_163 = x_210;
goto block_171;
@ -59576,21 +59576,21 @@ else
{
lean_object* x_211; lean_object* x_212;
lean_dec(x_205);
lean_dec(x_200);
lean_dec(x_198);
lean_dec(x_195);
lean_dec(x_204);
lean_dec(x_199);
lean_dec(x_196);
lean_dec(x_185);
x_211 = lean_ctor_get(x_187, 0);
lean_inc(x_211);
lean_dec_ref(x_187);
x_212 = l_Std_Time_PlainTime_ofNanoseconds(x_211);
lean_dec(x_211);
x_156 = x_197;
x_157 = x_196;
x_158 = x_199;
x_159 = x_201;
x_160 = x_202;
x_161 = x_204;
x_156 = x_195;
x_157 = x_197;
x_158 = x_198;
x_159 = x_200;
x_160 = x_201;
x_161 = x_202;
x_162 = x_203;
x_163 = x_212;
goto block_171;
@ -59604,12 +59604,12 @@ if (lean_obj_tag(x_184) == 0)
{
lean_object* x_224;
x_224 = l___private_Std_Time_Format_Basic_0__Std_Time_GenericFormat_DateBuilder_build___closed__4;
x_195 = x_223;
x_196 = x_215;
x_197 = x_214;
x_195 = x_214;
x_196 = x_223;
x_197 = x_215;
x_198 = x_216;
x_199 = x_218;
x_200 = x_217;
x_199 = x_217;
x_200 = x_218;
x_201 = x_219;
x_202 = x_220;
x_203 = x_222;
@ -59623,12 +59623,12 @@ lean_object* x_225;
x_225 = lean_ctor_get(x_184, 0);
lean_inc(x_225);
lean_dec_ref(x_184);
x_195 = x_223;
x_196 = x_215;
x_197 = x_214;
x_195 = x_214;
x_196 = x_223;
x_197 = x_215;
x_198 = x_216;
x_199 = x_218;
x_200 = x_217;
x_199 = x_217;
x_200 = x_218;
x_201 = x_219;
x_202 = x_220;
x_203 = x_222;
@ -59644,12 +59644,12 @@ lean_dec(x_184);
x_226 = lean_ctor_get(x_186, 0);
lean_inc(x_226);
lean_dec_ref(x_186);
x_195 = x_223;
x_196 = x_215;
x_197 = x_214;
x_195 = x_214;
x_196 = x_223;
x_197 = x_215;
x_198 = x_216;
x_199 = x_218;
x_200 = x_217;
x_199 = x_217;
x_200 = x_218;
x_201 = x_219;
x_202 = x_220;
x_203 = x_222;
@ -59664,8 +59664,8 @@ if (lean_obj_tag(x_183) == 0)
{
lean_object* x_237;
x_237 = l___private_Std_Time_Format_Basic_0__Std_Time_GenericFormat_DateBuilder_build___closed__5;
x_214 = x_229;
x_215 = x_228;
x_214 = x_228;
x_215 = x_229;
x_216 = x_230;
x_217 = x_236;
x_218 = x_231;
@ -59682,8 +59682,8 @@ lean_object* x_238;
x_238 = lean_ctor_get(x_183, 0);
lean_inc(x_238);
lean_dec_ref(x_183);
x_214 = x_229;
x_215 = x_228;
x_214 = x_228;
x_215 = x_229;
x_216 = x_230;
x_217 = x_236;
x_218 = x_231;
@ -59701,14 +59701,14 @@ if (lean_obj_tag(x_182) == 0)
{
lean_object* x_248;
x_248 = l___private_Std_Time_Format_Basic_0__Std_Time_GenericFormat_DateBuilder_build___closed__13;
x_228 = x_241;
x_229 = x_240;
x_230 = x_247;
x_231 = x_242;
x_232 = x_243;
x_233 = x_244;
x_228 = x_240;
x_229 = x_241;
x_230 = x_242;
x_231 = x_243;
x_232 = x_244;
x_233 = x_245;
x_234 = x_246;
x_235 = x_245;
x_235 = x_247;
x_236 = x_248;
goto block_239;
}
@ -59718,14 +59718,14 @@ lean_object* x_249;
x_249 = lean_ctor_get(x_182, 0);
lean_inc(x_249);
lean_dec_ref(x_182);
x_228 = x_241;
x_229 = x_240;
x_230 = x_247;
x_231 = x_242;
x_232 = x_243;
x_233 = x_244;
x_228 = x_240;
x_229 = x_241;
x_230 = x_242;
x_231 = x_243;
x_232 = x_244;
x_233 = x_245;
x_234 = x_246;
x_235 = x_245;
x_235 = x_247;
x_236 = x_249;
goto block_239;
}
@ -59738,13 +59738,13 @@ if (lean_obj_tag(x_181) == 0)
{
lean_object* x_258;
x_258 = l___private_Std_Time_Format_Basic_0__Std_Time_pad___closed__0;
x_240 = x_252;
x_241 = x_251;
x_240 = x_251;
x_241 = x_252;
x_242 = x_253;
x_243 = x_254;
x_244 = x_255;
x_245 = x_257;
x_246 = x_256;
x_245 = x_256;
x_246 = x_257;
x_247 = x_258;
goto block_250;
}
@ -59754,13 +59754,13 @@ lean_object* x_259;
x_259 = lean_ctor_get(x_181, 0);
lean_inc(x_259);
lean_dec_ref(x_181);
x_240 = x_252;
x_241 = x_251;
x_240 = x_251;
x_241 = x_252;
x_242 = x_253;
x_243 = x_254;
x_244 = x_255;
x_245 = x_257;
x_246 = x_256;
x_245 = x_256;
x_246 = x_257;
x_247 = x_259;
goto block_250;
}
@ -59776,13 +59776,13 @@ lean_dec_ref(x_180);
x_261 = l___private_Std_Time_Format_Basic_0__Std_Time_parseOffset___closed__13;
x_262 = lean_int_add(x_260, x_261);
lean_dec(x_260);
x_240 = x_252;
x_241 = x_251;
x_240 = x_251;
x_241 = x_252;
x_242 = x_253;
x_243 = x_254;
x_244 = x_255;
x_245 = x_257;
x_246 = x_256;
x_245 = x_256;
x_246 = x_257;
x_247 = x_262;
goto block_250;
}
@ -59793,13 +59793,13 @@ lean_dec_ref(x_180);
x_263 = lean_ctor_get(x_181, 0);
lean_inc(x_263);
lean_dec_ref(x_181);
x_240 = x_252;
x_241 = x_251;
x_240 = x_251;
x_241 = x_252;
x_242 = x_253;
x_243 = x_254;
x_244 = x_255;
x_245 = x_257;
x_246 = x_256;
x_245 = x_256;
x_246 = x_257;
x_247 = x_263;
goto block_250;
}
@ -59818,9 +59818,9 @@ x_251 = x_265;
x_252 = x_266;
x_253 = x_267;
x_254 = x_268;
x_255 = x_271;
x_256 = x_269;
x_257 = x_270;
x_255 = x_269;
x_256 = x_270;
x_257 = x_271;
goto block_264;
}
else
@ -59841,13 +59841,13 @@ x_276 = lean_unbox(x_272);
lean_dec(x_272);
x_277 = l_Std_Time_HourMarker_toAbsolute(x_276, x_275);
lean_dec(x_275);
x_240 = x_266;
x_241 = x_265;
x_240 = x_265;
x_241 = x_266;
x_242 = x_267;
x_243 = x_268;
x_244 = x_271;
x_244 = x_269;
x_245 = x_270;
x_246 = x_269;
x_246 = x_271;
x_247 = x_277;
goto block_250;
}
@ -59868,13 +59868,13 @@ x_280 = lean_unbox(x_278);
lean_dec(x_278);
x_281 = l_Std_Time_HourMarker_toAbsolute(x_280, x_279);
lean_dec(x_279);
x_240 = x_266;
x_241 = x_265;
x_240 = x_265;
x_241 = x_266;
x_242 = x_267;
x_243 = x_268;
x_244 = x_271;
x_244 = x_269;
x_245 = x_270;
x_246 = x_269;
x_246 = x_271;
x_247 = x_281;
goto block_250;
}
@ -59888,9 +59888,9 @@ x_251 = x_265;
x_252 = x_266;
x_253 = x_267;
x_254 = x_268;
x_255 = x_271;
x_256 = x_269;
x_257 = x_270;
x_255 = x_269;
x_256 = x_270;
x_257 = x_271;
goto block_264;
}
}
@ -59902,12 +59902,12 @@ if (lean_obj_tag(x_173) == 0)
{
lean_object* x_290;
x_290 = l___private_Std_Time_Format_Basic_0__Std_Time_pad___closed__0;
x_265 = x_284;
x_266 = x_283;
x_265 = x_283;
x_266 = x_284;
x_267 = x_285;
x_268 = x_286;
x_269 = x_288;
x_270 = x_287;
x_269 = x_287;
x_270 = x_288;
x_271 = x_290;
goto block_282;
}
@ -59919,12 +59919,12 @@ lean_inc(x_291);
lean_dec_ref(x_173);
x_292 = l___private_Std_Time_Format_Basic_0__Std_Time_GenericFormat_DateBuilder_convertYearAndEra(x_291, x_289);
lean_dec(x_291);
x_265 = x_284;
x_266 = x_283;
x_265 = x_283;
x_266 = x_284;
x_267 = x_285;
x_268 = x_286;
x_269 = x_288;
x_270 = x_287;
x_269 = x_287;
x_270 = x_288;
x_271 = x_292;
goto block_282;
}
@ -59936,12 +59936,12 @@ lean_dec(x_173);
x_293 = lean_ctor_get(x_174, 0);
lean_inc(x_293);
lean_dec_ref(x_174);
x_265 = x_284;
x_266 = x_283;
x_265 = x_283;
x_266 = x_284;
x_267 = x_285;
x_268 = x_286;
x_269 = x_288;
x_270 = x_287;
x_269 = x_287;
x_270 = x_288;
x_271 = x_293;
goto block_282;
}
@ -59953,11 +59953,11 @@ if (lean_obj_tag(x_172) == 0)
uint8_t x_301;
x_301 = 1;
x_283 = x_295;
x_284 = x_296;
x_285 = x_297;
x_286 = x_298;
x_287 = x_299;
x_288 = x_300;
x_284 = x_300;
x_285 = x_296;
x_286 = x_297;
x_287 = x_298;
x_288 = x_299;
x_289 = x_301;
goto block_294;
}
@ -59970,11 +59970,11 @@ lean_dec_ref(x_172);
x_303 = lean_unbox(x_302);
lean_dec(x_302);
x_283 = x_295;
x_284 = x_296;
x_285 = x_297;
x_286 = x_298;
x_287 = x_299;
x_288 = x_300;
x_284 = x_300;
x_285 = x_296;
x_286 = x_297;
x_287 = x_298;
x_288 = x_299;
x_289 = x_303;
goto block_294;
}
@ -59985,11 +59985,11 @@ if (lean_obj_tag(x_176) == 0)
{
lean_object* x_310;
x_310 = l___private_Std_Time_Format_Basic_0__Std_Time_GenericFormat_DateBuilder_build___closed__22;
x_295 = x_306;
x_296 = x_305;
x_295 = x_305;
x_296 = x_306;
x_297 = x_307;
x_298 = x_308;
x_299 = x_309;
x_298 = x_309;
x_299 = x_308;
x_300 = x_310;
goto block_304;
}
@ -59999,11 +59999,11 @@ lean_object* x_311;
x_311 = lean_ctor_get(x_176, 0);
lean_inc(x_311);
lean_dec_ref(x_176);
x_295 = x_306;
x_296 = x_305;
x_295 = x_305;
x_296 = x_306;
x_297 = x_307;
x_298 = x_308;
x_299 = x_309;
x_298 = x_309;
x_299 = x_308;
x_300 = x_311;
goto block_304;
}
@ -60016,10 +60016,10 @@ if (lean_obj_tag(x_175) == 0)
{
lean_object* x_317;
x_317 = l___private_Std_Time_Format_Basic_0__Std_Time_GenericFormat_DateBuilder_build___closed__29;
x_305 = x_313;
x_305 = x_315;
x_306 = x_316;
x_307 = x_314;
x_308 = x_315;
x_307 = x_313;
x_308 = x_314;
x_309 = x_317;
goto block_312;
}
@ -60029,10 +60029,10 @@ lean_object* x_318;
x_318 = lean_ctor_get(x_175, 0);
lean_inc(x_318);
lean_dec_ref(x_175);
x_305 = x_313;
x_305 = x_315;
x_306 = x_316;
x_307 = x_314;
x_308 = x_315;
x_307 = x_313;
x_308 = x_314;
x_309 = x_318;
goto block_312;
}

View file

@ -1,4 +1,5 @@
import Lean.Meta.Tactic.Grind.EMatchTheorem
import Lean.Meta.Tactic.Grind.Attr
open Lean
open Lean.Meta.Grind
@ -6,7 +7,8 @@ open Lean.Meta.Grind
/-- info: Namespace `Lean.Meta.Grind.Lia` has scoped theorems: true -/
#guard_msgs in
#eval show CoreM Unit from do
let theorems ← getEMatchTheoremsForNamespace `Lean.Meta.Grind.Lia
let ext := Lean.Meta.Grind.grindExt
let theorems ← ext.getEMatchTheoremsForNamespace `Lean.Meta.Grind.Lia
IO.println s!"Namespace `Lean.Meta.Grind.Lia` has scoped theorems: {decide (theorems.size > 0)}"
-- Test namespace-based theorem instantiation