diff --git a/stage0/src/Lean/Elab/Inductive.lean b/stage0/src/Lean/Elab/Inductive.lean index c38d94f541..7e09820c68 100644 --- a/stage0/src/Lean/Elab/Inductive.lean +++ b/stage0/src/Lean/Elab/Inductive.lean @@ -67,31 +67,32 @@ structure ElabHeaderResult where type : Expr deriving Inhabited -private partial def elabHeaderAux (views : Array InductiveView) (i : Nat) (acc : Array ElabHeaderResult) : TermElabM (Array ElabHeaderResult) := do - if h : i < views.size then - let view := views.get ⟨i, h⟩ - let acc ← Term.withAutoBoundImplicit <| Term.elabBinders view.binders.getArgs fun params => do - match view.type? with - | none => - let u ← mkFreshLevelMVar - let type := mkSort u - Term.synthesizeSyntheticMVarsNoPostponing - Term.addAutoBoundImplicits' params type fun params type => do - pure <| acc.push { lctx := (← getLCtx), localInsts := (← getLocalInstances), params, type, view } - | some typeStx => - let (type, numImplicitIndices) ← Term.withAutoBoundImplicit do - let type ← Term.elabType typeStx - unless (← isTypeFormerType type) do - throwErrorAt typeStx "invalid inductive type, resultant type is not a sort" +private partial def elabHeaderAux (views : Array InductiveView) (i : Nat) (acc : Array ElabHeaderResult) : TermElabM (Array ElabHeaderResult) := + Term.withAutoBoundImplicitForbiddenPred (fun n => views.any (·.shortDeclName == n)) do + if h : i < views.size then + let view := views.get ⟨i, h⟩ + let acc ← Term.withAutoBoundImplicit <| Term.elabBinders view.binders.getArgs fun params => do + match view.type? with + | none => + let u ← mkFreshLevelMVar + let type := mkSort u Term.synthesizeSyntheticMVarsNoPostponing - let indices ← Term.addAutoBoundImplicits #[] - return (← mkForallFVars indices type, indices.size) - Term.addAutoBoundImplicits' params type fun params type => do - trace[Elab.inductive] "header params: {params}, type: {type}" - pure <| acc.push { lctx := (← getLCtx), localInsts := (← getLocalInstances), params, type, view } - elabHeaderAux views (i+1) acc - else - pure acc + Term.addAutoBoundImplicits' params type fun params type => do + pure <| acc.push { lctx := (← getLCtx), localInsts := (← getLocalInstances), params, type, view } + | some typeStx => + let (type, numImplicitIndices) ← Term.withAutoBoundImplicit do + let type ← Term.elabType typeStx + unless (← isTypeFormerType type) do + throwErrorAt typeStx "invalid inductive type, resultant type is not a sort" + Term.synthesizeSyntheticMVarsNoPostponing + let indices ← Term.addAutoBoundImplicits #[] + return (← mkForallFVars indices type, indices.size) + Term.addAutoBoundImplicits' params type fun params type => do + trace[Elab.inductive] "header params: {params}, type: {type}" + pure <| acc.push { lctx := (← getLCtx), localInsts := (← getLocalInstances), params, type, view } + elabHeaderAux views (i+1) acc + else + pure acc private def checkNumParams (rs : Array ElabHeaderResult) : TermElabM Nat := do let numParams := rs[0].params.size diff --git a/stage0/src/Lean/Elab/MutualDef.lean b/stage0/src/Lean/Elab/MutualDef.lean index daa8b993e0..91915e1952 100644 --- a/stage0/src/Lean/Elab/MutualDef.lean +++ b/stage0/src/Lean/Elab/MutualDef.lean @@ -99,51 +99,54 @@ private def getPendindMVarErrorMessage (views : Array DefView) : String := "\nwhen the resulting type of a declaration is explicitly provided, all holes (e.g., `_`) in the header are resolved before the declaration body is processed" private def elabHeaders (views : Array DefView) : TermElabM (Array DefViewElabHeader) := do - let mut headers := #[] - for view in views do - let newHeader ← withRef view.ref do - let ⟨shortDeclName, declName, levelNames⟩ ← Term.expandDeclId (← getCurrNamespace) (← getLevelNames) view.declId view.modifiers - addDeclarationRanges declName view.ref - applyAttributesAt declName view.modifiers.attrs AttributeApplicationTime.beforeElaboration - withDeclName declName <| withAutoBoundImplicit <| withLevelNames levelNames <| - elabBindersEx view.binders.getArgs fun xs => do - let refForElabFunType := view.value - let type ← match view.type? with - | some typeStx => - let type ← elabType typeStx - registerFailedToInferDefTypeInfo type typeStx - pure type - | none => - let hole := mkHole refForElabFunType - let type ← elabType hole - trace[Elab.definition] ">> type: {type}\n{type.mvarId!}" - registerFailedToInferDefTypeInfo type refForElabFunType - pure type - Term.synthesizeSyntheticMVarsNoPostponing - let (binderIds, xs) := xs.unzip - let xs ← addAutoBoundImplicits xs - let type ← mkForallFVars' xs type - let type ← instantiateMVars type - let levelNames ← getLevelNames - if view.type?.isSome then - let pendingMVarIds ← getMVars type - discard <| logUnassignedUsingErrorInfos pendingMVarIds <| - getPendindMVarErrorMessage views - let newHeader := { - ref := view.ref, - modifiers := view.modifiers, - kind := view.kind, - shortDeclName := shortDeclName, - declName := declName, - levelNames := levelNames, - binderIds := binderIds, - numParams := xs.size, - type := type, - valueStx := view.value : DefViewElabHeader } - check headers newHeader - return newHeader - headers := headers.push newHeader - pure headers + let expandedDeclIds ← views.mapM fun view => withRef view.ref do + Term.expandDeclId (← getCurrNamespace) (← getLevelNames) view.declId view.modifiers + withAutoBoundImplicitForbiddenPred (fun n => expandedDeclIds.any (·.shortName == n)) do + let mut headers := #[] + for view in views, ⟨shortDeclName, declName, levelNames⟩ in expandedDeclIds do + let newHeader ← withRef view.ref do + addDeclarationRanges declName view.ref + applyAttributesAt declName view.modifiers.attrs AttributeApplicationTime.beforeElaboration + withDeclName declName <| withAutoBoundImplicit <| withLevelNames levelNames <| + elabBindersEx view.binders.getArgs fun xs => do + let refForElabFunType := view.value + let type ← match view.type? with + | some typeStx => + let type ← elabType typeStx + registerFailedToInferDefTypeInfo type typeStx + pure type + | none => + let hole := mkHole refForElabFunType + let type ← elabType hole + trace[Elab.definition] ">> type: {type}\n{type.mvarId!}" + registerFailedToInferDefTypeInfo type refForElabFunType + pure type + Term.synthesizeSyntheticMVarsNoPostponing + let (binderIds, xs) := xs.unzip + -- TODO: add forbidden predicate using `shortDeclName` from `views` + let xs ← addAutoBoundImplicits xs + let type ← mkForallFVars' xs type + let type ← instantiateMVars type + let levelNames ← getLevelNames + if view.type?.isSome then + let pendingMVarIds ← getMVars type + discard <| logUnassignedUsingErrorInfos pendingMVarIds <| + getPendindMVarErrorMessage views + let newHeader := { + ref := view.ref, + modifiers := view.modifiers, + kind := view.kind, + shortDeclName := shortDeclName, + declName := declName, + levelNames := levelNames, + binderIds := binderIds, + numParams := xs.size, + type := type, + valueStx := view.value : DefViewElabHeader } + check headers newHeader + return newHeader + headers := headers.push newHeader + return headers private partial def withFunLocalDecls {α} (headers : Array DefViewElabHeader) (k : Array Expr → TermElabM α) : TermElabM α := let rec loop (i : Nat) (fvars : Array Expr) := do diff --git a/stage0/src/Lean/Elab/Structure.lean b/stage0/src/Lean/Elab/Structure.lean index b528e47018..888abf061f 100644 --- a/stage0/src/Lean/Elab/Structure.lean +++ b/stage0/src/Lean/Elab/Structure.lean @@ -485,14 +485,15 @@ where else k infos copiedParents -private def elabFieldTypeValue (view : StructFieldView) : TermElabM (Option Expr × Option Expr) := do - Term.withAutoBoundImplicit <| Term.elabBinders view.binders.getArgs fun params => do +private def elabFieldTypeValue (view : StructFieldView) : TermElabM (Option Expr × Option Expr) := + Term.withAutoBoundImplicit <| Term.withAutoBoundImplicitForbiddenPred (fun n => view.name == n) <| Term.elabBinders view.binders.getArgs fun params => do match view.type? with | none => match view.value? with | none => return (none, none) | some valStx => Term.synthesizeSyntheticMVarsNoPostponing + -- TODO: add forbidden predicate using `shortDeclName` from `view` let params ← Term.addAutoBoundImplicits params let value ← Term.elabTerm valStx none let value ← mkLambdaFVars params value @@ -867,33 +868,34 @@ def elabStructure (modifiers : Modifiers) (stx : Syntax) : CommandElabM Unit := runTermElabM none fun scopeVars => do let scopeLevelNames ← Term.getLevelNames let ⟨name, declName, allUserLevelNames⟩ ← Elab.expandDeclId (← getCurrNamespace) scopeLevelNames declId modifiers - addDeclarationRanges declName stx - Term.withDeclName declName do - let ctor ← expandCtor stx modifiers declName - let fields ← expandFields stx modifiers declName - Term.withLevelNames allUserLevelNames <| Term.withAutoBoundImplicit <| - Term.elabBinders params fun params => do - Term.synthesizeSyntheticMVarsNoPostponing - let params ← Term.addAutoBoundImplicits params - let allUserLevelNames ← Term.getLevelNames - elabStructureView { - ref := stx - modifiers - scopeLevelNames - allUserLevelNames - declName - isClass - scopeVars - params - parents - type - ctor - fields - } - unless isClass do - mkSizeOfInstances declName - mkInjectiveTheorems declName - return declName + Term.withAutoBoundImplicitForbiddenPred (fun n => name == n) do + addDeclarationRanges declName stx + Term.withDeclName declName do + let ctor ← expandCtor stx modifiers declName + let fields ← expandFields stx modifiers declName + Term.withLevelNames allUserLevelNames <| Term.withAutoBoundImplicit <| + Term.elabBinders params fun params => do + Term.synthesizeSyntheticMVarsNoPostponing + let params ← Term.addAutoBoundImplicits params + let allUserLevelNames ← Term.getLevelNames + elabStructureView { + ref := stx + modifiers + scopeLevelNames + allUserLevelNames + declName + isClass + scopeVars + params + parents + type + ctor + fields + } + unless isClass do + mkSizeOfInstances declName + mkInjectiveTheorems declName + return declName derivingClassViews.forM fun view => view.applyHandlers #[declName] builtin_initialize registerTraceClass `Elab.structure diff --git a/stage0/src/Lean/Elab/Term.lean b/stage0/src/Lean/Elab/Term.lean index 9558543207..e7fad86bfe 100644 --- a/stage0/src/Lean/Elab/Term.lean +++ b/stage0/src/Lean/Elab/Term.lean @@ -138,11 +138,13 @@ structure Context where fileMap : FileMap declName? : Option Name := none macroStack : MacroStack := [] - /- When `mayPostpone == true`, an elaboration function may interrupt its execution by throwing `Exception.postpone`. + /-- + When `mayPostpone == true`, an elaboration function may interrupt its execution by throwing `Exception.postpone`. The function `elabTerm` catches this exception and creates fresh synthetic metavariable `?m`, stores `?m` in the list of pending synthetic metavariables, and returns `?m`. -/ mayPostpone : Bool := true - /- When `errToSorry` is set to true, the method `elabTerm` catches + /-- + When `errToSorry` is set to true, the method `elabTerm` catches exceptions and converts them into synthetic `sorry`s. The implementation of choice nodes and overloaded symbols rely on the fact that when `errToSorry` is set to false for an elaboration function `F`, then @@ -150,13 +152,23 @@ structure Context where That is, it is safe to transition `errToSorry` from `true` to `false`, but we must not set `errToSorry` to `true` when it is currently set to `false`. -/ errToSorry : Bool := true - /- When `autoBoundImplicit` is set to true, instead of producing + /-- + When `autoBoundImplicit` is set to true, instead of producing an "unknown identifier" error for unbound variables, we generate an internal exception. This exception is caught at `elabBinders` and `elabTypeWithUnboldImplicit`. Both methods add implicit declarations for the unbound variable and try again. -/ autoBoundImplicit : Bool := false autoBoundImplicits : Std.PArray Expr := {} + /-- + A name `n` is only eligible to be an auto implicit name if `autoBoundImplicitForbidden n = false`. + We use this predicate to disallow `f` to be considered an auto implicit name in a definition such + as + ``` + def f : f → Bool := fun _ => true + ``` + -/ + autoBoundImplicitForbidden : Name → Bool := fun _ => false /-- Map from user name to internal unique name -/ sectionVars : NameMap Name := {} /-- Map from internal name to fvar -/ @@ -1374,6 +1386,9 @@ partial def withAutoBoundImplicit (k : TermElabM α) : TermElabM α := do def withoutAutoBoundImplicit (k : TermElabM α) : TermElabM α := do withReader (fun ctx => { ctx with autoBoundImplicit := false, autoBoundImplicits := {} }) k +partial def withAutoBoundImplicitForbiddenPred (p : Name → Bool) (x : TermElabM α) : TermElabM α := do + withReader (fun ctx => { ctx with autoBoundImplicitForbidden := fun n => p n || ctx.autoBoundImplicitForbidden n }) x + /-- Collect unassigned metavariables in `type` that are not already in `init` and not satisfying `except`. -/ @@ -1525,7 +1540,9 @@ def resolveName (stx : Syntax) (n : Name) (preresolved : List (Name × List Stri process preresolved where process (candidates : List (Name × List String)) : TermElabM (List (Expr × List String)) := do if candidates.isEmpty then - if (← read).autoBoundImplicit && isValidAutoBoundImplicitName n (relaxedAutoImplicit.get (← getOptions)) then + if (← read).autoBoundImplicit && + !(← read).autoBoundImplicitForbidden n && + isValidAutoBoundImplicitName n (relaxedAutoImplicit.get (← getOptions)) then throwAutoBoundImplicitLocal n else throwError "unknown identifier '{Lean.mkConst n}'" diff --git a/stage0/src/Lean/Meta/Tactic/Simp/Rewrite.lean b/stage0/src/Lean/Meta/Tactic/Simp/Rewrite.lean index 89a3a7576b..5a28a05754 100644 --- a/stage0/src/Lean/Meta/Tactic/Simp/Rewrite.lean +++ b/stage0/src/Lean/Meta/Tactic/Simp/Rewrite.lean @@ -60,10 +60,15 @@ private def tryTheoremCore (lhs : Expr) (xs : Array Expr) (bis : Array BinderInf if (← isDefEq lhs e) then unless (← synthesizeArgs thm.getName xs bis discharge?) do return none - let proof ← instantiateMVars (mkAppN val xs) - if ← hasAssignableMVar proof then - trace[Meta.Tactic.simp.rewrite] "{thm}, has unassigned metavariables after unification" - return none + let proof? ← + if thm.rfl then + pure none + else + let proof ← instantiateMVars (mkAppN val xs) + if (← hasAssignableMVar proof) then + trace[Meta.Tactic.simp.rewrite] "{thm}, has unassigned metavariables after unification" + return none + pure <| some proof let rhs := (← instantiateMVars type).appArg! if e == rhs then return none @@ -72,7 +77,7 @@ private def tryTheoremCore (lhs : Expr) (xs : Array Expr) (bis : Array BinderInf trace[Meta.Tactic.simp.rewrite] "{thm}, perm rejected {e} ==> {rhs}" return none trace[Meta.Tactic.simp.rewrite] "{thm}, {e} ==> {rhs}" - return some { expr := rhs, proof? := proof } + return some { expr := rhs, proof? } else unless lhs.isMVar do -- We do not report unification failures when `lhs` is a metavariable @@ -125,18 +130,19 @@ def tryTheorem? (e : Expr) (thm : SimpTheorem) (discharge? : Expr → SimpM (Opt /- Remark: the parameter tag is used for creating trace messages. It is irrelevant otherwise. -/ -def rewrite (e : Expr) (s : DiscrTree SimpTheorem) (erased : Std.PHashSet Name) (discharge? : Expr → SimpM (Option Expr)) (tag : String) : SimpM Result := do +def rewrite? (e : Expr) (s : DiscrTree SimpTheorem) (erased : Std.PHashSet Name) (discharge? : Expr → SimpM (Option Expr)) (tag : String) : SimpM (Option Result) := do let candidates ← s.getMatchWithExtra e if candidates.isEmpty then trace[Debug.Meta.Tactic.simp] "no theorems found for {tag}-rewriting {e}" - return { expr := e } + return none else let candidates := candidates.insertionSort fun e₁ e₂ => e₁.1.priority > e₂.1.priority for (thm, numExtraArgs) in candidates do unless inErasedSet thm do if let some result ← tryTheoremWithExtraArgs? e thm numExtraArgs discharge? then - return result - return { expr := e } + trace[Debug.Meta.Tactic.simp] "rewrite result {e} => {result.expr}" + return some result + return none where inErasedSet (thm : SimpTheorem) : Bool := match thm.name? with @@ -206,7 +212,7 @@ def simpArith? (e : Expr) : SimpM (Option Step) := do def simpMatchCore? (app : MatcherApp) (e : Expr) (discharge? : Expr → SimpM (Option Expr)) : SimpM (Option Step) := do for matchEq in (← Match.getEquationsFor app.matcherName).eqnNames do -- Try lemma - match (← withReducible <| Simp.tryTheorem? e { proof := mkConst matchEq, name? := some matchEq } discharge?) with + match (← withReducible <| Simp.tryTheorem? e { proof := mkConst matchEq, name? := some matchEq, rfl := (← isRflTheorem matchEq) } discharge?) with | none => pure () | some r => return some (Simp.Step.done r) return none @@ -220,15 +226,13 @@ def simpMatch? (discharge? : Expr → SimpM (Option Expr)) (e : Expr) : SimpM (O def rewritePre (e : Expr) (discharge? : Expr → SimpM (Option Expr)) : SimpM Step := do for thms in (← read).simpTheorems do - let r ← rewrite e thms.pre thms.erased discharge? (tag := "pre") - if r.proof?.isSome then + if let some r ← rewrite? e thms.pre thms.erased discharge? (tag := "pre") then return Step.visit r return Step.visit { expr := e } def rewritePost (e : Expr) (discharge? : Expr → SimpM (Option Expr)) : SimpM Step := do for thms in (← read).simpTheorems do - let r ← rewrite e thms.post thms.erased discharge? (tag := "post") - if r.proof?.isSome then + if let some r ← rewrite? e thms.post thms.erased discharge? (tag := "post") then return Step.visit r return Step.visit { expr := e } diff --git a/stage0/src/Lean/Meta/Tactic/Simp/SimpTheorems.lean b/stage0/src/Lean/Meta/Tactic/Simp/SimpTheorems.lean index 0b5f01190e..e198c9ff12 100644 --- a/stage0/src/Lean/Meta/Tactic/Simp/SimpTheorems.lean +++ b/stage0/src/Lean/Meta/Tactic/Simp/SimpTheorems.lean @@ -22,12 +22,24 @@ namespace Lean.Meta -/ structure SimpTheorem where keys : Array DiscrTree.Key := #[] - levelParams : Array Name := #[] -- non empty for local universe polymorphic proofs. + /-- + It stores universe parameter names for universe polymorphic proofs. + Recall that it is non-empty only when we elaborate an expression provided by the user. + When `proof` is just a constant, we can use the universe parameter names stored in the declaration. + -/ + levelParams : Array Name := #[] proof : Expr priority : Nat := eval_prio default post : Bool := true - perm : Bool := false -- true is lhs and rhs are identical modulo permutation of variables - name? : Option Name := none -- for debugging and tracing purposes + /-- `perm` is true if lhs and rhs are identical modulo permutation of variables. -/ + perm : Bool := false + /-- + `name?` is mainly relevant for producing trace messages. + It is also viewed an `id` used to "erase" `simp` theorems from `SimpTheorems`. + -/ + name? : Option Name := none + /-- `rfl` is true if `proof` is by `Eq.refl` or `rfl`. -/ + rfl : Bool deriving Inhabited def SimpTheorem.getName (s : SimpTheorem) : Name := @@ -35,6 +47,28 @@ def SimpTheorem.getName (s : SimpTheorem) : Name := | some n => n | none => "" +def isRflProofCore (type : Expr) (proof : Expr) : Bool := + match type with + | .forallE _ _ type _ => + if let .lam _ _ proof _ := proof then + isRflProofCore type proof + else + false + | _ => + type.isAppOfArity ``Eq 3 + && + (proof.isAppOfArity ``Eq.refl 2 || proof.isAppOfArity ``rfl 2) + +def isRflTheorem (declName : Name) : CoreM Bool := do + let .thmInfo info ← getConstInfo declName | return false + return isRflProofCore info.type info.value + +def isRflProof (proof : Expr) : CoreM Bool := do + if let .const declName .. := proof then + isRflTheorem declName + else + return false + instance : ToFormat SimpTheorem where format s := let perm := if s.perm then ":perm" else "" @@ -195,7 +229,7 @@ private def mkSimpTheoremCore (e : Expr) (levelParams : Array Name) (proof : Exp match type.eq? with | some (_, lhs, rhs) => pure (← DiscrTree.mkPath lhs, ← isPerm lhs rhs) | none => throwError "unexpected kind of 'simp' theorem{indentExpr type}" - return { keys := keys, perm := perm, post := post, levelParams := levelParams, proof := proof, name? := name?, priority := prio } + return { keys, perm, post, levelParams, proof, name?, priority := prio, rfl := (← isRflProof proof) } private def mkSimpTheoremsFromConst (declName : Name) (post : Bool) (inv : Bool) (prio : Nat) : MetaM (Array SimpTheorem) := do let cinfo ← getConstInfo declName diff --git a/stage0/src/Lean/Meta/Tactic/Split.lean b/stage0/src/Lean/Meta/Tactic/Split.lean index 08da97d62f..dc4c51e8c0 100644 --- a/stage0/src/Lean/Meta/Tactic/Split.lean +++ b/stage0/src/Lean/Meta/Tactic/Split.lean @@ -44,7 +44,7 @@ where | some e' => return Simp.Step.done { expr := e' } | none => -- Try lemma - match (← withReducible <| Simp.tryTheorem? e { proof := mkConst matchEqDeclName, name? := matchEqDeclName } SplitIf.discharge?) with + match (← withReducible <| Simp.tryTheorem? e { proof := mkConst matchEqDeclName, name? := matchEqDeclName, rfl := (← isRflTheorem matchEqDeclName) } SplitIf.discharge?) with | none => return Simp.Step.visit { expr := e } | some r => return Simp.Step.done r else diff --git a/stage0/src/Lean/Meta/Tactic/Unfold.lean b/stage0/src/Lean/Meta/Tactic/Unfold.lean index 89b1dbc569..8a3c6e7c36 100644 --- a/stage0/src/Lean/Meta/Tactic/Unfold.lean +++ b/stage0/src/Lean/Meta/Tactic/Unfold.lean @@ -23,7 +23,7 @@ def unfold (e : Expr) (declName : Name) : MetaM Simp.Result := do return { expr := (← deltaExpand e (· == declName)) } where pre (unfoldThm : Name) (e : Expr) : SimpM Simp.Step := do - match (← withReducible <| Simp.tryTheorem? e { proof := mkConst unfoldThm, name? := some unfoldThm } (fun _ => return none)) with + match (← withReducible <| Simp.tryTheorem? e { proof := mkConst unfoldThm, name? := some unfoldThm, rfl := (← isRflTheorem unfoldThm) } (fun _ => return none)) with | none => pure () | some r => return Simp.Step.done r return Simp.Step.visit { expr := e } diff --git a/stage0/stdlib/Lean/Elab/App.c b/stage0/stdlib/Lean/Elab/App.c index 795996b211..d331e16cff 100644 --- a/stage0/stdlib/Lean/Elab/App.c +++ b/stage0/stdlib/Lean/Elab/App.c @@ -656,7 +656,7 @@ uint8_t l_Lean_Expr_isFVar(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_finalize___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_getForallBody___lambda__1___boxed(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_mkProjAndCheck___closed__7; -LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_13369_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_13371_(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_5_(lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppAux(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -19174,7 +19174,7 @@ lean_inc(x_1); x_29 = l_Lean_Elab_Term_resolveName_x27(x_1, x_2, x_6, x_11, x_12, x_13, x_14, x_28, x_16, x_17); if (lean_obj_tag(x_29) == 0) { -lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; uint8_t x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; uint8_t x_42; uint8_t x_43; uint8_t x_44; lean_object* x_45; uint8_t x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50; uint8_t x_51; +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; uint8_t x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; uint8_t x_42; uint8_t x_43; uint8_t x_44; uint8_t x_45; lean_object* x_46; uint8_t x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51; uint8_t x_52; x_30 = lean_ctor_get(x_29, 0); lean_inc(x_30); x_31 = lean_ctor_get(x_29, 1); @@ -19188,154 +19188,162 @@ x_34 = lean_ctor_get(x_11, 2); lean_inc(x_34); x_35 = lean_ctor_get(x_11, 3); lean_inc(x_35); -x_36 = lean_ctor_get_uint8(x_11, sizeof(void*)*8); -x_37 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 2); +x_36 = lean_ctor_get_uint8(x_11, sizeof(void*)*9); +x_37 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 2); x_38 = lean_ctor_get(x_11, 4); lean_inc(x_38); x_39 = lean_ctor_get(x_11, 5); lean_inc(x_39); x_40 = lean_ctor_get(x_11, 6); lean_inc(x_40); -x_41 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 3); -x_42 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 4); -x_43 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 5); -x_44 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 6); -x_45 = lean_ctor_get(x_11, 7); -lean_inc(x_45); -x_46 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 7); -x_47 = lean_unsigned_to_nat(0u); -x_48 = l_List_lengthTRAux___rarg(x_30, x_47); -x_49 = lean_unsigned_to_nat(1u); -x_50 = lean_nat_dec_eq(x_48, x_49); +x_41 = lean_ctor_get(x_11, 7); +lean_inc(x_41); +x_42 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 3); +x_43 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 4); +x_44 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 5); +x_45 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 6); +x_46 = lean_ctor_get(x_11, 8); +lean_inc(x_46); +x_47 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 7); +x_48 = lean_unsigned_to_nat(0u); +x_49 = l_List_lengthTRAux___rarg(x_30, x_48); +x_50 = lean_unsigned_to_nat(1u); +x_51 = lean_nat_dec_eq(x_49, x_50); if (x_9 == 0) { -uint8_t x_80; -x_80 = lean_nat_dec_lt(x_49, x_48); -lean_dec(x_48); -x_51 = x_80; -goto block_79; +uint8_t x_83; +x_83 = lean_nat_dec_lt(x_50, x_49); +lean_dec(x_49); +x_52 = x_83; +goto block_82; } else { -uint8_t x_81; -lean_dec(x_48); -x_81 = 1; -x_51 = x_81; -goto block_79; +uint8_t x_84; +lean_dec(x_49); +x_84 = 1; +x_52 = x_84; +goto block_82; } -block_79: +block_82: { -if (x_50 == 0) +if (x_51 == 0) { -uint8_t x_52; -x_52 = !lean_is_exclusive(x_11); -if (x_52 == 0) +uint8_t x_53; +x_53 = !lean_is_exclusive(x_11); +if (x_53 == 0) { -lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61; lean_object* x_62; -x_53 = lean_ctor_get(x_11, 7); -lean_dec(x_53); -x_54 = lean_ctor_get(x_11, 6); +lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64; +x_54 = lean_ctor_get(x_11, 8); lean_dec(x_54); -x_55 = lean_ctor_get(x_11, 5); +x_55 = lean_ctor_get(x_11, 7); lean_dec(x_55); -x_56 = lean_ctor_get(x_11, 4); +x_56 = lean_ctor_get(x_11, 6); lean_dec(x_56); -x_57 = lean_ctor_get(x_11, 3); +x_57 = lean_ctor_get(x_11, 5); lean_dec(x_57); -x_58 = lean_ctor_get(x_11, 2); +x_58 = lean_ctor_get(x_11, 4); lean_dec(x_58); -x_59 = lean_ctor_get(x_11, 1); +x_59 = lean_ctor_get(x_11, 3); lean_dec(x_59); -x_60 = lean_ctor_get(x_11, 0); +x_60 = lean_ctor_get(x_11, 2); lean_dec(x_60); -x_61 = 0; -lean_ctor_set_uint8(x_11, sizeof(void*)*8 + 1, x_61); -x_62 = l_List_foldlM___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFnId___spec__1(x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_51, x_10, x_30, x_11, x_12, x_13, x_14, x_15, x_16, x_31); -return x_62; -} -else -{ -uint8_t x_63; lean_object* x_64; lean_object* x_65; -lean_dec(x_11); +x_61 = lean_ctor_get(x_11, 1); +lean_dec(x_61); +x_62 = lean_ctor_get(x_11, 0); +lean_dec(x_62); x_63 = 0; -x_64 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_64, 0, x_32); -lean_ctor_set(x_64, 1, x_33); -lean_ctor_set(x_64, 2, x_34); -lean_ctor_set(x_64, 3, x_35); -lean_ctor_set(x_64, 4, x_38); -lean_ctor_set(x_64, 5, x_39); -lean_ctor_set(x_64, 6, x_40); -lean_ctor_set(x_64, 7, x_45); -lean_ctor_set_uint8(x_64, sizeof(void*)*8, x_36); -lean_ctor_set_uint8(x_64, sizeof(void*)*8 + 1, x_63); -lean_ctor_set_uint8(x_64, sizeof(void*)*8 + 2, x_37); -lean_ctor_set_uint8(x_64, sizeof(void*)*8 + 3, x_41); -lean_ctor_set_uint8(x_64, sizeof(void*)*8 + 4, x_42); -lean_ctor_set_uint8(x_64, sizeof(void*)*8 + 5, x_43); -lean_ctor_set_uint8(x_64, sizeof(void*)*8 + 6, x_44); -lean_ctor_set_uint8(x_64, sizeof(void*)*8 + 7, x_46); -x_65 = l_List_foldlM___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFnId___spec__1(x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_51, x_10, x_30, x_64, x_12, x_13, x_14, x_15, x_16, x_31); -return x_65; -} +lean_ctor_set_uint8(x_11, sizeof(void*)*9 + 1, x_63); +x_64 = l_List_foldlM___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFnId___spec__1(x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_52, x_10, x_30, x_11, x_12, x_13, x_14, x_15, x_16, x_31); +return x_64; } else { -uint8_t x_66; -x_66 = !lean_is_exclusive(x_11); -if (x_66 == 0) -{ -lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; -x_67 = lean_ctor_get(x_11, 7); -lean_dec(x_67); -x_68 = lean_ctor_get(x_11, 6); -lean_dec(x_68); -x_69 = lean_ctor_get(x_11, 5); -lean_dec(x_69); -x_70 = lean_ctor_get(x_11, 4); -lean_dec(x_70); -x_71 = lean_ctor_get(x_11, 3); -lean_dec(x_71); -x_72 = lean_ctor_get(x_11, 2); -lean_dec(x_72); -x_73 = lean_ctor_get(x_11, 1); -lean_dec(x_73); -x_74 = lean_ctor_get(x_11, 0); -lean_dec(x_74); -x_75 = l_List_foldlM___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFnId___spec__2(x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_51, x_10, x_30, x_11, x_12, x_13, x_14, x_15, x_16, x_31); -return x_75; -} -else -{ -uint8_t x_76; lean_object* x_77; lean_object* x_78; -x_76 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 1); +uint8_t x_65; lean_object* x_66; lean_object* x_67; lean_dec(x_11); -x_77 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_77, 0, x_32); -lean_ctor_set(x_77, 1, x_33); -lean_ctor_set(x_77, 2, x_34); -lean_ctor_set(x_77, 3, x_35); -lean_ctor_set(x_77, 4, x_38); -lean_ctor_set(x_77, 5, x_39); -lean_ctor_set(x_77, 6, x_40); -lean_ctor_set(x_77, 7, x_45); -lean_ctor_set_uint8(x_77, sizeof(void*)*8, x_36); -lean_ctor_set_uint8(x_77, sizeof(void*)*8 + 1, x_76); -lean_ctor_set_uint8(x_77, sizeof(void*)*8 + 2, x_37); -lean_ctor_set_uint8(x_77, sizeof(void*)*8 + 3, x_41); -lean_ctor_set_uint8(x_77, sizeof(void*)*8 + 4, x_42); -lean_ctor_set_uint8(x_77, sizeof(void*)*8 + 5, x_43); -lean_ctor_set_uint8(x_77, sizeof(void*)*8 + 6, x_44); -lean_ctor_set_uint8(x_77, sizeof(void*)*8 + 7, x_46); -x_78 = l_List_foldlM___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFnId___spec__2(x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_51, x_10, x_30, x_77, x_12, x_13, x_14, x_15, x_16, x_31); +x_65 = 0; +x_66 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_66, 0, x_32); +lean_ctor_set(x_66, 1, x_33); +lean_ctor_set(x_66, 2, x_34); +lean_ctor_set(x_66, 3, x_35); +lean_ctor_set(x_66, 4, x_38); +lean_ctor_set(x_66, 5, x_39); +lean_ctor_set(x_66, 6, x_40); +lean_ctor_set(x_66, 7, x_41); +lean_ctor_set(x_66, 8, x_46); +lean_ctor_set_uint8(x_66, sizeof(void*)*9, x_36); +lean_ctor_set_uint8(x_66, sizeof(void*)*9 + 1, x_65); +lean_ctor_set_uint8(x_66, sizeof(void*)*9 + 2, x_37); +lean_ctor_set_uint8(x_66, sizeof(void*)*9 + 3, x_42); +lean_ctor_set_uint8(x_66, sizeof(void*)*9 + 4, x_43); +lean_ctor_set_uint8(x_66, sizeof(void*)*9 + 5, x_44); +lean_ctor_set_uint8(x_66, sizeof(void*)*9 + 6, x_45); +lean_ctor_set_uint8(x_66, sizeof(void*)*9 + 7, x_47); +x_67 = l_List_foldlM___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFnId___spec__1(x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_52, x_10, x_30, x_66, x_12, x_13, x_14, x_15, x_16, x_31); +return x_67; +} +} +else +{ +uint8_t x_68; +x_68 = !lean_is_exclusive(x_11); +if (x_68 == 0) +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; +x_69 = lean_ctor_get(x_11, 8); +lean_dec(x_69); +x_70 = lean_ctor_get(x_11, 7); +lean_dec(x_70); +x_71 = lean_ctor_get(x_11, 6); +lean_dec(x_71); +x_72 = lean_ctor_get(x_11, 5); +lean_dec(x_72); +x_73 = lean_ctor_get(x_11, 4); +lean_dec(x_73); +x_74 = lean_ctor_get(x_11, 3); +lean_dec(x_74); +x_75 = lean_ctor_get(x_11, 2); +lean_dec(x_75); +x_76 = lean_ctor_get(x_11, 1); +lean_dec(x_76); +x_77 = lean_ctor_get(x_11, 0); +lean_dec(x_77); +x_78 = l_List_foldlM___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFnId___spec__2(x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_52, x_10, x_30, x_11, x_12, x_13, x_14, x_15, x_16, x_31); return x_78; } +else +{ +uint8_t x_79; lean_object* x_80; lean_object* x_81; +x_79 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 1); +lean_dec(x_11); +x_80 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_80, 0, x_32); +lean_ctor_set(x_80, 1, x_33); +lean_ctor_set(x_80, 2, x_34); +lean_ctor_set(x_80, 3, x_35); +lean_ctor_set(x_80, 4, x_38); +lean_ctor_set(x_80, 5, x_39); +lean_ctor_set(x_80, 6, x_40); +lean_ctor_set(x_80, 7, x_41); +lean_ctor_set(x_80, 8, x_46); +lean_ctor_set_uint8(x_80, sizeof(void*)*9, x_36); +lean_ctor_set_uint8(x_80, sizeof(void*)*9 + 1, x_79); +lean_ctor_set_uint8(x_80, sizeof(void*)*9 + 2, x_37); +lean_ctor_set_uint8(x_80, sizeof(void*)*9 + 3, x_42); +lean_ctor_set_uint8(x_80, sizeof(void*)*9 + 4, x_43); +lean_ctor_set_uint8(x_80, sizeof(void*)*9 + 5, x_44); +lean_ctor_set_uint8(x_80, sizeof(void*)*9 + 6, x_45); +lean_ctor_set_uint8(x_80, sizeof(void*)*9 + 7, x_47); +x_81 = l_List_foldlM___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFnId___spec__2(x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_52, x_10, x_30, x_80, x_12, x_13, x_14, x_15, x_16, x_31); +return x_81; +} } } } else { -uint8_t x_82; +uint8_t x_85; lean_dec(x_16); lean_dec(x_15); lean_dec(x_14); @@ -19348,23 +19356,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_82 = !lean_is_exclusive(x_29); -if (x_82 == 0) +x_85 = !lean_is_exclusive(x_29); +if (x_85 == 0) { return x_29; } else { -lean_object* x_83; lean_object* x_84; lean_object* x_85; -x_83 = lean_ctor_get(x_29, 0); -x_84 = lean_ctor_get(x_29, 1); -lean_inc(x_84); -lean_inc(x_83); +lean_object* x_86; lean_object* x_87; lean_object* x_88; +x_86 = lean_ctor_get(x_29, 0); +x_87 = lean_ctor_get(x_29, 1); +lean_inc(x_87); +lean_inc(x_86); lean_dec(x_29); -x_85 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_85, 0, x_83); -lean_ctor_set(x_85, 1, x_84); -return x_85; +x_88 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_88, 0, x_86); +lean_ctor_set(x_88, 1, x_87); +return x_88; } } } @@ -25508,7 +25516,7 @@ if (x_1043 == 0) { uint8_t x_1044; uint8_t x_1045; x_1044 = 0; -lean_ctor_set_uint8(x_10, sizeof(void*)*8 + 1, x_1044); +lean_ctor_set_uint8(x_10, sizeof(void*)*9 + 1, x_1044); x_1045 = lean_nat_dec_le(x_1039, x_1039); if (x_1045 == 0) { @@ -25543,23 +25551,25 @@ return x_1049; } else { -lean_object* x_1050; lean_object* x_1051; lean_object* x_1052; lean_object* x_1053; uint8_t x_1054; uint8_t x_1055; lean_object* x_1056; lean_object* x_1057; lean_object* x_1058; uint8_t x_1059; uint8_t x_1060; uint8_t x_1061; uint8_t x_1062; lean_object* x_1063; uint8_t x_1064; uint8_t x_1065; lean_object* x_1066; uint8_t x_1067; +lean_object* x_1050; lean_object* x_1051; lean_object* x_1052; lean_object* x_1053; uint8_t x_1054; uint8_t x_1055; lean_object* x_1056; lean_object* x_1057; lean_object* x_1058; lean_object* x_1059; uint8_t x_1060; uint8_t x_1061; uint8_t x_1062; uint8_t x_1063; lean_object* x_1064; uint8_t x_1065; uint8_t x_1066; lean_object* x_1067; uint8_t x_1068; x_1050 = lean_ctor_get(x_10, 0); x_1051 = lean_ctor_get(x_10, 1); x_1052 = lean_ctor_get(x_10, 2); x_1053 = lean_ctor_get(x_10, 3); -x_1054 = lean_ctor_get_uint8(x_10, sizeof(void*)*8); -x_1055 = lean_ctor_get_uint8(x_10, sizeof(void*)*8 + 2); +x_1054 = lean_ctor_get_uint8(x_10, sizeof(void*)*9); +x_1055 = lean_ctor_get_uint8(x_10, sizeof(void*)*9 + 2); x_1056 = lean_ctor_get(x_10, 4); x_1057 = lean_ctor_get(x_10, 5); x_1058 = lean_ctor_get(x_10, 6); -x_1059 = lean_ctor_get_uint8(x_10, sizeof(void*)*8 + 3); -x_1060 = lean_ctor_get_uint8(x_10, sizeof(void*)*8 + 4); -x_1061 = lean_ctor_get_uint8(x_10, sizeof(void*)*8 + 5); -x_1062 = lean_ctor_get_uint8(x_10, sizeof(void*)*8 + 6); -x_1063 = lean_ctor_get(x_10, 7); -x_1064 = lean_ctor_get_uint8(x_10, sizeof(void*)*8 + 7); -lean_inc(x_1063); +x_1059 = lean_ctor_get(x_10, 7); +x_1060 = lean_ctor_get_uint8(x_10, sizeof(void*)*9 + 3); +x_1061 = lean_ctor_get_uint8(x_10, sizeof(void*)*9 + 4); +x_1062 = lean_ctor_get_uint8(x_10, sizeof(void*)*9 + 5); +x_1063 = lean_ctor_get_uint8(x_10, sizeof(void*)*9 + 6); +x_1064 = lean_ctor_get(x_10, 8); +x_1065 = lean_ctor_get_uint8(x_10, sizeof(void*)*9 + 7); +lean_inc(x_1064); +lean_inc(x_1059); lean_inc(x_1058); lean_inc(x_1057); lean_inc(x_1056); @@ -25568,29 +25578,30 @@ lean_inc(x_1052); lean_inc(x_1051); lean_inc(x_1050); lean_dec(x_10); -x_1065 = 0; -x_1066 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_1066, 0, x_1050); -lean_ctor_set(x_1066, 1, x_1051); -lean_ctor_set(x_1066, 2, x_1052); -lean_ctor_set(x_1066, 3, x_1053); -lean_ctor_set(x_1066, 4, x_1056); -lean_ctor_set(x_1066, 5, x_1057); -lean_ctor_set(x_1066, 6, x_1058); -lean_ctor_set(x_1066, 7, x_1063); -lean_ctor_set_uint8(x_1066, sizeof(void*)*8, x_1054); -lean_ctor_set_uint8(x_1066, sizeof(void*)*8 + 1, x_1065); -lean_ctor_set_uint8(x_1066, sizeof(void*)*8 + 2, x_1055); -lean_ctor_set_uint8(x_1066, sizeof(void*)*8 + 3, x_1059); -lean_ctor_set_uint8(x_1066, sizeof(void*)*8 + 4, x_1060); -lean_ctor_set_uint8(x_1066, sizeof(void*)*8 + 5, x_1061); -lean_ctor_set_uint8(x_1066, sizeof(void*)*8 + 6, x_1062); -lean_ctor_set_uint8(x_1066, sizeof(void*)*8 + 7, x_1064); -x_1067 = lean_nat_dec_le(x_1039, x_1039); -if (x_1067 == 0) +x_1066 = 0; +x_1067 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_1067, 0, x_1050); +lean_ctor_set(x_1067, 1, x_1051); +lean_ctor_set(x_1067, 2, x_1052); +lean_ctor_set(x_1067, 3, x_1053); +lean_ctor_set(x_1067, 4, x_1056); +lean_ctor_set(x_1067, 5, x_1057); +lean_ctor_set(x_1067, 6, x_1058); +lean_ctor_set(x_1067, 7, x_1059); +lean_ctor_set(x_1067, 8, x_1064); +lean_ctor_set_uint8(x_1067, sizeof(void*)*9, x_1054); +lean_ctor_set_uint8(x_1067, sizeof(void*)*9 + 1, x_1066); +lean_ctor_set_uint8(x_1067, sizeof(void*)*9 + 2, x_1055); +lean_ctor_set_uint8(x_1067, sizeof(void*)*9 + 3, x_1060); +lean_ctor_set_uint8(x_1067, sizeof(void*)*9 + 4, x_1061); +lean_ctor_set_uint8(x_1067, sizeof(void*)*9 + 5, x_1062); +lean_ctor_set_uint8(x_1067, sizeof(void*)*9 + 6, x_1063); +lean_ctor_set_uint8(x_1067, sizeof(void*)*9 + 7, x_1065); +x_1068 = lean_nat_dec_le(x_1039, x_1039); +if (x_1068 == 0) { -lean_object* x_1068; -lean_dec(x_1066); +lean_object* x_1069; +lean_dec(x_1067); lean_dec(x_1039); lean_dec(x_1038); lean_dec(x_15); @@ -25602,20 +25613,20 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_1068 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_1068, 0, x_9); -lean_ctor_set(x_1068, 1, x_16); -return x_1068; +x_1069 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_1069, 0, x_9); +lean_ctor_set(x_1069, 1, x_16); +return x_1069; } else { -size_t x_1069; size_t x_1070; lean_object* x_1071; -x_1069 = 0; -x_1070 = lean_usize_of_nat(x_1039); +size_t x_1070; size_t x_1071; lean_object* x_1072; +x_1070 = 0; +x_1071 = lean_usize_of_nat(x_1039); lean_dec(x_1039); -x_1071 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___spec__5(x_2, x_3, x_4, x_5, x_6, x_7, x_1038, x_1069, x_1070, x_9, x_1066, x_11, x_12, x_13, x_14, x_15, x_16); +x_1072 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___spec__5(x_2, x_3, x_4, x_5, x_6, x_7, x_1038, x_1070, x_1071, x_9, x_1067, x_11, x_12, x_13, x_14, x_15, x_16); lean_dec(x_1038); -return x_1071; +return x_1072; } } } @@ -27938,7 +27949,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_annotateIfR _start: { uint8_t x_10; -x_10 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 7); +x_10 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 7); if (x_10 == 0) { lean_object* x_11; @@ -30191,7 +30202,7 @@ x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_13369_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_13371_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -30982,7 +30993,7 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabArrayRef_declRange___clos res = l___regBuiltin_Lean_Elab_Term_elabArrayRef_declRange(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_13369_(lean_io_mk_world()); +res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_13371_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Elab/BuiltinCommand.c b/stage0/stdlib/Lean/Elab/BuiltinCommand.c index 0e40d2ea86..3f5909b397 100644 --- a/stage0/stdlib/Lean/Elab/BuiltinCommand.c +++ b/stage0/stdlib/Lean/Elab/BuiltinCommand.c @@ -11386,9 +11386,9 @@ x_27 = !lean_is_exclusive(x_4); 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; -x_28 = lean_ctor_get(x_4, 6); +x_28 = lean_ctor_get(x_4, 7); lean_dec(x_28); -lean_ctor_set(x_4, 6, x_26); +lean_ctor_set(x_4, 7, x_26); x_29 = l_Lean_Elab_Term_resetMessageLog(x_4, x_5, x_6, x_7, x_8, x_9, x_25); x_30 = lean_ctor_get(x_29, 1); lean_inc(x_30); @@ -11401,23 +11401,25 @@ return x_33; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; uint8_t x_39; uint8_t x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43; uint8_t x_44; uint8_t x_45; uint8_t x_46; lean_object* x_47; 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_54; +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; uint8_t x_39; uint8_t x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; uint8_t x_45; uint8_t x_46; uint8_t x_47; lean_object* x_48; uint8_t 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; x_34 = lean_ctor_get(x_4, 0); x_35 = lean_ctor_get(x_4, 1); x_36 = lean_ctor_get(x_4, 2); x_37 = lean_ctor_get(x_4, 3); -x_38 = lean_ctor_get_uint8(x_4, sizeof(void*)*8); -x_39 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 1); -x_40 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 2); +x_38 = lean_ctor_get_uint8(x_4, sizeof(void*)*9); +x_39 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 1); +x_40 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 2); x_41 = lean_ctor_get(x_4, 4); x_42 = lean_ctor_get(x_4, 5); -x_43 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 3); -x_44 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 4); -x_45 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 5); -x_46 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 6); -x_47 = lean_ctor_get(x_4, 7); -x_48 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 7); -lean_inc(x_47); +x_43 = lean_ctor_get(x_4, 6); +x_44 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 3); +x_45 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 4); +x_46 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 5); +x_47 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 6); +x_48 = lean_ctor_get(x_4, 8); +x_49 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 7); +lean_inc(x_48); +lean_inc(x_43); lean_inc(x_42); lean_inc(x_41); lean_inc(x_37); @@ -11425,37 +11427,38 @@ lean_inc(x_36); lean_inc(x_35); lean_inc(x_34); lean_dec(x_4); -x_49 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_49, 0, x_34); -lean_ctor_set(x_49, 1, x_35); -lean_ctor_set(x_49, 2, x_36); -lean_ctor_set(x_49, 3, x_37); -lean_ctor_set(x_49, 4, x_41); -lean_ctor_set(x_49, 5, x_42); -lean_ctor_set(x_49, 6, x_26); -lean_ctor_set(x_49, 7, x_47); -lean_ctor_set_uint8(x_49, sizeof(void*)*8, x_38); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 1, x_39); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 2, x_40); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 3, x_43); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 4, x_44); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 5, x_45); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 6, x_46); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 7, x_48); -x_50 = l_Lean_Elab_Term_resetMessageLog(x_49, x_5, x_6, x_7, x_8, x_9, x_25); -x_51 = lean_ctor_get(x_50, 1); -lean_inc(x_51); -lean_dec(x_50); -x_52 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabVariable___lambda__2___boxed), 10, 1); -lean_closure_set(x_52, 0, x_2); -x_53 = l_Lean_Elab_Command_elabVariable___lambda__3___closed__1; -x_54 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_3, x_53, x_52, x_49, x_5, x_6, x_7, x_8, x_9, x_51); -return x_54; +x_50 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_50, 0, x_34); +lean_ctor_set(x_50, 1, x_35); +lean_ctor_set(x_50, 2, x_36); +lean_ctor_set(x_50, 3, x_37); +lean_ctor_set(x_50, 4, x_41); +lean_ctor_set(x_50, 5, x_42); +lean_ctor_set(x_50, 6, x_43); +lean_ctor_set(x_50, 7, x_26); +lean_ctor_set(x_50, 8, x_48); +lean_ctor_set_uint8(x_50, sizeof(void*)*9, x_38); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 1, x_39); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 2, x_40); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 3, x_44); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 4, x_45); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 5, x_46); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 6, x_47); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 7, x_49); +x_51 = l_Lean_Elab_Term_resetMessageLog(x_50, x_5, x_6, x_7, x_8, x_9, x_25); +x_52 = lean_ctor_get(x_51, 1); +lean_inc(x_52); +lean_dec(x_51); +x_53 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabVariable___lambda__2___boxed), 10, 1); +lean_closure_set(x_53, 0, x_2); +x_54 = l_Lean_Elab_Command_elabVariable___lambda__3___closed__1; +x_55 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_3, x_54, x_53, x_50, x_5, x_6, x_7, x_8, x_9, x_52); +return x_55; } } else { -uint8_t x_55; +uint8_t x_56; lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -11464,23 +11467,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_55 = !lean_is_exclusive(x_12); -if (x_55 == 0) +x_56 = !lean_is_exclusive(x_12); +if (x_56 == 0) { return x_12; } else { -lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_56 = lean_ctor_get(x_12, 0); -x_57 = lean_ctor_get(x_12, 1); +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_12, 0); +x_58 = lean_ctor_get(x_12, 1); +lean_inc(x_58); lean_inc(x_57); -lean_inc(x_56); lean_dec(x_12); -x_58 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_58, 0, x_56); -lean_ctor_set(x_58, 1, x_57); -return x_58; +x_59 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_59, 0, x_57); +lean_ctor_set(x_59, 1, x_58); +return x_59; } } } @@ -12213,9 +12216,9 @@ x_29 = !lean_is_exclusive(x_6); if (x_29 == 0) { lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_30 = lean_ctor_get(x_6, 6); +x_30 = lean_ctor_get(x_6, 7); lean_dec(x_30); -lean_ctor_set(x_6, 6, x_28); +lean_ctor_set(x_6, 7, x_28); x_31 = l_Lean_Elab_Term_resetMessageLog(x_6, x_7, x_8, x_9, x_10, x_11, x_27); x_32 = lean_ctor_get(x_31, 1); lean_inc(x_32); @@ -12231,23 +12234,25 @@ return x_36; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; uint8_t x_42; uint8_t x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46; uint8_t x_47; uint8_t x_48; uint8_t x_49; lean_object* x_50; uint8_t 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_58; +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; uint8_t x_42; uint8_t x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; uint8_t x_48; uint8_t x_49; uint8_t x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; x_37 = lean_ctor_get(x_6, 0); x_38 = lean_ctor_get(x_6, 1); x_39 = lean_ctor_get(x_6, 2); x_40 = lean_ctor_get(x_6, 3); -x_41 = lean_ctor_get_uint8(x_6, sizeof(void*)*8); -x_42 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 1); -x_43 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 2); +x_41 = lean_ctor_get_uint8(x_6, sizeof(void*)*9); +x_42 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 1); +x_43 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 2); x_44 = lean_ctor_get(x_6, 4); x_45 = lean_ctor_get(x_6, 5); -x_46 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 3); -x_47 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 4); -x_48 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 5); -x_49 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 6); -x_50 = lean_ctor_get(x_6, 7); -x_51 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 7); -lean_inc(x_50); +x_46 = lean_ctor_get(x_6, 6); +x_47 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 3); +x_48 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 4); +x_49 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 5); +x_50 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 6); +x_51 = lean_ctor_get(x_6, 8); +x_52 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 7); +lean_inc(x_51); +lean_inc(x_46); lean_inc(x_45); lean_inc(x_44); lean_inc(x_40); @@ -12255,40 +12260,41 @@ lean_inc(x_39); lean_inc(x_38); lean_inc(x_37); lean_dec(x_6); -x_52 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_52, 0, x_37); -lean_ctor_set(x_52, 1, x_38); -lean_ctor_set(x_52, 2, x_39); -lean_ctor_set(x_52, 3, x_40); -lean_ctor_set(x_52, 4, x_44); -lean_ctor_set(x_52, 5, x_45); -lean_ctor_set(x_52, 6, x_28); -lean_ctor_set(x_52, 7, x_50); -lean_ctor_set_uint8(x_52, sizeof(void*)*8, x_41); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 1, x_42); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 2, x_43); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 3, x_46); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 4, x_47); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 5, x_48); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 6, x_49); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 7, x_51); -x_53 = l_Lean_Elab_Term_resetMessageLog(x_52, x_7, x_8, x_9, x_10, x_11, x_27); -x_54 = lean_ctor_get(x_53, 1); -lean_inc(x_54); -lean_dec(x_53); -x_55 = lean_box(x_3); -x_56 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabCheckCore___lambda__3___boxed), 12, 3); -lean_closure_set(x_56, 0, x_2); -lean_closure_set(x_56, 1, x_55); -lean_closure_set(x_56, 2, x_4); -x_57 = l_Lean_Elab_Command_elabVariable___lambda__3___closed__1; -x_58 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_5, x_57, x_56, x_52, x_7, x_8, x_9, x_10, x_11, x_54); -return x_58; +x_53 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_53, 0, x_37); +lean_ctor_set(x_53, 1, x_38); +lean_ctor_set(x_53, 2, x_39); +lean_ctor_set(x_53, 3, x_40); +lean_ctor_set(x_53, 4, x_44); +lean_ctor_set(x_53, 5, x_45); +lean_ctor_set(x_53, 6, x_46); +lean_ctor_set(x_53, 7, x_28); +lean_ctor_set(x_53, 8, x_51); +lean_ctor_set_uint8(x_53, sizeof(void*)*9, x_41); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 1, x_42); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 2, x_43); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 3, x_47); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 4, x_48); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 5, x_49); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 6, x_50); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 7, x_52); +x_54 = l_Lean_Elab_Term_resetMessageLog(x_53, x_7, x_8, x_9, x_10, x_11, x_27); +x_55 = lean_ctor_get(x_54, 1); +lean_inc(x_55); +lean_dec(x_54); +x_56 = lean_box(x_3); +x_57 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabCheckCore___lambda__3___boxed), 12, 3); +lean_closure_set(x_57, 0, x_2); +lean_closure_set(x_57, 1, x_56); +lean_closure_set(x_57, 2, x_4); +x_58 = l_Lean_Elab_Command_elabVariable___lambda__3___closed__1; +x_59 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_5, x_58, x_57, x_53, x_7, x_8, x_9, x_10, x_11, x_55); +return x_59; } } else { -uint8_t x_59; +uint8_t x_60; lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -12298,23 +12304,23 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); -x_59 = !lean_is_exclusive(x_14); -if (x_59 == 0) +x_60 = !lean_is_exclusive(x_14); +if (x_60 == 0) { return x_14; } else { -lean_object* x_60; lean_object* x_61; lean_object* x_62; -x_60 = lean_ctor_get(x_14, 0); -x_61 = lean_ctor_get(x_14, 1); +lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_61 = lean_ctor_get(x_14, 0); +x_62 = lean_ctor_get(x_14, 1); +lean_inc(x_62); lean_inc(x_61); -lean_inc(x_60); lean_dec(x_14); -x_62 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_62, 0, x_60); -lean_ctor_set(x_62, 1, x_61); -return x_62; +x_63 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_63, 0, x_61); +lean_ctor_set(x_63, 1, x_62); +return x_63; } } } @@ -13215,9 +13221,9 @@ x_28 = !lean_is_exclusive(x_5); if (x_28 == 0) { lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_29 = lean_ctor_get(x_5, 6); +x_29 = lean_ctor_get(x_5, 7); lean_dec(x_29); -lean_ctor_set(x_5, 6, x_27); +lean_ctor_set(x_5, 7, x_27); x_30 = l_Lean_Elab_Term_resetMessageLog(x_5, x_6, x_7, x_8, x_9, x_10, x_26); x_31 = lean_ctor_get(x_30, 1); lean_inc(x_31); @@ -13231,23 +13237,25 @@ return x_34; } else { -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; uint8_t x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; uint8_t x_45; uint8_t x_46; uint8_t x_47; lean_object* x_48; uint8_t 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_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; uint8_t x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; uint8_t x_46; 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_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; x_35 = lean_ctor_get(x_5, 0); x_36 = lean_ctor_get(x_5, 1); x_37 = lean_ctor_get(x_5, 2); x_38 = lean_ctor_get(x_5, 3); -x_39 = lean_ctor_get_uint8(x_5, sizeof(void*)*8); -x_40 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 1); -x_41 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 2); +x_39 = lean_ctor_get_uint8(x_5, sizeof(void*)*9); +x_40 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 1); +x_41 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 2); x_42 = lean_ctor_get(x_5, 4); x_43 = lean_ctor_get(x_5, 5); -x_44 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 3); -x_45 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 4); -x_46 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 5); -x_47 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 6); -x_48 = lean_ctor_get(x_5, 7); -x_49 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 7); -lean_inc(x_48); +x_44 = lean_ctor_get(x_5, 6); +x_45 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 3); +x_46 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 4); +x_47 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 5); +x_48 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 6); +x_49 = lean_ctor_get(x_5, 8); +x_50 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 7); +lean_inc(x_49); +lean_inc(x_44); lean_inc(x_43); lean_inc(x_42); lean_inc(x_38); @@ -13255,38 +13263,39 @@ lean_inc(x_37); lean_inc(x_36); lean_inc(x_35); lean_dec(x_5); -x_50 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_50, 0, x_35); -lean_ctor_set(x_50, 1, x_36); -lean_ctor_set(x_50, 2, x_37); -lean_ctor_set(x_50, 3, x_38); -lean_ctor_set(x_50, 4, x_42); -lean_ctor_set(x_50, 5, x_43); -lean_ctor_set(x_50, 6, x_27); -lean_ctor_set(x_50, 7, x_48); -lean_ctor_set_uint8(x_50, sizeof(void*)*8, x_39); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 1, x_40); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 2, x_41); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 3, x_44); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 4, x_45); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 5, x_46); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 6, x_47); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 7, x_49); -x_51 = l_Lean_Elab_Term_resetMessageLog(x_50, x_6, x_7, x_8, x_9, x_10, x_26); -x_52 = lean_ctor_get(x_51, 1); -lean_inc(x_52); -lean_dec(x_51); -x_53 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabReduce___lambda__2___boxed), 11, 2); -lean_closure_set(x_53, 0, x_2); -lean_closure_set(x_53, 1, x_3); -x_54 = l_Lean_Elab_Command_elabVariable___lambda__3___closed__1; -x_55 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_4, x_54, x_53, x_50, x_6, x_7, x_8, x_9, x_10, x_52); -return x_55; +x_51 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_51, 0, x_35); +lean_ctor_set(x_51, 1, x_36); +lean_ctor_set(x_51, 2, x_37); +lean_ctor_set(x_51, 3, x_38); +lean_ctor_set(x_51, 4, x_42); +lean_ctor_set(x_51, 5, x_43); +lean_ctor_set(x_51, 6, x_44); +lean_ctor_set(x_51, 7, x_27); +lean_ctor_set(x_51, 8, x_49); +lean_ctor_set_uint8(x_51, sizeof(void*)*9, x_39); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 1, x_40); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 2, x_41); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 3, x_45); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 4, x_46); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 5, x_47); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 6, x_48); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 7, x_50); +x_52 = l_Lean_Elab_Term_resetMessageLog(x_51, x_6, x_7, x_8, x_9, x_10, x_26); +x_53 = lean_ctor_get(x_52, 1); +lean_inc(x_53); +lean_dec(x_52); +x_54 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabReduce___lambda__2___boxed), 11, 2); +lean_closure_set(x_54, 0, x_2); +lean_closure_set(x_54, 1, x_3); +x_55 = l_Lean_Elab_Command_elabVariable___lambda__3___closed__1; +x_56 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_4, x_55, x_54, x_51, x_6, x_7, x_8, x_9, x_10, x_53); +return x_56; } } else { -uint8_t x_56; +uint8_t x_57; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -13296,23 +13305,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_56 = !lean_is_exclusive(x_13); -if (x_56 == 0) +x_57 = !lean_is_exclusive(x_13); +if (x_57 == 0) { return x_13; } else { -lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_57 = lean_ctor_get(x_13, 0); -x_58 = lean_ctor_get(x_13, 1); +lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_58 = lean_ctor_get(x_13, 0); +x_59 = lean_ctor_get(x_13, 1); +lean_inc(x_59); lean_inc(x_58); -lean_inc(x_57); lean_dec(x_13); -x_59 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_59, 0, x_57); -lean_ctor_set(x_59, 1, x_58); -return x_59; +x_60 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_60, 0, x_58); +lean_ctor_set(x_60, 1, x_59); +return x_60; } } } @@ -16359,9 +16368,9 @@ x_30 = !lean_is_exclusive(x_7); if (x_30 == 0) { lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_31 = lean_ctor_get(x_7, 6); +x_31 = lean_ctor_get(x_7, 7); lean_dec(x_31); -lean_ctor_set(x_7, 6, x_29); +lean_ctor_set(x_7, 7, x_29); x_32 = l_Lean_Elab_Term_resetMessageLog(x_7, x_8, x_9, x_10, x_11, x_12, x_28); x_33 = lean_ctor_get(x_32, 1); lean_inc(x_33); @@ -16377,23 +16386,25 @@ return x_36; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; uint8_t x_42; uint8_t x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46; uint8_t x_47; uint8_t x_48; uint8_t x_49; lean_object* x_50; uint8_t 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_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; uint8_t x_42; uint8_t x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; uint8_t x_48; uint8_t x_49; uint8_t x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; x_37 = lean_ctor_get(x_7, 0); x_38 = lean_ctor_get(x_7, 1); x_39 = lean_ctor_get(x_7, 2); x_40 = lean_ctor_get(x_7, 3); -x_41 = lean_ctor_get_uint8(x_7, sizeof(void*)*8); -x_42 = lean_ctor_get_uint8(x_7, sizeof(void*)*8 + 1); -x_43 = lean_ctor_get_uint8(x_7, sizeof(void*)*8 + 2); +x_41 = lean_ctor_get_uint8(x_7, sizeof(void*)*9); +x_42 = lean_ctor_get_uint8(x_7, sizeof(void*)*9 + 1); +x_43 = lean_ctor_get_uint8(x_7, sizeof(void*)*9 + 2); x_44 = lean_ctor_get(x_7, 4); x_45 = lean_ctor_get(x_7, 5); -x_46 = lean_ctor_get_uint8(x_7, sizeof(void*)*8 + 3); -x_47 = lean_ctor_get_uint8(x_7, sizeof(void*)*8 + 4); -x_48 = lean_ctor_get_uint8(x_7, sizeof(void*)*8 + 5); -x_49 = lean_ctor_get_uint8(x_7, sizeof(void*)*8 + 6); -x_50 = lean_ctor_get(x_7, 7); -x_51 = lean_ctor_get_uint8(x_7, sizeof(void*)*8 + 7); -lean_inc(x_50); +x_46 = lean_ctor_get(x_7, 6); +x_47 = lean_ctor_get_uint8(x_7, sizeof(void*)*9 + 3); +x_48 = lean_ctor_get_uint8(x_7, sizeof(void*)*9 + 4); +x_49 = lean_ctor_get_uint8(x_7, sizeof(void*)*9 + 5); +x_50 = lean_ctor_get_uint8(x_7, sizeof(void*)*9 + 6); +x_51 = lean_ctor_get(x_7, 8); +x_52 = lean_ctor_get_uint8(x_7, sizeof(void*)*9 + 7); +lean_inc(x_51); +lean_inc(x_46); lean_inc(x_45); lean_inc(x_44); lean_inc(x_40); @@ -16401,40 +16412,41 @@ lean_inc(x_39); lean_inc(x_38); lean_inc(x_37); lean_dec(x_7); -x_52 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_52, 0, x_37); -lean_ctor_set(x_52, 1, x_38); -lean_ctor_set(x_52, 2, x_39); -lean_ctor_set(x_52, 3, x_40); -lean_ctor_set(x_52, 4, x_44); -lean_ctor_set(x_52, 5, x_45); -lean_ctor_set(x_52, 6, x_29); -lean_ctor_set(x_52, 7, x_50); -lean_ctor_set_uint8(x_52, sizeof(void*)*8, x_41); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 1, x_42); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 2, x_43); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 3, x_46); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 4, x_47); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 5, x_48); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 6, x_49); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 7, x_51); -x_53 = l_Lean_Elab_Term_resetMessageLog(x_52, x_8, x_9, x_10, x_11, x_12, x_28); -x_54 = lean_ctor_get(x_53, 1); -lean_inc(x_54); -lean_dec(x_53); -x_55 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabEvalUnsafe___lambda__3___boxed), 13, 4); -lean_closure_set(x_55, 0, x_2); -lean_closure_set(x_55, 1, x_3); -lean_closure_set(x_55, 2, x_4); -lean_closure_set(x_55, 3, x_5); -x_56 = l_Lean_Elab_Command_elabVariable___lambda__3___closed__1; -x_57 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_6, x_56, x_55, x_52, x_8, x_9, x_10, x_11, x_12, x_54); -return x_57; +x_53 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_53, 0, x_37); +lean_ctor_set(x_53, 1, x_38); +lean_ctor_set(x_53, 2, x_39); +lean_ctor_set(x_53, 3, x_40); +lean_ctor_set(x_53, 4, x_44); +lean_ctor_set(x_53, 5, x_45); +lean_ctor_set(x_53, 6, x_46); +lean_ctor_set(x_53, 7, x_29); +lean_ctor_set(x_53, 8, x_51); +lean_ctor_set_uint8(x_53, sizeof(void*)*9, x_41); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 1, x_42); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 2, x_43); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 3, x_47); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 4, x_48); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 5, x_49); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 6, x_50); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 7, x_52); +x_54 = l_Lean_Elab_Term_resetMessageLog(x_53, x_8, x_9, x_10, x_11, x_12, x_28); +x_55 = lean_ctor_get(x_54, 1); +lean_inc(x_55); +lean_dec(x_54); +x_56 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabEvalUnsafe___lambda__3___boxed), 13, 4); +lean_closure_set(x_56, 0, x_2); +lean_closure_set(x_56, 1, x_3); +lean_closure_set(x_56, 2, x_4); +lean_closure_set(x_56, 3, x_5); +x_57 = l_Lean_Elab_Command_elabVariable___lambda__3___closed__1; +x_58 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_6, x_57, x_56, x_53, x_8, x_9, x_10, x_11, x_12, x_55); +return x_58; } } else { -uint8_t x_58; +uint8_t x_59; lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); @@ -16446,23 +16458,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_58 = !lean_is_exclusive(x_15); -if (x_58 == 0) +x_59 = !lean_is_exclusive(x_15); +if (x_59 == 0) { return x_15; } else { -lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_59 = lean_ctor_get(x_15, 0); -x_60 = lean_ctor_get(x_15, 1); +lean_object* x_60; lean_object* x_61; lean_object* x_62; +x_60 = lean_ctor_get(x_15, 0); +x_61 = lean_ctor_get(x_15, 1); +lean_inc(x_61); lean_inc(x_60); -lean_inc(x_59); lean_dec(x_15); -x_61 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_61, 0, x_59); -lean_ctor_set(x_61, 1, x_60); -return x_61; +x_62 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_62, 0, x_60); +lean_ctor_set(x_62, 1, x_61); +return x_62; } } } @@ -17193,9 +17205,9 @@ x_30 = !lean_is_exclusive(x_7); if (x_30 == 0) { lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_31 = lean_ctor_get(x_7, 6); +x_31 = lean_ctor_get(x_7, 7); lean_dec(x_31); -lean_ctor_set(x_7, 6, x_29); +lean_ctor_set(x_7, 7, x_29); x_32 = l_Lean_Elab_Term_resetMessageLog(x_7, x_8, x_9, x_10, x_11, x_12, x_28); x_33 = lean_ctor_get(x_32, 1); lean_inc(x_33); @@ -17211,23 +17223,25 @@ return x_36; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; uint8_t x_42; uint8_t x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46; uint8_t x_47; uint8_t x_48; uint8_t x_49; lean_object* x_50; uint8_t 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_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; uint8_t x_42; uint8_t x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; uint8_t x_48; uint8_t x_49; uint8_t x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; x_37 = lean_ctor_get(x_7, 0); x_38 = lean_ctor_get(x_7, 1); x_39 = lean_ctor_get(x_7, 2); x_40 = lean_ctor_get(x_7, 3); -x_41 = lean_ctor_get_uint8(x_7, sizeof(void*)*8); -x_42 = lean_ctor_get_uint8(x_7, sizeof(void*)*8 + 1); -x_43 = lean_ctor_get_uint8(x_7, sizeof(void*)*8 + 2); +x_41 = lean_ctor_get_uint8(x_7, sizeof(void*)*9); +x_42 = lean_ctor_get_uint8(x_7, sizeof(void*)*9 + 1); +x_43 = lean_ctor_get_uint8(x_7, sizeof(void*)*9 + 2); x_44 = lean_ctor_get(x_7, 4); x_45 = lean_ctor_get(x_7, 5); -x_46 = lean_ctor_get_uint8(x_7, sizeof(void*)*8 + 3); -x_47 = lean_ctor_get_uint8(x_7, sizeof(void*)*8 + 4); -x_48 = lean_ctor_get_uint8(x_7, sizeof(void*)*8 + 5); -x_49 = lean_ctor_get_uint8(x_7, sizeof(void*)*8 + 6); -x_50 = lean_ctor_get(x_7, 7); -x_51 = lean_ctor_get_uint8(x_7, sizeof(void*)*8 + 7); -lean_inc(x_50); +x_46 = lean_ctor_get(x_7, 6); +x_47 = lean_ctor_get_uint8(x_7, sizeof(void*)*9 + 3); +x_48 = lean_ctor_get_uint8(x_7, sizeof(void*)*9 + 4); +x_49 = lean_ctor_get_uint8(x_7, sizeof(void*)*9 + 5); +x_50 = lean_ctor_get_uint8(x_7, sizeof(void*)*9 + 6); +x_51 = lean_ctor_get(x_7, 8); +x_52 = lean_ctor_get_uint8(x_7, sizeof(void*)*9 + 7); +lean_inc(x_51); +lean_inc(x_46); lean_inc(x_45); lean_inc(x_44); lean_inc(x_40); @@ -17235,40 +17249,41 @@ lean_inc(x_39); lean_inc(x_38); lean_inc(x_37); lean_dec(x_7); -x_52 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_52, 0, x_37); -lean_ctor_set(x_52, 1, x_38); -lean_ctor_set(x_52, 2, x_39); -lean_ctor_set(x_52, 3, x_40); -lean_ctor_set(x_52, 4, x_44); -lean_ctor_set(x_52, 5, x_45); -lean_ctor_set(x_52, 6, x_29); -lean_ctor_set(x_52, 7, x_50); -lean_ctor_set_uint8(x_52, sizeof(void*)*8, x_41); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 1, x_42); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 2, x_43); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 3, x_46); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 4, x_47); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 5, x_48); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 6, x_49); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 7, x_51); -x_53 = l_Lean_Elab_Term_resetMessageLog(x_52, x_8, x_9, x_10, x_11, x_12, x_28); -x_54 = lean_ctor_get(x_53, 1); -lean_inc(x_54); -lean_dec(x_53); -x_55 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabEvalUnsafe___lambda__7___boxed), 13, 4); -lean_closure_set(x_55, 0, x_2); -lean_closure_set(x_55, 1, x_3); -lean_closure_set(x_55, 2, x_4); -lean_closure_set(x_55, 3, x_5); -x_56 = l_Lean_Elab_Command_elabVariable___lambda__3___closed__1; -x_57 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_6, x_56, x_55, x_52, x_8, x_9, x_10, x_11, x_12, x_54); -return x_57; +x_53 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_53, 0, x_37); +lean_ctor_set(x_53, 1, x_38); +lean_ctor_set(x_53, 2, x_39); +lean_ctor_set(x_53, 3, x_40); +lean_ctor_set(x_53, 4, x_44); +lean_ctor_set(x_53, 5, x_45); +lean_ctor_set(x_53, 6, x_46); +lean_ctor_set(x_53, 7, x_29); +lean_ctor_set(x_53, 8, x_51); +lean_ctor_set_uint8(x_53, sizeof(void*)*9, x_41); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 1, x_42); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 2, x_43); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 3, x_47); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 4, x_48); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 5, x_49); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 6, x_50); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 7, x_52); +x_54 = l_Lean_Elab_Term_resetMessageLog(x_53, x_8, x_9, x_10, x_11, x_12, x_28); +x_55 = lean_ctor_get(x_54, 1); +lean_inc(x_55); +lean_dec(x_54); +x_56 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabEvalUnsafe___lambda__7___boxed), 13, 4); +lean_closure_set(x_56, 0, x_2); +lean_closure_set(x_56, 1, x_3); +lean_closure_set(x_56, 2, x_4); +lean_closure_set(x_56, 3, x_5); +x_57 = l_Lean_Elab_Command_elabVariable___lambda__3___closed__1; +x_58 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_6, x_57, x_56, x_53, x_8, x_9, x_10, x_11, x_12, x_55); +return x_58; } } else { -uint8_t x_58; +uint8_t x_59; lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); @@ -17280,23 +17295,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_58 = !lean_is_exclusive(x_15); -if (x_58 == 0) +x_59 = !lean_is_exclusive(x_15); +if (x_59 == 0) { return x_15; } else { -lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_59 = lean_ctor_get(x_15, 0); -x_60 = lean_ctor_get(x_15, 1); +lean_object* x_60; lean_object* x_61; lean_object* x_62; +x_60 = lean_ctor_get(x_15, 0); +x_61 = lean_ctor_get(x_15, 1); +lean_inc(x_61); lean_inc(x_60); -lean_inc(x_59); lean_dec(x_15); -x_61 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_61, 0, x_59); -lean_ctor_set(x_61, 1, x_60); -return x_61; +x_62 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_62, 0, x_60); +lean_ctor_set(x_62, 1, x_61); +return x_62; } } } @@ -17902,9 +17917,9 @@ x_27 = !lean_is_exclusive(x_4); 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; -x_28 = lean_ctor_get(x_4, 6); +x_28 = lean_ctor_get(x_4, 7); lean_dec(x_28); -lean_ctor_set(x_4, 6, x_26); +lean_ctor_set(x_4, 7, x_26); x_29 = l_Lean_Elab_Term_resetMessageLog(x_4, x_5, x_6, x_7, x_8, x_9, x_25); x_30 = lean_ctor_get(x_29, 1); lean_inc(x_30); @@ -17917,23 +17932,25 @@ return x_33; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; uint8_t x_39; uint8_t x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43; uint8_t x_44; uint8_t x_45; uint8_t x_46; lean_object* x_47; 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_54; +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; uint8_t x_39; uint8_t x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; uint8_t x_45; uint8_t x_46; uint8_t x_47; lean_object* x_48; uint8_t 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; x_34 = lean_ctor_get(x_4, 0); x_35 = lean_ctor_get(x_4, 1); x_36 = lean_ctor_get(x_4, 2); x_37 = lean_ctor_get(x_4, 3); -x_38 = lean_ctor_get_uint8(x_4, sizeof(void*)*8); -x_39 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 1); -x_40 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 2); +x_38 = lean_ctor_get_uint8(x_4, sizeof(void*)*9); +x_39 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 1); +x_40 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 2); x_41 = lean_ctor_get(x_4, 4); x_42 = lean_ctor_get(x_4, 5); -x_43 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 3); -x_44 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 4); -x_45 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 5); -x_46 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 6); -x_47 = lean_ctor_get(x_4, 7); -x_48 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 7); -lean_inc(x_47); +x_43 = lean_ctor_get(x_4, 6); +x_44 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 3); +x_45 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 4); +x_46 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 5); +x_47 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 6); +x_48 = lean_ctor_get(x_4, 8); +x_49 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 7); +lean_inc(x_48); +lean_inc(x_43); lean_inc(x_42); lean_inc(x_41); lean_inc(x_37); @@ -17941,37 +17958,38 @@ lean_inc(x_36); lean_inc(x_35); lean_inc(x_34); lean_dec(x_4); -x_49 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_49, 0, x_34); -lean_ctor_set(x_49, 1, x_35); -lean_ctor_set(x_49, 2, x_36); -lean_ctor_set(x_49, 3, x_37); -lean_ctor_set(x_49, 4, x_41); -lean_ctor_set(x_49, 5, x_42); -lean_ctor_set(x_49, 6, x_26); -lean_ctor_set(x_49, 7, x_47); -lean_ctor_set_uint8(x_49, sizeof(void*)*8, x_38); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 1, x_39); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 2, x_40); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 3, x_43); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 4, x_44); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 5, x_45); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 6, x_46); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 7, x_48); -x_50 = l_Lean_Elab_Term_resetMessageLog(x_49, x_5, x_6, x_7, x_8, x_9, x_25); -x_51 = lean_ctor_get(x_50, 1); -lean_inc(x_51); -lean_dec(x_50); -x_52 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabSynth___lambda__2___boxed), 10, 1); -lean_closure_set(x_52, 0, x_2); -x_53 = l_Lean_Elab_Command_elabVariable___lambda__3___closed__1; -x_54 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_3, x_53, x_52, x_49, x_5, x_6, x_7, x_8, x_9, x_51); -return x_54; +x_50 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_50, 0, x_34); +lean_ctor_set(x_50, 1, x_35); +lean_ctor_set(x_50, 2, x_36); +lean_ctor_set(x_50, 3, x_37); +lean_ctor_set(x_50, 4, x_41); +lean_ctor_set(x_50, 5, x_42); +lean_ctor_set(x_50, 6, x_43); +lean_ctor_set(x_50, 7, x_26); +lean_ctor_set(x_50, 8, x_48); +lean_ctor_set_uint8(x_50, sizeof(void*)*9, x_38); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 1, x_39); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 2, x_40); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 3, x_44); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 4, x_45); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 5, x_46); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 6, x_47); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 7, x_49); +x_51 = l_Lean_Elab_Term_resetMessageLog(x_50, x_5, x_6, x_7, x_8, x_9, x_25); +x_52 = lean_ctor_get(x_51, 1); +lean_inc(x_52); +lean_dec(x_51); +x_53 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabSynth___lambda__2___boxed), 10, 1); +lean_closure_set(x_53, 0, x_2); +x_54 = l_Lean_Elab_Command_elabVariable___lambda__3___closed__1; +x_55 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_3, x_54, x_53, x_50, x_5, x_6, x_7, x_8, x_9, x_52); +return x_55; } } else { -uint8_t x_55; +uint8_t x_56; lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -17980,23 +17998,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_55 = !lean_is_exclusive(x_12); -if (x_55 == 0) +x_56 = !lean_is_exclusive(x_12); +if (x_56 == 0) { return x_12; } else { -lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_56 = lean_ctor_get(x_12, 0); -x_57 = lean_ctor_get(x_12, 1); +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_12, 0); +x_58 = lean_ctor_get(x_12, 1); +lean_inc(x_58); lean_inc(x_57); -lean_inc(x_56); lean_dec(x_12); -x_58 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_58, 0, x_56); -lean_ctor_set(x_58, 1, x_57); -return x_58; +x_59 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_59, 0, x_57); +lean_ctor_set(x_59, 1, x_58); +return x_59; } } } diff --git a/stage0/stdlib/Lean/Elab/BuiltinTerm.c b/stage0/stdlib/Lean/Elab/BuiltinTerm.c index 4b02fcb907..222e0704ce 100644 --- a/stage0/stdlib/Lean/Elab/BuiltinTerm.c +++ b/stage0/stdlib/Lean/Elab/BuiltinTerm.c @@ -2637,7 +2637,7 @@ x_14 = l_Lean_Name_isAnonymous(x_13); if (x_14 == 0) { uint8_t x_15; -x_15 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 6); +x_15 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 6); if (x_15 == 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; lean_object* x_22; @@ -3290,7 +3290,7 @@ return x_167; else { uint8_t x_168; -x_168 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 6); +x_168 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 6); if (x_168 == 0) { uint8_t x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; uint8_t x_175; diff --git a/stage0/stdlib/Lean/Elab/Command.c b/stage0/stdlib/Lean/Elab/Command.c index fc077e167d..83862c2682 100644 --- a/stage0/stdlib/Lean/Elab/Command.c +++ b/stage0/stdlib/Lean/Elab/Command.c @@ -86,6 +86,7 @@ static lean_object* l_Lean_Elab_Command_instInhabitedState___closed__3; static lean_object* l_Lean_Elab_Command_instMonadRecDepthCommandElabM___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Command_liftIO(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_forInAux___at_Lean_Elab_Command_elabCommandTopLevel___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext___elambda__1(lean_object*); static lean_object* l_Lean_Elab_mkDeclName___at_Lean_Elab_Command_expandDeclId___spec__2___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Command_commandElabAttribute; extern lean_object* l_Lean_maxRecDepthErrorMessage; @@ -520,6 +521,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Command_getMainModule___rarg(lean_object*, LEAN_EXPORT lean_object* l_Lean_Elab_Command_instMonadLiftTIOCommandElabM(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_instMonadLogCommandElabM___lambda__1(lean_object*, lean_object*, lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabCommandTopLevel___spec__11___lambda__1___closed__3; +static lean_object* l___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Command_instMonadOptionsCommandElabM___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabCommand___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Command_0__Lean_Elab_Command_mkInfoTree(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -595,6 +597,7 @@ static lean_object* l_Lean_Elab_Command_instInhabitedCommandElabM___closed__2; static lean_object* l_Lean_Elab_Command_State_infoState___default___closed__1; lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabCommandTopLevel___spec__4(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext___elambda__1___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_instInhabitedCommandElabM___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_expandDeclId___at_Lean_Elab_Command_expandDeclId___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at_Lean_Elab_Command_expandDeclId___spec__7___lambda__1___closed__2; @@ -14926,6 +14929,14 @@ x_6 = l_Array_mapMUnsafe_map___at_Lean_Elab_Command_getBracketedBinderIds___spec return x_6; } } +LEAN_EXPORT uint8_t l___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext___elambda__1(lean_object* x_1) { +_start: +{ +uint8_t x_2; +x_2 = 0; +return x_2; +} +} LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { _start: { @@ -15095,6 +15106,14 @@ return x_4; } } } +static lean_object* _init_l___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext___elambda__1___boxed), 1, 0); +return x_1; +} +} LEAN_EXPORT lean_object* l___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { @@ -15118,41 +15137,41 @@ lean_ctor_set(x_15, 1, x_11); x_16 = 0; if (x_14 == 0) { -lean_object* x_32; +lean_object* x_33; lean_dec(x_13); lean_dec(x_12); -x_32 = l_Lean_Elab_Command_Scope_varDecls___default___closed__1; -x_17 = x_32; -goto block_31; +x_33 = l_Lean_Elab_Command_Scope_varDecls___default___closed__1; +x_17 = x_33; +goto block_32; } else { -uint8_t x_33; -x_33 = lean_nat_dec_le(x_13, x_13); -if (x_33 == 0) +uint8_t x_34; +x_34 = lean_nat_dec_le(x_13, x_13); +if (x_34 == 0) { -lean_object* x_34; +lean_object* x_35; lean_dec(x_13); lean_dec(x_12); -x_34 = l_Lean_Elab_Command_Scope_varDecls___default___closed__1; -x_17 = x_34; -goto block_31; +x_35 = l_Lean_Elab_Command_Scope_varDecls___default___closed__1; +x_17 = x_35; +goto block_32; } else { -size_t x_35; lean_object* x_36; lean_object* x_37; -x_35 = lean_usize_of_nat(x_13); +size_t x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_usize_of_nat(x_13); lean_dec(x_13); -x_36 = l_Lean_Elab_Command_Scope_varDecls___default___closed__1; -x_37 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext___spec__2(x_12, x_16, x_35, x_36); +x_37 = l_Lean_Elab_Command_Scope_varDecls___default___closed__1; +x_38 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext___spec__2(x_12, x_16, x_36, x_37); lean_dec(x_12); -x_17 = x_37; -goto block_31; +x_17 = x_38; +goto block_32; } } -block_31: +block_32: { -lean_object* x_18; size_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; uint8_t x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; +lean_object* x_18; size_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; uint8_t x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; x_18 = lean_array_get_size(x_17); x_19 = lean_usize_of_nat(x_18); lean_dec(x_18); @@ -15170,31 +15189,43 @@ lean_dec(x_6); x_27 = 1; x_28 = 0; x_29 = l_Lean_Elab_Command_State_messages___default___closed__3; +x_30 = l___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext___closed__1; lean_inc(x_25); lean_inc(x_24); lean_inc(x_23); lean_inc(x_22); -x_30 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_30, 0, x_22); -lean_ctor_set(x_30, 1, x_23); -lean_ctor_set(x_30, 2, x_3); -lean_ctor_set(x_30, 3, x_24); -lean_ctor_set(x_30, 4, x_29); -lean_ctor_set(x_30, 5, x_21); -lean_ctor_set(x_30, 6, x_7); -lean_ctor_set(x_30, 7, x_25); -lean_ctor_set_uint8(x_30, sizeof(void*)*8, x_27); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 1, x_27); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 2, x_28); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 3, x_27); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 4, x_26); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 5, x_28); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 6, x_28); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 7, x_27); -return x_30; +x_31 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_31, 0, x_22); +lean_ctor_set(x_31, 1, x_23); +lean_ctor_set(x_31, 2, x_3); +lean_ctor_set(x_31, 3, x_24); +lean_ctor_set(x_31, 4, x_29); +lean_ctor_set(x_31, 5, x_30); +lean_ctor_set(x_31, 6, x_21); +lean_ctor_set(x_31, 7, x_7); +lean_ctor_set(x_31, 8, x_25); +lean_ctor_set_uint8(x_31, sizeof(void*)*9, x_27); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 1, x_27); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 2, x_28); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 3, x_27); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 4, x_26); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 5, x_28); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 6, x_28); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 7, x_27); +return x_31; } } } +LEAN_EXPORT lean_object* l___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext___elambda__1___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; lean_object* x_3; +x_2 = l___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext___elambda__1(x_1); +lean_dec(x_1); +x_3 = lean_box(x_2); +return x_3; +} +} LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { @@ -17624,9 +17655,9 @@ x_27 = !lean_is_exclusive(x_4); 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; -x_28 = lean_ctor_get(x_4, 6); +x_28 = lean_ctor_get(x_4, 7); lean_dec(x_28); -lean_ctor_set(x_4, 6, x_26); +lean_ctor_set(x_4, 7, x_26); x_29 = l_Lean_Elab_Term_resetMessageLog(x_4, x_5, x_6, x_7, x_8, x_9, x_25); x_30 = lean_ctor_get(x_29, 1); lean_inc(x_30); @@ -17639,23 +17670,25 @@ return x_33; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; uint8_t x_39; uint8_t x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43; uint8_t x_44; uint8_t x_45; uint8_t x_46; lean_object* x_47; 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_54; +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; uint8_t x_39; uint8_t x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; uint8_t x_45; uint8_t x_46; uint8_t x_47; lean_object* x_48; uint8_t 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; x_34 = lean_ctor_get(x_4, 0); x_35 = lean_ctor_get(x_4, 1); x_36 = lean_ctor_get(x_4, 2); x_37 = lean_ctor_get(x_4, 3); -x_38 = lean_ctor_get_uint8(x_4, sizeof(void*)*8); -x_39 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 1); -x_40 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 2); +x_38 = lean_ctor_get_uint8(x_4, sizeof(void*)*9); +x_39 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 1); +x_40 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 2); x_41 = lean_ctor_get(x_4, 4); x_42 = lean_ctor_get(x_4, 5); -x_43 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 3); -x_44 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 4); -x_45 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 5); -x_46 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 6); -x_47 = lean_ctor_get(x_4, 7); -x_48 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 7); -lean_inc(x_47); +x_43 = lean_ctor_get(x_4, 6); +x_44 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 3); +x_45 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 4); +x_46 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 5); +x_47 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 6); +x_48 = lean_ctor_get(x_4, 8); +x_49 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 7); +lean_inc(x_48); +lean_inc(x_43); lean_inc(x_42); lean_inc(x_41); lean_inc(x_37); @@ -17663,37 +17696,38 @@ lean_inc(x_36); lean_inc(x_35); lean_inc(x_34); lean_dec(x_4); -x_49 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_49, 0, x_34); -lean_ctor_set(x_49, 1, x_35); -lean_ctor_set(x_49, 2, x_36); -lean_ctor_set(x_49, 3, x_37); -lean_ctor_set(x_49, 4, x_41); -lean_ctor_set(x_49, 5, x_42); -lean_ctor_set(x_49, 6, x_26); -lean_ctor_set(x_49, 7, x_47); -lean_ctor_set_uint8(x_49, sizeof(void*)*8, x_38); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 1, x_39); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 2, x_40); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 3, x_43); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 4, x_44); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 5, x_45); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 6, x_46); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 7, x_48); -x_50 = l_Lean_Elab_Term_resetMessageLog(x_49, x_5, x_6, x_7, x_8, x_9, x_25); -x_51 = lean_ctor_get(x_50, 1); -lean_inc(x_51); -lean_dec(x_50); -x_52 = lean_alloc_closure((void*)(l_Lean_Elab_Command_runTermElabM___rarg___lambda__1___boxed), 10, 1); -lean_closure_set(x_52, 0, x_2); -x_53 = l_Lean_Elab_Command_runTermElabM___rarg___lambda__2___closed__1; -x_54 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_3, x_53, x_52, x_49, x_5, x_6, x_7, x_8, x_9, x_51); -return x_54; +x_50 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_50, 0, x_34); +lean_ctor_set(x_50, 1, x_35); +lean_ctor_set(x_50, 2, x_36); +lean_ctor_set(x_50, 3, x_37); +lean_ctor_set(x_50, 4, x_41); +lean_ctor_set(x_50, 5, x_42); +lean_ctor_set(x_50, 6, x_43); +lean_ctor_set(x_50, 7, x_26); +lean_ctor_set(x_50, 8, x_48); +lean_ctor_set_uint8(x_50, sizeof(void*)*9, x_38); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 1, x_39); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 2, x_40); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 3, x_44); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 4, x_45); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 5, x_46); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 6, x_47); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 7, x_49); +x_51 = l_Lean_Elab_Term_resetMessageLog(x_50, x_5, x_6, x_7, x_8, x_9, x_25); +x_52 = lean_ctor_get(x_51, 1); +lean_inc(x_52); +lean_dec(x_51); +x_53 = lean_alloc_closure((void*)(l_Lean_Elab_Command_runTermElabM___rarg___lambda__1___boxed), 10, 1); +lean_closure_set(x_53, 0, x_2); +x_54 = l_Lean_Elab_Command_runTermElabM___rarg___lambda__2___closed__1; +x_55 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_3, x_54, x_53, x_50, x_5, x_6, x_7, x_8, x_9, x_52); +return x_55; } } else { -uint8_t x_55; +uint8_t x_56; lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -17702,23 +17736,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_55 = !lean_is_exclusive(x_12); -if (x_55 == 0) +x_56 = !lean_is_exclusive(x_12); +if (x_56 == 0) { return x_12; } else { -lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_56 = lean_ctor_get(x_12, 0); -x_57 = lean_ctor_get(x_12, 1); +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_12, 0); +x_58 = lean_ctor_get(x_12, 1); +lean_inc(x_58); lean_inc(x_57); -lean_inc(x_56); lean_dec(x_12); -x_58 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_58, 0, x_56); -lean_ctor_set(x_58, 1, x_57); -return x_58; +x_59 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_59, 0, x_57); +lean_ctor_set(x_59, 1, x_58); +return x_59; } } } @@ -22314,6 +22348,8 @@ l_Lean_Elab_Command_getBracketedBinderIds___closed__9 = _init_l_Lean_Elab_Comman lean_mark_persistent(l_Lean_Elab_Command_getBracketedBinderIds___closed__9); l_Lean_Elab_Command_getBracketedBinderIds___closed__10 = _init_l_Lean_Elab_Command_getBracketedBinderIds___closed__10(); lean_mark_persistent(l_Lean_Elab_Command_getBracketedBinderIds___closed__10); +l___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext___closed__1 = _init_l___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext___closed__1(); +lean_mark_persistent(l___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext___closed__1); l_Lean_Elab_Command_liftTermElabM___rarg___closed__1 = _init_l_Lean_Elab_Command_liftTermElabM___rarg___closed__1(); lean_mark_persistent(l_Lean_Elab_Command_liftTermElabM___rarg___closed__1); l_Lean_Elab_Command_liftTermElabM___rarg___closed__2 = _init_l_Lean_Elab_Command_liftTermElabM___rarg___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/Declaration.c b/stage0/stdlib/Lean/Elab/Declaration.c index 64eedd4d3e..ec212da326 100644 --- a/stage0/stdlib/Lean/Elab/Declaration.c +++ b/stage0/stdlib/Lean/Elab/Declaration.c @@ -4244,9 +4244,9 @@ x_34 = !lean_is_exclusive(x_11); if (x_34 == 0) { lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_35 = lean_ctor_get(x_11, 6); +x_35 = lean_ctor_get(x_11, 7); lean_dec(x_35); -lean_ctor_set(x_11, 6, x_33); +lean_ctor_set(x_11, 7, x_33); x_36 = l_Lean_Elab_Term_resetMessageLog(x_11, x_12, x_13, x_14, x_15, x_16, x_32); x_37 = lean_ctor_get(x_36, 1); lean_inc(x_37); @@ -4266,23 +4266,25 @@ return x_40; } else { -lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; uint8_t x_46; uint8_t x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50; uint8_t 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_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; uint8_t x_46; uint8_t x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51; uint8_t x_52; uint8_t x_53; uint8_t x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; x_41 = lean_ctor_get(x_11, 0); x_42 = lean_ctor_get(x_11, 1); x_43 = lean_ctor_get(x_11, 2); x_44 = lean_ctor_get(x_11, 3); -x_45 = lean_ctor_get_uint8(x_11, sizeof(void*)*8); -x_46 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 1); -x_47 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 2); +x_45 = lean_ctor_get_uint8(x_11, sizeof(void*)*9); +x_46 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 1); +x_47 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 2); x_48 = lean_ctor_get(x_11, 4); x_49 = lean_ctor_get(x_11, 5); -x_50 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 3); -x_51 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 4); -x_52 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 5); -x_53 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 6); -x_54 = lean_ctor_get(x_11, 7); -x_55 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 7); -lean_inc(x_54); +x_50 = lean_ctor_get(x_11, 6); +x_51 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 3); +x_52 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 4); +x_53 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 5); +x_54 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 6); +x_55 = lean_ctor_get(x_11, 8); +x_56 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 7); +lean_inc(x_55); +lean_inc(x_50); lean_inc(x_49); lean_inc(x_48); lean_inc(x_44); @@ -4290,44 +4292,45 @@ lean_inc(x_43); lean_inc(x_42); lean_inc(x_41); lean_dec(x_11); -x_56 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_56, 0, x_41); -lean_ctor_set(x_56, 1, x_42); -lean_ctor_set(x_56, 2, x_43); -lean_ctor_set(x_56, 3, x_44); -lean_ctor_set(x_56, 4, x_48); -lean_ctor_set(x_56, 5, x_49); -lean_ctor_set(x_56, 6, x_33); -lean_ctor_set(x_56, 7, x_54); -lean_ctor_set_uint8(x_56, sizeof(void*)*8, x_45); -lean_ctor_set_uint8(x_56, sizeof(void*)*8 + 1, x_46); -lean_ctor_set_uint8(x_56, sizeof(void*)*8 + 2, x_47); -lean_ctor_set_uint8(x_56, sizeof(void*)*8 + 3, x_50); -lean_ctor_set_uint8(x_56, sizeof(void*)*8 + 4, x_51); -lean_ctor_set_uint8(x_56, sizeof(void*)*8 + 5, x_52); -lean_ctor_set_uint8(x_56, sizeof(void*)*8 + 6, x_53); -lean_ctor_set_uint8(x_56, sizeof(void*)*8 + 7, x_55); -x_57 = l_Lean_Elab_Term_resetMessageLog(x_56, x_12, x_13, x_14, x_15, x_16, x_32); -x_58 = lean_ctor_get(x_57, 1); -lean_inc(x_58); -lean_dec(x_57); -x_59 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabAxiom___lambda__5___boxed), 17, 8); -lean_closure_set(x_59, 0, x_2); -lean_closure_set(x_59, 1, x_3); -lean_closure_set(x_59, 2, x_4); -lean_closure_set(x_59, 3, x_5); -lean_closure_set(x_59, 4, x_6); -lean_closure_set(x_59, 5, x_7); -lean_closure_set(x_59, 6, x_8); -lean_closure_set(x_59, 7, x_9); -x_60 = l_Lean_Elab_Command_elabAxiom___lambda__6___closed__1; -x_61 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_10, x_60, x_59, x_56, x_12, x_13, x_14, x_15, x_16, x_58); -return x_61; +x_57 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_57, 0, x_41); +lean_ctor_set(x_57, 1, x_42); +lean_ctor_set(x_57, 2, x_43); +lean_ctor_set(x_57, 3, x_44); +lean_ctor_set(x_57, 4, x_48); +lean_ctor_set(x_57, 5, x_49); +lean_ctor_set(x_57, 6, x_50); +lean_ctor_set(x_57, 7, x_33); +lean_ctor_set(x_57, 8, x_55); +lean_ctor_set_uint8(x_57, sizeof(void*)*9, x_45); +lean_ctor_set_uint8(x_57, sizeof(void*)*9 + 1, x_46); +lean_ctor_set_uint8(x_57, sizeof(void*)*9 + 2, x_47); +lean_ctor_set_uint8(x_57, sizeof(void*)*9 + 3, x_51); +lean_ctor_set_uint8(x_57, sizeof(void*)*9 + 4, x_52); +lean_ctor_set_uint8(x_57, sizeof(void*)*9 + 5, x_53); +lean_ctor_set_uint8(x_57, sizeof(void*)*9 + 6, x_54); +lean_ctor_set_uint8(x_57, sizeof(void*)*9 + 7, x_56); +x_58 = l_Lean_Elab_Term_resetMessageLog(x_57, x_12, x_13, x_14, x_15, x_16, x_32); +x_59 = lean_ctor_get(x_58, 1); +lean_inc(x_59); +lean_dec(x_58); +x_60 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabAxiom___lambda__5___boxed), 17, 8); +lean_closure_set(x_60, 0, x_2); +lean_closure_set(x_60, 1, x_3); +lean_closure_set(x_60, 2, x_4); +lean_closure_set(x_60, 3, x_5); +lean_closure_set(x_60, 4, x_6); +lean_closure_set(x_60, 5, x_7); +lean_closure_set(x_60, 6, x_8); +lean_closure_set(x_60, 7, x_9); +x_61 = l_Lean_Elab_Command_elabAxiom___lambda__6___closed__1; +x_62 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_10, x_61, x_60, x_57, x_12, x_13, x_14, x_15, x_16, x_59); +return x_62; } } else { -uint8_t x_62; +uint8_t x_63; lean_dec(x_16); lean_dec(x_15); lean_dec(x_14); @@ -4343,23 +4346,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_62 = !lean_is_exclusive(x_19); -if (x_62 == 0) +x_63 = !lean_is_exclusive(x_19); +if (x_63 == 0) { return x_19; } else { -lean_object* x_63; lean_object* x_64; lean_object* x_65; -x_63 = lean_ctor_get(x_19, 0); -x_64 = lean_ctor_get(x_19, 1); +lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_64 = lean_ctor_get(x_19, 0); +x_65 = lean_ctor_get(x_19, 1); +lean_inc(x_65); lean_inc(x_64); -lean_inc(x_63); lean_dec(x_19); -x_65 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_65, 0, x_63); -lean_ctor_set(x_65, 1, x_64); -return x_65; +x_66 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_66, 0, x_64); +lean_ctor_set(x_66, 1, x_65); +return x_66; } } } diff --git a/stage0/stdlib/Lean/Elab/DefView.c b/stage0/stdlib/Lean/Elab/DefView.c index a56ba1b65c..568a6e4050 100644 --- a/stage0/stdlib/Lean/Elab/DefView.c +++ b/stage0/stdlib/Lean/Elab/DefView.c @@ -2067,9 +2067,9 @@ x_28 = !lean_is_exclusive(x_5); if (x_28 == 0) { lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_29 = lean_ctor_get(x_5, 6); +x_29 = lean_ctor_get(x_5, 7); lean_dec(x_29); -lean_ctor_set(x_5, 6, x_27); +lean_ctor_set(x_5, 7, x_27); x_30 = l_Lean_Elab_Term_resetMessageLog(x_5, x_6, x_7, x_8, x_9, x_10, x_26); x_31 = lean_ctor_get(x_30, 1); lean_inc(x_31); @@ -2083,23 +2083,25 @@ return x_34; } else { -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; uint8_t x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; uint8_t x_45; uint8_t x_46; uint8_t x_47; lean_object* x_48; uint8_t 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_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; uint8_t x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; uint8_t x_46; 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_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; x_35 = lean_ctor_get(x_5, 0); x_36 = lean_ctor_get(x_5, 1); x_37 = lean_ctor_get(x_5, 2); x_38 = lean_ctor_get(x_5, 3); -x_39 = lean_ctor_get_uint8(x_5, sizeof(void*)*8); -x_40 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 1); -x_41 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 2); +x_39 = lean_ctor_get_uint8(x_5, sizeof(void*)*9); +x_40 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 1); +x_41 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 2); x_42 = lean_ctor_get(x_5, 4); x_43 = lean_ctor_get(x_5, 5); -x_44 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 3); -x_45 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 4); -x_46 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 5); -x_47 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 6); -x_48 = lean_ctor_get(x_5, 7); -x_49 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 7); -lean_inc(x_48); +x_44 = lean_ctor_get(x_5, 6); +x_45 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 3); +x_46 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 4); +x_47 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 5); +x_48 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 6); +x_49 = lean_ctor_get(x_5, 8); +x_50 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 7); +lean_inc(x_49); +lean_inc(x_44); lean_inc(x_43); lean_inc(x_42); lean_inc(x_38); @@ -2107,38 +2109,39 @@ lean_inc(x_37); lean_inc(x_36); lean_inc(x_35); lean_dec(x_5); -x_50 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_50, 0, x_35); -lean_ctor_set(x_50, 1, x_36); -lean_ctor_set(x_50, 2, x_37); -lean_ctor_set(x_50, 3, x_38); -lean_ctor_set(x_50, 4, x_42); -lean_ctor_set(x_50, 5, x_43); -lean_ctor_set(x_50, 6, x_27); -lean_ctor_set(x_50, 7, x_48); -lean_ctor_set_uint8(x_50, sizeof(void*)*8, x_39); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 1, x_40); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 2, x_41); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 3, x_44); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 4, x_45); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 5, x_46); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 6, x_47); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 7, x_49); -x_51 = l_Lean_Elab_Term_resetMessageLog(x_50, x_6, x_7, x_8, x_9, x_10, x_26); -x_52 = lean_ctor_get(x_51, 1); -lean_inc(x_52); -lean_dec(x_51); -x_53 = lean_alloc_closure((void*)(l_Lean_Elab_Command_mkInstanceName___lambda__4___boxed), 11, 2); -lean_closure_set(x_53, 0, x_2); -lean_closure_set(x_53, 1, x_3); -x_54 = l_Lean_Elab_Command_mkInstanceName___lambda__5___closed__1; -x_55 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_4, x_54, x_53, x_50, x_6, x_7, x_8, x_9, x_10, x_52); -return x_55; +x_51 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_51, 0, x_35); +lean_ctor_set(x_51, 1, x_36); +lean_ctor_set(x_51, 2, x_37); +lean_ctor_set(x_51, 3, x_38); +lean_ctor_set(x_51, 4, x_42); +lean_ctor_set(x_51, 5, x_43); +lean_ctor_set(x_51, 6, x_44); +lean_ctor_set(x_51, 7, x_27); +lean_ctor_set(x_51, 8, x_49); +lean_ctor_set_uint8(x_51, sizeof(void*)*9, x_39); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 1, x_40); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 2, x_41); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 3, x_45); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 4, x_46); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 5, x_47); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 6, x_48); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 7, x_50); +x_52 = l_Lean_Elab_Term_resetMessageLog(x_51, x_6, x_7, x_8, x_9, x_10, x_26); +x_53 = lean_ctor_get(x_52, 1); +lean_inc(x_53); +lean_dec(x_52); +x_54 = lean_alloc_closure((void*)(l_Lean_Elab_Command_mkInstanceName___lambda__4___boxed), 11, 2); +lean_closure_set(x_54, 0, x_2); +lean_closure_set(x_54, 1, x_3); +x_55 = l_Lean_Elab_Command_mkInstanceName___lambda__5___closed__1; +x_56 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_4, x_55, x_54, x_51, x_6, x_7, x_8, x_9, x_10, x_53); +return x_56; } } else { -uint8_t x_56; +uint8_t x_57; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -2148,23 +2151,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_56 = !lean_is_exclusive(x_13); -if (x_56 == 0) +x_57 = !lean_is_exclusive(x_13); +if (x_57 == 0) { return x_13; } else { -lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_57 = lean_ctor_get(x_13, 0); -x_58 = lean_ctor_get(x_13, 1); +lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_58 = lean_ctor_get(x_13, 0); +x_59 = lean_ctor_get(x_13, 1); +lean_inc(x_59); lean_inc(x_58); -lean_inc(x_57); lean_dec(x_13); -x_59 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_59, 0, x_57); -lean_ctor_set(x_59, 1, x_58); -return x_59; +x_60 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_60, 0, x_58); +lean_ctor_set(x_60, 1, x_59); +return x_60; } } } diff --git a/stage0/stdlib/Lean/Elab/Inductive.c b/stage0/stdlib/Lean/Elab/Inductive.c index 9138051d61..bfade1122a 100644 --- a/stage0/stdlib/Lean/Elab/Inductive.c +++ b/stage0/stdlib/Lean/Elab/Inductive.c @@ -14,21 +14,21 @@ extern "C" { #endif lean_object* l_List_reverse___rarg(lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType___lambda__1___closed__4; -static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__4; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_shouldInferResultUniverse___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); lean_object* lean_mk_brec_on(lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__5; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_computeFixedIndexBitMask_go___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___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___closed__7; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___spec__14(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_add(size_t, size_t); uint8_t l_Lean_Level_isNeverZero(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__7(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkTypeFor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_mvarId_x21(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withUsed___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -40,13 +40,14 @@ LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Inducti lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_FunBinders_elabFunBinderViews___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); static lean_object* l_Lean_Elab_Command_checkValidCtorModifier___rarg___closed__1; +static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_resetMaskAt___boxed(lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkResultingUniverse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkSort(lean_object*); static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5____closed__4; -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_RBNode_insert___at_Lean_NameSet_insert___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkForallFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_userName(lean_object*); @@ -70,7 +71,6 @@ LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Inducti static lean_object* l_Lean_mkRecOn___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__1___closed__7; lean_object* l_Lean_Expr_bindingDomain_x21(lean_object*); lean_object* l_Array_append___rarg(lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__5; LEAN_EXPORT lean_object* l_List_forIn_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectLevelParamsInInductive___spec__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_mkResultUniverse(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -105,7 +105,6 @@ static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getArit LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkUnsafe(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceArrowBinderNames_go___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidCtorModifier___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withInductiveLocalDecls___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -145,14 +144,15 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Induc static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType___lambda__1___closed__1; lean_object* lean_expr_instantiate1(lean_object*, lean_object*); lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__1___boxed(lean_object*, lean_object*); +lean_object* l_Lean_Elab_Term_withAutoBoundImplicitForbiddenPred___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* l_Lean_Meta_collectUsedFVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_instInhabitedCtorView___closed__3; lean_object* lean_array_get_size(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_throwUnexpectedInductiveType___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Array_contains___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__9___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUsed___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_accLevelAtCtor___closed__1; @@ -191,10 +191,8 @@ static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_throwUn static lean_object* l_Lean_Elab_Command_instInhabitedElabHeaderResult___closed__10; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_synthesizeSyntheticMVars(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__2; lean_object* l_Lean_Elab_Term_withLevelNames___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_computeFixedIndexBitMask_go___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__4; LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__5___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__6___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__7(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5____closed__1; lean_object* l_Lean_Level_mvarId_x21(lean_object*); @@ -204,7 +202,6 @@ static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkRe LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__5___lambda__1(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses_check___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_computeFixedIndexBitMask_go___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_join___rarg(lean_object*); @@ -221,7 +218,7 @@ lean_object* lean_nat_add(lean_object*, lean_object*); static lean_object* l_Lean_mkRecOn___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__1___closed__3; static lean_object* l_Lean_Elab_Command_checkResultingUniverse___closed__1; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___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_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___spec__14___boxed(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___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses_check___closed__2; static lean_object* l_Lean_Elab_Command_checkResultingUniverse___closed__3; @@ -249,7 +246,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Inducti LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses_check___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___lambda__1___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_eqvFirstTypeResult___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__6; static lean_object* l_List_mapTRAux___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__5___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__6___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__7___closed__6; lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -315,6 +311,7 @@ lean_object* l_Lean_mkLevelMax(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_isInductiveFamily(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses_check___closed__7; LEAN_EXPORT lean_object* l_Lean_ForEachExpr_visit___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_computeFixedIndexBitMask_go___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___spec__1(lean_object*, lean_object*, size_t, size_t); lean_object* l_Lean_Expr_fvarId_x21(lean_object*); LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__4___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_reorderCtorArgs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -324,12 +321,12 @@ LEAN_EXPORT lean_object* l_Array_erase___at___private_Lean_Elab_Inductive_0__Lea lean_object* l_Std_mkHashMapImp___rarg(lean_object*); lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Meta_setMVarUserNamesAt___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__1; static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses_check___closed__5; static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectLevelParamsInInductive___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withUsed(lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses_check___closed__8; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___lambda__2___closed__2; @@ -349,6 +346,7 @@ lean_object* lean_st_mk_ref(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withInductiveLocalDecls_loop___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_mapTRAux___at_Lean_Meta_Match_mkMatcher___spec__6(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType___lambda__1___closed__2; +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_computeFixedIndexBitMask_go___spec__2(lean_object*, lean_object*, size_t, size_t); lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_instAddErrorMessageContextTermElabM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_reorderCtorArgs___spec__3___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -360,7 +358,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Command_instInhabitedCtorView; static lean_object* l_Lean_Elab_Command_shouldInferResultUniverse___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___lambda__2(lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkRecOn___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_reorderCtorArgs___spec__3___lambda__4___closed__1; @@ -378,7 +375,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Inducti LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_to_list(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_reorderCtorArgs___spec__3___lambda__2___boxed(lean_object*); -static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__2; uint8_t l_Lean_Environment_contains(lean_object*, lean_object*); lean_object* l_Lean_Meta_InfoCacheKey_instHashableInfoCacheKey___boxed(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkHeaders___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -425,7 +421,6 @@ static lean_object* l_Lean_mkRecOn___at___private_Lean_Elab_Inductive_0__Lean_El static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___spec__1___closed__4; lean_object* l_Lean_Elab_sortDeclLevelParams(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___closed__2; -static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3___closed__1; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyDerivingHandlers___spec__3(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__3___lambda__1___boxed(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__11(lean_object*, size_t, size_t); @@ -433,11 +428,11 @@ lean_object* l_Lean_throwKernelException___at_Lean_Elab_Term_evalExpr___spec__3( LEAN_EXPORT uint8_t l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_reorderCtorArgs___spec__3___lambda__2(lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___lambda__3___closed__2; uint8_t l_Lean_Expr_isForall(lean_object*); -static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeader___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isTypeFormerType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__11___boxed(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__2; uint8_t l_Lean_Expr_Data_binderInfo(uint64_t); size_t lean_usize_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabInductiveViews___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -476,7 +471,7 @@ static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResu static lean_object* l_Lean_Elab_Command_instInhabitedElabHeaderResult___closed__6; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__3(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_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectLevelParamsInInductive(lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__2(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___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___closed__8; lean_object* l_Lean_Elab_Term_levelMVarToParam_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_resetMessageLog(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -496,7 +491,8 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_is static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___lambda__3___closed__1; lean_object* lean_mk_below(lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkUnsafe___spec__1___closed__2; -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6(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___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__2; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_accLevelAtCtor___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_go___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withExplicitToImplicit___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -507,8 +503,10 @@ static lean_object* l_Lean_mkRecOn___at___private_Lean_Elab_Inductive_0__Lean_El lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_indexOfAux___at___private_Lean_Elab_PreDefinition_Structural_FindRecArg_0__Lean_Elab_Structural_getIndexMinPos___spec__1(lean_object*, lean_object*, lean_object*); static lean_object* l_List_mapTRAux___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__5___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__6___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__7___closed__3; +static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__5; extern uint8_t l_instInhabitedBool; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__8___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__3; LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniverses_go___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___closed__2; LEAN_EXPORT uint8_t l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParam_x27___lambda__1(lean_object*, lean_object*); @@ -544,23 +542,27 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mk LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeader___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeCompatible___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType___spec__2___lambda__1(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___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__4; lean_object* l_Lean_Syntax_getArgs(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeader(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_instInhabitedElabHeaderResult___closed__9; uint8_t l_Lean_BinderInfo_isExplicit(uint8_t); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_eqvFirstTypeResult___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278_(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5_(lean_object*); LEAN_EXPORT lean_object* l_Lean_mkIBelow___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_resetMaskAt(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_instantiateForallAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__5___closed__2; LEAN_EXPORT lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_computeFixedIndexBitMask_go___spec__5___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_computeFixedIndexBitMask(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_instInhabitedElabHeaderResult___closed__4; static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___lambda__2___closed__6; lean_object* l_Lean_Level_mkNaryMax(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__5___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkUnsafe___spec__1___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -569,8 +571,8 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Induc lean_object* l_Lean_Level_normalize(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses_check___lambda__1___closed__5; +static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__4; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__5___lambda__1___closed__1; -static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__5___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__1(lean_object*, lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabInductiveViews___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -582,6 +584,7 @@ static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIn static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__5___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_removeUnused(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Level_isMVar(lean_object*); +static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniverses(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkNumParams___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(lean_object*, lean_object*); @@ -625,11 +628,13 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_is lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withExplicitToImplicit___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__8(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabInductiveViews___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniverses_go___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceArrowBinderNames_go(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabInductiveViews___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkUnsafe___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyDerivingHandlers___spec__1(lean_object*, lean_object*, size_t, size_t); @@ -669,8 +674,8 @@ LEAN_EXPORT lean_object* l_Lean_mkCasesOn___at___private_Lean_Elab_Inductive_0__ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_withCtorRef___spec__1(lean_object*); uint8_t l_Lean_Level_occurs(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkBRecOn___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__5; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_ReaderT_pure___at_Lean_Elab_Term_addTermInfo___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_NameSet_contains(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_addAutoBoundImplicits(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -688,7 +693,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_el LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getArity(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeader___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___lambda__5(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_List_mapTRAux___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__5___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__6___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__7___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___rarg(lean_object*, lean_object*, lean_object*); @@ -703,6 +707,7 @@ lean_object* l_Lean_Elab_Command_getScope___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_go___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__6(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -724,7 +729,6 @@ LEAN_EXPORT uint8_t l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__5___lambda__2(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_mkRecOn___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__1___closed__10; lean_object* l_Lean_Elab_Term_withAutoBoundImplicit___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__3; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___lambda__4___closed__1; @@ -734,6 +738,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_ch LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidInductiveModifier(lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___lambda__4___closed__4; lean_object* l_Lean_mkConst(lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_instInhabitedCtorView___closed__1; size_t lean_usize_of_nat(lean_object*); @@ -745,9 +750,9 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_wi LEAN_EXPORT lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniverses_go___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_appendTR___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParam_x27___lambda__1___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__4___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__4___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUsed___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1404,7 +1409,81 @@ x_1 = l_Lean_Elab_Command_instInhabitedElabHeaderResult___closed__10; return x_1; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___spec__1(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { +_start: +{ +uint8_t x_5; +x_5 = lean_usize_dec_eq(x_3, x_4); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_6 = lean_array_uget(x_2, x_3); +x_7 = lean_ctor_get(x_6, 3); +lean_inc(x_7); +lean_dec(x_6); +x_8 = lean_name_eq(x_7, x_1); +lean_dec(x_7); +if (x_8 == 0) +{ +size_t x_9; size_t x_10; +x_9 = 1; +x_10 = lean_usize_add(x_3, x_9); +x_3 = x_10; +goto _start; +} +else +{ +uint8_t x_12; +x_12 = 1; +return x_12; +} +} +else +{ +uint8_t x_13; +x_13 = 0; +return x_13; +} +} +} +LEAN_EXPORT uint8_t l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; uint8_t x_5; +x_3 = lean_array_get_size(x_1); +x_4 = lean_unsigned_to_nat(0u); +x_5 = lean_nat_dec_lt(x_4, x_3); +if (x_5 == 0) +{ +uint8_t x_6; +lean_dec(x_3); +x_6 = 0; +return x_6; +} +else +{ +uint8_t x_7; +x_7 = lean_nat_dec_le(x_3, x_3); +if (x_7 == 0) +{ +uint8_t x_8; +lean_dec(x_3); +x_8 = 0; +return x_8; +} +else +{ +size_t x_9; size_t x_10; uint8_t x_11; +x_9 = 0; +x_10 = lean_usize_of_nat(x_3); +lean_dec(x_3); +x_11 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___spec__1(x_2, x_1, x_9, x_10); +return x_11; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* x_13; uint8_t x_14; @@ -1449,7 +1528,7 @@ return x_22; } } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { uint8_t x_10; lean_object* x_11; @@ -1608,7 +1687,7 @@ return x_40; } } } -static lean_object* _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3___closed__1() { +static lean_object* _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4___closed__1() { _start: { lean_object* x_1; @@ -1616,16 +1695,16 @@ x_1 = lean_mk_string("invalid inductive type, resultant type is not a sort"); return x_1; } } -static lean_object* _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3___closed__2() { +static lean_object* _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3___closed__1; +x_1 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; @@ -1665,7 +1744,7 @@ lean_dec(x_10); x_15 = lean_ctor_get(x_12, 1); lean_inc(x_15); lean_dec(x_12); -x_16 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3___closed__2; +x_16 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4___closed__2; x_17 = l_Lean_throwErrorAt___at_Lean_Elab_Term_Quotation_getAntiquotationIds___spec__1(x_1, x_16, x_2, x_3, x_4, x_5, x_6, x_7, x_15); lean_dec(x_7); lean_dec(x_5); @@ -1699,7 +1778,7 @@ x_22 = lean_ctor_get(x_12, 1); lean_inc(x_22); lean_dec(x_12); x_23 = lean_box(0); -x_24 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__2(x_10, x_23, x_2, x_3, x_4, x_5, x_6, x_7, x_22); +x_24 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3(x_10, x_23, x_2, x_3, x_4, x_5, x_6, x_7, x_22); return x_24; } } @@ -1765,7 +1844,7 @@ return x_32; } } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { lean_object* x_13; lean_object* x_14; uint8_t x_15; @@ -1810,7 +1889,7 @@ return x_23; } } } -static lean_object* _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__1() { +static lean_object* _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__1() { _start: { lean_object* x_1; @@ -1818,16 +1897,16 @@ x_1 = lean_mk_string("header params: "); return x_1; } } -static lean_object* _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__2() { +static lean_object* _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__1; +x_1 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__3() { +static lean_object* _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__3() { _start: { lean_object* x_1; @@ -1835,16 +1914,16 @@ x_1 = lean_mk_string(", type: "); return x_1; } } -static lean_object* _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__4() { +static lean_object* _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__3; +x_1 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__3; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__5() { +static lean_object* _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__5() { _start: { lean_object* x_1; @@ -1852,16 +1931,16 @@ x_1 = lean_mk_string(""); return x_1; } } -static lean_object* _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6() { +static lean_object* _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__5; +x_1 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__5; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; @@ -1909,7 +1988,7 @@ if (x_13 == 0) { lean_object* x_15; lean_object* x_16; x_15 = lean_box(0); -x_16 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4(x_1, x_3, x_4, x_2, x_15, x_5, x_6, x_7, x_8, x_9, x_10, x_14); +x_16 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5(x_1, x_3, x_4, x_2, x_15, x_5, x_6, x_7, x_8, x_9, x_10, x_14); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -1927,11 +2006,11 @@ x_18 = lean_box(0); x_19 = l_List_mapTRAux___at_Lean_MessageData_instCoeListExprMessageData___spec__1(x_17, x_18); x_20 = l_Lean_MessageData_ofList(x_19); lean_dec(x_19); -x_21 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__2; +x_21 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__2; x_22 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_22, 0, x_21); lean_ctor_set(x_22, 1, x_20); -x_23 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__4; +x_23 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__4; x_24 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_24, 0, x_22); lean_ctor_set(x_24, 1, x_23); @@ -1941,7 +2020,7 @@ lean_ctor_set(x_25, 0, x_4); x_26 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_26, 0, x_24); lean_ctor_set(x_26, 1, x_25); -x_27 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_27 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_28 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_28, 0, x_26); lean_ctor_set(x_28, 1, x_27); @@ -1951,7 +2030,7 @@ lean_inc(x_30); x_31 = lean_ctor_get(x_29, 1); lean_inc(x_31); lean_dec(x_29); -x_32 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4(x_1, x_3, x_4, x_2, x_30, x_5, x_6, x_7, x_8, x_9, x_10, x_31); +x_32 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5(x_1, x_3, x_4, x_2, x_30, x_5, x_6, x_7, x_8, x_9, x_10, x_31); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -1964,7 +2043,7 @@ return x_32; } } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; @@ -1994,7 +2073,7 @@ lean_object* x_18; lean_object* x_19; lean_object* x_20; x_18 = lean_ctor_get(x_17, 1); lean_inc(x_18); lean_dec(x_17); -x_19 = lean_alloc_closure((void*)(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__1___boxed), 11, 2); +x_19 = lean_alloc_closure((void*)(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__2___boxed), 11, 2); lean_closure_set(x_19, 0, x_1); lean_closure_set(x_19, 1, x_2); x_20 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_3, x_15, x_19, x_4, x_5, x_6, x_7, x_8, x_9, x_18); @@ -2039,7 +2118,7 @@ lean_object* x_25; lean_object* x_26; lean_object* x_27; x_25 = lean_ctor_get(x_11, 0); lean_inc(x_25); lean_dec(x_11); -x_26 = lean_alloc_closure((void*)(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3), 8, 1); +x_26 = lean_alloc_closure((void*)(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4), 8, 1); lean_closure_set(x_26, 0, x_25); lean_inc(x_9); lean_inc(x_8); @@ -2059,7 +2138,7 @@ lean_dec(x_27); x_30 = lean_ctor_get(x_28, 0); lean_inc(x_30); lean_dec(x_28); -x_31 = lean_alloc_closure((void*)(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5), 11, 2); +x_31 = lean_alloc_closure((void*)(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6), 11, 2); lean_closure_set(x_31, 0, x_1); lean_closure_set(x_31, 1, x_2); x_32 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_3, x_30, x_31, x_4, x_5, x_6, x_7, x_8, x_9, x_29); @@ -2099,102 +2178,137 @@ return x_36; } } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { -lean_object* x_11; uint8_t x_12; -x_11 = lean_array_get_size(x_1); -x_12 = lean_nat_dec_lt(x_2, x_11); -lean_dec(x_11); -if (x_12 == 0) -{ -lean_object* x_13; -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -x_13 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_13, 0, x_3); -lean_ctor_set(x_13, 1, x_10); -return x_13; -} -else -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_14 = lean_array_fget(x_1, x_2); -x_15 = lean_ctor_get(x_14, 6); -lean_inc(x_15); -x_16 = l_Lean_Syntax_getArgs(x_15); -lean_dec(x_15); -x_17 = lean_alloc_closure((void*)(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6), 10, 2); -lean_closure_set(x_17, 0, x_14); -lean_closure_set(x_17, 1, x_3); -x_18 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabBinders___rarg), 9, 2); -lean_closure_set(x_18, 0, x_16); -lean_closure_set(x_18, 1, x_17); +lean_object* x_11; lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_19 = l_Lean_Elab_Term_withAutoBoundImplicit___rarg(x_18, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_19) == 0) +x_11 = l_Lean_Elab_Term_withAutoBoundImplicit___rarg(x_1, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_11) == 0) { -lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_20 = lean_ctor_get(x_19, 0); -lean_inc(x_20); -x_21 = lean_ctor_get(x_19, 1); -lean_inc(x_21); -lean_dec(x_19); -x_22 = lean_unsigned_to_nat(1u); -x_23 = lean_nat_add(x_2, x_22); +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_11, 1); +lean_inc(x_13); +lean_dec(x_11); +x_14 = lean_unsigned_to_nat(1u); +x_15 = lean_nat_add(x_2, x_14); lean_dec(x_2); -x_2 = x_23; -x_3 = x_20; -x_10 = x_21; -goto _start; +x_16 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux(x_3, x_15, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_13); +return x_16; } else { -uint8_t x_25; +uint8_t x_17; lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); +lean_dec(x_3); lean_dec(x_2); -x_25 = !lean_is_exclusive(x_19); -if (x_25 == 0) +x_17 = !lean_is_exclusive(x_11); +if (x_17 == 0) { -return x_19; +return x_11; } else { -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_19, 0); -x_27 = lean_ctor_get(x_19, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_19); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_11, 0); +x_19 = lean_ctor_get(x_11, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_11); +x_20 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_20, 0, x_18); +lean_ctor_set(x_20, 1, x_19); +return x_20; } } } } +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; lean_object* x_12; uint8_t x_13; +lean_inc(x_1); +x_11 = lean_alloc_closure((void*)(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__1___boxed), 2, 1); +lean_closure_set(x_11, 0, x_1); +x_12 = lean_array_get_size(x_1); +x_13 = lean_nat_dec_lt(x_2, x_12); +lean_dec(x_12); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; +lean_dec(x_2); +lean_dec(x_1); +x_14 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Elab_Term_addTermInfo___spec__1___rarg___boxed), 8, 1); +lean_closure_set(x_14, 0, x_3); +x_15 = l_Lean_Elab_Term_withAutoBoundImplicitForbiddenPred___rarg(x_11, x_14, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +return x_15; } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_16 = lean_array_fget(x_1, x_2); +x_17 = lean_ctor_get(x_16, 6); +lean_inc(x_17); +x_18 = l_Lean_Syntax_getArgs(x_17); +lean_dec(x_17); +x_19 = lean_alloc_closure((void*)(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__7), 10, 2); +lean_closure_set(x_19, 0, x_16); +lean_closure_set(x_19, 1, x_3); +x_20 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabBinders___rarg), 9, 2); +lean_closure_set(x_20, 0, x_18); +lean_closure_set(x_20, 1, x_19); +x_21 = lean_alloc_closure((void*)(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__8), 10, 3); +lean_closure_set(x_21, 0, x_20); +lean_closure_set(x_21, 1, x_2); +lean_closure_set(x_21, 2, x_1); +x_22 = l_Lean_Elab_Term_withAutoBoundImplicitForbiddenPred___rarg(x_11, x_21, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +return x_22; +} +} +} +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +size_t x_5; size_t x_6; uint8_t x_7; lean_object* x_8; +x_5 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_6 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_7 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___spec__1(x_1, x_2, x_5, x_6); +lean_dec(x_2); +lean_dec(x_1); +x_8 = lean_box(x_7); +return x_8; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__1(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; -x_12 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_12 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -2204,20 +2318,20 @@ lean_dec(x_5); return x_12; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; -x_10 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_10 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_2); return x_10; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { lean_object* x_13; -x_13 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_13 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -2228,15 +2342,6 @@ lean_dec(x_5); return x_13; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; -x_11 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_1); -return x_11; -} -} static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkNumParams___spec__1___closed__1() { _start: { @@ -3241,7 +3346,7 @@ x_23 = l_Lean_indentExpr(x_3); x_24 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_24, 0, x_22); lean_ctor_set(x_24, 1, x_23); -x_25 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_25 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_26 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_26, 0, x_24); lean_ctor_set(x_26, 1, x_25); @@ -3443,7 +3548,7 @@ x_18 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResult x_19 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_19, 0, x_18); lean_ctor_set(x_19, 1, x_17); -x_20 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_20 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_21 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_21, 0, x_19); lean_ctor_set(x_21, 1, x_20); @@ -3462,7 +3567,7 @@ x_24 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResult x_25 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_25, 0, x_24); lean_ctor_set(x_25, 1, x_23); -x_26 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_26 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_27 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_27, 0, x_25); lean_ctor_set(x_27, 1, x_26); @@ -3495,7 +3600,7 @@ x_33 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResult x_34 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_34, 0, x_33); lean_ctor_set(x_34, 1, x_31); -x_35 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_35 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_36 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_36, 0, x_34); lean_ctor_set(x_36, 1, x_35); @@ -4277,15 +4382,6 @@ lean_dec(x_2); return x_10; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeader___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -lean_object* x_9; -x_9 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeader(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -lean_dec(x_1); -return x_9; -} -} LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withInductiveLocalDecls_loop___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { @@ -6122,7 +6218,7 @@ x_29 = l_Lean_indentExpr(x_18); x_30 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_30, 0, x_28); lean_ctor_set(x_30, 1, x_29); -x_31 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_31 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_32 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_32, 0, x_30); lean_ctor_set(x_32, 1, x_31); @@ -6374,7 +6470,7 @@ x_24 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParam x_25 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_25, 0, x_24); lean_ctor_set(x_25, 1, x_23); -x_26 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_26 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_27 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_27, 0, x_25); lean_ctor_set(x_27, 1, x_26); @@ -6547,7 +6643,7 @@ x_15 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorTy x_16 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_16, 0, x_15); lean_ctor_set(x_16, 1, x_14); -x_17 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_17 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_18 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_18, 0, x_16); lean_ctor_set(x_18, 1, x_17); @@ -6655,7 +6751,7 @@ x_14 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorTy x_15 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_15, 0, x_14); lean_ctor_set(x_15, 1, x_13); -x_16 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_16 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_17 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_17, 0, x_15); lean_ctor_set(x_17, 1, x_16); @@ -7531,7 +7627,7 @@ x_32 = lean_ctor_get(x_5, 2); lean_inc(x_32); x_33 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_33, 0, x_32); -x_34 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_34 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_35 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_35, 0, x_34); lean_ctor_set(x_35, 1, x_33); @@ -7808,7 +7904,7 @@ x_41 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabC x_42 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_42, 0, x_41); lean_ctor_set(x_42, 1, x_40); -x_43 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_43 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_44 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_44, 0, x_42); lean_ctor_set(x_44, 1, x_43); @@ -8663,7 +8759,7 @@ x_20 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse x_21 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_21, 0, x_20); lean_ctor_set(x_21, 1, x_19); -x_22 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_22 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_23 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_23, 0, x_21); lean_ctor_set(x_23, 1, x_22); @@ -11514,7 +11610,7 @@ lean_ctor_set(x_35, 0, x_34); x_36 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_36, 0, x_32); lean_ctor_set(x_36, 1, x_35); -x_37 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_37 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_38 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_38, 0, x_36); lean_ctor_set(x_38, 1, x_37); @@ -11621,7 +11717,7 @@ x_18 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUnive x_19 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_19, 0, x_18); lean_ctor_set(x_19, 1, x_17); -x_20 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_20 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_21 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_21, 0, x_19); lean_ctor_set(x_21, 1, x_20); @@ -11729,7 +11825,7 @@ lean_dec(x_2); return x_13; } } -static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__1() { +static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__1() { _start: { lean_object* x_1; @@ -11737,17 +11833,17 @@ x_1 = lean_mk_string("bootstrap"); return x_1; } } -static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__2() { +static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__1; +x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__3() { +static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__3() { _start: { lean_object* x_1; @@ -11755,17 +11851,17 @@ x_1 = lean_mk_string("inductiveCheckResultingUniverse"); return x_1; } } -static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__4() { +static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__2; -x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__3; +x_1 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__2; +x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__3; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__5() { +static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__5() { _start: { lean_object* x_1; @@ -11773,13 +11869,13 @@ x_1 = lean_mk_string("by default the `inductive/structure commands report an err return x_1; } } -static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__6() { +static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__6() { _start: { uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = 1; -x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__1; -x_3 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__5; +x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__1; +x_3 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__5; x_4 = lean_box(x_1); x_5 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_5, 0, x_4); @@ -11788,12 +11884,12 @@ lean_ctor_set(x_5, 2, x_3); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__4; -x_3 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__6; +x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__4; +x_3 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__6; x_4 = l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_6____spec__1(x_2, x_3, x_1); return x_4; } @@ -11867,7 +11963,7 @@ x_22 = l_Lean_Elab_Command_checkResultingUniverse___closed__3; x_23 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_23, 0, x_22); lean_ctor_set(x_23, 1, x_21); -x_24 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_24 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_25 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_25, 0, x_23); lean_ctor_set(x_25, 1, x_24); @@ -11917,7 +12013,7 @@ x_35 = l_Lean_Elab_Command_checkResultingUniverse___closed__3; x_36 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_36, 0, x_35); lean_ctor_set(x_36, 1, x_34); -x_37 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_37 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_38 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_38, 0, x_36); lean_ctor_set(x_38, 1, x_37); @@ -12614,7 +12710,7 @@ x_16 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniver x_17 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_17, 0, x_16); lean_ctor_set(x_17, 1, x_15); -x_18 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_18 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_19 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_19, 0, x_17); lean_ctor_set(x_19, 1, x_18); @@ -21942,7 +22038,7 @@ lean_ctor_set(x_33, 0, x_12); x_34 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_34, 0, x_32); lean_ctor_set(x_34, 1, x_33); -x_35 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_35 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_36 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_36, 0, x_34); lean_ctor_set(x_36, 1, x_35); @@ -23611,7 +23707,7 @@ x_20 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams x_21 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_21, 0, x_20); lean_ctor_set(x_21, 1, x_19); -x_22 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_22 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_23 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_23, 0, x_21); lean_ctor_set(x_23, 1, x_22); @@ -26559,7 +26655,7 @@ x_39 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___la x_40 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_40, 0, x_39); lean_ctor_set(x_40, 1, x_38); -x_41 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_41 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_42 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_42, 0, x_40); lean_ctor_set(x_42, 1, x_41); @@ -26764,7 +26860,7 @@ x_25 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___la x_26 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_26, 0, x_25); lean_ctor_set(x_26, 1, x_24); -x_27 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6; +x_27 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6; x_28 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_28, 0, x_26); lean_ctor_set(x_28, 1, x_27); @@ -26854,6 +26950,7 @@ lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); +lean_inc(x_1); x_13 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeader(x_1, x_6, x_7, x_8, x_9, x_10, x_11, x_12); if (lean_obj_tag(x_13) == 0) { @@ -28371,9 +28468,9 @@ x_29 = !lean_is_exclusive(x_6); if (x_29 == 0) { lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_30 = lean_ctor_get(x_6, 6); +x_30 = lean_ctor_get(x_6, 7); lean_dec(x_30); -lean_ctor_set(x_6, 6, x_28); +lean_ctor_set(x_6, 7, x_28); x_31 = l_Lean_Elab_Term_resetMessageLog(x_6, x_7, x_8, x_9, x_10, x_11, x_27); x_32 = lean_ctor_get(x_31, 1); lean_inc(x_32); @@ -28390,23 +28487,25 @@ return x_36; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; uint8_t x_42; uint8_t x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46; uint8_t x_47; uint8_t x_48; uint8_t x_49; lean_object* x_50; uint8_t 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_58; +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; uint8_t x_42; uint8_t x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; uint8_t x_48; uint8_t x_49; uint8_t x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; x_37 = lean_ctor_get(x_6, 0); x_38 = lean_ctor_get(x_6, 1); x_39 = lean_ctor_get(x_6, 2); x_40 = lean_ctor_get(x_6, 3); -x_41 = lean_ctor_get_uint8(x_6, sizeof(void*)*8); -x_42 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 1); -x_43 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 2); +x_41 = lean_ctor_get_uint8(x_6, sizeof(void*)*9); +x_42 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 1); +x_43 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 2); x_44 = lean_ctor_get(x_6, 4); x_45 = lean_ctor_get(x_6, 5); -x_46 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 3); -x_47 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 4); -x_48 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 5); -x_49 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 6); -x_50 = lean_ctor_get(x_6, 7); -x_51 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 7); -lean_inc(x_50); +x_46 = lean_ctor_get(x_6, 6); +x_47 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 3); +x_48 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 4); +x_49 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 5); +x_50 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 6); +x_51 = lean_ctor_get(x_6, 8); +x_52 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 7); +lean_inc(x_51); +lean_inc(x_46); lean_inc(x_45); lean_inc(x_44); lean_inc(x_40); @@ -28414,41 +28513,42 @@ lean_inc(x_39); lean_inc(x_38); lean_inc(x_37); lean_dec(x_6); -x_52 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_52, 0, x_37); -lean_ctor_set(x_52, 1, x_38); -lean_ctor_set(x_52, 2, x_39); -lean_ctor_set(x_52, 3, x_40); -lean_ctor_set(x_52, 4, x_44); -lean_ctor_set(x_52, 5, x_45); -lean_ctor_set(x_52, 6, x_28); -lean_ctor_set(x_52, 7, x_50); -lean_ctor_set_uint8(x_52, sizeof(void*)*8, x_41); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 1, x_42); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 2, x_43); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 3, x_46); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 4, x_47); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 5, x_48); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 6, x_49); -lean_ctor_set_uint8(x_52, sizeof(void*)*8 + 7, x_51); -x_53 = l_Lean_Elab_Term_resetMessageLog(x_52, x_7, x_8, x_9, x_10, x_11, x_27); -x_54 = lean_ctor_get(x_53, 1); -lean_inc(x_54); -lean_dec(x_53); -x_55 = l_Lean_Elab_Command_elabInductiveViews___lambda__3___boxed__const__1; -x_56 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabInductiveViews___lambda__2___boxed), 13, 4); -lean_closure_set(x_56, 0, x_2); -lean_closure_set(x_56, 1, x_3); -lean_closure_set(x_56, 2, x_4); -lean_closure_set(x_56, 3, x_55); -x_57 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_reorderCtorArgs___lambda__1___closed__1; -x_58 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_5, x_57, x_56, x_52, x_7, x_8, x_9, x_10, x_11, x_54); -return x_58; +x_53 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_53, 0, x_37); +lean_ctor_set(x_53, 1, x_38); +lean_ctor_set(x_53, 2, x_39); +lean_ctor_set(x_53, 3, x_40); +lean_ctor_set(x_53, 4, x_44); +lean_ctor_set(x_53, 5, x_45); +lean_ctor_set(x_53, 6, x_46); +lean_ctor_set(x_53, 7, x_28); +lean_ctor_set(x_53, 8, x_51); +lean_ctor_set_uint8(x_53, sizeof(void*)*9, x_41); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 1, x_42); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 2, x_43); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 3, x_47); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 4, x_48); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 5, x_49); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 6, x_50); +lean_ctor_set_uint8(x_53, sizeof(void*)*9 + 7, x_52); +x_54 = l_Lean_Elab_Term_resetMessageLog(x_53, x_7, x_8, x_9, x_10, x_11, x_27); +x_55 = lean_ctor_get(x_54, 1); +lean_inc(x_55); +lean_dec(x_54); +x_56 = l_Lean_Elab_Command_elabInductiveViews___lambda__3___boxed__const__1; +x_57 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabInductiveViews___lambda__2___boxed), 13, 4); +lean_closure_set(x_57, 0, x_2); +lean_closure_set(x_57, 1, x_3); +lean_closure_set(x_57, 2, x_4); +lean_closure_set(x_57, 3, x_56); +x_58 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_reorderCtorArgs___lambda__1___closed__1; +x_59 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_5, x_58, x_57, x_53, x_7, x_8, x_9, x_10, x_11, x_55); +return x_59; } } else { -uint8_t x_59; +uint8_t x_60; lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -28459,23 +28559,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_59 = !lean_is_exclusive(x_14); -if (x_59 == 0) +x_60 = !lean_is_exclusive(x_14); +if (x_60 == 0) { return x_14; } else { -lean_object* x_60; lean_object* x_61; lean_object* x_62; -x_60 = lean_ctor_get(x_14, 0); -x_61 = lean_ctor_get(x_14, 1); +lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_61 = lean_ctor_get(x_14, 0); +x_62 = lean_ctor_get(x_14, 1); +lean_inc(x_62); lean_inc(x_61); -lean_inc(x_60); lean_dec(x_14); -x_62 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_62, 0, x_60); -lean_ctor_set(x_62, 1, x_61); -return x_62; +x_63 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_63, 0, x_61); +lean_ctor_set(x_63, 1, x_62); +return x_63; } } } @@ -28723,22 +28823,22 @@ l_Lean_Elab_Command_instInhabitedElabHeaderResult___closed__10 = _init_l_Lean_El lean_mark_persistent(l_Lean_Elab_Command_instInhabitedElabHeaderResult___closed__10); l_Lean_Elab_Command_instInhabitedElabHeaderResult = _init_l_Lean_Elab_Command_instInhabitedElabHeaderResult(); lean_mark_persistent(l_Lean_Elab_Command_instInhabitedElabHeaderResult); -l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3___closed__1 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3___closed__1(); -lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3___closed__1); -l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3___closed__2 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3___closed__2(); -lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__3___closed__2); -l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__1 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__1(); -lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__1); -l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__2 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__2(); -lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__2); -l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__3 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__3(); -lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__3); -l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__4 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__4(); -lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__4); -l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__5 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__5(); -lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__5); -l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6(); -lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5___closed__6); +l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4___closed__1 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4___closed__1(); +lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4___closed__1); +l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4___closed__2 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4___closed__2(); +lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4___closed__2); +l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__1 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__1(); +lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__1); +l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__2 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__2(); +lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__2); +l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__3 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__3(); +lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__3); +l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__4 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__4(); +lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__4); +l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__5 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__5(); +lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__5); +l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6(); +lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__6); l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkNumParams___spec__1___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkNumParams___spec__1___closed__1(); lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkNumParams___spec__1___closed__1); l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkNumParams___spec__1___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkNumParams___spec__1___closed__2(); @@ -28853,19 +28953,19 @@ l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___c lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___closed__1); l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___closed__2 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___closed__2(); lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___closed__2); -l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__1 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__1(); -lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__1); -l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__2 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__2(); -lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__2); -l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__3 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__3(); -lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__3); -l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__4 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__4(); -lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__4); -l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__5 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__5(); -lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__5); -l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__6 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__6(); -lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260____closed__6); -if (builtin) {res = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5260_(lean_io_mk_world()); +l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__1 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__1(); +lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__1); +l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__2 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__2(); +lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__2); +l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__3 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__3(); +lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__3); +l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__4 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__4(); +lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__4); +l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__5 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__5(); +lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__5); +l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__6 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__6(); +lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278____closed__6); +if (builtin) {res = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5278_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_Elab_Command_bootstrap_inductiveCheckResultingUniverse = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_Elab_Command_bootstrap_inductiveCheckResultingUniverse); diff --git a/stage0/stdlib/Lean/Elab/Match.c b/stage0/stdlib/Lean/Elab/Match.c index 8d23554e4f..10dcdfbd15 100644 --- a/stage0/stdlib/Lean/Elab/Match.c +++ b/stage0/stdlib/Lean/Elab/Match.c @@ -45,11 +45,11 @@ lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Elab_Binders_0__Lean_Elab_ lean_object* l_Lean_stringToMessageData(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_ToDepElimPattern_main___spec__4(size_t, lean_object*, lean_object*, lean_object*, lean_object*, 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* l_Lean_Elab_Term_expandMatchAlts_x3f(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__5; static lean_object* l___regBuiltin_Lean_Elab_Term_elabNoMatch_declRange___closed__3; static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3f___closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_main___rarg___lambda__4(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__5; lean_object* l_Lean_mkSort(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_findDiscrRefinementPath_goIndex___closed__2; @@ -71,6 +71,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatch LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabMatch_declRange(lean_object*); static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_getMatchGeneralizing_x3f___closed__3; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__3; lean_object* lean_name_mk_string(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withPatternVars_loop(lean_object*); uint8_t lean_usize_dec_eq(size_t, size_t); @@ -79,7 +80,6 @@ LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Matc lean_object* l_Lean_Meta_getFVarsToGeneralize(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_getMatchAlts___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateMatchType___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_savePatternInfo_go___lambda__1(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabMatch_elabMatchDefault___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -374,11 +374,11 @@ extern lean_object* l_Lean_Elab_Term_Quotation_precheckAttribute; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_ToDepElimPattern_main___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___spec__2___closed__2; -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__4; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__7___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_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_topSort_visit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_precheckMatch(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_isNamedPattern_x3f(lean_object*); +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__4; LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_findDiscrRefinementPath_checkCompatibleApps(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_TopSort_State_visitedFVars___default; static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns___spec__2___closed__2; @@ -696,7 +696,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatch lean_object* l_Lean_Elab_Term_tryPostponeIfMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_main_unpack_go___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_isAtomicDiscr_x3f___closed__3; -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__2; static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_collectDeps___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Term_elabNoMatch_declRange___closed__6; LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -711,6 +710,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatch uint8_t l_Lean_Expr_isFVar(lean_object*); static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___rarg___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchCore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_containsFVar___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -861,8 +861,8 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabNoMatch_declRange(lea lean_object* l_Lean_Elab_Term_isLocalIdent_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Closure_mkBinding___spec__1(size_t, size_t, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_15840_(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_15842_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586_(lean_object*); lean_object* l_Lean_mkSimpleThunk(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_isAtomicDiscr_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabNoMatch___closed__4; @@ -900,6 +900,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_isPattern static lean_object* l___regBuiltin_Lean_Elab_Term_elabMatch_declRange___closed__7; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_ToDepElimPattern_main___spec__1(size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withoutAuxDiscrs(lean_object*); +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__1; lean_object* l_Lean_Meta_instInhabitedMetaM___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_getMatchGeneralizing_x3f___closed__9; @@ -907,7 +908,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_ToDepElimPat LEAN_EXPORT lean_object* l_Lean_Elab_Term_precheckMatch___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_findDiscrRefinementPath_checkCompatibleApps___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed__1; -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__1; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrsWitMatchType___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_unpackMatchTypePatterns(lean_object*); @@ -11616,29 +11616,31 @@ if (x_9 == 0) { uint8_t x_10; lean_object* x_11; x_10 = 1; -lean_ctor_set_uint8(x_2, sizeof(void*)*8 + 6, x_10); +lean_ctor_set_uint8(x_2, sizeof(void*)*9 + 6, x_10); x_11 = lean_apply_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); return x_11; } else { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; uint8_t x_17; uint8_t x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; uint8_t x_23; uint8_t x_24; lean_object* x_25; uint8_t x_26; uint8_t x_27; lean_object* x_28; lean_object* x_29; +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; uint8_t x_17; uint8_t x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; uint8_t x_24; uint8_t x_25; lean_object* x_26; uint8_t x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; x_12 = lean_ctor_get(x_2, 0); x_13 = lean_ctor_get(x_2, 1); x_14 = lean_ctor_get(x_2, 2); x_15 = lean_ctor_get(x_2, 3); -x_16 = lean_ctor_get_uint8(x_2, sizeof(void*)*8); -x_17 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 1); -x_18 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 2); +x_16 = lean_ctor_get_uint8(x_2, sizeof(void*)*9); +x_17 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 1); +x_18 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 2); x_19 = lean_ctor_get(x_2, 4); x_20 = lean_ctor_get(x_2, 5); x_21 = lean_ctor_get(x_2, 6); -x_22 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 3); -x_23 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 4); -x_24 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 5); -x_25 = lean_ctor_get(x_2, 7); -x_26 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 7); -lean_inc(x_25); +x_22 = lean_ctor_get(x_2, 7); +x_23 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 3); +x_24 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 4); +x_25 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 5); +x_26 = lean_ctor_get(x_2, 8); +x_27 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 7); +lean_inc(x_26); +lean_inc(x_22); lean_inc(x_21); lean_inc(x_20); lean_inc(x_19); @@ -11647,26 +11649,27 @@ lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); lean_dec(x_2); -x_27 = 1; -x_28 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_28, 0, x_12); -lean_ctor_set(x_28, 1, x_13); -lean_ctor_set(x_28, 2, x_14); -lean_ctor_set(x_28, 3, x_15); -lean_ctor_set(x_28, 4, x_19); -lean_ctor_set(x_28, 5, x_20); -lean_ctor_set(x_28, 6, x_21); -lean_ctor_set(x_28, 7, x_25); -lean_ctor_set_uint8(x_28, sizeof(void*)*8, x_16); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 1, x_17); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 2, x_18); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 3, x_22); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 4, x_23); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 5, x_24); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 6, x_27); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 7, x_26); -x_29 = lean_apply_7(x_1, x_28, x_3, x_4, x_5, x_6, x_7, x_8); -return x_29; +x_28 = 1; +x_29 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_29, 0, x_12); +lean_ctor_set(x_29, 1, x_13); +lean_ctor_set(x_29, 2, x_14); +lean_ctor_set(x_29, 3, x_15); +lean_ctor_set(x_29, 4, x_19); +lean_ctor_set(x_29, 5, x_20); +lean_ctor_set(x_29, 6, x_21); +lean_ctor_set(x_29, 7, x_22); +lean_ctor_set(x_29, 8, x_26); +lean_ctor_set_uint8(x_29, sizeof(void*)*9, x_16); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 1, x_17); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 2, x_18); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 3, x_23); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 4, x_24); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 5, x_25); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 6, x_28); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 7, x_27); +x_30 = lean_apply_7(x_1, x_29, x_3, x_4, x_5, x_6, x_7, x_8); +return x_30; } } } @@ -12272,7 +12275,7 @@ if (x_13 == 0) { uint8_t x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; x_14 = 0; -lean_ctor_set_uint8(x_3, sizeof(void*)*8 + 3, x_14); +lean_ctor_set_uint8(x_3, sizeof(void*)*9 + 3, x_14); x_15 = lean_unsigned_to_nat(0u); x_16 = lean_unsigned_to_nat(1u); lean_inc(x_10); @@ -12445,23 +12448,25 @@ return x_53; } else { -lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; uint8_t x_58; uint8_t x_59; uint8_t x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64; uint8_t x_65; uint8_t x_66; lean_object* x_67; uint8_t x_68; uint8_t x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; +lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; uint8_t x_58; uint8_t x_59; uint8_t x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; uint8_t x_66; uint8_t x_67; lean_object* x_68; uint8_t x_69; uint8_t x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; x_54 = lean_ctor_get(x_3, 0); x_55 = lean_ctor_get(x_3, 1); x_56 = lean_ctor_get(x_3, 2); x_57 = lean_ctor_get(x_3, 3); -x_58 = lean_ctor_get_uint8(x_3, sizeof(void*)*8); -x_59 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 1); -x_60 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 2); +x_58 = lean_ctor_get_uint8(x_3, sizeof(void*)*9); +x_59 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 1); +x_60 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 2); x_61 = lean_ctor_get(x_3, 4); x_62 = lean_ctor_get(x_3, 5); x_63 = lean_ctor_get(x_3, 6); -x_64 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 4); -x_65 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 5); -x_66 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 6); -x_67 = lean_ctor_get(x_3, 7); -x_68 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 7); -lean_inc(x_67); +x_64 = lean_ctor_get(x_3, 7); +x_65 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 4); +x_66 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 5); +x_67 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 6); +x_68 = lean_ctor_get(x_3, 8); +x_69 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 7); +lean_inc(x_68); +lean_inc(x_64); lean_inc(x_63); lean_inc(x_62); lean_inc(x_61); @@ -12470,140 +12475,141 @@ lean_inc(x_56); lean_inc(x_55); lean_inc(x_54); lean_dec(x_3); -x_69 = 0; -x_70 = lean_alloc_ctor(0, 8, 8); -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, 3, x_57); -lean_ctor_set(x_70, 4, x_61); -lean_ctor_set(x_70, 5, x_62); -lean_ctor_set(x_70, 6, x_63); -lean_ctor_set(x_70, 7, x_67); -lean_ctor_set_uint8(x_70, sizeof(void*)*8, x_58); -lean_ctor_set_uint8(x_70, sizeof(void*)*8 + 1, x_59); -lean_ctor_set_uint8(x_70, sizeof(void*)*8 + 2, x_60); -lean_ctor_set_uint8(x_70, sizeof(void*)*8 + 3, x_69); -lean_ctor_set_uint8(x_70, sizeof(void*)*8 + 4, x_64); -lean_ctor_set_uint8(x_70, sizeof(void*)*8 + 5, x_65); -lean_ctor_set_uint8(x_70, sizeof(void*)*8 + 6, x_66); -lean_ctor_set_uint8(x_70, sizeof(void*)*8 + 7, x_68); -x_71 = lean_unsigned_to_nat(0u); -x_72 = lean_unsigned_to_nat(1u); +x_70 = 0; +x_71 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_71, 0, x_54); +lean_ctor_set(x_71, 1, x_55); +lean_ctor_set(x_71, 2, x_56); +lean_ctor_set(x_71, 3, x_57); +lean_ctor_set(x_71, 4, x_61); +lean_ctor_set(x_71, 5, x_62); +lean_ctor_set(x_71, 6, x_63); +lean_ctor_set(x_71, 7, x_64); +lean_ctor_set(x_71, 8, x_68); +lean_ctor_set_uint8(x_71, sizeof(void*)*9, x_58); +lean_ctor_set_uint8(x_71, sizeof(void*)*9 + 1, x_59); +lean_ctor_set_uint8(x_71, sizeof(void*)*9 + 2, x_60); +lean_ctor_set_uint8(x_71, sizeof(void*)*9 + 3, x_70); +lean_ctor_set_uint8(x_71, sizeof(void*)*9 + 4, x_65); +lean_ctor_set_uint8(x_71, sizeof(void*)*9 + 5, x_66); +lean_ctor_set_uint8(x_71, sizeof(void*)*9 + 6, x_67); +lean_ctor_set_uint8(x_71, sizeof(void*)*9 + 7, x_69); +x_72 = lean_unsigned_to_nat(0u); +x_73 = lean_unsigned_to_nat(1u); lean_inc(x_10); -x_73 = l_Std_Range_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns___spec__2(x_1, x_10, x_71, x_10, x_72, x_12, x_70, x_4, x_5, x_6, x_7, x_8, x_9); +x_74 = l_Std_Range_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns___spec__2(x_1, x_10, x_72, x_10, x_73, x_12, x_71, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_10); -if (lean_obj_tag(x_73) == 0) -{ -lean_object* x_74; -x_74 = lean_ctor_get(x_73, 0); -lean_inc(x_74); if (lean_obj_tag(x_74) == 0) { -lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; -x_75 = lean_ctor_get(x_73, 1); +lean_object* x_75; +x_75 = lean_ctor_get(x_74, 0); lean_inc(x_75); -if (lean_is_exclusive(x_73)) { - lean_ctor_release(x_73, 0); - lean_ctor_release(x_73, 1); - x_76 = x_73; -} else { - lean_dec_ref(x_73); - x_76 = lean_box(0); -} -x_77 = lean_ctor_get(x_74, 0); -lean_inc(x_77); +if (lean_obj_tag(x_75) == 0) +{ +lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_76 = lean_ctor_get(x_74, 1); +lean_inc(x_76); if (lean_is_exclusive(x_74)) { lean_ctor_release(x_74, 0); - x_78 = x_74; + lean_ctor_release(x_74, 1); + x_77 = x_74; } else { lean_dec_ref(x_74); - x_78 = lean_box(0); + x_77 = lean_box(0); } -if (lean_is_scalar(x_78)) { - x_79 = lean_alloc_ctor(0, 1, 0); +x_78 = lean_ctor_get(x_75, 0); +lean_inc(x_78); +if (lean_is_exclusive(x_75)) { + lean_ctor_release(x_75, 0); + x_79 = x_75; } else { - x_79 = x_78; + lean_dec_ref(x_75); + x_79 = lean_box(0); } -lean_ctor_set(x_79, 0, x_77); -if (lean_is_scalar(x_76)) { - x_80 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_79)) { + x_80 = lean_alloc_ctor(0, 1, 0); } else { - x_80 = x_76; + x_80 = x_79; } -lean_ctor_set(x_80, 0, x_79); -lean_ctor_set(x_80, 1, x_75); -return x_80; +lean_ctor_set(x_80, 0, x_78); +if (lean_is_scalar(x_77)) { + x_81 = lean_alloc_ctor(0, 2, 0); +} else { + x_81 = x_77; +} +lean_ctor_set(x_81, 0, x_80); +lean_ctor_set(x_81, 1, x_76); +return x_81; } else { -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; -x_81 = lean_ctor_get(x_74, 0); -lean_inc(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; +x_82 = lean_ctor_get(x_75, 0); +lean_inc(x_82); +if (lean_is_exclusive(x_75)) { + lean_ctor_release(x_75, 0); + x_83 = x_75; +} else { + lean_dec_ref(x_75); + x_83 = lean_box(0); +} +x_84 = lean_ctor_get(x_74, 1); +lean_inc(x_84); if (lean_is_exclusive(x_74)) { lean_ctor_release(x_74, 0); - x_82 = x_74; + lean_ctor_release(x_74, 1); + x_85 = x_74; } else { lean_dec_ref(x_74); - x_82 = lean_box(0); + x_85 = lean_box(0); } -x_83 = lean_ctor_get(x_73, 1); -lean_inc(x_83); -if (lean_is_exclusive(x_73)) { - lean_ctor_release(x_73, 0); - lean_ctor_release(x_73, 1); - x_84 = x_73; -} else { - lean_dec_ref(x_73); - x_84 = lean_box(0); -} -x_85 = lean_ctor_get(x_81, 0); -lean_inc(x_85); -x_86 = lean_ctor_get(x_81, 1); +x_86 = lean_ctor_get(x_82, 0); lean_inc(x_86); -lean_dec(x_81); -x_87 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_87, 0, x_86); -lean_ctor_set(x_87, 1, x_85); -if (lean_is_scalar(x_82)) { - x_88 = lean_alloc_ctor(1, 1, 0); -} else { - x_88 = x_82; -} +x_87 = lean_ctor_get(x_82, 1); +lean_inc(x_87); +lean_dec(x_82); +x_88 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_88, 0, x_87); -if (lean_is_scalar(x_84)) { - x_89 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_88, 1, x_86); +if (lean_is_scalar(x_83)) { + x_89 = lean_alloc_ctor(1, 1, 0); } else { - x_89 = x_84; + x_89 = x_83; } lean_ctor_set(x_89, 0, x_88); -lean_ctor_set(x_89, 1, x_83); -return x_89; +if (lean_is_scalar(x_85)) { + x_90 = lean_alloc_ctor(0, 2, 0); +} else { + x_90 = x_85; +} +lean_ctor_set(x_90, 0, x_89); +lean_ctor_set(x_90, 1, x_84); +return x_90; } } else { -lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; -x_90 = lean_ctor_get(x_73, 0); -lean_inc(x_90); -x_91 = lean_ctor_get(x_73, 1); +lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; +x_91 = lean_ctor_get(x_74, 0); lean_inc(x_91); -if (lean_is_exclusive(x_73)) { - lean_ctor_release(x_73, 0); - lean_ctor_release(x_73, 1); - x_92 = x_73; +x_92 = lean_ctor_get(x_74, 1); +lean_inc(x_92); +if (lean_is_exclusive(x_74)) { + lean_ctor_release(x_74, 0); + lean_ctor_release(x_74, 1); + x_93 = x_74; } else { - lean_dec_ref(x_73); - x_92 = lean_box(0); + lean_dec_ref(x_74); + x_93 = lean_box(0); } -if (lean_is_scalar(x_92)) { - x_93 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_93)) { + x_94 = lean_alloc_ctor(1, 2, 0); } else { - x_93 = x_92; + x_94 = x_93; } -lean_ctor_set(x_93, 0, x_90); -lean_ctor_set(x_93, 1, x_91); -return x_93; +lean_ctor_set(x_94, 0, x_91); +lean_ctor_set(x_94, 1, x_92); +return x_94; } } } @@ -29994,7 +30000,7 @@ lean_dec(x_2); return x_9; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__1() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -30004,7 +30010,7 @@ x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__2() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__2() { _start: { lean_object* x_1; @@ -30012,17 +30018,17 @@ x_1 = lean_mk_string("ignoreUnusedAlts"); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__3() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__1; -x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__2; +x_1 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__1; +x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__2; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__4() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__4() { _start: { lean_object* x_1; @@ -30030,13 +30036,13 @@ x_1 = lean_mk_string("if true, do not generate error if an alternative is not us return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__5() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__5() { _start: { uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = 0; x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrsWitMatchType___spec__1___closed__15; -x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__4; +x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__4; x_4 = lean_box(x_1); x_5 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_5, 0, x_4); @@ -30045,12 +30051,12 @@ lean_ctor_set(x_5, 2, x_3); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__3; -x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__5; +x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__3; +x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__5; x_4 = l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_6____spec__1(x_2, x_3, x_1); return x_4; } @@ -33193,7 +33199,7 @@ if (lean_obj_tag(x_28) == 0) lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_dec(x_21); x_30 = lean_array_get_size(x_22); -x_31 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__1; +x_31 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__1; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); @@ -37229,7 +37235,7 @@ x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_15840_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_15842_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -38008,17 +38014,17 @@ l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___closed__1 lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___closed__1); l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___closed__2 = _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___closed__2(); lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___closed__2); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__1(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__1); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__2(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__2); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__3 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__3(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__3); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__4 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__4(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__4); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__5 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__5(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584____closed__5); -if (builtin) {res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12584_(lean_io_mk_world()); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__1(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__1); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__2(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__2); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__3 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__3(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__3); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__4 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__4(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__4); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__5 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__5(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586____closed__5); +if (builtin) {res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_12586_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_Elab_Term_match_ignoreUnusedAlts = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_Elab_Term_match_ignoreUnusedAlts); @@ -38148,7 +38154,7 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabMatch_declRange___closed_ res = l___regBuiltin_Lean_Elab_Term_elabMatch_declRange(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_15840_(lean_io_mk_world()); +res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_15842_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Elab_Term_elabNoMatch___closed__1 = _init_l_Lean_Elab_Term_elabNoMatch___closed__1(); diff --git a/stage0/stdlib/Lean/Elab/MutualDef.c b/stage0/stdlib/Lean/Elab/MutualDef.c index 3fa49936a6..d856da9e47 100644 --- a/stage0/stdlib/Lean/Elab/MutualDef.c +++ b/stage0/stdlib/Lean/Elab/MutualDef.c @@ -21,12 +21,10 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Mutua static lean_object* l_Lean_addTrace___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__4___closed__2; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__7___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__3___closed__1; -static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__12; size_t lean_usize_add(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Elab_Term_eraseAuxDiscr___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_forM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getAllUserLevelNames(lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isMultiConstant_x3f___boxed(lean_object*); uint8_t l_Lean_isAuxDiscrName(lean_object*); lean_object* l_Lean_Expr_mvarId_x21(lean_object*); @@ -38,7 +36,6 @@ lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_mkInstanceName___spec__2 lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_FunBinders_elabFunBinderViews___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabMutualDef___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_elabMutualDef___lambda__2___closed__1; @@ -49,17 +46,18 @@ static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_ lean_object* l_Lean_mkSort(lean_object*); lean_object* l_Lean_Meta_mkForallFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_getLetRecsToLift___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__8; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__7___closed__4; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendindMVarErrorMessage___closed__4; lean_object* l_Lean_LocalDecl_userName(lean_object*); extern lean_object* l_Lean_nullKind; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__4; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__1(size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withFunLocalDecls_loop___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabMutualDef(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Elab_Modifiers_isPartial(lean_object*); lean_object* l_Lean_Elab_Command_liftTermElabM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_markModified(lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___lambda__1___closed__1; lean_object* lean_name_mk_string(lean_object*, lean_object*); @@ -68,6 +66,7 @@ uint8_t lean_usize_dec_eq(size_t, size_t); lean_object* lean_array_uget(lean_object*, size_t); LEAN_EXPORT lean_object* l_Std_RBNode_foldM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_merge___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint64_t lean_uint64_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -75,6 +74,7 @@ lean_object* l_Lean_Expr_bindingDomain_x21(lean_object*); lean_object* l_Array_append___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_levelMVarToParamHeaders___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Elab_Term_MutualClosure_getKindForLetRecs(lean_object*); +LEAN_EXPORT lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkConstWithFreshMVarLevels(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__4; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__7___closed__1; @@ -103,12 +103,13 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_Mutua lean_object* l_Lean_Elab_Term_elabBindersEx___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__5; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__1; +LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___boxed__const__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_eraseAuxDiscr___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabMutualDef___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_levelMVarToParamHeaders(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_Replacement_apply___lambda__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__10___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__9; LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isExample___spec__1(lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_updateUsedVarsOf___lambda__1(lean_object*, lean_object*, lean_object*); @@ -116,12 +117,13 @@ LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_MutualDef_0__Lean_ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_checkTraceOption(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__2___boxed(lean_object**); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_MkInstResult_outParams___default; +LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_find___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__4; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__8(lean_object*, lean_object*, lean_object*, size_t, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_processDeriving___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*); @@ -148,9 +150,11 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutual LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isMultiConstant_x3f(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_levelMVarToParamHeaders_process___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___lambda__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* lean_expr_instantiate1(lean_object*, lean_object*); lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__7___closed__3; +lean_object* l_Lean_Elab_Term_withAutoBoundImplicitForbiddenPred___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* l_Lean_Meta_collectUsedFVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); @@ -174,12 +178,11 @@ static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___la LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_resetModified___rarg(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkKinds(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs___spec__3___boxed(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__4; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_instantiateMVarsAtLetRecToLift___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_preprocess___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__3___closed__5; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_mkHashSetImp___rarg(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getFunName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__2; @@ -198,6 +201,7 @@ static lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualD lean_object* l_Lean_Elab_Term_synthesizeSyntheticMVars(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_string_utf8_byte_size(lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_LocalContext_getFVars___spec__1(size_t, size_t, lean_object*); +LEAN_EXPORT uint8_t l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___lambda__1(lean_object*, size_t, lean_object*); lean_object* l_Lean_Elab_Term_withLevelNames___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_collectUsed___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__7___closed__1; @@ -214,12 +218,14 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabMutualDef_go___lambda__2(lean_obje LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Command_elabMutualDef___spec__11___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__2(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__5___closed__1; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__5___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_levelZero; LEAN_EXPORT lean_object* l_Std_RBNode_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__6(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__5; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__10___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__11(lean_object*, lean_object*, lean_object*, size_t, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isMultiConstant_x3f___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -230,7 +236,6 @@ lean_object* l_Std_RBNode_findCore___at_Lean_Elab_Structural_findRecArg_go___spe LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_FixPoint_run___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, size_t, size_t, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__2___closed__1; -static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__9; lean_object* l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_eraseAuxDiscr___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withFunLocalDecls(lean_object*); @@ -243,7 +248,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabMutualDef___lambda__1(lean_obje lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__2(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___closed__1; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -257,6 +261,7 @@ static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClos LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getFunName___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withFunLocalDecls_loop(lean_object*); lean_object* l_Array_mapMUnsafe_map___at___aux__Init__NotationExtra______macroRules__term_x25_x5b___x7c___x5d__1___spec__3(size_t, size_t, lean_object*); +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__3; static lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__3___closed__4; static lean_object* l_Lean_addTrace___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__4___closed__5; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__3___closed__4; @@ -293,13 +298,14 @@ static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWher LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda_loop___spec__1___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_addTrace___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__4___closed__4; +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_expandMacroImpl_x3f(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isMultiConstant_x3f___spec__3(lean_object*, size_t, size_t); -static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__4; lean_object* l_Lean_Meta_getZetaFVarIds___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_registerCustomErrorIfMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__3; static lean_object* l_List_forM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkLetRecsToLiftTypes___spec__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs(lean_object*); static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___closed__2; @@ -310,6 +316,7 @@ LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_MutualClosur LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_pushLetRecs(lean_object*, lean_object*, uint8_t, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__4___closed__2; +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__7; extern lean_object* l_Lean_instFVarIdSetInhabited; static lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabMutualDef(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -322,8 +329,9 @@ static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModif LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getFunName___lambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__11; +LEAN_EXPORT lean_object* l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__3___rarg(lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__5; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendindMVarErrorMessage___closed__1; LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst(lean_object*, lean_object*, lean_object*); @@ -333,19 +341,21 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabMutualDef_go___lambda__1(lean_obje static lean_object* l_Lean_Elab_Term_eraseAuxDiscr___closed__2; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___lambda__2(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_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__12; lean_object* l_Lean_Name_toString(lean_object*, uint8_t); lean_object* l_Lean_Elab_Term_expandDeclId(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___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__4; +LEAN_EXPORT lean_object* l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_hasExprMVar(lean_object*); uint8_t lean_is_out_param(lean_object*); lean_object* l_Lean_replaceRef(lean_object*, lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_insert___at_Lean_Elab_Term_MutualClosure_insertReplacementForMainFns___spec__1(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabMutualDef_processDeriving___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_typeHasRecFun___lambda__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkLambdaFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_fvarId_x21(lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__6___closed__1; @@ -357,8 +367,10 @@ static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_p LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_collectUsed___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__5; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabMutualDef___spec__5(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Name_quickCmp(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_merge___closed__1; +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_insertReplacementForLetRecs(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabMutualDef___boxed__const__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__2(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -375,7 +387,6 @@ static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToT lean_object* l_List_findSome_x3f___rarg(lean_object*, lean_object*); lean_object* lean_st_mk_ref(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__1; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_getMax_x3f___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_pickMaxFVar_x3f___spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabMutualDef_go___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -389,7 +400,6 @@ LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Elab_Term_MutualClosure_pushLetR LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___lambda__3(lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__1; lean_object* l_Lean_Meta_mkForallFVars_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static uint64_t l_Lean_Elab_instInhabitedDefViewElabHeader___closed__3; @@ -403,9 +413,9 @@ LEAN_EXPORT lean_object* l_Std_RBNode_insert___at___private_Lean_Elab_MutualDef_ LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabMutualDef___spec__9(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_addInstance(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabMutualDef___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_preprocess(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_indexOfAux___at_Lean_LocalContext_erase___spec__3(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_pushLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_collectUsed___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -422,6 +432,7 @@ lean_object* l_Lean_Meta_InfoCacheKey_instHashableInfoCacheKey___boxed(lean_obje static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___lambda__4___closed__6; static lean_object* l_List_mapTRAux___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendindMVarErrorMessage___spec__1___closed__1; lean_object* l_ReaderT_pure___at_Lean_Elab_liftMacroM___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__10; LEAN_EXPORT lean_object* l_Std_RBNode_insert___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__3(lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__3___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withFunLocalDecls___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -438,7 +449,7 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Command_elabMutua lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Command_mkDefViewOfInstance___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_reverse___rarg(lean_object*); -static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__6; +static lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getAllUserLevelNames___boxed(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getFunName___lambda__1___boxed(lean_object*, lean_object*); @@ -448,14 +459,14 @@ static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_proce extern lean_object* l_Lean_instInhabitedSyntax; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__3(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Term_MutualClosure_main___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__13; LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isTheorem___spec__1(lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_resetModified(lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__7___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__8(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__2___closed__3; LEAN_EXPORT lean_object* l_Std_RBNode_find___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_updateUsedVarsOf___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Core_transform___at_Lean_Core_betaReduce___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_resetZetaFVarIds___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -476,7 +487,7 @@ static lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0_ static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__6; lean_object* l_Lean_MetavarContext_getDelayedRoot(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_getMax_x3f___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_pickMaxFVar_x3f___spec__1(lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__3; +LEAN_EXPORT lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isExample___spec__1___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__3; lean_object* l_instBEqProd___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -488,6 +499,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Mutua LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___lambda__4___closed__3; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_removeUnusedVars___closed__1; +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__2(lean_object*, lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Util_Trace_0__Lean_addTraceOptions(lean_object*); lean_object* l_Array_feraseIdx___rarg(lean_object*, lean_object*); @@ -497,13 +509,13 @@ static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_p static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__11; static lean_object* l_Lean_Elab_instInhabitedDefViewElabHeader___closed__4; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___closed__1; -static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__13; uint8_t l_Lean_Syntax_isNodeOf(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__8___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__9(lean_object*, lean_object*, size_t, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabMutualDef___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_ClosureState_localDecls___default; static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___lambda__4___closed__5; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_getUsedFVarsMap(lean_object*); +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__6; LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_MutualClosure_getKindForLetRecs___spec__1(lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabMutualDef_go___lambda__1___boxed(lean_object**); uint8_t l_Lean_Syntax_isMissing(lean_object*); @@ -516,17 +528,18 @@ lean_object* l_Lean_Syntax_getPos_x3f(lean_object*, uint8_t); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__9; lean_object* l_Lean_Meta_assignExprMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___lambda__2___closed__4; -static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2; lean_object* l_Lean_Name_getString_x21(lean_object*); lean_object* l_String_intercalate(lean_object*, lean_object*); lean_object* l_Lean_Meta_synthInstance(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___lambda__2___closed__8; +static lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__4; lean_object* l_List_redLength___rarg(lean_object*); lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); lean_object* l_Lean_Meta_getMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureFor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__1; lean_object* lean_name_append_after(lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_index(lean_object*); lean_object* l_Lean_Syntax_getSepArgs(lean_object*); @@ -535,13 +548,12 @@ uint8_t l_Lean_isAttribute(lean_object*, lean_object*); static lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__2___closed__2; lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_collectUsed___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__7; -LEAN_EXPORT lean_object* l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_levelMVarToParamHeaders_process(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_collectUsed___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendindMVarErrorMessage___spec__1(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendindMVarErrorMessage___closed__3; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_pickMaxFVar_x3f___boxed(lean_object*, lean_object*); lean_object* l_Lean_mkHole(lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___closed__2; @@ -554,7 +566,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualD LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_removeUnusedVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_foldM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_updateUsedVarsOf___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_ins___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__5(lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__5; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs___spec__2___boxed(lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_removeUnusedVars___closed__2; @@ -569,6 +580,7 @@ static lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0_ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_fixpoint___rarg___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Std_RBNode_isRed___rarg(lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__8; lean_object* l_Lean_Syntax_getArgs(lean_object*); lean_object* l_Lean_Name_append(lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Command_expandDeclId___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); @@ -596,18 +608,17 @@ lean_object* l_Lean_Elab_Term_withDeclName___rarg(lean_object*, lean_object*, le static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__5; lean_object* l_Lean_Meta_Closure_mkForall(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Command_elabMutualDef___spec__11(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4(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_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_isModified___boxed(lean_object*); LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__2(lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getFunName___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isMultiConstant_x3f___spec__3___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); lean_object* l_Array_sequenceMap___at___aux__Init__NotationExtra______macroRules__term_x25_x5b___x7c___x5d__1___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_levelMVarToParamHeaders___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__8; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__7; static lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__2___closed__1; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs___spec__1___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_eraseAuxDiscr___closed__1; @@ -630,8 +641,6 @@ LEAN_EXPORT lean_object* l_Nat_foldM_loop___at_Lean_Elab_Term_MutualClosure_push lean_object* l_Lean_Elab_Command_getRef(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__1___boxed(lean_object*, lean_object*); -static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__7; -LEAN_EXPORT lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_registerFailedToInferDefTypeInfo___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_ClosureState_newLetDecls___default; static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___lambda__3___closed__1; @@ -649,10 +658,10 @@ LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMu static lean_object* l_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs___closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isMultiConstant_x3f___spec__3___closed__2; +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__11; lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_isModified___rarg(lean_object*); uint8_t l_Lean_Syntax_isNone(lean_object*); -static lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__2; lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*); uint8_t l_Lean_Elab_Modifiers_isNonrec(lean_object*); @@ -664,13 +673,10 @@ lean_object* lean_panic_fn(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_erase___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isMultiConstant_x3f___spec__3___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabAttrs___at_Lean_Elab_Command_elabMutualDef___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__10; LEAN_EXPORT lean_object* l_Std_RBNode_foldM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_merge___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isMultiConstant_x3f___spec__3___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_updateUsedVarsOf___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Nat_foldM_loop___at_Lean_Elab_Term_MutualClosure_pushMain___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__1___boxed(lean_object**); -static lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__1; lean_object* l_Lean_Name_quickCmp___boxed(lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__1___closed__6; lean_object* l_instHashableProd___rarg___boxed(lean_object*, lean_object*, lean_object*); @@ -713,18 +719,20 @@ static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0_ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_pushNewVars(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_fixpoint(lean_object*); static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___lambda__4___closed__2; -static lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__3; LEAN_EXPORT lean_object* l_Std_RBNode_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabMutualDef___spec__7(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isMultiConstant_x3f___spec__3___closed__4; lean_object* l_Lean_Elab_Term_addAutoBoundImplicits(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_whnfD(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___lambda__3___closed__2; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__3___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); lean_object* lean_name_append_before(lean_object*, lean_object*); +static lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__3; LEAN_EXPORT uint8_t l_List_foldr___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_typeHasRecFun___spec__1(lean_object*, uint8_t, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__1___boxed(lean_object**); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__3___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_updateUsedVarsOf(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_registerFailedToInferDefTypeInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -742,7 +750,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualD LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__2___closed__6; LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkLetRecsToLiftTypes___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_pickMaxFVar_x3f___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_getScope___rarg(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkKinds___lambda__1___closed__2; @@ -764,24 +771,28 @@ lean_object* l_Lean_Elab_getDeclarationSelectionRef(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_bindingBody_x21(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__1; lean_object* l_Lean_Elab_Term_withAutoBoundImplicit___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkKinds___lambda__1___closed__1; lean_object* l_Lean_mkConst(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__2___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__2___boxed(lean_object**); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__1; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_collectUsed___spec__3(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__2___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_getKindForLetRecs___boxed(lean_object*); static lean_object* l_Lean_Elab_Term_processDefDeriving___closed__1; lean_object* l_Lean_Elab_Term_expandWhereDeclsOpt(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_Elab_Term_MutualClosure_insertReplacementForMainFns___spec__2(lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__1___closed__4; LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isMultiConstant_x3f___spec__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_pickMaxFVar_x3f(lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___lambda__2___closed__5; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_collectUsed___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___lambda__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_registerFailedToInferDefTypeInfo___closed__2; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__8; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_getUsedFVarsMap___boxed(lean_object*); static lean_object* l_List_mapTRAux___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendindMVarErrorMessage___spec__2___closed__2; uint8_t l___private_Lean_Elab_DefView_0__Lean_Elab_beqDefKind____x40_Lean_Elab_DefView___hyg_13_(uint8_t, uint8_t); @@ -789,13 +800,12 @@ LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Term_elabMutualDef_go___spec static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_FixPoint_run(lean_object*, lean_object*); lean_object* l_Lean_setEnv___at_Lean_Elab_Term_evalExpr___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_markModified___boxed(lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__6; -static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__5; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__6; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Command_elabMutualDef___spec__11___closed__1; -static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__3; lean_object* l_Lean_Meta_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__6; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_mkUnusedBaseName(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*); @@ -2886,7 +2896,168 @@ lean_dec(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +uint8_t x_11; +x_11 = lean_usize_dec_lt(x_2, x_1); +if (x_11 == 0) +{ +lean_object* x_12; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_3); +lean_ctor_set(x_12, 1, x_10); +return x_12; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_13 = lean_array_uget(x_3, x_2); +x_14 = lean_unsigned_to_nat(0u); +x_15 = lean_array_uset(x_3, x_2, x_14); +x_16 = lean_ctor_get(x_13, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_8, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_8, 1); +lean_inc(x_18); +x_19 = lean_ctor_get(x_8, 2); +lean_inc(x_19); +x_20 = lean_ctor_get(x_8, 3); +lean_inc(x_20); +x_21 = lean_ctor_get(x_8, 4); +lean_inc(x_21); +x_22 = lean_ctor_get(x_8, 5); +lean_inc(x_22); +x_23 = lean_ctor_get(x_8, 6); +lean_inc(x_23); +x_24 = lean_ctor_get(x_8, 7); +lean_inc(x_24); +x_25 = lean_ctor_get(x_8, 8); +lean_inc(x_25); +x_26 = l_Lean_replaceRef(x_16, x_20); +lean_dec(x_20); +lean_dec(x_16); +lean_inc(x_21); +x_27 = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(x_27, 0, x_17); +lean_ctor_set(x_27, 1, x_18); +lean_ctor_set(x_27, 2, x_19); +lean_ctor_set(x_27, 3, x_26); +lean_ctor_set(x_27, 4, x_21); +lean_ctor_set(x_27, 5, x_22); +lean_ctor_set(x_27, 6, x_23); +lean_ctor_set(x_27, 7, x_24); +lean_ctor_set(x_27, 8, x_25); +x_28 = l_Lean_Elab_Term_getLevelNames___rarg(x_5, x_6, x_7, x_27, x_9, x_10); +x_29 = lean_ctor_get(x_28, 0); +lean_inc(x_29); +x_30 = lean_ctor_get(x_28, 1); +lean_inc(x_30); +lean_dec(x_28); +x_31 = lean_ctor_get(x_13, 2); +lean_inc(x_31); +x_32 = lean_ctor_get(x_13, 1); +lean_inc(x_32); +lean_dec(x_13); +lean_inc(x_9); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_33 = l_Lean_Elab_Term_expandDeclId(x_21, x_29, x_31, x_32, x_4, x_5, x_6, x_7, x_27, x_9, x_30); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; lean_object* x_35; size_t x_36; size_t x_37; lean_object* x_38; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +x_35 = lean_ctor_get(x_33, 1); +lean_inc(x_35); +lean_dec(x_33); +x_36 = 1; +x_37 = lean_usize_add(x_2, x_36); +x_38 = lean_array_uset(x_15, x_2, x_34); +x_2 = x_37; +x_3 = x_38; +x_10 = x_35; +goto _start; +} +else +{ +uint8_t x_40; +lean_dec(x_15); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +x_40 = !lean_is_exclusive(x_33); +if (x_40 == 0) +{ +return x_33; +} +else +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_41 = lean_ctor_get(x_33, 0); +x_42 = lean_ctor_get(x_33, 1); +lean_inc(x_42); +lean_inc(x_41); +lean_dec(x_33); +x_43 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_43, 0, x_41); +lean_ctor_set(x_43, 1, x_42); +return x_43; +} +} +} +} +} +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__2(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { +_start: +{ +uint8_t x_5; +x_5 = lean_usize_dec_eq(x_3, x_4); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_6 = lean_array_uget(x_2, x_3); +x_7 = lean_ctor_get(x_6, 0); +lean_inc(x_7); +lean_dec(x_6); +x_8 = lean_name_eq(x_7, x_1); +lean_dec(x_7); +if (x_8 == 0) +{ +size_t x_9; size_t x_10; +x_9 = 1; +x_10 = lean_usize_add(x_3, x_9); +x_3 = x_10; +goto _start; +} +else +{ +uint8_t x_12; +x_12 = 1; +return x_12; +} +} +else +{ +uint8_t x_13; +x_13 = 0; +return x_13; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; uint8_t x_10; lean_object* x_11; lean_object* x_12; @@ -3003,7 +3174,7 @@ return x_38; } } } -static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__1() { +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__1() { _start: { lean_object* x_1; @@ -3011,7 +3182,7 @@ x_1 = l_Lean_declRangeExt; return x_1; } } -static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2() { +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__2() { _start: { lean_object* x_1; @@ -3019,21 +3190,21 @@ x_1 = l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); return x_1; } } -static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__3() { +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2; +x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__2; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__4() { +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__3; +x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__3; x_2 = lean_unsigned_to_nat(0u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3041,22 +3212,22 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__5() { +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__4; +x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__4; x_2 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_2, 0, x_1); lean_ctor_set(x_2, 1, x_1); return x_2; } } -static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__6() { +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__3; +x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__3; x_2 = lean_unsigned_to_nat(0u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3064,7 +3235,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__7() { +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__7() { _start: { lean_object* x_1; @@ -3072,11 +3243,11 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Meta_InfoCacheKey_instHashableInfoCacheK return x_1; } } -static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__8() { +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__3; +x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__3; x_2 = lean_unsigned_to_nat(0u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3084,11 +3255,11 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__9() { +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__3; +x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__3; x_2 = lean_unsigned_to_nat(0u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3096,7 +3267,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__10() { +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__10() { _start: { lean_object* x_1; lean_object* x_2; @@ -3107,7 +3278,7 @@ lean_closure_set(x_2, 1, x_1); return x_2; } } -static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__11() { +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__11() { _start: { lean_object* x_1; lean_object* x_2; @@ -3118,11 +3289,11 @@ lean_closure_set(x_2, 1, x_1); return x_2; } } -static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__12() { +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__3; +x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__3; x_2 = lean_unsigned_to_nat(0u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3130,14 +3301,14 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__13() { +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__13() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__6; -x_2 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__8; -x_3 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__9; -x_4 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__12; +x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__6; +x_2 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__8; +x_3 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__9; +x_4 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__12; x_5 = lean_alloc_ctor(0, 7, 0); lean_ctor_set(x_5, 0, x_1); lean_ctor_set(x_5, 1, x_2); @@ -3149,7 +3320,7 @@ lean_ctor_set(x_5, 6, x_4); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; @@ -3166,9 +3337,9 @@ lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean x_14 = lean_ctor_get(x_11, 0); x_15 = lean_ctor_get(x_11, 4); lean_dec(x_15); -x_16 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__1; +x_16 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__1; x_17 = l_Lean_MapDeclarationExtension_insert___rarg(x_16, x_14, x_1, x_2); -x_18 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__5; +x_18 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__5; lean_ctor_set(x_11, 4, x_18); lean_ctor_set(x_11, 0, x_17); x_19 = lean_st_ref_set(x_8, x_11, x_12); @@ -3191,7 +3362,7 @@ if (x_26 == 0) lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30; x_27 = lean_ctor_get(x_24, 1); lean_dec(x_27); -x_28 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__13; +x_28 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__13; lean_ctor_set(x_24, 1, x_28); x_29 = lean_st_ref_set(x_6, x_24, x_25); x_30 = !lean_is_exclusive(x_29); @@ -3227,7 +3398,7 @@ lean_inc(x_38); lean_inc(x_37); lean_inc(x_36); lean_dec(x_24); -x_39 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__13; +x_39 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__13; x_40 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_40, 0, x_36); lean_ctor_set(x_40, 1, x_39); @@ -3267,9 +3438,9 @@ lean_inc(x_48); lean_inc(x_47); lean_inc(x_46); lean_dec(x_11); -x_50 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__1; +x_50 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__1; x_51 = l_Lean_MapDeclarationExtension_insert___rarg(x_50, x_46, x_1, x_2); -x_52 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__5; +x_52 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__5; x_53 = lean_alloc_ctor(0, 5, 0); lean_ctor_set(x_53, 0, x_51); lean_ctor_set(x_53, 1, x_47); @@ -3306,7 +3477,7 @@ if (lean_is_exclusive(x_59)) { lean_dec_ref(x_59); x_64 = lean_box(0); } -x_65 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__13; +x_65 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__13; if (lean_is_scalar(x_64)) { x_66 = lean_alloc_ctor(0, 4, 0); } else { @@ -3339,7 +3510,7 @@ return x_71; } } } -static lean_object* _init_l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__1() { +static lean_object* _init_l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__1() { _start: { lean_object* x_1; @@ -3347,17 +3518,17 @@ x_1 = lean_mk_string("Command"); return x_1; } } -static lean_object* _init_l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__2() { +static lean_object* _init_l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isMultiConstant_x3f___spec__3___closed__4; -x_2 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__1; +x_2 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__3() { +static lean_object* _init_l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__3() { _start: { lean_object* x_1; @@ -3365,37 +3536,37 @@ x_1 = lean_mk_string("example"); return x_1; } } -static lean_object* _init_l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__4() { +static lean_object* _init_l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__2; -x_2 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__3; +x_1 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2; +x_2 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__3; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_inc(x_2); x_10 = l_Lean_Syntax_getKind(x_2); -x_11 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__4; +x_11 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__4; x_12 = lean_name_eq(x_10, x_11); lean_dec(x_10); if (x_12 == 0) { 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_inc(x_2); -x_13 = l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__2(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_13 = l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); x_14 = lean_ctor_get(x_13, 0); lean_inc(x_14); x_15 = lean_ctor_get(x_13, 1); lean_inc(x_15); lean_dec(x_13); x_16 = l_Lean_Elab_getDeclarationSelectionRef(x_2); -x_17 = l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__2(x_16, x_3, x_4, x_5, x_6, x_7, x_8, x_15); +x_17 = l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4(x_16, x_3, x_4, x_5, x_6, x_7, x_8, x_15); x_18 = lean_ctor_get(x_17, 0); lean_inc(x_18); x_19 = lean_ctor_get(x_17, 1); @@ -3404,7 +3575,7 @@ lean_dec(x_17); x_20 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_20, 0, x_14); lean_ctor_set(x_20, 1, x_18); -x_21 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3(x_1, x_20, x_3, x_4, x_5, x_6, x_7, x_8, x_19); +x_21 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5(x_1, x_20, x_3, x_4, x_5, x_6, x_7, x_8, x_19); return x_21; } else @@ -3420,7 +3591,7 @@ return x_23; } } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, 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_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, 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) { _start: { uint8_t x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; @@ -3487,7 +3658,7 @@ return x_31; } } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, 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_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, 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) { _start: { uint8_t x_18; lean_object* x_19; @@ -3560,7 +3731,7 @@ x_36 = lean_ctor_get(x_33, 1); lean_inc(x_36); lean_dec(x_33); x_37 = lean_box(0); -x_38 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__1(x_2, x_25, x_3, x_4, x_5, x_6, x_35, x_22, x_31, x_7, x_8, x_37, x_11, x_12, x_13, x_14, x_15, x_16, x_36); +x_38 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__1(x_2, x_25, x_3, x_4, x_5, x_6, x_35, x_22, x_31, x_7, x_8, x_37, x_11, x_12, x_13, x_14, x_15, x_16, x_36); lean_dec(x_8); lean_dec(x_25); lean_dec(x_2); @@ -3610,7 +3781,7 @@ x_50 = lean_ctor_get(x_49, 1); lean_inc(x_50); lean_dec(x_49); x_51 = lean_box(0); -x_52 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__1(x_2, x_25, x_3, x_4, x_5, x_6, x_41, x_22, x_31, x_7, x_8, x_51, x_11, x_12, x_13, x_14, x_15, x_16, x_50); +x_52 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__1(x_2, x_25, x_3, x_4, x_5, x_6, x_41, x_22, x_31, x_7, x_8, x_51, x_11, x_12, x_13, x_14, x_15, x_16, x_50); lean_dec(x_8); lean_dec(x_25); lean_dec(x_2); @@ -3696,7 +3867,7 @@ x_67 = lean_ctor_get(x_66, 1); lean_inc(x_67); lean_dec(x_66); x_68 = lean_box(0); -x_69 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__1(x_2, x_25, x_3, x_4, x_5, x_6, x_57, x_22, x_31, x_7, x_8, x_68, x_11, x_12, x_13, x_14, x_15, x_16, x_67); +x_69 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__1(x_2, x_25, x_3, x_4, x_5, x_6, x_57, x_22, x_31, x_7, x_8, x_68, x_11, x_12, x_13, x_14, x_15, x_16, x_67); lean_dec(x_8); lean_dec(x_25); lean_dec(x_2); @@ -3864,7 +4035,7 @@ return x_85; } } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* x_13; lean_object* x_14; @@ -3876,7 +4047,7 @@ x_14 = lean_apply_8(x_3, x_1, x_5, x_6, x_7, x_8, x_9, x_10, x_13); return x_14; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__1() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__1() { _start: { lean_object* x_1; @@ -3884,17 +4055,17 @@ x_1 = lean_mk_string("Elab"); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__2() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__1; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__3() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__3() { _start: { lean_object* x_1; @@ -3902,17 +4073,17 @@ x_1 = lean_mk_string("definition"); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__4() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__2; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__3; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__2; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__3; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__5() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__5() { _start: { lean_object* x_1; @@ -3920,16 +4091,16 @@ x_1 = lean_mk_string(">> type: "); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__6() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__6() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__5; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__5; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__7() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__7() { _start: { lean_object* x_1; @@ -3937,16 +4108,16 @@ x_1 = lean_mk_string("\n"); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__8() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__8() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__7; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__7; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { _start: { lean_object* x_16; @@ -3958,7 +4129,7 @@ lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; x_17 = lean_ctor_get(x_1, 5); lean_inc(x_17); lean_inc(x_17); -x_18 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__2___boxed), 17, 9); +x_18 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__2___boxed), 17, 9); lean_closure_set(x_18, 0, x_8); lean_closure_set(x_18, 1, x_1); lean_closure_set(x_18, 2, x_2); @@ -3985,7 +4156,7 @@ lean_inc(x_21); x_22 = lean_ctor_get(x_20, 1); lean_inc(x_22); lean_dec(x_20); -x_23 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__4; +x_23 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__4; x_43 = lean_st_ref_get(x_14, x_22); x_44 = lean_ctor_get(x_43, 0); lean_inc(x_44); @@ -4029,7 +4200,7 @@ if (x_24 == 0) { lean_object* x_26; lean_object* x_27; x_26 = lean_box(0); -x_27 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__3(x_21, x_17, x_18, x_26, x_9, x_10, x_11, x_12, x_13, x_14, x_25); +x_27 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__3(x_21, x_17, x_18, x_26, x_9, x_10, x_11, x_12, x_13, x_14, x_25); return x_27; } else @@ -4038,11 +4209,11 @@ lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean lean_inc(x_21); x_28 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_28, 0, x_21); -x_29 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__6; +x_29 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__6; x_30 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_30, 0, x_29); lean_ctor_set(x_30, 1, x_28); -x_31 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__8; +x_31 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__8; x_32 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_32, 0, x_30); lean_ctor_set(x_32, 1, x_31); @@ -4062,7 +4233,7 @@ lean_inc(x_39); x_40 = lean_ctor_get(x_38, 1); lean_inc(x_40); lean_dec(x_38); -x_41 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__3(x_21, x_17, x_18, x_39, x_9, x_10, x_11, x_12, x_13, x_14, x_40); +x_41 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__3(x_21, x_17, x_18, x_39, x_9, x_10, x_11, x_12, x_13, x_14, x_40); lean_dec(x_39); return x_41; } @@ -4127,7 +4298,7 @@ x_63 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_registerFailedToInferDe x_64 = lean_ctor_get(x_63, 1); lean_inc(x_64); lean_dec(x_63); -x_65 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__2(x_8, x_1, x_2, x_3, x_4, x_5, x_58, x_6, x_7, x_61, x_9, x_10, x_11, x_12, x_13, x_14, x_64); +x_65 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__2(x_8, x_1, x_2, x_3, x_4, x_5, x_58, x_6, x_7, x_61, x_9, x_10, x_11, x_12, x_13, x_14, x_64); return x_65; } else @@ -4171,7 +4342,7 @@ return x_69; } } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { uint8_t x_13; @@ -4180,7 +4351,6 @@ if (x_13 == 0) { lean_object* x_14; lean_dec(x_11); -lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -4193,237 +4363,187 @@ return x_14; } else { -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; 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_15; uint8_t x_16; x_15 = lean_array_uget(x_2, x_4); -x_16 = lean_ctor_get(x_15, 0); -lean_inc(x_16); -x_17 = lean_ctor_get(x_10, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_10, 1); -lean_inc(x_18); -x_19 = lean_ctor_get(x_10, 2); +x_16 = !lean_is_exclusive(x_5); +if (x_16 == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; +x_17 = lean_ctor_get(x_5, 0); +x_18 = lean_ctor_get(x_5, 1); +x_19 = lean_ctor_get(x_17, 0); lean_inc(x_19); -x_20 = lean_ctor_get(x_10, 3); +x_20 = lean_ctor_get(x_17, 1); lean_inc(x_20); -x_21 = lean_ctor_get(x_10, 4); +x_21 = lean_ctor_get(x_17, 2); lean_inc(x_21); -x_22 = lean_ctor_get(x_10, 5); -lean_inc(x_22); -x_23 = lean_ctor_get(x_10, 6); -lean_inc(x_23); -x_24 = lean_ctor_get(x_10, 7); -lean_inc(x_24); -x_25 = lean_ctor_get(x_10, 8); -lean_inc(x_25); -x_26 = l_Lean_replaceRef(x_16, x_20); +x_22 = lean_nat_dec_lt(x_20, x_21); +if (x_22 == 0) +{ +lean_object* x_23; +lean_dec(x_21); lean_dec(x_20); -lean_inc(x_21); -x_27 = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(x_27, 0, x_17); -lean_ctor_set(x_27, 1, x_18); -lean_ctor_set(x_27, 2, x_19); -lean_ctor_set(x_27, 3, x_26); -lean_ctor_set(x_27, 4, x_21); -lean_ctor_set(x_27, 5, x_22); -lean_ctor_set(x_27, 6, x_23); -lean_ctor_set(x_27, 7, x_24); -lean_ctor_set(x_27, 8, x_25); -x_28 = l_Lean_Elab_Term_getLevelNames___rarg(x_7, x_8, x_9, x_27, x_11, x_12); -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_28, 1); -lean_inc(x_30); -lean_dec(x_28); -x_31 = lean_ctor_get(x_15, 2); +lean_dec(x_19); +lean_dec(x_15); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_23 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_23, 0, x_5); +lean_ctor_set(x_23, 1, x_12); +return x_23; +} +else +{ +uint8_t x_24; +x_24 = !lean_is_exclusive(x_17); +if (x_24 == 0) +{ +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; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50; lean_object* x_51; +x_25 = lean_ctor_get(x_17, 2); +lean_dec(x_25); +x_26 = lean_ctor_get(x_17, 1); +lean_dec(x_26); +x_27 = lean_ctor_get(x_17, 0); +lean_dec(x_27); +x_28 = lean_array_fget(x_19, x_20); +x_29 = lean_unsigned_to_nat(1u); +x_30 = lean_nat_add(x_20, x_29); +lean_dec(x_20); +lean_ctor_set(x_17, 1, x_30); +x_31 = lean_ctor_get(x_28, 0); lean_inc(x_31); -x_32 = lean_ctor_get(x_15, 1); +x_32 = lean_ctor_get(x_28, 1); lean_inc(x_32); -lean_inc(x_11); -lean_inc(x_27); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_32); -x_33 = l_Lean_Elab_Term_expandDeclId(x_21, x_29, x_31, x_32, x_6, x_7, x_8, x_9, x_27, x_11, x_30); -if (lean_obj_tag(x_33) == 0) -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; uint8_t x_42; lean_object* x_43; -x_34 = lean_ctor_get(x_33, 0); +x_33 = lean_ctor_get(x_28, 2); +lean_inc(x_33); +lean_dec(x_28); +x_34 = lean_ctor_get(x_15, 0); lean_inc(x_34); -x_35 = lean_ctor_get(x_33, 1); -lean_inc(x_35); -lean_dec(x_33); -x_36 = lean_ctor_get(x_34, 0); -lean_inc(x_36); -x_37 = lean_ctor_get(x_34, 1); -lean_inc(x_37); -x_38 = lean_ctor_get(x_34, 2); -lean_inc(x_38); -lean_dec(x_34); -lean_inc(x_16); -lean_inc(x_37); -x_39 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1(x_37, x_16, x_6, x_7, x_8, x_9, x_27, x_11, x_35); -x_40 = lean_ctor_get(x_39, 1); -lean_inc(x_40); -lean_dec(x_39); -x_41 = lean_ctor_get(x_32, 1); +x_35 = lean_ctor_get(x_10, 0); +x_36 = lean_ctor_get(x_10, 1); +x_37 = lean_ctor_get(x_10, 2); +x_38 = lean_ctor_get(x_10, 3); +x_39 = lean_ctor_get(x_10, 4); +x_40 = lean_ctor_get(x_10, 5); +x_41 = lean_ctor_get(x_10, 6); +x_42 = lean_ctor_get(x_10, 7); +x_43 = lean_ctor_get(x_10, 8); +x_44 = l_Lean_replaceRef(x_34, x_38); +lean_inc(x_43); +lean_inc(x_42); lean_inc(x_41); -x_42 = 2; -lean_inc(x_11); -lean_inc(x_27); -lean_inc(x_6); +lean_inc(x_40); +lean_inc(x_39); lean_inc(x_37); -x_43 = l_Lean_Elab_Term_applyAttributesAt(x_37, x_41, x_42, x_6, x_7, x_8, x_9, x_27, x_11, x_40); -lean_dec(x_41); -if (lean_obj_tag(x_43) == 0) -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_44 = lean_ctor_get(x_43, 1); -lean_inc(x_44); -lean_dec(x_43); -x_45 = lean_ctor_get(x_15, 3); +lean_inc(x_36); +lean_inc(x_35); +x_45 = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(x_45, 0, x_35); +lean_ctor_set(x_45, 1, x_36); +lean_ctor_set(x_45, 2, x_37); +lean_ctor_set(x_45, 3, x_44); +lean_ctor_set(x_45, 4, x_39); +lean_ctor_set(x_45, 5, x_40); +lean_ctor_set(x_45, 6, x_41); +lean_ctor_set(x_45, 7, x_42); +lean_ctor_set(x_45, 8, x_43); +lean_inc(x_34); +lean_inc(x_32); +x_46 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3(x_32, x_34, x_6, x_7, x_8, x_9, x_45, x_11, x_12); +x_47 = lean_ctor_get(x_46, 1); +lean_inc(x_47); +lean_dec(x_46); +x_48 = lean_ctor_get(x_15, 1); +lean_inc(x_48); +x_49 = lean_ctor_get(x_48, 1); +lean_inc(x_49); +x_50 = 2; +lean_inc(x_11); lean_inc(x_45); -x_46 = l_Lean_Syntax_getArgs(x_45); -lean_dec(x_45); -lean_inc(x_1); -lean_inc(x_5); -lean_inc(x_37); -x_47 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4), 15, 7); -lean_closure_set(x_47, 0, x_15); -lean_closure_set(x_47, 1, x_16); -lean_closure_set(x_47, 2, x_32); -lean_closure_set(x_47, 3, x_36); -lean_closure_set(x_47, 4, x_37); -lean_closure_set(x_47, 5, x_5); -lean_closure_set(x_47, 6, x_1); -x_48 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabBindersEx___rarg), 9, 2); -lean_closure_set(x_48, 0, x_46); -lean_closure_set(x_48, 1, x_47); -x_49 = lean_alloc_closure((void*)(l_Lean_Elab_Term_withLevelNames___rarg), 9, 2); -lean_closure_set(x_49, 0, x_38); -lean_closure_set(x_49, 1, x_48); -x_50 = lean_alloc_closure((void*)(l_Lean_Elab_Term_withAutoBoundImplicit___rarg), 8, 1); -lean_closure_set(x_50, 0, x_49); -lean_inc(x_11); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); lean_inc(x_6); -x_51 = l_Lean_Elab_Term_withDeclName___rarg(x_37, x_50, x_6, x_7, x_8, x_9, x_27, x_11, x_44); +lean_inc(x_32); +x_51 = l_Lean_Elab_Term_applyAttributesAt(x_32, x_49, x_50, x_6, x_7, x_8, x_9, x_45, x_11, x_47); +lean_dec(x_49); if (lean_obj_tag(x_51) == 0) { -lean_object* x_52; lean_object* x_53; lean_object* x_54; size_t x_55; size_t x_56; -x_52 = lean_ctor_get(x_51, 0); +lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_52 = lean_ctor_get(x_51, 1); lean_inc(x_52); -x_53 = lean_ctor_get(x_51, 1); -lean_inc(x_53); lean_dec(x_51); -x_54 = lean_array_push(x_5, x_52); -x_55 = 1; -x_56 = lean_usize_add(x_4, x_55); -x_4 = x_56; -x_5 = x_54; -x_12 = x_53; +x_53 = lean_ctor_get(x_15, 3); +lean_inc(x_53); +x_54 = l_Lean_Syntax_getArgs(x_53); +lean_dec(x_53); +lean_inc(x_1); +lean_inc(x_18); +lean_inc(x_32); +x_55 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4), 15, 7); +lean_closure_set(x_55, 0, x_15); +lean_closure_set(x_55, 1, x_34); +lean_closure_set(x_55, 2, x_48); +lean_closure_set(x_55, 3, x_31); +lean_closure_set(x_55, 4, x_32); +lean_closure_set(x_55, 5, x_18); +lean_closure_set(x_55, 6, x_1); +x_56 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabBindersEx___rarg), 9, 2); +lean_closure_set(x_56, 0, x_54); +lean_closure_set(x_56, 1, x_55); +x_57 = lean_alloc_closure((void*)(l_Lean_Elab_Term_withLevelNames___rarg), 9, 2); +lean_closure_set(x_57, 0, x_33); +lean_closure_set(x_57, 1, x_56); +x_58 = lean_alloc_closure((void*)(l_Lean_Elab_Term_withAutoBoundImplicit___rarg), 8, 1); +lean_closure_set(x_58, 0, x_57); +lean_inc(x_11); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_59 = l_Lean_Elab_Term_withDeclName___rarg(x_32, x_58, x_6, x_7, x_8, x_9, x_45, x_11, x_52); +if (lean_obj_tag(x_59) == 0) +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; size_t x_63; size_t x_64; +x_60 = lean_ctor_get(x_59, 0); +lean_inc(x_60); +x_61 = lean_ctor_get(x_59, 1); +lean_inc(x_61); +lean_dec(x_59); +x_62 = lean_array_push(x_18, x_60); +lean_ctor_set(x_5, 1, x_62); +x_63 = 1; +x_64 = lean_usize_add(x_4, x_63); +x_4 = x_64; +x_12 = x_61; goto _start; } else { -uint8_t x_58; -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_58 = !lean_is_exclusive(x_51); -if (x_58 == 0) -{ -return x_51; -} -else -{ -lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_59 = lean_ctor_get(x_51, 0); -x_60 = lean_ctor_get(x_51, 1); -lean_inc(x_60); -lean_inc(x_59); -lean_dec(x_51); -x_61 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_61, 0, x_59); -lean_ctor_set(x_61, 1, x_60); -return x_61; -} -} -} -else -{ -uint8_t x_62; -lean_dec(x_38); -lean_dec(x_37); -lean_dec(x_36); -lean_dec(x_32); -lean_dec(x_27); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -x_62 = !lean_is_exclusive(x_43); -if (x_62 == 0) -{ -return x_43; -} -else -{ -lean_object* x_63; lean_object* x_64; lean_object* x_65; -x_63 = lean_ctor_get(x_43, 0); -x_64 = lean_ctor_get(x_43, 1); -lean_inc(x_64); -lean_inc(x_63); -lean_dec(x_43); -x_65 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_65, 0, x_63); -lean_ctor_set(x_65, 1, x_64); -return x_65; -} -} -} -else -{ uint8_t x_66; -lean_dec(x_32); -lean_dec(x_27); -lean_dec(x_16); -lean_dec(x_15); +lean_dec(x_17); +lean_free_object(x_5); +lean_dec(x_18); lean_dec(x_11); -lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); lean_dec(x_1); -x_66 = !lean_is_exclusive(x_33); +x_66 = !lean_is_exclusive(x_59); if (x_66 == 0) { -return x_33; +return x_59; } else { lean_object* x_67; lean_object* x_68; lean_object* x_69; -x_67 = lean_ctor_get(x_33, 0); -x_68 = lean_ctor_get(x_33, 1); +x_67 = lean_ctor_get(x_59, 0); +x_68 = lean_ctor_get(x_59, 1); lean_inc(x_68); lean_inc(x_67); -lean_dec(x_33); +lean_dec(x_59); x_69 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_69, 0, x_67); lean_ctor_set(x_69, 1, x_68); @@ -4431,71 +4551,707 @@ return x_69; } } } +else +{ +uint8_t x_70; +lean_dec(x_48); +lean_dec(x_45); +lean_dec(x_34); +lean_dec(x_33); +lean_dec(x_32); +lean_dec(x_31); +lean_dec(x_17); +lean_free_object(x_5); +lean_dec(x_18); +lean_dec(x_15); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_70 = !lean_is_exclusive(x_51); +if (x_70 == 0) +{ +return x_51; +} +else +{ +lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_71 = lean_ctor_get(x_51, 0); +x_72 = lean_ctor_get(x_51, 1); +lean_inc(x_72); +lean_inc(x_71); +lean_dec(x_51); +x_73 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_73, 0, x_71); +lean_ctor_set(x_73, 1, x_72); +return x_73; +} +} +} +else +{ +lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; 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; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; uint8_t x_97; lean_object* x_98; +lean_dec(x_17); +x_74 = lean_array_fget(x_19, x_20); +x_75 = lean_unsigned_to_nat(1u); +x_76 = lean_nat_add(x_20, x_75); +lean_dec(x_20); +x_77 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_77, 0, x_19); +lean_ctor_set(x_77, 1, x_76); +lean_ctor_set(x_77, 2, x_21); +x_78 = lean_ctor_get(x_74, 0); +lean_inc(x_78); +x_79 = lean_ctor_get(x_74, 1); +lean_inc(x_79); +x_80 = lean_ctor_get(x_74, 2); +lean_inc(x_80); +lean_dec(x_74); +x_81 = lean_ctor_get(x_15, 0); +lean_inc(x_81); +x_82 = lean_ctor_get(x_10, 0); +x_83 = lean_ctor_get(x_10, 1); +x_84 = lean_ctor_get(x_10, 2); +x_85 = lean_ctor_get(x_10, 3); +x_86 = lean_ctor_get(x_10, 4); +x_87 = lean_ctor_get(x_10, 5); +x_88 = lean_ctor_get(x_10, 6); +x_89 = lean_ctor_get(x_10, 7); +x_90 = lean_ctor_get(x_10, 8); +x_91 = l_Lean_replaceRef(x_81, x_85); +lean_inc(x_90); +lean_inc(x_89); +lean_inc(x_88); +lean_inc(x_87); +lean_inc(x_86); +lean_inc(x_84); +lean_inc(x_83); +lean_inc(x_82); +x_92 = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(x_92, 0, x_82); +lean_ctor_set(x_92, 1, x_83); +lean_ctor_set(x_92, 2, x_84); +lean_ctor_set(x_92, 3, x_91); +lean_ctor_set(x_92, 4, x_86); +lean_ctor_set(x_92, 5, x_87); +lean_ctor_set(x_92, 6, x_88); +lean_ctor_set(x_92, 7, x_89); +lean_ctor_set(x_92, 8, x_90); +lean_inc(x_81); +lean_inc(x_79); +x_93 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3(x_79, x_81, x_6, x_7, x_8, x_9, x_92, x_11, x_12); +x_94 = lean_ctor_get(x_93, 1); +lean_inc(x_94); +lean_dec(x_93); +x_95 = lean_ctor_get(x_15, 1); +lean_inc(x_95); +x_96 = lean_ctor_get(x_95, 1); +lean_inc(x_96); +x_97 = 2; +lean_inc(x_11); +lean_inc(x_92); +lean_inc(x_6); +lean_inc(x_79); +x_98 = l_Lean_Elab_Term_applyAttributesAt(x_79, x_96, x_97, x_6, x_7, x_8, x_9, x_92, x_11, x_94); +lean_dec(x_96); +if (lean_obj_tag(x_98) == 0) +{ +lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; +x_99 = lean_ctor_get(x_98, 1); +lean_inc(x_99); +lean_dec(x_98); +x_100 = lean_ctor_get(x_15, 3); +lean_inc(x_100); +x_101 = l_Lean_Syntax_getArgs(x_100); +lean_dec(x_100); +lean_inc(x_1); +lean_inc(x_18); +lean_inc(x_79); +x_102 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4), 15, 7); +lean_closure_set(x_102, 0, x_15); +lean_closure_set(x_102, 1, x_81); +lean_closure_set(x_102, 2, x_95); +lean_closure_set(x_102, 3, x_78); +lean_closure_set(x_102, 4, x_79); +lean_closure_set(x_102, 5, x_18); +lean_closure_set(x_102, 6, x_1); +x_103 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabBindersEx___rarg), 9, 2); +lean_closure_set(x_103, 0, x_101); +lean_closure_set(x_103, 1, x_102); +x_104 = lean_alloc_closure((void*)(l_Lean_Elab_Term_withLevelNames___rarg), 9, 2); +lean_closure_set(x_104, 0, x_80); +lean_closure_set(x_104, 1, x_103); +x_105 = lean_alloc_closure((void*)(l_Lean_Elab_Term_withAutoBoundImplicit___rarg), 8, 1); +lean_closure_set(x_105, 0, x_104); +lean_inc(x_11); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_106 = l_Lean_Elab_Term_withDeclName___rarg(x_79, x_105, x_6, x_7, x_8, x_9, x_92, x_11, x_99); +if (lean_obj_tag(x_106) == 0) +{ +lean_object* x_107; lean_object* x_108; lean_object* x_109; size_t x_110; size_t x_111; +x_107 = lean_ctor_get(x_106, 0); +lean_inc(x_107); +x_108 = lean_ctor_get(x_106, 1); +lean_inc(x_108); +lean_dec(x_106); +x_109 = lean_array_push(x_18, x_107); +lean_ctor_set(x_5, 1, x_109); +lean_ctor_set(x_5, 0, x_77); +x_110 = 1; +x_111 = lean_usize_add(x_4, x_110); +x_4 = x_111; +x_12 = x_108; +goto _start; +} +else +{ +lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; +lean_dec(x_77); +lean_free_object(x_5); +lean_dec(x_18); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_113 = lean_ctor_get(x_106, 0); +lean_inc(x_113); +x_114 = lean_ctor_get(x_106, 1); +lean_inc(x_114); +if (lean_is_exclusive(x_106)) { + lean_ctor_release(x_106, 0); + lean_ctor_release(x_106, 1); + x_115 = x_106; +} else { + lean_dec_ref(x_106); + x_115 = lean_box(0); +} +if (lean_is_scalar(x_115)) { + x_116 = lean_alloc_ctor(1, 2, 0); +} else { + x_116 = x_115; +} +lean_ctor_set(x_116, 0, x_113); +lean_ctor_set(x_116, 1, x_114); +return x_116; +} +} +else +{ +lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; +lean_dec(x_95); +lean_dec(x_92); +lean_dec(x_81); +lean_dec(x_80); +lean_dec(x_79); +lean_dec(x_78); +lean_dec(x_77); +lean_free_object(x_5); +lean_dec(x_18); +lean_dec(x_15); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_117 = lean_ctor_get(x_98, 0); +lean_inc(x_117); +x_118 = lean_ctor_get(x_98, 1); +lean_inc(x_118); +if (lean_is_exclusive(x_98)) { + lean_ctor_release(x_98, 0); + lean_ctor_release(x_98, 1); + x_119 = x_98; +} else { + lean_dec_ref(x_98); + x_119 = lean_box(0); +} +if (lean_is_scalar(x_119)) { + x_120 = lean_alloc_ctor(1, 2, 0); +} else { + x_120 = x_119; +} +lean_ctor_set(x_120, 0, x_117); +lean_ctor_set(x_120, 1, x_118); +return x_120; +} +} +} +} +else +{ +lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; uint8_t x_126; +x_121 = lean_ctor_get(x_5, 0); +x_122 = lean_ctor_get(x_5, 1); +lean_inc(x_122); +lean_inc(x_121); +lean_dec(x_5); +x_123 = lean_ctor_get(x_121, 0); +lean_inc(x_123); +x_124 = lean_ctor_get(x_121, 1); +lean_inc(x_124); +x_125 = lean_ctor_get(x_121, 2); +lean_inc(x_125); +x_126 = lean_nat_dec_lt(x_124, x_125); +if (x_126 == 0) +{ +lean_object* x_127; lean_object* x_128; +lean_dec(x_125); +lean_dec(x_124); +lean_dec(x_123); +lean_dec(x_15); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_127 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_127, 0, x_121); +lean_ctor_set(x_127, 1, x_122); +x_128 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_128, 0, x_127); +lean_ctor_set(x_128, 1, x_12); +return x_128; +} +else +{ +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_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* 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; lean_object* x_152; uint8_t x_153; lean_object* x_154; +if (lean_is_exclusive(x_121)) { + lean_ctor_release(x_121, 0); + lean_ctor_release(x_121, 1); + lean_ctor_release(x_121, 2); + x_129 = x_121; +} else { + lean_dec_ref(x_121); + x_129 = lean_box(0); +} +x_130 = lean_array_fget(x_123, x_124); +x_131 = lean_unsigned_to_nat(1u); +x_132 = lean_nat_add(x_124, x_131); +lean_dec(x_124); +if (lean_is_scalar(x_129)) { + x_133 = lean_alloc_ctor(0, 3, 0); +} else { + x_133 = x_129; +} +lean_ctor_set(x_133, 0, x_123); +lean_ctor_set(x_133, 1, x_132); +lean_ctor_set(x_133, 2, x_125); +x_134 = lean_ctor_get(x_130, 0); +lean_inc(x_134); +x_135 = lean_ctor_get(x_130, 1); +lean_inc(x_135); +x_136 = lean_ctor_get(x_130, 2); +lean_inc(x_136); +lean_dec(x_130); +x_137 = lean_ctor_get(x_15, 0); +lean_inc(x_137); +x_138 = lean_ctor_get(x_10, 0); +x_139 = lean_ctor_get(x_10, 1); +x_140 = lean_ctor_get(x_10, 2); +x_141 = lean_ctor_get(x_10, 3); +x_142 = lean_ctor_get(x_10, 4); +x_143 = lean_ctor_get(x_10, 5); +x_144 = lean_ctor_get(x_10, 6); +x_145 = lean_ctor_get(x_10, 7); +x_146 = lean_ctor_get(x_10, 8); +x_147 = l_Lean_replaceRef(x_137, x_141); +lean_inc(x_146); +lean_inc(x_145); +lean_inc(x_144); +lean_inc(x_143); +lean_inc(x_142); +lean_inc(x_140); +lean_inc(x_139); +lean_inc(x_138); +x_148 = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(x_148, 0, x_138); +lean_ctor_set(x_148, 1, x_139); +lean_ctor_set(x_148, 2, x_140); +lean_ctor_set(x_148, 3, x_147); +lean_ctor_set(x_148, 4, x_142); +lean_ctor_set(x_148, 5, x_143); +lean_ctor_set(x_148, 6, x_144); +lean_ctor_set(x_148, 7, x_145); +lean_ctor_set(x_148, 8, x_146); +lean_inc(x_137); +lean_inc(x_135); +x_149 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3(x_135, x_137, x_6, x_7, x_8, x_9, x_148, x_11, x_12); +x_150 = lean_ctor_get(x_149, 1); +lean_inc(x_150); +lean_dec(x_149); +x_151 = lean_ctor_get(x_15, 1); +lean_inc(x_151); +x_152 = lean_ctor_get(x_151, 1); +lean_inc(x_152); +x_153 = 2; +lean_inc(x_11); +lean_inc(x_148); +lean_inc(x_6); +lean_inc(x_135); +x_154 = l_Lean_Elab_Term_applyAttributesAt(x_135, x_152, x_153, x_6, x_7, x_8, x_9, x_148, x_11, x_150); +lean_dec(x_152); +if (lean_obj_tag(x_154) == 0) +{ +lean_object* x_155; lean_object* 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; +x_155 = lean_ctor_get(x_154, 1); +lean_inc(x_155); +lean_dec(x_154); +x_156 = lean_ctor_get(x_15, 3); +lean_inc(x_156); +x_157 = l_Lean_Syntax_getArgs(x_156); +lean_dec(x_156); +lean_inc(x_1); +lean_inc(x_122); +lean_inc(x_135); +x_158 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4), 15, 7); +lean_closure_set(x_158, 0, x_15); +lean_closure_set(x_158, 1, x_137); +lean_closure_set(x_158, 2, x_151); +lean_closure_set(x_158, 3, x_134); +lean_closure_set(x_158, 4, x_135); +lean_closure_set(x_158, 5, x_122); +lean_closure_set(x_158, 6, x_1); +x_159 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabBindersEx___rarg), 9, 2); +lean_closure_set(x_159, 0, x_157); +lean_closure_set(x_159, 1, x_158); +x_160 = lean_alloc_closure((void*)(l_Lean_Elab_Term_withLevelNames___rarg), 9, 2); +lean_closure_set(x_160, 0, x_136); +lean_closure_set(x_160, 1, x_159); +x_161 = lean_alloc_closure((void*)(l_Lean_Elab_Term_withAutoBoundImplicit___rarg), 8, 1); +lean_closure_set(x_161, 0, x_160); +lean_inc(x_11); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_162 = l_Lean_Elab_Term_withDeclName___rarg(x_135, x_161, x_6, x_7, x_8, x_9, x_148, x_11, x_155); +if (lean_obj_tag(x_162) == 0) +{ +lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; size_t x_167; size_t x_168; +x_163 = lean_ctor_get(x_162, 0); +lean_inc(x_163); +x_164 = lean_ctor_get(x_162, 1); +lean_inc(x_164); +lean_dec(x_162); +x_165 = lean_array_push(x_122, x_163); +x_166 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_166, 0, x_133); +lean_ctor_set(x_166, 1, x_165); +x_167 = 1; +x_168 = lean_usize_add(x_4, x_167); +x_4 = x_168; +x_5 = x_166; +x_12 = x_164; +goto _start; +} +else +{ +lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; +lean_dec(x_133); +lean_dec(x_122); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_170 = lean_ctor_get(x_162, 0); +lean_inc(x_170); +x_171 = lean_ctor_get(x_162, 1); +lean_inc(x_171); +if (lean_is_exclusive(x_162)) { + lean_ctor_release(x_162, 0); + lean_ctor_release(x_162, 1); + x_172 = x_162; +} else { + lean_dec_ref(x_162); + x_172 = lean_box(0); +} +if (lean_is_scalar(x_172)) { + x_173 = lean_alloc_ctor(1, 2, 0); +} else { + x_173 = x_172; +} +lean_ctor_set(x_173, 0, x_170); +lean_ctor_set(x_173, 1, x_171); +return x_173; +} +} +else +{ +lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; +lean_dec(x_151); +lean_dec(x_148); +lean_dec(x_137); +lean_dec(x_136); +lean_dec(x_135); +lean_dec(x_134); +lean_dec(x_133); +lean_dec(x_122); +lean_dec(x_15); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_174 = lean_ctor_get(x_154, 0); +lean_inc(x_174); +x_175 = lean_ctor_get(x_154, 1); +lean_inc(x_175); +if (lean_is_exclusive(x_154)) { + lean_ctor_release(x_154, 0); + lean_ctor_release(x_154, 1); + x_176 = x_154; +} else { + lean_dec_ref(x_154); + x_176 = lean_box(0); +} +if (lean_is_scalar(x_176)) { + x_177 = lean_alloc_ctor(1, 2, 0); +} else { + x_177 = x_176; +} +lean_ctor_set(x_177, 0, x_174); +lean_ctor_set(x_177, 1, x_175); +return x_177; +} +} +} +} +} +} +LEAN_EXPORT uint8_t l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___lambda__1(lean_object* x_1, size_t x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; lean_object* x_5; uint8_t x_6; +x_4 = lean_array_get_size(x_1); +x_5 = lean_unsigned_to_nat(0u); +x_6 = lean_nat_dec_lt(x_5, x_4); +if (x_6 == 0) +{ +uint8_t x_7; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_7 = 0; +return x_7; +} +else +{ +uint8_t x_8; +x_8 = lean_nat_dec_le(x_4, x_4); +if (x_8 == 0) +{ +uint8_t x_9; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_9 = 0; +return x_9; +} +else +{ +size_t x_10; uint8_t x_11; +x_10 = lean_usize_of_nat(x_4); +lean_dec(x_4); +x_11 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__2(x_3, x_1, x_2, x_10); +lean_dec(x_1); +lean_dec(x_3); +return x_11; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___lambda__2(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; +lean_inc(x_1); +x_12 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6(x_1, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_1); +if (lean_obj_tag(x_12) == 0) +{ +uint8_t x_13; +x_13 = !lean_is_exclusive(x_12); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_12, 0); +x_15 = lean_ctor_get(x_14, 1); +lean_inc(x_15); +lean_dec(x_14); +lean_ctor_set(x_12, 0, x_15); +return x_12; +} +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_16 = lean_ctor_get(x_12, 0); +x_17 = lean_ctor_get(x_12, 1); +lean_inc(x_17); +lean_inc(x_16); +lean_dec(x_12); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_17); +return x_19; +} +} +else +{ +uint8_t x_20; +x_20 = !lean_is_exclusive(x_12); +if (x_20 == 0) +{ +return x_12; +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_12, 0); +x_22 = lean_ctor_get(x_12, 1); +lean_inc(x_22); +lean_inc(x_21); +lean_dec(x_12); +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +return x_23; +} +} +} +} +static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___boxed__const__1() { +_start: +{ +size_t x_1; lean_object* x_2; +x_1 = 0; +x_2 = lean_box_usize(x_1); +return x_2; } } LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { -lean_object* x_9; size_t x_10; size_t x_11; lean_object* x_12; lean_object* x_13; +lean_object* x_9; size_t x_10; size_t x_11; lean_object* x_12; x_9 = lean_array_get_size(x_1); x_10 = lean_usize_of_nat(x_9); lean_dec(x_9); x_11 = 0; -x_12 = l_Lean_Elab_instInhabitedDefViewElabHeader___closed__1; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); lean_inc(x_1); -x_13 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4(x_1, x_1, x_10, x_11, x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -lean_dec(x_1); -if (lean_obj_tag(x_13) == 0) +x_12 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1(x_10, x_11, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_12) == 0) { -uint8_t x_14; -x_14 = !lean_is_exclusive(x_13); -if (x_14 == 0) -{ -return x_13; -} -else -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_15 = lean_ctor_get(x_13, 0); -x_16 = lean_ctor_get(x_13, 1); -lean_inc(x_16); -lean_inc(x_15); -lean_dec(x_13); -x_17 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_17, 0, x_15); -lean_ctor_set(x_17, 1, x_16); -return x_17; -} -} -else -{ -uint8_t x_18; -x_18 = !lean_is_exclusive(x_13); -if (x_18 == 0) -{ -return x_13; -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_13, 0); -x_20 = lean_ctor_get(x_13, 1); -lean_inc(x_20); -lean_inc(x_19); -lean_dec(x_13); -x_21 = lean_alloc_ctor(1, 2, 0); +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; lean_object* x_25; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +x_15 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___boxed__const__1; +lean_inc(x_13); +x_16 = lean_alloc_closure((void*)(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___lambda__1___boxed), 3, 2); +lean_closure_set(x_16, 0, x_13); +lean_closure_set(x_16, 1, x_15); +x_17 = lean_array_get_size(x_13); +x_18 = lean_unsigned_to_nat(0u); +x_19 = l_Array_toSubarray___rarg(x_13, x_18, x_17); +x_20 = l_Lean_Elab_instInhabitedDefViewElabHeader___closed__1; +x_21 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_21, 0, x_19); lean_ctor_set(x_21, 1, x_20); -return x_21; +x_22 = lean_box_usize(x_10); +x_23 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___boxed__const__1; +x_24 = lean_alloc_closure((void*)(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___lambda__2___boxed), 11, 4); +lean_closure_set(x_24, 0, x_1); +lean_closure_set(x_24, 1, x_22); +lean_closure_set(x_24, 2, x_23); +lean_closure_set(x_24, 3, x_21); +x_25 = l_Lean_Elab_Term_withAutoBoundImplicitForbiddenPred___rarg(x_16, x_24, x_2, x_3, x_4, x_5, x_6, x_7, x_14); +return x_25; +} +else +{ +uint8_t x_26; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_26 = !lean_is_exclusive(x_12); +if (x_26 == 0) +{ +return x_12; +} +else +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_12, 0); +x_28 = lean_ctor_get(x_12, 1); +lean_inc(x_28); +lean_inc(x_27); +lean_dec(x_12); +x_29 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +return x_29; } } } } -LEAN_EXPORT lean_object* l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +size_t x_11; size_t x_12; lean_object* x_13; +x_11 = lean_unbox_usize(x_1); +lean_dec(x_1); +x_12 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_13 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1(x_11, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +return x_13; +} +} +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +size_t x_5; size_t x_6; uint8_t x_7; lean_object* x_8; +x_5 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_6 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_7 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__2(x_1, x_2, x_5, x_6); +lean_dec(x_2); +lean_dec(x_1); +x_8 = lean_box(x_7); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; -x_9 = l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -4505,11 +5261,11 @@ lean_dec(x_2); return x_9; } } -LEAN_EXPORT lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; -x_10 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_10 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -4519,11 +5275,11 @@ lean_dec(x_3); return x_10; } } -LEAN_EXPORT lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; -x_10 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_10 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -4533,7 +5289,7 @@ lean_dec(x_3); return x_10; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__1___boxed(lean_object** _args) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__1___boxed(lean_object** _args) { lean_object* x_1 = _args[0]; lean_object* x_2 = _args[1]; lean_object* x_3 = _args[2]; @@ -4556,7 +5312,7 @@ lean_object* x_19 = _args[18]; _start: { lean_object* x_20; -x_20 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19); +x_20 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19); lean_dec(x_12); lean_dec(x_11); lean_dec(x_2); @@ -4564,7 +5320,7 @@ lean_dec(x_1); return x_20; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__2___boxed(lean_object** _args) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__2___boxed(lean_object** _args) { lean_object* x_1 = _args[0]; lean_object* x_2 = _args[1]; lean_object* x_3 = _args[2]; @@ -4585,20 +5341,20 @@ lean_object* x_17 = _args[16]; _start: { lean_object* x_18; -x_18 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +x_18 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); return x_18; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; -x_12 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_12 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_4); return x_12; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { size_t x_13; size_t x_14; lean_object* x_15; @@ -4606,11 +5362,36 @@ x_13 = lean_unbox_usize(x_3); lean_dec(x_3); x_14 = lean_unbox_usize(x_4); lean_dec(x_4); -x_15 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4(x_1, x_2, x_13, x_14, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_15 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6(x_1, x_2, x_13, x_14, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_10); lean_dec(x_2); return x_15; } } +LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +size_t x_4; uint8_t x_5; lean_object* x_6; +x_4 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_5 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___lambda__1(x_1, x_4, x_3); +x_6 = lean_box(x_5); +return x_6; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +size_t x_12; size_t x_13; lean_object* x_14; +x_12 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_13 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_14 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___lambda__2(x_1, x_12, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_9); +return x_14; +} +} LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withFunLocalDecls_loop___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { @@ -5935,7 +6716,7 @@ static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__2; +x_1 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2; x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; @@ -6052,7 +6833,7 @@ x_9 = l_Lean_Syntax_getArg(x_1, x_8); lean_dec(x_1); x_10 = l_Lean_Syntax_getArgs(x_9); lean_dec(x_9); -x_11 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__2; +x_11 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2; x_12 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isMultiConstant_x3f___spec__3___closed__4; x_13 = lean_alloc_closure((void*)(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__2), 3, 2); lean_closure_set(x_13, 0, x_11); @@ -6336,7 +7117,7 @@ static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__2; +x_1 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2; x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; @@ -6354,7 +7135,7 @@ static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__2; +x_1 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2; x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__3; x_3 = lean_name_mk_string(x_1, x_2); return x_3; @@ -16450,7 +17231,7 @@ static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_Mutu _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__4; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__4; x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; @@ -26701,7 +27482,7 @@ else lean_object* x_14; lean_object* x_15; uint8_t x_16; lean_object* x_17; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; lean_dec(x_4); x_14 = lean_array_uget(x_1, x_3); -x_15 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__4; +x_15 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__4; x_44 = lean_st_ref_get(x_10, x_11); x_45 = lean_ctor_get(x_44, 0); lean_inc(x_45); @@ -28628,7 +29409,7 @@ static lean_object* _init_l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabM _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__2; +x_1 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2; x_2 = l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__3___closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; @@ -28646,7 +29427,7 @@ static lean_object* _init_l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabM _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__2; +x_1 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2; x_2 = l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__3___closed__3; x_3 = lean_name_mk_string(x_1, x_2); return x_3; @@ -28774,7 +29555,7 @@ static lean_object* _init_l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabM _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__2; +x_1 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2; x_2 = l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___closed__3; x_3 = lean_name_mk_string(x_1, x_2); return x_3; @@ -29328,9 +30109,9 @@ x_28 = !lean_is_exclusive(x_6); if (x_28 == 0) { lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_29 = lean_ctor_get(x_6, 6); +x_29 = lean_ctor_get(x_6, 7); lean_dec(x_29); -lean_ctor_set(x_6, 6, x_27); +lean_ctor_set(x_6, 7, x_27); x_30 = l_Lean_Elab_Term_resetMessageLog(x_6, x_7, x_8, x_9, x_10, x_11, x_26); x_31 = lean_ctor_get(x_30, 1); lean_inc(x_31); @@ -29344,23 +30125,25 @@ return x_34; } else { -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; uint8_t x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; uint8_t x_45; uint8_t x_46; uint8_t x_47; lean_object* x_48; uint8_t 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_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; uint8_t x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; uint8_t x_46; 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_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; x_35 = lean_ctor_get(x_6, 0); x_36 = lean_ctor_get(x_6, 1); x_37 = lean_ctor_get(x_6, 2); x_38 = lean_ctor_get(x_6, 3); -x_39 = lean_ctor_get_uint8(x_6, sizeof(void*)*8); -x_40 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 1); -x_41 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 2); +x_39 = lean_ctor_get_uint8(x_6, sizeof(void*)*9); +x_40 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 1); +x_41 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 2); x_42 = lean_ctor_get(x_6, 4); x_43 = lean_ctor_get(x_6, 5); -x_44 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 3); -x_45 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 4); -x_46 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 5); -x_47 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 6); -x_48 = lean_ctor_get(x_6, 7); -x_49 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 7); -lean_inc(x_48); +x_44 = lean_ctor_get(x_6, 6); +x_45 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 3); +x_46 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 4); +x_47 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 5); +x_48 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 6); +x_49 = lean_ctor_get(x_6, 8); +x_50 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 7); +lean_inc(x_49); +lean_inc(x_44); lean_inc(x_43); lean_inc(x_42); lean_inc(x_38); @@ -29368,38 +30151,39 @@ lean_inc(x_37); lean_inc(x_36); lean_inc(x_35); lean_dec(x_6); -x_50 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_50, 0, x_35); -lean_ctor_set(x_50, 1, x_36); -lean_ctor_set(x_50, 2, x_37); -lean_ctor_set(x_50, 3, x_38); -lean_ctor_set(x_50, 4, x_42); -lean_ctor_set(x_50, 5, x_43); -lean_ctor_set(x_50, 6, x_27); -lean_ctor_set(x_50, 7, x_48); -lean_ctor_set_uint8(x_50, sizeof(void*)*8, x_39); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 1, x_40); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 2, x_41); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 3, x_44); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 4, x_45); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 5, x_46); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 6, x_47); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 7, x_49); -x_51 = l_Lean_Elab_Term_resetMessageLog(x_50, x_7, x_8, x_9, x_10, x_11, x_26); -x_52 = lean_ctor_get(x_51, 1); -lean_inc(x_52); -lean_dec(x_51); -x_53 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabMutualDef___lambda__1___boxed), 11, 2); -lean_closure_set(x_53, 0, x_3); -lean_closure_set(x_53, 1, x_4); -x_54 = l_Lean_Elab_Command_elabMutualDef___lambda__2___closed__1; -x_55 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_5, x_54, x_53, x_50, x_7, x_8, x_9, x_10, x_11, x_52); -return x_55; +x_51 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_51, 0, x_35); +lean_ctor_set(x_51, 1, x_36); +lean_ctor_set(x_51, 2, x_37); +lean_ctor_set(x_51, 3, x_38); +lean_ctor_set(x_51, 4, x_42); +lean_ctor_set(x_51, 5, x_43); +lean_ctor_set(x_51, 6, x_44); +lean_ctor_set(x_51, 7, x_27); +lean_ctor_set(x_51, 8, x_49); +lean_ctor_set_uint8(x_51, sizeof(void*)*9, x_39); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 1, x_40); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 2, x_41); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 3, x_45); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 4, x_46); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 5, x_47); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 6, x_48); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 7, x_50); +x_52 = l_Lean_Elab_Term_resetMessageLog(x_51, x_7, x_8, x_9, x_10, x_11, x_26); +x_53 = lean_ctor_get(x_52, 1); +lean_inc(x_53); +lean_dec(x_52); +x_54 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabMutualDef___lambda__1___boxed), 11, 2); +lean_closure_set(x_54, 0, x_3); +lean_closure_set(x_54, 1, x_4); +x_55 = l_Lean_Elab_Command_elabMutualDef___lambda__2___closed__1; +x_56 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_5, x_55, x_54, x_51, x_7, x_8, x_9, x_10, x_11, x_53); +return x_56; } } else { -uint8_t x_56; +uint8_t x_57; lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -29409,23 +30193,23 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_56 = !lean_is_exclusive(x_14); -if (x_56 == 0) +x_57 = !lean_is_exclusive(x_14); +if (x_57 == 0) { return x_14; } else { -lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_57 = lean_ctor_get(x_14, 0); -x_58 = lean_ctor_get(x_14, 1); +lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_58 = lean_ctor_get(x_14, 0); +x_59 = lean_ctor_get(x_14, 1); +lean_inc(x_59); lean_inc(x_58); -lean_inc(x_57); lean_dec(x_14); -x_59 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_59, 0, x_57); -lean_ctor_set(x_59, 1, x_58); -return x_59; +x_60 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_60, 0, x_58); +lean_ctor_set(x_60, 1, x_59); +return x_60; } } } @@ -29813,56 +30597,58 @@ l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendindMVarErrorMessage___c lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendindMVarErrorMessage___closed__3); l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendindMVarErrorMessage___closed__4 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendindMVarErrorMessage___closed__4(); lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendindMVarErrorMessage___closed__4); -l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__1 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__1(); -lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__1); -l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2(); -lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2); -l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__3 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__3(); -lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__3); -l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__4 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__4(); -lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__4); -l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__5 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__5(); -lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__5); -l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__6 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__6(); -lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__6); -l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__7 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__7(); -lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__7); -l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__8 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__8(); -lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__8); -l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__9 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__9(); -lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__9); -l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__10 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__10(); -lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__10); -l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__11 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__11(); -lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__11); -l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__12 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__12(); -lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__12); -l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__13 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__13(); -lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__13); -l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__1 = _init_l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__1(); -lean_mark_persistent(l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__1); -l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__2 = _init_l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__2(); -lean_mark_persistent(l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__2); -l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__3 = _init_l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__3(); -lean_mark_persistent(l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__3); -l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__4 = _init_l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__4(); -lean_mark_persistent(l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___closed__4); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__1(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__1); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__2(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__2); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__3 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__3(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__3); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__4 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__4(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__4); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__5 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__5(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__5); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__6 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__6(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__6); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__7 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__7(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__7); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__8 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__8(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__4___closed__8); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__1 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__1(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__1); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__2 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__2(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__2); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__3 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__3(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__3); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__4 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__4(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__4); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__5 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__5(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__5); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__6 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__6(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__6); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__7 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__7(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__7); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__8 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__8(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__8); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__9 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__9(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__9); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__10 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__10(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__10); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__11 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__11(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__11); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__12 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__12(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__12); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__13 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__13(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__13); +l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__1 = _init_l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__1(); +lean_mark_persistent(l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__1); +l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2 = _init_l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2(); +lean_mark_persistent(l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__2); +l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__3 = _init_l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__3(); +lean_mark_persistent(l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__3); +l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__4 = _init_l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__4(); +lean_mark_persistent(l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__4); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__1(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__1); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__2(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__2); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__3 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__3(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__3); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__4 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__4(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__4); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__5 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__5(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__5); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__6 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__6(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__6); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__7 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__7(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__7); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__8 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__8(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___closed__8); +l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___boxed__const__1 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___boxed__const__1(); +lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___boxed__const__1); l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__1(); lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__1); l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__2 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Basic.c b/stage0/stdlib/Lean/Elab/PreDefinition/Basic.c index 13c0ef928b..f055c09c4b 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Basic.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Basic.c @@ -1674,7 +1674,7 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_14 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 4); +x_14 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 4); lean_dec(x_2); if (x_14 == 0) { diff --git a/stage0/stdlib/Lean/Elab/Quotation.c b/stage0/stdlib/Lean/Elab/Quotation.c index b1db2f4879..48c2237862 100644 --- a/stage0/stdlib/Lean/Elab/Quotation.c +++ b/stage0/stdlib/Lean/Elab/Quotation.c @@ -7821,7 +7821,7 @@ lean_inc(x_13); x_14 = lean_ctor_get(x_12, 1); lean_inc(x_14); lean_dec(x_12); -x_15 = lean_ctor_get(x_5, 5); +x_15 = lean_ctor_get(x_5, 6); lean_inc(x_1); x_16 = l_Lean_Elab_Term_Quotation_resolveSectionVariable(x_15, x_1); x_17 = l_List_appendTR___rarg(x_13, x_16); diff --git a/stage0/stdlib/Lean/Elab/Quotation/Precheck.c b/stage0/stdlib/Lean/Elab/Quotation/Precheck.c index 3a4be9bafe..19b6754e2d 100644 --- a/stage0/stdlib/Lean/Elab/Quotation/Precheck.c +++ b/stage0/stdlib/Lean/Elab/Quotation/Precheck.c @@ -2728,7 +2728,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_Precheck_0__Lean_Elab_T _start: { lean_object* x_9; uint8_t x_10; lean_object* x_11; lean_object* x_12; -x_9 = lean_ctor_get(x_2, 6); +x_9 = lean_ctor_get(x_2, 7); x_10 = l_Std_RBNode_any___at___private_Lean_Elab_Quotation_Precheck_0__Lean_Elab_Term_Quotation_isSectionVariable___spec__1(x_1, x_9); x_11 = lean_box(x_10); x_12 = lean_alloc_ctor(0, 2, 0); diff --git a/stage0/stdlib/Lean/Elab/Structure.c b/stage0/stdlib/Lean/Elab/Structure.c index 9612006931..f2994f9e23 100644 --- a/stage0/stdlib/Lean/Elab/Structure.c +++ b/stage0/stdlib/Lean/Elab/Structure.c @@ -43,12 +43,12 @@ lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_addTermInfo_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_erase_macro_scopes(lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldKind____x40_Lean_Elab_Structure___hyg_325____closed__24; +LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__1; lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_FunBinders_elabFunBinderViews___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2362_(lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__5___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); @@ -67,7 +67,7 @@ extern lean_object* l_Lean_nullKind; lean_object* l_Lean_NameSet_contains___boxed(lean_object*, lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__3___closed__13; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParamFVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__6(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Elab_Modifiers_isPartial(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__2(lean_object*); lean_object* l_Lean_Elab_Command_liftTermElabM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -97,6 +97,7 @@ static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldKind____x40_Lean_Elab_Structure___hyg_325____closed__7; lean_object* l_Lean_throwError___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_addAuxDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__16(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -137,7 +138,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_pr static lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__15___lambda__2___closed__1; lean_object* lean_environment_find(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldInfo____x40_Lean_Elab_Structure___hyg_524____closed__22; -static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___closed__3; static lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__2___closed__1; @@ -173,10 +173,11 @@ LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Stru static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__6___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__5___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__7(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldInfo____x40_Lean_Elab_Structure___hyg_524____boxed(lean_object*, lean_object*); lean_object* lean_expr_instantiate1(lean_object*, lean_object*); lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_Term_withAutoBoundImplicitForbiddenPred___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* l_Lean_Meta_collectUsedFVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__1(lean_object*); @@ -244,6 +245,7 @@ static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStr LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addCtorFields___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__1___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Command_StructFieldKind_noConfusion___rarg___lambda__1___boxed(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__8(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__7(lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___rarg___closed__8; static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__3___closed__9; @@ -342,7 +344,7 @@ static lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Le lean_object* lean_nat_sub(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_declareTacticSyntax(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___lambda__4___closed__3; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__5___boxed(lean_object**); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_go___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__2___closed__3; @@ -350,7 +352,7 @@ static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registe LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkProjections___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__4___boxed(lean_object**); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUsed___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__11(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -360,6 +362,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_de LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkHasTypeButIsExpectedMsg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getStructureFieldsFlattened(lean_object*, lean_object*, uint8_t); +lean_object* l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_elabStructure___closed__8; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__3___closed__10; @@ -479,7 +482,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure lean_object* l_Lean_Meta_InfoCacheKey_instHashableInfoCacheKey___boxed(lean_object*); lean_object* l_Lean_addAndCompile___at_Lean_mkNoConfusionEnum_mkToCtorIdx___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_protectedExt; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__5(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__5(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___rarg___closed__4; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_ReaderT_pure___at_Lean_Elab_liftMacroM___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*); @@ -527,6 +530,7 @@ LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_Stru lean_object* l_Lean_Elab_sortDeclLevelParams(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldKind____x40_Lean_Elab_Structure___hyg_325____boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reduceProjs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__2___closed__1; LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___closed__7; @@ -551,6 +555,7 @@ LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_Stru static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___rarg___lambda__4___closed__2; size_t lean_usize_of_nat(lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___rarg___closed__4; +lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__6___closed__8; extern lean_object* l_Lean_NameSet_empty; static lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__8___closed__1; @@ -629,7 +634,7 @@ static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStr lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_toVisibility___closed__1; -lean_object* l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___at_Lean_Elab_Command_elabStructure___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___closed__6; @@ -670,6 +675,7 @@ uint8_t l_Lean_BinderInfo_isExplicit(uint8_t); lean_object* l_Lean_Syntax_getKind(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_StructFieldKind_noConfusion(lean_object*); +lean_object* l_Lean_Name_beq___boxed(lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectLevelParamsInFVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_containsFieldName___boxed(lean_object*, lean_object*); @@ -700,7 +706,6 @@ static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyDefaultValue_x3f_go_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___at_Lean_Elab_Command_elabStructure___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldKind____x40_Lean_Elab_Structure___hyg_325____closed__4; -lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static uint8_t l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___closed__3; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__3(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__5___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -769,8 +774,9 @@ lean_object* l_instHashableProd___rarg___boxed(lean_object*, lean_object*, lean_ LEAN_EXPORT lean_object* l_Lean_Elab_getOptDerivingClasses___at_Lean_Elab_Command_elabStructure___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_go___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__6___closed__6; +LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___rarg___lambda__5___boxed(lean_object**); -LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_10769_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_10793_(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_2497_(lean_object*); lean_object* l_Lean_Meta_instantiateMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_TagDeclarationExtension_isTagged(lean_object*, lean_object*, lean_object*); @@ -915,7 +921,7 @@ static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_process static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent___closed__3; LEAN_EXPORT uint8_t l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParam_x27___lambda__1(lean_object*, lean_object*); lean_object* l_Lean_Elab_withSaveInfoContext___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__4(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__5; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUniversesFromFields(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_findFieldInfo_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -929,7 +935,7 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0_ lean_object* l_Lean_throwError___at_Lean_Elab_Term_synthesizeInst___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_panic___at_Lean_ResolveName_resolveNamespaceUsingScope___spec__1(lean_object*); lean_object* l_Lean_setEnv___at_Lean_Elab_Term_evalExpr___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUniversesFromFields_go___spec__1(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_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__3___boxed(lean_object**); static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_2497____closed__4; @@ -937,7 +943,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Stru static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__2___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_elabAttrs___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabAttrs___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__3___closed__1; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__7___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_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__7___boxed(lean_object**); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldKind____x40_Lean_Elab_Structure___hyg_325____closed__12; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_updateFieldInfoVal___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*); lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*); @@ -4263,13 +4269,13 @@ LEAN_EXPORT lean_object* l_Lean_Elab_addAuxDeclarationRanges___at___private_Lean _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; -x_11 = l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__2(x_2, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4(x_2, x_4, x_5, x_6, x_7, x_8, x_9, x_10); x_12 = lean_ctor_get(x_11, 0); lean_inc(x_12); x_13 = lean_ctor_get(x_11, 1); lean_inc(x_13); lean_dec(x_11); -x_14 = l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__2(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13); +x_14 = l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13); x_15 = lean_ctor_get(x_14, 0); lean_inc(x_15); x_16 = lean_ctor_get(x_14, 1); @@ -4278,7 +4284,7 @@ lean_dec(x_14); x_17 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_17, 0, x_12); lean_ctor_set(x_17, 1, x_15); -x_18 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3(x_1, x_17, x_4, x_5, x_6, x_7, x_8, x_9, x_16); +x_18 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5(x_1, x_17, x_4, x_5, x_6, x_7, x_8, x_9, x_16); return x_18; } } @@ -13191,7 +13197,16 @@ x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Structure_0__Lean_Elab_Co return x_2; } } -static lean_object* _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__1___closed__1() { +LEAN_EXPORT uint8_t l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; uint8_t x_4; +x_3 = lean_ctor_get(x_1, 3); +x_4 = lean_name_eq(x_3, x_2); +return x_4; +} +} +static lean_object* _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__2___closed__1() { _start: { lean_object* x_1; lean_object* x_2; @@ -13202,7 +13217,7 @@ lean_ctor_set(x_2, 1, x_1); return x_2; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; @@ -13224,7 +13239,7 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_12 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__1___closed__1; +x_12 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__2___closed__1; x_13 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_13, 0, x_12); lean_ctor_set(x_13, 1, x_9); @@ -14736,18 +14751,35 @@ return x_281; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_9 = lean_ctor_get(x_1, 5); -lean_inc(x_9); -x_10 = l_Lean_Syntax_getArgs(x_9); -lean_dec(x_9); -x_11 = lean_alloc_closure((void*)(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__1), 9, 1); -lean_closure_set(x_11, 0, x_1); -x_12 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabBinders___rarg), 9, 2); -lean_closure_set(x_12, 0, x_10); -lean_closure_set(x_12, 1, x_11); -x_13 = l_Lean_Elab_Term_withAutoBoundImplicit___rarg(x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -return x_13; +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_inc(x_1); +x_9 = lean_alloc_closure((void*)(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__1___boxed), 2, 1); +lean_closure_set(x_9, 0, x_1); +x_10 = lean_ctor_get(x_1, 5); +lean_inc(x_10); +x_11 = l_Lean_Syntax_getArgs(x_10); +lean_dec(x_10); +x_12 = lean_alloc_closure((void*)(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__2), 9, 1); +lean_closure_set(x_12, 0, x_1); +x_13 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabBinders___rarg), 9, 2); +lean_closure_set(x_13, 0, x_11); +lean_closure_set(x_13, 1, x_12); +x_14 = lean_alloc_closure((void*)(l_Lean_Elab_Term_withAutoBoundImplicitForbiddenPred___rarg), 9, 2); +lean_closure_set(x_14, 0, x_9); +lean_closure_set(x_14, 1, x_13); +x_15 = l_Lean_Elab_Term_withAutoBoundImplicit___rarg(x_14, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +return x_15; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__1(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; } } LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { @@ -19871,7 +19903,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___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__1; x_2 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___spec__2___closed__1; -x_3 = lean_unsigned_to_nat(703u); +x_3 = lean_unsigned_to_nat(704u); x_4 = lean_unsigned_to_nat(21u); x_5 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___spec__2___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -19892,7 +19924,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___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__1; x_2 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___spec__2___closed__1; -x_3 = lean_unsigned_to_nat(702u); +x_3 = lean_unsigned_to_nat(703u); x_4 = lean_unsigned_to_nat(23u); x_5 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___spec__2___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -21990,7 +22022,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___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__1; x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__1; -x_3 = lean_unsigned_to_nat(750u); +x_3 = lean_unsigned_to_nat(751u); x_4 = lean_unsigned_to_nat(79u); x_5 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -22299,7 +22331,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___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__1; x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__1; -x_3 = lean_unsigned_to_nat(741u); +x_3 = lean_unsigned_to_nat(742u); x_4 = lean_unsigned_to_nat(72u); x_5 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -22915,7 +22947,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___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__1; x_2 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent___closed__1; -x_3 = lean_unsigned_to_nat(735u); +x_3 = lean_unsigned_to_nat(736u); x_4 = lean_unsigned_to_nat(68u); x_5 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -27550,7 +27582,36 @@ return x_38; } } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, uint8_t 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_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, uint8_t x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18) { +_start: +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +lean_inc(x_2); +lean_inc(x_1); +x_19 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3(x_1, x_2, x_12, x_13, x_14, x_15, x_16, x_17, x_18); +x_20 = lean_ctor_get(x_19, 1); +lean_inc(x_20); +lean_dec(x_19); +x_21 = lean_box(x_5); +x_22 = lean_box(x_9); +lean_inc(x_1); +x_23 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabStructure___lambda__3___boxed), 18, 11); +lean_closure_set(x_23, 0, x_2); +lean_closure_set(x_23, 1, x_3); +lean_closure_set(x_23, 2, x_1); +lean_closure_set(x_23, 3, x_4); +lean_closure_set(x_23, 4, x_21); +lean_closure_set(x_23, 5, x_6); +lean_closure_set(x_23, 6, x_7); +lean_closure_set(x_23, 7, x_8); +lean_closure_set(x_23, 8, x_22); +lean_closure_set(x_23, 9, x_10); +lean_closure_set(x_23, 10, x_11); +x_24 = l_Lean_Elab_Term_withDeclName___rarg(x_1, x_23, x_12, x_13, x_14, x_15, x_16, x_17, x_20); +return x_24; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__5(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, uint8_t 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) { _start: { lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; @@ -27579,24 +27640,21 @@ lean_inc(x_22); x_23 = lean_ctor_get(x_21, 1); lean_inc(x_23); lean_dec(x_21); -x_24 = lean_ctor_get(x_22, 1); +x_24 = lean_ctor_get(x_22, 0); lean_inc(x_24); -x_25 = lean_ctor_get(x_22, 2); +x_25 = lean_ctor_get(x_22, 1); lean_inc(x_25); +x_26 = lean_ctor_get(x_22, 2); +lean_inc(x_26); lean_dec(x_22); -lean_inc(x_3); -lean_inc(x_24); -x_26 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1(x_24, x_3, x_10, x_11, x_12, x_13, x_14, x_15, x_23); -x_27 = lean_ctor_get(x_26, 1); -lean_inc(x_27); -lean_dec(x_26); +x_27 = lean_alloc_closure((void*)(l_Lean_Name_beq___boxed), 2, 1); +lean_closure_set(x_27, 0, x_24); x_28 = lean_box(x_4); x_29 = lean_box(x_8); -lean_inc(x_24); -x_30 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabStructure___lambda__3___boxed), 18, 11); -lean_closure_set(x_30, 0, x_3); -lean_closure_set(x_30, 1, x_2); -lean_closure_set(x_30, 2, x_24); +x_30 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabStructure___lambda__4___boxed), 18, 11); +lean_closure_set(x_30, 0, x_25); +lean_closure_set(x_30, 1, x_3); +lean_closure_set(x_30, 2, x_2); lean_closure_set(x_30, 3, x_18); lean_closure_set(x_30, 4, x_28); lean_closure_set(x_30, 5, x_5); @@ -27604,8 +27662,8 @@ lean_closure_set(x_30, 6, x_6); lean_closure_set(x_30, 7, x_7); lean_closure_set(x_30, 8, x_29); lean_closure_set(x_30, 9, x_9); -lean_closure_set(x_30, 10, x_25); -x_31 = l_Lean_Elab_Term_withDeclName___rarg(x_24, x_30, x_10, x_11, x_12, x_13, x_14, x_15, x_27); +lean_closure_set(x_30, 10, x_26); +x_31 = l_Lean_Elab_Term_withAutoBoundImplicitForbiddenPred___rarg(x_27, x_30, x_10, x_11, x_12, x_13, x_14, x_15, x_23); return x_31; } else @@ -27645,13 +27703,13 @@ return x_35; } } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, uint8_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, 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_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, uint8_t 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) { _start: { lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; x_18 = lean_box(x_4); x_19 = lean_box(x_7); -x_20 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabStructure___lambda__4___boxed), 16, 9); +x_20 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabStructure___lambda__5___boxed), 16, 9); lean_closure_set(x_20, 0, x_1); lean_closure_set(x_20, 1, x_2); lean_closure_set(x_20, 2, x_3); @@ -27665,7 +27723,7 @@ x_21 = l_Lean_Elab_Term_withoutAutoBoundImplicit___rarg(x_20, x_11, x_12, x_13, return x_21; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6, lean_object* x_7, uint8_t 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_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6, lean_object* x_7, uint8_t 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) { _start: { uint8_t x_18; lean_object* x_19; @@ -27709,16 +27767,16 @@ x_34 = !lean_is_exclusive(x_11); if (x_34 == 0) { lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_35 = lean_ctor_get(x_11, 6); +x_35 = lean_ctor_get(x_11, 7); lean_dec(x_35); -lean_ctor_set(x_11, 6, x_33); +lean_ctor_set(x_11, 7, x_33); x_36 = l_Lean_Elab_Term_resetMessageLog(x_11, x_12, x_13, x_14, x_15, x_16, x_32); x_37 = lean_ctor_get(x_36, 1); lean_inc(x_37); lean_dec(x_36); x_38 = lean_box(x_5); x_39 = lean_box(x_8); -x_40 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabStructure___lambda__5___boxed), 17, 8); +x_40 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabStructure___lambda__6___boxed), 17, 8); lean_closure_set(x_40, 0, x_2); lean_closure_set(x_40, 1, x_3); lean_closure_set(x_40, 2, x_4); @@ -27733,23 +27791,25 @@ return x_42; } else { -lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; uint8_t x_48; uint8_t x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; uint8_t x_53; uint8_t x_54; uint8_t x_55; lean_object* x_56; uint8_t x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; +lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; uint8_t x_48; uint8_t x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53; uint8_t x_54; uint8_t x_55; uint8_t x_56; lean_object* x_57; uint8_t x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; x_43 = lean_ctor_get(x_11, 0); x_44 = lean_ctor_get(x_11, 1); x_45 = lean_ctor_get(x_11, 2); x_46 = lean_ctor_get(x_11, 3); -x_47 = lean_ctor_get_uint8(x_11, sizeof(void*)*8); -x_48 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 1); -x_49 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 2); +x_47 = lean_ctor_get_uint8(x_11, sizeof(void*)*9); +x_48 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 1); +x_49 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 2); x_50 = lean_ctor_get(x_11, 4); x_51 = lean_ctor_get(x_11, 5); -x_52 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 3); -x_53 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 4); -x_54 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 5); -x_55 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 6); -x_56 = lean_ctor_get(x_11, 7); -x_57 = lean_ctor_get_uint8(x_11, sizeof(void*)*8 + 7); -lean_inc(x_56); +x_52 = lean_ctor_get(x_11, 6); +x_53 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 3); +x_54 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 4); +x_55 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 5); +x_56 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 6); +x_57 = lean_ctor_get(x_11, 8); +x_58 = lean_ctor_get_uint8(x_11, sizeof(void*)*9 + 7); +lean_inc(x_57); +lean_inc(x_52); lean_inc(x_51); lean_inc(x_50); lean_inc(x_46); @@ -27757,46 +27817,47 @@ lean_inc(x_45); lean_inc(x_44); lean_inc(x_43); lean_dec(x_11); -x_58 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_58, 0, x_43); -lean_ctor_set(x_58, 1, x_44); -lean_ctor_set(x_58, 2, x_45); -lean_ctor_set(x_58, 3, x_46); -lean_ctor_set(x_58, 4, x_50); -lean_ctor_set(x_58, 5, x_51); -lean_ctor_set(x_58, 6, x_33); -lean_ctor_set(x_58, 7, x_56); -lean_ctor_set_uint8(x_58, sizeof(void*)*8, x_47); -lean_ctor_set_uint8(x_58, sizeof(void*)*8 + 1, x_48); -lean_ctor_set_uint8(x_58, sizeof(void*)*8 + 2, x_49); -lean_ctor_set_uint8(x_58, sizeof(void*)*8 + 3, x_52); -lean_ctor_set_uint8(x_58, sizeof(void*)*8 + 4, x_53); -lean_ctor_set_uint8(x_58, sizeof(void*)*8 + 5, x_54); -lean_ctor_set_uint8(x_58, sizeof(void*)*8 + 6, x_55); -lean_ctor_set_uint8(x_58, sizeof(void*)*8 + 7, x_57); -x_59 = l_Lean_Elab_Term_resetMessageLog(x_58, x_12, x_13, x_14, x_15, x_16, x_32); -x_60 = lean_ctor_get(x_59, 1); -lean_inc(x_60); -lean_dec(x_59); -x_61 = lean_box(x_5); -x_62 = lean_box(x_8); -x_63 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabStructure___lambda__5___boxed), 17, 8); -lean_closure_set(x_63, 0, x_2); -lean_closure_set(x_63, 1, x_3); -lean_closure_set(x_63, 2, x_4); -lean_closure_set(x_63, 3, x_61); -lean_closure_set(x_63, 4, x_6); -lean_closure_set(x_63, 5, x_7); -lean_closure_set(x_63, 6, x_62); -lean_closure_set(x_63, 7, x_9); -x_64 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_getFieldType___lambda__2___closed__3; -x_65 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_10, x_64, x_63, x_58, x_12, x_13, x_14, x_15, x_16, x_60); -return x_65; +x_59 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_59, 0, x_43); +lean_ctor_set(x_59, 1, x_44); +lean_ctor_set(x_59, 2, x_45); +lean_ctor_set(x_59, 3, x_46); +lean_ctor_set(x_59, 4, x_50); +lean_ctor_set(x_59, 5, x_51); +lean_ctor_set(x_59, 6, x_52); +lean_ctor_set(x_59, 7, x_33); +lean_ctor_set(x_59, 8, x_57); +lean_ctor_set_uint8(x_59, sizeof(void*)*9, x_47); +lean_ctor_set_uint8(x_59, sizeof(void*)*9 + 1, x_48); +lean_ctor_set_uint8(x_59, sizeof(void*)*9 + 2, x_49); +lean_ctor_set_uint8(x_59, sizeof(void*)*9 + 3, x_53); +lean_ctor_set_uint8(x_59, sizeof(void*)*9 + 4, x_54); +lean_ctor_set_uint8(x_59, sizeof(void*)*9 + 5, x_55); +lean_ctor_set_uint8(x_59, sizeof(void*)*9 + 6, x_56); +lean_ctor_set_uint8(x_59, sizeof(void*)*9 + 7, x_58); +x_60 = l_Lean_Elab_Term_resetMessageLog(x_59, x_12, x_13, x_14, x_15, x_16, x_32); +x_61 = lean_ctor_get(x_60, 1); +lean_inc(x_61); +lean_dec(x_60); +x_62 = lean_box(x_5); +x_63 = lean_box(x_8); +x_64 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabStructure___lambda__6___boxed), 17, 8); +lean_closure_set(x_64, 0, x_2); +lean_closure_set(x_64, 1, x_3); +lean_closure_set(x_64, 2, x_4); +lean_closure_set(x_64, 3, x_62); +lean_closure_set(x_64, 4, x_6); +lean_closure_set(x_64, 5, x_7); +lean_closure_set(x_64, 6, x_63); +lean_closure_set(x_64, 7, x_9); +x_65 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_getFieldType___lambda__2___closed__3; +x_66 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_10, x_65, x_64, x_59, x_12, x_13, x_14, x_15, x_16, x_61); +return x_66; } } else { -uint8_t x_66; +uint8_t x_67; lean_dec(x_16); lean_dec(x_15); lean_dec(x_14); @@ -27810,28 +27871,28 @@ lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_66 = !lean_is_exclusive(x_19); -if (x_66 == 0) +x_67 = !lean_is_exclusive(x_19); +if (x_67 == 0) { return x_19; } else { -lean_object* x_67; lean_object* x_68; lean_object* x_69; -x_67 = lean_ctor_get(x_19, 0); -x_68 = lean_ctor_get(x_19, 1); +lean_object* x_68; lean_object* x_69; lean_object* x_70; +x_68 = lean_ctor_get(x_19, 0); +x_69 = lean_ctor_get(x_19, 1); +lean_inc(x_69); lean_inc(x_68); -lean_inc(x_67); lean_dec(x_19); -x_69 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_69, 0, x_67); -lean_ctor_set(x_69, 1, x_68); -return x_69; +x_70 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_70, 0, x_68); +lean_ctor_set(x_70, 1, x_69); +return x_70; } } } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, uint8_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, uint8_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { 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; @@ -27846,7 +27907,7 @@ x_17 = lean_ctor_get(x_15, 5); lean_inc(x_17); x_18 = lean_box(x_4); x_19 = lean_box(x_6); -x_20 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabStructure___lambda__6___boxed), 17, 9); +x_20 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabStructure___lambda__7___boxed), 17, 9); lean_closure_set(x_20, 0, x_15); lean_closure_set(x_20, 1, x_1); lean_closure_set(x_20, 2, x_2); @@ -28299,7 +28360,7 @@ x_32 = l_Lean_Syntax_getArg(x_22, x_8); lean_dec(x_22); x_33 = l_Lean_Syntax_getArg(x_32, x_13); lean_dec(x_32); -x_34 = l_Lean_Elab_Command_elabStructure___lambda__7(x_14, x_27, x_2, x_12, x_28, x_26, x_17, x_29, x_33, x_3, x_4, x_30); +x_34 = l_Lean_Elab_Command_elabStructure___lambda__8(x_14, x_27, x_2, x_12, x_28, x_26, x_17, x_29, x_33, x_3, x_4, x_30); return x_34; } else @@ -28351,7 +28412,7 @@ x_58 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_58, 0, x_48); lean_ctor_set(x_58, 1, x_57); lean_ctor_set(x_58, 2, x_56); -x_59 = l_Lean_Elab_Command_elabStructure___lambda__7(x_14, x_27, x_2, x_12, x_28, x_26, x_17, x_29, x_58, x_3, x_4, x_41); +x_59 = l_Lean_Elab_Command_elabStructure___lambda__8(x_14, x_27, x_2, x_12, x_28, x_26, x_17, x_29, x_58, x_3, x_4, x_41); return x_59; } } @@ -28517,7 +28578,37 @@ x_21 = l_Lean_Elab_Command_elabStructure___lambda__3(x_1, x_2, x_3, x_4, x_19, x return x_21; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, 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_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__4___boxed(lean_object** _args) { +lean_object* x_1 = _args[0]; +lean_object* x_2 = _args[1]; +lean_object* x_3 = _args[2]; +lean_object* x_4 = _args[3]; +lean_object* x_5 = _args[4]; +lean_object* x_6 = _args[5]; +lean_object* x_7 = _args[6]; +lean_object* x_8 = _args[7]; +lean_object* x_9 = _args[8]; +lean_object* x_10 = _args[9]; +lean_object* x_11 = _args[10]; +lean_object* x_12 = _args[11]; +lean_object* x_13 = _args[12]; +lean_object* x_14 = _args[13]; +lean_object* x_15 = _args[14]; +lean_object* x_16 = _args[15]; +lean_object* x_17 = _args[16]; +lean_object* x_18 = _args[17]; +_start: +{ +uint8_t x_19; uint8_t x_20; lean_object* x_21; +x_19 = lean_unbox(x_5); +lean_dec(x_5); +x_20 = lean_unbox(x_9); +lean_dec(x_9); +x_21 = l_Lean_Elab_Command_elabStructure___lambda__4(x_1, x_2, x_3, x_4, x_19, x_6, x_7, x_8, x_20, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18); +return x_21; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { _start: { uint8_t x_17; uint8_t x_18; lean_object* x_19; @@ -28525,11 +28616,11 @@ x_17 = lean_unbox(x_4); lean_dec(x_4); x_18 = lean_unbox(x_8); lean_dec(x_8); -x_19 = l_Lean_Elab_Command_elabStructure___lambda__4(x_1, x_2, x_3, x_17, x_5, x_6, x_7, x_18, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +x_19 = l_Lean_Elab_Command_elabStructure___lambda__5(x_1, x_2, x_3, x_17, x_5, x_6, x_7, x_18, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); return x_19; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__5___boxed(lean_object** _args) { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__6___boxed(lean_object** _args) { lean_object* x_1 = _args[0]; lean_object* x_2 = _args[1]; lean_object* x_3 = _args[2]; @@ -28554,12 +28645,12 @@ x_18 = lean_unbox(x_4); lean_dec(x_4); x_19 = lean_unbox(x_7); lean_dec(x_7); -x_20 = l_Lean_Elab_Command_elabStructure___lambda__5(x_1, x_2, x_3, x_18, x_5, x_6, x_19, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +x_20 = l_Lean_Elab_Command_elabStructure___lambda__6(x_1, x_2, x_3, x_18, x_5, x_6, x_19, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); lean_dec(x_10); return x_20; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__6___boxed(lean_object** _args) { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__7___boxed(lean_object** _args) { lean_object* x_1 = _args[0]; lean_object* x_2 = _args[1]; lean_object* x_3 = _args[2]; @@ -28584,12 +28675,12 @@ x_18 = lean_unbox(x_5); lean_dec(x_5); x_19 = lean_unbox(x_8); lean_dec(x_8); -x_20 = l_Lean_Elab_Command_elabStructure___lambda__6(x_1, x_2, x_3, x_4, x_18, x_6, x_7, x_19, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +x_20 = l_Lean_Elab_Command_elabStructure___lambda__7(x_1, x_2, x_3, x_4, x_18, x_6, x_7, x_19, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); lean_dec(x_1); return x_20; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { uint8_t x_13; uint8_t x_14; lean_object* x_15; @@ -28597,11 +28688,11 @@ x_13 = lean_unbox(x_4); lean_dec(x_4); x_14 = lean_unbox(x_6); lean_dec(x_6); -x_15 = l_Lean_Elab_Command_elabStructure___lambda__7(x_1, x_2, x_3, x_13, x_5, x_14, x_7, x_8, x_9, x_10, x_11, x_12); +x_15 = l_Lean_Elab_Command_elabStructure___lambda__8(x_1, x_2, x_3, x_13, x_5, x_14, x_7, x_8, x_9, x_10, x_11, x_12); return x_15; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_10769_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_10793_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -29081,8 +29172,8 @@ l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkToParentName___closed__1 lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkToParentName___closed__1); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents_go___rarg___closed__1 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents_go___rarg___closed__1(); lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents_go___rarg___closed__1); -l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__1___closed__1 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__1___closed__1(); -lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__1___closed__1); +l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__2___closed__1 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__2___closed__1(); +lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__2___closed__1); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___rarg___lambda__4___closed__1 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___rarg___lambda__4___closed__1(); lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___rarg___lambda__4___closed__1); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___rarg___lambda__4___closed__2 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___rarg___lambda__4___closed__2(); @@ -29283,7 +29374,7 @@ l_Lean_Elab_Command_elabStructure___closed__12 = _init_l_Lean_Elab_Command_elabS lean_mark_persistent(l_Lean_Elab_Command_elabStructure___closed__12); l_Lean_Elab_Command_elabStructure___closed__13 = _init_l_Lean_Elab_Command_elabStructure___closed__13(); lean_mark_persistent(l_Lean_Elab_Command_elabStructure___closed__13); -res = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_10769_(lean_io_mk_world()); +res = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_10793_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Elab/Syntax.c b/stage0/stdlib/Lean/Elab/Syntax.c index baafa4f6ea..6f56f6f0f2 100644 --- a/stage0/stdlib/Lean/Elab/Syntax.c +++ b/stage0/stdlib/Lean/Elab/Syntax.c @@ -14752,9 +14752,9 @@ x_28 = !lean_is_exclusive(x_5); if (x_28 == 0) { lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_29 = lean_ctor_get(x_5, 6); +x_29 = lean_ctor_get(x_5, 7); lean_dec(x_29); -lean_ctor_set(x_5, 6, x_27); +lean_ctor_set(x_5, 7, x_27); x_30 = l_Lean_Elab_Term_resetMessageLog(x_5, x_6, x_7, x_8, x_9, x_10, x_26); x_31 = lean_ctor_get(x_30, 1); lean_inc(x_31); @@ -14768,23 +14768,25 @@ return x_34; } else { -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; uint8_t x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; uint8_t x_45; uint8_t x_46; uint8_t x_47; lean_object* x_48; uint8_t 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_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; uint8_t x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; uint8_t x_46; 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_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; x_35 = lean_ctor_get(x_5, 0); x_36 = lean_ctor_get(x_5, 1); x_37 = lean_ctor_get(x_5, 2); x_38 = lean_ctor_get(x_5, 3); -x_39 = lean_ctor_get_uint8(x_5, sizeof(void*)*8); -x_40 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 1); -x_41 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 2); +x_39 = lean_ctor_get_uint8(x_5, sizeof(void*)*9); +x_40 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 1); +x_41 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 2); x_42 = lean_ctor_get(x_5, 4); x_43 = lean_ctor_get(x_5, 5); -x_44 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 3); -x_45 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 4); -x_46 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 5); -x_47 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 6); -x_48 = lean_ctor_get(x_5, 7); -x_49 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 7); -lean_inc(x_48); +x_44 = lean_ctor_get(x_5, 6); +x_45 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 3); +x_46 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 4); +x_47 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 5); +x_48 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 6); +x_49 = lean_ctor_get(x_5, 8); +x_50 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 7); +lean_inc(x_49); +lean_inc(x_44); lean_inc(x_43); lean_inc(x_42); lean_inc(x_38); @@ -14792,38 +14794,39 @@ lean_inc(x_37); lean_inc(x_36); lean_inc(x_35); lean_dec(x_5); -x_50 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_50, 0, x_35); -lean_ctor_set(x_50, 1, x_36); -lean_ctor_set(x_50, 2, x_37); -lean_ctor_set(x_50, 3, x_38); -lean_ctor_set(x_50, 4, x_42); -lean_ctor_set(x_50, 5, x_43); -lean_ctor_set(x_50, 6, x_27); -lean_ctor_set(x_50, 7, x_48); -lean_ctor_set_uint8(x_50, sizeof(void*)*8, x_39); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 1, x_40); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 2, x_41); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 3, x_44); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 4, x_45); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 5, x_46); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 6, x_47); -lean_ctor_set_uint8(x_50, sizeof(void*)*8 + 7, x_49); -x_51 = l_Lean_Elab_Term_resetMessageLog(x_50, x_6, x_7, x_8, x_9, x_10, x_26); -x_52 = lean_ctor_get(x_51, 1); -lean_inc(x_52); -lean_dec(x_51); -x_53 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabSyntax___lambda__2___boxed), 11, 2); -lean_closure_set(x_53, 0, x_2); -lean_closure_set(x_53, 1, x_3); -x_54 = l_Lean_Elab_Command_elabSyntax___lambda__3___closed__1; -x_55 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_4, x_54, x_53, x_50, x_6, x_7, x_8, x_9, x_10, x_52); -return x_55; +x_51 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_51, 0, x_35); +lean_ctor_set(x_51, 1, x_36); +lean_ctor_set(x_51, 2, x_37); +lean_ctor_set(x_51, 3, x_38); +lean_ctor_set(x_51, 4, x_42); +lean_ctor_set(x_51, 5, x_43); +lean_ctor_set(x_51, 6, x_44); +lean_ctor_set(x_51, 7, x_27); +lean_ctor_set(x_51, 8, x_49); +lean_ctor_set_uint8(x_51, sizeof(void*)*9, x_39); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 1, x_40); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 2, x_41); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 3, x_45); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 4, x_46); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 5, x_47); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 6, x_48); +lean_ctor_set_uint8(x_51, sizeof(void*)*9 + 7, x_50); +x_52 = l_Lean_Elab_Term_resetMessageLog(x_51, x_6, x_7, x_8, x_9, x_10, x_26); +x_53 = lean_ctor_get(x_52, 1); +lean_inc(x_53); +lean_dec(x_52); +x_54 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabSyntax___lambda__2___boxed), 11, 2); +lean_closure_set(x_54, 0, x_2); +lean_closure_set(x_54, 1, x_3); +x_55 = l_Lean_Elab_Command_elabSyntax___lambda__3___closed__1; +x_56 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_4, x_55, x_54, x_51, x_6, x_7, x_8, x_9, x_10, x_53); +return x_56; } } else { -uint8_t x_56; +uint8_t x_57; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -14833,23 +14836,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_56 = !lean_is_exclusive(x_13); -if (x_56 == 0) +x_57 = !lean_is_exclusive(x_13); +if (x_57 == 0) { return x_13; } else { -lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_57 = lean_ctor_get(x_13, 0); -x_58 = lean_ctor_get(x_13, 1); +lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_58 = lean_ctor_get(x_13, 0); +x_59 = lean_ctor_get(x_13, 1); +lean_inc(x_59); lean_inc(x_58); -lean_inc(x_57); lean_dec(x_13); -x_59 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_59, 0, x_57); -lean_ctor_set(x_59, 1, x_58); -return x_59; +x_60 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_60, 0, x_58); +lean_ctor_set(x_60, 1, x_59); +return x_60; } } } @@ -17633,9 +17636,9 @@ x_27 = !lean_is_exclusive(x_4); 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; -x_28 = lean_ctor_get(x_4, 6); +x_28 = lean_ctor_get(x_4, 7); lean_dec(x_28); -lean_ctor_set(x_4, 6, x_26); +lean_ctor_set(x_4, 7, x_26); x_29 = l_Lean_Elab_Term_resetMessageLog(x_4, x_5, x_6, x_7, x_8, x_9, x_25); x_30 = lean_ctor_get(x_29, 1); lean_inc(x_30); @@ -17648,23 +17651,25 @@ return x_33; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; uint8_t x_39; uint8_t x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43; uint8_t x_44; uint8_t x_45; uint8_t x_46; lean_object* x_47; 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_54; +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; uint8_t x_39; uint8_t x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; uint8_t x_45; uint8_t x_46; uint8_t x_47; lean_object* x_48; uint8_t 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; x_34 = lean_ctor_get(x_4, 0); x_35 = lean_ctor_get(x_4, 1); x_36 = lean_ctor_get(x_4, 2); x_37 = lean_ctor_get(x_4, 3); -x_38 = lean_ctor_get_uint8(x_4, sizeof(void*)*8); -x_39 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 1); -x_40 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 2); +x_38 = lean_ctor_get_uint8(x_4, sizeof(void*)*9); +x_39 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 1); +x_40 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 2); x_41 = lean_ctor_get(x_4, 4); x_42 = lean_ctor_get(x_4, 5); -x_43 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 3); -x_44 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 4); -x_45 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 5); -x_46 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 6); -x_47 = lean_ctor_get(x_4, 7); -x_48 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 7); -lean_inc(x_47); +x_43 = lean_ctor_get(x_4, 6); +x_44 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 3); +x_45 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 4); +x_46 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 5); +x_47 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 6); +x_48 = lean_ctor_get(x_4, 8); +x_49 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 7); +lean_inc(x_48); +lean_inc(x_43); lean_inc(x_42); lean_inc(x_41); lean_inc(x_37); @@ -17672,37 +17677,38 @@ lean_inc(x_36); lean_inc(x_35); lean_inc(x_34); lean_dec(x_4); -x_49 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_49, 0, x_34); -lean_ctor_set(x_49, 1, x_35); -lean_ctor_set(x_49, 2, x_36); -lean_ctor_set(x_49, 3, x_37); -lean_ctor_set(x_49, 4, x_41); -lean_ctor_set(x_49, 5, x_42); -lean_ctor_set(x_49, 6, x_26); -lean_ctor_set(x_49, 7, x_47); -lean_ctor_set_uint8(x_49, sizeof(void*)*8, x_38); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 1, x_39); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 2, x_40); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 3, x_43); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 4, x_44); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 5, x_45); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 6, x_46); -lean_ctor_set_uint8(x_49, sizeof(void*)*8 + 7, x_48); -x_50 = l_Lean_Elab_Term_resetMessageLog(x_49, x_5, x_6, x_7, x_8, x_9, x_25); -x_51 = lean_ctor_get(x_50, 1); -lean_inc(x_51); -lean_dec(x_50); -x_52 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabSyntaxAbbrev___lambda__1___boxed), 10, 1); -lean_closure_set(x_52, 0, x_2); -x_53 = l_Lean_Elab_Command_elabSyntax___lambda__3___closed__1; -x_54 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_3, x_53, x_52, x_49, x_5, x_6, x_7, x_8, x_9, x_51); -return x_54; +x_50 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_50, 0, x_34); +lean_ctor_set(x_50, 1, x_35); +lean_ctor_set(x_50, 2, x_36); +lean_ctor_set(x_50, 3, x_37); +lean_ctor_set(x_50, 4, x_41); +lean_ctor_set(x_50, 5, x_42); +lean_ctor_set(x_50, 6, x_43); +lean_ctor_set(x_50, 7, x_26); +lean_ctor_set(x_50, 8, x_48); +lean_ctor_set_uint8(x_50, sizeof(void*)*9, x_38); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 1, x_39); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 2, x_40); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 3, x_44); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 4, x_45); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 5, x_46); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 6, x_47); +lean_ctor_set_uint8(x_50, sizeof(void*)*9 + 7, x_49); +x_51 = l_Lean_Elab_Term_resetMessageLog(x_50, x_5, x_6, x_7, x_8, x_9, x_25); +x_52 = lean_ctor_get(x_51, 1); +lean_inc(x_52); +lean_dec(x_51); +x_53 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabSyntaxAbbrev___lambda__1___boxed), 10, 1); +lean_closure_set(x_53, 0, x_2); +x_54 = l_Lean_Elab_Command_elabSyntax___lambda__3___closed__1; +x_55 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_3, x_54, x_53, x_50, x_5, x_6, x_7, x_8, x_9, x_52); +return x_55; } } else { -uint8_t x_55; +uint8_t x_56; lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -17711,23 +17717,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_55 = !lean_is_exclusive(x_12); -if (x_55 == 0) +x_56 = !lean_is_exclusive(x_12); +if (x_56 == 0) { return x_12; } else { -lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_56 = lean_ctor_get(x_12, 0); -x_57 = lean_ctor_get(x_12, 1); +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_12, 0); +x_58 = lean_ctor_get(x_12, 1); +lean_inc(x_58); lean_inc(x_57); -lean_inc(x_56); lean_dec(x_12); -x_58 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_58, 0, x_56); -lean_ctor_set(x_58, 1, x_57); -return x_58; +x_59 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_59, 0, x_57); +lean_ctor_set(x_59, 1, x_58); +return x_59; } } } diff --git a/stage0/stdlib/Lean/Elab/SyntheticMVars.c b/stage0/stdlib/Lean/Elab/SyntheticMVars.c index c09677df55..0728b40c58 100644 --- a/stage0/stdlib/Lean/Elab/SyntheticMVars.c +++ b/stage0/stdlib/Lean/Elab/SyntheticMVars.c @@ -136,7 +136,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallMetaTelescopeReducingAux(lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_SyntheticMVars___hyg_4349_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_SyntheticMVars___hyg_4350_(lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); extern lean_object* l_Lean_Level_instHashableLevel; lean_object* l_Lean_Elab_Tactic_mkInitialTacticInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -342,7 +342,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_ _start: { uint8_t x_11; -x_11 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 1); +x_11 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 1); if (x_11 == 0) { uint8_t x_12; @@ -351,30 +351,32 @@ if (x_12 == 0) { uint8_t x_13; uint8_t x_14; lean_object* x_15; x_13 = 0; -lean_ctor_set_uint8(x_4, sizeof(void*)*8 + 1, x_13); +lean_ctor_set_uint8(x_4, sizeof(void*)*9 + 1, x_13); x_14 = 1; x_15 = l_Lean_Elab_Term_elabTerm(x_1, x_2, x_13, x_14, x_4, x_5, x_6, x_7, x_8, x_9, x_10); return x_15; } else { -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; uint8_t x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; uint8_t x_26; uint8_t x_27; uint8_t x_28; lean_object* x_29; uint8_t x_30; uint8_t x_31; lean_object* x_32; uint8_t x_33; lean_object* x_34; +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; uint8_t x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; uint8_t x_27; uint8_t x_28; uint8_t x_29; lean_object* x_30; uint8_t x_31; uint8_t x_32; lean_object* x_33; uint8_t x_34; lean_object* x_35; x_16 = lean_ctor_get(x_4, 0); x_17 = lean_ctor_get(x_4, 1); x_18 = lean_ctor_get(x_4, 2); x_19 = lean_ctor_get(x_4, 3); -x_20 = lean_ctor_get_uint8(x_4, sizeof(void*)*8); -x_21 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 2); +x_20 = lean_ctor_get_uint8(x_4, sizeof(void*)*9); +x_21 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 2); x_22 = lean_ctor_get(x_4, 4); x_23 = lean_ctor_get(x_4, 5); x_24 = lean_ctor_get(x_4, 6); -x_25 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 3); -x_26 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 4); -x_27 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 5); -x_28 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 6); -x_29 = lean_ctor_get(x_4, 7); -x_30 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 7); -lean_inc(x_29); +x_25 = lean_ctor_get(x_4, 7); +x_26 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 3); +x_27 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 4); +x_28 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 5); +x_29 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 6); +x_30 = lean_ctor_get(x_4, 8); +x_31 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 7); +lean_inc(x_30); +lean_inc(x_25); lean_inc(x_24); lean_inc(x_23); lean_inc(x_22); @@ -383,90 +385,94 @@ lean_inc(x_18); lean_inc(x_17); lean_inc(x_16); lean_dec(x_4); -x_31 = 0; -x_32 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_32, 0, x_16); -lean_ctor_set(x_32, 1, x_17); -lean_ctor_set(x_32, 2, x_18); -lean_ctor_set(x_32, 3, x_19); -lean_ctor_set(x_32, 4, x_22); -lean_ctor_set(x_32, 5, x_23); -lean_ctor_set(x_32, 6, x_24); -lean_ctor_set(x_32, 7, x_29); -lean_ctor_set_uint8(x_32, sizeof(void*)*8, x_20); -lean_ctor_set_uint8(x_32, sizeof(void*)*8 + 1, x_31); -lean_ctor_set_uint8(x_32, sizeof(void*)*8 + 2, x_21); -lean_ctor_set_uint8(x_32, sizeof(void*)*8 + 3, x_25); -lean_ctor_set_uint8(x_32, sizeof(void*)*8 + 4, x_26); -lean_ctor_set_uint8(x_32, sizeof(void*)*8 + 5, x_27); -lean_ctor_set_uint8(x_32, sizeof(void*)*8 + 6, x_28); -lean_ctor_set_uint8(x_32, sizeof(void*)*8 + 7, x_30); -x_33 = 1; -x_34 = l_Lean_Elab_Term_elabTerm(x_1, x_2, x_31, x_33, x_32, x_5, x_6, x_7, x_8, x_9, x_10); -return x_34; +x_32 = 0; +x_33 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_33, 0, x_16); +lean_ctor_set(x_33, 1, x_17); +lean_ctor_set(x_33, 2, x_18); +lean_ctor_set(x_33, 3, x_19); +lean_ctor_set(x_33, 4, x_22); +lean_ctor_set(x_33, 5, x_23); +lean_ctor_set(x_33, 6, x_24); +lean_ctor_set(x_33, 7, x_25); +lean_ctor_set(x_33, 8, x_30); +lean_ctor_set_uint8(x_33, sizeof(void*)*9, x_20); +lean_ctor_set_uint8(x_33, sizeof(void*)*9 + 1, x_32); +lean_ctor_set_uint8(x_33, sizeof(void*)*9 + 2, x_21); +lean_ctor_set_uint8(x_33, sizeof(void*)*9 + 3, x_26); +lean_ctor_set_uint8(x_33, sizeof(void*)*9 + 4, x_27); +lean_ctor_set_uint8(x_33, sizeof(void*)*9 + 5, x_28); +lean_ctor_set_uint8(x_33, sizeof(void*)*9 + 6, x_29); +lean_ctor_set_uint8(x_33, sizeof(void*)*9 + 7, x_31); +x_34 = 1; +x_35 = l_Lean_Elab_Term_elabTerm(x_1, x_2, x_32, x_34, x_33, x_5, x_6, x_7, x_8, x_9, x_10); +return x_35; } } else { -uint8_t x_35; -x_35 = !lean_is_exclusive(x_4); -if (x_35 == 0) +uint8_t x_36; +x_36 = !lean_is_exclusive(x_4); +if (x_36 == 0) { -uint8_t x_36; uint8_t x_37; lean_object* x_38; -lean_ctor_set_uint8(x_4, sizeof(void*)*8 + 1, x_3); -x_36 = 0; -x_37 = 1; -x_38 = l_Lean_Elab_Term_elabTerm(x_1, x_2, x_36, x_37, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -return x_38; +uint8_t x_37; uint8_t x_38; lean_object* x_39; +lean_ctor_set_uint8(x_4, sizeof(void*)*9 + 1, x_3); +x_37 = 0; +x_38 = 1; +x_39 = l_Lean_Elab_Term_elabTerm(x_1, x_2, x_37, x_38, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +return x_39; } else { -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43; uint8_t x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; uint8_t x_48; uint8_t x_49; uint8_t x_50; uint8_t x_51; lean_object* x_52; uint8_t x_53; lean_object* x_54; uint8_t x_55; uint8_t x_56; lean_object* x_57; -x_39 = lean_ctor_get(x_4, 0); -x_40 = lean_ctor_get(x_4, 1); -x_41 = lean_ctor_get(x_4, 2); -x_42 = lean_ctor_get(x_4, 3); -x_43 = lean_ctor_get_uint8(x_4, sizeof(void*)*8); -x_44 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 2); -x_45 = lean_ctor_get(x_4, 4); -x_46 = lean_ctor_get(x_4, 5); -x_47 = lean_ctor_get(x_4, 6); -x_48 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 3); -x_49 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 4); -x_50 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 5); -x_51 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 6); -x_52 = lean_ctor_get(x_4, 7); -x_53 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 7); -lean_inc(x_52); +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; uint8_t x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50; uint8_t x_51; uint8_t x_52; uint8_t x_53; lean_object* x_54; uint8_t x_55; lean_object* x_56; uint8_t x_57; uint8_t x_58; lean_object* x_59; +x_40 = lean_ctor_get(x_4, 0); +x_41 = lean_ctor_get(x_4, 1); +x_42 = lean_ctor_get(x_4, 2); +x_43 = lean_ctor_get(x_4, 3); +x_44 = lean_ctor_get_uint8(x_4, sizeof(void*)*9); +x_45 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 2); +x_46 = lean_ctor_get(x_4, 4); +x_47 = lean_ctor_get(x_4, 5); +x_48 = lean_ctor_get(x_4, 6); +x_49 = lean_ctor_get(x_4, 7); +x_50 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 3); +x_51 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 4); +x_52 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 5); +x_53 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 6); +x_54 = lean_ctor_get(x_4, 8); +x_55 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 7); +lean_inc(x_54); +lean_inc(x_49); +lean_inc(x_48); lean_inc(x_47); lean_inc(x_46); -lean_inc(x_45); +lean_inc(x_43); lean_inc(x_42); lean_inc(x_41); lean_inc(x_40); -lean_inc(x_39); lean_dec(x_4); -x_54 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_54, 0, x_39); -lean_ctor_set(x_54, 1, x_40); -lean_ctor_set(x_54, 2, x_41); -lean_ctor_set(x_54, 3, x_42); -lean_ctor_set(x_54, 4, x_45); -lean_ctor_set(x_54, 5, x_46); -lean_ctor_set(x_54, 6, x_47); -lean_ctor_set(x_54, 7, x_52); -lean_ctor_set_uint8(x_54, sizeof(void*)*8, x_43); -lean_ctor_set_uint8(x_54, sizeof(void*)*8 + 1, x_3); -lean_ctor_set_uint8(x_54, sizeof(void*)*8 + 2, x_44); -lean_ctor_set_uint8(x_54, sizeof(void*)*8 + 3, x_48); -lean_ctor_set_uint8(x_54, sizeof(void*)*8 + 4, x_49); -lean_ctor_set_uint8(x_54, sizeof(void*)*8 + 5, x_50); -lean_ctor_set_uint8(x_54, sizeof(void*)*8 + 6, x_51); -lean_ctor_set_uint8(x_54, sizeof(void*)*8 + 7, x_53); -x_55 = 0; -x_56 = 1; -x_57 = l_Lean_Elab_Term_elabTerm(x_1, x_2, x_55, x_56, x_54, x_5, x_6, x_7, x_8, x_9, x_10); -return x_57; +x_56 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_56, 0, x_40); +lean_ctor_set(x_56, 1, x_41); +lean_ctor_set(x_56, 2, x_42); +lean_ctor_set(x_56, 3, x_43); +lean_ctor_set(x_56, 4, x_46); +lean_ctor_set(x_56, 5, x_47); +lean_ctor_set(x_56, 6, x_48); +lean_ctor_set(x_56, 7, x_49); +lean_ctor_set(x_56, 8, x_54); +lean_ctor_set_uint8(x_56, sizeof(void*)*9, x_44); +lean_ctor_set_uint8(x_56, sizeof(void*)*9 + 1, x_3); +lean_ctor_set_uint8(x_56, sizeof(void*)*9 + 2, x_45); +lean_ctor_set_uint8(x_56, sizeof(void*)*9 + 3, x_50); +lean_ctor_set_uint8(x_56, sizeof(void*)*9 + 4, x_51); +lean_ctor_set_uint8(x_56, sizeof(void*)*9 + 5, x_52); +lean_ctor_set_uint8(x_56, sizeof(void*)*9 + 6, x_53); +lean_ctor_set_uint8(x_56, sizeof(void*)*9 + 7, x_55); +x_57 = 0; +x_58 = 1; +x_59 = l_Lean_Elab_Term_elabTerm(x_1, x_2, x_57, x_58, x_56, x_5, x_6, x_7, x_8, x_9, x_10); +return x_59; } } } @@ -10274,7 +10280,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_ _start: { uint8_t x_4; -x_4 = lean_ctor_get_uint8(x_1, sizeof(void*)*8); +x_4 = lean_ctor_get_uint8(x_1, sizeof(void*)*9); if (x_4 == 0) { if (x_2 == 0) @@ -14459,7 +14465,7 @@ return x_45; } } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_SyntheticMVars___hyg_4349_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_SyntheticMVars___hyg_4350_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -14645,7 +14651,7 @@ l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSyntheticMVar__ lean_mark_persistent(l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSyntheticMVar___closed__1); l_Lean_Elab_Term_withSynthesizeLight___rarg___closed__1 = _init_l_Lean_Elab_Term_withSynthesizeLight___rarg___closed__1(); lean_mark_persistent(l_Lean_Elab_Term_withSynthesizeLight___rarg___closed__1); -res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_SyntheticMVars___hyg_4349_(lean_io_mk_world()); +res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_SyntheticMVars___hyg_4350_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Basic.c b/stage0/stdlib/Lean/Elab/Tactic/Basic.c index 77cf81c257..a1025ff63c 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Basic.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Basic.c @@ -314,7 +314,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_liftMetaTacticAux(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_adaptExpander(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_closeMainGoal(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_tryTactic___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3244_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3245_(lean_object*); lean_object* l_Lean_Meta_getMVarDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_throwNoGoalsToBeSolved___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_instantiateMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -326,6 +326,7 @@ static lean_object* l_Lean_Elab_Tactic_instAlternativeTacticM___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Tactic_expandTacticMacroFns_loop___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getTailPos_x3f(lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Tactic_expandTacticMacroFns_loop___spec__1___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3245____closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_tryTactic_x3f___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_throwNoGoalsToBeSolved___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_replaceMainGoal(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -362,7 +363,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_getMainModule(lean_object*, lean_obj LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_instAlternativeTacticM___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_indentExpr(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_getMainModule___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3244____closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_instMonadExceptExceptionTacticM___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_mkTacticAttribute___closed__12; LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Tactic_expandTacticMacroFns_loop___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); @@ -9683,24 +9683,26 @@ return x_17; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; uint8_t x_23; uint8_t x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; uint8_t x_29; uint8_t x_30; uint8_t 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_37; +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; uint8_t x_23; uint8_t x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; uint8_t x_30; uint8_t x_31; uint8_t x_32; lean_object* x_33; uint8_t x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; x_18 = lean_ctor_get(x_6, 0); x_19 = lean_ctor_get(x_6, 1); x_20 = lean_ctor_get(x_6, 2); x_21 = lean_ctor_get(x_6, 3); -x_22 = lean_ctor_get_uint8(x_6, sizeof(void*)*8); -x_23 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 1); -x_24 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 2); +x_22 = lean_ctor_get_uint8(x_6, sizeof(void*)*9); +x_23 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 1); +x_24 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 2); x_25 = lean_ctor_get(x_6, 4); x_26 = lean_ctor_get(x_6, 5); x_27 = lean_ctor_get(x_6, 6); -x_28 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 3); -x_29 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 4); -x_30 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 5); -x_31 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 6); -x_32 = lean_ctor_get(x_6, 7); -x_33 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 7); -lean_inc(x_32); +x_28 = lean_ctor_get(x_6, 7); +x_29 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 3); +x_30 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 4); +x_31 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 5); +x_32 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 6); +x_33 = lean_ctor_get(x_6, 8); +x_34 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 7); +lean_inc(x_33); +lean_inc(x_28); lean_inc(x_27); lean_inc(x_26); lean_inc(x_25); @@ -9709,31 +9711,32 @@ lean_inc(x_20); lean_inc(x_19); lean_inc(x_18); lean_dec(x_6); -x_34 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_34, 0, x_1); -lean_ctor_set(x_34, 1, x_2); -x_35 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_35, 0, x_34); -lean_ctor_set(x_35, 1, x_21); -x_36 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_36, 0, x_18); -lean_ctor_set(x_36, 1, x_19); -lean_ctor_set(x_36, 2, x_20); -lean_ctor_set(x_36, 3, x_35); -lean_ctor_set(x_36, 4, x_25); -lean_ctor_set(x_36, 5, x_26); -lean_ctor_set(x_36, 6, x_27); -lean_ctor_set(x_36, 7, x_32); -lean_ctor_set_uint8(x_36, sizeof(void*)*8, x_22); -lean_ctor_set_uint8(x_36, sizeof(void*)*8 + 1, x_23); -lean_ctor_set_uint8(x_36, sizeof(void*)*8 + 2, x_24); -lean_ctor_set_uint8(x_36, sizeof(void*)*8 + 3, x_28); -lean_ctor_set_uint8(x_36, sizeof(void*)*8 + 4, x_29); -lean_ctor_set_uint8(x_36, sizeof(void*)*8 + 5, x_30); -lean_ctor_set_uint8(x_36, sizeof(void*)*8 + 6, x_31); -lean_ctor_set_uint8(x_36, sizeof(void*)*8 + 7, x_33); -x_37 = lean_apply_9(x_3, x_4, x_5, x_36, x_7, x_8, x_9, x_10, x_11, x_12); -return x_37; +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_1); +lean_ctor_set(x_35, 1, x_2); +x_36 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_36, 0, x_35); +lean_ctor_set(x_36, 1, x_21); +x_37 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_37, 0, x_18); +lean_ctor_set(x_37, 1, x_19); +lean_ctor_set(x_37, 2, x_20); +lean_ctor_set(x_37, 3, x_36); +lean_ctor_set(x_37, 4, x_25); +lean_ctor_set(x_37, 5, x_26); +lean_ctor_set(x_37, 6, x_27); +lean_ctor_set(x_37, 7, x_28); +lean_ctor_set(x_37, 8, x_33); +lean_ctor_set_uint8(x_37, sizeof(void*)*9, x_22); +lean_ctor_set_uint8(x_37, sizeof(void*)*9 + 1, x_23); +lean_ctor_set_uint8(x_37, sizeof(void*)*9 + 2, x_24); +lean_ctor_set_uint8(x_37, sizeof(void*)*9 + 3, x_29); +lean_ctor_set_uint8(x_37, sizeof(void*)*9 + 4, x_30); +lean_ctor_set_uint8(x_37, sizeof(void*)*9 + 5, x_31); +lean_ctor_set_uint8(x_37, sizeof(void*)*9 + 6, x_32); +lean_ctor_set_uint8(x_37, sizeof(void*)*9 + 7, x_34); +x_38 = lean_apply_9(x_3, x_4, x_5, x_37, x_7, x_8, x_9, x_10, x_11, x_12); +return x_38; } } } @@ -9808,24 +9811,26 @@ return x_16; } else { -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; uint8_t x_22; uint8_t x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; uint8_t x_28; uint8_t x_29; uint8_t x_30; lean_object* x_31; uint8_t x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; uint8_t x_22; uint8_t x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; uint8_t x_29; uint8_t x_30; uint8_t 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_37; x_17 = lean_ctor_get(x_5, 0); x_18 = lean_ctor_get(x_5, 1); x_19 = lean_ctor_get(x_5, 2); x_20 = lean_ctor_get(x_5, 3); -x_21 = lean_ctor_get_uint8(x_5, sizeof(void*)*8); -x_22 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 1); -x_23 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 2); +x_21 = lean_ctor_get_uint8(x_5, sizeof(void*)*9); +x_22 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 1); +x_23 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 2); x_24 = lean_ctor_get(x_5, 4); x_25 = lean_ctor_get(x_5, 5); x_26 = lean_ctor_get(x_5, 6); -x_27 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 3); -x_28 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 4); -x_29 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 5); -x_30 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 6); -x_31 = lean_ctor_get(x_5, 7); -x_32 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 7); -lean_inc(x_31); +x_27 = lean_ctor_get(x_5, 7); +x_28 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 3); +x_29 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 4); +x_30 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 5); +x_31 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 6); +x_32 = lean_ctor_get(x_5, 8); +x_33 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 7); +lean_inc(x_32); +lean_inc(x_27); lean_inc(x_26); lean_inc(x_25); lean_inc(x_24); @@ -9835,31 +9840,32 @@ lean_inc(x_18); lean_inc(x_17); lean_dec(x_5); lean_inc(x_2); -x_33 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_33, 0, x_1); -lean_ctor_set(x_33, 1, x_2); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_33); -lean_ctor_set(x_34, 1, x_20); -x_35 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_35, 0, x_17); -lean_ctor_set(x_35, 1, x_18); -lean_ctor_set(x_35, 2, x_19); -lean_ctor_set(x_35, 3, x_34); -lean_ctor_set(x_35, 4, x_24); -lean_ctor_set(x_35, 5, x_25); -lean_ctor_set(x_35, 6, x_26); -lean_ctor_set(x_35, 7, x_31); -lean_ctor_set_uint8(x_35, sizeof(void*)*8, x_21); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 1, x_22); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 2, x_23); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 3, x_27); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 4, x_28); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 5, x_29); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 6, x_30); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 7, x_32); -x_36 = l_Lean_Elab_Tactic_evalTacticAux(x_2, x_3, x_4, x_35, x_6, x_7, x_8, x_9, x_10, x_11); -return x_36; +x_34 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_34, 0, x_1); +lean_ctor_set(x_34, 1, x_2); +x_35 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_35, 0, x_34); +lean_ctor_set(x_35, 1, x_20); +x_36 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_36, 0, x_17); +lean_ctor_set(x_36, 1, x_18); +lean_ctor_set(x_36, 2, x_19); +lean_ctor_set(x_36, 3, x_35); +lean_ctor_set(x_36, 4, x_24); +lean_ctor_set(x_36, 5, x_25); +lean_ctor_set(x_36, 6, x_26); +lean_ctor_set(x_36, 7, x_27); +lean_ctor_set(x_36, 8, x_32); +lean_ctor_set_uint8(x_36, sizeof(void*)*9, x_21); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 1, x_22); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 2, x_23); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 3, x_28); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 4, x_29); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 5, x_30); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 6, x_31); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 7, x_33); +x_37 = l_Lean_Elab_Tactic_evalTacticAux(x_2, x_3, x_4, x_36, x_6, x_7, x_8, x_9, x_10, x_11); +return x_37; } } } @@ -12220,7 +12226,7 @@ lean_dec(x_1); return x_5; } } -static lean_object* _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3244____closed__1() { +static lean_object* _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3245____closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -12230,11 +12236,11 @@ x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3244_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3245_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3244____closed__1; +x_2 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3245____closed__1; x_3 = l_Lean_registerTraceClass(x_2, x_1); return x_3; } @@ -12483,9 +12489,9 @@ l_Lean_Elab_Tactic_getNameOfIdent_x27___closed__2 = _init_l_Lean_Elab_Tactic_get lean_mark_persistent(l_Lean_Elab_Tactic_getNameOfIdent_x27___closed__2); l_Lean_Elab_Tactic_withCaseRef___rarg___closed__1 = _init_l_Lean_Elab_Tactic_withCaseRef___rarg___closed__1(); lean_mark_persistent(l_Lean_Elab_Tactic_withCaseRef___rarg___closed__1); -l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3244____closed__1 = _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3244____closed__1(); -lean_mark_persistent(l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3244____closed__1); -res = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3244_(lean_io_mk_world()); +l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3245____closed__1 = _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3245____closed__1(); +lean_mark_persistent(l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3245____closed__1); +res = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3245_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Elab/Tactic/BuiltinTactic.c b/stage0/stdlib/Lean/Elab/Tactic/BuiltinTactic.c index ba943ff353..5e6c47725d 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/BuiltinTactic.c +++ b/stage0/stdlib/Lean/Elab/Tactic/BuiltinTactic.c @@ -14700,24 +14700,26 @@ return x_16; } else { -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; uint8_t x_22; uint8_t x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; uint8_t x_28; uint8_t x_29; uint8_t x_30; lean_object* x_31; uint8_t x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; uint8_t x_22; uint8_t x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; uint8_t x_29; uint8_t x_30; uint8_t 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_37; x_17 = lean_ctor_get(x_5, 0); x_18 = lean_ctor_get(x_5, 1); x_19 = lean_ctor_get(x_5, 2); x_20 = lean_ctor_get(x_5, 3); -x_21 = lean_ctor_get_uint8(x_5, sizeof(void*)*8); -x_22 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 1); -x_23 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 2); +x_21 = lean_ctor_get_uint8(x_5, sizeof(void*)*9); +x_22 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 1); +x_23 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 2); x_24 = lean_ctor_get(x_5, 4); x_25 = lean_ctor_get(x_5, 5); x_26 = lean_ctor_get(x_5, 6); -x_27 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 3); -x_28 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 4); -x_29 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 5); -x_30 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 6); -x_31 = lean_ctor_get(x_5, 7); -x_32 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 7); -lean_inc(x_31); +x_27 = lean_ctor_get(x_5, 7); +x_28 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 3); +x_29 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 4); +x_30 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 5); +x_31 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 6); +x_32 = lean_ctor_get(x_5, 8); +x_33 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 7); +lean_inc(x_32); +lean_inc(x_27); lean_inc(x_26); lean_inc(x_25); lean_inc(x_24); @@ -14727,31 +14729,32 @@ lean_inc(x_18); lean_inc(x_17); lean_dec(x_5); lean_inc(x_2); -x_33 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_33, 0, x_1); -lean_ctor_set(x_33, 1, x_2); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_33); -lean_ctor_set(x_34, 1, x_20); -x_35 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_35, 0, x_17); -lean_ctor_set(x_35, 1, x_18); -lean_ctor_set(x_35, 2, x_19); -lean_ctor_set(x_35, 3, x_34); -lean_ctor_set(x_35, 4, x_24); -lean_ctor_set(x_35, 5, x_25); -lean_ctor_set(x_35, 6, x_26); -lean_ctor_set(x_35, 7, x_31); -lean_ctor_set_uint8(x_35, sizeof(void*)*8, x_21); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 1, x_22); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 2, x_23); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 3, x_27); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 4, x_28); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 5, x_29); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 6, x_30); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 7, x_32); -x_36 = l_Lean_Elab_Tactic_evalTacticAux(x_2, x_3, x_4, x_35, x_6, x_7, x_8, x_9, x_10, x_11); -return x_36; +x_34 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_34, 0, x_1); +lean_ctor_set(x_34, 1, x_2); +x_35 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_35, 0, x_34); +lean_ctor_set(x_35, 1, x_20); +x_36 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_36, 0, x_17); +lean_ctor_set(x_36, 1, x_18); +lean_ctor_set(x_36, 2, x_19); +lean_ctor_set(x_36, 3, x_35); +lean_ctor_set(x_36, 4, x_24); +lean_ctor_set(x_36, 5, x_25); +lean_ctor_set(x_36, 6, x_26); +lean_ctor_set(x_36, 7, x_27); +lean_ctor_set(x_36, 8, x_32); +lean_ctor_set_uint8(x_36, sizeof(void*)*9, x_21); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 1, x_22); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 2, x_23); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 3, x_28); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 4, x_29); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 5, x_30); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 6, x_31); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 7, x_33); +x_37 = l_Lean_Elab_Tactic_evalTacticAux(x_2, x_3, x_4, x_36, x_6, x_7, x_8, x_9, x_10, x_11); +return x_37; } } } diff --git a/stage0/stdlib/Lean/Elab/Tactic/Cache.c b/stage0/stdlib/Lean/Elab/Tactic/Cache.c index 47146a2e70..5ef949637c 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Cache.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Cache.c @@ -1907,7 +1907,7 @@ x_11 = l_Lean_Elab_Tactic_getMainGoal(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_ if (lean_obj_tag(x_11) == 0) { lean_object* x_12; -x_12 = lean_ctor_get(x_4, 7); +x_12 = lean_ctor_get(x_4, 8); lean_inc(x_12); if (lean_obj_tag(x_12) == 0) { diff --git a/stage0/stdlib/Lean/Elab/Tactic/Conv/Pattern.c b/stage0/stdlib/Lean/Elab/Tactic/Conv/Pattern.c index 82670a1e8f..0ddf5ac358 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Conv/Pattern.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Conv/Pattern.c @@ -1624,7 +1624,7 @@ return x_2; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalPattern___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; uint8_t x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; uint8_t x_22; uint8_t x_23; lean_object* x_24; uint8_t x_25; uint8_t x_26; lean_object* x_27; lean_object* x_28; +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; uint8_t x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; uint8_t x_23; uint8_t x_24; lean_object* x_25; uint8_t x_26; uint8_t x_27; lean_object* x_28; lean_object* x_29; x_11 = lean_ctor_get(x_4, 0); lean_inc(x_11); x_12 = lean_ctor_get(x_4, 1); @@ -1633,53 +1633,56 @@ x_13 = lean_ctor_get(x_4, 2); lean_inc(x_13); x_14 = lean_ctor_get(x_4, 3); lean_inc(x_14); -x_15 = lean_ctor_get_uint8(x_4, sizeof(void*)*8); -x_16 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 1); -x_17 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 2); +x_15 = lean_ctor_get_uint8(x_4, sizeof(void*)*9); +x_16 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 1); +x_17 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 2); x_18 = lean_ctor_get(x_4, 4); lean_inc(x_18); x_19 = lean_ctor_get(x_4, 5); lean_inc(x_19); x_20 = lean_ctor_get(x_4, 6); lean_inc(x_20); -x_21 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 3); -x_22 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 4); -x_23 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 6); -x_24 = lean_ctor_get(x_4, 7); -lean_inc(x_24); -x_25 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 7); -x_26 = 1; -x_27 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_27, 0, x_11); -lean_ctor_set(x_27, 1, x_12); -lean_ctor_set(x_27, 2, x_13); -lean_ctor_set(x_27, 3, x_14); -lean_ctor_set(x_27, 4, x_18); -lean_ctor_set(x_27, 5, x_19); -lean_ctor_set(x_27, 6, x_20); -lean_ctor_set(x_27, 7, x_24); -lean_ctor_set_uint8(x_27, sizeof(void*)*8, x_15); -lean_ctor_set_uint8(x_27, sizeof(void*)*8 + 1, x_16); -lean_ctor_set_uint8(x_27, sizeof(void*)*8 + 2, x_17); -lean_ctor_set_uint8(x_27, sizeof(void*)*8 + 3, x_21); -lean_ctor_set_uint8(x_27, sizeof(void*)*8 + 4, x_22); -lean_ctor_set_uint8(x_27, sizeof(void*)*8 + 5, x_26); -lean_ctor_set_uint8(x_27, sizeof(void*)*8 + 6, x_23); -lean_ctor_set_uint8(x_27, sizeof(void*)*8 + 7, x_25); +x_21 = lean_ctor_get(x_4, 7); +lean_inc(x_21); +x_22 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 3); +x_23 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 4); +x_24 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 6); +x_25 = lean_ctor_get(x_4, 8); +lean_inc(x_25); +x_26 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 7); +x_27 = 1; +x_28 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_28, 0, x_11); +lean_ctor_set(x_28, 1, x_12); +lean_ctor_set(x_28, 2, x_13); +lean_ctor_set(x_28, 3, x_14); +lean_ctor_set(x_28, 4, x_18); +lean_ctor_set(x_28, 5, x_19); +lean_ctor_set(x_28, 6, x_20); +lean_ctor_set(x_28, 7, x_21); +lean_ctor_set(x_28, 8, x_25); +lean_ctor_set_uint8(x_28, sizeof(void*)*9, x_15); +lean_ctor_set_uint8(x_28, sizeof(void*)*9 + 1, x_16); +lean_ctor_set_uint8(x_28, sizeof(void*)*9 + 2, x_17); +lean_ctor_set_uint8(x_28, sizeof(void*)*9 + 3, x_22); +lean_ctor_set_uint8(x_28, sizeof(void*)*9 + 4, x_23); +lean_ctor_set_uint8(x_28, sizeof(void*)*9 + 5, x_27); +lean_ctor_set_uint8(x_28, sizeof(void*)*9 + 6, x_24); +lean_ctor_set_uint8(x_28, sizeof(void*)*9 + 7, x_26); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_28 = l_Lean_Elab_Term_withoutModifyingElabMetaStateWithInfo___rarg(x_1, x_27, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_28) == 0) +x_29 = l_Lean_Elab_Term_withoutModifyingElabMetaStateWithInfo___rarg(x_1, x_28, x_5, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_29) == 0) { -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_28, 1); +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_29, 0); lean_inc(x_30); -lean_dec(x_28); +x_31 = lean_ctor_get(x_29, 1); +lean_inc(x_31); +lean_dec(x_29); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); @@ -1688,272 +1691,142 @@ lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_31 = l_Lean_Elab_Tactic_Conv_getLhs(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_30); -if (lean_obj_tag(x_31) == 0) +x_32 = l_Lean_Elab_Tactic_Conv_getLhs(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_31); +if (lean_obj_tag(x_32) == 0) { -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); +lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_33 = lean_ctor_get(x_32, 0); lean_inc(x_33); -lean_dec(x_31); +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -lean_inc(x_29); -x_34 = l___private_Lean_Elab_Tactic_Conv_Pattern_0__Lean_Elab_Tactic_Conv_findPattern_x3f(x_29, x_32, x_6, x_7, x_8, x_9, x_33); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); +lean_inc(x_30); +x_35 = l___private_Lean_Elab_Tactic_Conv_Pattern_0__Lean_Elab_Tactic_Conv_findPattern_x3f(x_30, x_33, x_6, x_7, x_8, x_9, x_34); if (lean_obj_tag(x_35) == 0) { -lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_36 = lean_ctor_get(x_34, 1); +lean_object* x_36; +x_36 = lean_ctor_get(x_35, 0); lean_inc(x_36); -lean_dec(x_34); -x_37 = lean_ctor_get(x_29, 2); +if (lean_obj_tag(x_36) == 0) +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_37 = lean_ctor_get(x_35, 1); lean_inc(x_37); -lean_dec(x_29); -x_38 = l_Lean_indentExpr(x_37); -x_39 = l_Lean_Elab_Tactic_Conv_evalPattern___lambda__3___closed__2; -x_40 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_38); -x_41 = l_Lean_Elab_Tactic_Conv_evalPattern___lambda__3___closed__4; -x_42 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_42, 0, x_40); -lean_ctor_set(x_42, 1, x_41); -x_43 = l_Lean_throwError___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_evalTacticUsing_loop___spec__2(x_42, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_36); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_43; -} -else -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; -lean_dec(x_29); -x_44 = lean_ctor_get(x_35, 0); -lean_inc(x_44); lean_dec(x_35); -x_45 = lean_ctor_get(x_34, 1); +x_38 = lean_ctor_get(x_30, 2); +lean_inc(x_38); +lean_dec(x_30); +x_39 = l_Lean_indentExpr(x_38); +x_40 = l_Lean_Elab_Tactic_Conv_evalPattern___lambda__3___closed__2; +x_41 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_41, 0, x_40); +lean_ctor_set(x_41, 1, x_39); +x_42 = l_Lean_Elab_Tactic_Conv_evalPattern___lambda__3___closed__4; +x_43 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_43, 0, x_41); +lean_ctor_set(x_43, 1, x_42); +x_44 = l_Lean_throwError___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_evalTacticUsing_loop___spec__2(x_43, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_37); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_44; +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; +lean_dec(x_30); +x_45 = lean_ctor_get(x_36, 0); lean_inc(x_45); -lean_dec(x_34); -x_46 = lean_ctor_get(x_44, 0); +lean_dec(x_36); +x_46 = lean_ctor_get(x_35, 1); lean_inc(x_46); -x_47 = lean_ctor_get(x_44, 1); +lean_dec(x_35); +x_47 = lean_ctor_get(x_45, 0); lean_inc(x_47); -lean_dec(x_44); +x_48 = lean_ctor_get(x_45, 1); +lean_inc(x_48); +lean_dec(x_45); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -lean_inc(x_47); -x_48 = l_Lean_Meta_Simp_Result_getProof(x_47, x_6, x_7, x_8, x_9, x_45); -if (lean_obj_tag(x_48) == 0) +lean_inc(x_48); +x_49 = l_Lean_Meta_Simp_Result_getProof(x_48, x_6, x_7, x_8, x_9, x_46); +if (lean_obj_tag(x_49) == 0) { -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_49 = lean_ctor_get(x_48, 0); -lean_inc(x_49); -x_50 = lean_ctor_get(x_48, 1); +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_50 = lean_ctor_get(x_49, 0); lean_inc(x_50); -lean_dec(x_48); -x_51 = lean_ctor_get(x_47, 0); +x_51 = lean_ctor_get(x_49, 1); lean_inc(x_51); -lean_dec(x_47); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_52 = l_Lean_Elab_Tactic_Conv_updateLhs(x_51, x_49, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_50); -if (lean_obj_tag(x_52) == 0) -{ -lean_object* x_53; lean_object* x_54; -x_53 = lean_ctor_get(x_52, 1); -lean_inc(x_53); -lean_dec(x_52); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_54 = l_Lean_Elab_Tactic_getMainGoal(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_53); -if (lean_obj_tag(x_54) == 0) -{ -lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_55 = lean_ctor_get(x_54, 0); -lean_inc(x_55); -x_56 = lean_ctor_get(x_54, 1); -lean_inc(x_56); -lean_dec(x_54); -x_57 = l_Lean_Elab_Tactic_Conv_evalPattern___lambda__3___closed__7; -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -x_58 = l_Lean_Meta_applyRefl(x_55, x_57, x_6, x_7, x_8, x_9, x_56); -if (lean_obj_tag(x_58) == 0) -{ -lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; -x_59 = lean_ctor_get(x_58, 1); -lean_inc(x_59); -lean_dec(x_58); -x_60 = lean_box(0); -x_61 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_61, 0, x_46); -lean_ctor_set(x_61, 1, x_60); -x_62 = l_Lean_Elab_Tactic_replaceMainGoal(x_61, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_59); -return x_62; -} -else -{ -uint8_t x_63; -lean_dec(x_46); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_63 = !lean_is_exclusive(x_58); -if (x_63 == 0) -{ -return x_58; -} -else -{ -lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_58, 0); -x_65 = lean_ctor_get(x_58, 1); -lean_inc(x_65); -lean_inc(x_64); -lean_dec(x_58); -x_66 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_66, 0, x_64); -lean_ctor_set(x_66, 1, x_65); -return x_66; -} -} -} -else -{ -uint8_t x_67; -lean_dec(x_46); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_67 = !lean_is_exclusive(x_54); -if (x_67 == 0) -{ -return x_54; -} -else -{ -lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_68 = lean_ctor_get(x_54, 0); -x_69 = lean_ctor_get(x_54, 1); -lean_inc(x_69); -lean_inc(x_68); -lean_dec(x_54); -x_70 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_70, 0, x_68); -lean_ctor_set(x_70, 1, x_69); -return x_70; -} -} -} -else -{ -uint8_t x_71; -lean_dec(x_46); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_71 = !lean_is_exclusive(x_52); -if (x_71 == 0) -{ -return x_52; -} -else -{ -lean_object* x_72; lean_object* x_73; lean_object* x_74; -x_72 = lean_ctor_get(x_52, 0); -x_73 = lean_ctor_get(x_52, 1); -lean_inc(x_73); -lean_inc(x_72); -lean_dec(x_52); -x_74 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_74, 0, x_72); -lean_ctor_set(x_74, 1, x_73); -return x_74; -} -} -} -else -{ -uint8_t x_75; -lean_dec(x_47); -lean_dec(x_46); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_75 = !lean_is_exclusive(x_48); -if (x_75 == 0) -{ -return x_48; -} -else -{ -lean_object* x_76; lean_object* x_77; lean_object* x_78; -x_76 = lean_ctor_get(x_48, 0); -x_77 = lean_ctor_get(x_48, 1); -lean_inc(x_77); -lean_inc(x_76); +lean_dec(x_49); +x_52 = lean_ctor_get(x_48, 0); +lean_inc(x_52); lean_dec(x_48); -x_78 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_78, 0, x_76); -lean_ctor_set(x_78, 1, x_77); -return x_78; -} -} -} +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_53 = l_Lean_Elab_Tactic_Conv_updateLhs(x_52, x_50, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_51); +if (lean_obj_tag(x_53) == 0) +{ +lean_object* x_54; lean_object* x_55; +x_54 = lean_ctor_get(x_53, 1); +lean_inc(x_54); +lean_dec(x_53); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_55 = l_Lean_Elab_Tactic_getMainGoal(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_54); +if (lean_obj_tag(x_55) == 0) +{ +lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_56 = lean_ctor_get(x_55, 0); +lean_inc(x_56); +x_57 = lean_ctor_get(x_55, 1); +lean_inc(x_57); +lean_dec(x_55); +x_58 = l_Lean_Elab_Tactic_Conv_evalPattern___lambda__3___closed__7; +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_59 = l_Lean_Meta_applyRefl(x_56, x_58, x_6, x_7, x_8, x_9, x_57); +if (lean_obj_tag(x_59) == 0) +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_60 = lean_ctor_get(x_59, 1); +lean_inc(x_60); +lean_dec(x_59); +x_61 = lean_box(0); +x_62 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_62, 0, x_47); +lean_ctor_set(x_62, 1, x_61); +x_63 = l_Lean_Elab_Tactic_replaceMainGoal(x_62, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_60); +return x_63; } else { -uint8_t x_79; -lean_dec(x_29); +uint8_t x_64; +lean_dec(x_47); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -1962,30 +1835,160 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_79 = !lean_is_exclusive(x_34); -if (x_79 == 0) +x_64 = !lean_is_exclusive(x_59); +if (x_64 == 0) { -return x_34; +return x_59; } else { -lean_object* x_80; lean_object* x_81; lean_object* x_82; -x_80 = lean_ctor_get(x_34, 0); -x_81 = lean_ctor_get(x_34, 1); +lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_ctor_get(x_59, 0); +x_66 = lean_ctor_get(x_59, 1); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_59); +x_67 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_67, 0, x_65); +lean_ctor_set(x_67, 1, x_66); +return x_67; +} +} +} +else +{ +uint8_t x_68; +lean_dec(x_47); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_68 = !lean_is_exclusive(x_55); +if (x_68 == 0) +{ +return x_55; +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_55, 0); +x_70 = lean_ctor_get(x_55, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_55); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; +} +} +} +else +{ +uint8_t x_72; +lean_dec(x_47); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_72 = !lean_is_exclusive(x_53); +if (x_72 == 0) +{ +return x_53; +} +else +{ +lean_object* x_73; lean_object* x_74; lean_object* x_75; +x_73 = lean_ctor_get(x_53, 0); +x_74 = lean_ctor_get(x_53, 1); +lean_inc(x_74); +lean_inc(x_73); +lean_dec(x_53); +x_75 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_75, 0, x_73); +lean_ctor_set(x_75, 1, x_74); +return x_75; +} +} +} +else +{ +uint8_t x_76; +lean_dec(x_48); +lean_dec(x_47); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_76 = !lean_is_exclusive(x_49); +if (x_76 == 0) +{ +return x_49; +} +else +{ +lean_object* x_77; lean_object* x_78; lean_object* x_79; +x_77 = lean_ctor_get(x_49, 0); +x_78 = lean_ctor_get(x_49, 1); +lean_inc(x_78); +lean_inc(x_77); +lean_dec(x_49); +x_79 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_79, 0, x_77); +lean_ctor_set(x_79, 1, x_78); +return x_79; +} +} +} +} +else +{ +uint8_t x_80; +lean_dec(x_30); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_80 = !lean_is_exclusive(x_35); +if (x_80 == 0) +{ +return x_35; +} +else +{ +lean_object* x_81; lean_object* x_82; lean_object* x_83; +x_81 = lean_ctor_get(x_35, 0); +x_82 = lean_ctor_get(x_35, 1); +lean_inc(x_82); lean_inc(x_81); -lean_inc(x_80); -lean_dec(x_34); -x_82 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_82, 0, x_80); -lean_ctor_set(x_82, 1, x_81); -return x_82; +lean_dec(x_35); +x_83 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_83, 0, x_81); +lean_ctor_set(x_83, 1, x_82); +return x_83; } } } else { -uint8_t x_83; -lean_dec(x_29); +uint8_t x_84; +lean_dec(x_30); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -1994,29 +1997,29 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_83 = !lean_is_exclusive(x_31); -if (x_83 == 0) +x_84 = !lean_is_exclusive(x_32); +if (x_84 == 0) { -return x_31; +return x_32; } else { -lean_object* x_84; lean_object* x_85; lean_object* x_86; -x_84 = lean_ctor_get(x_31, 0); -x_85 = lean_ctor_get(x_31, 1); +lean_object* x_85; lean_object* x_86; lean_object* x_87; +x_85 = lean_ctor_get(x_32, 0); +x_86 = lean_ctor_get(x_32, 1); +lean_inc(x_86); lean_inc(x_85); -lean_inc(x_84); -lean_dec(x_31); -x_86 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_86, 0, x_84); -lean_ctor_set(x_86, 1, x_85); -return x_86; +lean_dec(x_32); +x_87 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_87, 0, x_85); +lean_ctor_set(x_87, 1, x_86); +return x_87; } } } else { -uint8_t x_87; +uint8_t x_88; lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -2025,23 +2028,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_87 = !lean_is_exclusive(x_28); -if (x_87 == 0) +x_88 = !lean_is_exclusive(x_29); +if (x_88 == 0) { -return x_28; +return x_29; } else { -lean_object* x_88; lean_object* x_89; lean_object* x_90; -x_88 = lean_ctor_get(x_28, 0); -x_89 = lean_ctor_get(x_28, 1); +lean_object* x_89; lean_object* x_90; lean_object* x_91; +x_89 = lean_ctor_get(x_29, 0); +x_90 = lean_ctor_get(x_29, 1); +lean_inc(x_90); lean_inc(x_89); -lean_inc(x_88); -lean_dec(x_28); -x_90 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_90, 0, x_88); -lean_ctor_set(x_90, 1, x_89); -return x_90; +lean_dec(x_29); +x_91 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_91, 0, x_89); +lean_ctor_set(x_91, 1, x_90); +return x_91; } } } diff --git a/stage0/stdlib/Lean/Elab/Tactic/Match.c b/stage0/stdlib/Lean/Elab/Tactic/Match.c index 81aa129faf..db35bf1e1e 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Match.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Match.c @@ -2461,24 +2461,26 @@ return x_16; } else { -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; uint8_t x_22; uint8_t x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; uint8_t x_28; uint8_t x_29; uint8_t x_30; lean_object* x_31; uint8_t x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; uint8_t x_22; uint8_t x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; uint8_t x_29; uint8_t x_30; uint8_t 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_37; x_17 = lean_ctor_get(x_5, 0); x_18 = lean_ctor_get(x_5, 1); x_19 = lean_ctor_get(x_5, 2); x_20 = lean_ctor_get(x_5, 3); -x_21 = lean_ctor_get_uint8(x_5, sizeof(void*)*8); -x_22 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 1); -x_23 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 2); +x_21 = lean_ctor_get_uint8(x_5, sizeof(void*)*9); +x_22 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 1); +x_23 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 2); x_24 = lean_ctor_get(x_5, 4); x_25 = lean_ctor_get(x_5, 5); x_26 = lean_ctor_get(x_5, 6); -x_27 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 3); -x_28 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 4); -x_29 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 5); -x_30 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 6); -x_31 = lean_ctor_get(x_5, 7); -x_32 = lean_ctor_get_uint8(x_5, sizeof(void*)*8 + 7); -lean_inc(x_31); +x_27 = lean_ctor_get(x_5, 7); +x_28 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 3); +x_29 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 4); +x_30 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 5); +x_31 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 6); +x_32 = lean_ctor_get(x_5, 8); +x_33 = lean_ctor_get_uint8(x_5, sizeof(void*)*9 + 7); +lean_inc(x_32); +lean_inc(x_27); lean_inc(x_26); lean_inc(x_25); lean_inc(x_24); @@ -2488,31 +2490,32 @@ lean_inc(x_18); lean_inc(x_17); lean_dec(x_5); lean_inc(x_2); -x_33 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_33, 0, x_1); -lean_ctor_set(x_33, 1, x_2); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_33); -lean_ctor_set(x_34, 1, x_20); -x_35 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_35, 0, x_17); -lean_ctor_set(x_35, 1, x_18); -lean_ctor_set(x_35, 2, x_19); -lean_ctor_set(x_35, 3, x_34); -lean_ctor_set(x_35, 4, x_24); -lean_ctor_set(x_35, 5, x_25); -lean_ctor_set(x_35, 6, x_26); -lean_ctor_set(x_35, 7, x_31); -lean_ctor_set_uint8(x_35, sizeof(void*)*8, x_21); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 1, x_22); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 2, x_23); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 3, x_27); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 4, x_28); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 5, x_29); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 6, x_30); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 7, x_32); -x_36 = l_Lean_Elab_Tactic_evalTacticAux(x_2, x_3, x_4, x_35, x_6, x_7, x_8, x_9, x_10, x_11); -return x_36; +x_34 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_34, 0, x_1); +lean_ctor_set(x_34, 1, x_2); +x_35 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_35, 0, x_34); +lean_ctor_set(x_35, 1, x_20); +x_36 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_36, 0, x_17); +lean_ctor_set(x_36, 1, x_18); +lean_ctor_set(x_36, 2, x_19); +lean_ctor_set(x_36, 3, x_35); +lean_ctor_set(x_36, 4, x_24); +lean_ctor_set(x_36, 5, x_25); +lean_ctor_set(x_36, 6, x_26); +lean_ctor_set(x_36, 7, x_27); +lean_ctor_set(x_36, 8, x_32); +lean_ctor_set_uint8(x_36, sizeof(void*)*9, x_21); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 1, x_22); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 2, x_23); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 3, x_28); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 4, x_29); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 5, x_30); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 6, x_31); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 7, x_33); +x_37 = l_Lean_Elab_Tactic_evalTacticAux(x_2, x_3, x_4, x_36, x_6, x_7, x_8, x_9, x_10, x_11); +return x_37; } } } diff --git a/stage0/stdlib/Lean/Elab/Tactic/Meta.c b/stage0/stdlib/Lean/Elab/Tactic/Meta.c index 4c0d1926e8..7bdb4d4c35 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Meta.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Meta.c @@ -21,6 +21,8 @@ lean_object* lean_st_ref_get(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_TermElabM_run___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_runTactic___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___elambda__1(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___elambda__1___boxed(lean_object*); lean_object* l_Lean_Elab_Tactic_run(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_runTactic(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -28,12 +30,21 @@ static lean_object* l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_def lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__4; static lean_object* l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__8; +static lean_object* l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__9; static lean_object* l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__7; static lean_object* l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__2; lean_object* l_Lean_MetavarContext_instantiateMVarDeclMVars(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext; lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_withSynthesizeImp___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___elambda__1(lean_object* x_1) { +_start: +{ +uint8_t x_2; +x_2 = 0; +return x_2; +} +} static lean_object* _init_l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__1() { _start: { @@ -111,7 +122,15 @@ return x_1; static lean_object* _init_l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__8() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; uint8_t x_7; lean_object* x_8; lean_object* x_9; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___elambda__1___boxed), 1, 0); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; uint8_t x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; x_1 = lean_box(0); x_2 = lean_box(0); x_3 = lean_box(0); @@ -120,34 +139,46 @@ x_5 = l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___ x_6 = 1; x_7 = 0; x_8 = l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__6; -x_9 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_9, 0, x_4); -lean_ctor_set(x_9, 1, x_5); -lean_ctor_set(x_9, 2, x_1); -lean_ctor_set(x_9, 3, x_2); -lean_ctor_set(x_9, 4, x_8); -lean_ctor_set(x_9, 5, x_3); -lean_ctor_set(x_9, 6, x_3); -lean_ctor_set(x_9, 7, x_1); -lean_ctor_set_uint8(x_9, sizeof(void*)*8, x_6); -lean_ctor_set_uint8(x_9, sizeof(void*)*8 + 1, x_6); -lean_ctor_set_uint8(x_9, sizeof(void*)*8 + 2, x_7); -lean_ctor_set_uint8(x_9, sizeof(void*)*8 + 3, x_6); -lean_ctor_set_uint8(x_9, sizeof(void*)*8 + 4, x_7); -lean_ctor_set_uint8(x_9, sizeof(void*)*8 + 5, x_7); -lean_ctor_set_uint8(x_9, sizeof(void*)*8 + 6, x_7); -lean_ctor_set_uint8(x_9, sizeof(void*)*8 + 7, x_6); -return x_9; +x_9 = l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__8; +x_10 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_10, 0, x_4); +lean_ctor_set(x_10, 1, x_5); +lean_ctor_set(x_10, 2, x_1); +lean_ctor_set(x_10, 3, x_2); +lean_ctor_set(x_10, 4, x_8); +lean_ctor_set(x_10, 5, x_9); +lean_ctor_set(x_10, 6, x_3); +lean_ctor_set(x_10, 7, x_3); +lean_ctor_set(x_10, 8, x_1); +lean_ctor_set_uint8(x_10, sizeof(void*)*9, x_6); +lean_ctor_set_uint8(x_10, sizeof(void*)*9 + 1, x_6); +lean_ctor_set_uint8(x_10, sizeof(void*)*9 + 2, x_7); +lean_ctor_set_uint8(x_10, sizeof(void*)*9 + 3, x_6); +lean_ctor_set_uint8(x_10, sizeof(void*)*9 + 4, x_7); +lean_ctor_set_uint8(x_10, sizeof(void*)*9 + 5, x_7); +lean_ctor_set_uint8(x_10, sizeof(void*)*9 + 6, x_7); +lean_ctor_set_uint8(x_10, sizeof(void*)*9 + 7, x_6); +return x_10; } } static lean_object* _init_l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext() { _start: { lean_object* x_1; -x_1 = l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__8; +x_1 = l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__9; return x_1; } } +LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___elambda__1___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; lean_object* x_3; +x_2 = l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___elambda__1(x_1); +lean_dec(x_1); +x_3 = lean_box(x_2); +return x_3; +} +} LEAN_EXPORT lean_object* l_Lean_Elab_runTactic___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { @@ -326,6 +357,8 @@ l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed lean_mark_persistent(l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__7); l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__8 = _init_l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__8(); lean_mark_persistent(l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__8); +l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__9 = _init_l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__9(); +lean_mark_persistent(l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext___closed__9); l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext = _init_l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext(); lean_mark_persistent(l___private_Lean_Elab_Tactic_Meta_0__Lean_Elab_runTactic_defaultContext); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Elab/Term.c b/stage0/stdlib/Lean/Elab/Term.c index e0d173c141..9b82ecd69c 100644 --- a/stage0/stdlib/Lean/Elab/Term.c +++ b/stage0/stdlib/Lean/Elab/Term.c @@ -17,7 +17,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_instMonadLogTermElabM___lambda__2(lean LEAN_EXPORT lean_object* l_Lean_Elab_Term_saveContext(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_getLevelNames(lean_object*); lean_object* l_List_reverse___rarg(lean_object*); -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__3; static lean_object* l_Lean_Elab_Term_synthesizeInstMVarCore___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_resolveName___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFnsAux___closed__1; @@ -73,6 +72,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_instMonadInfoTreeTermElabM___lambda__2 LEAN_EXPORT lean_object* l_Std_PersistentArray_forM___at_Lean_Elab_Term_instMetaEvalTermElabM___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_MessageData_isNest(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_resolveName___lambda__2(lean_object*, lean_object*); +LEAN_EXPORT uint8_t l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___elambda__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_instInhabitedState; lean_object* lean_mk_empty_array_with_capacity(lean_object*); static lean_object* l_Lean_Elab_Term_State_messages___default___closed__2; @@ -170,6 +170,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Term_0_ static lean_object* l_Lean_Elab_Term_isLetRecAuxMVar___lambda__2___closed__1; static lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_instAddErrorMessageContextTermElabM___spec__1___closed__4; static lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at_Lean_Elab_Term_expandDeclId___spec__6___lambda__2___closed__1; +static lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_addTermInfo___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_Elab_Term_instInhabitedLetRecToLift___closed__7; LEAN_EXPORT lean_object* l_Lean_Elab_Term_instInhabitedTermElabResult___rarg(lean_object*); @@ -271,6 +272,7 @@ static lean_object* l_Lean_Elab_logTrace___at_Lean_Elab_Term_traceAtCmdPos___spe static lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at_Lean_Elab_Term_expandDeclId___spec__6___closed__1; static lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at_Lean_Elab_Term_expandDeclId___spec__6___lambda__2___closed__2; lean_object* lean_expr_instantiate1(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_withAutoBoundImplicitForbiddenPred___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_withAutoBoundImplicit_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_getMessageLog___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -371,7 +373,6 @@ static lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoeSort___la LEAN_EXPORT lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__15; static lean_object* l_Lean_Elab_Term_instInhabitedMVarErrorKind___closed__2; -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509____closed__1; static lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError___closed__7; static lean_object* l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Term_observing___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -568,12 +569,14 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_levelMVarToParam___lambda__1___boxed(l static lean_object* l_Lean_Elab_Tactic_instInhabitedSnapshot___closed__21; lean_object* l_Lean_Meta_mkLambdaFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Term_getMVarDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_logException___at___private_Lean_Elab_Term_0__Lean_Elab_Term_exceptionToSorry___spec__1___closed__2; lean_object* l_Lean_Expr_fvarId_x21(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___lambda__2(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_Lean_Elab_Term_TermElabM_run_x27___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_mapMAux___at___private_Lean_Elab_Term_0__Lean_Elab_Term_withoutModifyingStateWithInfoAndMessagesImpl___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_Context_autoBoundImplicitForbidden___default___boxed(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_expandDeclId___spec__4___closed__3; LEAN_EXPORT lean_object* l_Lean_MessageLog_forM___at_Lean_Elab_Term_instMetaEvalTermElabM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_forIn_visit___at_Lean_Elab_Term_logUnassignedUsingErrorInfos___spec__6___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -610,17 +613,16 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingE static lean_object* l_Lean_Elab_Tactic_instInhabitedCache___closed__1; lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingAux___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_resolveId_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__3; lean_object* l_List_findSome_x3f___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withMVarContext___at_Lean_Elab_Term_logUnassignedUsingErrorInfos___spec__4(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_withoutModifyingStateWithInfoAndMessages___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_commitIfDidNotPostpone(lean_object*); lean_object* l_Lean_Meta_getDelayedAssignment_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_mk_ref(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052_(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029_(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13265_(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_2263_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13345_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_2280_(lean_object*); LEAN_EXPORT lean_object* l_Lean_mkAuxName___at_Lean_Elab_Term_mkAuxName___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_setElabConfig(lean_object*); static lean_object* l_Lean_Elab_Term_mkExplicitBinder___closed__14; @@ -707,9 +709,12 @@ LEAN_EXPORT lean_object* l_Lean_Elab_throwAlreadyDeclaredUniverseLevel___at_Lean static lean_object* l_Lean_Elab_Term_resolveName_process___closed__3; static lean_object* l_Lean_Elab_Term_instMonadTermElabM___closed__2; lean_object* l_Lean_Meta_getMVarsAtDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__2; +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614____closed__1; uint64_t l___private_Lean_Level_0__Lean_hashMVarId____x40_Lean_Level___hyg_484_(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_isLetRecAuxMVar___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_FileMap_toPosition(lean_object*, lean_object*); +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614____closed__2; lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwPostpone___at_Lean_Elab_Term_tryPostpone___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_maxCoeSize; @@ -720,16 +725,16 @@ LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_withNestedTracesFin LEAN_EXPORT lean_object* l_Std_RBNode_forIn_visit___at_Lean_Elab_Term_logUnassignedUsingErrorInfos___spec__6___at_Lean_Elab_Term_logUnassignedUsingErrorInfos___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_liftLevelM(lean_object*); static lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError___closed__5; +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13345____closed__2; static lean_object* l_Lean_Elab_Tactic_instInhabitedSnapshot___closed__20; lean_object* l_Lean_LocalDecl_toExpr(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwAbortTerm___at_Lean_Elab_Term_throwMVarError___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13265____closed__1; extern lean_object* l_Lean_instInhabitedSyntax; extern lean_object* l_Lean_firstFrontendMacroScope; uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*); static uint8_t l_Lean_Elab_Term_collectUnassignedMVars_go___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_Term_withAutoBoundImplicitForbiddenPred(lean_object*); static lean_object* l_List_foldlM___at_Lean_Elab_Term_evalExpr___spec__8___closed__3; -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__2; extern lean_object* l_Lean_Meta_instAlternativeMetaM; LEAN_EXPORT lean_object* l_Lean_Elab_Term_tryPostponeIfHasMVars___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_mkElabAttribute___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -742,6 +747,7 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Term_0_ uint8_t l_Lean_MessageData_hasSyntheticSorry(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_registerMVarErrorHoleInfo___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoeSort___lambda__1___closed__4; +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13345____closed__1; static lean_object* l_Lean_Elab_mkDeclName___at_Lean_Elab_Term_expandDeclId___spec__2___closed__2; lean_object* l_Lean_Core_checkMaxHeartbeats(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__2___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -788,12 +794,12 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_throwTypeMismatchError(lean_object*); lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Cache_pre___default; LEAN_EXPORT lean_object* l_Lean_Elab_mkDeclName___at_Lean_Elab_Term_expandDeclId___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614____closed__3; static lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe___closed__2; static lean_object* l_Lean_Elab_Tactic_instInhabitedSnapshot___closed__7; LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__2___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_tryPostponeIfHasMVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13265____closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_BinderInfo_isImplicit(uint8_t); LEAN_EXPORT lean_object* l_Lean_Elab_Term_evalExpr___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -826,6 +832,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_Context_sectionVars___default; static lean_object* l_Lean_Elab_Term_tryPostponeIfHasMVars___closed__2; static lean_object* l_Lean_Elab_mkDeclName___at_Lean_Elab_Term_expandDeclId___spec__2___lambda__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkFreshBinderName___rarg(lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__2; LEAN_EXPORT lean_object* l_Lean_evalConst___at_Lean_Elab_Term_evalExpr___spec__11(lean_object*); lean_object* l_Std_PersistentArray_toList___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__7___rarg(lean_object*); @@ -947,7 +954,6 @@ uint8_t l_Lean_BinderInfo_isExplicit(uint8_t); static lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_registerSyntheticMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getKind(lean_object*); -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__2; lean_object* l_Lean_MacroScopesView_review(lean_object*); static lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError_addArgName___closed__3; LEAN_EXPORT lean_object* l_Lean_addDocString___at_Lean_Elab_Term_expandDeclId___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -970,7 +976,6 @@ static lean_object* l_Lean_Elab_Term_instToStringLVal___closed__2; static lean_object* l_Lean_Elab_Tactic_instInhabitedSnapshot___closed__10; LEAN_EXPORT lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda_loop___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_instInhabitedMVarErrorKind___closed__3; -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabTerm___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_Context_autoBoundImplicits___default; LEAN_EXPORT lean_object* l_Lean_Elab_Term_liftLevelM___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -983,6 +988,7 @@ lean_object* l_Lean_KVMap_insertCore(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_instMonadInfoTreeTermElabM___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_withDeclName___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_logAt___at_Lean_Elab_Term_traceAtCmdPos___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_withAutoBoundImplicitForbiddenPred___rarg___lambda__1(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_logAt___at_Lean_Elab_Term_traceAtCmdPos___spec__3___closed__1; LEAN_EXPORT lean_object* l_Std_PersistentArray_mapM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_withoutModifyingStateWithInfoAndMessagesImpl___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Elab_Term_Context_inPattern___default; @@ -1054,7 +1060,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_tryCoeThunk_x3f___boxed(lean_object*, LEAN_EXPORT lean_object* l_Lean_Elab_Term_instMonadLogTermElabM___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkSyntheticSorry(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__1; static lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_Term_addDotCompletionInfo___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_isLambdaWithImplicit___closed__1; @@ -1077,6 +1082,7 @@ LEAN_EXPORT uint8_t l_Lean_Elab_Term_Context_ignoreTCFailures___default; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_expandDeclId___spec__4___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_getLetRecsToLift___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_resolveName_process___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___elambda__1___boxed(lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); static lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__6___closed__2; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_resolveName_x27___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1087,7 +1093,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_instMonadLogTermElabM___lambda__2___bo LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_instHashableProd___rarg___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_collectUnassignedMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509____closed__3; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Term_0__Lean_Elab_Term_isLambdaWithImplicit___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_instInhabitedSnapshot___closed__11; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_addAutoBoundImplicits_go___spec__1(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*); @@ -1137,6 +1142,7 @@ LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Term_evalExpr___spec__9___ LEAN_EXPORT lean_object* l_Lean_Elab_Term_getLevelNames___boxed(lean_object*); lean_object* l_Lean_mkPatternWithRef(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Lean_Elab_Term_Context_autoBoundImplicitForbidden___default(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_setMessageLog___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_indentD(lean_object*); extern lean_object* l_Lean_Elab_unsupportedSyntaxExceptionId; @@ -1163,7 +1169,7 @@ lean_object* l_IO_println___at_Lean_instEval___spec__1(lean_object*, lean_object static lean_object* l_Lean_Elab_Tactic_instInhabitedSnapshot___closed__17; LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_Elab_Term_addTermInfo___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_throwErrorIfErrors(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614_(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_evalExpr___spec__13(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_addAutoBoundImplicits(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_whnfD(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1180,6 +1186,7 @@ static lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTer LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_withoutModifyingElabMetaStateWithInfo___spec__10(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe___closed__1; LEAN_EXPORT lean_object* l_Lean_addDocString___at_Lean_Elab_Term_expandDeclId___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkTermInfo___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_Elab_Term_instMonadInfoTreeTermElabM___closed__3; lean_object* l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_6____spec__1(lean_object*, lean_object*, lean_object*); @@ -1189,6 +1196,7 @@ static lean_object* l_Lean_addDocString___at_Lean_Elab_Term_expandDeclId___spec_ LEAN_EXPORT lean_object* l_Std_PersistentArray_forMAux___at_Lean_Elab_Term_instMetaEvalTermElabM___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_getAppFn(lean_object*); static lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError___closed__9; +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__4; static lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError_addArgName___closed__1; static lean_object* l_Lean_Elab_Term_expandDeclId___closed__1; LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Term_resolveName_x27___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1203,12 +1211,12 @@ uint8_t l_Std_PersistentArray_anyM___at_Lean_MessageLog_hasErrors___spec__1(lean LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__2___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___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_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Term_0__Lean_Elab_Term_withoutModifyingStateWithInfoAndMessagesImpl___spec__5(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Elab_Term_0__Lean_Elab_Term_isExplicitApp(lean_object*); static lean_object* l_Lean_Elab_Term_synthesizeInstMVarCore___lambda__3___closed__3; uint8_t l_List_isEmpty___rarg(lean_object*); -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509____closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_instInhabitedSavedState; static lean_object* l_Lean_Elab_Term_mkFreshBinderName___rarg___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_hasNoImplicitLambdaAnnotation___boxed(lean_object*); @@ -1257,7 +1265,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_synthesizeCoeInstMVarCore(lean_object* static lean_object* l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__12; LEAN_EXPORT lean_object* l_Lean_Elab_Term_withoutPending___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_registerMVarErrorCustomInfo___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__1; static lean_object* l_Lean_Elab_Term_tryCoeThunk_x3f___closed__4; LEAN_EXPORT lean_object* l_Array_contains___at_Lean_Elab_Term_logUnassignedUsingErrorInfos___spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_withAutoBoundImplicit___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1301,9 +1308,9 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_instMetaEvalTermElabM___rarg___lambda_ lean_object* l_Lean_getAttributeImpl(lean_object*, lean_object*); lean_object* l_List_appendTR___rarg(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_instInhabitedLetRecToLift___closed__4; +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_withoutModifyingElabMetaStateWithInfo___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Option_set___at_Lean_Meta_withPPInaccessibleNamesImp___spec__2(lean_object*, lean_object*, uint8_t); -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__4; LEAN_EXPORT lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSyntheticSorryFor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkTermInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1323,6 +1330,7 @@ static lean_object* l_Lean_Elab_Term_synthesizeInstMVarCore___lambda__2___closed LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_synthesizeInst___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_resolveId_x3f___lambda__2___closed__5; static lean_object* l_Lean_Elab_Term_instInhabitedLetRecToLift___closed__9; +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__4; static lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_instAddErrorMessageContextTermElabM___spec__1___closed__3; LEAN_EXPORT uint8_t l___private_Lean_Elab_Term_0__Lean_Elab_Term_isTacticBlock(lean_object*); LEAN_EXPORT lean_object* l_Lean_setEnv___at_Lean_Elab_Term_evalExpr___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -2348,6 +2356,24 @@ x_1 = l_Lean_Elab_Term_State_messages___default___closed__3; return x_1; } } +LEAN_EXPORT uint8_t l_Lean_Elab_Term_Context_autoBoundImplicitForbidden___default(lean_object* x_1) { +_start: +{ +uint8_t x_2; +x_2 = 0; +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Term_Context_autoBoundImplicitForbidden___default___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; lean_object* x_3; +x_2 = l_Lean_Elab_Term_Context_autoBoundImplicitForbidden___default(x_1); +lean_dec(x_1); +x_3 = lean_box(x_2); +return x_3; +} +} static lean_object* _init_l_Lean_Elab_Term_Context_sectionVars___default() { _start: { @@ -3926,7 +3952,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_Elab_Term_getFVarLocalDecl_x21___closed__1; x_2 = l_Lean_Elab_Term_getFVarLocalDecl_x21___closed__2; -x_3 = lean_unsigned_to_nat(272u); +x_3 = lean_unsigned_to_nat(284u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_Elab_Term_getFVarLocalDecl_x21___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -8672,29 +8698,31 @@ if (x_9 == 0) { uint8_t x_10; lean_object* x_11; x_10 = 0; -lean_ctor_set_uint8(x_2, sizeof(void*)*8 + 7, x_10); +lean_ctor_set_uint8(x_2, sizeof(void*)*9 + 7, x_10); x_11 = lean_apply_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); return x_11; } else { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; uint8_t x_17; uint8_t x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; uint8_t x_23; uint8_t x_24; uint8_t x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28; lean_object* x_29; +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; uint8_t x_17; uint8_t x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; uint8_t x_24; uint8_t x_25; uint8_t x_26; lean_object* x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; x_12 = lean_ctor_get(x_2, 0); x_13 = lean_ctor_get(x_2, 1); x_14 = lean_ctor_get(x_2, 2); x_15 = lean_ctor_get(x_2, 3); -x_16 = lean_ctor_get_uint8(x_2, sizeof(void*)*8); -x_17 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 1); -x_18 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 2); +x_16 = lean_ctor_get_uint8(x_2, sizeof(void*)*9); +x_17 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 1); +x_18 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 2); x_19 = lean_ctor_get(x_2, 4); x_20 = lean_ctor_get(x_2, 5); x_21 = lean_ctor_get(x_2, 6); -x_22 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 3); -x_23 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 4); -x_24 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 5); -x_25 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 6); -x_26 = lean_ctor_get(x_2, 7); -lean_inc(x_26); +x_22 = lean_ctor_get(x_2, 7); +x_23 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 3); +x_24 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 4); +x_25 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 5); +x_26 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 6); +x_27 = lean_ctor_get(x_2, 8); +lean_inc(x_27); +lean_inc(x_22); lean_inc(x_21); lean_inc(x_20); lean_inc(x_19); @@ -8703,26 +8731,27 @@ lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); lean_dec(x_2); -x_27 = 0; -x_28 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_28, 0, x_12); -lean_ctor_set(x_28, 1, x_13); -lean_ctor_set(x_28, 2, x_14); -lean_ctor_set(x_28, 3, x_15); -lean_ctor_set(x_28, 4, x_19); -lean_ctor_set(x_28, 5, x_20); -lean_ctor_set(x_28, 6, x_21); -lean_ctor_set(x_28, 7, x_26); -lean_ctor_set_uint8(x_28, sizeof(void*)*8, x_16); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 1, x_17); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 2, x_18); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 3, x_22); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 4, x_23); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 5, x_24); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 6, x_25); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 7, x_27); -x_29 = lean_apply_7(x_1, x_28, x_3, x_4, x_5, x_6, x_7, x_8); -return x_29; +x_28 = 0; +x_29 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_29, 0, x_12); +lean_ctor_set(x_29, 1, x_13); +lean_ctor_set(x_29, 2, x_14); +lean_ctor_set(x_29, 3, x_15); +lean_ctor_set(x_29, 4, x_19); +lean_ctor_set(x_29, 5, x_20); +lean_ctor_set(x_29, 6, x_21); +lean_ctor_set(x_29, 7, x_22); +lean_ctor_set(x_29, 8, x_27); +lean_ctor_set_uint8(x_29, sizeof(void*)*9, x_16); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 1, x_17); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 2, x_18); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 3, x_23); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 4, x_24); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 5, x_25); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 6, x_26); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 7, x_28); +x_30 = lean_apply_7(x_1, x_29, x_3, x_4, x_5, x_6, x_7, x_8); +return x_30; } } } @@ -8910,7 +8939,7 @@ x_8 = l_Lean_Elab_mkElabAttribute___rarg(x_2, x_3, x_4, x_5, x_6, x_7, x_1); return x_8; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_2263_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_2280_(lean_object* x_1) { _start: { lean_object* x_2; @@ -9344,23 +9373,25 @@ return x_13; } else { -lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; uint8_t x_18; uint8_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; uint8_t x_24; uint8_t x_25; uint8_t x_26; lean_object* x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; uint8_t x_18; uint8_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; uint8_t x_25; uint8_t x_26; uint8_t x_27; lean_object* x_28; uint8_t x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; x_14 = lean_ctor_get(x_3, 0); x_15 = lean_ctor_get(x_3, 1); x_16 = lean_ctor_get(x_3, 3); -x_17 = lean_ctor_get_uint8(x_3, sizeof(void*)*8); -x_18 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 1); -x_19 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 2); +x_17 = lean_ctor_get_uint8(x_3, sizeof(void*)*9); +x_18 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 1); +x_19 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 2); x_20 = lean_ctor_get(x_3, 4); x_21 = lean_ctor_get(x_3, 5); x_22 = lean_ctor_get(x_3, 6); -x_23 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 3); -x_24 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 4); -x_25 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 5); -x_26 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 6); -x_27 = lean_ctor_get(x_3, 7); -x_28 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 7); -lean_inc(x_27); +x_23 = lean_ctor_get(x_3, 7); +x_24 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 3); +x_25 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 4); +x_26 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 5); +x_27 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 6); +x_28 = lean_ctor_get(x_3, 8); +x_29 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 7); +lean_inc(x_28); +lean_inc(x_23); lean_inc(x_22); lean_inc(x_21); lean_inc(x_20); @@ -9368,27 +9399,28 @@ lean_inc(x_16); lean_inc(x_15); lean_inc(x_14); lean_dec(x_3); -x_29 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_29, 0, x_1); -x_30 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_30, 0, x_14); -lean_ctor_set(x_30, 1, x_15); -lean_ctor_set(x_30, 2, x_29); -lean_ctor_set(x_30, 3, x_16); -lean_ctor_set(x_30, 4, x_20); -lean_ctor_set(x_30, 5, x_21); -lean_ctor_set(x_30, 6, x_22); -lean_ctor_set(x_30, 7, x_27); -lean_ctor_set_uint8(x_30, sizeof(void*)*8, x_17); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 1, x_18); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 2, x_19); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 3, x_23); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 4, x_24); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 5, x_25); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 6, x_26); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 7, x_28); -x_31 = lean_apply_7(x_2, x_30, x_4, x_5, x_6, x_7, x_8, x_9); -return x_31; +x_30 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_30, 0, x_1); +x_31 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_31, 0, x_14); +lean_ctor_set(x_31, 1, x_15); +lean_ctor_set(x_31, 2, x_30); +lean_ctor_set(x_31, 3, x_16); +lean_ctor_set(x_31, 4, x_20); +lean_ctor_set(x_31, 5, x_21); +lean_ctor_set(x_31, 6, x_22); +lean_ctor_set(x_31, 7, x_23); +lean_ctor_set(x_31, 8, x_28); +lean_ctor_set_uint8(x_31, sizeof(void*)*9, x_17); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 1, x_18); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 2, x_19); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 3, x_24); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 4, x_25); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 5, x_26); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 6, x_27); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 7, x_29); +x_32 = lean_apply_7(x_2, x_31, x_4, x_5, x_6, x_7, x_8, x_9); +return x_32; } } } @@ -9616,29 +9648,31 @@ if (x_9 == 0) { uint8_t x_10; lean_object* x_11; x_10 = 0; -lean_ctor_set_uint8(x_2, sizeof(void*)*8 + 1, x_10); +lean_ctor_set_uint8(x_2, sizeof(void*)*9 + 1, x_10); x_11 = lean_apply_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); return x_11; } else { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; uint8_t x_22; uint8_t x_23; uint8_t x_24; lean_object* x_25; uint8_t x_26; uint8_t x_27; lean_object* x_28; lean_object* x_29; +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; uint8_t x_23; uint8_t x_24; uint8_t x_25; lean_object* x_26; uint8_t x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; x_12 = lean_ctor_get(x_2, 0); x_13 = lean_ctor_get(x_2, 1); x_14 = lean_ctor_get(x_2, 2); x_15 = lean_ctor_get(x_2, 3); -x_16 = lean_ctor_get_uint8(x_2, sizeof(void*)*8); -x_17 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 2); +x_16 = lean_ctor_get_uint8(x_2, sizeof(void*)*9); +x_17 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 2); x_18 = lean_ctor_get(x_2, 4); x_19 = lean_ctor_get(x_2, 5); x_20 = lean_ctor_get(x_2, 6); -x_21 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 3); -x_22 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 4); -x_23 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 5); -x_24 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 6); -x_25 = lean_ctor_get(x_2, 7); -x_26 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 7); -lean_inc(x_25); +x_21 = lean_ctor_get(x_2, 7); +x_22 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 3); +x_23 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 4); +x_24 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 5); +x_25 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 6); +x_26 = lean_ctor_get(x_2, 8); +x_27 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 7); +lean_inc(x_26); +lean_inc(x_21); lean_inc(x_20); lean_inc(x_19); lean_inc(x_18); @@ -9647,26 +9681,27 @@ lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); lean_dec(x_2); -x_27 = 0; -x_28 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_28, 0, x_12); -lean_ctor_set(x_28, 1, x_13); -lean_ctor_set(x_28, 2, x_14); -lean_ctor_set(x_28, 3, x_15); -lean_ctor_set(x_28, 4, x_18); -lean_ctor_set(x_28, 5, x_19); -lean_ctor_set(x_28, 6, x_20); -lean_ctor_set(x_28, 7, x_25); -lean_ctor_set_uint8(x_28, sizeof(void*)*8, x_16); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 1, x_27); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 2, x_17); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 3, x_21); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 4, x_22); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 5, x_23); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 6, x_24); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 7, x_26); -x_29 = lean_apply_7(x_1, x_28, x_3, x_4, x_5, x_6, x_7, x_8); -return x_29; +x_28 = 0; +x_29 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_29, 0, x_12); +lean_ctor_set(x_29, 1, x_13); +lean_ctor_set(x_29, 2, x_14); +lean_ctor_set(x_29, 3, x_15); +lean_ctor_set(x_29, 4, x_18); +lean_ctor_set(x_29, 5, x_19); +lean_ctor_set(x_29, 6, x_20); +lean_ctor_set(x_29, 7, x_21); +lean_ctor_set(x_29, 8, x_26); +lean_ctor_set_uint8(x_29, sizeof(void*)*9, x_16); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 1, x_28); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 2, x_17); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 3, x_22); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 4, x_23); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 5, x_24); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 6, x_25); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 7, x_27); +x_30 = lean_apply_7(x_1, x_29, x_3, x_4, x_5, x_6, x_7, x_8); +return x_30; } } } @@ -10997,7 +11032,7 @@ lean_inc(x_18); lean_dec(x_16); x_19 = lean_ctor_get(x_6, 0); x_20 = lean_ctor_get(x_6, 3); -x_21 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 2); +x_21 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 2); lean_inc(x_20); lean_inc(x_19); x_22 = lean_alloc_ctor(0, 2, 1); @@ -11731,24 +11766,26 @@ return x_15; } else { -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; uint8_t x_21; uint8_t x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; uint8_t x_27; uint8_t x_28; uint8_t x_29; lean_object* x_30; uint8_t x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; uint8_t x_21; uint8_t x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; uint8_t x_28; uint8_t x_29; uint8_t x_30; lean_object* x_31; uint8_t x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; x_16 = lean_ctor_get(x_4, 0); x_17 = lean_ctor_get(x_4, 1); x_18 = lean_ctor_get(x_4, 2); x_19 = lean_ctor_get(x_4, 3); -x_20 = lean_ctor_get_uint8(x_4, sizeof(void*)*8); -x_21 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 1); -x_22 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 2); +x_20 = lean_ctor_get_uint8(x_4, sizeof(void*)*9); +x_21 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 1); +x_22 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 2); x_23 = lean_ctor_get(x_4, 4); x_24 = lean_ctor_get(x_4, 5); x_25 = lean_ctor_get(x_4, 6); -x_26 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 3); -x_27 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 4); -x_28 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 5); -x_29 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 6); -x_30 = lean_ctor_get(x_4, 7); -x_31 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 7); -lean_inc(x_30); +x_26 = lean_ctor_get(x_4, 7); +x_27 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 3); +x_28 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 4); +x_29 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 5); +x_30 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 6); +x_31 = lean_ctor_get(x_4, 8); +x_32 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 7); +lean_inc(x_31); +lean_inc(x_26); lean_inc(x_25); lean_inc(x_24); lean_inc(x_23); @@ -11757,31 +11794,32 @@ lean_inc(x_18); lean_inc(x_17); lean_inc(x_16); lean_dec(x_4); -x_32 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_32, 0, x_1); -lean_ctor_set(x_32, 1, x_2); -x_33 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_33, 0, x_32); -lean_ctor_set(x_33, 1, x_19); -x_34 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_34, 0, x_16); -lean_ctor_set(x_34, 1, x_17); -lean_ctor_set(x_34, 2, x_18); -lean_ctor_set(x_34, 3, x_33); -lean_ctor_set(x_34, 4, x_23); -lean_ctor_set(x_34, 5, x_24); -lean_ctor_set(x_34, 6, x_25); -lean_ctor_set(x_34, 7, x_30); -lean_ctor_set_uint8(x_34, sizeof(void*)*8, x_20); -lean_ctor_set_uint8(x_34, sizeof(void*)*8 + 1, x_21); -lean_ctor_set_uint8(x_34, sizeof(void*)*8 + 2, x_22); -lean_ctor_set_uint8(x_34, sizeof(void*)*8 + 3, x_26); -lean_ctor_set_uint8(x_34, sizeof(void*)*8 + 4, x_27); -lean_ctor_set_uint8(x_34, sizeof(void*)*8 + 5, x_28); -lean_ctor_set_uint8(x_34, sizeof(void*)*8 + 6, x_29); -lean_ctor_set_uint8(x_34, sizeof(void*)*8 + 7, x_31); -x_35 = lean_apply_7(x_3, x_34, x_5, x_6, x_7, x_8, x_9, x_10); -return x_35; +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_1); +lean_ctor_set(x_33, 1, x_2); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_33); +lean_ctor_set(x_34, 1, x_19); +x_35 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_35, 0, x_16); +lean_ctor_set(x_35, 1, x_17); +lean_ctor_set(x_35, 2, x_18); +lean_ctor_set(x_35, 3, x_34); +lean_ctor_set(x_35, 4, x_23); +lean_ctor_set(x_35, 5, x_24); +lean_ctor_set(x_35, 6, x_25); +lean_ctor_set(x_35, 7, x_26); +lean_ctor_set(x_35, 8, x_31); +lean_ctor_set_uint8(x_35, sizeof(void*)*9, x_20); +lean_ctor_set_uint8(x_35, sizeof(void*)*9 + 1, x_21); +lean_ctor_set_uint8(x_35, sizeof(void*)*9 + 2, x_22); +lean_ctor_set_uint8(x_35, sizeof(void*)*9 + 3, x_27); +lean_ctor_set_uint8(x_35, sizeof(void*)*9 + 4, x_28); +lean_ctor_set_uint8(x_35, sizeof(void*)*9 + 5, x_29); +lean_ctor_set_uint8(x_35, sizeof(void*)*9 + 6, x_30); +lean_ctor_set_uint8(x_35, sizeof(void*)*9 + 7, x_32); +x_36 = lean_apply_7(x_3, x_35, x_5, x_6, x_7, x_8, x_9, x_10); +return x_36; } } } @@ -17009,29 +17047,31 @@ if (x_9 == 0) { uint8_t x_10; lean_object* x_11; x_10 = 0; -lean_ctor_set_uint8(x_2, sizeof(void*)*8, x_10); +lean_ctor_set_uint8(x_2, sizeof(void*)*9, x_10); x_11 = lean_apply_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); return x_11; } else { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; uint8_t x_22; uint8_t x_23; uint8_t x_24; lean_object* x_25; uint8_t x_26; uint8_t x_27; lean_object* x_28; lean_object* x_29; +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; uint8_t x_23; uint8_t x_24; uint8_t x_25; lean_object* x_26; uint8_t x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; x_12 = lean_ctor_get(x_2, 0); x_13 = lean_ctor_get(x_2, 1); x_14 = lean_ctor_get(x_2, 2); x_15 = lean_ctor_get(x_2, 3); -x_16 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 1); -x_17 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 2); +x_16 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 1); +x_17 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 2); x_18 = lean_ctor_get(x_2, 4); x_19 = lean_ctor_get(x_2, 5); x_20 = lean_ctor_get(x_2, 6); -x_21 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 3); -x_22 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 4); -x_23 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 5); -x_24 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 6); -x_25 = lean_ctor_get(x_2, 7); -x_26 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 7); -lean_inc(x_25); +x_21 = lean_ctor_get(x_2, 7); +x_22 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 3); +x_23 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 4); +x_24 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 5); +x_25 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 6); +x_26 = lean_ctor_get(x_2, 8); +x_27 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 7); +lean_inc(x_26); +lean_inc(x_21); lean_inc(x_20); lean_inc(x_19); lean_inc(x_18); @@ -17040,26 +17080,27 @@ lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); lean_dec(x_2); -x_27 = 0; -x_28 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_28, 0, x_12); -lean_ctor_set(x_28, 1, x_13); -lean_ctor_set(x_28, 2, x_14); -lean_ctor_set(x_28, 3, x_15); -lean_ctor_set(x_28, 4, x_18); -lean_ctor_set(x_28, 5, x_19); -lean_ctor_set(x_28, 6, x_20); -lean_ctor_set(x_28, 7, x_25); -lean_ctor_set_uint8(x_28, sizeof(void*)*8, x_27); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 1, x_16); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 2, x_17); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 3, x_21); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 4, x_22); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 5, x_23); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 6, x_24); -lean_ctor_set_uint8(x_28, sizeof(void*)*8 + 7, x_26); -x_29 = lean_apply_7(x_1, x_28, x_3, x_4, x_5, x_6, x_7, x_8); -return x_29; +x_28 = 0; +x_29 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_29, 0, x_12); +lean_ctor_set(x_29, 1, x_13); +lean_ctor_set(x_29, 2, x_14); +lean_ctor_set(x_29, 3, x_15); +lean_ctor_set(x_29, 4, x_18); +lean_ctor_set(x_29, 5, x_19); +lean_ctor_set(x_29, 6, x_20); +lean_ctor_set(x_29, 7, x_21); +lean_ctor_set(x_29, 8, x_26); +lean_ctor_set_uint8(x_29, sizeof(void*)*9, x_28); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 1, x_16); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 2, x_17); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 3, x_22); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 4, x_23); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 5, x_24); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 6, x_25); +lean_ctor_set_uint8(x_29, sizeof(void*)*9 + 7, x_27); +x_30 = lean_apply_7(x_1, x_29, x_3, x_4, x_5, x_6, x_7, x_8); +return x_30; } } } @@ -20753,7 +20794,7 @@ case 0: { uint8_t x_19; lean_dec(x_1); -x_19 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 5); +x_19 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 5); if (x_19 == 0) { lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; @@ -21284,7 +21325,7 @@ lean_dec(x_3); return x_12; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__1() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__1() { _start: { lean_object* x_1; @@ -21292,17 +21333,17 @@ x_1 = lean_mk_string("autoLift"); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__2() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__1; +x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__3() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__3() { _start: { lean_object* x_1; @@ -21310,13 +21351,13 @@ x_1 = lean_mk_string("insert monadic lifts (i.e., `liftM` and coercions) when ne return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__4() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__4() { _start: { uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = 1; x_2 = l_Lean_Elab_logAt___at_Lean_Elab_Term_traceAtCmdPos___spec__3___closed__1; -x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__3; +x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__3; x_4 = lean_box(x_1); x_5 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_5, 0, x_4); @@ -21325,17 +21366,17 @@ lean_ctor_set(x_5, 2, x_3); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__2; -x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__4; +x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__2; +x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__4; x_4 = l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_6____spec__1(x_2, x_3, x_1); return x_4; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__1() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__1() { _start: { lean_object* x_1; @@ -21343,17 +21384,17 @@ x_1 = lean_mk_string("maxCoeSize"); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__2() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__1; +x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__3() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__3() { _start: { lean_object* x_1; @@ -21361,13 +21402,13 @@ x_1 = lean_mk_string("maximum number of instances used to construct an automatic return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__4() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = lean_unsigned_to_nat(16u); x_2 = l_Lean_Elab_logAt___at_Lean_Elab_Term_traceAtCmdPos___spec__3___closed__1; -x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__3; +x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__3; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -21375,12 +21416,12 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__2; -x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__4; +x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__2; +x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__4; x_4 = l_Lean_Option_register___at_Lean_initFn____x40_Lean_Util_RecDepth___hyg_6____spec__1(x_2, x_3, x_1); return x_4; } @@ -26755,7 +26796,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_tryPostpone(lean_object* x_1, lean_obj _start: { uint8_t x_8; -x_8 = lean_ctor_get_uint8(x_1, sizeof(void*)*8); +x_8 = lean_ctor_get_uint8(x_1, sizeof(void*)*9); lean_dec(x_1); if (x_8 == 0) { @@ -27326,7 +27367,7 @@ lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_obje x_14 = lean_ctor_get(x_12, 0); x_15 = lean_ctor_get(x_1, 2); x_16 = lean_ctor_get(x_1, 3); -x_17 = lean_ctor_get_uint8(x_1, sizeof(void*)*8 + 1); +x_17 = lean_ctor_get_uint8(x_1, sizeof(void*)*9 + 1); x_18 = lean_ctor_get(x_14, 0); lean_inc(x_18); lean_dec(x_14); @@ -27354,7 +27395,7 @@ lean_inc(x_20); lean_dec(x_12); x_22 = lean_ctor_get(x_1, 2); x_23 = lean_ctor_get(x_1, 3); -x_24 = lean_ctor_get_uint8(x_1, sizeof(void*)*8 + 1); +x_24 = lean_ctor_get_uint8(x_1, sizeof(void*)*9 + 1); x_25 = lean_ctor_get(x_20, 0); lean_inc(x_25); lean_dec(x_20); @@ -27416,7 +27457,7 @@ x_18 = lean_ctor_get(x_3, 2); lean_dec(x_18); lean_ctor_set(x_3, 3, x_13); lean_ctor_set(x_3, 2, x_10); -lean_ctor_set_uint8(x_3, sizeof(void*)*8 + 1, x_14); +lean_ctor_set_uint8(x_3, sizeof(void*)*9 + 1, x_14); x_19 = !lean_is_exclusive(x_7); if (x_19 == 0) { @@ -27464,58 +27505,61 @@ return x_31; } else { -lean_object* x_32; lean_object* x_33; uint8_t x_34; uint8_t x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; uint8_t x_40; uint8_t x_41; uint8_t x_42; lean_object* x_43; uint8_t x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; +lean_object* x_32; lean_object* x_33; uint8_t x_34; uint8_t x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; uint8_t x_40; uint8_t x_41; uint8_t x_42; uint8_t x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; x_32 = lean_ctor_get(x_3, 0); x_33 = lean_ctor_get(x_3, 1); -x_34 = lean_ctor_get_uint8(x_3, sizeof(void*)*8); -x_35 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 2); +x_34 = lean_ctor_get_uint8(x_3, sizeof(void*)*9); +x_35 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 2); x_36 = lean_ctor_get(x_3, 4); x_37 = lean_ctor_get(x_3, 5); x_38 = lean_ctor_get(x_3, 6); -x_39 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 3); -x_40 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 4); -x_41 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 5); -x_42 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 6); -x_43 = lean_ctor_get(x_3, 7); -x_44 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 7); -lean_inc(x_43); +x_39 = lean_ctor_get(x_3, 7); +x_40 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 3); +x_41 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 4); +x_42 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 5); +x_43 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 6); +x_44 = lean_ctor_get(x_3, 8); +x_45 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 7); +lean_inc(x_44); +lean_inc(x_39); lean_inc(x_38); lean_inc(x_37); lean_inc(x_36); lean_inc(x_33); lean_inc(x_32); lean_dec(x_3); -x_45 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_45, 0, x_32); -lean_ctor_set(x_45, 1, x_33); -lean_ctor_set(x_45, 2, x_10); -lean_ctor_set(x_45, 3, x_13); -lean_ctor_set(x_45, 4, x_36); -lean_ctor_set(x_45, 5, x_37); -lean_ctor_set(x_45, 6, x_38); -lean_ctor_set(x_45, 7, x_43); -lean_ctor_set_uint8(x_45, sizeof(void*)*8, x_34); -lean_ctor_set_uint8(x_45, sizeof(void*)*8 + 1, x_14); -lean_ctor_set_uint8(x_45, sizeof(void*)*8 + 2, x_35); -lean_ctor_set_uint8(x_45, sizeof(void*)*8 + 3, x_39); -lean_ctor_set_uint8(x_45, sizeof(void*)*8 + 4, x_40); -lean_ctor_set_uint8(x_45, sizeof(void*)*8 + 5, x_41); -lean_ctor_set_uint8(x_45, sizeof(void*)*8 + 6, x_42); -lean_ctor_set_uint8(x_45, sizeof(void*)*8 + 7, x_44); -x_46 = lean_ctor_get(x_7, 1); -lean_inc(x_46); -x_47 = lean_ctor_get(x_7, 2); +x_46 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_46, 0, x_32); +lean_ctor_set(x_46, 1, x_33); +lean_ctor_set(x_46, 2, x_10); +lean_ctor_set(x_46, 3, x_13); +lean_ctor_set(x_46, 4, x_36); +lean_ctor_set(x_46, 5, x_37); +lean_ctor_set(x_46, 6, x_38); +lean_ctor_set(x_46, 7, x_39); +lean_ctor_set(x_46, 8, x_44); +lean_ctor_set_uint8(x_46, sizeof(void*)*9, x_34); +lean_ctor_set_uint8(x_46, sizeof(void*)*9 + 1, x_14); +lean_ctor_set_uint8(x_46, sizeof(void*)*9 + 2, x_35); +lean_ctor_set_uint8(x_46, sizeof(void*)*9 + 3, x_40); +lean_ctor_set_uint8(x_46, sizeof(void*)*9 + 4, x_41); +lean_ctor_set_uint8(x_46, sizeof(void*)*9 + 5, x_42); +lean_ctor_set_uint8(x_46, sizeof(void*)*9 + 6, x_43); +lean_ctor_set_uint8(x_46, sizeof(void*)*9 + 7, x_45); +x_47 = lean_ctor_get(x_7, 1); lean_inc(x_47); -x_48 = lean_ctor_get(x_7, 3); +x_48 = lean_ctor_get(x_7, 2); lean_inc(x_48); -x_49 = lean_ctor_get(x_7, 4); +x_49 = lean_ctor_get(x_7, 3); lean_inc(x_49); -x_50 = lean_ctor_get(x_7, 6); +x_50 = lean_ctor_get(x_7, 4); lean_inc(x_50); -x_51 = lean_ctor_get(x_7, 7); +x_51 = lean_ctor_get(x_7, 6); lean_inc(x_51); -x_52 = lean_ctor_get(x_7, 8); +x_52 = lean_ctor_get(x_7, 7); lean_inc(x_52); +x_53 = lean_ctor_get(x_7, 8); +lean_inc(x_53); if (lean_is_exclusive(x_7)) { lean_ctor_release(x_7, 0); lean_ctor_release(x_7, 1); @@ -27526,27 +27570,27 @@ if (lean_is_exclusive(x_7)) { lean_ctor_release(x_7, 6); lean_ctor_release(x_7, 7); lean_ctor_release(x_7, 8); - x_53 = x_7; + x_54 = x_7; } else { lean_dec_ref(x_7); - x_53 = lean_box(0); + x_54 = lean_box(0); } -if (lean_is_scalar(x_53)) { - x_54 = lean_alloc_ctor(0, 9, 0); +if (lean_is_scalar(x_54)) { + x_55 = lean_alloc_ctor(0, 9, 0); } else { - x_54 = x_53; + x_55 = x_54; } -lean_ctor_set(x_54, 0, x_11); -lean_ctor_set(x_54, 1, x_46); -lean_ctor_set(x_54, 2, x_47); -lean_ctor_set(x_54, 3, x_48); -lean_ctor_set(x_54, 4, x_49); -lean_ctor_set(x_54, 5, x_12); -lean_ctor_set(x_54, 6, x_50); -lean_ctor_set(x_54, 7, x_51); -lean_ctor_set(x_54, 8, x_52); -x_55 = l_Lean_Elab_Term_withLevelNames___rarg(x_15, x_2, x_45, x_4, x_5, x_6, x_54, x_8, x_9); -return x_55; +lean_ctor_set(x_55, 0, x_11); +lean_ctor_set(x_55, 1, x_47); +lean_ctor_set(x_55, 2, x_48); +lean_ctor_set(x_55, 3, x_49); +lean_ctor_set(x_55, 4, x_50); +lean_ctor_set(x_55, 5, x_12); +lean_ctor_set(x_55, 6, x_51); +lean_ctor_set(x_55, 7, x_52); +lean_ctor_set(x_55, 8, x_53); +x_56 = l_Lean_Elab_Term_withLevelNames___rarg(x_15, x_2, x_46, x_4, x_5, x_6, x_55, x_8, x_9); +return x_56; } } } @@ -29190,7 +29234,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_addTermInfo(lean_object* x_1, lean_obj _start: { uint8_t x_14; -x_14 = lean_ctor_get_uint8(x_7, sizeof(void*)*8 + 6); +x_14 = lean_ctor_get_uint8(x_7, sizeof(void*)*9 + 6); if (x_14 == 0) { lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; @@ -30073,7 +30117,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_withInfoContext_x27(lean_object* x_1, _start: { uint8_t x_11; -x_11 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 6); +x_11 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 6); if (x_11 == 0) { lean_object* x_12; @@ -30183,7 +30227,7 @@ if (lean_obj_tag(x_14) == 0) uint8_t x_15; lean_dec(x_5); lean_dec(x_2); -x_15 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 1); +x_15 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 1); if (x_15 == 0) { uint8_t x_16; @@ -30227,7 +30271,7 @@ return x_21; else { uint8_t x_22; -x_22 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 1); +x_22 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 1); if (x_22 == 0) { uint8_t x_23; @@ -35333,7 +35377,7 @@ goto block_48; else { uint8_t x_63; -x_63 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 3); +x_63 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 3); if (x_63 == 0) { lean_object* x_64; lean_object* x_65; lean_object* x_66; @@ -35705,7 +35749,7 @@ goto block_123; else { uint8_t x_138; -x_138 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 3); +x_138 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 3); if (x_138 == 0) { lean_object* x_139; lean_object* x_140; lean_object* x_141; @@ -36098,7 +36142,7 @@ goto block_204; else { uint8_t x_219; -x_219 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 3); +x_219 = lean_ctor_get_uint8(x_6, sizeof(void*)*9 + 3); if (x_219 == 0) { lean_object* x_220; lean_object* x_221; lean_object* x_222; @@ -39477,24 +39521,26 @@ return x_16; } else { -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; uint8_t x_22; uint8_t x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; uint8_t x_28; uint8_t x_29; uint8_t x_30; lean_object* x_31; uint8_t x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; uint8_t x_22; uint8_t x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; uint8_t x_29; uint8_t x_30; uint8_t 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_37; lean_object* x_38; lean_object* x_39; x_17 = lean_ctor_get(x_3, 0); x_18 = lean_ctor_get(x_3, 1); x_19 = lean_ctor_get(x_3, 2); x_20 = lean_ctor_get(x_3, 3); -x_21 = lean_ctor_get_uint8(x_3, sizeof(void*)*8); -x_22 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 1); -x_23 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 2); +x_21 = lean_ctor_get_uint8(x_3, sizeof(void*)*9); +x_22 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 1); +x_23 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 2); x_24 = lean_ctor_get(x_3, 4); x_25 = lean_ctor_get(x_3, 5); x_26 = lean_ctor_get(x_3, 6); -x_27 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 3); -x_28 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 4); -x_29 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 5); -x_30 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 6); -x_31 = lean_ctor_get(x_3, 7); -x_32 = lean_ctor_get_uint8(x_3, sizeof(void*)*8 + 7); -lean_inc(x_31); +x_27 = lean_ctor_get(x_3, 7); +x_28 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 3); +x_29 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 4); +x_30 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 5); +x_31 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 6); +x_32 = lean_ctor_get(x_3, 8); +x_33 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 7); +lean_inc(x_32); +lean_inc(x_27); lean_inc(x_26); lean_inc(x_25); lean_inc(x_24); @@ -39503,32 +39549,33 @@ lean_inc(x_19); lean_inc(x_18); lean_inc(x_17); lean_dec(x_3); -x_33 = l_Std_PersistentArray_push___rarg(x_24, x_2); -x_34 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_34, 0, x_17); -lean_ctor_set(x_34, 1, x_18); -lean_ctor_set(x_34, 2, x_19); -lean_ctor_set(x_34, 3, x_20); -lean_ctor_set(x_34, 4, x_33); -lean_ctor_set(x_34, 5, x_25); -lean_ctor_set(x_34, 6, x_26); -lean_ctor_set(x_34, 7, x_31); -lean_ctor_set_uint8(x_34, sizeof(void*)*8, x_21); -lean_ctor_set_uint8(x_34, sizeof(void*)*8 + 1, x_22); -lean_ctor_set_uint8(x_34, sizeof(void*)*8 + 2, x_23); -lean_ctor_set_uint8(x_34, sizeof(void*)*8 + 3, x_27); -lean_ctor_set_uint8(x_34, sizeof(void*)*8 + 4, x_28); -lean_ctor_set_uint8(x_34, sizeof(void*)*8 + 5, x_29); -lean_ctor_set_uint8(x_34, sizeof(void*)*8 + 6, x_30); -lean_ctor_set_uint8(x_34, sizeof(void*)*8 + 7, x_32); -x_35 = l_Lean_Elab_Term_saveState___rarg(x_4, x_5, x_6, x_7, x_8, x_9); -x_36 = lean_ctor_get(x_35, 0); -lean_inc(x_36); -x_37 = lean_ctor_get(x_35, 1); +x_34 = l_Std_PersistentArray_push___rarg(x_24, x_2); +x_35 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_35, 0, x_17); +lean_ctor_set(x_35, 1, x_18); +lean_ctor_set(x_35, 2, x_19); +lean_ctor_set(x_35, 3, x_20); +lean_ctor_set(x_35, 4, x_34); +lean_ctor_set(x_35, 5, x_25); +lean_ctor_set(x_35, 6, x_26); +lean_ctor_set(x_35, 7, x_27); +lean_ctor_set(x_35, 8, x_32); +lean_ctor_set_uint8(x_35, sizeof(void*)*9, x_21); +lean_ctor_set_uint8(x_35, sizeof(void*)*9 + 1, x_22); +lean_ctor_set_uint8(x_35, sizeof(void*)*9 + 2, x_23); +lean_ctor_set_uint8(x_35, sizeof(void*)*9 + 3, x_28); +lean_ctor_set_uint8(x_35, sizeof(void*)*9 + 4, x_29); +lean_ctor_set_uint8(x_35, sizeof(void*)*9 + 5, x_30); +lean_ctor_set_uint8(x_35, sizeof(void*)*9 + 6, x_31); +lean_ctor_set_uint8(x_35, sizeof(void*)*9 + 7, x_33); +x_36 = l_Lean_Elab_Term_saveState___rarg(x_4, x_5, x_6, x_7, x_8, x_9); +x_37 = lean_ctor_get(x_36, 0); lean_inc(x_37); -lean_dec(x_35); -x_38 = l_Lean_Elab_Term_withAutoBoundImplicit_loop___rarg(x_1, x_36, x_34, x_4, x_5, x_6, x_7, x_8, x_37); -return x_38; +x_38 = lean_ctor_get(x_36, 1); +lean_inc(x_38); +lean_dec(x_36); +x_39 = l_Lean_Elab_Term_withAutoBoundImplicit_loop___rarg(x_1, x_37, x_35, x_4, x_5, x_6, x_7, x_8, x_38); +return x_39; } } } @@ -39705,7 +39752,7 @@ x_14 = lean_ctor_get(x_2, 4); lean_dec(x_14); x_15 = l_Lean_Elab_Term_State_messages___default___closed__3; lean_ctor_set(x_2, 4, x_15); -lean_ctor_set_uint8(x_2, sizeof(void*)*8 + 2, x_11); +lean_ctor_set_uint8(x_2, sizeof(void*)*9 + 2, x_11); x_16 = l_Lean_Elab_Term_saveState___rarg(x_3, x_4, x_5, x_6, x_7, x_8); x_17 = lean_ctor_get(x_16, 0); lean_inc(x_17); @@ -39717,22 +39764,24 @@ return x_19; } else { -lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; uint8_t x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; uint8_t x_29; uint8_t x_30; uint8_t 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_37; lean_object* x_38; lean_object* x_39; +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; uint8_t x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; uint8_t x_30; uint8_t x_31; uint8_t x_32; lean_object* x_33; uint8_t x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; x_20 = lean_ctor_get(x_2, 0); x_21 = lean_ctor_get(x_2, 1); x_22 = lean_ctor_get(x_2, 2); x_23 = lean_ctor_get(x_2, 3); -x_24 = lean_ctor_get_uint8(x_2, sizeof(void*)*8); -x_25 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 1); +x_24 = lean_ctor_get_uint8(x_2, sizeof(void*)*9); +x_25 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 1); x_26 = lean_ctor_get(x_2, 5); x_27 = lean_ctor_get(x_2, 6); -x_28 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 3); -x_29 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 4); -x_30 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 5); -x_31 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 6); -x_32 = lean_ctor_get(x_2, 7); -x_33 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 7); -lean_inc(x_32); +x_28 = lean_ctor_get(x_2, 7); +x_29 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 3); +x_30 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 4); +x_31 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 5); +x_32 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 6); +x_33 = lean_ctor_get(x_2, 8); +x_34 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 7); +lean_inc(x_33); +lean_inc(x_28); lean_inc(x_27); lean_inc(x_26); lean_inc(x_23); @@ -39740,32 +39789,33 @@ lean_inc(x_22); lean_inc(x_21); lean_inc(x_20); lean_dec(x_2); -x_34 = l_Lean_Elab_Term_State_messages___default___closed__3; -x_35 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_35, 0, x_20); -lean_ctor_set(x_35, 1, x_21); -lean_ctor_set(x_35, 2, x_22); -lean_ctor_set(x_35, 3, x_23); -lean_ctor_set(x_35, 4, x_34); -lean_ctor_set(x_35, 5, x_26); -lean_ctor_set(x_35, 6, x_27); -lean_ctor_set(x_35, 7, x_32); -lean_ctor_set_uint8(x_35, sizeof(void*)*8, x_24); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 1, x_25); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 2, x_11); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 3, x_28); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 4, x_29); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 5, x_30); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 6, x_31); -lean_ctor_set_uint8(x_35, sizeof(void*)*8 + 7, x_33); -x_36 = l_Lean_Elab_Term_saveState___rarg(x_3, x_4, x_5, x_6, x_7, x_8); -x_37 = lean_ctor_get(x_36, 0); -lean_inc(x_37); -x_38 = lean_ctor_get(x_36, 1); +x_35 = l_Lean_Elab_Term_State_messages___default___closed__3; +x_36 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_36, 0, x_20); +lean_ctor_set(x_36, 1, x_21); +lean_ctor_set(x_36, 2, x_22); +lean_ctor_set(x_36, 3, x_23); +lean_ctor_set(x_36, 4, x_35); +lean_ctor_set(x_36, 5, x_26); +lean_ctor_set(x_36, 6, x_27); +lean_ctor_set(x_36, 7, x_28); +lean_ctor_set(x_36, 8, x_33); +lean_ctor_set_uint8(x_36, sizeof(void*)*9, x_24); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 1, x_25); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 2, x_11); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 3, x_29); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 4, x_30); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 5, x_31); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 6, x_32); +lean_ctor_set_uint8(x_36, sizeof(void*)*9 + 7, x_34); +x_37 = l_Lean_Elab_Term_saveState___rarg(x_3, x_4, x_5, x_6, x_7, x_8); +x_38 = lean_ctor_get(x_37, 0); lean_inc(x_38); -lean_dec(x_36); -x_39 = l_Lean_Elab_Term_withAutoBoundImplicit_loop___rarg(x_1, x_37, x_35, x_3, x_4, x_5, x_6, x_7, x_38); -return x_39; +x_39 = lean_ctor_get(x_37, 1); +lean_inc(x_39); +lean_dec(x_37); +x_40 = l_Lean_Elab_Term_withAutoBoundImplicit_loop___rarg(x_1, x_38, x_36, x_3, x_4, x_5, x_6, x_7, x_39); +return x_40; } } } @@ -39791,28 +39841,30 @@ lean_dec(x_10); x_11 = 0; x_12 = l_Lean_Elab_Term_State_messages___default___closed__3; lean_ctor_set(x_2, 4, x_12); -lean_ctor_set_uint8(x_2, sizeof(void*)*8 + 2, x_11); +lean_ctor_set_uint8(x_2, sizeof(void*)*9 + 2, x_11); x_13 = lean_apply_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); return x_13; } else { -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; uint8_t x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; uint8_t x_23; uint8_t x_24; uint8_t x_25; lean_object* x_26; uint8_t x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; uint8_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; uint8_t x_24; uint8_t x_25; uint8_t x_26; lean_object* x_27; uint8_t x_28; uint8_t x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; x_14 = lean_ctor_get(x_2, 0); x_15 = lean_ctor_get(x_2, 1); x_16 = lean_ctor_get(x_2, 2); x_17 = lean_ctor_get(x_2, 3); -x_18 = lean_ctor_get_uint8(x_2, sizeof(void*)*8); -x_19 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 1); +x_18 = lean_ctor_get_uint8(x_2, sizeof(void*)*9); +x_19 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 1); x_20 = lean_ctor_get(x_2, 5); x_21 = lean_ctor_get(x_2, 6); -x_22 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 3); -x_23 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 4); -x_24 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 5); -x_25 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 6); -x_26 = lean_ctor_get(x_2, 7); -x_27 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 7); -lean_inc(x_26); +x_22 = lean_ctor_get(x_2, 7); +x_23 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 3); +x_24 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 4); +x_25 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 5); +x_26 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 6); +x_27 = lean_ctor_get(x_2, 8); +x_28 = lean_ctor_get_uint8(x_2, sizeof(void*)*9 + 7); +lean_inc(x_27); +lean_inc(x_22); lean_inc(x_21); lean_inc(x_20); lean_inc(x_17); @@ -39820,27 +39872,28 @@ lean_inc(x_16); lean_inc(x_15); lean_inc(x_14); lean_dec(x_2); -x_28 = 0; -x_29 = l_Lean_Elab_Term_State_messages___default___closed__3; -x_30 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_30, 0, x_14); -lean_ctor_set(x_30, 1, x_15); -lean_ctor_set(x_30, 2, x_16); -lean_ctor_set(x_30, 3, x_17); -lean_ctor_set(x_30, 4, x_29); -lean_ctor_set(x_30, 5, x_20); -lean_ctor_set(x_30, 6, x_21); -lean_ctor_set(x_30, 7, x_26); -lean_ctor_set_uint8(x_30, sizeof(void*)*8, x_18); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 1, x_19); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 2, x_28); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 3, x_22); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 4, x_23); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 5, x_24); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 6, x_25); -lean_ctor_set_uint8(x_30, sizeof(void*)*8 + 7, x_27); -x_31 = lean_apply_7(x_1, x_30, x_3, x_4, x_5, x_6, x_7, x_8); -return x_31; +x_29 = 0; +x_30 = l_Lean_Elab_Term_State_messages___default___closed__3; +x_31 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_31, 0, x_14); +lean_ctor_set(x_31, 1, x_15); +lean_ctor_set(x_31, 2, x_16); +lean_ctor_set(x_31, 3, x_17); +lean_ctor_set(x_31, 4, x_30); +lean_ctor_set(x_31, 5, x_20); +lean_ctor_set(x_31, 6, x_21); +lean_ctor_set(x_31, 7, x_22); +lean_ctor_set(x_31, 8, x_27); +lean_ctor_set_uint8(x_31, sizeof(void*)*9, x_18); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 1, x_19); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 2, x_29); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 3, x_23); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 4, x_24); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 5, x_25); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 6, x_26); +lean_ctor_set_uint8(x_31, sizeof(void*)*9 + 7, x_28); +x_32 = lean_apply_7(x_1, x_31, x_3, x_4, x_5, x_6, x_7, x_8); +return x_32; } } } @@ -39852,6 +39905,127 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Elab_Term_withoutAutoBoundImplicit___rar return x_2; } } +LEAN_EXPORT lean_object* l_Lean_Elab_Term_withAutoBoundImplicitForbiddenPred___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; uint8_t x_5; +lean_inc(x_3); +x_4 = lean_apply_1(x_1, x_3); +x_5 = lean_unbox(x_4); +lean_dec(x_4); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; +x_6 = lean_ctor_get(x_2, 5); +lean_inc(x_6); +lean_dec(x_2); +x_7 = lean_apply_1(x_6, x_3); +return x_7; +} +else +{ +uint8_t x_8; lean_object* x_9; +lean_dec(x_3); +lean_dec(x_2); +x_8 = 1; +x_9 = lean_box(x_8); +return x_9; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Term_withAutoBoundImplicitForbiddenPred___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t 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_20; uint8_t x_21; uint8_t x_22; uint8_t x_23; lean_object* x_24; uint8_t x_25; lean_object* x_26; uint8_t x_27; +x_10 = lean_ctor_get(x_3, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_3, 1); +lean_inc(x_11); +x_12 = lean_ctor_get(x_3, 2); +lean_inc(x_12); +x_13 = lean_ctor_get(x_3, 3); +lean_inc(x_13); +x_14 = lean_ctor_get_uint8(x_3, sizeof(void*)*9); +x_15 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 1); +x_16 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 2); +x_17 = lean_ctor_get(x_3, 4); +lean_inc(x_17); +x_18 = lean_ctor_get(x_3, 6); +lean_inc(x_18); +x_19 = lean_ctor_get(x_3, 7); +lean_inc(x_19); +x_20 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 3); +x_21 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 4); +x_22 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 5); +x_23 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 6); +x_24 = lean_ctor_get(x_3, 8); +lean_inc(x_24); +x_25 = lean_ctor_get_uint8(x_3, sizeof(void*)*9 + 7); +lean_inc(x_3); +x_26 = lean_alloc_closure((void*)(l_Lean_Elab_Term_withAutoBoundImplicitForbiddenPred___rarg___lambda__1), 3, 2); +lean_closure_set(x_26, 0, x_1); +lean_closure_set(x_26, 1, x_3); +x_27 = !lean_is_exclusive(x_3); +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; lean_object* x_37; +x_28 = lean_ctor_get(x_3, 8); +lean_dec(x_28); +x_29 = lean_ctor_get(x_3, 7); +lean_dec(x_29); +x_30 = lean_ctor_get(x_3, 6); +lean_dec(x_30); +x_31 = lean_ctor_get(x_3, 5); +lean_dec(x_31); +x_32 = lean_ctor_get(x_3, 4); +lean_dec(x_32); +x_33 = lean_ctor_get(x_3, 3); +lean_dec(x_33); +x_34 = lean_ctor_get(x_3, 2); +lean_dec(x_34); +x_35 = lean_ctor_get(x_3, 1); +lean_dec(x_35); +x_36 = lean_ctor_get(x_3, 0); +lean_dec(x_36); +lean_ctor_set(x_3, 5, x_26); +x_37 = lean_apply_7(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +return x_37; +} +else +{ +lean_object* x_38; lean_object* x_39; +lean_dec(x_3); +x_38 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_38, 0, x_10); +lean_ctor_set(x_38, 1, x_11); +lean_ctor_set(x_38, 2, x_12); +lean_ctor_set(x_38, 3, x_13); +lean_ctor_set(x_38, 4, x_17); +lean_ctor_set(x_38, 5, x_26); +lean_ctor_set(x_38, 6, x_18); +lean_ctor_set(x_38, 7, x_19); +lean_ctor_set(x_38, 8, x_24); +lean_ctor_set_uint8(x_38, sizeof(void*)*9, x_14); +lean_ctor_set_uint8(x_38, sizeof(void*)*9 + 1, x_15); +lean_ctor_set_uint8(x_38, sizeof(void*)*9 + 2, x_16); +lean_ctor_set_uint8(x_38, sizeof(void*)*9 + 3, x_20); +lean_ctor_set_uint8(x_38, sizeof(void*)*9 + 4, x_21); +lean_ctor_set_uint8(x_38, sizeof(void*)*9 + 5, x_22); +lean_ctor_set_uint8(x_38, sizeof(void*)*9 + 6, x_23); +lean_ctor_set_uint8(x_38, sizeof(void*)*9 + 7, x_25); +x_39 = lean_apply_7(x_2, x_38, x_4, x_5, x_6, x_7, x_8, x_9); +return x_39; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Term_withAutoBoundImplicitForbiddenPred(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Elab_Term_withAutoBoundImplicitForbiddenPred___rarg), 9, 0); +return x_2; +} +} LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_collectUnassignedMVars_go___spec__2(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { _start: { @@ -41401,7 +41575,7 @@ lean_dec(x_3); return x_10; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13265____closed__1() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13345____closed__1() { _start: { lean_object* x_1; @@ -41409,21 +41583,21 @@ x_1 = lean_mk_string("letrec"); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13265____closed__2() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13345____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Term_MVarErrorInfo_logError___closed__11; -x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13265____closed__1; +x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13345____closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13265_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13345_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13265____closed__2; +x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13345____closed__2; x_3 = l_Lean_registerTraceClass(x_2, x_1); return x_3; } @@ -41720,7 +41894,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_isLetRecAuxMVar(lean_object* x_1, lean _start: { lean_object* x_9; uint8_t x_10; lean_object* x_11; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; -x_9 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13265____closed__2; +x_9 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13345____closed__2; x_38 = lean_st_ref_get(x_7, x_8); x_39 = lean_ctor_get(x_38, 0); lean_inc(x_39); @@ -42911,7 +43085,7 @@ else lean_object* x_13; uint8_t x_27; lean_dec(x_3); lean_dec(x_2); -x_27 = lean_ctor_get_uint8(x_4, sizeof(void*)*8 + 2); +x_27 = lean_ctor_get_uint8(x_4, sizeof(void*)*9 + 2); if (x_27 == 0) { lean_object* x_28; @@ -42921,51 +43095,69 @@ goto block_26; } else { -lean_object* x_29; lean_object* x_30; uint8_t x_31; uint8_t x_32; +lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; x_29 = lean_ctor_get(x_8, 0); lean_inc(x_29); -x_30 = l_Lean_Elab_Term_resolveName_process___closed__3; -x_31 = l_Lean_Option_get___at_Lean_getSanitizeNames___spec__1(x_29, x_30); -lean_dec(x_29); +x_30 = lean_ctor_get(x_4, 5); +lean_inc(x_30); lean_inc(x_1); -x_32 = l_Lean_Elab_isValidAutoBoundImplicitName(x_1, x_31); +x_31 = lean_apply_1(x_30, x_1); +x_32 = lean_unbox(x_31); +lean_dec(x_31); if (x_32 == 0) { -lean_object* x_33; -x_33 = lean_box(0); -x_13 = x_33; +lean_object* x_33; uint8_t x_34; uint8_t x_35; +x_33 = l_Lean_Elab_Term_resolveName_process___closed__3; +x_34 = l_Lean_Option_get___at_Lean_getSanitizeNames___spec__1(x_29, x_33); +lean_dec(x_29); +lean_inc(x_1); +x_35 = l_Lean_Elab_isValidAutoBoundImplicitName(x_1, x_34); +if (x_35 == 0) +{ +lean_object* x_36; +x_36 = lean_box(0); +x_13 = x_36; goto block_26; } else { -lean_object* x_34; uint8_t x_35; -x_34 = l_Lean_Elab_throwAutoBoundImplicitLocal___at_Lean_Elab_Term_resolveName_process___spec__1(x_1, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_object* x_37; uint8_t x_38; +x_37 = l_Lean_Elab_throwAutoBoundImplicitLocal___at_Lean_Elab_Term_resolveName_process___spec__1(x_1, x_4, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_35 = !lean_is_exclusive(x_34); -if (x_35 == 0) +x_38 = !lean_is_exclusive(x_37); +if (x_38 == 0) { -return x_34; +return x_37; } else { -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_34, 0); -x_37 = lean_ctor_get(x_34, 1); -lean_inc(x_37); -lean_inc(x_36); -lean_dec(x_34); -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_36); -lean_ctor_set(x_38, 1, x_37); -return x_38; +lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_39 = lean_ctor_get(x_37, 0); +x_40 = lean_ctor_get(x_37, 1); +lean_inc(x_40); +lean_inc(x_39); +lean_dec(x_37); +x_41 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_41, 0, x_39); +lean_ctor_set(x_41, 1, x_40); +return x_41; } } } +else +{ +lean_object* x_42; +lean_dec(x_29); +x_42 = lean_box(0); +x_13 = x_42; +goto block_26; +} +} block_26: { 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_22; @@ -43157,7 +43349,7 @@ if (x_3 == 0) lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; x_4 = lean_ctor_get(x_2, 0); x_5 = lean_ctor_get(x_2, 1); -x_6 = lean_ctor_get(x_1, 6); +x_6 = lean_ctor_get(x_1, 7); x_7 = l_Std_RBNode_find___at_Lean_Elab_Term_resolveName___spec__2(x_6, x_4); lean_dec(x_4); if (lean_obj_tag(x_7) == 0) @@ -43201,7 +43393,7 @@ x_14 = lean_ctor_get(x_2, 1); lean_inc(x_14); lean_inc(x_13); lean_dec(x_2); -x_15 = lean_ctor_get(x_1, 6); +x_15 = lean_ctor_get(x_1, 7); x_16 = l_Std_RBNode_find___at_Lean_Elab_Term_resolveName___spec__2(x_15, x_13); lean_dec(x_13); if (lean_obj_tag(x_16) == 0) @@ -44345,6 +44537,14 @@ x_12 = l_Lean_Elab_Term_resolveId_x3f(x_1, x_2, x_11, x_4, x_5, x_6, x_7, x_8, x return x_12; } } +LEAN_EXPORT uint8_t l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___elambda__1(lean_object* x_1) { +_start: +{ +uint8_t x_2; +x_2 = 0; +return x_2; +} +} static lean_object* _init_l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__1() { _start: { @@ -44369,7 +44569,15 @@ return x_1; static lean_object* _init_l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; uint8_t x_7; lean_object* x_8; lean_object* x_9; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___elambda__1___boxed), 1, 0); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; uint8_t x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; x_1 = lean_box(0); x_2 = lean_box(0); x_3 = lean_box(0); @@ -44378,34 +44586,46 @@ x_5 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__1; x_6 = 1; x_7 = 0; x_8 = l_Lean_Elab_Term_State_messages___default___closed__3; -x_9 = lean_alloc_ctor(0, 8, 8); -lean_ctor_set(x_9, 0, x_4); -lean_ctor_set(x_9, 1, x_5); -lean_ctor_set(x_9, 2, x_1); -lean_ctor_set(x_9, 3, x_2); -lean_ctor_set(x_9, 4, x_8); -lean_ctor_set(x_9, 5, x_3); -lean_ctor_set(x_9, 6, x_3); -lean_ctor_set(x_9, 7, x_1); -lean_ctor_set_uint8(x_9, sizeof(void*)*8, x_6); -lean_ctor_set_uint8(x_9, sizeof(void*)*8 + 1, x_6); -lean_ctor_set_uint8(x_9, sizeof(void*)*8 + 2, x_7); -lean_ctor_set_uint8(x_9, sizeof(void*)*8 + 3, x_6); -lean_ctor_set_uint8(x_9, sizeof(void*)*8 + 4, x_7); -lean_ctor_set_uint8(x_9, sizeof(void*)*8 + 5, x_7); -lean_ctor_set_uint8(x_9, sizeof(void*)*8 + 6, x_7); -lean_ctor_set_uint8(x_9, sizeof(void*)*8 + 7, x_6); -return x_9; +x_9 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__3; +x_10 = lean_alloc_ctor(0, 9, 8); +lean_ctor_set(x_10, 0, x_4); +lean_ctor_set(x_10, 1, x_5); +lean_ctor_set(x_10, 2, x_1); +lean_ctor_set(x_10, 3, x_2); +lean_ctor_set(x_10, 4, x_8); +lean_ctor_set(x_10, 5, x_9); +lean_ctor_set(x_10, 6, x_3); +lean_ctor_set(x_10, 7, x_3); +lean_ctor_set(x_10, 8, x_1); +lean_ctor_set_uint8(x_10, sizeof(void*)*9, x_6); +lean_ctor_set_uint8(x_10, sizeof(void*)*9 + 1, x_6); +lean_ctor_set_uint8(x_10, sizeof(void*)*9 + 2, x_7); +lean_ctor_set_uint8(x_10, sizeof(void*)*9 + 3, x_6); +lean_ctor_set_uint8(x_10, sizeof(void*)*9 + 4, x_7); +lean_ctor_set_uint8(x_10, sizeof(void*)*9 + 5, x_7); +lean_ctor_set_uint8(x_10, sizeof(void*)*9 + 6, x_7); +lean_ctor_set_uint8(x_10, sizeof(void*)*9 + 7, x_6); +return x_10; } } static lean_object* _init_l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext() { _start: { lean_object* x_1; -x_1 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__3; +x_1 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__4; return x_1; } } +LEAN_EXPORT lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___elambda__1___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; lean_object* x_3; +x_2 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___elambda__1(x_1); +lean_dec(x_1); +x_3 = lean_box(x_2); +return x_3; +} +} LEAN_EXPORT lean_object* l_Lean_Elab_Term_TermElabM_run___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { @@ -51207,7 +51427,7 @@ if (x_13 == 0) lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; x_14 = lean_ctor_get(x_12, 0); x_15 = lean_ctor_get(x_12, 1); -x_16 = lean_ctor_get(x_5, 5); +x_16 = lean_ctor_get(x_5, 6); lean_inc(x_16); x_17 = lean_ctor_get(x_14, 0); lean_inc(x_17); @@ -51273,7 +51493,7 @@ x_30 = lean_ctor_get(x_12, 1); lean_inc(x_30); lean_inc(x_29); lean_dec(x_12); -x_31 = lean_ctor_get(x_5, 5); +x_31 = lean_ctor_get(x_5, 6); lean_inc(x_31); x_32 = lean_ctor_get(x_29, 0); lean_inc(x_32); @@ -51566,7 +51786,7 @@ x_3 = lean_alloc_closure((void*)(l_Lean_Elab_withoutModifyingStateWithInfoAndMes return x_3; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509____closed__1() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614____closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -51576,7 +51796,7 @@ x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509____closed__2() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614____closed__2() { _start: { lean_object* x_1; @@ -51584,17 +51804,17 @@ x_1 = lean_mk_string("debug"); return x_1; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509____closed__3() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Term_MVarErrorInfo_logError___closed__11; -x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509____closed__2; +x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614____closed__2; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -51606,7 +51826,7 @@ lean_object* x_4; lean_object* x_5; lean_object* x_6; x_4 = lean_ctor_get(x_3, 1); lean_inc(x_4); lean_dec(x_3); -x_5 = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509____closed__1; +x_5 = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614____closed__1; x_6 = l_Lean_registerTraceClass(x_5, x_4); if (lean_obj_tag(x_6) == 0) { @@ -51614,7 +51834,7 @@ lean_object* x_7; lean_object* x_8; lean_object* x_9; x_7 = lean_ctor_get(x_6, 1); lean_inc(x_7); lean_dec(x_6); -x_8 = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509____closed__3; +x_8 = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614____closed__3; x_9 = l_Lean_registerTraceClass(x_8, x_7); return x_9; } @@ -52019,7 +52239,7 @@ l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__17 = _init_l_Lean_Elab_Term lean_mark_persistent(l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__17); l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__18 = _init_l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__18(); lean_mark_persistent(l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__18); -if (builtin) {res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_2263_(lean_io_mk_world()); +if (builtin) {res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_2280_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_Elab_Term_termElabAttribute = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_Elab_Term_termElabAttribute); @@ -52170,28 +52390,28 @@ l_Lean_Elab_Term_synthesizeInstMVarCore___closed__4 = _init_l_Lean_Elab_Term_syn lean_mark_persistent(l_Lean_Elab_Term_synthesizeInstMVarCore___closed__4); l_Lean_Elab_Term_synthesizeInstMVarCore___closed__5 = _init_l_Lean_Elab_Term_synthesizeInstMVarCore___closed__5(); lean_mark_persistent(l_Lean_Elab_Term_synthesizeInstMVarCore___closed__5); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__1(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__1); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__2(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__2); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__3 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__3(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__3); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__4 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__4(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029____closed__4); -if (builtin) {res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6029_(lean_io_mk_world()); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__1(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__1); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__2(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__2); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__3 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__3(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__3); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__4 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__4(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050____closed__4); +if (builtin) {res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6050_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_Elab_Term_autoLift = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_Elab_Term_autoLift); lean_dec_ref(res); -}l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__1(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__1); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__2(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__2); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__3 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__3(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__3); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__4 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__4(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052____closed__4); -if (builtin) {res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6052_(lean_io_mk_world()); +}l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__1(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__1); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__2(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__2); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__3 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__3(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__3); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__4 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__4(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073____closed__4); +if (builtin) {res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_6073_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_Elab_Term_maxCoeSize = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_Elab_Term_maxCoeSize); @@ -52451,11 +52671,11 @@ l_Lean_Elab_Term_mkAuxName___closed__1 = _init_l_Lean_Elab_Term_mkAuxName___clos lean_mark_persistent(l_Lean_Elab_Term_mkAuxName___closed__1); l_Lean_Elab_Term_mkAuxName___closed__2 = _init_l_Lean_Elab_Term_mkAuxName___closed__2(); lean_mark_persistent(l_Lean_Elab_Term_mkAuxName___closed__2); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13265____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13265____closed__1(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13265____closed__1); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13265____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13265____closed__2(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13265____closed__2); -res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13265_(lean_io_mk_world()); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13345____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13345____closed__1(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13345____closed__1); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13345____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13345____closed__2(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13345____closed__2); +res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_13345_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Elab_Term_isLetRecAuxMVar___lambda__2___closed__1 = _init_l_Lean_Elab_Term_isLetRecAuxMVar___lambda__2___closed__1(); @@ -52518,6 +52738,8 @@ l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__2 = _init_l lean_mark_persistent(l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__2); l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__3 = _init_l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__3(); lean_mark_persistent(l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__3); +l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__4 = _init_l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__4(); +lean_mark_persistent(l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__4); l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext = _init_l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext(); lean_mark_persistent(l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext); l_Lean_Elab_Term_TermElabM_toIO___rarg___closed__1 = _init_l_Lean_Elab_Term_TermElabM_toIO___rarg___closed__1(); @@ -52618,13 +52840,13 @@ l_Lean_Elab_Term_expandDeclId___closed__1 = _init_l_Lean_Elab_Term_expandDeclId_ lean_mark_persistent(l_Lean_Elab_Term_expandDeclId___closed__1); l_Lean_Elab_Term_expandDeclId___closed__2 = _init_l_Lean_Elab_Term_expandDeclId___closed__2(); lean_mark_persistent(l_Lean_Elab_Term_expandDeclId___closed__2); -l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509____closed__1 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509____closed__1(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509____closed__1); -l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509____closed__2 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509____closed__2(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509____closed__2); -l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509____closed__3 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509____closed__3(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509____closed__3); -res = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15509_(lean_io_mk_world()); +l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614____closed__1 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614____closed__1(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614____closed__1); +l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614____closed__2 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614____closed__2(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614____closed__2); +l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614____closed__3 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614____closed__3(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614____closed__3); +res = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_15614_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c b/stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c index bfa267b1da..02615c8224 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c @@ -28,7 +28,6 @@ lean_object* lean_expr_update_forall(lean_object*, uint8_t, lean_object*, lean_o lean_object* l_Lean_Meta_replaceTargetDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkImpCongrCtx(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_addMessageContextPartial___at_Lean_Core_instAddMessageContextCoreM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_hasAnyFVar_visit___at_Lean_Expr_containsFVar___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_findSomeRevMAux___at_Lean_Meta_Simp_dischargeUsingAssumption___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Meta_Simp_simp___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -73,7 +72,6 @@ lean_object* l_Lean_LocalDecl_userName(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_reduce___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_simp_tryAutoCongrTheorem_x3f___spec__2___lambda__1___boxed(lean_object**); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simp_congrDefault(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at_Lean_Meta_Simp_dischargeUsingAssumption___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_simpGoal___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simp_processCongrHypothesis___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -162,8 +160,6 @@ static lean_object* l_Lean_Meta_Simp_DefaultMethods_discharge_x3f___lambda__2___ LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_Meta_Simp_simp_cacheResult___spec__6(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simp_mkCongrSimp_x3f___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_Meta_Simp_simp_mkCongrSimp_x3f___spec__4(lean_object*, lean_object*); -static lean_object* l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__1; -LEAN_EXPORT lean_object* l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_panic___at_Lean_Meta_Simp_simp_simpStep___spec__1___closed__4; lean_object* l_Lean_Meta_isTypeCorrect(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_SimpLetCase_noConfusion___rarg(uint8_t, uint8_t, lean_object*); @@ -336,6 +332,7 @@ LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_Simp_simp_process LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_simp_trySimpCongrTheorem_x3f___spec__1(lean_object*, 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* lean_st_mk_ref(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_removeUnnecessaryCasts_isDummyEqRec___closed__8; +lean_object* l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitLambda___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_dsimp___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_simp_trySimpCongrTheorem_x3f___spec__1___closed__3; @@ -383,7 +380,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simp_simpApp(lean_object*, lean_object static lean_object* l_Lean_Meta_Simp_Config_updateArith___closed__4; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_getSimpLetCase___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simp_congrArgs___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__3; static lean_object* l_Lean_Meta_Simp_simp_simpArrow___lambda__4___closed__12; LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_dsimp___spec__8(lean_object*, lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -488,7 +484,6 @@ LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_Simp_simp_trySimp LEAN_EXPORT lean_object* l_Lean_Meta_applySimpResultToTarget(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_SimpTheoremsArray_eraseTheorem(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_LocalContext_findDeclRevM_x3f___at_Lean_Meta_Simp_dischargeUsingAssumption___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__4; static lean_object* l_Lean_Meta_Simp_simp_tryAutoCongrTheorem_x3f___lambda__2___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_simpTargetCore___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitLet___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_dsimp___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -579,7 +574,6 @@ static lean_object* l_Lean_Meta_Simp_simp___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simp_simpForall___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simp_tryAutoCongrTheorem_x3f___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkFalseElim(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_DefaultMethods_discharge_x3f___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_dsimp___spec__14___boxed(lean_object*, lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); @@ -592,7 +586,6 @@ LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Meta_Simp_simp___sp uint8_t l_Lean_MapDeclarationExtension_contains___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getPropHyps(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simp_simpArrow___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_isProjectionFn___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_unfold_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_instantiateMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_simp_congrArgs___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -691,7 +684,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_simp_tryAu LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_reduce___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_simp_tryAutoCongrTheorem_x3f___spec__3___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_SimpLetCase_noConfusion___rarg___lambda__1___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_dsimp___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkOfEqTrue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_addTrace___at_Lean_Meta_Simp_simp_simpForall___spec__2___closed__3; @@ -4016,175 +4008,11 @@ x_4 = lean_box(x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; lean_object* x_6; uint8_t x_7; -x_5 = lean_ctor_get(x_2, 3); -x_6 = l_Lean_addMessageContextPartial___at_Lean_Core_instAddMessageContextCoreM___spec__1(x_1, x_2, x_3, x_4); -x_7 = !lean_is_exclusive(x_6); -if (x_7 == 0) -{ -lean_object* x_8; lean_object* x_9; -x_8 = lean_ctor_get(x_6, 0); -lean_inc(x_5); -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_5); -lean_ctor_set(x_9, 1, x_8); -lean_ctor_set_tag(x_6, 1); -lean_ctor_set(x_6, 0, x_9); -return x_6; -} -else -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_10 = lean_ctor_get(x_6, 0); -x_11 = lean_ctor_get(x_6, 1); -lean_inc(x_11); -lean_inc(x_10); -lean_dec(x_6); -lean_inc(x_5); -x_12 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_12, 0, x_5); -lean_ctor_set(x_12, 1, x_10); -x_13 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_13, 0, x_12); -lean_ctor_set(x_13, 1, x_11); -return x_13; -} -} -} -static lean_object* _init_l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("unknown constant '"); -return x_1; -} -} -static lean_object* _init_l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__1; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("'"); -return x_1; -} -} -static lean_object* _init_l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__3; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; uint8_t x_6; -x_5 = lean_st_ref_get(x_3, x_4); -x_6 = !lean_is_exclusive(x_5); -if (x_6 == 0) -{ -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; -x_7 = lean_ctor_get(x_5, 0); -x_8 = lean_ctor_get(x_5, 1); -x_9 = lean_ctor_get(x_7, 0); -lean_inc(x_9); -lean_dec(x_7); -lean_inc(x_1); -x_10 = lean_environment_find(x_9, x_1); -if (lean_obj_tag(x_10) == 0) -{ -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_free_object(x_5); -x_11 = lean_box(0); -x_12 = l_Lean_mkConst(x_1, x_11); -x_13 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_13, 0, x_12); -x_14 = l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__2; -x_15 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_15, 0, x_14); -lean_ctor_set(x_15, 1, x_13); -x_16 = l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__4; -x_17 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_17, 0, x_15); -lean_ctor_set(x_17, 1, x_16); -x_18 = l_Lean_throwError___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__2(x_17, x_2, x_3, x_8); -return x_18; -} -else -{ -lean_object* x_19; -lean_dec(x_1); -x_19 = lean_ctor_get(x_10, 0); -lean_inc(x_19); -lean_dec(x_10); -lean_ctor_set(x_5, 0, x_19); -return x_5; -} -} -else -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_20 = lean_ctor_get(x_5, 0); -x_21 = lean_ctor_get(x_5, 1); -lean_inc(x_21); -lean_inc(x_20); -lean_dec(x_5); -x_22 = lean_ctor_get(x_20, 0); -lean_inc(x_22); -lean_dec(x_20); -lean_inc(x_1); -x_23 = lean_environment_find(x_22, x_1); -if (lean_obj_tag(x_23) == 0) -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_24 = lean_box(0); -x_25 = l_Lean_mkConst(x_1, x_24); -x_26 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_26, 0, x_25); -x_27 = l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__2; -x_28 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_28, 0, x_27); -lean_ctor_set(x_28, 1, x_26); -x_29 = l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__4; -x_30 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -x_31 = l_Lean_throwError___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__2(x_30, x_2, x_3, x_21); -return x_31; -} -else -{ -lean_object* x_32; lean_object* x_33; -lean_dec(x_1); -x_32 = lean_ctor_get(x_23, 0); -lean_inc(x_32); -lean_dec(x_23); -x_33 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_33, 0, x_32); -lean_ctor_set(x_33, 1, x_21); -return x_33; -} -} -} -} LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; -x_5 = l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1(x_1, x_2, x_3, x_4); +x_5 = l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1(x_1, x_2, x_3, x_4); if (lean_obj_tag(x_5) == 0) { lean_object* x_6; @@ -4292,26 +4120,6 @@ return x_34; } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; -x_5 = l_Lean_throwError___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__2(x_1, x_2, x_3, x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_5; -} -} -LEAN_EXPORT lean_object* l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; -x_5 = l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1(x_1, x_2, x_3, x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_5; -} -} LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { @@ -43356,14 +43164,6 @@ l_Lean_getProjectionFnInfo_x3f___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean lean_mark_persistent(l_Lean_getProjectionFnInfo_x3f___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_reduceProjFn_x3f___spec__1___closed__1); l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_reduceProjFn_x3f___closed__1 = _init_l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_reduceProjFn_x3f___closed__1(); lean_mark_persistent(l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_reduceProjFn_x3f___closed__1); -l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__1 = _init_l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__1(); -lean_mark_persistent(l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__1); -l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__2 = _init_l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__2(); -lean_mark_persistent(l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__2); -l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__3 = _init_l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__3(); -lean_mark_persistent(l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__3); -l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__4 = _init_l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__4(); -lean_mark_persistent(l_Lean_getConstInfo___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_isMatchDef___spec__1___closed__4); l_Lean_throwMaxRecDepthAt___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_reduce___spec__1___closed__1 = _init_l_Lean_throwMaxRecDepthAt___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_reduce___spec__1___closed__1(); lean_mark_persistent(l_Lean_throwMaxRecDepthAt___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_reduce___spec__1___closed__1); l_Lean_throwMaxRecDepthAt___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_reduce___spec__1___closed__2 = _init_l_Lean_throwMaxRecDepthAt___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_reduce___spec__1___closed__2(); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Simp/Rewrite.c b/stage0/stdlib/Lean/Meta/Tactic/Simp/Rewrite.c index fcd1e12eb4..777893e702 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Simp/Rewrite.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Simp/Rewrite.c @@ -13,37 +13,40 @@ #ifdef __cplusplus extern "C" { #endif -LEAN_EXPORT uint8_t l_Lean_Meta_Simp_rewrite_inErasedSet(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__6; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_rewriteCtorEq_x3f___lambda__1___closed__2; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_synthesizeArgs___spec__1___lambda__1___closed__1; +static lean_object* l_Lean_Meta_Simp_rewrite_x3f___closed__5; +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__8; size_t lean_usize_add(size_t, size_t); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewMCtxDepthImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___closed__3; +LEAN_EXPORT lean_object* l_Array_insertionSort_traverse___at_Lean_Meta_Simp_rewrite_x3f___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_mkSort(lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_synthesizeArgs___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite___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*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewriteUsingDecide_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__1; static lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___closed__5; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewritePost___spec__1(lean_object*, 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_name_mk_string(lean_object*, lean_object*); lean_object* lean_array_uget(lean_object*, size_t); +static lean_object* l_Lean_Meta_Simp_rewrite_x3f___closed__3; lean_object* l_Lean_Meta_ACLt_lt(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withNewMCtxDepth___at_Lean_Meta_Simp_tryTheoremWithExtraArgs_x3f___spec__2(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simpMatchCore_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_rewriteCtorEq_x3f___lambda__1___closed__4; static lean_object* l_Lean_Meta_Simp_rewriteCtorEq_x3f___lambda__1___closed__1; +LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1___closed__6; -static lean_object* l_Lean_Meta_Simp_rewrite___closed__10; lean_object* lean_array_fswap(lean_object*, lean_object*, lean_object*); lean_object* l_Array_extract___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_SimpTheorem_getName(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_Simp_rewrite_x3f___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_tryTheoremWithExtraArgs_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_checkTraceOption(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -67,7 +70,6 @@ static lean_object* l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed_ LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isClass_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_synthesizeArgs___spec__1___lambda__2___closed__2; -LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__15; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___closed__2; @@ -80,8 +82,8 @@ static lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_ uint8_t lean_usize_dec_lt(size_t, size_t); static lean_object* l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__14; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_tryRewriteUsingDecide_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_Simp_rewrite___closed__9; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simpMatch_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_insertionSort_swapLoop___at_Lean_Meta_Simp_rewrite_x3f___spec__2(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_levelZero; static lean_object* l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__1; lean_object* lean_nat_add(lean_object*, lean_object*); @@ -100,22 +102,21 @@ LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM__ static lean_object* l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__8; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_tryRewriteCtorEq_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewriteCtorEq_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_tryTheorem_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__9; static lean_object* l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1___closed__8; +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewritePre(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_rewriteUsingDecide_x3f___closed__8; static lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___closed__6; -LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite(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_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__4; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_synthesizeArgs___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_isRflTheorem(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_rewriteUsingDecide_x3f___closed__17; lean_object* lean_array_fget(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__3; -static lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6___closed__1; uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at_Lean_Meta_Simp_simpMatch_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_rewriteUsingDecide_x3f___closed__9; @@ -130,72 +131,74 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Simp_synthesizeArgs___boxed(lean_object*, l static lean_object* l_Lean_Meta_Simp_rewriteUsingDecide_x3f___closed__4; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_tryTheoremWithExtraArgs_x3f___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_synthesizeArgs___closed__1; -static lean_object* l_Lean_Meta_Simp_rewrite___closed__6; lean_object* l_Lean_Name_toString(lean_object*, uint8_t); -static lean_object* l_Lean_Meta_Simp_rewrite___closed__8; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewritePre___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__13; lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_rewriteUsingDecide_x3f___closed__14; lean_object* l_Lean_Meta_mkLambdaFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7___closed__1; static lean_object* l_Lean_Meta_Simp_rewriteCtorEq_x3f___closed__4; -static lean_object* l_Lean_Meta_Simp_rewrite___closed__4; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewritePost___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewritePost___spec__1___closed__1; +static lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7___closed__2; LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Meta_Simp_tryTheoremWithExtraArgs_x3f___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_rewriteUsingDecide_x3f___closed__3; lean_object* l_Nat_repr(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1___closed__1; static lean_object* l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_rewriteUsingDecide_x3f___closed__5; static lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__3; +LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite_x3f(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_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1___closed__2; -LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_rewriteCtorEq_x3f___closed__5; static lean_object* l_Lean_Meta_Simp_rewriteUsingDecide_x3f___closed__15; LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__5; +static lean_object* l_Lean_Meta_Simp_rewrite_x3f___closed__4; uint8_t l_Lean_Expr_isAppOfArity(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedExpr; +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__1; lean_object* l_Array_reverse___rarg(lean_object*); static lean_object* l_Lean_Meta_Simp_rewriteUsingDecide_x3f___closed__6; uint8_t l_Array_isEmpty___rarg(lean_object*); static lean_object* l_Lean_Meta_Simp_rewriteCtorEq_x3f___closed__3; uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*); -static lean_object* l_Lean_Meta_Simp_rewrite___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at_Lean_Meta_Simp_simpMatch_x3f___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_Simp_rewrite_x3f___closed__1; uint8_t l_Lean_BinderInfo_isInstImplicit(uint8_t); lean_object* lean_whnf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simpArith_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__2; static lean_object* l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__12; size_t lean_usize_of_nat(lean_object*); -static lean_object* l_Lean_Meta_Simp_rewrite___closed__1; -static lean_object* l_Lean_Meta_Simp_rewrite___closed__2; lean_object* l___private_Lean_Util_Trace_0__Lean_addTraceOptions(lean_object*); static lean_object* l_Lean_Meta_Simp_rewriteUsingDecide_x3f___closed__12; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewritePre___spec__1___closed__1; static lean_object* l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__6; -LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_andThen(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_insertionSort_swapLoop___at_Lean_Meta_Simp_rewrite___spec__2(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_rewriteCtorEq_x3f___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewritePre___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at_Lean_Meta_Simp_simpMatch_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewriteCtorEq_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_synthesizeArgs___spec__1(lean_object*, 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* l_Lean_Meta_SimpTheorem_getValue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___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*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_rewriteUsingDecide_x3f___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewritePre___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_Simp_rewrite___closed__7; lean_object* l_Lean_Meta_DiscrTree_getMatchWithExtra___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_redLength___rarg(lean_object*); lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); @@ -205,7 +208,6 @@ lean_object* l_Lean_Meta_trySynthInstance(lean_object*, lean_object*, lean_objec lean_object* l_Lean_Meta_hasAssignableMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); lean_object* l_Lean_Meta_Linear_simp_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simpMatchCore_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_expr_eqv(lean_object*, lean_object*); lean_object* l_Lean_Meta_Simp_Step_result(lean_object*); static lean_object* l_Lean_Meta_Simp_rewriteUsingDecide_x3f___closed__1; @@ -216,12 +218,14 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_simpMatchC lean_object* l_Lean_Name_append(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_rewriteUsingDecide_x3f___closed__13; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_preDefault(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__6; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_tryTheoremWithExtraArgs_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_tryTheorem_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_removeUnusedArguments_x3f___spec__2___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withNewMCtxDepth___at_Lean_Meta_Simp_tryTheoremWithExtraArgs_x3f___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkEqTrans(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__3; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_tryRewriteUsingDecide_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__11; @@ -230,6 +234,7 @@ LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Meta_Simp_tryTheoremWithExtraA lean_object* l_Lean_Meta_mkEqFalse_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3(lean_object*, lean_object*, 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_EXPORT lean_object* l_Lean_Meta_Simp_tryTheoremWithExtraArgs_x3f(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___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__8; lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); @@ -242,22 +247,21 @@ lean_object* l_Lean_Meta_Match_MatcherInfo_arity(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_instantiateMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_array(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite___spec__3(lean_object*, lean_object*, 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_EXPORT lean_object* l_Array_insertionSort_traverse___at_Lean_Meta_Simp_rewrite___spec__1(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simpMatchCore_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_simpMatchCore_x3f___spec__1(lean_object*, 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*); static lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__2; lean_object* l_Lean_Meta_Simp_Step_updateResult(lean_object*, lean_object*); static lean_object* l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1___closed__7; +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__5; static lean_object* l_Lean_Meta_Simp_rewriteUsingDecide_x3f___closed__16; static lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__9; -static lean_object* l_Lean_Meta_Simp_rewrite___closed__5; lean_object* l_Lean_Expr_getAppFn(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_synthesizeArgs___spec__1___closed__1; lean_object* l_Lean_Meta_Match_MatcherInfo_numAlts(lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__11; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__3; static lean_object* l_Lean_Meta_Simp_rewriteUsingDecide_x3f___closed__11; +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__7; lean_object* l_Lean_Meta_isProp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Extension_getMatcherInfo_x3f(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at_Lean_Meta_Simp_simpMatch_x3f___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -269,14 +273,16 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Simp_synthesizeArgs(lean_object*, lean_obje static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_synthesizeArgs___spec__1___closed__2; uint8_t l_Std_PersistentHashMap_contains___at_Lean_NameSSet_contains___spec__3(lean_object*, lean_object*); lean_object* l_Lean_mkConst(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_rewriteCtorEq_x3f___lambda__1___closed__3; +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__4; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__16; -LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite_inErasedSet___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simpArith_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Lean_Meta_Simp_rewrite_x3f_inErasedSet(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewritePre___spec__1(lean_object*, 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_EXPORT lean_object* l_Lean_Meta_Simp_rewrite_x3f_inErasedSet___boxed(lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__9; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_synthesizeArgs___spec__1___lambda__2___closed__3; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_mkEqTrans(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: @@ -4248,18 +4254,16 @@ return x_10; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_11 = lean_alloc_ctor(1, 1, 0); +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_11, 0, x_1); -x_12 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_12, 0, x_2); -lean_ctor_set(x_12, 1, x_11); -x_13 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_11, 1, x_2); +x_12 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_12, 0, x_11); +x_13 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_13, 0, x_12); -x_14 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_14, 0, x_13); -lean_ctor_set(x_14, 1, x_10); -return x_14; +lean_ctor_set(x_13, 1, x_10); +return x_13; } } static lean_object* _init_l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__1() { @@ -4443,9 +4447,9 @@ lean_ctor_set(x_30, 0, x_22); lean_ctor_set(x_30, 1, x_29); x_31 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_31, 0, x_5); -lean_inc(x_2); +lean_inc(x_1); x_32 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_32, 0, x_2); +lean_ctor_set(x_32, 0, x_1); if (x_19 == 0) { lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; @@ -4583,8 +4587,8 @@ lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_5); -lean_inc(x_2); -x_17 = l_Lean_Meta_ACLt_lt(x_2, x_5, x_9, x_10, x_11, x_12, x_13); +lean_inc(x_1); +x_17 = l_Lean_Meta_ACLt_lt(x_1, x_5, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_17) == 0) { lean_object* x_18; uint8_t x_19; @@ -4595,7 +4599,7 @@ lean_dec(x_18); if (x_19 == 0) { lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_object* x_23; lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; -lean_dec(x_1); +lean_dec(x_2); x_20 = lean_ctor_get(x_17, 1); lean_inc(x_20); lean_dec(x_17); @@ -4647,7 +4651,7 @@ lean_object* x_25; lean_object* x_26; lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); +lean_dec(x_1); x_25 = lean_box(0); x_26 = lean_apply_8(x_24, x_25, x_7, x_8, x_9, x_10, x_11, x_12, x_23); return x_26; @@ -4679,7 +4683,7 @@ lean_ctor_set(x_37, 1, x_36); x_38 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_38, 0, x_5); x_39 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_39, 0, x_2); +lean_ctor_set(x_39, 0, x_1); x_40 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__11; x_41 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_41, 0, x_37); @@ -4769,91 +4773,100 @@ return x_74; } } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -lean_object* x_14; uint8_t x_15; +lean_object* x_13; uint8_t x_14; +lean_inc(x_9); +x_13 = l_Lean_Meta_instantiateMVars(x_1, x_8, x_9, x_10, x_11, x_12); +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; +x_15 = lean_ctor_get(x_13, 0); +x_16 = lean_ctor_get(x_13, 1); +x_17 = l_Lean_Expr_appArg_x21(x_15); +lean_dec(x_15); +x_18 = lean_expr_eqv(x_4, x_17); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; +lean_free_object(x_13); +x_19 = lean_box(0); +x_20 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4(x_17, x_5, x_2, x_3, x_4, x_19, x_6, x_7, x_8, x_9, x_10, x_11, x_16); +return x_20; +} +else +{ +lean_object* x_21; +lean_dec(x_17); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); lean_dec(x_6); -lean_inc(x_10); -x_14 = l_Lean_Meta_instantiateMVars(x_1, x_9, x_10, x_11, x_12, x_13); -x_15 = !lean_is_exclusive(x_14); -if (x_15 == 0) -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; -x_16 = lean_ctor_get(x_14, 0); -x_17 = lean_ctor_get(x_14, 1); -x_18 = l_Lean_Expr_appArg_x21(x_16); -lean_dec(x_16); -x_19 = lean_expr_eqv(x_5, x_18); -if (x_19 == 0) -{ -lean_object* x_20; lean_object* x_21; -lean_free_object(x_14); -x_20 = lean_box(0); -x_21 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4(x_2, x_18, x_3, x_4, x_5, x_20, x_7, x_8, x_9, x_10, x_11, x_12, x_17); -return x_21; -} -else -{ -lean_object* x_22; -lean_dec(x_18); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_22 = lean_box(0); -lean_ctor_set(x_14, 0, x_22); -return x_14; +x_21 = lean_box(0); +lean_ctor_set(x_13, 0, x_21); +return x_13; } } else { -lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; -x_23 = lean_ctor_get(x_14, 0); -x_24 = lean_ctor_get(x_14, 1); -lean_inc(x_24); +lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; +x_22 = lean_ctor_get(x_13, 0); +x_23 = lean_ctor_get(x_13, 1); lean_inc(x_23); -lean_dec(x_14); -x_25 = l_Lean_Expr_appArg_x21(x_23); -lean_dec(x_23); -x_26 = lean_expr_eqv(x_5, x_25); -if (x_26 == 0) +lean_inc(x_22); +lean_dec(x_13); +x_24 = l_Lean_Expr_appArg_x21(x_22); +lean_dec(x_22); +x_25 = lean_expr_eqv(x_4, x_24); +if (x_25 == 0) { -lean_object* x_27; lean_object* x_28; -x_27 = lean_box(0); -x_28 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4(x_2, x_25, x_3, x_4, x_5, x_27, x_7, x_8, x_9, x_10, x_11, x_12, x_24); -return x_28; +lean_object* x_26; lean_object* x_27; +x_26 = lean_box(0); +x_27 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4(x_24, x_5, x_2, x_3, x_4, x_26, x_6, x_7, x_8, x_9, x_10, x_11, x_23); +return x_27; } else { -lean_object* x_29; lean_object* x_30; -lean_dec(x_25); -lean_dec(x_12); +lean_object* x_28; lean_object* x_29; +lean_dec(x_24); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_29 = lean_box(0); -x_30 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_30, 0, x_29); -lean_ctor_set(x_30, 1, x_24); -return x_30; +x_28 = lean_box(0); +x_29 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_29, 0, x_28); +lean_ctor_set(x_29, 1, x_23); +return x_29; } } } } -static lean_object* _init_l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6___closed__1() { +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; lean_object* x_12; +x_11 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_11, 0, x_1); +x_12 = lean_apply_8(x_2, x_11, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +return x_12; +} +} +static lean_object* _init_l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7___closed__1() { _start: { lean_object* x_1; @@ -4861,184 +4874,206 @@ x_1 = lean_mk_string(", has unassigned metavariables after unification"); return x_1; } } -static lean_object* _init_l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6___closed__2() { +static lean_object* _init_l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6___closed__1; +x_1 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; +uint8_t x_15; lean_dec(x_7); -x_15 = l_Lean_mkAppN(x_1, x_2); +x_15 = lean_ctor_get_uint8(x_2, sizeof(void*)*5 + 2); +if (x_15 == 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; lean_object* x_22; uint8_t x_23; +lean_inc(x_3); +lean_inc(x_2); +x_16 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__5), 12, 4); +lean_closure_set(x_16, 0, x_1); +lean_closure_set(x_16, 1, x_2); +lean_closure_set(x_16, 2, x_3); +lean_closure_set(x_16, 3, x_4); +x_17 = l_Lean_mkAppN(x_5, x_6); lean_inc(x_11); -x_16 = l_Lean_Meta_instantiateMVars(x_15, x_10, x_11, x_12, x_13, x_14); -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -lean_inc(x_17); -x_19 = l_Lean_Meta_hasAssignableMVar(x_17, x_10, x_11, x_12, x_13, x_18); -x_20 = lean_ctor_get(x_19, 0); +x_18 = l_Lean_Meta_instantiateMVars(x_17, x_10, x_11, x_12, x_13, x_14); +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); lean_inc(x_20); -x_21 = lean_unbox(x_20); -lean_dec(x_20); -if (x_21 == 0) -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_19, 1); +lean_dec(x_18); +lean_inc(x_19); +x_21 = l_Lean_Meta_hasAssignableMVar(x_19, x_10, x_11, x_12, x_13, x_20); +x_22 = lean_ctor_get(x_21, 0); lean_inc(x_22); -lean_dec(x_19); -x_23 = lean_box(0); -x_24 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__5(x_3, x_17, x_4, x_5, x_6, x_23, x_8, x_9, x_10, x_11, x_12, x_13, x_22); -return x_24; -} -else +x_23 = lean_unbox(x_22); +lean_dec(x_22); +if (x_23 == 0) { -lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; -lean_dec(x_17); -lean_dec(x_6); +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_dec(x_3); -x_25 = lean_ctor_get(x_19, 1); -lean_inc(x_25); +lean_dec(x_2); +x_24 = lean_ctor_get(x_21, 1); +lean_inc(x_24); +lean_dec(x_21); +x_25 = lean_box(0); +x_26 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6(x_19, x_16, x_25, x_8, x_9, x_10, x_11, x_12, x_13, x_24); +return x_26; +} +else +{ +lean_object* x_27; lean_object* x_28; uint8_t x_29; lean_object* x_30; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; lean_dec(x_19); -x_26 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__2; -x_66 = lean_st_ref_get(x_13, x_25); -x_67 = lean_ctor_get(x_66, 0); -lean_inc(x_67); -x_68 = lean_ctor_get(x_67, 3); -lean_inc(x_68); -lean_dec(x_67); -x_69 = lean_ctor_get_uint8(x_68, sizeof(void*)*1); -lean_dec(x_68); -if (x_69 == 0) -{ -lean_object* x_70; uint8_t x_71; -x_70 = lean_ctor_get(x_66, 1); +lean_dec(x_16); +x_27 = lean_ctor_get(x_21, 1); +lean_inc(x_27); +lean_dec(x_21); +x_28 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__2; +x_68 = lean_st_ref_get(x_13, x_27); +x_69 = lean_ctor_get(x_68, 0); +lean_inc(x_69); +x_70 = lean_ctor_get(x_69, 3); lean_inc(x_70); -lean_dec(x_66); -x_71 = 0; -x_27 = x_71; -x_28 = x_70; -goto block_65; -} -else +lean_dec(x_69); +x_71 = lean_ctor_get_uint8(x_70, sizeof(void*)*1); +lean_dec(x_70); +if (x_71 == 0) { -lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; uint8_t x_76; -x_72 = lean_ctor_get(x_66, 1); +lean_object* x_72; uint8_t x_73; +x_72 = lean_ctor_get(x_68, 1); lean_inc(x_72); -lean_dec(x_66); -x_73 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__2(x_26, x_8, x_9, x_10, x_11, x_12, x_13, x_72); -x_74 = lean_ctor_get(x_73, 0); +lean_dec(x_68); +x_73 = 0; +x_29 = x_73; +x_30 = x_72; +goto block_67; +} +else +{ +lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; uint8_t x_78; +x_74 = lean_ctor_get(x_68, 1); lean_inc(x_74); -x_75 = lean_ctor_get(x_73, 1); -lean_inc(x_75); -lean_dec(x_73); -x_76 = lean_unbox(x_74); -lean_dec(x_74); -x_27 = x_76; -x_28 = x_75; -goto block_65; +lean_dec(x_68); +x_75 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__2(x_28, x_8, x_9, x_10, x_11, x_12, x_13, x_74); +x_76 = lean_ctor_get(x_75, 0); +lean_inc(x_76); +x_77 = lean_ctor_get(x_75, 1); +lean_inc(x_77); +lean_dec(x_75); +x_78 = lean_unbox(x_76); +lean_dec(x_76); +x_29 = x_78; +x_30 = x_77; +goto block_67; } -block_65: +block_67: { -lean_object* x_29; -x_29 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__1; -if (x_27 == 0) +lean_object* x_31; +x_31 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__1; +if (x_29 == 0) { -lean_object* x_30; lean_object* x_31; -lean_dec(x_5); -lean_dec(x_4); -x_30 = lean_box(0); -x_31 = lean_apply_8(x_29, x_30, x_8, x_9, x_10, x_11, x_12, x_13, x_28); -return x_31; +lean_object* x_32; lean_object* x_33; +lean_dec(x_3); +lean_dec(x_2); +x_32 = lean_box(0); +x_33 = lean_apply_8(x_31, x_32, x_8, x_9, x_10, x_11, x_12, x_13, x_30); +return x_33; } else { -uint8_t x_32; uint8_t x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_32 = lean_ctor_get_uint8(x_4, sizeof(void*)*5 + 1); -x_33 = 1; -x_34 = l_Lean_Name_toString(x_5, x_33); -x_35 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_35, 0, x_34); -x_36 = lean_ctor_get(x_4, 3); -lean_inc(x_36); -lean_dec(x_4); -x_37 = l_Nat_repr(x_36); -x_38 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_38, 0, x_37); -x_39 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__4; -x_40 = lean_alloc_ctor(4, 2, 0); +uint8_t x_34; uint8_t x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_34 = lean_ctor_get_uint8(x_2, sizeof(void*)*5 + 1); +x_35 = 1; +x_36 = l_Lean_Name_toString(x_3, x_35); +x_37 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_37, 0, x_36); +x_38 = lean_ctor_get(x_2, 3); +lean_inc(x_38); +lean_dec(x_2); +x_39 = l_Nat_repr(x_38); +x_40 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_38); -x_41 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__5; +x_41 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__4; x_42 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_42, 0, x_40); -lean_ctor_set(x_42, 1, x_41); -x_43 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_43, 0, x_35); -lean_ctor_set(x_43, 1, x_42); -if (x_32 == 0) -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; +lean_ctor_set(x_42, 0, x_41); +lean_ctor_set(x_42, 1, x_40); +x_43 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__5; x_44 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_44, 0, x_43); -lean_ctor_set(x_44, 1, x_41); -x_45 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_45, 0, x_44); -x_46 = l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1___closed__8; -x_47 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_44, 0, x_42); +lean_ctor_set(x_44, 1, x_43); +x_45 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_45, 0, x_37); +lean_ctor_set(x_45, 1, x_44); +if (x_34 == 0) +{ +lean_object* x_46; lean_object* x_47; lean_object* 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_54; lean_object* x_55; +x_46 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_46, 0, x_45); +lean_ctor_set(x_46, 1, x_43); +x_47 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_47, 0, x_46); -lean_ctor_set(x_47, 1, x_45); -x_48 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6___closed__2; +x_48 = l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1___closed__8; x_49 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_49, 0, x_47); -lean_ctor_set(x_49, 1, x_48); -x_50 = l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1(x_26, x_49, x_8, x_9, x_10, x_11, x_12, x_13, x_28); -x_51 = lean_ctor_get(x_50, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_50, 1); -lean_inc(x_52); -lean_dec(x_50); -x_53 = lean_apply_8(x_29, x_51, x_8, x_9, x_10, x_11, x_12, x_13, x_52); -return x_53; +lean_ctor_set(x_49, 0, x_48); +lean_ctor_set(x_49, 1, x_47); +x_50 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7___closed__2; +x_51 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_51, 0, x_49); +lean_ctor_set(x_51, 1, x_50); +x_52 = l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1(x_28, x_51, x_8, x_9, x_10, x_11, x_12, x_13, x_30); +x_53 = lean_ctor_get(x_52, 0); +lean_inc(x_53); +x_54 = lean_ctor_get(x_52, 1); +lean_inc(x_54); +lean_dec(x_52); +x_55 = lean_apply_8(x_31, x_53, x_8, x_9, x_10, x_11, x_12, x_13, x_54); +return x_55; } else { -lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; -x_54 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__11; -x_55 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_55, 0, x_43); -lean_ctor_set(x_55, 1, x_54); -x_56 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_56, 0, x_55); -x_57 = l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1___closed__8; -x_58 = lean_alloc_ctor(10, 2, 0); +lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_56 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__11; +x_57 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_57, 0, x_45); +lean_ctor_set(x_57, 1, x_56); +x_58 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_58, 0, x_57); -lean_ctor_set(x_58, 1, x_56); -x_59 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6___closed__2; +x_59 = l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1___closed__8; x_60 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_60, 0, x_58); -lean_ctor_set(x_60, 1, x_59); -x_61 = l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1(x_26, x_60, x_8, x_9, x_10, x_11, x_12, x_13, x_28); -x_62 = lean_ctor_get(x_61, 0); -lean_inc(x_62); -x_63 = lean_ctor_get(x_61, 1); -lean_inc(x_63); -lean_dec(x_61); -x_64 = lean_apply_8(x_29, x_62, x_8, x_9, x_10, x_11, x_12, x_13, x_63); -return x_64; +lean_ctor_set(x_60, 0, x_59); +lean_ctor_set(x_60, 1, x_58); +x_61 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7___closed__2; +x_62 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_62, 0, x_60); +lean_ctor_set(x_62, 1, x_61); +x_63 = l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1(x_28, x_62, x_8, x_9, x_10, x_11, x_12, x_13, x_30); +x_64 = lean_ctor_get(x_63, 0); +lean_inc(x_64); +x_65 = lean_ctor_get(x_63, 1); +lean_inc(x_65); +lean_dec(x_63); +x_66 = lean_apply_8(x_31, x_64, x_8, x_9, x_10, x_11, x_12, x_13, x_65); +return x_66; } } } } } +else +{ +lean_object* x_79; lean_object* x_80; +lean_dec(x_6); +lean_dec(x_5); +x_79 = lean_box(0); +x_80 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__5(x_1, x_2, x_3, x_4, x_79, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +return x_80; +} +} } static lean_object* _init_l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___closed__1() { _start: @@ -5363,7 +5398,7 @@ x_98 = lean_ctor_get(x_89, 1); lean_inc(x_98); lean_dec(x_89); x_99 = lean_box(0); -x_100 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6(x_4, x_2, x_5, x_6, x_88, x_8, x_99, x_9, x_10, x_11, x_12, x_13, x_14, x_98); +x_100 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7(x_5, x_6, x_88, x_8, x_4, x_2, x_99, x_9, x_10, x_11, x_12, x_13, x_14, x_98); return x_100; } } @@ -5484,6 +5519,15 @@ lean_dec(x_6); return x_14; } } +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; +x_11 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_3); +return x_11; +} +} LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { @@ -6981,7 +7025,7 @@ x_14 = l_Lean_Meta_withNewMCtxDepth___at_Lean_Meta_Simp_tryTheoremWithExtraArgs_ return x_14; } } -LEAN_EXPORT uint8_t l_Lean_Meta_Simp_rewrite_inErasedSet(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT uint8_t l_Lean_Meta_Simp_rewrite_x3f_inErasedSet(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; @@ -7006,16 +7050,16 @@ return x_6; } } } -LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite_inErasedSet___boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite_x3f_inErasedSet___boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; lean_object* x_4; -x_3 = l_Lean_Meta_Simp_rewrite_inErasedSet(x_1, x_2); +x_3 = l_Lean_Meta_Simp_rewrite_x3f_inErasedSet(x_1, x_2); x_4 = lean_box(x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Array_insertionSort_swapLoop___at_Lean_Meta_Simp_rewrite___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Array_insertionSort_swapLoop___at_Lean_Meta_Simp_rewrite_x3f___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; uint8_t x_5; @@ -7067,7 +7111,7 @@ return x_1; } } } -LEAN_EXPORT lean_object* l_Array_insertionSort_traverse___at_Lean_Meta_Simp_rewrite___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Array_insertionSort_traverse___at_Lean_Meta_Simp_rewrite_x3f___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; uint8_t x_5; @@ -7092,7 +7136,7 @@ else { lean_object* x_10; lean_object* x_11; lean_inc(x_2); -x_10 = l_Array_insertionSort_swapLoop___at_Lean_Meta_Simp_rewrite___spec__2(x_1, x_2, lean_box(0)); +x_10 = l_Array_insertionSort_swapLoop___at_Lean_Meta_Simp_rewrite_x3f___spec__2(x_1, x_2, lean_box(0)); x_11 = lean_nat_add(x_2, x_6); lean_dec(x_2); x_1 = x_10; @@ -7109,7 +7153,109 @@ return x_1; } } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, size_t x_6, size_t 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_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_10 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_10, 0, x_1); +x_11 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_11, 0, x_10); +x_12 = lean_box(0); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_12); +x_14 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_14, 0, x_13); +x_15 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_9); +return x_15; +} +} +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("Debug"); +return x_1; +} +} +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__2; +x_2 = l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__3; +x_2 = l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__3; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__4; +x_2 = l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__5; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("rewrite result "); +return x_1; +} +} +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__6; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__8() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string(" => "); +return x_1; +} +} +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__8; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, size_t x_6, size_t 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) { _start: { uint8_t x_16; @@ -7134,20 +7280,20 @@ return x_17; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_28; lean_object* x_29; uint8_t x_30; lean_dec(x_8); x_18 = lean_array_uget(x_5, x_7); -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); +x_28 = lean_ctor_get(x_18, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_18, 1); +lean_inc(x_29); lean_dec(x_18); -lean_inc(x_19); +lean_inc(x_28); lean_inc(x_2); -x_21 = l_Lean_Meta_Simp_rewrite_inErasedSet(x_2, x_19); -if (x_21 == 0) +x_30 = l_Lean_Meta_Simp_rewrite_x3f_inErasedSet(x_2, x_28); +if (x_30 == 0) { -lean_object* x_22; +lean_object* x_31; lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); @@ -7156,112 +7302,136 @@ lean_inc(x_10); lean_inc(x_9); lean_inc(x_3); lean_inc(x_1); -x_22 = l_Lean_Meta_Simp_tryTheoremWithExtraArgs_x3f(x_1, x_19, x_20, x_3, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -if (lean_obj_tag(x_22) == 0) +x_31 = l_Lean_Meta_Simp_tryTheoremWithExtraArgs_x3f(x_1, x_28, x_29, x_3, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +if (lean_obj_tag(x_31) == 0) { -lean_object* x_23; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -if (lean_obj_tag(x_23) == 0) +lean_object* x_32; +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +if (lean_obj_tag(x_32) == 0) { -lean_object* x_24; size_t x_25; size_t x_26; -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = 1; -x_26 = lean_usize_add(x_7, x_25); -lean_inc(x_4); -{ -size_t _tmp_6 = x_26; -lean_object* _tmp_7 = x_4; -lean_object* _tmp_14 = x_24; -x_7 = _tmp_6; -x_8 = _tmp_7; -x_15 = _tmp_14; -} -goto _start; -} -else -{ -uint8_t x_28; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_28 = !lean_is_exclusive(x_22); -if (x_28 == 0) -{ -lean_object* x_29; uint8_t x_30; -x_29 = lean_ctor_get(x_22, 0); -lean_dec(x_29); -x_30 = !lean_is_exclusive(x_23); -if (x_30 == 0) -{ -lean_object* x_31; lean_object* x_32; -x_31 = lean_box(0); -x_32 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_32, 0, x_23); -lean_ctor_set(x_32, 1, x_31); -lean_ctor_set(x_22, 0, x_32); -return x_22; -} -else -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_33 = lean_ctor_get(x_23, 0); +lean_object* x_33; lean_object* x_34; +x_33 = lean_ctor_get(x_31, 1); lean_inc(x_33); -lean_dec(x_23); +lean_dec(x_31); +lean_inc(x_4); x_34 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_34, 0, x_33); -x_35 = lean_box(0); -x_36 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_36, 0, x_34); -lean_ctor_set(x_36, 1, x_35); -lean_ctor_set(x_22, 0, x_36); -return x_22; -} +lean_ctor_set(x_34, 0, x_4); +x_19 = x_34; +x_20 = x_33; +goto block_27; } else { -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; -x_37 = lean_ctor_get(x_22, 1); -lean_inc(x_37); -lean_dec(x_22); -x_38 = lean_ctor_get(x_23, 0); -lean_inc(x_38); -if (lean_is_exclusive(x_23)) { - lean_ctor_release(x_23, 0); - x_39 = x_23; -} else { - lean_dec_ref(x_23); - x_39 = lean_box(0); +lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; lean_object* x_39; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64; +x_35 = lean_ctor_get(x_31, 1); +lean_inc(x_35); +lean_dec(x_31); +x_36 = lean_ctor_get(x_32, 0); +lean_inc(x_36); +lean_dec(x_32); +x_37 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__5; +x_61 = lean_st_ref_get(x_14, x_35); +x_62 = lean_ctor_get(x_61, 0); +lean_inc(x_62); +x_63 = lean_ctor_get(x_62, 3); +lean_inc(x_63); +lean_dec(x_62); +x_64 = lean_ctor_get_uint8(x_63, sizeof(void*)*1); +lean_dec(x_63); +if (x_64 == 0) +{ +lean_object* x_65; uint8_t x_66; +x_65 = lean_ctor_get(x_61, 1); +lean_inc(x_65); +lean_dec(x_61); +x_66 = 0; +x_38 = x_66; +x_39 = x_65; +goto block_60; } -if (lean_is_scalar(x_39)) { - x_40 = lean_alloc_ctor(1, 1, 0); -} else { - x_40 = x_39; +else +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; +x_67 = lean_ctor_get(x_61, 1); +lean_inc(x_67); +lean_dec(x_61); +x_68 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__2(x_37, x_9, x_10, x_11, x_12, x_13, x_14, x_67); +x_69 = lean_ctor_get(x_68, 0); +lean_inc(x_69); +x_70 = lean_ctor_get(x_68, 1); +lean_inc(x_70); +lean_dec(x_68); +x_71 = lean_unbox(x_69); +lean_dec(x_69); +x_38 = x_71; +x_39 = x_70; +goto block_60; +} +block_60: +{ +if (x_38 == 0) +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_40 = lean_box(0); +x_41 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___lambda__1(x_36, x_40, x_9, x_10, x_11, x_12, x_13, x_14, x_39); +x_42 = lean_ctor_get(x_41, 0); +lean_inc(x_42); +x_43 = lean_ctor_get(x_41, 1); +lean_inc(x_43); +lean_dec(x_41); +x_19 = x_42; +x_20 = x_43; +goto block_27; +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; +lean_inc(x_1); +x_44 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_44, 0, x_1); +x_45 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__7; +x_46 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_46, 0, x_45); +lean_ctor_set(x_46, 1, x_44); +x_47 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__9; +x_48 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +x_49 = lean_ctor_get(x_36, 0); +lean_inc(x_49); +x_50 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_50, 0, x_49); +x_51 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_51, 0, x_48); +lean_ctor_set(x_51, 1, x_50); +x_52 = l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1___closed__8; +x_53 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_53, 0, x_51); +lean_ctor_set(x_53, 1, x_52); +x_54 = l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1(x_37, x_53, x_9, x_10, x_11, x_12, x_13, x_14, x_39); +x_55 = lean_ctor_get(x_54, 0); +lean_inc(x_55); +x_56 = lean_ctor_get(x_54, 1); +lean_inc(x_56); +lean_dec(x_54); +x_57 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___lambda__1(x_36, x_55, x_9, x_10, x_11, x_12, x_13, x_14, x_56); +lean_dec(x_55); +x_58 = lean_ctor_get(x_57, 0); +lean_inc(x_58); +x_59 = lean_ctor_get(x_57, 1); +lean_inc(x_59); +lean_dec(x_57); +x_19 = x_58; +x_20 = x_59; +goto block_27; } -lean_ctor_set(x_40, 0, x_38); -x_41 = lean_box(0); -x_42 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_42, 0, x_40); -lean_ctor_set(x_42, 1, x_41); -x_43 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_43, 0, x_42); -lean_ctor_set(x_43, 1, x_37); -return x_43; } } } else { -uint8_t x_44; +uint8_t x_72; lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); @@ -7272,73 +7442,89 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_44 = !lean_is_exclusive(x_22); -if (x_44 == 0) +x_72 = !lean_is_exclusive(x_31); +if (x_72 == 0) { +return x_31; +} +else +{ +lean_object* x_73; lean_object* x_74; lean_object* x_75; +x_73 = lean_ctor_get(x_31, 0); +x_74 = lean_ctor_get(x_31, 1); +lean_inc(x_74); +lean_inc(x_73); +lean_dec(x_31); +x_75 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_75, 0, x_73); +lean_ctor_set(x_75, 1, x_74); +return x_75; +} +} +} +else +{ +lean_object* x_76; +lean_dec(x_29); +lean_dec(x_28); +lean_inc(x_4); +x_76 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_76, 0, x_4); +x_19 = x_76; +x_20 = x_15; +goto block_27; +} +block_27: +{ +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_21; lean_object* x_22; +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_21 = lean_ctor_get(x_19, 0); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_21); +lean_ctor_set(x_22, 1, x_20); return x_22; } else { -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_22, 0); -x_46 = lean_ctor_get(x_22, 1); -lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_22); -x_47 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -return x_47; -} -} -} -else -{ -size_t x_48; size_t x_49; -lean_dec(x_20); +lean_object* x_23; size_t x_24; size_t x_25; +x_23 = lean_ctor_get(x_19, 0); +lean_inc(x_23); lean_dec(x_19); -x_48 = 1; -x_49 = lean_usize_add(x_7, x_48); -lean_inc(x_4); -{ -size_t _tmp_6 = x_49; -lean_object* _tmp_7 = x_4; -x_7 = _tmp_6; -x_8 = _tmp_7; -} +x_24 = 1; +x_25 = lean_usize_add(x_7, x_24); +x_7 = x_25; +x_8 = x_23; +x_15 = x_20; goto _start; } } } } -LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +} +LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite_x3f___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_11; lean_object* x_12; -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_1); -lean_ctor_set(x_11, 1, x_2); -x_12 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_12, 0, x_11); -lean_ctor_set(x_12, 1, x_10); -return x_12; +lean_object* x_10; +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_1); +lean_ctor_set(x_10, 1, x_9); +return x_10; } } -LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_box(0); -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_1); -lean_ctor_set(x_11, 1, x_10); -x_12 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_12, 0, x_11); -lean_ctor_set(x_12, 1, x_9); -return x_12; -} -} -static lean_object* _init_l_Lean_Meta_Simp_rewrite___closed__1() { +static lean_object* _init_l_Lean_Meta_Simp_rewrite_x3f___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -7350,55 +7536,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_Simp_rewrite___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("Debug"); -return x_1; -} -} -static lean_object* _init_l_Lean_Meta_Simp_rewrite___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Meta_Simp_rewrite___closed__2; -x_3 = lean_name_mk_string(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Meta_Simp_rewrite___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_Simp_rewrite___closed__3; -x_2 = l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__1; -x_3 = lean_name_mk_string(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Meta_Simp_rewrite___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_Simp_rewrite___closed__4; -x_2 = l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__3; -x_3 = lean_name_mk_string(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Meta_Simp_rewrite___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_Simp_rewrite___closed__5; -x_2 = l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__5; -x_3 = lean_name_mk_string(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Meta_Simp_rewrite___closed__7() { +static lean_object* _init_l_Lean_Meta_Simp_rewrite_x3f___closed__2() { _start: { lean_object* x_1; @@ -7406,16 +7544,16 @@ x_1 = lean_mk_string("no theorems found for "); return x_1; } } -static lean_object* _init_l_Lean_Meta_Simp_rewrite___closed__8() { +static lean_object* _init_l_Lean_Meta_Simp_rewrite_x3f___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Simp_rewrite___closed__7; +x_1 = l_Lean_Meta_Simp_rewrite_x3f___closed__2; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_Meta_Simp_rewrite___closed__9() { +static lean_object* _init_l_Lean_Meta_Simp_rewrite_x3f___closed__4() { _start: { lean_object* x_1; @@ -7423,16 +7561,16 @@ x_1 = lean_mk_string("-rewriting "); return x_1; } } -static lean_object* _init_l_Lean_Meta_Simp_rewrite___closed__10() { +static lean_object* _init_l_Lean_Meta_Simp_rewrite_x3f___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Simp_rewrite___closed__9; +x_1 = l_Lean_Meta_Simp_rewrite_x3f___closed__4; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { lean_object* x_13; @@ -7454,24 +7592,16 @@ x_16 = l_Array_isEmpty___rarg(x_14); if (x_16 == 0) { lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; size_t x_22; size_t x_23; lean_object* x_24; lean_object* x_25; -lean_dec(x_5); x_17 = lean_array_get_size(x_14); x_18 = lean_unsigned_to_nat(0u); -x_19 = l_Array_insertionSort_traverse___at_Lean_Meta_Simp_rewrite___spec__1(x_14, x_18, x_17); +x_19 = l_Array_insertionSort_traverse___at_Lean_Meta_Simp_rewrite_x3f___spec__1(x_14, x_18, x_17); x_20 = lean_box(0); x_21 = lean_array_get_size(x_19); x_22 = lean_usize_of_nat(x_21); lean_dec(x_21); x_23 = 0; -x_24 = l_Lean_Meta_Simp_rewrite___closed__1; -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_1); -x_25 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite___spec__3(x_1, x_3, x_4, x_24, x_19, x_22, x_23, x_24, x_6, x_7, x_8, x_9, x_10, x_11, x_15); +x_24 = l_Lean_Meta_Simp_rewrite_x3f___closed__1; +x_25 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3(x_1, x_3, x_4, x_24, x_19, x_22, x_23, x_24, x_6, x_7, x_8, x_9, x_10, x_11, x_15); lean_dec(x_19); if (lean_obj_tag(x_25) == 0) { @@ -7483,257 +7613,209 @@ lean_inc(x_27); lean_dec(x_26); if (lean_obj_tag(x_27) == 0) { -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_25, 1); -lean_inc(x_28); -lean_dec(x_25); -x_29 = lean_box(0); -x_30 = l_Lean_Meta_Simp_rewrite___lambda__1(x_1, x_20, x_29, x_6, x_7, x_8, x_9, x_10, x_11, x_28); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -return x_30; -} -else +uint8_t x_28; +x_28 = !lean_is_exclusive(x_25); +if (x_28 == 0) { -uint8_t x_31; -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_25); -if (x_31 == 0) -{ -lean_object* x_32; lean_object* x_33; -x_32 = lean_ctor_get(x_25, 0); -lean_dec(x_32); -x_33 = lean_ctor_get(x_27, 0); -lean_inc(x_33); -lean_dec(x_27); -lean_ctor_set(x_25, 0, x_33); +lean_object* x_29; +x_29 = lean_ctor_get(x_25, 0); +lean_dec(x_29); +lean_ctor_set(x_25, 0, x_20); return x_25; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_25, 1); +lean_object* x_30; lean_object* x_31; +x_30 = lean_ctor_get(x_25, 1); +lean_inc(x_30); +lean_dec(x_25); +x_31 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_31, 0, x_20); +lean_ctor_set(x_31, 1, x_30); +return x_31; +} +} +else +{ +uint8_t x_32; +x_32 = !lean_is_exclusive(x_25); +if (x_32 == 0) +{ +lean_object* x_33; lean_object* x_34; +x_33 = lean_ctor_get(x_25, 0); +lean_dec(x_33); +x_34 = lean_ctor_get(x_27, 0); lean_inc(x_34); -lean_dec(x_25); -x_35 = lean_ctor_get(x_27, 0); -lean_inc(x_35); lean_dec(x_27); -x_36 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_36, 0, x_35); -lean_ctor_set(x_36, 1, x_34); -return x_36; +lean_ctor_set(x_25, 0, x_34); +return x_25; +} +else +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_25, 1); +lean_inc(x_35); +lean_dec(x_25); +x_36 = lean_ctor_get(x_27, 0); +lean_inc(x_36); +lean_dec(x_27); +x_37 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_37, 0, x_36); +lean_ctor_set(x_37, 1, x_35); +return x_37; } } } else { -uint8_t x_37; -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_1); -x_37 = !lean_is_exclusive(x_25); -if (x_37 == 0) +uint8_t x_38; +x_38 = !lean_is_exclusive(x_25); +if (x_38 == 0) { return x_25; } else { -lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_38 = lean_ctor_get(x_25, 0); -x_39 = lean_ctor_get(x_25, 1); +lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_39 = lean_ctor_get(x_25, 0); +x_40 = lean_ctor_get(x_25, 1); +lean_inc(x_40); lean_inc(x_39); -lean_inc(x_38); lean_dec(x_25); -x_40 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_40, 0, x_38); -lean_ctor_set(x_40, 1, x_39); -return x_40; +x_41 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_41, 0, x_39); +lean_ctor_set(x_41, 1, x_40); +return x_41; } } } else { -lean_object* x_41; uint8_t x_42; lean_object* x_43; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63; +lean_object* x_42; uint8_t x_43; lean_object* x_44; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; lean_dec(x_14); lean_dec(x_4); lean_dec(x_3); -x_41 = l_Lean_Meta_Simp_rewrite___closed__6; -x_60 = lean_st_ref_get(x_11, x_15); -x_61 = lean_ctor_get(x_60, 0); -lean_inc(x_61); -x_62 = lean_ctor_get(x_61, 3); -lean_inc(x_62); -lean_dec(x_61); -x_63 = lean_ctor_get_uint8(x_62, sizeof(void*)*1); -lean_dec(x_62); -if (x_63 == 0) -{ -lean_object* x_64; uint8_t x_65; -x_64 = lean_ctor_get(x_60, 1); +x_42 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__5; +x_62 = lean_st_ref_get(x_11, x_15); +x_63 = lean_ctor_get(x_62, 0); +lean_inc(x_63); +x_64 = lean_ctor_get(x_63, 3); lean_inc(x_64); -lean_dec(x_60); -x_65 = 0; -x_42 = x_65; -x_43 = x_64; -goto block_59; -} -else +lean_dec(x_63); +x_65 = lean_ctor_get_uint8(x_64, sizeof(void*)*1); +lean_dec(x_64); +if (x_65 == 0) { -lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; uint8_t x_70; -x_66 = lean_ctor_get(x_60, 1); +lean_object* x_66; uint8_t x_67; +x_66 = lean_ctor_get(x_62, 1); lean_inc(x_66); -lean_dec(x_60); -x_67 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__2(x_41, x_6, x_7, x_8, x_9, x_10, x_11, x_66); -x_68 = lean_ctor_get(x_67, 0); -lean_inc(x_68); -x_69 = lean_ctor_get(x_67, 1); -lean_inc(x_69); -lean_dec(x_67); -x_70 = lean_unbox(x_68); -lean_dec(x_68); -x_42 = x_70; -x_43 = x_69; -goto block_59; -} -block_59: -{ -if (x_42 == 0) -{ -lean_object* x_44; lean_object* x_45; -lean_dec(x_5); -x_44 = lean_box(0); -x_45 = l_Lean_Meta_Simp_rewrite___lambda__2(x_1, x_44, x_6, x_7, x_8, x_9, x_10, x_11, x_43); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -return x_45; +lean_dec(x_62); +x_67 = 0; +x_43 = x_67; +x_44 = x_66; +goto block_61; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_46 = l_Lean_stringToMessageData(x_5); -lean_dec(x_5); -x_47 = l_Lean_Meta_Simp_rewrite___closed__8; -x_48 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_48, 0, x_47); -lean_ctor_set(x_48, 1, x_46); -x_49 = l_Lean_Meta_Simp_rewrite___closed__10; +lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72; +x_68 = lean_ctor_get(x_62, 1); +lean_inc(x_68); +lean_dec(x_62); +x_69 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__2(x_42, x_6, x_7, x_8, x_9, x_10, x_11, x_68); +x_70 = lean_ctor_get(x_69, 0); +lean_inc(x_70); +x_71 = lean_ctor_get(x_69, 1); +lean_inc(x_71); +lean_dec(x_69); +x_72 = lean_unbox(x_70); +lean_dec(x_70); +x_43 = x_72; +x_44 = x_71; +goto block_61; +} +block_61: +{ +lean_object* x_45; +x_45 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__1; +if (x_43 == 0) +{ +lean_object* x_46; lean_object* x_47; +lean_dec(x_1); +x_46 = lean_box(0); +x_47 = lean_apply_8(x_45, x_46, x_6, x_7, x_8, x_9, x_10, x_11, x_44); +return x_47; +} +else +{ +lean_object* 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_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_48 = l_Lean_stringToMessageData(x_5); +x_49 = l_Lean_Meta_Simp_rewrite_x3f___closed__3; x_50 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_50, 0, x_48); -lean_ctor_set(x_50, 1, x_49); -lean_inc(x_1); -x_51 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_51, 0, x_1); +lean_ctor_set(x_50, 0, x_49); +lean_ctor_set(x_50, 1, x_48); +x_51 = l_Lean_Meta_Simp_rewrite_x3f___closed__5; x_52 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_52, 0, x_50); lean_ctor_set(x_52, 1, x_51); -x_53 = l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1___closed__8; +x_53 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_53, 0, x_1); x_54 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_54, 0, x_52); lean_ctor_set(x_54, 1, x_53); -x_55 = l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1(x_41, x_54, x_6, x_7, x_8, x_9, x_10, x_11, x_43); -x_56 = lean_ctor_get(x_55, 0); -lean_inc(x_56); -x_57 = lean_ctor_get(x_55, 1); -lean_inc(x_57); -lean_dec(x_55); -x_58 = l_Lean_Meta_Simp_rewrite___lambda__2(x_1, x_56, x_6, x_7, x_8, x_9, x_10, x_11, x_57); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_56); -return x_58; +x_55 = l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1___closed__8; +x_56 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_56, 0, x_54); +lean_ctor_set(x_56, 1, x_55); +x_57 = l_Lean_addTrace___at_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___spec__1(x_42, x_56, x_6, x_7, x_8, x_9, x_10, x_11, x_44); +x_58 = lean_ctor_get(x_57, 0); +lean_inc(x_58); +x_59 = lean_ctor_get(x_57, 1); +lean_inc(x_59); +lean_dec(x_57); +x_60 = lean_apply_8(x_45, x_58, x_6, x_7, x_8, x_9, x_10, x_11, x_59); +return x_60; } } } } else { -uint8_t x_71; +uint8_t x_73; lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_71 = !lean_is_exclusive(x_13); -if (x_71 == 0) +x_73 = !lean_is_exclusive(x_13); +if (x_73 == 0) { return x_13; } else { -lean_object* x_72; lean_object* x_73; lean_object* x_74; -x_72 = lean_ctor_get(x_13, 0); -x_73 = lean_ctor_get(x_13, 1); -lean_inc(x_73); -lean_inc(x_72); +lean_object* x_74; lean_object* x_75; lean_object* x_76; +x_74 = lean_ctor_get(x_13, 0); +x_75 = lean_ctor_get(x_13, 1); +lean_inc(x_75); +lean_inc(x_74); lean_dec(x_13); -x_74 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_74, 0, x_72); -lean_ctor_set(x_74, 1, x_73); -return x_74; +x_76 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_76, 0, x_74); +lean_ctor_set(x_76, 1, x_75); +return x_76; } } } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { -_start: -{ -size_t x_16; size_t x_17; lean_object* x_18; -x_16 = lean_unbox_usize(x_6); -lean_dec(x_6); -x_17 = lean_unbox_usize(x_7); -lean_dec(x_7); -x_18 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite___spec__3(x_1, x_2, x_3, x_4, x_5, x_16, x_17, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -lean_dec(x_5); -return x_18; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; -x_11 = l_Lean_Meta_Simp_rewrite___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -return x_11; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; -x_10 = l_Lean_Meta_Simp_rewrite___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_10 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -7744,6 +7826,43 @@ lean_dec(x_2); return x_10; } } +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +_start: +{ +size_t x_16; size_t x_17; lean_object* x_18; +x_16 = lean_unbox_usize(x_6); +lean_dec(x_6); +x_17 = lean_unbox_usize(x_7); +lean_dec(x_7); +x_18 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3(x_1, x_2, x_3, x_4, x_5, x_16, x_17, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +lean_dec(x_5); +return x_18; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite_x3f___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = l_Lean_Meta_Simp_rewrite_x3f___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_Simp_rewrite_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; +x_13 = l_Lean_Meta_Simp_rewrite_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_5); +return x_13; +} +} LEAN_EXPORT lean_object* l_Lean_Meta_Simp_andThen(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: { @@ -11332,51 +11451,64 @@ return x_16; } else { -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; uint8_t 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; uint8_t x_32; +lean_object* x_17; lean_object* x_18; lean_dec(x_7); x_17 = lean_array_uget(x_4, x_6); -x_18 = lean_box(0); lean_inc(x_17); -x_19 = l_Lean_mkConst(x_17, x_18); -x_20 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_20, 0, x_17); -x_21 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore___closed__1; -x_22 = lean_unsigned_to_nat(1000u); -x_23 = 1; -x_24 = 0; -x_25 = lean_alloc_ctor(0, 5, 2); -lean_ctor_set(x_25, 0, x_21); -lean_ctor_set(x_25, 1, x_21); -lean_ctor_set(x_25, 2, x_19); -lean_ctor_set(x_25, 3, x_22); -lean_ctor_set(x_25, 4, x_20); -lean_ctor_set_uint8(x_25, sizeof(void*)*5, x_23); -lean_ctor_set_uint8(x_25, sizeof(void*)*5 + 1, x_24); -x_26 = lean_ctor_get(x_10, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_10, 1); -lean_inc(x_27); -x_28 = lean_ctor_get(x_10, 2); -lean_inc(x_28); -x_29 = lean_ctor_get(x_10, 3); -lean_inc(x_29); -x_30 = lean_ctor_get(x_10, 4); -lean_inc(x_30); -x_31 = lean_ctor_get(x_10, 5); -lean_inc(x_31); -x_32 = !lean_is_exclusive(x_26); -if (x_32 == 0) +x_18 = l_Lean_Meta_isRflTheorem(x_17, x_12, x_13, x_14); +if (lean_obj_tag(x_18) == 0) { -uint8_t x_33; lean_object* x_34; lean_object* x_35; -x_33 = 2; -lean_ctor_set_uint8(x_26, 5, x_33); -x_34 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_34, 0, x_26); -lean_ctor_set(x_34, 1, x_27); -lean_ctor_set(x_34, 2, x_28); -lean_ctor_set(x_34, 3, x_29); -lean_ctor_set(x_34, 4, x_30); -lean_ctor_set(x_34, 5, x_31); +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; uint8_t x_27; lean_object* x_28; uint8_t x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +x_21 = lean_box(0); +lean_inc(x_17); +x_22 = l_Lean_mkConst(x_17, x_21); +x_23 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_23, 0, x_17); +x_24 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore___closed__1; +x_25 = lean_unsigned_to_nat(1000u); +x_26 = 1; +x_27 = 0; +x_28 = lean_alloc_ctor(0, 5, 3); +lean_ctor_set(x_28, 0, x_24); +lean_ctor_set(x_28, 1, x_24); +lean_ctor_set(x_28, 2, x_22); +lean_ctor_set(x_28, 3, x_25); +lean_ctor_set(x_28, 4, x_23); +lean_ctor_set_uint8(x_28, sizeof(void*)*5, x_26); +lean_ctor_set_uint8(x_28, sizeof(void*)*5 + 1, x_27); +x_29 = lean_unbox(x_19); +lean_dec(x_19); +lean_ctor_set_uint8(x_28, sizeof(void*)*5 + 2, x_29); +x_30 = lean_ctor_get(x_10, 0); +lean_inc(x_30); +x_31 = lean_ctor_get(x_10, 1); +lean_inc(x_31); +x_32 = lean_ctor_get(x_10, 2); +lean_inc(x_32); +x_33 = lean_ctor_get(x_10, 3); +lean_inc(x_33); +x_34 = lean_ctor_get(x_10, 4); +lean_inc(x_34); +x_35 = lean_ctor_get(x_10, 5); +lean_inc(x_35); +x_36 = !lean_is_exclusive(x_30); +if (x_36 == 0) +{ +uint8_t x_37; lean_object* x_38; lean_object* x_39; +x_37 = 2; +lean_ctor_set_uint8(x_30, 5, x_37); +x_38 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_38, 0, x_30); +lean_ctor_set(x_38, 1, x_31); +lean_ctor_set(x_38, 2, x_32); +lean_ctor_set(x_38, 3, x_33); +lean_ctor_set(x_38, 4, x_34); +lean_ctor_set(x_38, 5, x_35); lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); @@ -11384,25 +11516,25 @@ lean_inc(x_9); lean_inc(x_8); lean_inc(x_2); lean_inc(x_1); -x_35 = l_Lean_Meta_Simp_tryTheorem_x3f(x_1, x_25, x_2, x_8, x_9, x_34, x_11, x_12, x_13, x_14); -if (lean_obj_tag(x_35) == 0) +x_39 = l_Lean_Meta_Simp_tryTheorem_x3f(x_1, x_28, x_2, x_8, x_9, x_38, x_11, x_12, x_13, x_20); +if (lean_obj_tag(x_39) == 0) { -lean_object* x_36; -x_36 = lean_ctor_get(x_35, 0); -lean_inc(x_36); -if (lean_obj_tag(x_36) == 0) +lean_object* x_40; +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +if (lean_obj_tag(x_40) == 0) { -lean_object* x_37; size_t x_38; size_t x_39; -x_37 = lean_ctor_get(x_35, 1); -lean_inc(x_37); -lean_dec(x_35); -x_38 = 1; -x_39 = lean_usize_add(x_6, x_38); +lean_object* x_41; size_t x_42; size_t x_43; +x_41 = lean_ctor_get(x_39, 1); +lean_inc(x_41); +lean_dec(x_39); +x_42 = 1; +x_43 = lean_usize_add(x_6, x_42); lean_inc(x_3); { -size_t _tmp_5 = x_39; +size_t _tmp_5 = x_43; lean_object* _tmp_6 = x_3; -lean_object* _tmp_13 = x_37; +lean_object* _tmp_13 = x_41; x_6 = _tmp_5; x_7 = _tmp_6; x_14 = _tmp_13; @@ -11411,7 +11543,7 @@ goto _start; } else { -uint8_t x_41; +uint8_t x_45; lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); @@ -11421,157 +11553,157 @@ lean_dec(x_8); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_41 = !lean_is_exclusive(x_35); -if (x_41 == 0) +x_45 = !lean_is_exclusive(x_39); +if (x_45 == 0) { -lean_object* x_42; uint8_t x_43; -x_42 = lean_ctor_get(x_35, 0); -lean_dec(x_42); -x_43 = !lean_is_exclusive(x_36); -if (x_43 == 0) +lean_object* x_46; uint8_t x_47; +x_46 = lean_ctor_get(x_39, 0); +lean_dec(x_46); +x_47 = !lean_is_exclusive(x_40); +if (x_47 == 0) { -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_44 = lean_ctor_get(x_36, 0); -x_45 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_45, 0, x_44); -lean_ctor_set(x_36, 0, x_45); -x_46 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_46, 0, x_36); -x_47 = lean_box(0); -x_48 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -lean_ctor_set(x_35, 0, x_48); -return x_35; -} -else -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; -x_49 = lean_ctor_get(x_36, 0); -lean_inc(x_49); -lean_dec(x_36); +lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_48 = lean_ctor_get(x_40, 0); +x_49 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_49, 0, x_48); +lean_ctor_set(x_40, 0, x_49); x_50 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_50, 0, x_49); -x_51 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_51, 0, x_50); -x_52 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_52, 0, x_51); -x_53 = lean_box(0); -x_54 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_54, 0, x_52); -lean_ctor_set(x_54, 1, x_53); -lean_ctor_set(x_35, 0, x_54); -return x_35; -} +lean_ctor_set(x_50, 0, x_40); +x_51 = lean_box(0); +x_52 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_52, 0, x_50); +lean_ctor_set(x_52, 1, x_51); +lean_ctor_set(x_39, 0, x_52); +return x_39; } else { -lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; -x_55 = lean_ctor_get(x_35, 1); -lean_inc(x_55); -lean_dec(x_35); -x_56 = lean_ctor_get(x_36, 0); -lean_inc(x_56); -if (lean_is_exclusive(x_36)) { - lean_ctor_release(x_36, 0); - x_57 = x_36; -} else { - lean_dec_ref(x_36); - x_57 = lean_box(0); -} -x_58 = lean_alloc_ctor(1, 1, 0); +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_53 = lean_ctor_get(x_40, 0); +lean_inc(x_53); +lean_dec(x_40); +x_54 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_54, 0, x_53); +x_55 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_55, 0, x_54); +x_56 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_56, 0, x_55); +x_57 = lean_box(0); +x_58 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_58, 0, x_56); -if (lean_is_scalar(x_57)) { - x_59 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_58, 1, x_57); +lean_ctor_set(x_39, 0, x_58); +return x_39; +} +} +else +{ +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; +x_59 = lean_ctor_get(x_39, 1); +lean_inc(x_59); +lean_dec(x_39); +x_60 = lean_ctor_get(x_40, 0); +lean_inc(x_60); +if (lean_is_exclusive(x_40)) { + lean_ctor_release(x_40, 0); + x_61 = x_40; } else { - x_59 = x_57; + lean_dec_ref(x_40); + x_61 = lean_box(0); } -lean_ctor_set(x_59, 0, x_58); -x_60 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_60, 0, x_59); -x_61 = lean_box(0); -x_62 = lean_alloc_ctor(0, 2, 0); +x_62 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_62, 0, x_60); -lean_ctor_set(x_62, 1, x_61); -x_63 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_61)) { + x_63 = lean_alloc_ctor(1, 1, 0); +} else { + x_63 = x_61; +} lean_ctor_set(x_63, 0, x_62); -lean_ctor_set(x_63, 1, x_55); -return x_63; -} -} -} -else -{ -uint8_t x_64; -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_64 = !lean_is_exclusive(x_35); -if (x_64 == 0) -{ -return x_35; -} -else -{ -lean_object* x_65; lean_object* x_66; lean_object* x_67; -x_65 = lean_ctor_get(x_35, 0); -x_66 = lean_ctor_get(x_35, 1); -lean_inc(x_66); -lean_inc(x_65); -lean_dec(x_35); -x_67 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_67, 0, x_65); -lean_ctor_set(x_67, 1, x_66); +x_64 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_64, 0, x_63); +x_65 = lean_box(0); +x_66 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_66, 0, x_64); +lean_ctor_set(x_66, 1, x_65); +x_67 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_67, 0, x_66); +lean_ctor_set(x_67, 1, x_59); return x_67; } } } else { -uint8_t x_68; uint8_t x_69; uint8_t x_70; uint8_t x_71; uint8_t x_72; uint8_t x_73; uint8_t x_74; uint8_t x_75; uint8_t x_76; uint8_t x_77; uint8_t 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; -x_68 = lean_ctor_get_uint8(x_26, 0); -x_69 = lean_ctor_get_uint8(x_26, 1); -x_70 = lean_ctor_get_uint8(x_26, 2); -x_71 = lean_ctor_get_uint8(x_26, 3); -x_72 = lean_ctor_get_uint8(x_26, 4); -x_73 = lean_ctor_get_uint8(x_26, 6); -x_74 = lean_ctor_get_uint8(x_26, 7); -x_75 = lean_ctor_get_uint8(x_26, 8); -x_76 = lean_ctor_get_uint8(x_26, 9); -x_77 = lean_ctor_get_uint8(x_26, 10); -x_78 = lean_ctor_get_uint8(x_26, 11); -x_79 = lean_ctor_get_uint8(x_26, 12); -x_80 = lean_ctor_get_uint8(x_26, 13); -lean_dec(x_26); -x_81 = 2; -x_82 = lean_alloc_ctor(0, 0, 14); -lean_ctor_set_uint8(x_82, 0, x_68); -lean_ctor_set_uint8(x_82, 1, x_69); -lean_ctor_set_uint8(x_82, 2, x_70); -lean_ctor_set_uint8(x_82, 3, x_71); -lean_ctor_set_uint8(x_82, 4, x_72); -lean_ctor_set_uint8(x_82, 5, x_81); -lean_ctor_set_uint8(x_82, 6, x_73); -lean_ctor_set_uint8(x_82, 7, x_74); -lean_ctor_set_uint8(x_82, 8, x_75); -lean_ctor_set_uint8(x_82, 9, x_76); -lean_ctor_set_uint8(x_82, 10, x_77); -lean_ctor_set_uint8(x_82, 11, x_78); -lean_ctor_set_uint8(x_82, 12, x_79); -lean_ctor_set_uint8(x_82, 13, x_80); -x_83 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_83, 0, x_82); -lean_ctor_set(x_83, 1, x_27); -lean_ctor_set(x_83, 2, x_28); -lean_ctor_set(x_83, 3, x_29); -lean_ctor_set(x_83, 4, x_30); -lean_ctor_set(x_83, 5, x_31); +uint8_t x_68; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_68 = !lean_is_exclusive(x_39); +if (x_68 == 0) +{ +return x_39; +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_39, 0); +x_70 = lean_ctor_get(x_39, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_39); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; +} +} +} +else +{ +uint8_t x_72; uint8_t x_73; uint8_t x_74; uint8_t x_75; uint8_t x_76; uint8_t x_77; uint8_t x_78; uint8_t x_79; uint8_t x_80; uint8_t x_81; uint8_t x_82; uint8_t x_83; uint8_t x_84; uint8_t x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; +x_72 = lean_ctor_get_uint8(x_30, 0); +x_73 = lean_ctor_get_uint8(x_30, 1); +x_74 = lean_ctor_get_uint8(x_30, 2); +x_75 = lean_ctor_get_uint8(x_30, 3); +x_76 = lean_ctor_get_uint8(x_30, 4); +x_77 = lean_ctor_get_uint8(x_30, 6); +x_78 = lean_ctor_get_uint8(x_30, 7); +x_79 = lean_ctor_get_uint8(x_30, 8); +x_80 = lean_ctor_get_uint8(x_30, 9); +x_81 = lean_ctor_get_uint8(x_30, 10); +x_82 = lean_ctor_get_uint8(x_30, 11); +x_83 = lean_ctor_get_uint8(x_30, 12); +x_84 = lean_ctor_get_uint8(x_30, 13); +lean_dec(x_30); +x_85 = 2; +x_86 = lean_alloc_ctor(0, 0, 14); +lean_ctor_set_uint8(x_86, 0, x_72); +lean_ctor_set_uint8(x_86, 1, x_73); +lean_ctor_set_uint8(x_86, 2, x_74); +lean_ctor_set_uint8(x_86, 3, x_75); +lean_ctor_set_uint8(x_86, 4, x_76); +lean_ctor_set_uint8(x_86, 5, x_85); +lean_ctor_set_uint8(x_86, 6, x_77); +lean_ctor_set_uint8(x_86, 7, x_78); +lean_ctor_set_uint8(x_86, 8, x_79); +lean_ctor_set_uint8(x_86, 9, x_80); +lean_ctor_set_uint8(x_86, 10, x_81); +lean_ctor_set_uint8(x_86, 11, x_82); +lean_ctor_set_uint8(x_86, 12, x_83); +lean_ctor_set_uint8(x_86, 13, x_84); +x_87 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_87, 0, x_86); +lean_ctor_set(x_87, 1, x_31); +lean_ctor_set(x_87, 2, x_32); +lean_ctor_set(x_87, 3, x_33); +lean_ctor_set(x_87, 4, x_34); +lean_ctor_set(x_87, 5, x_35); lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); @@ -11579,25 +11711,25 @@ lean_inc(x_9); lean_inc(x_8); lean_inc(x_2); lean_inc(x_1); -x_84 = l_Lean_Meta_Simp_tryTheorem_x3f(x_1, x_25, x_2, x_8, x_9, x_83, x_11, x_12, x_13, x_14); -if (lean_obj_tag(x_84) == 0) +x_88 = l_Lean_Meta_Simp_tryTheorem_x3f(x_1, x_28, x_2, x_8, x_9, x_87, x_11, x_12, x_13, x_20); +if (lean_obj_tag(x_88) == 0) { -lean_object* x_85; -x_85 = lean_ctor_get(x_84, 0); -lean_inc(x_85); -if (lean_obj_tag(x_85) == 0) +lean_object* x_89; +x_89 = lean_ctor_get(x_88, 0); +lean_inc(x_89); +if (lean_obj_tag(x_89) == 0) { -lean_object* x_86; size_t x_87; size_t x_88; -x_86 = lean_ctor_get(x_84, 1); -lean_inc(x_86); -lean_dec(x_84); -x_87 = 1; -x_88 = lean_usize_add(x_6, x_87); +lean_object* x_90; size_t x_91; size_t x_92; +x_90 = lean_ctor_get(x_88, 1); +lean_inc(x_90); +lean_dec(x_88); +x_91 = 1; +x_92 = lean_usize_add(x_6, x_91); lean_inc(x_3); { -size_t _tmp_5 = x_88; +size_t _tmp_5 = x_92; lean_object* _tmp_6 = x_3; -lean_object* _tmp_13 = x_86; +lean_object* _tmp_13 = x_90; x_6 = _tmp_5; x_7 = _tmp_6; x_14 = _tmp_13; @@ -11606,7 +11738,7 @@ goto _start; } 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_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; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); @@ -11616,52 +11748,52 @@ lean_dec(x_8); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_90 = lean_ctor_get(x_84, 1); -lean_inc(x_90); -if (lean_is_exclusive(x_84)) { - lean_ctor_release(x_84, 0); - lean_ctor_release(x_84, 1); - x_91 = x_84; +x_94 = lean_ctor_get(x_88, 1); +lean_inc(x_94); +if (lean_is_exclusive(x_88)) { + lean_ctor_release(x_88, 0); + lean_ctor_release(x_88, 1); + x_95 = x_88; } else { - lean_dec_ref(x_84); - x_91 = lean_box(0); + lean_dec_ref(x_88); + x_95 = lean_box(0); } -x_92 = lean_ctor_get(x_85, 0); -lean_inc(x_92); -if (lean_is_exclusive(x_85)) { - lean_ctor_release(x_85, 0); - x_93 = x_85; +x_96 = lean_ctor_get(x_89, 0); +lean_inc(x_96); +if (lean_is_exclusive(x_89)) { + lean_ctor_release(x_89, 0); + x_97 = x_89; } else { - lean_dec_ref(x_85); - x_93 = lean_box(0); + lean_dec_ref(x_89); + x_97 = lean_box(0); } -x_94 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_94, 0, x_92); -if (lean_is_scalar(x_93)) { - x_95 = lean_alloc_ctor(1, 1, 0); -} else { - x_95 = x_93; -} -lean_ctor_set(x_95, 0, x_94); -x_96 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_96, 0, x_95); -x_97 = lean_box(0); -x_98 = lean_alloc_ctor(0, 2, 0); +x_98 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_98, 0, x_96); -lean_ctor_set(x_98, 1, x_97); -if (lean_is_scalar(x_91)) { - x_99 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_97)) { + x_99 = lean_alloc_ctor(1, 1, 0); } else { - x_99 = x_91; + x_99 = x_97; } lean_ctor_set(x_99, 0, x_98); -lean_ctor_set(x_99, 1, x_90); -return x_99; +x_100 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_100, 0, x_99); +x_101 = lean_box(0); +x_102 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_102, 0, x_100); +lean_ctor_set(x_102, 1, x_101); +if (lean_is_scalar(x_95)) { + x_103 = lean_alloc_ctor(0, 2, 0); +} else { + x_103 = x_95; +} +lean_ctor_set(x_103, 0, x_102); +lean_ctor_set(x_103, 1, x_94); +return x_103; } } else { -lean_object* x_100; lean_object* 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_dec(x_13); lean_dec(x_12); lean_dec(x_11); @@ -11671,39 +11803,62 @@ lean_dec(x_8); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_100 = lean_ctor_get(x_84, 0); -lean_inc(x_100); -x_101 = lean_ctor_get(x_84, 1); -lean_inc(x_101); -if (lean_is_exclusive(x_84)) { - lean_ctor_release(x_84, 0); - lean_ctor_release(x_84, 1); - x_102 = x_84; +x_104 = lean_ctor_get(x_88, 0); +lean_inc(x_104); +x_105 = lean_ctor_get(x_88, 1); +lean_inc(x_105); +if (lean_is_exclusive(x_88)) { + lean_ctor_release(x_88, 0); + lean_ctor_release(x_88, 1); + x_106 = x_88; } else { - lean_dec_ref(x_84); - x_102 = lean_box(0); + lean_dec_ref(x_88); + x_106 = lean_box(0); } -if (lean_is_scalar(x_102)) { - x_103 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_106)) { + x_107 = lean_alloc_ctor(1, 2, 0); } else { - x_103 = x_102; + x_107 = x_106; } -lean_ctor_set(x_103, 0, x_100); -lean_ctor_set(x_103, 1, x_101); -return x_103; +lean_ctor_set(x_107, 0, x_104); +lean_ctor_set(x_107, 1, x_105); +return x_107; } } } -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simpMatchCore_x3f___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: +else { -lean_object* x_10; -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_1); -lean_ctor_set(x_10, 1, x_9); -return x_10; +uint8_t x_108; +lean_dec(x_17); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_108 = !lean_is_exclusive(x_18); +if (x_108 == 0) +{ +return x_18; +} +else +{ +lean_object* x_109; lean_object* x_110; lean_object* x_111; +x_109 = lean_ctor_get(x_18, 0); +x_110 = lean_ctor_get(x_18, 1); +lean_inc(x_110); +lean_inc(x_109); +lean_dec(x_18); +x_111 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_111, 0, x_109); +lean_ctor_set(x_111, 1, x_110); +return x_111; +} +} +} } } LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simpMatchCore_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { @@ -11734,7 +11889,7 @@ x_17 = lean_array_get_size(x_15); x_18 = lean_usize_of_nat(x_17); lean_dec(x_17); x_19 = 0; -x_20 = l_Lean_Meta_Simp_rewrite___closed__1; +x_20 = l_Lean_Meta_Simp_rewrite_x3f___closed__1; x_21 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_simpMatchCore_x3f___spec__1(x_2, x_3, x_20, x_15, x_18, x_19, x_20, x_4, x_5, x_6, x_7, x_8, x_9, x_14); lean_dec(x_15); if (lean_obj_tag(x_21) == 0) @@ -11868,21 +12023,6 @@ lean_dec(x_4); return x_17; } } -LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simpMatchCore_x3f___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; -x_10 = l_Lean_Meta_Simp_simpMatchCore_x3f___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_10; -} -} LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at_Lean_Meta_Simp_simpMatch_x3f___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { @@ -12428,28 +12568,25 @@ lean_inc(x_9); lean_inc(x_8); lean_inc(x_2); lean_inc(x_1); -x_21 = l_Lean_Meta_Simp_rewrite(x_1, x_18, x_19, x_2, x_20, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +x_21 = l_Lean_Meta_Simp_rewrite_x3f(x_1, x_18, x_19, x_2, x_20, x_8, x_9, x_10, x_11, x_12, x_13, x_14); if (lean_obj_tag(x_21) == 0) { -lean_object* x_22; lean_object* x_23; +lean_object* x_22; x_22 = lean_ctor_get(x_21, 0); lean_inc(x_22); -x_23 = lean_ctor_get(x_22, 1); -lean_inc(x_23); -if (lean_obj_tag(x_23) == 0) +if (lean_obj_tag(x_22) == 0) { -lean_object* x_24; size_t x_25; size_t x_26; -lean_dec(x_22); -x_24 = lean_ctor_get(x_21, 1); -lean_inc(x_24); +lean_object* x_23; size_t x_24; size_t x_25; +x_23 = lean_ctor_get(x_21, 1); +lean_inc(x_23); lean_dec(x_21); -x_25 = 1; -x_26 = lean_usize_add(x_6, x_25); +x_24 = 1; +x_25 = lean_usize_add(x_6, x_24); lean_inc(x_3); { -size_t _tmp_5 = x_26; +size_t _tmp_5 = x_25; lean_object* _tmp_6 = x_3; -lean_object* _tmp_13 = x_24; +lean_object* _tmp_13 = x_23; x_6 = _tmp_5; x_7 = _tmp_6; x_14 = _tmp_13; @@ -12458,7 +12595,7 @@ goto _start; } else { -uint8_t x_28; +uint8_t x_27; lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); @@ -12468,76 +12605,75 @@ lean_dec(x_8); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_28 = !lean_is_exclusive(x_23); -if (x_28 == 0) +x_27 = !lean_is_exclusive(x_21); +if (x_27 == 0) { -lean_object* x_29; uint8_t x_30; -x_29 = lean_ctor_get(x_23, 0); -lean_dec(x_29); -x_30 = !lean_is_exclusive(x_21); -if (x_30 == 0) +lean_object* x_28; uint8_t x_29; +x_28 = lean_ctor_get(x_21, 0); +lean_dec(x_28); +x_29 = !lean_is_exclusive(x_22); +if (x_29 == 0) { -lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_31 = lean_ctor_get(x_21, 0); -lean_dec(x_31); -x_32 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_32, 0, x_22); -lean_ctor_set(x_23, 0, x_32); -x_33 = lean_box(0); -x_34 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_34, 0, x_23); -lean_ctor_set(x_34, 1, x_33); -lean_ctor_set(x_21, 0, x_34); +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_30 = lean_ctor_get(x_22, 0); +x_31 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_31, 0, x_30); +lean_ctor_set(x_22, 0, x_31); +x_32 = lean_box(0); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_22); +lean_ctor_set(x_33, 1, x_32); +lean_ctor_set(x_21, 0, x_33); return x_21; } else { -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_35 = lean_ctor_get(x_21, 1); -lean_inc(x_35); -lean_dec(x_21); -x_36 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_36, 0, x_22); -lean_ctor_set(x_23, 0, x_36); +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_34 = lean_ctor_get(x_22, 0); +lean_inc(x_34); +lean_dec(x_22); +x_35 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_35, 0, x_34); +x_36 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_36, 0, x_35); x_37 = lean_box(0); x_38 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_38, 0, x_23); +lean_ctor_set(x_38, 0, x_36); lean_ctor_set(x_38, 1, x_37); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_35); -return x_39; +lean_ctor_set(x_21, 0, x_38); +return x_21; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; -lean_dec(x_23); -x_40 = lean_ctor_get(x_21, 1); +lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_39 = lean_ctor_get(x_21, 1); +lean_inc(x_39); +lean_dec(x_21); +x_40 = lean_ctor_get(x_22, 0); lean_inc(x_40); -if (lean_is_exclusive(x_21)) { - lean_ctor_release(x_21, 0); - lean_ctor_release(x_21, 1); - x_41 = x_21; +if (lean_is_exclusive(x_22)) { + lean_ctor_release(x_22, 0); + x_41 = x_22; } else { - lean_dec_ref(x_21); + lean_dec_ref(x_22); x_41 = lean_box(0); } x_42 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_42, 0, x_22); -x_43 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_42, 0, x_40); +if (lean_is_scalar(x_41)) { + x_43 = lean_alloc_ctor(1, 1, 0); +} else { + x_43 = x_41; +} lean_ctor_set(x_43, 0, x_42); x_44 = lean_box(0); x_45 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_45, 0, x_43); lean_ctor_set(x_45, 1, x_44); -if (lean_is_scalar(x_41)) { - x_46 = lean_alloc_ctor(0, 2, 0); -} else { - x_46 = x_41; -} +x_46 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_46, 0, x_45); -lean_ctor_set(x_46, 1, x_40); +lean_ctor_set(x_46, 1, x_39); return x_46; } } @@ -12602,7 +12738,7 @@ x_12 = lean_array_get_size(x_10); x_13 = lean_usize_of_nat(x_12); lean_dec(x_12); x_14 = 0; -x_15 = l_Lean_Meta_Simp_rewrite___closed__1; +x_15 = l_Lean_Meta_Simp_rewrite_x3f___closed__1; lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); @@ -12782,28 +12918,25 @@ lean_inc(x_9); lean_inc(x_8); lean_inc(x_2); lean_inc(x_1); -x_21 = l_Lean_Meta_Simp_rewrite(x_1, x_18, x_19, x_2, x_20, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +x_21 = l_Lean_Meta_Simp_rewrite_x3f(x_1, x_18, x_19, x_2, x_20, x_8, x_9, x_10, x_11, x_12, x_13, x_14); if (lean_obj_tag(x_21) == 0) { -lean_object* x_22; lean_object* x_23; +lean_object* x_22; x_22 = lean_ctor_get(x_21, 0); lean_inc(x_22); -x_23 = lean_ctor_get(x_22, 1); -lean_inc(x_23); -if (lean_obj_tag(x_23) == 0) +if (lean_obj_tag(x_22) == 0) { -lean_object* x_24; size_t x_25; size_t x_26; -lean_dec(x_22); -x_24 = lean_ctor_get(x_21, 1); -lean_inc(x_24); +lean_object* x_23; size_t x_24; size_t x_25; +x_23 = lean_ctor_get(x_21, 1); +lean_inc(x_23); lean_dec(x_21); -x_25 = 1; -x_26 = lean_usize_add(x_6, x_25); +x_24 = 1; +x_25 = lean_usize_add(x_6, x_24); lean_inc(x_3); { -size_t _tmp_5 = x_26; +size_t _tmp_5 = x_25; lean_object* _tmp_6 = x_3; -lean_object* _tmp_13 = x_24; +lean_object* _tmp_13 = x_23; x_6 = _tmp_5; x_7 = _tmp_6; x_14 = _tmp_13; @@ -12812,7 +12945,7 @@ goto _start; } else { -uint8_t x_28; +uint8_t x_27; lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); @@ -12822,76 +12955,75 @@ lean_dec(x_8); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_28 = !lean_is_exclusive(x_23); -if (x_28 == 0) +x_27 = !lean_is_exclusive(x_21); +if (x_27 == 0) { -lean_object* x_29; uint8_t x_30; -x_29 = lean_ctor_get(x_23, 0); -lean_dec(x_29); -x_30 = !lean_is_exclusive(x_21); -if (x_30 == 0) +lean_object* x_28; uint8_t x_29; +x_28 = lean_ctor_get(x_21, 0); +lean_dec(x_28); +x_29 = !lean_is_exclusive(x_22); +if (x_29 == 0) { -lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_31 = lean_ctor_get(x_21, 0); -lean_dec(x_31); -x_32 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_32, 0, x_22); -lean_ctor_set(x_23, 0, x_32); -x_33 = lean_box(0); -x_34 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_34, 0, x_23); -lean_ctor_set(x_34, 1, x_33); -lean_ctor_set(x_21, 0, x_34); +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_30 = lean_ctor_get(x_22, 0); +x_31 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_31, 0, x_30); +lean_ctor_set(x_22, 0, x_31); +x_32 = lean_box(0); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_22); +lean_ctor_set(x_33, 1, x_32); +lean_ctor_set(x_21, 0, x_33); return x_21; } else { -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_35 = lean_ctor_get(x_21, 1); -lean_inc(x_35); -lean_dec(x_21); -x_36 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_36, 0, x_22); -lean_ctor_set(x_23, 0, x_36); +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_34 = lean_ctor_get(x_22, 0); +lean_inc(x_34); +lean_dec(x_22); +x_35 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_35, 0, x_34); +x_36 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_36, 0, x_35); x_37 = lean_box(0); x_38 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_38, 0, x_23); +lean_ctor_set(x_38, 0, x_36); lean_ctor_set(x_38, 1, x_37); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_35); -return x_39; +lean_ctor_set(x_21, 0, x_38); +return x_21; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; -lean_dec(x_23); -x_40 = lean_ctor_get(x_21, 1); +lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_39 = lean_ctor_get(x_21, 1); +lean_inc(x_39); +lean_dec(x_21); +x_40 = lean_ctor_get(x_22, 0); lean_inc(x_40); -if (lean_is_exclusive(x_21)) { - lean_ctor_release(x_21, 0); - lean_ctor_release(x_21, 1); - x_41 = x_21; +if (lean_is_exclusive(x_22)) { + lean_ctor_release(x_22, 0); + x_41 = x_22; } else { - lean_dec_ref(x_21); + lean_dec_ref(x_22); x_41 = lean_box(0); } x_42 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_42, 0, x_22); -x_43 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_42, 0, x_40); +if (lean_is_scalar(x_41)) { + x_43 = lean_alloc_ctor(1, 1, 0); +} else { + x_43 = x_41; +} lean_ctor_set(x_43, 0, x_42); x_44 = lean_box(0); x_45 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_45, 0, x_43); lean_ctor_set(x_45, 1, x_44); -if (lean_is_scalar(x_41)) { - x_46 = lean_alloc_ctor(0, 2, 0); -} else { - x_46 = x_41; -} +x_46 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_46, 0, x_45); -lean_ctor_set(x_46, 1, x_40); +lean_ctor_set(x_46, 1, x_39); return x_46; } } @@ -12941,7 +13073,7 @@ x_12 = lean_array_get_size(x_10); x_13 = lean_usize_of_nat(x_12); lean_dec(x_12); x_14 = 0; -x_15 = l_Lean_Meta_Simp_rewrite___closed__1; +x_15 = l_Lean_Meta_Simp_rewrite_x3f___closed__1; lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); @@ -14128,10 +14260,10 @@ l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___ lean_mark_persistent(l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__2); l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__3 = _init_l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__3(); lean_mark_persistent(l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__3); -l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6___closed__1 = _init_l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6___closed__1(); -lean_mark_persistent(l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6___closed__1); -l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6___closed__2 = _init_l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6___closed__2(); -lean_mark_persistent(l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6___closed__2); +l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7___closed__1 = _init_l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7___closed__1(); +lean_mark_persistent(l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7___closed__1); +l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7___closed__2 = _init_l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7___closed__2(); +lean_mark_persistent(l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7___closed__2); l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___closed__1 = _init_l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___closed__1(); lean_mark_persistent(l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___closed__1); l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___closed__2 = _init_l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___closed__2(); @@ -14146,26 +14278,34 @@ l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___ lean_mark_persistent(l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___closed__6); l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore___closed__1 = _init_l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore___closed__1(); lean_mark_persistent(l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore___closed__1); -l_Lean_Meta_Simp_rewrite___closed__1 = _init_l_Lean_Meta_Simp_rewrite___closed__1(); -lean_mark_persistent(l_Lean_Meta_Simp_rewrite___closed__1); -l_Lean_Meta_Simp_rewrite___closed__2 = _init_l_Lean_Meta_Simp_rewrite___closed__2(); -lean_mark_persistent(l_Lean_Meta_Simp_rewrite___closed__2); -l_Lean_Meta_Simp_rewrite___closed__3 = _init_l_Lean_Meta_Simp_rewrite___closed__3(); -lean_mark_persistent(l_Lean_Meta_Simp_rewrite___closed__3); -l_Lean_Meta_Simp_rewrite___closed__4 = _init_l_Lean_Meta_Simp_rewrite___closed__4(); -lean_mark_persistent(l_Lean_Meta_Simp_rewrite___closed__4); -l_Lean_Meta_Simp_rewrite___closed__5 = _init_l_Lean_Meta_Simp_rewrite___closed__5(); -lean_mark_persistent(l_Lean_Meta_Simp_rewrite___closed__5); -l_Lean_Meta_Simp_rewrite___closed__6 = _init_l_Lean_Meta_Simp_rewrite___closed__6(); -lean_mark_persistent(l_Lean_Meta_Simp_rewrite___closed__6); -l_Lean_Meta_Simp_rewrite___closed__7 = _init_l_Lean_Meta_Simp_rewrite___closed__7(); -lean_mark_persistent(l_Lean_Meta_Simp_rewrite___closed__7); -l_Lean_Meta_Simp_rewrite___closed__8 = _init_l_Lean_Meta_Simp_rewrite___closed__8(); -lean_mark_persistent(l_Lean_Meta_Simp_rewrite___closed__8); -l_Lean_Meta_Simp_rewrite___closed__9 = _init_l_Lean_Meta_Simp_rewrite___closed__9(); -lean_mark_persistent(l_Lean_Meta_Simp_rewrite___closed__9); -l_Lean_Meta_Simp_rewrite___closed__10 = _init_l_Lean_Meta_Simp_rewrite___closed__10(); -lean_mark_persistent(l_Lean_Meta_Simp_rewrite___closed__10); +l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__1 = _init_l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__1(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__1); +l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__2 = _init_l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__2(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__2); +l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__3 = _init_l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__3(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__3); +l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__4 = _init_l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__4(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__4); +l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__5 = _init_l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__5(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__5); +l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__6 = _init_l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__6(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__6); +l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__7 = _init_l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__7(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__7); +l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__8 = _init_l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__8(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__8); +l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__9 = _init_l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__9(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_rewrite_x3f___spec__3___closed__9); +l_Lean_Meta_Simp_rewrite_x3f___closed__1 = _init_l_Lean_Meta_Simp_rewrite_x3f___closed__1(); +lean_mark_persistent(l_Lean_Meta_Simp_rewrite_x3f___closed__1); +l_Lean_Meta_Simp_rewrite_x3f___closed__2 = _init_l_Lean_Meta_Simp_rewrite_x3f___closed__2(); +lean_mark_persistent(l_Lean_Meta_Simp_rewrite_x3f___closed__2); +l_Lean_Meta_Simp_rewrite_x3f___closed__3 = _init_l_Lean_Meta_Simp_rewrite_x3f___closed__3(); +lean_mark_persistent(l_Lean_Meta_Simp_rewrite_x3f___closed__3); +l_Lean_Meta_Simp_rewrite_x3f___closed__4 = _init_l_Lean_Meta_Simp_rewrite_x3f___closed__4(); +lean_mark_persistent(l_Lean_Meta_Simp_rewrite_x3f___closed__4); +l_Lean_Meta_Simp_rewrite_x3f___closed__5 = _init_l_Lean_Meta_Simp_rewrite_x3f___closed__5(); +lean_mark_persistent(l_Lean_Meta_Simp_rewrite_x3f___closed__5); l_Lean_Meta_Simp_rewriteCtorEq_x3f___lambda__1___closed__1 = _init_l_Lean_Meta_Simp_rewriteCtorEq_x3f___lambda__1___closed__1(); lean_mark_persistent(l_Lean_Meta_Simp_rewriteCtorEq_x3f___lambda__1___closed__1); l_Lean_Meta_Simp_rewriteCtorEq_x3f___lambda__1___closed__2 = _init_l_Lean_Meta_Simp_rewriteCtorEq_x3f___lambda__1___closed__2(); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpTheorems.c b/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpTheorems.c index 878a28bc6c..78eb2b531d 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpTheorems.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpTheorems.c @@ -20,20 +20,19 @@ static lean_object* l_Lean_Meta_mkSimpAttr___lambda__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_pre___default; static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta__commandRegister__simp__attr________1___closed__12; lean_object* l_Lean_ScopedEnvExtension_modifyState___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_addMessageContextPartial___at_Lean_Core_instAddMessageContextCoreM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkPropExt(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_SimpTheorems_toUnfoldThms___default___closed__2; size_t lean_usize_add(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_isLemma___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_erase___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_erase___at_Lean_Meta_mkSimpAttr___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__3; LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insert___at_Lean_Meta_addSimpTheoremEntry___spec__5(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheoremsArray_isDeclToUnfold___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_getSimpTheorems(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta__commandRegister__simp__attr________1___closed__33; static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___lambda__3___closed__7; lean_object* l_Lean_stringToMessageData(lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__5; LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_addDeclToUnfold___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_commandRegister__simp__attr_________closed__2; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_SimpTheorems_eraseCore___spec__1(lean_object*, size_t, size_t, lean_object*); @@ -42,7 +41,6 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_SimpTheorems_e lean_object* lean_nat_div(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkForallFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Std_Data_HashMap_0__Std_numBucketsForCapacity(lean_object*); -static lean_object* l_Lean_Meta_SimpTheorems_erase___rarg___closed__4; lean_object* l_Lean_LocalDecl_userName(lean_object*); static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta__commandRegister__simp__attr________1___closed__22; lean_object* l_Lean_throwError___at_Lean_registerTagAttribute___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); @@ -54,11 +52,13 @@ lean_object* lean_array_uget(lean_object*, size_t); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_mkSimpTheoremCore___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_mkSimpAttr___lambda__1___closed__13; LEAN_EXPORT lean_object* l_Lean_Meta_SimpExtension_getTheorems(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_isRflTheorem___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint64_t lean_uint64_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_mkSimpAttr___spec__1(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___closed__6; LEAN_EXPORT lean_object* l_Lean_Meta_addSimpTheoremEntry_updateLemmaNames(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkAppM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_isRflTheorem___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_SimpTheorems_erase___rarg___closed__1; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Meta_Basic_0__Lean_Meta_processPostponedStep___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -73,6 +73,7 @@ static lean_object* l_Lean_ScopedEnvExtension_add___at_Lean_Meta_addSimpTheorem_ LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorem_getName(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_insertVal___at_Lean_Meta_addSimpTheoremEntry___spec__10(lean_object*, lean_object*); size_t lean_usize_sub(size_t, size_t); +lean_object* lean_environment_find(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_addSimpTheorem(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getConstInfo___at_Lean_Meta_mkConstWithFreshMVarLevels___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_SimpTheorem_keys___default___closed__1; @@ -122,11 +123,13 @@ LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_addDeclToUnfold___lambda__2(le LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_SimpTheoremsArray_isDeclToUnfold___spec__1(lean_object*, lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_addDeclToUnfold(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_shift_right(size_t, size_t); +static lean_object* l_Lean_Meta_isRflProofCore___closed__4; lean_object* l_Lean_ScopedEnvExtension_addScopedEntry___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_appArg_x21(lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___closed__8; lean_object* lean_string_utf8_byte_size(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_isRflProof(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___closed__1; LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_Meta_registerSimpAttr___spec__2___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Meta_instInhabitedSimpTheorems___closed__2; @@ -156,11 +159,13 @@ LEAN_EXPORT uint8_t l_Std_PersistentHashMap_contains___at_Lean_Meta_SimpTheorems static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta__commandRegister__simp__attr________1___closed__37; LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Meta_registerSimpAttr___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getAttrParamOptPrio(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__4; static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___lambda__3___closed__12; LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorem_keys___default; lean_object* l_Lean_ConstantInfo_levelParams(lean_object*); static lean_object* l_Lean_Meta_instInhabitedSimpTheorems___closed__1; static lean_object* l_Lean_Meta_mkSimpAttr___lambda__1___closed__19; +LEAN_EXPORT lean_object* l_Lean_Meta_isRflTheorem(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); lean_object* l_Lean_mkProj(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_addSimpTheoremEntry___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -180,12 +185,12 @@ lean_object* lean_st_ref_take(lean_object*, lean_object*); lean_object* l_Lean_ScopedEnvExtension_addLocalEntry___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_insert___at_Lean_NameSSet_insert___spec__2(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_isRflProof___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocessProof(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Meta_registerSimpAttr___spec__4(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta__commandRegister__simp__attr________1___closed__16; LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_addDeclToUnfold___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_createNodes___rarg(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__1; LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_Meta_addSimpTheoremEntry___spec__8(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_add_getName_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___closed__3; @@ -199,6 +204,7 @@ LEAN_EXPORT lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_Meta_addSimp LEAN_EXPORT lean_object* l_Lean_Meta_simpExtension; static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_mkSimpTheoremCore___lambda__2___closed__1; static size_t l_Std_PersistentHashMap_findAux___at_Lean_Meta_addSimpTheoremEntry___spec__3___closed__1; +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__1; static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta__commandRegister__simp__attr________1___closed__20; static lean_object* l_Lean_Meta_instToFormatSimpTheorem___closed__6; lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -219,20 +225,20 @@ lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_contains___at_Lean_Meta_SimpTheorems_erase___spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_getSimpTheorems___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_mkSimpExt___closed__1; +static lean_object* l_Lean_Meta_isRflProofCore___closed__6; static lean_object* l_Lean_Meta_getSimpTheorems___closed__1; uint64_t l_Lean_Name_hash(lean_object*); lean_object* l_Nat_repr(lean_object*); static lean_object* l_Lean_Meta_SimpTheorem_getName___closed__1; static lean_object* l_Lean_Meta_SimpTheorem_getName___closed__2; lean_object* lean_st_mk_ref(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_mkSimpExt___lambda__1(lean_object*, lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__2; lean_object* l_Lean_Syntax_getId(lean_object*); lean_object* l___private_Init_Meta_0__Lean_quoteNameMk(lean_object*); extern lean_object* l_Lean_Expr_instHashableExpr; static lean_object* l_Lean_Meta_mkSimpAttr___lambda__1___closed__11; static lean_object* l_Lean_Meta_commandRegister__simp__attr_________closed__1; -LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4072____spec__1(lean_object*); lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___lambda__2___closed__2; static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___closed__5; @@ -249,8 +255,11 @@ static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems___ LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_erase___at_Lean_Meta_mkSimpAttr___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_mkSimpAttr___lambda__1___closed__20; uint8_t l_Lean_Expr_isAppOfArity(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__2; static lean_object* l_Lean_Meta_SimpTheorems_addDeclToUnfold___lambda__2___closed__1; +static lean_object* l_Lean_Meta_isRflProofCore___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_isPerm___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_isRflProofCore___closed__2; static lean_object* l_Lean_Meta_SimpTheorem_getValue___closed__4; size_t lean_usize_modn(size_t, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___lambda__3___closed__13; @@ -260,11 +269,12 @@ lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_ uint8_t l_Lean_Expr_isConst(lean_object*); uint8_t l_Array_isEmpty___rarg(lean_object*); static lean_object* l_Lean_Meta_instToFormatSimpTheorem___closed__5; +LEAN_EXPORT lean_object* l_Lean_Meta_isRflProofCore___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_isDeclToUnfold___boxed(lean_object*, lean_object*); uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SimpExtension_getTheorems___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4072_(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4355_(lean_object*); size_t lean_usize_mul(size_t, size_t); static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta__commandRegister__simp__attr________1___closed__23; static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___lambda__3___closed__9; @@ -275,6 +285,7 @@ lean_object* lean_whnf(lean_object*, lean_object*, lean_object*, lean_object*, l LEAN_EXPORT lean_object* l_Std_PersistentHashMap_containsAtAux___at_Lean_Meta_SimpTheorems_erase___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_instInhabitedSimpTheorems; static lean_object* l_Lean_Meta_SimpTheorem_getValue___closed__1; +LEAN_EXPORT uint8_t l_Lean_Meta_isRflProofCore(lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_SimpTheorems_addDeclToUnfold___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_DiscrTree_insertCore___at_Lean_Meta_addSimpTheoremEntry___spec__1(lean_object*, lean_object*, lean_object*); @@ -290,7 +301,6 @@ lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_SimpTheoremsArray_isErased___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta__commandRegister__simp__attr________1___closed__34; -static lean_object* l_Lean_Meta_SimpTheorems_erase___rarg___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ScopedEnvExtension_getState___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_mkSimpExt(lean_object*, lean_object*); @@ -316,9 +326,9 @@ static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems___ LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorem_getValue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_String_intercalate(lean_object*, lean_object*); lean_object* l_List_redLength___rarg(lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__4; static lean_object* l_Lean_Meta_commandRegister__simp__attr_________closed__16; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_mkSimpTheoremCore___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__3; static lean_object* l_Lean_Meta_mkSimpAttr___lambda__1___closed__4; lean_object* lean_name_append_after(lean_object*, lean_object*); extern lean_object* l_Lean_Meta_DiscrTree_instInhabitedKey; @@ -339,6 +349,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_ LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); uint8_t lean_usize_dec_le(size_t, size_t); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__3; static lean_object* l_Lean_Meta_mkSimpAttr___lambda__1___closed__10; LEAN_EXPORT lean_object* l_Lean_Meta_registerSimpAttr(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___closed__10; @@ -352,6 +363,7 @@ static lean_object* l_Lean_Meta_mkSimpExt___closed__3; LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_erase___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_checkBadRewrite___closed__1; LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAux___at_Lean_Meta_addSimpTheoremEntry___spec__3(lean_object*, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4355____spec__1___boxed(lean_object*); static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta__commandRegister__simp__attr________1___closed__29; static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_checkBadRewrite___closed__2; lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_removeUnusedArguments_x3f___spec__2___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -385,6 +397,7 @@ lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMe static lean_object* l_Lean_Meta_mkSimpAttr___lambda__1___closed__15; static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta__commandRegister__simp__attr________1___closed__45; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_isRflTheorem___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_checkBadRewrite___closed__3; lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_SimpTheoremsArray_isDeclToUnfold___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -397,6 +410,7 @@ lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, l LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_addSimpTheorem___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*); static lean_object* l_Lean_Meta_DiscrTree_insertCore___at_Lean_Meta_addSimpTheoremEntry___spec__1___closed__2; lean_object* l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_isRflProofCore___closed__5; LEAN_EXPORT lean_object* l_Array_binInsertM___at_Lean_Meta_addSimpTheoremEntry___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); static lean_object* l_Lean_Meta_commandRegister__simp__attr_________closed__14; @@ -417,6 +431,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_mkSimpAttr___lambda__1(lean_object*, lean_o LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_SimpTheorems_addConst___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_instInhabitedSimpTheorem; lean_object* lean_mk_array(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4355____spec__1(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocessProof___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_instToFormatSimpTheorem___closed__2; static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta__commandRegister__simp__attr________1___closed__39; @@ -448,6 +463,7 @@ static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems___ lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); static lean_object* l_Lean_Meta_instToFormatSimpTheorem___closed__4; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_isRflProofCore___closed__3; LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheoremsArray_addTheorem(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_mkSimpAttr___lambda__1___closed__7; static lean_object* l_Lean_Meta_commandRegister__simp__attr_________closed__13; @@ -455,6 +471,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_mkSimpAttr___sp LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_addConst(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_mkSimpAttr___lambda__1___closed__16; lean_object* l_Lean_Expr_getAppFn(lean_object*); +static lean_object* l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_erase___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_simpExtensionMapRef; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_checkBadRewrite(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -463,15 +480,16 @@ LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_Meta_addSim static lean_object* l_Lean_Meta_SimpTheorem_getValue___closed__3; static lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_Meta_addSimpTheoremEntry___spec__6___closed__1; static lean_object* l_Lean_Meta_mkSimpAttr___lambda__1___closed__12; -static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___lambda__1___closed__2; LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Meta_registerSimpAttr___spec__5(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_mkSimpTheorems___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_instToFormatSimpTheorem(lean_object*); uint8_t l_List_isEmpty___rarg(lean_object*); static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta__commandRegister__simp__attr________1___closed__2; static lean_object* l_Lean_Meta_commandRegister__simp__attr_________closed__6; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_instInhabitedSimpTheorem___closed__3; +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_addSimpTheorem___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_usize_to_nat(size_t); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -509,13 +527,14 @@ lean_object* l_Std_PersistentHashMap_erase___at_Lean_Meta_Instances_eraseCore___ uint64_t l_Lean_Meta_DiscrTree_Key_hash(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_containsAux___at_Lean_Meta_SimpTheorems_erase___spec__2___boxed(lean_object*, lean_object*, lean_object*); lean_object* lean_expr_update_const(lean_object*, lean_object*); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__5; static lean_object* l_Lean_Meta_mkSimpAttr___lambda__1___closed__14; static lean_object* l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_insertAux___at_Lean_Meta_addSimpTheoremEntry___spec__9___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_instInhabitedSimpEntry; static lean_object* l_Lean_Meta_instInhabitedSimpEntry___closed__1; +static lean_object* l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__4; LEAN_EXPORT lean_object* l_Lean_Meta_mkSimpAttr___lambda__2___boxed(lean_object*, lean_object*); lean_object* l_Lean_Meta_DiscrTree_instInhabitedTrie(lean_object*); -static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___lambda__1___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta__commandRegister__simp__attr________1___closed__13; static lean_object* l_Lean_Meta_DiscrTree_insertCore___at_Lean_Meta_addSimpTheoremEntry___spec__1___closed__4; @@ -524,7 +543,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_addSimpTheorem_ static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta__commandRegister__simp__attr________1___closed__41; lean_object* l_Lean_Meta_DiscrTree_empty(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheoremsArray_isErased___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4072____spec__1___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorem_levelParams___default; static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta__commandRegister__simp__attr________1___closed__46; lean_object* l_Std_PersistentHashMap_mkCollisionNode___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -624,7 +642,7 @@ x_2 = l_Lean_Meta_SimpTheorem_keys___default___closed__1; x_3 = l_Lean_Meta_instInhabitedSimpTheorem___closed__2; x_4 = lean_unsigned_to_nat(0u); x_5 = 0; -x_6 = lean_alloc_ctor(0, 5, 2); +x_6 = lean_alloc_ctor(0, 5, 3); lean_ctor_set(x_6, 0, x_2); lean_ctor_set(x_6, 1, x_2); lean_ctor_set(x_6, 2, x_3); @@ -632,6 +650,7 @@ lean_ctor_set(x_6, 3, x_4); lean_ctor_set(x_6, 4, x_1); lean_ctor_set_uint8(x_6, sizeof(void*)*5, x_5); lean_ctor_set_uint8(x_6, sizeof(void*)*5 + 1, x_5); +lean_ctor_set_uint8(x_6, sizeof(void*)*5 + 2, x_5); return x_6; } } @@ -690,6 +709,474 @@ lean_dec(x_1); return x_2; } } +static lean_object* _init_l_Lean_Meta_isRflProofCore___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("Eq"); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_isRflProofCore___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Meta_isRflProofCore___closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Meta_isRflProofCore___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("refl"); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_isRflProofCore___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Meta_isRflProofCore___closed__2; +x_2 = l_Lean_Meta_isRflProofCore___closed__3; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Meta_isRflProofCore___closed__5() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("rfl"); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_isRflProofCore___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Meta_isRflProofCore___closed__5; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +LEAN_EXPORT uint8_t l_Lean_Meta_isRflProofCore(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_1) == 7) +{ +if (lean_obj_tag(x_2) == 6) +{ +lean_object* x_3; lean_object* x_4; +x_3 = lean_ctor_get(x_1, 2); +x_4 = lean_ctor_get(x_2, 2); +x_1 = x_3; +x_2 = x_4; +goto _start; +} +else +{ +uint8_t x_6; +x_6 = 0; +return x_6; +} +} +else +{ +lean_object* x_7; lean_object* x_8; uint8_t x_9; +x_7 = l_Lean_Meta_isRflProofCore___closed__2; +x_8 = lean_unsigned_to_nat(3u); +x_9 = l_Lean_Expr_isAppOfArity(x_1, x_7, x_8); +if (x_9 == 0) +{ +uint8_t x_10; +x_10 = 0; +return x_10; +} +else +{ +lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_11 = l_Lean_Meta_isRflProofCore___closed__4; +x_12 = lean_unsigned_to_nat(2u); +x_13 = l_Lean_Expr_isAppOfArity(x_2, x_11, x_12); +if (x_13 == 0) +{ +lean_object* x_14; uint8_t x_15; +x_14 = l_Lean_Meta_isRflProofCore___closed__6; +x_15 = l_Lean_Expr_isAppOfArity(x_2, x_14, x_12); +return x_15; +} +else +{ +uint8_t x_16; +x_16 = 1; +return x_16; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_isRflProofCore___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Lean_Meta_isRflProofCore(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_isRflTheorem___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; lean_object* x_6; uint8_t x_7; +x_5 = lean_ctor_get(x_2, 3); +x_6 = l_Lean_addMessageContextPartial___at_Lean_Core_instAddMessageContextCoreM___spec__1(x_1, x_2, x_3, x_4); +x_7 = !lean_is_exclusive(x_6); +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; +x_8 = lean_ctor_get(x_6, 0); +lean_inc(x_5); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_5); +lean_ctor_set(x_9, 1, x_8); +lean_ctor_set_tag(x_6, 1); +lean_ctor_set(x_6, 0, x_9); +return x_6; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_10 = lean_ctor_get(x_6, 0); +x_11 = lean_ctor_get(x_6, 1); +lean_inc(x_11); +lean_inc(x_10); +lean_dec(x_6); +lean_inc(x_5); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_5); +lean_ctor_set(x_12, 1, x_10); +x_13 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_13, 0, x_12); +lean_ctor_set(x_13, 1, x_11); +return x_13; +} +} +} +static lean_object* _init_l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("unknown constant '"); +return x_1; +} +} +static lean_object* _init_l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("'"); +return x_1; +} +} +static lean_object* _init_l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__3; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; uint8_t x_6; +x_5 = lean_st_ref_get(x_3, x_4); +x_6 = !lean_is_exclusive(x_5); +if (x_6 == 0) +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_7 = lean_ctor_get(x_5, 0); +x_8 = lean_ctor_get(x_5, 1); +x_9 = lean_ctor_get(x_7, 0); +lean_inc(x_9); +lean_dec(x_7); +lean_inc(x_1); +x_10 = lean_environment_find(x_9, x_1); +if (lean_obj_tag(x_10) == 0) +{ +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_free_object(x_5); +x_11 = lean_box(0); +x_12 = l_Lean_mkConst(x_1, x_11); +x_13 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_13, 0, x_12); +x_14 = l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__2; +x_15 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_13); +x_16 = l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__4; +x_17 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_16); +x_18 = l_Lean_throwError___at_Lean_Meta_isRflTheorem___spec__2(x_17, x_2, x_3, x_8); +return x_18; +} +else +{ +lean_object* x_19; +lean_dec(x_1); +x_19 = lean_ctor_get(x_10, 0); +lean_inc(x_19); +lean_dec(x_10); +lean_ctor_set(x_5, 0, x_19); +return x_5; +} +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_20 = lean_ctor_get(x_5, 0); +x_21 = lean_ctor_get(x_5, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_5); +x_22 = lean_ctor_get(x_20, 0); +lean_inc(x_22); +lean_dec(x_20); +lean_inc(x_1); +x_23 = lean_environment_find(x_22, x_1); +if (lean_obj_tag(x_23) == 0) +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_24 = lean_box(0); +x_25 = l_Lean_mkConst(x_1, x_24); +x_26 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_26, 0, x_25); +x_27 = l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__2; +x_28 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_26); +x_29 = l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__4; +x_30 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +x_31 = l_Lean_throwError___at_Lean_Meta_isRflTheorem___spec__2(x_30, x_2, x_3, x_21); +return x_31; +} +else +{ +lean_object* x_32; lean_object* x_33; +lean_dec(x_1); +x_32 = lean_ctor_get(x_23, 0); +lean_inc(x_32); +lean_dec(x_23); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_32); +lean_ctor_set(x_33, 1, x_21); +return x_33; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_isRflTheorem(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1(x_1, x_2, x_3, x_4); +if (lean_obj_tag(x_5) == 0) +{ +lean_object* x_6; +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +if (lean_obj_tag(x_6) == 2) +{ +uint8_t x_7; +x_7 = !lean_is_exclusive(x_5); +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; +x_8 = lean_ctor_get(x_5, 0); +lean_dec(x_8); +x_9 = lean_ctor_get(x_6, 0); +lean_inc(x_9); +lean_dec(x_6); +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_10, 2); +lean_inc(x_11); +lean_dec(x_10); +x_12 = lean_ctor_get(x_9, 1); +lean_inc(x_12); +lean_dec(x_9); +x_13 = l_Lean_Meta_isRflProofCore(x_11, x_12); +lean_dec(x_12); +lean_dec(x_11); +x_14 = lean_box(x_13); +lean_ctor_set(x_5, 0, x_14); +return x_5; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; lean_object* x_21; lean_object* x_22; +x_15 = lean_ctor_get(x_5, 1); +lean_inc(x_15); +lean_dec(x_5); +x_16 = lean_ctor_get(x_6, 0); +lean_inc(x_16); +lean_dec(x_6); +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_17, 2); +lean_inc(x_18); +lean_dec(x_17); +x_19 = lean_ctor_get(x_16, 1); +lean_inc(x_19); +lean_dec(x_16); +x_20 = l_Lean_Meta_isRflProofCore(x_18, x_19); +lean_dec(x_19); +lean_dec(x_18); +x_21 = lean_box(x_20); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_21); +lean_ctor_set(x_22, 1, x_15); +return x_22; +} +} +else +{ +uint8_t x_23; +lean_dec(x_6); +x_23 = !lean_is_exclusive(x_5); +if (x_23 == 0) +{ +lean_object* x_24; uint8_t x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_5, 0); +lean_dec(x_24); +x_25 = 0; +x_26 = lean_box(x_25); +lean_ctor_set(x_5, 0, x_26); +return x_5; +} +else +{ +lean_object* x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; +x_27 = lean_ctor_get(x_5, 1); +lean_inc(x_27); +lean_dec(x_5); +x_28 = 0; +x_29 = lean_box(x_28); +x_30 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_27); +return x_30; +} +} +} +else +{ +uint8_t x_31; +x_31 = !lean_is_exclusive(x_5); +if (x_31 == 0) +{ +return x_5; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_5, 0); +x_33 = lean_ctor_get(x_5, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_5); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_isRflTheorem___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_throwError___at_Lean_Meta_isRflTheorem___spec__2(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_isRflTheorem___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_Meta_isRflTheorem(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_isRflProof(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +if (lean_obj_tag(x_1) == 4) +{ +lean_object* x_5; lean_object* x_6; +x_5 = lean_ctor_get(x_1, 0); +lean_inc(x_5); +lean_dec(x_1); +x_6 = l_Lean_Meta_isRflTheorem(x_5, x_2, x_3, x_4); +return x_6; +} +else +{ +uint8_t x_7; lean_object* x_8; lean_object* x_9; +lean_dec(x_1); +x_7 = 0; +x_8 = lean_box(x_7); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_4); +return x_9; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_isRflProof___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_Meta_isRflProof(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} static lean_object* _init_l_Lean_Meta_instToFormatSimpTheorem___closed__1() { _start: { @@ -2968,7 +3455,7 @@ static lean_object* _init_l_Lean_Meta_SimpTheorems_erase___rarg___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string("'"); +x_1 = lean_mk_string("' does not have [simp] attribute"); return x_1; } } @@ -2981,23 +3468,6 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_Meta_SimpTheorems_erase___rarg___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("' does not have [simp] attribute"); -return x_1; -} -} -static lean_object* _init_l_Lean_Meta_SimpTheorems_erase___rarg___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_SimpTheorems_erase___rarg___closed__3; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_erase___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { @@ -3033,11 +3503,11 @@ x_10 = lean_ctor_get(x_1, 1); lean_inc(x_10); x_11 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_11, 0, x_4); -x_12 = l_Lean_Meta_SimpTheorems_erase___rarg___closed__2; +x_12 = l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__4; x_13 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_13, 0, x_12); lean_ctor_set(x_13, 1, x_11); -x_14 = l_Lean_Meta_SimpTheorems_erase___rarg___closed__4; +x_14 = l_Lean_Meta_SimpTheorems_erase___rarg___closed__2; x_15 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_15, 0, x_13); lean_ctor_set(x_15, 1, x_14); @@ -4267,29 +4737,11 @@ return x_54; } } } -static lean_object* _init_l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___lambda__1___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("Eq"); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___lambda__1___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___lambda__1___closed__1; -x_3 = lean_name_mk_string(x_1, x_2); -return x_3; -} -} LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; lean_object* x_9; uint8_t x_10; -x_8 = l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___lambda__1___closed__2; +x_8 = l_Lean_Meta_isRflProofCore___closed__2; x_9 = lean_unsigned_to_nat(3u); x_10 = l_Lean_Expr_isAppOfArity(x_2, x_8, x_9); if (x_10 == 0) @@ -6507,7 +6959,7 @@ x_13 = l_Lean_Expr_isForall(x_11); if (x_13 == 0) { lean_object* x_14; lean_object* x_15; uint8_t x_16; -x_14 = l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___lambda__1___closed__2; +x_14 = l_Lean_Meta_isRflProofCore___closed__2; x_15 = lean_unsigned_to_nat(3u); x_16 = l_Lean_Expr_isAppOfArity(x_11, x_14, x_15); if (x_16 == 0) @@ -7214,23 +7666,88 @@ return x_15; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_mkSimpTheoremCore___lambda__1(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, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; lean_object* x_16; +lean_object* x_12; lean_object* x_13; lean_object* x_14; x_12 = lean_ctor_get(x_6, 0); x_13 = lean_ctor_get(x_6, 1); +lean_inc(x_1); +x_14 = l_Lean_Meta_isRflProof(x_1, x_9, x_10, x_11); +if (lean_obj_tag(x_14) == 0) +{ +uint8_t x_15; +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; uint8_t x_18; uint8_t x_19; +x_16 = lean_ctor_get(x_14, 0); lean_inc(x_12); -x_14 = lean_alloc_ctor(0, 5, 2); -lean_ctor_set(x_14, 0, x_12); -lean_ctor_set(x_14, 1, x_1); -lean_ctor_set(x_14, 2, x_2); -lean_ctor_set(x_14, 3, x_3); -lean_ctor_set(x_14, 4, x_5); -lean_ctor_set_uint8(x_14, sizeof(void*)*5, x_4); -x_15 = lean_unbox(x_13); -lean_ctor_set_uint8(x_14, sizeof(void*)*5 + 1, x_15); -x_16 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_16, 0, x_14); -lean_ctor_set(x_16, 1, x_11); -return x_16; +x_17 = lean_alloc_ctor(0, 5, 3); +lean_ctor_set(x_17, 0, x_12); +lean_ctor_set(x_17, 1, x_2); +lean_ctor_set(x_17, 2, x_1); +lean_ctor_set(x_17, 3, x_3); +lean_ctor_set(x_17, 4, x_5); +lean_ctor_set_uint8(x_17, sizeof(void*)*5, x_4); +x_18 = lean_unbox(x_13); +lean_ctor_set_uint8(x_17, sizeof(void*)*5 + 1, x_18); +x_19 = lean_unbox(x_16); +lean_dec(x_16); +lean_ctor_set_uint8(x_17, sizeof(void*)*5 + 2, x_19); +lean_ctor_set(x_14, 0, x_17); +return x_14; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; uint8_t x_24; lean_object* x_25; +x_20 = lean_ctor_get(x_14, 0); +x_21 = lean_ctor_get(x_14, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_14); +lean_inc(x_12); +x_22 = lean_alloc_ctor(0, 5, 3); +lean_ctor_set(x_22, 0, x_12); +lean_ctor_set(x_22, 1, x_2); +lean_ctor_set(x_22, 2, x_1); +lean_ctor_set(x_22, 3, x_3); +lean_ctor_set(x_22, 4, x_5); +lean_ctor_set_uint8(x_22, sizeof(void*)*5, x_4); +x_23 = lean_unbox(x_13); +lean_ctor_set_uint8(x_22, sizeof(void*)*5 + 1, x_23); +x_24 = lean_unbox(x_20); +lean_dec(x_20); +lean_ctor_set_uint8(x_22, sizeof(void*)*5 + 2, x_24); +x_25 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_25, 0, x_22); +lean_ctor_set(x_25, 1, x_21); +return x_25; +} +} +else +{ +uint8_t x_26; +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_26 = !lean_is_exclusive(x_14); +if (x_26 == 0) +{ +return x_14; +} +else +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_14, 0); +x_28 = lean_ctor_get(x_14, 1); +lean_inc(x_28); +lean_inc(x_27); +lean_dec(x_14); +x_29 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +return x_29; +} +} } } static lean_object* _init_l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_mkSimpTheoremCore___lambda__2___closed__1() { @@ -7317,7 +7834,7 @@ lean_inc(x_32); x_33 = lean_ctor_get(x_31, 1); lean_inc(x_33); lean_dec(x_31); -x_34 = l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___lambda__1___closed__2; +x_34 = l_Lean_Meta_isRflProofCore___closed__2; x_35 = lean_unsigned_to_nat(3u); x_36 = l_Lean_Expr_isAppOfArity(x_32, x_34, x_35); if (x_36 == 0) @@ -7525,7 +8042,7 @@ lean_inc(x_71); x_72 = lean_ctor_get(x_70, 1); lean_inc(x_72); lean_dec(x_70); -x_73 = l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___lambda__1___closed__2; +x_73 = l_Lean_Meta_isRflProofCore___closed__2; x_74 = lean_unsigned_to_nat(3u); x_75 = l_Lean_Expr_isAppOfArity(x_71, x_73, x_74); if (x_75 == 0) @@ -7832,7 +8349,7 @@ lean_inc(x_138); x_139 = lean_ctor_get(x_137, 1); lean_inc(x_139); lean_dec(x_137); -x_140 = l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___lambda__1___closed__2; +x_140 = l_Lean_Meta_isRflProofCore___closed__2; x_141 = lean_unsigned_to_nat(3u); x_142 = l_Lean_Expr_isAppOfArity(x_138, x_140, x_141); if (x_142 == 0) @@ -8098,8 +8615,8 @@ x_19 = lean_box(x_4); x_20 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_mkSimpTheoremCore___lambda__2___boxed), 12, 7); lean_closure_set(x_20, 0, x_16); lean_closure_set(x_20, 1, x_18); -lean_closure_set(x_20, 2, x_2); -lean_closure_set(x_20, 3, x_3); +lean_closure_set(x_20, 2, x_3); +lean_closure_set(x_20, 3, x_2); lean_closure_set(x_20, 4, x_5); lean_closure_set(x_20, 5, x_19); lean_closure_set(x_20, 6, x_6); @@ -10517,11 +11034,11 @@ lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean lean_dec(x_1); x_10 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_10, 0, x_2); -x_11 = l_Lean_Meta_SimpTheorems_erase___rarg___closed__2; +x_11 = l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__4; x_12 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_12, 0, x_11); lean_ctor_set(x_12, 1, x_10); -x_13 = l_Lean_Meta_SimpTheorems_erase___rarg___closed__4; +x_13 = l_Lean_Meta_SimpTheorems_erase___rarg___closed__2; x_14 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_14, 0, x_12); lean_ctor_set(x_14, 1, x_13); @@ -11622,7 +12139,7 @@ x_7 = l_Lean_registerSimpleScopedEnvExtension___rarg(x_6, x_2); return x_7; } } -LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4072____spec__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4355____spec__1(lean_object* x_1) { _start: { lean_object* x_2; @@ -11630,7 +12147,7 @@ x_2 = l_Std_mkHashMapImp___rarg(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4072_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4355_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5; @@ -11657,11 +12174,11 @@ return x_8; } } } -LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4072____spec__1___boxed(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4355____spec__1___boxed(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = l_Std_mkHashMap___at_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4072____spec__1(x_1); +x_2 = l_Std_mkHashMap___at_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4355____spec__1(x_1); lean_dec(x_1); return x_2; } @@ -12109,7 +12626,7 @@ x_4 = lean_box(x_3); return x_4; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__1() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__1() { _start: { lean_object* x_1; @@ -12117,17 +12634,17 @@ x_1 = lean_mk_string("simp"); return x_1; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__2() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__1; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__3() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__3() { _start: { lean_object* x_1; @@ -12135,17 +12652,17 @@ x_1 = lean_mk_string("Ext"); return x_1; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__4() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__2; -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__3; +x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__2; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__3; x_3 = lean_name_append_after(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__5() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__5() { _start: { lean_object* x_1; @@ -12153,13 +12670,13 @@ x_1 = lean_mk_string("simplification theorem"); return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__2; -x_3 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__5; -x_4 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__4; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__2; +x_3 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__5; +x_4 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__4; x_5 = l_Lean_Meta_registerSimpAttr(x_2, x_3, x_4, x_1); return x_5; } @@ -15834,6 +16351,26 @@ l_Lean_Meta_SimpTheorem_getName___closed__1 = _init_l_Lean_Meta_SimpTheorem_getN lean_mark_persistent(l_Lean_Meta_SimpTheorem_getName___closed__1); l_Lean_Meta_SimpTheorem_getName___closed__2 = _init_l_Lean_Meta_SimpTheorem_getName___closed__2(); lean_mark_persistent(l_Lean_Meta_SimpTheorem_getName___closed__2); +l_Lean_Meta_isRflProofCore___closed__1 = _init_l_Lean_Meta_isRflProofCore___closed__1(); +lean_mark_persistent(l_Lean_Meta_isRflProofCore___closed__1); +l_Lean_Meta_isRflProofCore___closed__2 = _init_l_Lean_Meta_isRflProofCore___closed__2(); +lean_mark_persistent(l_Lean_Meta_isRflProofCore___closed__2); +l_Lean_Meta_isRflProofCore___closed__3 = _init_l_Lean_Meta_isRflProofCore___closed__3(); +lean_mark_persistent(l_Lean_Meta_isRflProofCore___closed__3); +l_Lean_Meta_isRflProofCore___closed__4 = _init_l_Lean_Meta_isRflProofCore___closed__4(); +lean_mark_persistent(l_Lean_Meta_isRflProofCore___closed__4); +l_Lean_Meta_isRflProofCore___closed__5 = _init_l_Lean_Meta_isRflProofCore___closed__5(); +lean_mark_persistent(l_Lean_Meta_isRflProofCore___closed__5); +l_Lean_Meta_isRflProofCore___closed__6 = _init_l_Lean_Meta_isRflProofCore___closed__6(); +lean_mark_persistent(l_Lean_Meta_isRflProofCore___closed__6); +l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__1 = _init_l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__1(); +lean_mark_persistent(l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__1); +l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__2 = _init_l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__2(); +lean_mark_persistent(l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__2); +l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__3 = _init_l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__3(); +lean_mark_persistent(l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__3); +l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__4 = _init_l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__4(); +lean_mark_persistent(l_Lean_getConstInfo___at_Lean_Meta_isRflTheorem___spec__1___closed__4); l_Lean_Meta_instToFormatSimpTheorem___closed__1 = _init_l_Lean_Meta_instToFormatSimpTheorem___closed__1(); lean_mark_persistent(l_Lean_Meta_instToFormatSimpTheorem___closed__1); l_Lean_Meta_instToFormatSimpTheorem___closed__2 = _init_l_Lean_Meta_instToFormatSimpTheorem___closed__2(); @@ -15896,20 +16433,12 @@ l_Lean_Meta_SimpTheorems_erase___rarg___closed__1 = _init_l_Lean_Meta_SimpTheore lean_mark_persistent(l_Lean_Meta_SimpTheorems_erase___rarg___closed__1); l_Lean_Meta_SimpTheorems_erase___rarg___closed__2 = _init_l_Lean_Meta_SimpTheorems_erase___rarg___closed__2(); lean_mark_persistent(l_Lean_Meta_SimpTheorems_erase___rarg___closed__2); -l_Lean_Meta_SimpTheorems_erase___rarg___closed__3 = _init_l_Lean_Meta_SimpTheorems_erase___rarg___closed__3(); -lean_mark_persistent(l_Lean_Meta_SimpTheorems_erase___rarg___closed__3); -l_Lean_Meta_SimpTheorems_erase___rarg___closed__4 = _init_l_Lean_Meta_SimpTheorems_erase___rarg___closed__4(); -lean_mark_persistent(l_Lean_Meta_SimpTheorems_erase___rarg___closed__4); l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_checkBadRewrite___closed__1 = _init_l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_checkBadRewrite___closed__1(); lean_mark_persistent(l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_checkBadRewrite___closed__1); l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_checkBadRewrite___closed__2 = _init_l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_checkBadRewrite___closed__2(); lean_mark_persistent(l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_checkBadRewrite___closed__2); l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_checkBadRewrite___closed__3 = _init_l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_checkBadRewrite___closed__3(); lean_mark_persistent(l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_checkBadRewrite___closed__3); -l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___lambda__1___closed__1 = _init_l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___lambda__1___closed__1(); -lean_mark_persistent(l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___lambda__1___closed__1); -l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___lambda__1___closed__2 = _init_l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___lambda__1___closed__2(); -lean_mark_persistent(l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___lambda__1___closed__2); l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___closed__1 = _init_l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___closed__1(); lean_mark_persistent(l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_shouldPreprocess___closed__1); l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___lambda__1___closed__1 = _init_l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___lambda__1___closed__1(); @@ -16050,24 +16579,24 @@ l_Lean_Meta_mkSimpExt___closed__2 = _init_l_Lean_Meta_mkSimpExt___closed__2(); lean_mark_persistent(l_Lean_Meta_mkSimpExt___closed__2); l_Lean_Meta_mkSimpExt___closed__3 = _init_l_Lean_Meta_mkSimpExt___closed__3(); lean_mark_persistent(l_Lean_Meta_mkSimpExt___closed__3); -if (builtin) {res = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4072_(lean_io_mk_world()); +if (builtin) {res = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4355_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_Meta_simpExtensionMapRef = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_Meta_simpExtensionMapRef); lean_dec_ref(res); }l_Lean_Meta_registerSimpAttr___closed__1 = _init_l_Lean_Meta_registerSimpAttr___closed__1(); lean_mark_persistent(l_Lean_Meta_registerSimpAttr___closed__1); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__1 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__1(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__1); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__2 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__2(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__2); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__3 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__3(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__3); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__4 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__4(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__4); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__5 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__5(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167____closed__5); -if (builtin) {res = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4167_(lean_io_mk_world()); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__1 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__1(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__1); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__2 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__2(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__2); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__3 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__3(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__3); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__4 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__4(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__4); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__5 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__5(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450____closed__5); +if (builtin) {res = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4450_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_Meta_simpExtension = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_Meta_simpExtension); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Split.c b/stage0/stdlib/Lean/Meta/Tactic/Split.c index e695b5a93a..3e5ba242da 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Split.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Split.c @@ -100,6 +100,7 @@ lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_Split_getSimpMatchContext(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_isRflTheorem(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_simpMatchTargetCore___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_HashSetImp_insert___at_Lean_CollectMVars_visit___spec__3(lean_object*, lean_object*); @@ -233,7 +234,7 @@ static lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__7___closed__2 static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_substDiscrEqs___spec__1___closed__8; LEAN_EXPORT lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_3518_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_3536_(lean_object*); LEAN_EXPORT lean_object* l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitTarget_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_reduceRecMatcher_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkConst(lean_object*, lean_object*); @@ -864,425 +865,438 @@ x_17 = lean_ctor_get(x_16, 0); lean_inc(x_17); if (lean_obj_tag(x_17) == 0) { -lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; uint8_t x_25; lean_object* x_26; uint8_t x_27; +lean_object* x_18; lean_object* x_19; x_18 = lean_ctor_get(x_16, 1); lean_inc(x_18); lean_dec(x_16); -x_19 = lean_box(0); lean_inc(x_2); -x_20 = l_Lean_mkConst(x_2, x_19); -x_21 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_21, 0, x_2); -x_22 = l_Lean_Meta_Split_getSimpMatchContext___rarg___closed__1; -x_23 = lean_unsigned_to_nat(1000u); -x_24 = 1; -x_25 = 0; -x_26 = lean_alloc_ctor(0, 5, 2); -lean_ctor_set(x_26, 0, x_22); -lean_ctor_set(x_26, 1, x_22); -lean_ctor_set(x_26, 2, x_20); -lean_ctor_set(x_26, 3, x_23); -lean_ctor_set(x_26, 4, x_21); -lean_ctor_set_uint8(x_26, sizeof(void*)*5, x_24); -lean_ctor_set_uint8(x_26, sizeof(void*)*5 + 1, x_25); -x_27 = !lean_is_exclusive(x_6); -if (x_27 == 0) +x_19 = l_Lean_Meta_isRflTheorem(x_2, x_8, x_9, x_18); +if (lean_obj_tag(x_19) == 0) { -lean_object* x_28; uint8_t x_29; -x_28 = lean_ctor_get(x_6, 0); -x_29 = !lean_is_exclusive(x_28); -if (x_29 == 0) +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; uint8_t x_28; lean_object* x_29; uint8_t x_30; uint8_t x_31; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_box(0); +lean_inc(x_2); +x_23 = l_Lean_mkConst(x_2, x_22); +x_24 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_24, 0, x_2); +x_25 = l_Lean_Meta_Split_getSimpMatchContext___rarg___closed__1; +x_26 = lean_unsigned_to_nat(1000u); +x_27 = 1; +x_28 = 0; +x_29 = lean_alloc_ctor(0, 5, 3); +lean_ctor_set(x_29, 0, x_25); +lean_ctor_set(x_29, 1, x_25); +lean_ctor_set(x_29, 2, x_23); +lean_ctor_set(x_29, 3, x_26); +lean_ctor_set(x_29, 4, x_24); +lean_ctor_set_uint8(x_29, sizeof(void*)*5, x_27); +lean_ctor_set_uint8(x_29, sizeof(void*)*5 + 1, x_28); +x_30 = lean_unbox(x_20); +lean_dec(x_20); +lean_ctor_set_uint8(x_29, sizeof(void*)*5 + 2, x_30); +x_31 = !lean_is_exclusive(x_6); +if (x_31 == 0) { -uint8_t x_30; lean_object* x_31; lean_object* x_32; -x_30 = 2; -lean_ctor_set_uint8(x_28, 5, x_30); -x_31 = l_Lean_Meta_Split_simpMatch_pre___closed__1; +lean_object* x_32; uint8_t x_33; +x_32 = lean_ctor_get(x_6, 0); +x_33 = !lean_is_exclusive(x_32); +if (x_33 == 0) +{ +uint8_t x_34; lean_object* x_35; lean_object* x_36; +x_34 = 2; +lean_ctor_set_uint8(x_32, 5, x_34); +x_35 = l_Lean_Meta_Split_simpMatch_pre___closed__1; lean_inc(x_3); -x_32 = l_Lean_Meta_Simp_tryTheorem_x3f(x_3, x_26, x_31, x_4, x_5, x_6, x_7, x_8, x_9, x_18); -if (lean_obj_tag(x_32) == 0) +x_36 = l_Lean_Meta_Simp_tryTheorem_x3f(x_3, x_29, x_35, x_4, x_5, x_6, x_7, x_8, x_9, x_21); +if (lean_obj_tag(x_36) == 0) { -lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); -if (lean_obj_tag(x_33) == 0) +lean_object* x_37; +x_37 = lean_ctor_get(x_36, 0); +lean_inc(x_37); +if (lean_obj_tag(x_37) == 0) { -uint8_t x_34; -x_34 = !lean_is_exclusive(x_32); -if (x_34 == 0) +uint8_t x_38; +x_38 = !lean_is_exclusive(x_36); +if (x_38 == 0) { -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_35 = lean_ctor_get(x_32, 0); -lean_dec(x_35); -x_36 = lean_box(0); -x_37 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_37, 0, x_3); -lean_ctor_set(x_37, 1, x_36); -x_38 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_38, 0, x_37); -lean_ctor_set(x_32, 0, x_38); -return x_32; -} -else -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_39 = lean_ctor_get(x_32, 1); -lean_inc(x_39); -lean_dec(x_32); +lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_39 = lean_ctor_get(x_36, 0); +lean_dec(x_39); x_40 = lean_box(0); x_41 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_41, 0, x_3); lean_ctor_set(x_41, 1, x_40); x_42 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_42, 0, x_41); -x_43 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_43, 0, x_42); -lean_ctor_set(x_43, 1, x_39); -return x_43; -} +lean_ctor_set(x_36, 0, x_42); +return x_36; } else { -uint8_t x_44; -lean_dec(x_3); -x_44 = !lean_is_exclusive(x_32); -if (x_44 == 0) -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_32, 0); -lean_dec(x_45); -x_46 = lean_ctor_get(x_33, 0); -lean_inc(x_46); -lean_dec(x_33); -x_47 = lean_alloc_ctor(1, 1, 0); +lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_43 = lean_ctor_get(x_36, 1); +lean_inc(x_43); +lean_dec(x_36); +x_44 = lean_box(0); +x_45 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_45, 0, x_3); +lean_ctor_set(x_45, 1, x_44); +x_46 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_46, 0, x_45); +x_47 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_47, 0, x_46); -lean_ctor_set(x_32, 0, x_47); -return x_32; -} -else -{ -lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_48 = lean_ctor_get(x_32, 1); -lean_inc(x_48); -lean_dec(x_32); -x_49 = lean_ctor_get(x_33, 0); -lean_inc(x_49); -lean_dec(x_33); -x_50 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_50, 0, x_49); -x_51 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_51, 0, x_50); -lean_ctor_set(x_51, 1, x_48); -return x_51; -} +lean_ctor_set(x_47, 1, x_43); +return x_47; } } else { -uint8_t x_52; +uint8_t x_48; lean_dec(x_3); -x_52 = !lean_is_exclusive(x_32); -if (x_52 == 0) +x_48 = !lean_is_exclusive(x_36); +if (x_48 == 0) { -return x_32; +lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_49 = lean_ctor_get(x_36, 0); +lean_dec(x_49); +x_50 = lean_ctor_get(x_37, 0); +lean_inc(x_50); +lean_dec(x_37); +x_51 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_51, 0, x_50); +lean_ctor_set(x_36, 0, x_51); +return x_36; } else { -lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_53 = lean_ctor_get(x_32, 0); -x_54 = lean_ctor_get(x_32, 1); -lean_inc(x_54); +lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_52 = lean_ctor_get(x_36, 1); +lean_inc(x_52); +lean_dec(x_36); +x_53 = lean_ctor_get(x_37, 0); lean_inc(x_53); -lean_dec(x_32); -x_55 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_55, 0, x_53); -lean_ctor_set(x_55, 1, x_54); +lean_dec(x_37); +x_54 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_54, 0, x_53); +x_55 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_55, 0, x_54); +lean_ctor_set(x_55, 1, x_52); return x_55; } } } else { -uint8_t x_56; uint8_t x_57; uint8_t x_58; uint8_t x_59; uint8_t x_60; uint8_t x_61; uint8_t x_62; uint8_t x_63; uint8_t x_64; uint8_t x_65; uint8_t x_66; uint8_t x_67; uint8_t x_68; uint8_t x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; -x_56 = lean_ctor_get_uint8(x_28, 0); -x_57 = lean_ctor_get_uint8(x_28, 1); -x_58 = lean_ctor_get_uint8(x_28, 2); -x_59 = lean_ctor_get_uint8(x_28, 3); -x_60 = lean_ctor_get_uint8(x_28, 4); -x_61 = lean_ctor_get_uint8(x_28, 6); -x_62 = lean_ctor_get_uint8(x_28, 7); -x_63 = lean_ctor_get_uint8(x_28, 8); -x_64 = lean_ctor_get_uint8(x_28, 9); -x_65 = lean_ctor_get_uint8(x_28, 10); -x_66 = lean_ctor_get_uint8(x_28, 11); -x_67 = lean_ctor_get_uint8(x_28, 12); -x_68 = lean_ctor_get_uint8(x_28, 13); -lean_dec(x_28); -x_69 = 2; -x_70 = lean_alloc_ctor(0, 0, 14); -lean_ctor_set_uint8(x_70, 0, x_56); -lean_ctor_set_uint8(x_70, 1, x_57); -lean_ctor_set_uint8(x_70, 2, x_58); -lean_ctor_set_uint8(x_70, 3, x_59); -lean_ctor_set_uint8(x_70, 4, x_60); -lean_ctor_set_uint8(x_70, 5, x_69); -lean_ctor_set_uint8(x_70, 6, x_61); -lean_ctor_set_uint8(x_70, 7, x_62); -lean_ctor_set_uint8(x_70, 8, x_63); -lean_ctor_set_uint8(x_70, 9, x_64); -lean_ctor_set_uint8(x_70, 10, x_65); -lean_ctor_set_uint8(x_70, 11, x_66); -lean_ctor_set_uint8(x_70, 12, x_67); -lean_ctor_set_uint8(x_70, 13, x_68); -lean_ctor_set(x_6, 0, x_70); -x_71 = l_Lean_Meta_Split_simpMatch_pre___closed__1; +uint8_t x_56; +lean_dec(x_3); +x_56 = !lean_is_exclusive(x_36); +if (x_56 == 0) +{ +return x_36; +} +else +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_36, 0); +x_58 = lean_ctor_get(x_36, 1); +lean_inc(x_58); +lean_inc(x_57); +lean_dec(x_36); +x_59 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_59, 0, x_57); +lean_ctor_set(x_59, 1, x_58); +return x_59; +} +} +} +else +{ +uint8_t x_60; uint8_t x_61; uint8_t x_62; uint8_t x_63; uint8_t x_64; uint8_t x_65; uint8_t x_66; uint8_t x_67; uint8_t x_68; uint8_t x_69; uint8_t x_70; uint8_t x_71; uint8_t x_72; uint8_t x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; +x_60 = lean_ctor_get_uint8(x_32, 0); +x_61 = lean_ctor_get_uint8(x_32, 1); +x_62 = lean_ctor_get_uint8(x_32, 2); +x_63 = lean_ctor_get_uint8(x_32, 3); +x_64 = lean_ctor_get_uint8(x_32, 4); +x_65 = lean_ctor_get_uint8(x_32, 6); +x_66 = lean_ctor_get_uint8(x_32, 7); +x_67 = lean_ctor_get_uint8(x_32, 8); +x_68 = lean_ctor_get_uint8(x_32, 9); +x_69 = lean_ctor_get_uint8(x_32, 10); +x_70 = lean_ctor_get_uint8(x_32, 11); +x_71 = lean_ctor_get_uint8(x_32, 12); +x_72 = lean_ctor_get_uint8(x_32, 13); +lean_dec(x_32); +x_73 = 2; +x_74 = lean_alloc_ctor(0, 0, 14); +lean_ctor_set_uint8(x_74, 0, x_60); +lean_ctor_set_uint8(x_74, 1, x_61); +lean_ctor_set_uint8(x_74, 2, x_62); +lean_ctor_set_uint8(x_74, 3, x_63); +lean_ctor_set_uint8(x_74, 4, x_64); +lean_ctor_set_uint8(x_74, 5, x_73); +lean_ctor_set_uint8(x_74, 6, x_65); +lean_ctor_set_uint8(x_74, 7, x_66); +lean_ctor_set_uint8(x_74, 8, x_67); +lean_ctor_set_uint8(x_74, 9, x_68); +lean_ctor_set_uint8(x_74, 10, x_69); +lean_ctor_set_uint8(x_74, 11, x_70); +lean_ctor_set_uint8(x_74, 12, x_71); +lean_ctor_set_uint8(x_74, 13, x_72); +lean_ctor_set(x_6, 0, x_74); +x_75 = l_Lean_Meta_Split_simpMatch_pre___closed__1; lean_inc(x_3); -x_72 = l_Lean_Meta_Simp_tryTheorem_x3f(x_3, x_26, x_71, x_4, x_5, x_6, x_7, x_8, x_9, x_18); -if (lean_obj_tag(x_72) == 0) +x_76 = l_Lean_Meta_Simp_tryTheorem_x3f(x_3, x_29, x_75, x_4, x_5, x_6, x_7, x_8, x_9, x_21); +if (lean_obj_tag(x_76) == 0) { -lean_object* x_73; -x_73 = lean_ctor_get(x_72, 0); -lean_inc(x_73); -if (lean_obj_tag(x_73) == 0) +lean_object* x_77; +x_77 = lean_ctor_get(x_76, 0); +lean_inc(x_77); +if (lean_obj_tag(x_77) == 0) { -lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; -x_74 = lean_ctor_get(x_72, 1); -lean_inc(x_74); -if (lean_is_exclusive(x_72)) { - lean_ctor_release(x_72, 0); - lean_ctor_release(x_72, 1); - x_75 = x_72; +lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; +x_78 = lean_ctor_get(x_76, 1); +lean_inc(x_78); +if (lean_is_exclusive(x_76)) { + lean_ctor_release(x_76, 0); + lean_ctor_release(x_76, 1); + x_79 = x_76; } else { - lean_dec_ref(x_72); - x_75 = lean_box(0); + lean_dec_ref(x_76); + x_79 = lean_box(0); } -x_76 = lean_box(0); -x_77 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_77, 0, x_3); -lean_ctor_set(x_77, 1, x_76); -x_78 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_78, 0, x_77); -if (lean_is_scalar(x_75)) { - x_79 = lean_alloc_ctor(0, 2, 0); +x_80 = lean_box(0); +x_81 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_81, 0, x_3); +lean_ctor_set(x_81, 1, x_80); +x_82 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_82, 0, x_81); +if (lean_is_scalar(x_79)) { + x_83 = lean_alloc_ctor(0, 2, 0); } else { - x_79 = x_75; + x_83 = x_79; } -lean_ctor_set(x_79, 0, x_78); -lean_ctor_set(x_79, 1, x_74); -return x_79; -} -else -{ -lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; -lean_dec(x_3); -x_80 = lean_ctor_get(x_72, 1); -lean_inc(x_80); -if (lean_is_exclusive(x_72)) { - lean_ctor_release(x_72, 0); - lean_ctor_release(x_72, 1); - x_81 = x_72; -} else { - lean_dec_ref(x_72); - x_81 = lean_box(0); -} -x_82 = lean_ctor_get(x_73, 0); -lean_inc(x_82); -lean_dec(x_73); -x_83 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_83, 0, x_82); -if (lean_is_scalar(x_81)) { - x_84 = lean_alloc_ctor(0, 2, 0); -} else { - x_84 = x_81; -} -lean_ctor_set(x_84, 0, x_83); -lean_ctor_set(x_84, 1, x_80); -return x_84; -} +lean_ctor_set(x_83, 1, x_78); +return x_83; } else { -lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; +lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_dec(x_3); -x_85 = lean_ctor_get(x_72, 0); -lean_inc(x_85); -x_86 = lean_ctor_get(x_72, 1); +x_84 = lean_ctor_get(x_76, 1); +lean_inc(x_84); +if (lean_is_exclusive(x_76)) { + lean_ctor_release(x_76, 0); + lean_ctor_release(x_76, 1); + x_85 = x_76; +} else { + lean_dec_ref(x_76); + x_85 = lean_box(0); +} +x_86 = lean_ctor_get(x_77, 0); lean_inc(x_86); -if (lean_is_exclusive(x_72)) { - lean_ctor_release(x_72, 0); - lean_ctor_release(x_72, 1); - x_87 = x_72; +lean_dec(x_77); +x_87 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_87, 0, x_86); +if (lean_is_scalar(x_85)) { + x_88 = lean_alloc_ctor(0, 2, 0); } else { - lean_dec_ref(x_72); - x_87 = lean_box(0); + x_88 = x_85; } -if (lean_is_scalar(x_87)) { - x_88 = lean_alloc_ctor(1, 2, 0); -} else { - x_88 = x_87; -} -lean_ctor_set(x_88, 0, x_85); -lean_ctor_set(x_88, 1, x_86); +lean_ctor_set(x_88, 0, x_87); +lean_ctor_set(x_88, 1, x_84); return x_88; } } +else +{ +lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; +lean_dec(x_3); +x_89 = lean_ctor_get(x_76, 0); +lean_inc(x_89); +x_90 = lean_ctor_get(x_76, 1); +lean_inc(x_90); +if (lean_is_exclusive(x_76)) { + lean_ctor_release(x_76, 0); + lean_ctor_release(x_76, 1); + x_91 = x_76; +} else { + lean_dec_ref(x_76); + x_91 = lean_box(0); +} +if (lean_is_scalar(x_91)) { + x_92 = lean_alloc_ctor(1, 2, 0); +} else { + x_92 = x_91; +} +lean_ctor_set(x_92, 0, x_89); +lean_ctor_set(x_92, 1, x_90); +return x_92; +} +} } else { -lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; uint8_t x_95; uint8_t x_96; uint8_t x_97; uint8_t x_98; uint8_t x_99; uint8_t x_100; uint8_t x_101; uint8_t x_102; uint8_t x_103; uint8_t x_104; uint8_t x_105; uint8_t x_106; uint8_t 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; -x_89 = lean_ctor_get(x_6, 0); -x_90 = lean_ctor_get(x_6, 1); -x_91 = lean_ctor_get(x_6, 2); -x_92 = lean_ctor_get(x_6, 3); -x_93 = lean_ctor_get(x_6, 4); -x_94 = lean_ctor_get(x_6, 5); +lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; uint8_t x_99; uint8_t x_100; uint8_t x_101; uint8_t x_102; uint8_t x_103; uint8_t x_104; uint8_t x_105; uint8_t x_106; uint8_t x_107; uint8_t x_108; uint8_t x_109; uint8_t x_110; uint8_t x_111; lean_object* x_112; uint8_t x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; +x_93 = lean_ctor_get(x_6, 0); +x_94 = lean_ctor_get(x_6, 1); +x_95 = lean_ctor_get(x_6, 2); +x_96 = lean_ctor_get(x_6, 3); +x_97 = lean_ctor_get(x_6, 4); +x_98 = lean_ctor_get(x_6, 5); +lean_inc(x_98); +lean_inc(x_97); +lean_inc(x_96); +lean_inc(x_95); lean_inc(x_94); lean_inc(x_93); -lean_inc(x_92); -lean_inc(x_91); -lean_inc(x_90); -lean_inc(x_89); lean_dec(x_6); -x_95 = lean_ctor_get_uint8(x_89, 0); -x_96 = lean_ctor_get_uint8(x_89, 1); -x_97 = lean_ctor_get_uint8(x_89, 2); -x_98 = lean_ctor_get_uint8(x_89, 3); -x_99 = lean_ctor_get_uint8(x_89, 4); -x_100 = lean_ctor_get_uint8(x_89, 6); -x_101 = lean_ctor_get_uint8(x_89, 7); -x_102 = lean_ctor_get_uint8(x_89, 8); -x_103 = lean_ctor_get_uint8(x_89, 9); -x_104 = lean_ctor_get_uint8(x_89, 10); -x_105 = lean_ctor_get_uint8(x_89, 11); -x_106 = lean_ctor_get_uint8(x_89, 12); -x_107 = lean_ctor_get_uint8(x_89, 13); -if (lean_is_exclusive(x_89)) { - x_108 = x_89; +x_99 = lean_ctor_get_uint8(x_93, 0); +x_100 = lean_ctor_get_uint8(x_93, 1); +x_101 = lean_ctor_get_uint8(x_93, 2); +x_102 = lean_ctor_get_uint8(x_93, 3); +x_103 = lean_ctor_get_uint8(x_93, 4); +x_104 = lean_ctor_get_uint8(x_93, 6); +x_105 = lean_ctor_get_uint8(x_93, 7); +x_106 = lean_ctor_get_uint8(x_93, 8); +x_107 = lean_ctor_get_uint8(x_93, 9); +x_108 = lean_ctor_get_uint8(x_93, 10); +x_109 = lean_ctor_get_uint8(x_93, 11); +x_110 = lean_ctor_get_uint8(x_93, 12); +x_111 = lean_ctor_get_uint8(x_93, 13); +if (lean_is_exclusive(x_93)) { + x_112 = x_93; } else { - lean_dec_ref(x_89); - x_108 = lean_box(0); + lean_dec_ref(x_93); + x_112 = lean_box(0); } -x_109 = 2; -if (lean_is_scalar(x_108)) { - x_110 = lean_alloc_ctor(0, 0, 14); +x_113 = 2; +if (lean_is_scalar(x_112)) { + x_114 = lean_alloc_ctor(0, 0, 14); } else { - x_110 = x_108; + x_114 = x_112; } -lean_ctor_set_uint8(x_110, 0, x_95); -lean_ctor_set_uint8(x_110, 1, x_96); -lean_ctor_set_uint8(x_110, 2, x_97); -lean_ctor_set_uint8(x_110, 3, x_98); -lean_ctor_set_uint8(x_110, 4, x_99); -lean_ctor_set_uint8(x_110, 5, x_109); -lean_ctor_set_uint8(x_110, 6, x_100); -lean_ctor_set_uint8(x_110, 7, x_101); -lean_ctor_set_uint8(x_110, 8, x_102); -lean_ctor_set_uint8(x_110, 9, x_103); -lean_ctor_set_uint8(x_110, 10, x_104); -lean_ctor_set_uint8(x_110, 11, x_105); -lean_ctor_set_uint8(x_110, 12, x_106); -lean_ctor_set_uint8(x_110, 13, x_107); -x_111 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_111, 0, x_110); -lean_ctor_set(x_111, 1, x_90); -lean_ctor_set(x_111, 2, x_91); -lean_ctor_set(x_111, 3, x_92); -lean_ctor_set(x_111, 4, x_93); -lean_ctor_set(x_111, 5, x_94); -x_112 = l_Lean_Meta_Split_simpMatch_pre___closed__1; +lean_ctor_set_uint8(x_114, 0, x_99); +lean_ctor_set_uint8(x_114, 1, x_100); +lean_ctor_set_uint8(x_114, 2, x_101); +lean_ctor_set_uint8(x_114, 3, x_102); +lean_ctor_set_uint8(x_114, 4, x_103); +lean_ctor_set_uint8(x_114, 5, x_113); +lean_ctor_set_uint8(x_114, 6, x_104); +lean_ctor_set_uint8(x_114, 7, x_105); +lean_ctor_set_uint8(x_114, 8, x_106); +lean_ctor_set_uint8(x_114, 9, x_107); +lean_ctor_set_uint8(x_114, 10, x_108); +lean_ctor_set_uint8(x_114, 11, x_109); +lean_ctor_set_uint8(x_114, 12, x_110); +lean_ctor_set_uint8(x_114, 13, x_111); +x_115 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_115, 0, x_114); +lean_ctor_set(x_115, 1, x_94); +lean_ctor_set(x_115, 2, x_95); +lean_ctor_set(x_115, 3, x_96); +lean_ctor_set(x_115, 4, x_97); +lean_ctor_set(x_115, 5, x_98); +x_116 = l_Lean_Meta_Split_simpMatch_pre___closed__1; lean_inc(x_3); -x_113 = l_Lean_Meta_Simp_tryTheorem_x3f(x_3, x_26, x_112, x_4, x_5, x_111, x_7, x_8, x_9, x_18); -if (lean_obj_tag(x_113) == 0) +x_117 = l_Lean_Meta_Simp_tryTheorem_x3f(x_3, x_29, x_116, x_4, x_5, x_115, x_7, x_8, x_9, x_21); +if (lean_obj_tag(x_117) == 0) { -lean_object* x_114; -x_114 = lean_ctor_get(x_113, 0); -lean_inc(x_114); -if (lean_obj_tag(x_114) == 0) +lean_object* x_118; +x_118 = lean_ctor_get(x_117, 0); +lean_inc(x_118); +if (lean_obj_tag(x_118) == 0) { -lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; -x_115 = lean_ctor_get(x_113, 1); -lean_inc(x_115); -if (lean_is_exclusive(x_113)) { - lean_ctor_release(x_113, 0); - lean_ctor_release(x_113, 1); - x_116 = x_113; +lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; +x_119 = lean_ctor_get(x_117, 1); +lean_inc(x_119); +if (lean_is_exclusive(x_117)) { + lean_ctor_release(x_117, 0); + lean_ctor_release(x_117, 1); + x_120 = x_117; } else { - lean_dec_ref(x_113); - x_116 = lean_box(0); + lean_dec_ref(x_117); + x_120 = lean_box(0); } -x_117 = lean_box(0); -x_118 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_118, 0, x_3); -lean_ctor_set(x_118, 1, x_117); -x_119 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_119, 0, x_118); -if (lean_is_scalar(x_116)) { - x_120 = lean_alloc_ctor(0, 2, 0); +x_121 = lean_box(0); +x_122 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_122, 0, x_3); +lean_ctor_set(x_122, 1, x_121); +x_123 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_123, 0, x_122); +if (lean_is_scalar(x_120)) { + x_124 = lean_alloc_ctor(0, 2, 0); } else { - x_120 = x_116; + x_124 = x_120; } -lean_ctor_set(x_120, 0, x_119); -lean_ctor_set(x_120, 1, x_115); -return x_120; -} -else -{ -lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; -lean_dec(x_3); -x_121 = lean_ctor_get(x_113, 1); -lean_inc(x_121); -if (lean_is_exclusive(x_113)) { - lean_ctor_release(x_113, 0); - lean_ctor_release(x_113, 1); - x_122 = x_113; -} else { - lean_dec_ref(x_113); - x_122 = lean_box(0); -} -x_123 = lean_ctor_get(x_114, 0); -lean_inc(x_123); -lean_dec(x_114); -x_124 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_124, 0, x_123); -if (lean_is_scalar(x_122)) { - x_125 = lean_alloc_ctor(0, 2, 0); -} else { - x_125 = x_122; -} -lean_ctor_set(x_125, 0, x_124); -lean_ctor_set(x_125, 1, x_121); -return x_125; -} +lean_ctor_set(x_124, 1, x_119); +return x_124; } else { -lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; +lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_dec(x_3); -x_126 = lean_ctor_get(x_113, 0); -lean_inc(x_126); -x_127 = lean_ctor_get(x_113, 1); +x_125 = lean_ctor_get(x_117, 1); +lean_inc(x_125); +if (lean_is_exclusive(x_117)) { + lean_ctor_release(x_117, 0); + lean_ctor_release(x_117, 1); + x_126 = x_117; +} else { + lean_dec_ref(x_117); + x_126 = lean_box(0); +} +x_127 = lean_ctor_get(x_118, 0); lean_inc(x_127); -if (lean_is_exclusive(x_113)) { - lean_ctor_release(x_113, 0); - lean_ctor_release(x_113, 1); - x_128 = x_113; +lean_dec(x_118); +x_128 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_128, 0, x_127); +if (lean_is_scalar(x_126)) { + x_129 = lean_alloc_ctor(0, 2, 0); } else { - lean_dec_ref(x_113); - x_128 = lean_box(0); + x_129 = x_126; } -if (lean_is_scalar(x_128)) { - x_129 = lean_alloc_ctor(1, 2, 0); -} else { - x_129 = x_128; -} -lean_ctor_set(x_129, 0, x_126); -lean_ctor_set(x_129, 1, x_127); +lean_ctor_set(x_129, 0, x_128); +lean_ctor_set(x_129, 1, x_125); return x_129; } } +else +{ +lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; +lean_dec(x_3); +x_130 = lean_ctor_get(x_117, 0); +lean_inc(x_130); +x_131 = lean_ctor_get(x_117, 1); +lean_inc(x_131); +if (lean_is_exclusive(x_117)) { + lean_ctor_release(x_117, 0); + lean_ctor_release(x_117, 1); + x_132 = x_117; +} else { + lean_dec_ref(x_117); + x_132 = lean_box(0); +} +if (lean_is_scalar(x_132)) { + x_133 = lean_alloc_ctor(1, 2, 0); +} else { + x_133 = x_132; +} +lean_ctor_set(x_133, 0, x_130); +lean_ctor_set(x_133, 1, x_131); +return x_133; +} +} } else { -uint8_t x_130; +uint8_t x_134; lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -1291,49 +1305,29 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_130 = !lean_is_exclusive(x_16); -if (x_130 == 0) +x_134 = !lean_is_exclusive(x_19); +if (x_134 == 0) { -lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; -x_131 = lean_ctor_get(x_16, 0); -lean_dec(x_131); -x_132 = lean_ctor_get(x_17, 0); -lean_inc(x_132); -lean_dec(x_17); -x_133 = lean_box(0); -x_134 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_134, 0, x_132); -lean_ctor_set(x_134, 1, x_133); -x_135 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_135, 0, x_134); -lean_ctor_set(x_16, 0, x_135); -return x_16; +return x_19; } else { -lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; -x_136 = lean_ctor_get(x_16, 1); +lean_object* x_135; lean_object* x_136; lean_object* x_137; +x_135 = lean_ctor_get(x_19, 0); +x_136 = lean_ctor_get(x_19, 1); lean_inc(x_136); -lean_dec(x_16); -x_137 = lean_ctor_get(x_17, 0); -lean_inc(x_137); -lean_dec(x_17); -x_138 = lean_box(0); -x_139 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_139, 0, x_137); -lean_ctor_set(x_139, 1, x_138); -x_140 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_140, 0, x_139); -x_141 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_141, 0, x_140); -lean_ctor_set(x_141, 1, x_136); -return x_141; +lean_inc(x_135); +lean_dec(x_19); +x_137 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_137, 0, x_135); +lean_ctor_set(x_137, 1, x_136); +return x_137; } } } else { -uint8_t x_142; +uint8_t x_138; lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -1342,23 +1336,74 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_142 = !lean_is_exclusive(x_16); -if (x_142 == 0) +x_138 = !lean_is_exclusive(x_16); +if (x_138 == 0) { +lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; +x_139 = lean_ctor_get(x_16, 0); +lean_dec(x_139); +x_140 = lean_ctor_get(x_17, 0); +lean_inc(x_140); +lean_dec(x_17); +x_141 = lean_box(0); +x_142 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_142, 0, x_140); +lean_ctor_set(x_142, 1, x_141); +x_143 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_143, 0, x_142); +lean_ctor_set(x_16, 0, x_143); return x_16; } else { -lean_object* x_143; lean_object* x_144; lean_object* x_145; -x_143 = lean_ctor_get(x_16, 0); +lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; x_144 = lean_ctor_get(x_16, 1); lean_inc(x_144); -lean_inc(x_143); lean_dec(x_16); -x_145 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_145, 0, x_143); -lean_ctor_set(x_145, 1, x_144); -return x_145; +x_145 = lean_ctor_get(x_17, 0); +lean_inc(x_145); +lean_dec(x_17); +x_146 = lean_box(0); +x_147 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_147, 0, x_145); +lean_ctor_set(x_147, 1, x_146); +x_148 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_148, 0, x_147); +x_149 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_149, 0, x_148); +lean_ctor_set(x_149, 1, x_144); +return x_149; +} +} +} +else +{ +uint8_t x_150; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_150 = !lean_is_exclusive(x_16); +if (x_150 == 0) +{ +return x_16; +} +else +{ +lean_object* x_151; lean_object* x_152; lean_object* x_153; +x_151 = lean_ctor_get(x_16, 0); +x_152 = lean_ctor_get(x_16, 1); +lean_inc(x_152); +lean_inc(x_151); +lean_dec(x_16); +x_153 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_153, 0, x_151); +lean_ctor_set(x_153, 1, x_152); +return x_153; } } } @@ -8603,7 +8648,7 @@ x_10 = l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitTarget_x3f___spec__1(x_9, x return x_10; } } -LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_3518_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_3536_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -8751,7 +8796,7 @@ l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitTarget_x3f___spec__1___at_Lean_Met lean_mark_persistent(l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitTarget_x3f___spec__1___at_Lean_Meta_splitTarget_x3f___spec__2___closed__1); l_Lean_Meta_splitLocalDecl_x3f___lambda__1___closed__1 = _init_l_Lean_Meta_splitLocalDecl_x3f___lambda__1___closed__1(); lean_mark_persistent(l_Lean_Meta_splitLocalDecl_x3f___lambda__1___closed__1); -res = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_3518_(lean_io_mk_world()); +res = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_3536_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Unfold.c b/stage0/stdlib/Lean/Meta/Tactic/Unfold.c index 5d9238d05d..fafe5fac30 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Unfold.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Unfold.c @@ -24,6 +24,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_unfoldTarget___lambda__1(lean_object*, lean static lean_object* l_Lean_Meta_unfold___closed__1; static lean_object* l_Lean_Meta_unfoldLocalDecl___lambda__1___closed__3; static lean_object* l_panic___at_Lean_Meta_unfoldLocalDecl___spec__1___closed__1; +lean_object* l_Lean_Meta_isRflTheorem(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_Simp_neutralConfig; lean_object* l_Lean_Meta_getMVarType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_unfold_pre___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -182,257 +183,235 @@ return x_1; LEAN_EXPORT lean_object* l_Lean_Meta_unfold_pre(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; uint8_t 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; uint8_t x_24; -x_10 = lean_box(0); +lean_object* x_10; lean_inc(x_1); -x_11 = l_Lean_mkConst(x_1, x_10); -x_12 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_12, 0, x_1); -x_13 = l___private_Lean_Meta_Tactic_Unfold_0__Lean_Meta_getSimpUnfoldContext___rarg___closed__1; -x_14 = lean_unsigned_to_nat(1000u); -x_15 = 1; -x_16 = 0; -x_17 = lean_alloc_ctor(0, 5, 2); -lean_ctor_set(x_17, 0, x_13); -lean_ctor_set(x_17, 1, x_13); -lean_ctor_set(x_17, 2, x_11); -lean_ctor_set(x_17, 3, x_14); -lean_ctor_set(x_17, 4, x_12); -lean_ctor_set_uint8(x_17, sizeof(void*)*5, x_15); -lean_ctor_set_uint8(x_17, sizeof(void*)*5 + 1, x_16); -x_18 = lean_ctor_get(x_5, 0); -lean_inc(x_18); -x_19 = lean_ctor_get(x_5, 1); -lean_inc(x_19); -x_20 = lean_ctor_get(x_5, 2); -lean_inc(x_20); -x_21 = lean_ctor_get(x_5, 3); -lean_inc(x_21); -x_22 = lean_ctor_get(x_5, 4); -lean_inc(x_22); -x_23 = lean_ctor_get(x_5, 5); -lean_inc(x_23); -x_24 = !lean_is_exclusive(x_18); -if (x_24 == 0) +x_10 = l_Lean_Meta_isRflTheorem(x_1, x_7, x_8, x_9); +if (lean_obj_tag(x_10) == 0) { -uint8_t x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_25 = 2; -lean_ctor_set_uint8(x_18, 5, x_25); -x_26 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_26, 0, x_18); -lean_ctor_set(x_26, 1, x_19); -lean_ctor_set(x_26, 2, x_20); -lean_ctor_set(x_26, 3, x_21); -lean_ctor_set(x_26, 4, x_22); -lean_ctor_set(x_26, 5, x_23); -x_27 = l_Lean_Meta_unfold_pre___closed__1; +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_18; uint8_t x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; +x_11 = lean_ctor_get(x_10, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); +lean_dec(x_10); +x_13 = lean_box(0); +lean_inc(x_1); +x_14 = l_Lean_mkConst(x_1, x_13); +x_15 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_15, 0, x_1); +x_16 = l___private_Lean_Meta_Tactic_Unfold_0__Lean_Meta_getSimpUnfoldContext___rarg___closed__1; +x_17 = lean_unsigned_to_nat(1000u); +x_18 = 1; +x_19 = 0; +x_20 = lean_alloc_ctor(0, 5, 3); +lean_ctor_set(x_20, 0, x_16); +lean_ctor_set(x_20, 1, x_16); +lean_ctor_set(x_20, 2, x_14); +lean_ctor_set(x_20, 3, x_17); +lean_ctor_set(x_20, 4, x_15); +lean_ctor_set_uint8(x_20, sizeof(void*)*5, x_18); +lean_ctor_set_uint8(x_20, sizeof(void*)*5 + 1, x_19); +x_21 = lean_unbox(x_11); +lean_dec(x_11); +lean_ctor_set_uint8(x_20, sizeof(void*)*5 + 2, x_21); +x_22 = lean_ctor_get(x_5, 0); +lean_inc(x_22); +x_23 = lean_ctor_get(x_5, 1); +lean_inc(x_23); +x_24 = lean_ctor_get(x_5, 2); +lean_inc(x_24); +x_25 = lean_ctor_get(x_5, 3); +lean_inc(x_25); +x_26 = lean_ctor_get(x_5, 4); +lean_inc(x_26); +x_27 = lean_ctor_get(x_5, 5); +lean_inc(x_27); +x_28 = !lean_is_exclusive(x_22); +if (x_28 == 0) +{ +uint8_t x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_29 = 2; +lean_ctor_set_uint8(x_22, 5, x_29); +x_30 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_30, 0, x_22); +lean_ctor_set(x_30, 1, x_23); +lean_ctor_set(x_30, 2, x_24); +lean_ctor_set(x_30, 3, x_25); +lean_ctor_set(x_30, 4, x_26); +lean_ctor_set(x_30, 5, x_27); +x_31 = l_Lean_Meta_unfold_pre___closed__1; lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_28 = l_Lean_Meta_Simp_tryTheorem_x3f(x_2, x_17, x_27, x_3, x_4, x_26, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_28) == 0) +x_32 = l_Lean_Meta_Simp_tryTheorem_x3f(x_2, x_20, x_31, x_3, x_4, x_30, x_6, x_7, x_8, x_12); +if (lean_obj_tag(x_32) == 0) { -lean_object* x_29; -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -if (lean_obj_tag(x_29) == 0) +lean_object* x_33; +x_33 = lean_ctor_get(x_32, 0); +lean_inc(x_33); +if (lean_obj_tag(x_33) == 0) { -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_28, 1); -lean_inc(x_30); -lean_dec(x_28); -x_31 = lean_box(0); -x_32 = l_Lean_Meta_unfold_pre___lambda__2(x_2, x_31, x_3, x_4, x_5, x_6, x_7, x_8, x_30); +lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = lean_box(0); +x_36 = l_Lean_Meta_unfold_pre___lambda__2(x_2, x_35, x_3, x_4, x_5, x_6, x_7, x_8, x_34); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); +return x_36; +} +else +{ +uint8_t x_37; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_37 = !lean_is_exclusive(x_32); +if (x_37 == 0) +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_32, 0); +lean_dec(x_38); +x_39 = lean_ctor_get(x_33, 0); +lean_inc(x_39); +lean_dec(x_33); +x_40 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_32, 0, x_40); return x_32; } else { -uint8_t x_33; -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_33 = !lean_is_exclusive(x_28); -if (x_33 == 0) -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_28, 0); -lean_dec(x_34); -x_35 = lean_ctor_get(x_29, 0); -lean_inc(x_35); -lean_dec(x_29); -x_36 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_36, 0, x_35); -lean_ctor_set(x_28, 0, x_36); -return x_28; -} -else -{ -lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_37 = lean_ctor_get(x_28, 1); -lean_inc(x_37); -lean_dec(x_28); -x_38 = lean_ctor_get(x_29, 0); -lean_inc(x_38); -lean_dec(x_29); -x_39 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_39, 0, x_38); -x_40 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_37); -return x_40; -} -} -} -else -{ -uint8_t x_41; -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_41 = !lean_is_exclusive(x_28); -if (x_41 == 0) -{ -return x_28; -} -else -{ -lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_42 = lean_ctor_get(x_28, 0); -x_43 = lean_ctor_get(x_28, 1); -lean_inc(x_43); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_32, 1); +lean_inc(x_41); +lean_dec(x_32); +x_42 = lean_ctor_get(x_33, 0); lean_inc(x_42); -lean_dec(x_28); -x_44 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_44, 0, x_42); -lean_ctor_set(x_44, 1, x_43); +lean_dec(x_33); +x_43 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_43, 0, x_42); +x_44 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_44, 0, x_43); +lean_ctor_set(x_44, 1, x_41); return x_44; } } } else { -uint8_t x_45; uint8_t x_46; uint8_t x_47; uint8_t x_48; uint8_t x_49; uint8_t x_50; uint8_t x_51; uint8_t x_52; uint8_t x_53; uint8_t x_54; uint8_t x_55; uint8_t x_56; uint8_t x_57; uint8_t x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; -x_45 = lean_ctor_get_uint8(x_18, 0); -x_46 = lean_ctor_get_uint8(x_18, 1); -x_47 = lean_ctor_get_uint8(x_18, 2); -x_48 = lean_ctor_get_uint8(x_18, 3); -x_49 = lean_ctor_get_uint8(x_18, 4); -x_50 = lean_ctor_get_uint8(x_18, 6); -x_51 = lean_ctor_get_uint8(x_18, 7); -x_52 = lean_ctor_get_uint8(x_18, 8); -x_53 = lean_ctor_get_uint8(x_18, 9); -x_54 = lean_ctor_get_uint8(x_18, 10); -x_55 = lean_ctor_get_uint8(x_18, 11); -x_56 = lean_ctor_get_uint8(x_18, 12); -x_57 = lean_ctor_get_uint8(x_18, 13); -lean_dec(x_18); -x_58 = 2; -x_59 = lean_alloc_ctor(0, 0, 14); -lean_ctor_set_uint8(x_59, 0, x_45); -lean_ctor_set_uint8(x_59, 1, x_46); -lean_ctor_set_uint8(x_59, 2, x_47); -lean_ctor_set_uint8(x_59, 3, x_48); -lean_ctor_set_uint8(x_59, 4, x_49); -lean_ctor_set_uint8(x_59, 5, x_58); -lean_ctor_set_uint8(x_59, 6, x_50); -lean_ctor_set_uint8(x_59, 7, x_51); -lean_ctor_set_uint8(x_59, 8, x_52); -lean_ctor_set_uint8(x_59, 9, x_53); -lean_ctor_set_uint8(x_59, 10, x_54); -lean_ctor_set_uint8(x_59, 11, x_55); -lean_ctor_set_uint8(x_59, 12, x_56); -lean_ctor_set_uint8(x_59, 13, x_57); -x_60 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_19); -lean_ctor_set(x_60, 2, x_20); -lean_ctor_set(x_60, 3, x_21); -lean_ctor_set(x_60, 4, x_22); -lean_ctor_set(x_60, 5, x_23); -x_61 = l_Lean_Meta_unfold_pre___closed__1; +uint8_t x_45; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_45 = !lean_is_exclusive(x_32); +if (x_45 == 0) +{ +return x_32; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_32, 0); +x_47 = lean_ctor_get(x_32, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_32); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; +} +} +} +else +{ +uint8_t x_49; uint8_t x_50; uint8_t x_51; uint8_t x_52; uint8_t x_53; uint8_t x_54; uint8_t x_55; uint8_t x_56; uint8_t x_57; uint8_t x_58; uint8_t x_59; uint8_t x_60; uint8_t x_61; uint8_t x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_49 = lean_ctor_get_uint8(x_22, 0); +x_50 = lean_ctor_get_uint8(x_22, 1); +x_51 = lean_ctor_get_uint8(x_22, 2); +x_52 = lean_ctor_get_uint8(x_22, 3); +x_53 = lean_ctor_get_uint8(x_22, 4); +x_54 = lean_ctor_get_uint8(x_22, 6); +x_55 = lean_ctor_get_uint8(x_22, 7); +x_56 = lean_ctor_get_uint8(x_22, 8); +x_57 = lean_ctor_get_uint8(x_22, 9); +x_58 = lean_ctor_get_uint8(x_22, 10); +x_59 = lean_ctor_get_uint8(x_22, 11); +x_60 = lean_ctor_get_uint8(x_22, 12); +x_61 = lean_ctor_get_uint8(x_22, 13); +lean_dec(x_22); +x_62 = 2; +x_63 = lean_alloc_ctor(0, 0, 14); +lean_ctor_set_uint8(x_63, 0, x_49); +lean_ctor_set_uint8(x_63, 1, x_50); +lean_ctor_set_uint8(x_63, 2, x_51); +lean_ctor_set_uint8(x_63, 3, x_52); +lean_ctor_set_uint8(x_63, 4, x_53); +lean_ctor_set_uint8(x_63, 5, x_62); +lean_ctor_set_uint8(x_63, 6, x_54); +lean_ctor_set_uint8(x_63, 7, x_55); +lean_ctor_set_uint8(x_63, 8, x_56); +lean_ctor_set_uint8(x_63, 9, x_57); +lean_ctor_set_uint8(x_63, 10, x_58); +lean_ctor_set_uint8(x_63, 11, x_59); +lean_ctor_set_uint8(x_63, 12, x_60); +lean_ctor_set_uint8(x_63, 13, x_61); +x_64 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_64, 0, x_63); +lean_ctor_set(x_64, 1, x_23); +lean_ctor_set(x_64, 2, x_24); +lean_ctor_set(x_64, 3, x_25); +lean_ctor_set(x_64, 4, x_26); +lean_ctor_set(x_64, 5, x_27); +x_65 = l_Lean_Meta_unfold_pre___closed__1; lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_62 = l_Lean_Meta_Simp_tryTheorem_x3f(x_2, x_17, x_61, x_3, x_4, x_60, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_62) == 0) +x_66 = l_Lean_Meta_Simp_tryTheorem_x3f(x_2, x_20, x_65, x_3, x_4, x_64, x_6, x_7, x_8, x_12); +if (lean_obj_tag(x_66) == 0) { -lean_object* x_63; -x_63 = lean_ctor_get(x_62, 0); -lean_inc(x_63); -if (lean_obj_tag(x_63) == 0) -{ -lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_62, 1); -lean_inc(x_64); -lean_dec(x_62); -x_65 = lean_box(0); -x_66 = l_Lean_Meta_unfold_pre___lambda__2(x_2, x_65, x_3, x_4, x_5, x_6, x_7, x_8, x_64); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -return x_66; -} -else -{ -lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_67 = lean_ctor_get(x_62, 1); +lean_object* x_67; +x_67 = lean_ctor_get(x_66, 0); lean_inc(x_67); -if (lean_is_exclusive(x_62)) { - lean_ctor_release(x_62, 0); - lean_ctor_release(x_62, 1); - x_68 = x_62; -} else { - lean_dec_ref(x_62); - x_68 = lean_box(0); -} -x_69 = lean_ctor_get(x_63, 0); -lean_inc(x_69); -lean_dec(x_63); -x_70 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_70, 0, x_69); -if (lean_is_scalar(x_68)) { - x_71 = lean_alloc_ctor(0, 2, 0); -} else { - x_71 = x_68; -} -lean_ctor_set(x_71, 0, x_70); -lean_ctor_set(x_71, 1, x_67); -return x_71; -} +if (lean_obj_tag(x_67) == 0) +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; +x_68 = lean_ctor_get(x_66, 1); +lean_inc(x_68); +lean_dec(x_66); +x_69 = lean_box(0); +x_70 = l_Lean_Meta_unfold_pre___lambda__2(x_2, x_69, x_3, x_4, x_5, x_6, x_7, x_8, x_68); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_70; } else { -lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; +lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -440,28 +419,94 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_72 = lean_ctor_get(x_62, 0); -lean_inc(x_72); -x_73 = lean_ctor_get(x_62, 1); +x_71 = lean_ctor_get(x_66, 1); +lean_inc(x_71); +if (lean_is_exclusive(x_66)) { + lean_ctor_release(x_66, 0); + lean_ctor_release(x_66, 1); + x_72 = x_66; +} else { + lean_dec_ref(x_66); + x_72 = lean_box(0); +} +x_73 = lean_ctor_get(x_67, 0); lean_inc(x_73); -if (lean_is_exclusive(x_62)) { - lean_ctor_release(x_62, 0); - lean_ctor_release(x_62, 1); - x_74 = x_62; +lean_dec(x_67); +x_74 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_74, 0, x_73); +if (lean_is_scalar(x_72)) { + x_75 = lean_alloc_ctor(0, 2, 0); } else { - lean_dec_ref(x_62); - x_74 = lean_box(0); + x_75 = x_72; } -if (lean_is_scalar(x_74)) { - x_75 = lean_alloc_ctor(1, 2, 0); -} else { - x_75 = x_74; -} -lean_ctor_set(x_75, 0, x_72); -lean_ctor_set(x_75, 1, x_73); +lean_ctor_set(x_75, 0, x_74); +lean_ctor_set(x_75, 1, x_71); return x_75; } } +else +{ +lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_76 = lean_ctor_get(x_66, 0); +lean_inc(x_76); +x_77 = lean_ctor_get(x_66, 1); +lean_inc(x_77); +if (lean_is_exclusive(x_66)) { + lean_ctor_release(x_66, 0); + lean_ctor_release(x_66, 1); + x_78 = x_66; +} else { + lean_dec_ref(x_66); + x_78 = lean_box(0); +} +if (lean_is_scalar(x_78)) { + x_79 = lean_alloc_ctor(1, 2, 0); +} else { + x_79 = x_78; +} +lean_ctor_set(x_79, 0, x_76); +lean_ctor_set(x_79, 1, x_77); +return x_79; +} +} +} +else +{ +uint8_t x_80; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_80 = !lean_is_exclusive(x_10); +if (x_80 == 0) +{ +return x_10; +} +else +{ +lean_object* x_81; lean_object* x_82; lean_object* x_83; +x_81 = lean_ctor_get(x_10, 0); +x_82 = lean_ctor_get(x_10, 1); +lean_inc(x_82); +lean_inc(x_81); +lean_dec(x_10); +x_83 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_83, 0, x_81); +lean_ctor_set(x_83, 1, x_82); +return x_83; +} +} } } LEAN_EXPORT lean_object* l_Lean_Meta_unfold_pre___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {