diff --git a/stage0/src/Lean/Data/Options.lean b/stage0/src/Lean/Data/Options.lean index 8e45e4806e..bfc164804f 100644 --- a/stage0/src/Lean/Data/Options.lean +++ b/stage0/src/Lean/Data/Options.lean @@ -13,6 +13,7 @@ def Options.empty : Options := {} instance : Inhabited Options where default := {} instance : ToString Options := inferInstanceAs (ToString KVMap) +instance : ForIn m Options (Name × DataValue) := inferInstanceAs (ForIn _ KVMap _) structure OptionDecl where defValue : DataValue @@ -112,6 +113,9 @@ protected structure Decl (α : Type) where group : String := "" descr : String := "" +protected def get? [KVMap.Value α] (opts : Options) (opt : Lean.Option α) : Option α := + opts.get? opt.name + protected def get [KVMap.Value α] (opts : Options) (opt : Lean.Option α) : α := opts.get opt.name opt.defValue diff --git a/stage0/src/Lean/Elab.lean b/stage0/src/Lean/Elab.lean index 5e8a751bec..f37b1db1a9 100644 --- a/stage0/src/Lean/Elab.lean +++ b/stage0/src/Lean/Elab.lean @@ -28,3 +28,4 @@ import Lean.Elab.PreDefinition import Lean.Elab.Deriving import Lean.Elab.DeclarationRange import Lean.Elab.Extra +import Lean.Elab.GenInjective diff --git a/stage0/src/Lean/Elab/GenInjective.lean b/stage0/src/Lean/Elab/GenInjective.lean new file mode 100644 index 0000000000..e2114ae229 --- /dev/null +++ b/stage0/src/Lean/Elab/GenInjective.lean @@ -0,0 +1,16 @@ +/- +Copyright (c) 2021 Microsoft Corporation. All rights reserved. +Released under Apache 2.0 license as described in the file LICENSE. +Authors: Leonardo de Moura +-/ +import Lean.Elab.Command +import Lean.Meta.Injective + +namespace Lean.Elab.Command + +@[builtinCommandElab genInjectiveTheorems] def elabGenInjectiveTheorems : CommandElab := fun stx => do + let declName ← resolveGlobalConstNoOverload stx[1].getId + liftTermElabM none do + Meta.mkInjectiveTheorems declName + +end Lean.Elab.Command diff --git a/stage0/src/Lean/Elab/Inductive.lean b/stage0/src/Lean/Elab/Inductive.lean index ecda085489..8e402c3319 100644 --- a/stage0/src/Lean/Elab/Inductive.lean +++ b/stage0/src/Lean/Elab/Inductive.lean @@ -9,6 +9,7 @@ import Lean.Util.CollectLevelParams import Lean.Util.Constructions import Lean.Meta.CollectFVars import Lean.Meta.SizeOf +import Lean.Meta.Injective import Lean.Meta.IndPredBelow import Lean.Elab.Command import Lean.Elab.DefView @@ -519,6 +520,8 @@ def elabInductiveViews (views : Array InductiveView) : CommandElabM Unit := do mkInductiveDecl vars views mkSizeOfInstances view0.declName Lean.Meta.IndPredBelow.mkBelow view0.declName + for view in views do + mkInjectiveTheorems view.declName applyDerivingHandlers views end Lean.Elab.Command diff --git a/stage0/src/Lean/Elab/Structure.lean b/stage0/src/Lean/Elab/Structure.lean index 6cf47c33aa..15e09dbbb1 100644 --- a/stage0/src/Lean/Elab/Structure.lean +++ b/stage0/src/Lean/Elab/Structure.lean @@ -6,6 +6,7 @@ Authors: Leonardo de Moura import Lean.Parser.Command import Lean.Meta.Closure import Lean.Meta.SizeOf +import Lean.Meta.Injective import Lean.Elab.Command import Lean.Elab.DeclModifiers import Lean.Elab.DeclUtil @@ -581,6 +582,7 @@ def elabStructure (modifiers : Modifiers) (stx : Syntax) : CommandElabM Unit := } unless isClass do mkSizeOfInstances declName + mkInjectiveTheorems declName return declName derivingClassViews.forM fun view => view.applyHandlers #[declName] diff --git a/stage0/src/Lean/Meta/Injective.lean b/stage0/src/Lean/Meta/Injective.lean index b671ed14b0..34db9b6280 100644 --- a/stage0/src/Lean/Meta/Injective.lean +++ b/stage0/src/Lean/Meta/Injective.lean @@ -5,24 +5,27 @@ Authors: Leonardo de Moura -/ import Lean.Meta.Tactic.Injection import Lean.Meta.Tactic.Apply -import Lean.Meta.Tactic.Simp.SimpAll +import Lean.Meta.Tactic.Cases +import Lean.Meta.Tactic.Subst +import Lean.Meta.Tactic.Simp.Types +import Lean.Meta.Tactic.Assumption namespace Lean.Meta -private def mkAnd (args : Array Expr) : Expr := do +private def mkAnd? (args : Array Expr) : Option Expr := do if args.isEmpty then - return mkConst ``True + return none else let mut result := args.back for arg in args.reverse[1:] do result := mkApp2 (mkConst ``And) arg result return result -private partial def mkInjectiveTheoremTypeCore (ctorVal : ConstructorVal) (useEq : Bool) : MetaM Expr := do +private partial def mkInjectiveTheoremTypeCore? (ctorVal : ConstructorVal) (useEq : Bool) : MetaM (Option Expr) := do let us := ctorVal.levelParams.map mkLevelParam forallBoundedTelescope ctorVal.type ctorVal.numParams fun params type => forallTelescope type fun args1 resultType => do - let jp (args2 args2New : Array Expr) : MetaM Expr := do + let jp (args2 args2New : Array Expr) : MetaM (Option Expr) := do let lhs := mkAppN (mkAppN (mkConst ctorVal.name us) params) args1 let rhs := mkAppN (mkAppN (mkConst ctorVal.name us) params) args2 let eq ← mkEq lhs rhs @@ -34,14 +37,16 @@ private partial def mkInjectiveTheoremTypeCore (ctorVal : ConstructorVal) (useEq eqs := eqs.push (← mkEq arg1 arg2) else eqs := eqs.push (← mkHEq arg1 arg2) - let andEqs := mkAnd eqs - let result ← - if useEq then - mkEq eq andEqs - else - mkArrow eq andEqs - mkForallFVars params (← mkForallFVars args1 (← mkForallFVars args2New result)) - let rec mkArgs2 (i : Nat) (type : Expr) (args2 args2New : Array Expr) : MetaM Expr := do + if let some andEqs ← mkAnd? eqs then + let result ← + if useEq then + mkEq eq andEqs + else + mkArrow eq andEqs + mkForallFVars params (← mkForallFVars args1 (← mkForallFVars args2New result)) + else + return none + let rec mkArgs2 (i : Nat) (type : Expr) (args2 args2New : Array Expr) : MetaM (Option Expr) := do if h : i < args1.size then match (← whnf type) with | Expr.forallE n d b _ => @@ -61,31 +66,35 @@ private partial def mkInjectiveTheoremTypeCore (ctorVal : ConstructorVal) (useEq withNewBinderInfos (args1.map fun arg1 => (arg1.fvarId!, BinderInfo.implicit)) <| mkArgs2 0 type #[] #[] -private def mkInjectiveTheoremType (ctorVal : ConstructorVal) : MetaM Expr := - mkInjectiveTheoremTypeCore ctorVal false +private def mkInjectiveTheoremType? (ctorVal : ConstructorVal) : MetaM (Option Expr) := + mkInjectiveTheoremTypeCore? ctorVal false + +private def injTheoremFailureHeader (ctorName : Name) : MessageData := + m!"failed to prove injectivity theorem for constructor '{ctorName}', use 'set_option genInjectivity false' to disable the generation" private def throwInjectiveTheoremFailure {α} (ctorName : Name) (mvarId : MVarId) : MetaM α := - throwError "failed to prove injective theorem for constructor '{ctorName}', use 'set_option genInjective false' to disable the generation{indentD <| MessageData.ofGoal mvarId}" + throwError "{injTheoremFailureHeader ctorName}{indentD <| MessageData.ofGoal mvarId}" -private def simpAllInj (ctorName : Name) (mvarId : MVarId) : MetaM Unit := do - match (← simpAll mvarId (← Simp.Context.mkDefault)) with - | none => pure () - | some mvarId => throwInjectiveTheoremFailure ctorName mvarId +private def solveEqOfCtorEq (ctorName : Name) (mvarId : MVarId) (h : FVarId) : MetaM Unit := do + match (← injection mvarId h) with + | InjectionResult.solved => unreachable! + | InjectionResult.subgoal mvarId .. => + (← splitAnd mvarId).forM fun mvarId => + unless (← assumptionCore mvarId) do + throwInjectiveTheoremFailure ctorName mvarId private def mkInjectiveTheoremValue (ctorName : Name) (targetType : Expr) : MetaM Expr := forallTelescopeReducing targetType fun xs type => do let mvar ← mkFreshExprSyntheticOpaqueMVar type - match (← injection mvar.mvarId! xs.back.fvarId!) with - | InjectionResult.solved => mkLambdaFVars xs mvar - | InjectionResult.subgoal mvarId .. => - simpAllInj ctorName mvarId - mkLambdaFVars xs mvar + solveEqOfCtorEq ctorName mvar.mvarId! xs.back.fvarId! + mkLambdaFVars xs mvar def mkInjectiveTheoremNameFor (ctorName : Name) : Name := ctorName ++ `inj private def mkInjectiveTheorem (ctorVal : ConstructorVal) : MetaM Unit := do - let type ← mkInjectiveTheoremType ctorVal + let some type ← mkInjectiveTheoremType? ctorVal + | return () let value ← mkInjectiveTheoremValue ctorVal.name type addDecl <| Declaration.thmDecl { name := mkInjectiveTheoremNameFor ctorVal.name @@ -97,8 +106,8 @@ private def mkInjectiveTheorem (ctorVal : ConstructorVal) : MetaM Unit := do def mkInjectiveEqTheoremNameFor (ctorName : Name) : Name := ctorName ++ `injEq -private def mkInjectiveEqTheoremType (ctorVal : ConstructorVal) : MetaM Expr := - mkInjectiveTheoremTypeCore ctorVal true +private def mkInjectiveEqTheoremType? (ctorVal : ConstructorVal) : MetaM (Option Expr) := + mkInjectiveTheoremTypeCore? ctorVal true private def mkInjectiveEqTheoremValue (ctorName : Name) (targetType : Expr) : MetaM Expr := do forallTelescopeReducing targetType fun xs type => do @@ -107,15 +116,15 @@ private def mkInjectiveEqTheoremValue (ctorName : Name) (targetType : Expr) : Me | throwError "unexpected number of subgoals when proving injective theorem for constructor '{ctorName}'" let (h, mvarId₁) ← intro1 mvarId₁ let (_, mvarId₂) ← intro1 mvarId₂ - simpAllInj ctorName mvarId₂ - match (← injection mvarId₁ h) with - | InjectionResult.solved => mkLambdaFVars xs mvar - | InjectionResult.subgoal mvarId .. => - simpAllInj ctorName mvarId - mkLambdaFVars xs mvar + solveEqOfCtorEq ctorName mvarId₁ h + let mvarId₂ ← casesAnd mvarId₂ + let mvarId₂ ← substEqs mvarId₂ + applyRefl mvarId₂ (injTheoremFailureHeader ctorName) + mkLambdaFVars xs mvar private def mkInjectiveEqTheorem (ctorVal : ConstructorVal) : MetaM Unit := do - let type ← mkInjectiveEqTheoremType ctorVal + let some type ← mkInjectiveEqTheoremType? ctorVal + | return () let value ← mkInjectiveEqTheoremValue ctorVal.name type let name := mkInjectiveEqTheoremNameFor ctorVal.name addDecl <| Declaration.thmDecl { @@ -126,18 +135,19 @@ private def mkInjectiveEqTheorem (ctorVal : ConstructorVal) : MetaM Unit := do } addSimpLemma name (post := true) AttributeKind.global (prio := eval_prio default) -register_builtin_option genInjective : Bool := { +register_builtin_option genInjectivity : Bool := { defValue := true - descr := "generate injective theorems for inductive datatype constructors" + descr := "generate injectivity theorems for inductive datatype constructors" } def mkInjectiveTheorems (declName : Name) : MetaM Unit := do - if (← getEnv).contains ``Eq.propIntro && genInjective.get (← getOptions) && !(← isInductivePredicate declName) then + if (← getEnv).contains ``Eq.propIntro && genInjectivity.get (← getOptions) && !(← isInductivePredicate declName) then let info ← getConstInfoInduct declName - for ctor in info.ctors do - let ctorVal ← getConstInfoCtor ctor - if ctorVal.numFields > 0 then - mkInjectiveTheorem ctorVal - mkInjectiveEqTheorem ctorVal + unless info.isUnsafe do + for ctor in info.ctors do + let ctorVal ← getConstInfoCtor ctor + if ctorVal.numFields > 0 then + mkInjectiveTheorem ctorVal + mkInjectiveEqTheorem ctorVal end Lean.Meta diff --git a/stage0/src/Lean/Meta/Tactic/Apply.lean b/stage0/src/Lean/Meta/Tactic/Apply.lean index 0e771b7baf..9423b9ecce 100644 --- a/stage0/src/Lean/Meta/Tactic/Apply.lean +++ b/stage0/src/Lean/Meta/Tactic/Apply.lean @@ -97,4 +97,13 @@ def apply (mvarId : MVarId) (e : Expr) : MetaM (List MVarId) := result.forM headBetaMVarType return result +def splitAnd (mvarId : MVarId) : MetaM (List MVarId) := do + saturate mvarId fun mvarId => + observing? <| apply mvarId (mkConst ``And.intro) + +def applyRefl (mvarId : MVarId) (msg : MessageData) : MetaM Unit := + withMVarContext mvarId do + let some [] ← observing? do apply mvarId (mkConst ``Eq.refl [← mkFreshLevelMVar]) + | throwTacticEx `refl mvarId msg + end Lean.Meta diff --git a/stage0/src/Lean/Meta/Tactic/Cases.lean b/stage0/src/Lean/Meta/Tactic/Cases.lean index 8a2a51dad4..860332badd 100644 --- a/stage0/src/Lean/Meta/Tactic/Cases.lean +++ b/stage0/src/Lean/Meta/Tactic/Cases.lean @@ -321,6 +321,28 @@ end Cases def cases (mvarId : MVarId) (majorFVarId : FVarId) (givenNames : Array AltVarNames := #[]) : MetaM (Array CasesSubgoal) := Cases.cases mvarId majorFVarId givenNames +def casesRec (mvarId : MVarId) (p : LocalDecl → MetaM Bool) : MetaM (List MVarId) := + saturate mvarId fun mvarId => + withMVarContext mvarId do + for localDecl in (← getLCtx) do + if (← p localDecl) then + let r? ← observing? do + let r ← cases mvarId localDecl.fvarId + return r.toList.map (·.mvarId) + if r?.isSome then + return r? + return none + +def casesAnd (mvarId : MVarId) : MetaM MVarId := do + let mvarIds ← casesRec mvarId fun localDecl => return (← instantiateMVars localDecl.type).isAppOfArity ``And 2 + exactlyOne mvarIds + +def substEqs (mvarId : MVarId) : MetaM MVarId := do + let mvarIds ← casesRec mvarId fun localDecl => do + let type ← instantiateMVars localDecl.type + return type.isEq || type.isHEq + exactlyOne mvarIds + builtin_initialize registerTraceClass `Meta.Tactic.cases end Lean.Meta diff --git a/stage0/src/Lean/Meta/Tactic/Util.lean b/stage0/src/Lean/Meta/Tactic/Util.lean index ceb5b21513..871d170c32 100644 --- a/stage0/src/Lean/Meta/Tactic/Util.lean +++ b/stage0/src/Lean/Meta/Tactic/Util.lean @@ -87,4 +87,25 @@ where get visit |>.run' candidates +partial def saturate (mvarId : MVarId) (x : MVarId → MetaM (Option (List MVarId))) : MetaM (List MVarId) := do + let (_, r) ← go mvarId |>.run #[] + return r.toList +where + go (mvarId : MVarId) : StateRefT (Array MVarId) MetaM Unit := + withIncRecDepth do + match (← x mvarId) with + | none => modify fun s => s.push mvarId + | some mvarIds => mvarIds.forM go + +def exactlyOne (mvarIds : List MVarId) (msg : MessageData := "unexpected number of goals") : MetaM MVarId := + match mvarIds with + | [mvarId] => return mvarId + | _ => throwError msg + +def ensureAtMostOne (mvarIds : List MVarId) (msg : MessageData := "unexpected number of goals") : MetaM (Option MVarId) := + match mvarIds with + | [] => return none + | [mvarId] => return some mvarId + | _ => throwError msg + end Lean.Meta diff --git a/stage0/src/Lean/PrettyPrinter/Delaborator/Basic.lean b/stage0/src/Lean/PrettyPrinter/Delaborator/Basic.lean index 0e9595b12d..fb36436759 100644 --- a/stage0/src/Lean/PrettyPrinter/Delaborator/Basic.lean +++ b/stage0/src/Lean/PrettyPrinter/Delaborator/Basic.lean @@ -96,6 +96,17 @@ register_builtin_option pp.safe_shadowing : Bool := { group := "pp" descr := "(pretty printer) allow variable shadowing if there is no collision" } +register_builtin_option pp.proofs : Bool := { + defValue := false + group := "pp" + descr := "(pretty printer) if set to false, replace proofs appearing as an argument to a function with a placeholder" +} +register_builtin_option pp.proofs.withType : Bool := { + defValue := true + group := "pp" + descr := "(pretty printer) when eliding a proof (see `pp.proofs`), show its type instead" +} + -- TODO: /- register_builtin_option g_pp_max_depth : Nat := { @@ -108,11 +119,6 @@ register_builtin_option g_pp_max_steps : Nat := { group := "pp" descr := "(pretty printer) maximum number of visited expressions, after that it will use ellipsis" } -register_builtin_option g_pp_proofs : Bool := { - defValue := false - group := "pp" - descr := "(pretty printer) if set to false, the type will be displayed instead of the value for every proof appearing as an argument to a function" -} register_builtin_option g_pp_locals_full_names : Bool := { defValue := false group := "pp" @@ -163,6 +169,8 @@ def getPPFullNames (o : Options) : Bool := o.get `pp.full_names (getPPAll o) def getPPPrivateNames (o : Options) : Bool := o.get `pp.private_names (getPPAll o) def getPPUnicode (o : Options) : Bool := o.get `pp.unicode true def getPPSafeShadowing (o : Options) : Bool := o.get `pp.safe_shadowing true +def getPPProofs (o : Options) : Bool := o.get pp.proofs.name (getPPAll o) +def getPPProofsWithType (o : Options) : Bool := o.get pp.proofs.withType.name true /-- Associate pretty printer options to a specific subterm using a synthetic position. -/ abbrev OptionsPerPos := Std.RBMap Nat Options compare @@ -255,7 +263,10 @@ def getExprKind : DelabM Name := do /-- Evaluate option accessor, using subterm-specific options if set. -/ def getPPOption (opt : Options → Bool) : DelabM Bool := do let ctx ← read - let opts ← ctx.optionsPerPos.find? ctx.pos |>.getD ctx.defaultOptions + let mut opts := ctx.defaultOptions + if let some opts' ← ctx.optionsPerPos.find? ctx.pos then + for (k, v) in opts' do + opts := opts.insert k v return opt opts def whenPPOption (opt : Options → Bool) (d : Delab) : Delab := do @@ -361,7 +372,19 @@ partial def delabFor : Name → Delab -- have `app.Option.some` fall back to `app` etc. delabFor k.getRoot -def delab : Delab := do +partial def delab : Delab := do + unless (← getPPOption getPPProofs) do + let e ← getExpr + -- no need to hide atomic proofs + unless e.isAtomic do + try + let ty ← Meta.inferType (← getExpr) + if ← Meta.isProp ty then + if ← getPPOption getPPProofsWithType then + return ← ``((_ : $(← descend ty 0 delab))) + else + return ← ``(_) + catch _ => pure () let k ← getExprKind delabFor k <|> (liftM $ show MetaM Syntax from throwError "don't know how to delaborate '{k}'") @@ -382,7 +405,14 @@ end Delaborator /-- "Delaborate" the given term into surface-level syntax using the default and given subterm-specific options. -/ def delab (currNamespace : Name) (openDecls : List OpenDecl) (e : Expr) (optionsPerPos : OptionsPerPos := {}) : MetaM Syntax := do trace[PrettyPrinter.delab.input] "{fmt e}" - let opts ← MonadOptions.getOptions + let mut opts ← MonadOptions.getOptions + -- default `pp.proofs` to `true` if `e` is a proof + if pp.proofs.get? opts == none then + try + let ty ← Meta.inferType e + if ← Meta.isProp ty then + opts := pp.proofs.set opts true + catch _ => pure () catchInternalId Delaborator.delabFailureId (Delaborator.delab.run { expr := e, defaultOptions := opts, optionsPerPos := optionsPerPos, currNamespace := currNamespace, openDecls := openDecls }) (fun _ => unreachable!) diff --git a/stage0/src/Lean/PrettyPrinter/Delaborator/Builtins.lean b/stage0/src/Lean/PrettyPrinter/Delaborator/Builtins.lean index 3354b85019..fdd606fede 100644 --- a/stage0/src/Lean/PrettyPrinter/Delaborator/Builtins.lean +++ b/stage0/src/Lean/PrettyPrinter/Delaborator/Builtins.lean @@ -611,16 +611,27 @@ partial def delabDoElems : DelabM (List Syntax) := do @[builtinDelab app.Bind.bind] def delabDo : Delab := whenPPOption getPPNotation do - unless (← getExpr).isAppOfArity `Bind.bind 6 do - failure + guard <| (← getExpr).isAppOfArity `Bind.bind 6 let elems ← delabDoElems let items ← elems.toArray.mapM (`(doSeqItem|$(·):doElem)) `(do $items:doSeqItem*) @[builtinDelab app.sorryAx] def delabSorryAx : Delab := whenPPOption getPPNotation do - unless (← getExpr).isAppOfArity ``sorryAx 2 do - failure + guard <| (← getExpr).isAppOfArity ``sorryAx 2 `(sorry) +@[builtinDelab app.Eq.ndrec] +def delabEqNDRec : Delab := whenPPOption getPPNotation do + guard <| (← getExpr).getAppNumArgs == 6 + -- Eq.ndrec.{u1, u2} : {α : Sort u2} → {a : α} → {motive : α → Sort u1} → (m : motive a) → {b : α} → (h : a = b) → motive b + let m ← withAppFn <| withAppFn <| withAppArg delab + let h ← withAppArg delab + `($h ▸ $m) + +@[builtinDelab app.Eq.rec] +def delabEqRec : Delab := whenPPOption getPPNotation do + -- relevant signature parts as in `Eq.ndrec` + delabEqNDRec + end Lean.PrettyPrinter.Delaborator diff --git a/stage0/src/Lean/Server/FileWorker.lean b/stage0/src/Lean/Server/FileWorker.lean index 3261a9b2f3..571cbf0350 100644 --- a/stage0/src/Lean/Server/FileWorker.lean +++ b/stage0/src/Lean/Server/FileWorker.lean @@ -94,21 +94,6 @@ end Utils /- Asynchronous snapshot elaboration. -/ section Elab - def publishDiagnostics (m : DocumentMeta) (diagnostics : Array Lsp.Diagnostic) (hOut : FS.Stream) : IO Unit := - hOut.writeLspNotification { - method := "textDocument/publishDiagnostics" - param := { - uri := m.uri - version? := m.version - diagnostics := diagnostics - : PublishDiagnosticsParams - } - } - - def publishMessages (m : DocumentMeta) (msgLog : MessageLog) (hOut : FS.Stream) : IO Unit := do - let diagnostics ← msgLog.msgs.mapM (msgToDiagnostic m.text) - publishDiagnostics m diagnostics.toArray hOut - /-- Elaborates the next command after `parentSnap` and emits diagnostics into `hOut`. -/ private def nextCmdSnap (m : DocumentMeta) (parentSnap : Snapshot) (cancelTk : CancelToken) (hOut : FS.Stream) : ExceptT ElabTaskError IO Snapshot := do diff --git a/stage0/src/Lean/Server/Utils.lean b/stage0/src/Lean/Server/Utils.lean index e90bc1d988..6259c5e4ee 100644 --- a/stage0/src/Lean/Server/Utils.lean +++ b/stage0/src/Lean/Server/Utils.lean @@ -121,6 +121,21 @@ def foldDocumentChanges (changes : @& Array Lsp.TextDocumentContentChangeEvent) -- NOTE: We assume Lean files are below 16 EiB. changes.foldl accumulateChanges (oldText, 0xffffffff) +def publishDiagnostics (m : DocumentMeta) (diagnostics : Array Lsp.Diagnostic) (hOut : FS.Stream) : IO Unit := + hOut.writeLspNotification { + method := "textDocument/publishDiagnostics" + param := { + uri := m.uri + version? := m.version + diagnostics := diagnostics + : PublishDiagnosticsParams + } + } + +def publishMessages (m : DocumentMeta) (msgLog : MessageLog) (hOut : FS.Stream) : IO Unit := do + let diagnostics ← msgLog.msgs.mapM (msgToDiagnostic m.text) + publishDiagnostics m diagnostics.toArray hOut + end Lean.Server namespace List diff --git a/stage0/src/Lean/Server/Watchdog.lean b/stage0/src/Lean/Server/Watchdog.lean index 3b2e05919e..190303b4ad 100644 --- a/stage0/src/Lean/Server/Watchdog.lean +++ b/stage0/src/Lean/Server/Watchdog.lean @@ -229,6 +229,7 @@ section ServerM | Except.error e => WorkerEvent.ioError e def startFileWorker (m : DocumentMeta) : ServerM Unit := do + publishDiagnostics m #[{ range := ⟨⟨0, 0⟩, ⟨0, 0⟩⟩, severity? := DiagnosticSeverity.information, message := "starting new server for file..." }] (← read).hOut let st ← read let headerAst ← parseHeaderAst m.text.source let workerProc ← Process.spawn { diff --git a/stage0/stdlib/CMakeLists.txt b/stage0/stdlib/CMakeLists.txt index 777105d37a..3b0de36d17 100644 --- a/stage0/stdlib/CMakeLists.txt +++ b/stage0/stdlib/CMakeLists.txt @@ -2,5 +2,5 @@ add_library (Init STATIC Init.c Init/Classical.c Init/Coe.c Init/Control.c Init/ set_target_properties(Init PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/lean") add_library (Std STATIC Std.c Std/Control.c Std/Control/Nondet.c Std/Data.c Std/Data/AssocList.c Std/Data/BinomialHeap.c Std/Data/DList.c Std/Data/HashMap.c Std/Data/HashSet.c Std/Data/PersistentArray.c Std/Data/PersistentHashMap.c Std/Data/PersistentHashSet.c Std/Data/Queue.c Std/Data/RBMap.c Std/Data/RBTree.c Std/Data/Stack.c Std/ShareCommon.c ) set_target_properties(Std PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/lean") -add_library (Lean STATIC Lean.c Lean/Attributes.c Lean/AuxRecursor.c Lean/Class.c Lean/Compiler.c Lean/Compiler/BorrowedAnnotation.c Lean/Compiler/ClosedTermCache.c Lean/Compiler/ConstFolding.c Lean/Compiler/ExportAttr.c Lean/Compiler/ExternAttr.c Lean/Compiler/IR.c Lean/Compiler/IR/Basic.c Lean/Compiler/IR/Borrow.c Lean/Compiler/IR/Boxing.c Lean/Compiler/IR/Checker.c Lean/Compiler/IR/CompilerM.c Lean/Compiler/IR/CtorLayout.c Lean/Compiler/IR/ElimDeadBranches.c Lean/Compiler/IR/ElimDeadVars.c Lean/Compiler/IR/EmitC.c Lean/Compiler/IR/EmitUtil.c Lean/Compiler/IR/ExpandResetReuse.c Lean/Compiler/IR/Format.c Lean/Compiler/IR/FreeVars.c Lean/Compiler/IR/LiveVars.c Lean/Compiler/IR/NormIds.c Lean/Compiler/IR/PushProj.c Lean/Compiler/IR/RC.c Lean/Compiler/IR/ResetReuse.c Lean/Compiler/IR/SimpCase.c Lean/Compiler/IR/Sorry.c Lean/Compiler/IR/UnboxResult.c Lean/Compiler/ImplementedByAttr.c Lean/Compiler/InitAttr.c Lean/Compiler/InlineAttrs.c Lean/Compiler/NameMangling.c Lean/Compiler/NeverExtractAttr.c Lean/Compiler/Specialize.c Lean/Compiler/Util.c Lean/CoreM.c Lean/Data.c Lean/Data/Format.c Lean/Data/Json.c Lean/Data/Json/Basic.c Lean/Data/Json/FromToJson.c Lean/Data/Json/Parser.c Lean/Data/Json/Printer.c Lean/Data/Json/Stream.c Lean/Data/JsonRpc.c Lean/Data/KVMap.c Lean/Data/LBool.c Lean/Data/LOption.c Lean/Data/Lsp.c Lean/Data/Lsp/Basic.c Lean/Data/Lsp/Capabilities.c Lean/Data/Lsp/Communication.c Lean/Data/Lsp/Diagnostics.c Lean/Data/Lsp/Extra.c Lean/Data/Lsp/InitShutdown.c Lean/Data/Lsp/Ipc.c Lean/Data/Lsp/LanguageFeatures.c Lean/Data/Lsp/TextSync.c Lean/Data/Lsp/Utf16.c Lean/Data/Lsp/Workspace.c Lean/Data/Name.c Lean/Data/NameTrie.c Lean/Data/Occurrences.c Lean/Data/OpenDecl.c Lean/Data/Options.c Lean/Data/Position.c Lean/Data/PrefixTree.c Lean/Data/SMap.c Lean/Data/Trie.c Lean/Declaration.c Lean/DeclarationRange.c Lean/DocString.c Lean/Elab.c Lean/Elab/App.c Lean/Elab/Attributes.c Lean/Elab/AutoBound.c Lean/Elab/Binders.c Lean/Elab/BuiltinNotation.c Lean/Elab/Command.c Lean/Elab/DeclModifiers.c Lean/Elab/DeclUtil.c Lean/Elab/Declaration.c Lean/Elab/DeclarationRange.c Lean/Elab/DefView.c Lean/Elab/Deriving.c Lean/Elab/Deriving/BEq.c Lean/Elab/Deriving/Basic.c Lean/Elab/Deriving/DecEq.c Lean/Elab/Deriving/FromToJson.c Lean/Elab/Deriving/Hashable.c Lean/Elab/Deriving/Inhabited.c Lean/Elab/Deriving/Ord.c Lean/Elab/Deriving/Repr.c Lean/Elab/Deriving/SizeOf.c Lean/Elab/Deriving/Util.c Lean/Elab/Do.c Lean/Elab/Exception.c Lean/Elab/Extra.c Lean/Elab/Frontend.c Lean/Elab/Import.c Lean/Elab/Inductive.c Lean/Elab/InfoTree.c Lean/Elab/LetRec.c Lean/Elab/Level.c Lean/Elab/Log.c Lean/Elab/Match.c Lean/Elab/MutualDef.c Lean/Elab/Open.c Lean/Elab/PreDefinition.c Lean/Elab/PreDefinition/Basic.c Lean/Elab/PreDefinition/Main.c Lean/Elab/PreDefinition/MkInhabitant.c Lean/Elab/PreDefinition/Structural.c Lean/Elab/PreDefinition/WF.c Lean/Elab/Print.c Lean/Elab/Quotation.c Lean/Elab/Quotation/Precheck.c Lean/Elab/Quotation/Util.c Lean/Elab/SetOption.c Lean/Elab/StructInst.c Lean/Elab/Structure.c Lean/Elab/Syntax.c Lean/Elab/SyntheticMVars.c Lean/Elab/Tactic.c Lean/Elab/Tactic/Basic.c Lean/Elab/Tactic/ElabTerm.c Lean/Elab/Tactic/Generalize.c Lean/Elab/Tactic/Induction.c Lean/Elab/Tactic/Injection.c Lean/Elab/Tactic/Location.c Lean/Elab/Tactic/Match.c Lean/Elab/Tactic/Rewrite.c Lean/Elab/Tactic/Simp.c Lean/Elab/Term.c Lean/Elab/Util.c Lean/Environment.c Lean/Eval.c Lean/Exception.c Lean/Expr.c Lean/HeadIndex.c Lean/Hygiene.c Lean/InternalExceptionId.c Lean/KeyedDeclsAttribute.c Lean/Level.c Lean/LocalContext.c Lean/Message.c Lean/Meta.c Lean/Meta/AbstractMVars.c Lean/Meta/AbstractNestedProofs.c Lean/Meta/AppBuilder.c Lean/Meta/Basic.c Lean/Meta/Check.c Lean/Meta/Closure.c Lean/Meta/Coe.c Lean/Meta/CollectFVars.c Lean/Meta/CollectMVars.c Lean/Meta/DiscrTree.c Lean/Meta/DiscrTreeTypes.c Lean/Meta/ExprDefEq.c Lean/Meta/ForEachExpr.c Lean/Meta/FunInfo.c Lean/Meta/GeneralizeTelescope.c Lean/Meta/GeneralizeVars.c Lean/Meta/GetConst.c Lean/Meta/IndPredBelow.c Lean/Meta/Inductive.c Lean/Meta/InferType.c Lean/Meta/Injective.c Lean/Meta/Instances.c Lean/Meta/KAbstract.c Lean/Meta/LevelDefEq.c Lean/Meta/Match.c Lean/Meta/Match/Basic.c Lean/Meta/Match/CaseArraySizes.c Lean/Meta/Match/CaseValues.c Lean/Meta/Match/MVarRenaming.c Lean/Meta/Match/Match.c Lean/Meta/Match/MatchPatternAttr.c Lean/Meta/Match/MatcherInfo.c Lean/Meta/MatchUtil.c Lean/Meta/Offset.c Lean/Meta/PPGoal.c Lean/Meta/RecursorInfo.c Lean/Meta/Reduce.c Lean/Meta/ReduceEval.c Lean/Meta/SizeOf.c Lean/Meta/SortLocalDecls.c Lean/Meta/SynthInstance.c Lean/Meta/Tactic.c Lean/Meta/Tactic/Apply.c Lean/Meta/Tactic/Assert.c Lean/Meta/Tactic/Assumption.c Lean/Meta/Tactic/AuxLemma.c Lean/Meta/Tactic/Cases.c Lean/Meta/Tactic/Clear.c Lean/Meta/Tactic/Constructor.c Lean/Meta/Tactic/Contradiction.c Lean/Meta/Tactic/Delta.c Lean/Meta/Tactic/ElimInfo.c Lean/Meta/Tactic/FVarSubst.c Lean/Meta/Tactic/Generalize.c Lean/Meta/Tactic/Induction.c Lean/Meta/Tactic/Injection.c Lean/Meta/Tactic/Intro.c Lean/Meta/Tactic/Replace.c Lean/Meta/Tactic/Revert.c Lean/Meta/Tactic/Rewrite.c Lean/Meta/Tactic/Simp.c Lean/Meta/Tactic/Simp/CongrLemmas.c Lean/Meta/Tactic/Simp/Main.c Lean/Meta/Tactic/Simp/Rewrite.c Lean/Meta/Tactic/Simp/SimpAll.c Lean/Meta/Tactic/Simp/SimpLemmas.c Lean/Meta/Tactic/Simp/Types.c Lean/Meta/Tactic/Subst.c Lean/Meta/Tactic/Util.c Lean/Meta/Transform.c Lean/Meta/TransparencyMode.c Lean/Meta/UnificationHint.c Lean/Meta/WHNF.c Lean/MetavarContext.c Lean/Modifiers.c Lean/MonadEnv.c Lean/Parser.c Lean/Parser/Attr.c Lean/Parser/Basic.c Lean/Parser/Command.c Lean/Parser/Do.c Lean/Parser/Extension.c Lean/Parser/Extra.c Lean/Parser/Level.c Lean/Parser/Module.c Lean/Parser/StrInterpolation.c Lean/Parser/Syntax.c Lean/Parser/Tactic.c Lean/Parser/Term.c Lean/ParserCompiler.c Lean/ParserCompiler/Attribute.c Lean/PrettyPrinter.c Lean/PrettyPrinter/Basic.c Lean/PrettyPrinter/Delaborator.c Lean/PrettyPrinter/Delaborator/Basic.c Lean/PrettyPrinter/Delaborator/Builtins.c Lean/PrettyPrinter/Formatter.c Lean/PrettyPrinter/Parenthesizer.c Lean/ProjFns.c Lean/ReducibilityAttrs.c Lean/ResolveName.c Lean/Runtime.c Lean/ScopedEnvExtension.c Lean/Server.c Lean/Server/AsyncList.c Lean/Server/Completion.c Lean/Server/FileSource.c Lean/Server/FileWorker.c Lean/Server/InfoUtils.c Lean/Server/Snapshots.c Lean/Server/Utils.c Lean/Server/Watchdog.c Lean/Structure.c Lean/Syntax.c Lean/ToExpr.c Lean/Util.c Lean/Util/CollectFVars.c Lean/Util/CollectLevelParams.c Lean/Util/CollectMVars.c Lean/Util/Constructions.c Lean/Util/FindExpr.c Lean/Util/FindMVar.c Lean/Util/FoldConsts.c Lean/Util/ForEachExpr.c Lean/Util/MonadBacktrack.c Lean/Util/MonadCache.c Lean/Util/OccursCheck.c Lean/Util/PPExt.c Lean/Util/Path.c Lean/Util/Profile.c Lean/Util/RecDepth.c Lean/Util/Recognizers.c Lean/Util/ReplaceExpr.c Lean/Util/ReplaceLevel.c Lean/Util/SCC.c Lean/Util/Sorry.c Lean/Util/Trace.c ) +add_library (Lean STATIC Lean.c Lean/Attributes.c Lean/AuxRecursor.c Lean/Class.c Lean/Compiler.c Lean/Compiler/BorrowedAnnotation.c Lean/Compiler/ClosedTermCache.c Lean/Compiler/ConstFolding.c Lean/Compiler/ExportAttr.c Lean/Compiler/ExternAttr.c Lean/Compiler/IR.c Lean/Compiler/IR/Basic.c Lean/Compiler/IR/Borrow.c Lean/Compiler/IR/Boxing.c Lean/Compiler/IR/Checker.c Lean/Compiler/IR/CompilerM.c Lean/Compiler/IR/CtorLayout.c Lean/Compiler/IR/ElimDeadBranches.c Lean/Compiler/IR/ElimDeadVars.c Lean/Compiler/IR/EmitC.c Lean/Compiler/IR/EmitUtil.c Lean/Compiler/IR/ExpandResetReuse.c Lean/Compiler/IR/Format.c Lean/Compiler/IR/FreeVars.c Lean/Compiler/IR/LiveVars.c Lean/Compiler/IR/NormIds.c Lean/Compiler/IR/PushProj.c Lean/Compiler/IR/RC.c Lean/Compiler/IR/ResetReuse.c Lean/Compiler/IR/SimpCase.c Lean/Compiler/IR/Sorry.c Lean/Compiler/IR/UnboxResult.c Lean/Compiler/ImplementedByAttr.c Lean/Compiler/InitAttr.c Lean/Compiler/InlineAttrs.c Lean/Compiler/NameMangling.c Lean/Compiler/NeverExtractAttr.c Lean/Compiler/Specialize.c Lean/Compiler/Util.c Lean/CoreM.c Lean/Data.c Lean/Data/Format.c Lean/Data/Json.c Lean/Data/Json/Basic.c Lean/Data/Json/FromToJson.c Lean/Data/Json/Parser.c Lean/Data/Json/Printer.c Lean/Data/Json/Stream.c Lean/Data/JsonRpc.c Lean/Data/KVMap.c Lean/Data/LBool.c Lean/Data/LOption.c Lean/Data/Lsp.c Lean/Data/Lsp/Basic.c Lean/Data/Lsp/Capabilities.c Lean/Data/Lsp/Communication.c Lean/Data/Lsp/Diagnostics.c Lean/Data/Lsp/Extra.c Lean/Data/Lsp/InitShutdown.c Lean/Data/Lsp/Ipc.c Lean/Data/Lsp/LanguageFeatures.c Lean/Data/Lsp/TextSync.c Lean/Data/Lsp/Utf16.c Lean/Data/Lsp/Workspace.c Lean/Data/Name.c Lean/Data/NameTrie.c Lean/Data/Occurrences.c Lean/Data/OpenDecl.c Lean/Data/Options.c Lean/Data/Position.c Lean/Data/PrefixTree.c Lean/Data/SMap.c Lean/Data/Trie.c Lean/Declaration.c Lean/DeclarationRange.c Lean/DocString.c Lean/Elab.c Lean/Elab/App.c Lean/Elab/Attributes.c Lean/Elab/AutoBound.c Lean/Elab/Binders.c Lean/Elab/BuiltinNotation.c Lean/Elab/Command.c Lean/Elab/DeclModifiers.c Lean/Elab/DeclUtil.c Lean/Elab/Declaration.c Lean/Elab/DeclarationRange.c Lean/Elab/DefView.c Lean/Elab/Deriving.c Lean/Elab/Deriving/BEq.c Lean/Elab/Deriving/Basic.c Lean/Elab/Deriving/DecEq.c Lean/Elab/Deriving/FromToJson.c Lean/Elab/Deriving/Hashable.c Lean/Elab/Deriving/Inhabited.c Lean/Elab/Deriving/Ord.c Lean/Elab/Deriving/Repr.c Lean/Elab/Deriving/SizeOf.c Lean/Elab/Deriving/Util.c Lean/Elab/Do.c Lean/Elab/Exception.c Lean/Elab/Extra.c Lean/Elab/Frontend.c Lean/Elab/GenInjective.c Lean/Elab/Import.c Lean/Elab/Inductive.c Lean/Elab/InfoTree.c Lean/Elab/LetRec.c Lean/Elab/Level.c Lean/Elab/Log.c Lean/Elab/Match.c Lean/Elab/MutualDef.c Lean/Elab/Open.c Lean/Elab/PreDefinition.c Lean/Elab/PreDefinition/Basic.c Lean/Elab/PreDefinition/Main.c Lean/Elab/PreDefinition/MkInhabitant.c Lean/Elab/PreDefinition/Structural.c Lean/Elab/PreDefinition/WF.c Lean/Elab/Print.c Lean/Elab/Quotation.c Lean/Elab/Quotation/Precheck.c Lean/Elab/Quotation/Util.c Lean/Elab/SetOption.c Lean/Elab/StructInst.c Lean/Elab/Structure.c Lean/Elab/Syntax.c Lean/Elab/SyntheticMVars.c Lean/Elab/Tactic.c Lean/Elab/Tactic/Basic.c Lean/Elab/Tactic/ElabTerm.c Lean/Elab/Tactic/Generalize.c Lean/Elab/Tactic/Induction.c Lean/Elab/Tactic/Injection.c Lean/Elab/Tactic/Location.c Lean/Elab/Tactic/Match.c Lean/Elab/Tactic/Rewrite.c Lean/Elab/Tactic/Simp.c Lean/Elab/Term.c Lean/Elab/Util.c Lean/Environment.c Lean/Eval.c Lean/Exception.c Lean/Expr.c Lean/HeadIndex.c Lean/Hygiene.c Lean/InternalExceptionId.c Lean/KeyedDeclsAttribute.c Lean/Level.c Lean/LocalContext.c Lean/Message.c Lean/Meta.c Lean/Meta/AbstractMVars.c Lean/Meta/AbstractNestedProofs.c Lean/Meta/AppBuilder.c Lean/Meta/Basic.c Lean/Meta/Check.c Lean/Meta/Closure.c Lean/Meta/Coe.c Lean/Meta/CollectFVars.c Lean/Meta/CollectMVars.c Lean/Meta/DiscrTree.c Lean/Meta/DiscrTreeTypes.c Lean/Meta/ExprDefEq.c Lean/Meta/ForEachExpr.c Lean/Meta/FunInfo.c Lean/Meta/GeneralizeTelescope.c Lean/Meta/GeneralizeVars.c Lean/Meta/GetConst.c Lean/Meta/IndPredBelow.c Lean/Meta/Inductive.c Lean/Meta/InferType.c Lean/Meta/Injective.c Lean/Meta/Instances.c Lean/Meta/KAbstract.c Lean/Meta/LevelDefEq.c Lean/Meta/Match.c Lean/Meta/Match/Basic.c Lean/Meta/Match/CaseArraySizes.c Lean/Meta/Match/CaseValues.c Lean/Meta/Match/MVarRenaming.c Lean/Meta/Match/Match.c Lean/Meta/Match/MatchPatternAttr.c Lean/Meta/Match/MatcherInfo.c Lean/Meta/MatchUtil.c Lean/Meta/Offset.c Lean/Meta/PPGoal.c Lean/Meta/RecursorInfo.c Lean/Meta/Reduce.c Lean/Meta/ReduceEval.c Lean/Meta/SizeOf.c Lean/Meta/SortLocalDecls.c Lean/Meta/SynthInstance.c Lean/Meta/Tactic.c Lean/Meta/Tactic/Apply.c Lean/Meta/Tactic/Assert.c Lean/Meta/Tactic/Assumption.c Lean/Meta/Tactic/AuxLemma.c Lean/Meta/Tactic/Cases.c Lean/Meta/Tactic/Clear.c Lean/Meta/Tactic/Constructor.c Lean/Meta/Tactic/Contradiction.c Lean/Meta/Tactic/Delta.c Lean/Meta/Tactic/ElimInfo.c Lean/Meta/Tactic/FVarSubst.c Lean/Meta/Tactic/Generalize.c Lean/Meta/Tactic/Induction.c Lean/Meta/Tactic/Injection.c Lean/Meta/Tactic/Intro.c Lean/Meta/Tactic/Replace.c Lean/Meta/Tactic/Revert.c Lean/Meta/Tactic/Rewrite.c Lean/Meta/Tactic/Simp.c Lean/Meta/Tactic/Simp/CongrLemmas.c Lean/Meta/Tactic/Simp/Main.c Lean/Meta/Tactic/Simp/Rewrite.c Lean/Meta/Tactic/Simp/SimpAll.c Lean/Meta/Tactic/Simp/SimpLemmas.c Lean/Meta/Tactic/Simp/Types.c Lean/Meta/Tactic/Subst.c Lean/Meta/Tactic/Util.c Lean/Meta/Transform.c Lean/Meta/TransparencyMode.c Lean/Meta/UnificationHint.c Lean/Meta/WHNF.c Lean/MetavarContext.c Lean/Modifiers.c Lean/MonadEnv.c Lean/Parser.c Lean/Parser/Attr.c Lean/Parser/Basic.c Lean/Parser/Command.c Lean/Parser/Do.c Lean/Parser/Extension.c Lean/Parser/Extra.c Lean/Parser/Level.c Lean/Parser/Module.c Lean/Parser/StrInterpolation.c Lean/Parser/Syntax.c Lean/Parser/Tactic.c Lean/Parser/Term.c Lean/ParserCompiler.c Lean/ParserCompiler/Attribute.c Lean/PrettyPrinter.c Lean/PrettyPrinter/Basic.c Lean/PrettyPrinter/Delaborator.c Lean/PrettyPrinter/Delaborator/Basic.c Lean/PrettyPrinter/Delaborator/Builtins.c Lean/PrettyPrinter/Formatter.c Lean/PrettyPrinter/Parenthesizer.c Lean/ProjFns.c Lean/ReducibilityAttrs.c Lean/ResolveName.c Lean/Runtime.c Lean/ScopedEnvExtension.c Lean/Server.c Lean/Server/AsyncList.c Lean/Server/Completion.c Lean/Server/FileSource.c Lean/Server/FileWorker.c Lean/Server/InfoUtils.c Lean/Server/Snapshots.c Lean/Server/Utils.c Lean/Server/Watchdog.c Lean/Structure.c Lean/Syntax.c Lean/ToExpr.c Lean/Util.c Lean/Util/CollectFVars.c Lean/Util/CollectLevelParams.c Lean/Util/CollectMVars.c Lean/Util/Constructions.c Lean/Util/FindExpr.c Lean/Util/FindMVar.c Lean/Util/FoldConsts.c Lean/Util/ForEachExpr.c Lean/Util/MonadBacktrack.c Lean/Util/MonadCache.c Lean/Util/OccursCheck.c Lean/Util/PPExt.c Lean/Util/Path.c Lean/Util/Profile.c Lean/Util/RecDepth.c Lean/Util/Recognizers.c Lean/Util/ReplaceExpr.c Lean/Util/ReplaceLevel.c Lean/Util/SCC.c Lean/Util/Sorry.c Lean/Util/Trace.c ) set_target_properties(Lean PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/lean") diff --git a/stage0/stdlib/Lean/Data/Options.c b/stage0/stdlib/Lean/Data/Options.c index b1a4a85262..0d14d17313 100644 --- a/stage0/stdlib/Lean/Data/Options.c +++ b/stage0/stdlib/Lean/Data/Options.c @@ -17,6 +17,7 @@ lean_object* l_Lean_getBoolOption___rarg(lean_object*, lean_object*, lean_object extern lean_object* l_Lean_Name_toString___closed__1; lean_object* l_Lean_KVMap_setBool(lean_object*, lean_object*, uint8_t); lean_object* l_Lean_setOptionFromString_match__1(lean_object*); +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__19; lean_object* l_Lean_Option_register(lean_object*); extern lean_object* l_termDepIfThenElse___closed__12; lean_object* l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d__; @@ -26,11 +27,13 @@ lean_object* lean_name_mk_string(lean_object*, lean_object*); lean_object* l_Lean_OptionDecl_group___default; lean_object* l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d_____closed__11; extern lean_object* l_myMacro____x40_Init_Notation___hyg_2278____closed__2; -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__16; +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2; lean_object* l_Std_RBNode_find___at_Lean_getOptionDecl___spec__1___boxed(lean_object*, lean_object*); +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; lean_object* l_Lean_KVMap_setNat(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d_____closed__3; extern lean_object* l_Array_empty___closed__1; +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__1; lean_object* l_Lean_Option_Decl_group___default; lean_object* lean_st_ref_get(lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedParserDescr___closed__1; @@ -38,14 +41,14 @@ lean_object* l_Lean_KVMap_setString(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_setOptionFromString_match__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); lean_object* l_Lean_Option_get___rarg___boxed(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__7; lean_object* l_Lean_getOptionDefaulValue(lean_object*, lean_object*); lean_object* l_Lean_getOptionDecls(lean_object*); +lean_object* l_Lean_Option_get_x3f(lean_object*); lean_object* l_Lean_instInhabitedOptionDecl___closed__1; lean_object* lean_array_push(lean_object*, lean_object*); lean_object* l_String_toInt_x3f(lean_object*); lean_object* lean_string_append(lean_object*, lean_object*); -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +lean_object* l_Lean_instForInOptionsProdNameDataValue___closed__1; lean_object* l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d_____closed__7; lean_object* l_Lean_KVMap_instToStringKVMap(lean_object*); lean_object* l_IO_mkRef___at___private_Lean_Data_Options_0__Lean_initOptionDeclsRef___spec__1(lean_object*, lean_object*); @@ -55,6 +58,7 @@ extern lean_object* l_instReprBool___closed__2; extern lean_object* l_myMacro____x40_Init_Notation___hyg_1481____closed__8; lean_object* l_Lean_getOptionDecl___closed__1; uint8_t l_Lean_NameMap_contains___rarg(lean_object*, lean_object*); +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__12; lean_object* l_Lean_setOptionFromString_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_toStringWithSep(lean_object*, lean_object*); lean_object* l_Lean_instInhabitedOptions; @@ -62,44 +66,43 @@ lean_object* l_Lean_setOptionFromString_match__4___rarg(lean_object*, lean_objec lean_object* l_Lean_getNatOption(lean_object*); lean_object* l_Lean_getBoolOption___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Option_get___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__1; lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_myMacro____x40_Init_Notation___hyg_113____spec__1(lean_object*, lean_object*); +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__7; lean_object* l_Lean_Option_setIfNotSet___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerOption___closed__1; lean_object* l_Lean_registerOption___closed__2; lean_object* l_Lean_Option_setIfNotSet(lean_object*); lean_object* l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d_____closed__5; +lean_object* l_Lean_KVMap_instForInKVMapProdNameDataValue(lean_object*, lean_object*); lean_object* l___private_Lean_Data_Options_0__Lean_optionDeclsRef; lean_object* l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d_____closed__10; -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__12; lean_object* l_String_toName(lean_object*); lean_object* l_Lean_setOptionFromString___closed__4; lean_object* l_Lean_instMonadOptions(lean_object*, lean_object*); lean_object* l_Lean_getOptionDecl(lean_object*, lean_object*); -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__8; lean_object* l_Lean_OptionDecl_descr___default; lean_object* l_Lean_instToStringOptions; uint8_t l_Lean_KVMap_getBool(lean_object*, lean_object*, uint8_t); -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__19; lean_object* l_Lean_setOptionFromString_match__4(lean_object*); +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__16; lean_object* l_Lean_instMonadOptions___rarg(lean_object*, lean_object*); -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894_(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932_(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedDataValue___closed__1; uint8_t l_Lean_Name_quickCmp(lean_object*, lean_object*); lean_object* l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2; lean_object* l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d_____closed__6; lean_object* lean_st_mk_ref(lean_object*, lean_object*); lean_object* l_Lean_Syntax_getId(lean_object*); lean_object* lean_get_option_decls_array(lean_object*); lean_object* l_Lean_getNatOption___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_KVMap_setInt(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_instForInOptionsProdNameDataValue(lean_object*); uint8_t l_Lean_KVMap_contains(lean_object*, lean_object*); lean_object* l___private_Init_Meta_0__Lean_quoteName(lean_object*); -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__17; lean_object* l_Lean_Options_empty; extern lean_object* l_Array_forInUnsafe_loop___at___private_Init_NotationExtra_0__Lean_mkHintBody___spec__1___closed__3; -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__14; +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__3; +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__6; extern lean_object* l_Lean_Parser_Syntax_addPrec___closed__10; lean_object* l_Lean_setOptionFromString___closed__5; lean_object* l_Lean_Option_set___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -107,19 +110,23 @@ extern lean_object* l_termDepIfThenElse___closed__14; extern lean_object* l_termDepIfThenElse___closed__9; extern lean_object* l_termIfLet___x3a_x3d__Then__Else_____closed__8; lean_object* l_Lean_instInhabitedOptionDecl; +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__15; lean_object* l_Lean_getBoolOption___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__18; +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__10; lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_KVMap_getNat(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__20; lean_object* l_Lean_getOptionDecl_match__1___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l___private_Init_Meta_0__Lean_quoteOption___rarg___closed__1; -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__4; -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; extern lean_object* l_Lean_nullKind___closed__2; lean_object* l_Std_RBNode_fold___at_Lean_getOptionDeclsArray___spec__1(lean_object*, lean_object*); +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__14; +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__5; lean_object* l_Lean_KVMap_setName(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Option_register___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; lean_object* l_Std_RBNode_find___at_Lean_getOptionDecl___spec__1(lean_object*, lean_object*); +lean_object* l_Lean_Option_get_x3f___rarg___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_setOptionFromString(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_setOptionFromString___closed__6; lean_object* l_Lean_registerOption___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -129,13 +136,13 @@ extern lean_object* l_Lean_myMacro____x40_Init_NotationExtra___hyg_1354____close lean_object* l_Lean_KVMap_insertCore(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getBoolOption___rarg___lambda__1(lean_object*, lean_object*, uint8_t, lean_object*); lean_object* l_Lean_getNatOption___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Option_get_x3f___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_register_option(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d_____closed__8; extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_23499____closed__8; lean_object* l_Lean_instInhabitedOption(lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_16268____closed__9; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__10; lean_object* l_Lean_Option_Decl_descr___default; lean_object* l_Lean_getBoolOption(lean_object*); lean_object* l_Lean_KVMap_findCore(lean_object*, lean_object*); @@ -144,7 +151,6 @@ lean_object* l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d___ lean_object* l_String_trim(lean_object*); lean_object* l_Lean_getOptionDecl_match__1(lean_object*); lean_object* l_Lean_setOptionFromString_match__2(lean_object*); -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__20; lean_object* l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d_____closed__9; uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); lean_object* l_Lean_instToStringOptions___closed__1; @@ -152,6 +158,7 @@ lean_object* l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d___ lean_object* l_Std_RBNode_fold___at_Lean_getOptionDeclsArray___spec__1___boxed(lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_2278____closed__4; lean_object* l_List_map___at_Lean_setOptionFromString___spec__1(lean_object*); +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; lean_object* l___private_Lean_Data_Options_0__Lean_initOptionDeclsRef(lean_object*); lean_object* l_Lean_Option_get(lean_object*); lean_object* l_Lean_setOptionFromString___closed__2; @@ -159,20 +166,19 @@ lean_object* l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d___ lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); lean_object* l_String_toNat_x3f(lean_object*); extern lean_object* l_Lean_expandExplicitBindersAux_loop___closed__4; +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__17; lean_object* l_Lean_registerOption___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__3; +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__8; extern lean_object* l_Lean_Parser_Tactic_rwRule___closed__3; -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__6; lean_object* l_Lean_setOptionFromString___closed__7; lean_object* l_Lean_instInhabitedOptionDecls; lean_object* l_Lean_setOptionFromString_match__2___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__4; lean_object* l_Lean_getOptionDescr(lean_object*, lean_object*); -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__18; lean_object* l_Lean_setOptionFromString___closed__3; -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__15; lean_object* l_Lean_getNatOption___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__5; lean_object* l_Lean_instInhabitedOption___rarg(lean_object*); +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; static lean_object* _init_l_Lean_Options_empty() { _start: { @@ -205,6 +211,23 @@ x_1 = l_Lean_instToStringOptions___closed__1; return x_1; } } +static lean_object* _init_l_Lean_instForInOptionsProdNameDataValue___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_KVMap_instForInKVMapProdNameDataValue), 2, 1); +lean_closure_set(x_1, 0, lean_box(0)); +return x_1; +} +} +lean_object* l_Lean_instForInOptionsProdNameDataValue(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_instForInOptionsProdNameDataValue___closed__1; +return x_2; +} +} static lean_object* _init_l_Lean_OptionDecl_group___default() { _start: { @@ -1692,6 +1715,51 @@ x_1 = l_Lean_instInhabitedParserDescr___closed__1; return x_1; } } +lean_object* l_Lean_Option_get_x3f___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; lean_object* x_5; +x_4 = lean_ctor_get(x_3, 0); +x_5 = l_Lean_KVMap_findCore(x_2, x_4); +if (lean_obj_tag(x_5) == 0) +{ +lean_object* x_6; +lean_dec(x_1); +x_6 = lean_box(0); +return x_6; +} +else +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_7 = lean_ctor_get(x_5, 0); +lean_inc(x_7); +lean_dec(x_5); +x_8 = lean_ctor_get(x_1, 1); +lean_inc(x_8); +lean_dec(x_1); +x_9 = lean_apply_1(x_8, x_7); +return x_9; +} +} +} +lean_object* l_Lean_Option_get_x3f(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Option_get_x3f___rarg___boxed), 3, 0); +return x_2; +} +} +lean_object* l_Lean_Option_get_x3f___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_Lean_Option_get_x3f___rarg(x_1, x_2, x_3); +lean_dec(x_3); +lean_dec(x_2); +return x_4; +} +} lean_object* l_Lean_Option_get___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { @@ -2027,7 +2095,7 @@ x_1 = l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d_____close return x_1; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__1() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__1() { _start: { lean_object* x_1; @@ -2035,17 +2103,17 @@ x_1 = lean_mk_string("builtin_initialize"); return x_1; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_myMacro____x40_Init_NotationExtra___hyg_1354____closed__3; -x_2 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__1; +x_2 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__3() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__3() { _start: { lean_object* x_1; @@ -2053,22 +2121,22 @@ x_1 = lean_mk_string("Lean.Option"); return x_1; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__4() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__3; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__3; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__5() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__3; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__3; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__4; +x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__4; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -2076,7 +2144,7 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__6() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -2088,19 +2156,19 @@ lean_ctor_set(x_3, 1, x_1); return x_3; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__7() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__6; +x_2 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__6; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__8() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__8() { _start: { lean_object* x_1; @@ -2108,17 +2176,17 @@ x_1 = lean_mk_string("doSeqIndent"); return x_1; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_myMacro____x40_Init_Notation___hyg_2278____closed__2; -x_2 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__8; +x_2 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__8; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__10() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__10() { _start: { lean_object* x_1; @@ -2126,17 +2194,17 @@ x_1 = lean_mk_string("doSeqItem"); return x_1; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_myMacro____x40_Init_Notation___hyg_2278____closed__2; -x_2 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__10; +x_2 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__10; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__12() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__12() { _start: { lean_object* x_1; @@ -2144,17 +2212,17 @@ x_1 = lean_mk_string("doExpr"); return x_1; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_myMacro____x40_Init_Notation___hyg_2278____closed__2; -x_2 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__12; +x_2 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__12; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__14() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__14() { _start: { lean_object* x_1; @@ -2162,22 +2230,22 @@ x_1 = lean_mk_string("Lean.Option.register"); return x_1; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__15() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__15() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__14; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__14; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__16() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__16() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__14; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__14; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__15; +x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__15; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -2185,7 +2253,7 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__17() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__17() { _start: { lean_object* x_1; @@ -2193,41 +2261,41 @@ x_1 = lean_mk_string("register"); return x_1; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__18() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__18() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d_____closed__1; -x_2 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__17; +x_2 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__17; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__19() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__19() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__18; +x_2 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__18; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__20() { +static lean_object* _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__20() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__19; +x_2 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__19; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; uint8_t x_5; @@ -2266,7 +2334,7 @@ lean_inc(x_17); x_18 = lean_ctor_get(x_2, 1); lean_inc(x_18); lean_dec(x_2); -x_19 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__1; +x_19 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__1; lean_inc(x_16); x_20 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_20, 0, x_16); @@ -2285,8 +2353,8 @@ x_27 = l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d_____clos lean_inc(x_17); lean_inc(x_18); x_28 = l_Lean_addMacroScope(x_18, x_27, x_17); -x_29 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__5; -x_30 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__7; +x_29 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__5; +x_30 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__7; lean_inc(x_16); x_31 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_31, 0, x_16); @@ -2320,10 +2388,10 @@ x_46 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_46, 0, x_34); lean_ctor_set(x_46, 1, x_45); x_47 = lean_array_push(x_22, x_46); -x_48 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__18; +x_48 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__18; x_49 = l_Lean_addMacroScope(x_18, x_48, x_17); -x_50 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__16; -x_51 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__20; +x_50 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__16; +x_51 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__20; x_52 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_52, 0, x_16); lean_ctor_set(x_52, 1, x_50); @@ -2343,14 +2411,14 @@ x_60 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_60, 0, x_37); lean_ctor_set(x_60, 1, x_59); x_61 = lean_array_push(x_21, x_60); -x_62 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_62 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_63 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_63, 0, x_62); lean_ctor_set(x_63, 1, x_61); x_64 = lean_array_push(x_21, x_63); x_65 = l_myMacro____x40_Init_Notation___hyg_1481____closed__8; x_66 = lean_array_push(x_64, x_65); -x_67 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_67 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_68 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_68, 0, x_67); lean_ctor_set(x_68, 1, x_66); @@ -2359,12 +2427,12 @@ x_70 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_70, 0, x_34); lean_ctor_set(x_70, 1, x_69); x_71 = lean_array_push(x_21, x_70); -x_72 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_72 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_73 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_73, 0, x_72); lean_ctor_set(x_73, 1, x_71); x_74 = lean_array_push(x_47, x_73); -x_75 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2; +x_75 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2; x_76 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_76, 0, x_75); lean_ctor_set(x_76, 1, x_74); @@ -2384,7 +2452,7 @@ lean_inc(x_79); x_80 = lean_ctor_get(x_2, 1); lean_inc(x_80); lean_dec(x_2); -x_81 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__1; +x_81 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__1; lean_inc(x_77); x_82 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_82, 0, x_77); @@ -2403,8 +2471,8 @@ x_89 = l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d_____clos lean_inc(x_79); lean_inc(x_80); x_90 = l_Lean_addMacroScope(x_80, x_89, x_79); -x_91 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__5; -x_92 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__7; +x_91 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__5; +x_92 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__7; lean_inc(x_77); x_93 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_93, 0, x_77); @@ -2438,10 +2506,10 @@ x_108 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_108, 0, x_96); lean_ctor_set(x_108, 1, x_107); x_109 = lean_array_push(x_84, x_108); -x_110 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__18; +x_110 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__18; x_111 = l_Lean_addMacroScope(x_80, x_110, x_79); -x_112 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__16; -x_113 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__20; +x_112 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__16; +x_113 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__20; x_114 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_114, 0, x_77); lean_ctor_set(x_114, 1, x_112); @@ -2461,14 +2529,14 @@ x_122 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_122, 0, x_99); lean_ctor_set(x_122, 1, x_121); x_123 = lean_array_push(x_83, x_122); -x_124 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_124 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_125 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_125, 0, x_124); lean_ctor_set(x_125, 1, x_123); x_126 = lean_array_push(x_83, x_125); x_127 = l_myMacro____x40_Init_Notation___hyg_1481____closed__8; x_128 = lean_array_push(x_126, x_127); -x_129 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_129 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_130 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_130, 0, x_129); lean_ctor_set(x_130, 1, x_128); @@ -2477,12 +2545,12 @@ x_132 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_132, 0, x_96); lean_ctor_set(x_132, 1, x_131); x_133 = lean_array_push(x_83, x_132); -x_134 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_134 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_135 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_135, 0, x_134); lean_ctor_set(x_135, 1, x_133); x_136 = lean_array_push(x_109, x_135); -x_137 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2; +x_137 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2; x_138 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_138, 0, x_137); lean_ctor_set(x_138, 1, x_136); @@ -2515,6 +2583,8 @@ l_Lean_instToStringOptions___closed__1 = _init_l_Lean_instToStringOptions___clos lean_mark_persistent(l_Lean_instToStringOptions___closed__1); l_Lean_instToStringOptions = _init_l_Lean_instToStringOptions(); lean_mark_persistent(l_Lean_instToStringOptions); +l_Lean_instForInOptionsProdNameDataValue___closed__1 = _init_l_Lean_instForInOptionsProdNameDataValue___closed__1(); +lean_mark_persistent(l_Lean_instForInOptionsProdNameDataValue___closed__1); l_Lean_OptionDecl_group___default = _init_l_Lean_OptionDecl_group___default(); lean_mark_persistent(l_Lean_OptionDecl_group___default); l_Lean_OptionDecl_descr___default = _init_l_Lean_OptionDecl_descr___default(); @@ -2578,46 +2648,46 @@ l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d_____closed__11 lean_mark_persistent(l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d_____closed__11); l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d__ = _init_l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d__(); lean_mark_persistent(l_Lean_Option_commandRegister__builtin__option_____x3a___x3a_x3d__); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__1 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__1(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__1); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__3 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__3(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__3); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__4 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__4(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__4); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__5 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__5(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__5); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__6 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__6(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__6); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__7 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__7(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__7); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__8 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__8(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__8); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__10 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__10(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__10); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__12 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__12(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__12); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__14 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__14(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__14); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__15 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__15(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__15); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__16 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__16(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__16); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__17 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__17(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__17); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__18 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__18(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__18); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__19 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__19(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__19); -l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__20 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__20(); -lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__20); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__1 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__1(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__1); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__3 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__3(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__3); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__4 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__4(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__4); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__5 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__5(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__5); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__6 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__6(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__6); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__7 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__7(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__7); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__8 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__8(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__8); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__10 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__10(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__10); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__12 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__12(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__12); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__14 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__14(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__14); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__15 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__15(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__15); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__16 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__16(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__16); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__17 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__17(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__17); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__18 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__18(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__18); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__19 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__19(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__19); +l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__20 = _init_l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__20(); +lean_mark_persistent(l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__20); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/Elab.c b/stage0/stdlib/Lean/Elab.c index 15df30043a..666426e235 100644 --- a/stage0/stdlib/Lean/Elab.c +++ b/stage0/stdlib/Lean/Elab.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab -// Imports: Init Lean.Elab.Import Lean.Elab.Exception Lean.Elab.Command Lean.Elab.Term Lean.Elab.App Lean.Elab.Binders Lean.Elab.LetRec Lean.Elab.Frontend Lean.Elab.BuiltinNotation Lean.Elab.Declaration Lean.Elab.Tactic Lean.Elab.Match Lean.Elab.Quotation Lean.Elab.Syntax Lean.Elab.Do Lean.Elab.StructInst Lean.Elab.Inductive Lean.Elab.Structure Lean.Elab.Print Lean.Elab.MutualDef Lean.Elab.PreDefinition Lean.Elab.Deriving Lean.Elab.DeclarationRange Lean.Elab.Extra +// Imports: Init Lean.Elab.Import Lean.Elab.Exception Lean.Elab.Command Lean.Elab.Term Lean.Elab.App Lean.Elab.Binders Lean.Elab.LetRec Lean.Elab.Frontend Lean.Elab.BuiltinNotation Lean.Elab.Declaration Lean.Elab.Tactic Lean.Elab.Match Lean.Elab.Quotation Lean.Elab.Syntax Lean.Elab.Do Lean.Elab.StructInst Lean.Elab.Inductive Lean.Elab.Structure Lean.Elab.Print Lean.Elab.MutualDef Lean.Elab.PreDefinition Lean.Elab.Deriving Lean.Elab.DeclarationRange Lean.Elab.Extra Lean.Elab.GenInjective #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -38,6 +38,7 @@ lean_object* initialize_Lean_Elab_PreDefinition(lean_object*); lean_object* initialize_Lean_Elab_Deriving(lean_object*); lean_object* initialize_Lean_Elab_DeclarationRange(lean_object*); lean_object* initialize_Lean_Elab_Extra(lean_object*); +lean_object* initialize_Lean_Elab_GenInjective(lean_object*); static bool _G_initialized = false; lean_object* initialize_Lean_Elab(lean_object* w) { lean_object * res; @@ -118,6 +119,9 @@ lean_dec_ref(res); res = initialize_Lean_Elab_Extra(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Elab_GenInjective(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/Elab/Declaration.c b/stage0/stdlib/Lean/Elab/Declaration.c index 459932f0e5..cae40a8848 100644 --- a/stage0/stdlib/Lean/Elab/Declaration.c +++ b/stage0/stdlib/Lean/Elab/Declaration.c @@ -53,6 +53,7 @@ lean_object* l_Array_append___rarg(lean_object*, lean_object*); lean_object* l_Lean_Elab_getDeclarationRange___at_Lean_Elab_Command_elabAxiom___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Elab_Modifiers_isProtected(lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Declaration_0__Lean_Elab_Command_inductiveSyntaxToView___spec__3___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2; extern lean_object* l_Lean_myMacro____x40_Init_NotationExtra___hyg_1354____closed__12; lean_object* l___regBuiltin_Lean_Elab_Command_expandInitialize___closed__1; lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Declaration_0__Lean_Elab_Command_inductiveSyntaxToView___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -163,7 +164,6 @@ lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabCommand___spec__21(lea extern lean_object* l_Lean_Parser_Command_namespace___elambda__1___closed__2; lean_object* l___regBuiltin_Lean_Elab_Command_expandMutualPreamble(lean_object*); lean_object* l_Lean_Elab_Command_expandInitCmd___closed__10; -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2; lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabAttr___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_609____closed__2; lean_object* l_Lean_Elab_Command_expandDeclNamespace_x3f_match__1(lean_object*); @@ -8175,7 +8175,7 @@ _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_2 = l_Lean_Elab_macroAttribute; -x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2; +x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2; x_4 = l___regBuiltin_Lean_Elab_Command_expandBuiltinInitialize___closed__1; x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; diff --git a/stage0/stdlib/Lean/Elab/Deriving/FromToJson.c b/stage0/stdlib/Lean/Elab/Deriving/FromToJson.c index cdcca488bc..a108796fb9 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/FromToJson.c +++ b/stage0/stdlib/Lean/Elab/Deriving/FromToJson.c @@ -37,6 +37,7 @@ extern lean_object* l_myMacro____x40_Init_Notation___hyg_2278____closed__2; lean_object* l_Array_append___rarg(lean_object*, lean_object*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__1___closed__23; +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; extern lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__1; lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__1___closed__21; lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -53,7 +54,6 @@ lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler(lean_obje lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__6; lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_match__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__1___closed__6; @@ -64,6 +64,7 @@ lean_object* l_Lean_Elab_Term_getMainModule___rarg(lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_1481____closed__8; uint8_t l_USize_decLt(size_t, size_t); lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__1___closed__25; +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__12; lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__1; lean_object* l_Lean_Elab_Deriving_FromToJson_initFn____x40_Lean_Elab_Deriving_FromToJson___hyg_1633____closed__2; lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler(lean_object*, lean_object*, lean_object*, lean_object*); @@ -85,7 +86,6 @@ lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonI lean_object* l_Lean_Elab_Deriving_FromToJson_mkJsonField___lambda__1___boxed(lean_object*); lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__1___closed__3; uint8_t lean_nat_dec_eq(lean_object*, lean_object*); -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__12; extern lean_object* l_myMacro____x40_Init_Notation___hyg_16821____closed__11; extern lean_object* l_term___x3c_x7c_____closed__2; extern lean_object* l_myMacro____x40_Init_NotationExtra___hyg_5711____closed__3; @@ -121,12 +121,12 @@ lean_object* l_Lean_Elab_Deriving_mkHeader___rarg(lean_object*, lean_object*, le lean_object* l_ReaderT_bind___at_Lean_Elab_Term_instMonadLogTermElabM___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__12; size_t lean_usize_of_nat(lean_object*); +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__10; extern lean_object* l_term_x7b_x7d___closed__5; lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Term_doReturn___elambda__1___closed__2; lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__1___closed__4; extern lean_object* l___private_Init_Meta_0__Lean_quoteOption___rarg___closed__1; -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___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*); extern lean_object* l_Lean_nullKind___closed__2; lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_match__1(lean_object*); @@ -152,7 +152,6 @@ lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda_ extern lean_object* l_myMacro____x40_Init_Notation___hyg_16268____closed__9; lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__1___closed__2; extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_369____closed__3; -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__10; extern lean_object* l_Lean_instInhabitedName; lean_object* l_Lean_Elab_Deriving_FromToJson_initFn____x40_Lean_Elab_Deriving_FromToJson___hyg_1633____closed__1; lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -198,6 +197,7 @@ extern lean_object* l_term_x5b___x5d___closed__3; lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__1___closed__4; uint8_t lean_string_dec_eq(lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; uint8_t l_Lean_Elab_Deriving_FromToJson_mkJsonField___lambda__1(uint32_t x_1) { _start: { @@ -2060,7 +2060,7 @@ 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; 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; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; x_25 = lean_ctor_get(x_21, 0); x_26 = lean_ctor_get(x_21, 1); -x_27 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__10; +x_27 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__10; lean_inc(x_7); x_28 = lean_name_mk_string(x_7, x_27); x_29 = l_Lean_Parser_Term_doLetArrow___elambda__1___closed__1; @@ -2088,7 +2088,7 @@ x_40 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_40, 0, x_1); lean_ctor_set(x_40, 1, x_39); x_41 = lean_array_push(x_38, x_40); -x_42 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__12; +x_42 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__12; lean_inc(x_7); x_43 = lean_name_mk_string(x_7, x_42); x_44 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___spec__2___closed__4; @@ -2173,7 +2173,7 @@ x_76 = lean_ctor_get(x_21, 1); lean_inc(x_76); lean_inc(x_75); lean_dec(x_21); -x_77 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__10; +x_77 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__10; lean_inc(x_7); x_78 = lean_name_mk_string(x_7, x_77); x_79 = l_Lean_Parser_Term_doLetArrow___elambda__1___closed__1; @@ -2201,7 +2201,7 @@ x_90 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_90, 0, x_1); lean_ctor_set(x_90, 1, x_89); x_91 = lean_array_push(x_88, x_90); -x_92 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__12; +x_92 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__12; lean_inc(x_7); x_93 = lean_name_mk_string(x_7, x_92); x_94 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___spec__2___closed__4; @@ -2925,7 +2925,7 @@ lean_ctor_set(x_178, 0, x_177); lean_ctor_set(x_178, 1, x_176); x_179 = lean_array_push(x_48, x_178); x_180 = lean_array_push(x_179, x_57); -x_181 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_181 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_182 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_182, 0, x_181); lean_ctor_set(x_182, 1, x_180); @@ -2934,7 +2934,7 @@ x_184 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_184, 0, x_53); lean_ctor_set(x_184, 1, x_183); x_185 = lean_array_push(x_48, x_184); -x_186 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_186 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_187 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_187, 0, x_186); lean_ctor_set(x_187, 1, x_185); diff --git a/stage0/stdlib/Lean/Elab/Do.c b/stage0/stdlib/Lean/Elab/Do.c index 383d640e5a..b28f98d734 100644 --- a/stage0/stdlib/Lean/Elab/Do.c +++ b/stage0/stdlib/Lean/Elab/Do.c @@ -156,6 +156,7 @@ uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_Do_hasReturn___spec__2(lean_o lean_object* l_Lean_Elab_Term_Do_extendUpdatedVarsAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_Do_ToTerm_run(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__2; +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_20311____closed__5; extern lean_object* l_Lean_Parser_Term_letPatDecl___closed__2; uint8_t l_Lean_Elab_Term_Do_hasTerminalAction(lean_object*); @@ -246,7 +247,6 @@ lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_Do_ToCodeBlock_doTryT lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doForToCode___closed__10; lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_Do_mkJmp___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_Do_getDoLetRecVars___spec__1___boxed(lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; lean_object* l_Lean_Elab_Term_Do_ToTerm_seqToTerm___closed__1; extern lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Util_Trace_0__Lean_withNestedTracesFinalizer___spec__5___closed__1; lean_object* l_Lean_Elab_Term_Do_ToTerm_returnToTerm(lean_object*, lean_object*, lean_object*, lean_object*); @@ -301,6 +301,7 @@ lean_object* l_Lean_Elab_Term_Do_ToTerm_continueToTerm___closed__33; extern lean_object* l_Lean_Parser_Term_doMatch___elambda__1___closed__2; lean_object* l_Lean_Elab_Term_Do_pullExitPointsAux___lambda__1___closed__5; lean_object* l_Lean_Elab_Term_Do_mkFreshJP___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__12; lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_Do_ToCodeBlock_doSeqToCode___spec__4___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_Do_ToCodeBlock_expandLiftMethod(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___closed__6; @@ -414,7 +415,6 @@ lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_ensureInsideFor___boxed(lean_object lean_object* l_Lean_throwError___at_Lean_Elab_Term_Do_ToCodeBlock_doSeqToCode___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_Do_ToTerm_actionTerminalToTerm___closed__10; lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_ToCodeBlock_expandLiftMethodAux___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__12; lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_extractBind_extract_x3f_match__2___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_16821____closed__11; lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_mkTuple___spec__1___closed__4; @@ -465,7 +465,6 @@ lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_expandDoIf_x3f___clos lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doForToCode_match__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_getPatternVarNames(lean_object*); -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__8; lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_Do_concat___spec__3___rarg(lean_object*); lean_object* l_Lean_Elab_Term_Do_hasExitPointPred_loop___at_Lean_Elab_Term_Do_hasExitPoint___spec__1___boxed(lean_object*); lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doReassignArrowToCode___closed__4; @@ -720,6 +719,7 @@ lean_object* l_Lean_Elab_Term_Do_CodeBlock_uvars___default; extern lean_object* l_Lean_Meta_Closure_mkNewLevelParam___closed__2; extern lean_object* l_Lean_NameSet_empty; lean_object* l_Lean_Elab_Term_Do_ToTerm_reassignToTerm___closed__1; +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__10; lean_object* l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_Do_getDoLetArrowVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -740,7 +740,6 @@ lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_Do_convertTerminalAction lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_Do_ToCodeBlock_mkForInBody___spec__6___rarg(lean_object*); lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doForToCode___closed__7; lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___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*); -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_Do_ToCodeBlock_doSeqToCode___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_withNewMutableVars(lean_object*); extern lean_object* l_Lean_nullKind___closed__2; @@ -811,7 +810,6 @@ lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_Do_ToCodeBlo lean_object* l_List_redLength___rarg(lean_object*); lean_object* l_Lean_Elab_Term_Do_hasReturn___boxed(lean_object*); lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_extractBind_match__2(lean_object*); lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doReturnToCode___closed__1; lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_liftMethodDelimiter___boxed(lean_object*); @@ -967,7 +965,6 @@ lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doSeqToCode_match__1(lean_object*); extern lean_object* l_Lean_Parser_Term_doContinue___elambda__1___closed__5; lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___spec__7___closed__2; lean_object* l_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult___closed__4; -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__10; 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_Elab_Term_Do_ToCodeBlock_getTryCatchUpdatedVars_match__1(lean_object*); lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1054,6 +1051,7 @@ extern lean_object* l_Lean_Parser_Term_doLet___elambda__1___closed__2; lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doSeqToCode___lambda__1___closed__3; extern lean_object* l_myMacro____x40_Init_Notation___hyg_2278____closed__4; uint8_t l_Lean_Syntax_isEscapedAntiquot(lean_object*); +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; lean_object* l_Lean_Elab_Term_Do_ToTerm_returnToTerm___closed__31; lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_mkUnit___closed__1; lean_object* l_Lean_Elab_Term_Do_getLetIdDeclVar___boxed(lean_object*); @@ -1116,6 +1114,7 @@ lean_object* l_Lean_Elab_Term_Do_getDoReassignVars___boxed(lean_object*, lean_ob extern lean_object* l_myMacro____x40_Init_Notation___hyg_14734____closed__4; lean_object* l_Lean_Elab_Term_Do_ToTerm_breakToTerm___closed__3; lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___lambda__4___closed__4; +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__8; lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_expandDoIf_x3f___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*); extern lean_object* l_Lean_Meta_substCore___lambda__1___closed__3; extern lean_object* l_myMacro____x40_Init_Notation___hyg_15342____closed__12; @@ -1209,6 +1208,7 @@ lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_Do_CodeBlocl_toMessageData_loop_match__1(lean_object*); lean_object* l_Lean_Elab_Term_Do_ToTerm_actionTerminalToTerm___closed__6; uint8_t lean_nat_dec_lt(lean_object*, lean_object*); +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___spec__7___closed__8; lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_extractBind_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doForToCode___closed__14; @@ -1277,7 +1277,7 @@ x_4 = lean_name_eq(x_2, x_3); if (x_4 == 0) { lean_object* x_5; uint8_t x_6; -x_5 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_5 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_6 = lean_name_eq(x_2, x_5); lean_dec(x_2); if (x_6 == 0) @@ -1401,7 +1401,7 @@ x_3 = lean_name_eq(x_1, x_2); if (x_3 == 0) { lean_object* x_4; uint8_t x_5; -x_4 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_4 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_5 = lean_name_eq(x_1, x_4); if (x_5 == 0) { @@ -5389,7 +5389,7 @@ lean_ctor_set(x_22, 0, x_2); lean_ctor_set(x_22, 1, x_21); x_23 = lean_array_push(x_20, x_22); x_24 = lean_array_push(x_10, x_4); -x_25 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_25 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_26 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_26, 0, x_25); lean_ctor_set(x_26, 1, x_24); @@ -5956,7 +5956,7 @@ lean_ctor_set(x_36, 0, x_24); lean_ctor_set(x_36, 1, x_35); x_37 = lean_array_push(x_34, x_36); x_38 = lean_array_push(x_28, x_1); -x_39 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_39 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_40 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_40, 0, x_39); lean_ctor_set(x_40, 1, x_38); @@ -6123,7 +6123,7 @@ lean_ctor_set(x_105, 0, x_93); lean_ctor_set(x_105, 1, x_104); x_106 = lean_array_push(x_103, x_105); x_107 = lean_array_push(x_97, x_1); -x_108 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_108 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_109 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_109, 0, x_108); lean_ctor_set(x_109, 1, x_107); @@ -6315,7 +6315,7 @@ lean_ctor_set(x_178, 0, x_166); lean_ctor_set(x_178, 1, x_177); x_179 = lean_array_push(x_176, x_178); x_180 = lean_array_push(x_170, x_1); -x_181 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_181 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_182 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_182, 0, x_181); lean_ctor_set(x_182, 1, x_180); @@ -9794,7 +9794,7 @@ lean_ctor_set(x_60, 0, x_41); lean_ctor_set(x_60, 1, x_59); x_61 = lean_array_push(x_58, x_60); x_62 = lean_array_push(x_51, x_1); -x_63 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_63 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_64 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_64, 0, x_63); lean_ctor_set(x_64, 1, x_62); @@ -10011,7 +10011,7 @@ lean_ctor_set(x_153, 0, x_134); lean_ctor_set(x_153, 1, x_152); x_154 = lean_array_push(x_151, x_153); x_155 = lean_array_push(x_144, x_1); -x_156 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_156 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_157 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_157, 0, x_156); lean_ctor_set(x_157, 1, x_155); @@ -10261,7 +10261,7 @@ lean_ctor_set(x_252, 0, x_233); lean_ctor_set(x_252, 1, x_251); x_253 = lean_array_push(x_250, x_252); x_254 = lean_array_push(x_243, x_1); -x_255 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_255 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_256 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_256, 0, x_255); lean_ctor_set(x_256, 1, x_254); @@ -10558,7 +10558,7 @@ lean_ctor_set(x_365, 0, x_346); lean_ctor_set(x_365, 1, x_364); x_366 = lean_array_push(x_363, x_365); x_367 = lean_array_push(x_356, x_1); -x_368 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_368 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_369 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_369, 0, x_368); lean_ctor_set(x_369, 1, x_367); @@ -18436,7 +18436,7 @@ lean_ctor_set(x_9, 0, x_8); lean_ctor_set(x_9, 1, x_7); x_10 = l_Lean_mkOptionalNode___closed__2; x_11 = lean_array_push(x_10, x_9); -x_12 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_12 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_13 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_13, 0, x_12); lean_ctor_set(x_13, 1, x_11); @@ -20616,13 +20616,13 @@ lean_inc(x_22); x_23 = lean_ctor_get(x_21, 1); lean_inc(x_23); lean_dec(x_21); -x_24 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__8; +x_24 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__8; lean_inc(x_2); x_25 = lean_name_mk_string(x_2, x_24); -x_26 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__10; +x_26 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__10; lean_inc(x_2); x_27 = lean_name_mk_string(x_2, x_26); -x_28 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__12; +x_28 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__12; lean_inc(x_2); x_29 = lean_name_mk_string(x_2, x_28); x_30 = l_myMacro____x40_Init_Notation___hyg_2278____closed__3; @@ -20857,13 +20857,13 @@ lean_inc(x_115); x_116 = lean_ctor_get(x_114, 1); lean_inc(x_116); lean_dec(x_114); -x_117 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__8; +x_117 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__8; lean_inc(x_2); x_118 = lean_name_mk_string(x_2, x_117); -x_119 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__10; +x_119 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__10; lean_inc(x_2); x_120 = lean_name_mk_string(x_2, x_119); -x_121 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__12; +x_121 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__12; lean_inc(x_2); x_122 = lean_name_mk_string(x_2, x_121); x_123 = l_myMacro____x40_Init_Notation___hyg_2278____closed__3; @@ -21047,13 +21047,13 @@ lean_inc(x_20); x_21 = lean_ctor_get(x_19, 1); lean_inc(x_21); lean_dec(x_19); -x_22 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__8; +x_22 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__8; lean_inc(x_2); x_23 = lean_name_mk_string(x_2, x_22); -x_24 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__10; +x_24 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__10; lean_inc(x_2); x_25 = lean_name_mk_string(x_2, x_24); -x_26 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__12; +x_26 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__12; lean_inc(x_2); x_27 = lean_name_mk_string(x_2, x_26); x_28 = l_myMacro____x40_Init_Notation___hyg_2278____closed__3; @@ -21289,13 +21289,13 @@ lean_inc(x_114); x_115 = lean_ctor_get(x_113, 1); lean_inc(x_115); lean_dec(x_113); -x_116 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__8; +x_116 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__8; lean_inc(x_2); x_117 = lean_name_mk_string(x_2, x_116); -x_118 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__10; +x_118 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__10; lean_inc(x_2); x_119 = lean_name_mk_string(x_2, x_118); -x_120 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__12; +x_120 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__12; lean_inc(x_2); x_121 = lean_name_mk_string(x_2, x_120); x_122 = l_myMacro____x40_Init_Notation___hyg_2278____closed__3; @@ -22460,7 +22460,7 @@ _start: lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_inc(x_1); x_2 = l_Lean_Syntax_getKind(x_1); -x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_4 = lean_name_eq(x_2, x_3); lean_dec(x_2); if (x_4 == 0) @@ -40985,7 +40985,7 @@ lean_ctor_set(x_48, 0, x_28); lean_ctor_set(x_48, 1, x_47); x_49 = lean_array_push(x_46, x_48); x_50 = lean_array_push(x_33, x_1); -x_51 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_51 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_52 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_52, 0, x_51); lean_ctor_set(x_52, 1, x_50); @@ -41012,7 +41012,7 @@ lean_ctor_set(x_64, 0, x_63); lean_ctor_set(x_64, 1, x_62); lean_inc(x_64); x_65 = lean_array_push(x_59, x_64); -x_66 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_66 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_67 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_67, 0, x_66); lean_ctor_set(x_67, 1, x_65); @@ -41142,7 +41142,7 @@ x_133 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_133, 0, x_63); lean_ctor_set(x_133, 1, x_132); x_134 = lean_array_push(x_33, x_133); -x_135 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_135 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_136 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_136, 0, x_135); lean_ctor_set(x_136, 1, x_134); @@ -41288,7 +41288,7 @@ lean_ctor_set(x_209, 0, x_188); lean_ctor_set(x_209, 1, x_208); x_210 = lean_array_push(x_207, x_209); x_211 = lean_array_push(x_194, x_1); -x_212 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_212 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_213 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_213, 0, x_212); lean_ctor_set(x_213, 1, x_211); @@ -41315,7 +41315,7 @@ lean_ctor_set(x_225, 0, x_224); lean_ctor_set(x_225, 1, x_223); lean_inc(x_225); x_226 = lean_array_push(x_220, x_225); -x_227 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_227 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_228 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_228, 0, x_227); lean_ctor_set(x_228, 1, x_226); @@ -41445,7 +41445,7 @@ x_294 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_294, 0, x_224); lean_ctor_set(x_294, 1, x_293); x_295 = lean_array_push(x_194, x_294); -x_296 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_296 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_297 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_297, 0, x_296); lean_ctor_set(x_297, 1, x_295); @@ -41606,7 +41606,7 @@ lean_ctor_set(x_375, 0, x_355); lean_ctor_set(x_375, 1, x_374); x_376 = lean_array_push(x_373, x_375); x_377 = lean_array_push(x_360, x_1); -x_378 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_378 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_379 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_379, 0, x_378); lean_ctor_set(x_379, 1, x_377); @@ -41633,7 +41633,7 @@ lean_ctor_set(x_391, 0, x_390); lean_ctor_set(x_391, 1, x_389); lean_inc(x_391); x_392 = lean_array_push(x_386, x_391); -x_393 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_393 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_394 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_394, 0, x_393); lean_ctor_set(x_394, 1, x_392); @@ -41722,7 +41722,7 @@ x_441 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_441, 0, x_390); lean_ctor_set(x_441, 1, x_440); x_442 = lean_array_push(x_360, x_441); -x_443 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_443 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_444 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_444, 0, x_443); lean_ctor_set(x_444, 1, x_442); @@ -41786,7 +41786,7 @@ lean_ctor_set(x_472, 0, x_451); lean_ctor_set(x_472, 1, x_471); x_473 = lean_array_push(x_470, x_472); x_474 = lean_array_push(x_457, x_1); -x_475 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_475 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_476 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_476, 0, x_475); lean_ctor_set(x_476, 1, x_474); @@ -41813,7 +41813,7 @@ lean_ctor_set(x_488, 0, x_487); lean_ctor_set(x_488, 1, x_486); lean_inc(x_488); x_489 = lean_array_push(x_483, x_488); -x_490 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_490 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_491 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_491, 0, x_490); lean_ctor_set(x_491, 1, x_489); @@ -41902,7 +41902,7 @@ x_538 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_538, 0, x_487); lean_ctor_set(x_538, 1, x_537); x_539 = lean_array_push(x_457, x_538); -x_540 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_540 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_541 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_541, 0, x_540); lean_ctor_set(x_541, 1, x_539); @@ -41971,7 +41971,7 @@ lean_ctor_set(x_571, 0, x_551); lean_ctor_set(x_571, 1, x_570); x_572 = lean_array_push(x_569, x_571); x_573 = lean_array_push(x_556, x_1); -x_574 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_574 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_575 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_575, 0, x_574); lean_ctor_set(x_575, 1, x_573); @@ -41997,7 +41997,7 @@ x_587 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_587, 0, x_586); lean_ctor_set(x_587, 1, x_585); x_588 = lean_array_push(x_582, x_587); -x_589 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_589 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_590 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_590, 0, x_589); lean_ctor_set(x_590, 1, x_588); @@ -42025,7 +42025,7 @@ x_603 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_603, 0, x_586); lean_ctor_set(x_603, 1, x_602); x_604 = lean_array_push(x_556, x_603); -x_605 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_605 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_606 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_606, 0, x_605); lean_ctor_set(x_606, 1, x_604); @@ -42089,7 +42089,7 @@ lean_ctor_set(x_634, 0, x_613); lean_ctor_set(x_634, 1, x_633); x_635 = lean_array_push(x_632, x_634); x_636 = lean_array_push(x_619, x_1); -x_637 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_637 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_638 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_638, 0, x_637); lean_ctor_set(x_638, 1, x_636); @@ -42115,7 +42115,7 @@ x_650 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_650, 0, x_649); lean_ctor_set(x_650, 1, x_648); x_651 = lean_array_push(x_645, x_650); -x_652 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_652 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_653 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_653, 0, x_652); lean_ctor_set(x_653, 1, x_651); @@ -42143,7 +42143,7 @@ x_666 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_666, 0, x_649); lean_ctor_set(x_666, 1, x_665); x_667 = lean_array_push(x_619, x_666); -x_668 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_668 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_669 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_669, 0, x_668); lean_ctor_set(x_669, 1, x_667); @@ -42220,7 +42220,7 @@ lean_ctor_set(x_701, 0, x_681); lean_ctor_set(x_701, 1, x_700); x_702 = lean_array_push(x_699, x_701); x_703 = lean_array_push(x_686, x_1); -x_704 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_704 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_705 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_705, 0, x_704); lean_ctor_set(x_705, 1, x_703); @@ -42247,7 +42247,7 @@ lean_ctor_set(x_717, 0, x_716); lean_ctor_set(x_717, 1, x_715); lean_inc(x_717); x_718 = lean_array_push(x_712, x_717); -x_719 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_719 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_720 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_720, 0, x_719); lean_ctor_set(x_720, 1, x_718); @@ -42394,7 +42394,7 @@ x_793 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_793, 0, x_716); lean_ctor_set(x_793, 1, x_792); x_794 = lean_array_push(x_686, x_793); -x_795 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_795 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_796 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_796, 0, x_795); lean_ctor_set(x_796, 1, x_794); @@ -42599,7 +42599,7 @@ lean_ctor_set(x_898, 0, x_877); lean_ctor_set(x_898, 1, x_897); x_899 = lean_array_push(x_896, x_898); x_900 = lean_array_push(x_883, x_1); -x_901 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_901 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_902 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_902, 0, x_901); lean_ctor_set(x_902, 1, x_900); @@ -42626,7 +42626,7 @@ lean_ctor_set(x_914, 0, x_913); lean_ctor_set(x_914, 1, x_912); lean_inc(x_914); x_915 = lean_array_push(x_909, x_914); -x_916 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_916 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_917 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_917, 0, x_916); lean_ctor_set(x_917, 1, x_915); @@ -42773,7 +42773,7 @@ x_990 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_990, 0, x_913); lean_ctor_set(x_990, 1, x_989); x_991 = lean_array_push(x_883, x_990); -x_992 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_992 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_993 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_993, 0, x_992); lean_ctor_set(x_993, 1, x_991); @@ -42998,7 +42998,7 @@ lean_ctor_set(x_1100, 0, x_1080); lean_ctor_set(x_1100, 1, x_1099); x_1101 = lean_array_push(x_1098, x_1100); x_1102 = lean_array_push(x_1085, x_1); -x_1103 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_1103 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_1104 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1104, 0, x_1103); lean_ctor_set(x_1104, 1, x_1102); @@ -43025,7 +43025,7 @@ lean_ctor_set(x_1116, 0, x_1115); lean_ctor_set(x_1116, 1, x_1114); lean_inc(x_1116); x_1117 = lean_array_push(x_1111, x_1116); -x_1118 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_1118 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_1119 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1119, 0, x_1118); lean_ctor_set(x_1119, 1, x_1117); @@ -43123,7 +43123,7 @@ x_1171 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1171, 0, x_1115); lean_ctor_set(x_1171, 1, x_1170); x_1172 = lean_array_push(x_1085, x_1171); -x_1173 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_1173 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_1174 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1174, 0, x_1173); lean_ctor_set(x_1174, 1, x_1172); @@ -43189,7 +43189,7 @@ lean_ctor_set(x_1202, 0, x_1181); lean_ctor_set(x_1202, 1, x_1201); x_1203 = lean_array_push(x_1200, x_1202); x_1204 = lean_array_push(x_1187, x_1); -x_1205 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_1205 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_1206 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1206, 0, x_1205); lean_ctor_set(x_1206, 1, x_1204); @@ -43216,7 +43216,7 @@ lean_ctor_set(x_1218, 0, x_1217); lean_ctor_set(x_1218, 1, x_1216); lean_inc(x_1218); x_1219 = lean_array_push(x_1213, x_1218); -x_1220 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_1220 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_1221 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1221, 0, x_1220); lean_ctor_set(x_1221, 1, x_1219); @@ -43314,7 +43314,7 @@ x_1273 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1273, 0, x_1217); lean_ctor_set(x_1273, 1, x_1272); x_1274 = lean_array_push(x_1187, x_1273); -x_1275 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_1275 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_1276 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1276, 0, x_1275); lean_ctor_set(x_1276, 1, x_1274); @@ -43351,14 +43351,14 @@ lean_ctor_set(x_1288, 1, x_1287); x_1289 = l_Array_empty___closed__1; x_1290 = lean_array_push(x_1289, x_1288); x_1291 = lean_array_push(x_1289, x_1); -x_1292 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_1292 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_1293 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1293, 0, x_1292); lean_ctor_set(x_1293, 1, x_1291); x_1294 = lean_array_push(x_1289, x_1293); x_1295 = l_myMacro____x40_Init_Notation___hyg_1481____closed__8; x_1296 = lean_array_push(x_1294, x_1295); -x_1297 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_1297 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_1298 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1298, 0, x_1297); lean_ctor_set(x_1298, 1, x_1296); @@ -43368,7 +43368,7 @@ x_1301 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1301, 0, x_1300); lean_ctor_set(x_1301, 1, x_1299); x_1302 = lean_array_push(x_1289, x_1301); -x_1303 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_1303 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_1304 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1304, 0, x_1303); lean_ctor_set(x_1304, 1, x_1302); @@ -43399,14 +43399,14 @@ lean_ctor_set(x_1314, 1, x_1313); x_1315 = l_Array_empty___closed__1; x_1316 = lean_array_push(x_1315, x_1314); x_1317 = lean_array_push(x_1315, x_1); -x_1318 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_1318 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_1319 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1319, 0, x_1318); lean_ctor_set(x_1319, 1, x_1317); x_1320 = lean_array_push(x_1315, x_1319); x_1321 = l_myMacro____x40_Init_Notation___hyg_1481____closed__8; x_1322 = lean_array_push(x_1320, x_1321); -x_1323 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_1323 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_1324 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1324, 0, x_1323); lean_ctor_set(x_1324, 1, x_1322); @@ -43416,7 +43416,7 @@ x_1327 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1327, 0, x_1326); lean_ctor_set(x_1327, 1, x_1325); x_1328 = lean_array_push(x_1315, x_1327); -x_1329 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_1329 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_1330 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1330, 0, x_1329); lean_ctor_set(x_1330, 1, x_1328); @@ -43493,7 +43493,7 @@ lean_ctor_set(x_1362, 0, x_1342); lean_ctor_set(x_1362, 1, x_1361); x_1363 = lean_array_push(x_1360, x_1362); x_1364 = lean_array_push(x_1347, x_1); -x_1365 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_1365 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_1366 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1366, 0, x_1365); lean_ctor_set(x_1366, 1, x_1364); @@ -43520,7 +43520,7 @@ lean_ctor_set(x_1378, 0, x_1377); lean_ctor_set(x_1378, 1, x_1376); lean_inc(x_1378); x_1379 = lean_array_push(x_1373, x_1378); -x_1380 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_1380 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_1381 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1381, 0, x_1380); lean_ctor_set(x_1381, 1, x_1379); @@ -43677,7 +43677,7 @@ x_1458 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1458, 0, x_1377); lean_ctor_set(x_1458, 1, x_1457); x_1459 = lean_array_push(x_1347, x_1458); -x_1460 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_1460 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_1461 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1461, 0, x_1460); lean_ctor_set(x_1461, 1, x_1459); @@ -43882,7 +43882,7 @@ lean_ctor_set(x_1563, 0, x_1542); lean_ctor_set(x_1563, 1, x_1562); x_1564 = lean_array_push(x_1561, x_1563); x_1565 = lean_array_push(x_1548, x_1); -x_1566 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_1566 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_1567 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1567, 0, x_1566); lean_ctor_set(x_1567, 1, x_1565); @@ -43909,7 +43909,7 @@ lean_ctor_set(x_1579, 0, x_1578); lean_ctor_set(x_1579, 1, x_1577); lean_inc(x_1579); x_1580 = lean_array_push(x_1574, x_1579); -x_1581 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_1581 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_1582 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1582, 0, x_1581); lean_ctor_set(x_1582, 1, x_1580); @@ -44066,7 +44066,7 @@ x_1659 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1659, 0, x_1578); lean_ctor_set(x_1659, 1, x_1658); x_1660 = lean_array_push(x_1548, x_1659); -x_1661 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_1661 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_1662 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1662, 0, x_1661); lean_ctor_set(x_1662, 1, x_1660); @@ -44284,7 +44284,7 @@ lean_ctor_set(x_1768, 0, x_1748); lean_ctor_set(x_1768, 1, x_1767); x_1769 = lean_array_push(x_1766, x_1768); x_1770 = lean_array_push(x_1753, x_1); -x_1771 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_1771 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_1772 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1772, 0, x_1771); lean_ctor_set(x_1772, 1, x_1770); @@ -44311,7 +44311,7 @@ lean_ctor_set(x_1784, 0, x_1783); lean_ctor_set(x_1784, 1, x_1782); lean_inc(x_1784); x_1785 = lean_array_push(x_1779, x_1784); -x_1786 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_1786 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_1787 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1787, 0, x_1786); lean_ctor_set(x_1787, 1, x_1785); @@ -44468,7 +44468,7 @@ x_1864 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1864, 0, x_1783); lean_ctor_set(x_1864, 1, x_1863); x_1865 = lean_array_push(x_1753, x_1864); -x_1866 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_1866 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_1867 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1867, 0, x_1866); lean_ctor_set(x_1867, 1, x_1865); @@ -44635,7 +44635,7 @@ lean_ctor_set(x_1949, 0, x_1928); lean_ctor_set(x_1949, 1, x_1948); x_1950 = lean_array_push(x_1947, x_1949); x_1951 = lean_array_push(x_1934, x_1); -x_1952 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_1952 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_1953 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1953, 0, x_1952); lean_ctor_set(x_1953, 1, x_1951); @@ -44662,7 +44662,7 @@ lean_ctor_set(x_1965, 0, x_1964); lean_ctor_set(x_1965, 1, x_1963); lean_inc(x_1965); x_1966 = lean_array_push(x_1960, x_1965); -x_1967 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_1967 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_1968 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1968, 0, x_1967); lean_ctor_set(x_1968, 1, x_1966); @@ -44819,7 +44819,7 @@ x_2045 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_2045, 0, x_1964); lean_ctor_set(x_2045, 1, x_2044); x_2046 = lean_array_push(x_1934, x_2045); -x_2047 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_2047 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_2048 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_2048, 0, x_2047); lean_ctor_set(x_2048, 1, x_2046); @@ -44995,7 +44995,7 @@ lean_ctor_set(x_2134, 0, x_2114); lean_ctor_set(x_2134, 1, x_2133); x_2135 = lean_array_push(x_2132, x_2134); x_2136 = lean_array_push(x_2119, x_1); -x_2137 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_2137 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_2138 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_2138, 0, x_2137); lean_ctor_set(x_2138, 1, x_2136); @@ -45022,7 +45022,7 @@ lean_ctor_set(x_2150, 0, x_2149); lean_ctor_set(x_2150, 1, x_2148); lean_inc(x_2150); x_2151 = lean_array_push(x_2145, x_2150); -x_2152 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_2152 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_2153 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_2153, 0, x_2152); lean_ctor_set(x_2153, 1, x_2151); @@ -45181,7 +45181,7 @@ x_2230 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_2230, 0, x_2149); lean_ctor_set(x_2230, 1, x_2229); x_2231 = lean_array_push(x_2119, x_2230); -x_2232 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_2232 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_2233 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_2233, 0, x_2232); lean_ctor_set(x_2233, 1, x_2231); @@ -45441,7 +45441,7 @@ lean_ctor_set(x_2363, 0, x_2342); lean_ctor_set(x_2363, 1, x_2362); x_2364 = lean_array_push(x_2361, x_2363); x_2365 = lean_array_push(x_2348, x_1); -x_2366 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_2366 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_2367 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_2367, 0, x_2366); lean_ctor_set(x_2367, 1, x_2365); @@ -45468,7 +45468,7 @@ lean_ctor_set(x_2379, 0, x_2378); lean_ctor_set(x_2379, 1, x_2377); lean_inc(x_2379); x_2380 = lean_array_push(x_2374, x_2379); -x_2381 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_2381 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_2382 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_2382, 0, x_2381); lean_ctor_set(x_2382, 1, x_2380); @@ -45627,7 +45627,7 @@ x_2459 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_2459, 0, x_2378); lean_ctor_set(x_2459, 1, x_2458); x_2460 = lean_array_push(x_2348, x_2459); -x_2461 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_2461 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_2462 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_2462, 0, x_2461); lean_ctor_set(x_2462, 1, x_2460); @@ -47872,7 +47872,7 @@ x_42 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_42, 0, x_20); lean_ctor_set(x_42, 1, x_41); x_43 = lean_array_push(x_40, x_42); -x_44 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__12; +x_44 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__12; x_45 = lean_name_mk_string(x_4, x_44); x_46 = lean_array_push(x_28, x_15); x_47 = lean_alloc_ctor(1, 2, 0); @@ -52064,7 +52064,7 @@ x_72 = lean_name_eq(x_38, x_71); if (x_72 == 0) { lean_object* x_73; uint8_t x_74; -x_73 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_73 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_74 = lean_name_eq(x_38, x_73); lean_dec(x_38); if (x_74 == 0) @@ -54099,7 +54099,7 @@ x_564 = lean_name_eq(x_530, x_563); if (x_564 == 0) { lean_object* x_565; uint8_t x_566; -x_565 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_565 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_566 = lean_name_eq(x_530, x_565); lean_dec(x_530); if (x_566 == 0) @@ -55958,7 +55958,7 @@ lean_ctor_set(x_88, 0, x_87); lean_ctor_set(x_88, 1, x_86); x_89 = lean_array_push(x_65, x_88); x_90 = lean_array_push(x_89, x_70); -x_91 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_91 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_92 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_92, 0, x_91); lean_ctor_set(x_92, 1, x_90); @@ -55967,7 +55967,7 @@ x_94 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_94, 0, x_79); lean_ctor_set(x_94, 1, x_93); x_95 = lean_array_push(x_65, x_94); -x_96 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_96 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_97 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_97, 0, x_96); lean_ctor_set(x_97, 1, x_95); @@ -59769,7 +59769,7 @@ lean_ctor_set(x_125, 0, x_104); lean_ctor_set(x_125, 1, x_124); x_126 = lean_array_push(x_123, x_125); x_127 = lean_array_push(x_76, x_101); -x_128 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_128 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_129 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_129, 0, x_128); lean_ctor_set(x_129, 1, x_127); @@ -59794,7 +59794,7 @@ x_140 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_140, 0, x_87); lean_ctor_set(x_140, 1, x_139); x_141 = lean_array_push(x_136, x_140); -x_142 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_142 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_143 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_143, 0, x_142); lean_ctor_set(x_143, 1, x_141); @@ -59827,7 +59827,7 @@ x_161 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_161, 0, x_87); lean_ctor_set(x_161, 1, x_160); x_162 = lean_array_push(x_76, x_161); -x_163 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_163 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_164 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_164, 0, x_163); lean_ctor_set(x_164, 1, x_162); @@ -59898,7 +59898,7 @@ lean_ctor_set(x_194, 0, x_173); lean_ctor_set(x_194, 1, x_193); x_195 = lean_array_push(x_192, x_194); x_196 = lean_array_push(x_76, x_101); -x_197 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_197 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_198 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_198, 0, x_197); lean_ctor_set(x_198, 1, x_196); @@ -59924,7 +59924,7 @@ lean_ctor_set(x_209, 0, x_87); lean_ctor_set(x_209, 1, x_208); lean_inc(x_209); x_210 = lean_array_push(x_205, x_209); -x_211 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_211 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_212 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_212, 0, x_211); lean_ctor_set(x_212, 1, x_210); @@ -60043,7 +60043,7 @@ x_276 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_276, 0, x_87); lean_ctor_set(x_276, 1, x_275); x_277 = lean_array_push(x_76, x_276); -x_278 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_278 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_279 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_279, 0, x_278); lean_ctor_set(x_279, 1, x_277); @@ -60547,7 +60547,7 @@ lean_ctor_set(x_486, 0, x_467); lean_ctor_set(x_486, 1, x_485); x_487 = lean_array_push(x_484, x_486); x_488 = lean_array_push(x_375, x_465); -x_489 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_489 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_490 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_490, 0, x_489); lean_ctor_set(x_490, 1, x_488); @@ -60572,7 +60572,7 @@ lean_ctor_set(x_500, 0, x_394); lean_ctor_set(x_500, 1, x_499); lean_inc(x_500); x_501 = lean_array_push(x_497, x_500); -x_502 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_502 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_503 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_503, 0, x_502); lean_ctor_set(x_503, 1, x_501); @@ -60773,7 +60773,7 @@ x_600 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_600, 0, x_394); lean_ctor_set(x_600, 1, x_599); x_601 = lean_array_push(x_375, x_600); -x_602 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_602 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_603 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_603, 0, x_602); lean_ctor_set(x_603, 1, x_601); @@ -61659,7 +61659,7 @@ lean_ctor_set(x_913, 0, x_892); lean_ctor_set(x_913, 1, x_912); x_914 = lean_array_push(x_911, x_913); x_915 = lean_array_push(x_864, x_889); -x_916 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_916 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_917 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_917, 0, x_916); lean_ctor_set(x_917, 1, x_915); @@ -61684,7 +61684,7 @@ x_928 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_928, 0, x_875); lean_ctor_set(x_928, 1, x_927); x_929 = lean_array_push(x_924, x_928); -x_930 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_930 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_931 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_931, 0, x_930); lean_ctor_set(x_931, 1, x_929); @@ -61717,7 +61717,7 @@ x_949 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_949, 0, x_875); lean_ctor_set(x_949, 1, x_948); x_950 = lean_array_push(x_864, x_949); -x_951 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_951 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_952 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_952, 0, x_951); lean_ctor_set(x_952, 1, x_950); @@ -61788,7 +61788,7 @@ lean_ctor_set(x_982, 0, x_961); lean_ctor_set(x_982, 1, x_981); x_983 = lean_array_push(x_980, x_982); x_984 = lean_array_push(x_864, x_889); -x_985 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_985 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_986 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_986, 0, x_985); lean_ctor_set(x_986, 1, x_984); @@ -61814,7 +61814,7 @@ lean_ctor_set(x_997, 0, x_875); lean_ctor_set(x_997, 1, x_996); lean_inc(x_997); x_998 = lean_array_push(x_993, x_997); -x_999 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_999 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_1000 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1000, 0, x_999); lean_ctor_set(x_1000, 1, x_998); @@ -61933,7 +61933,7 @@ x_1064 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1064, 0, x_875); lean_ctor_set(x_1064, 1, x_1063); x_1065 = lean_array_push(x_864, x_1064); -x_1066 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_1066 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_1067 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1067, 0, x_1066); lean_ctor_set(x_1067, 1, x_1065); @@ -62427,7 +62427,7 @@ lean_ctor_set(x_1267, 0, x_1248); lean_ctor_set(x_1267, 1, x_1266); x_1268 = lean_array_push(x_1265, x_1267); x_1269 = lean_array_push(x_1156, x_1246); -x_1270 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_1270 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_1271 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1271, 0, x_1270); lean_ctor_set(x_1271, 1, x_1269); @@ -62452,7 +62452,7 @@ lean_ctor_set(x_1281, 0, x_1175); lean_ctor_set(x_1281, 1, x_1280); lean_inc(x_1281); x_1282 = lean_array_push(x_1278, x_1281); -x_1283 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_1283 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_1284 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1284, 0, x_1283); lean_ctor_set(x_1284, 1, x_1282); @@ -62653,7 +62653,7 @@ x_1381 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1381, 0, x_1175); lean_ctor_set(x_1381, 1, x_1380); x_1382 = lean_array_push(x_1156, x_1381); -x_1383 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_1383 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_1384 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1384, 0, x_1383); lean_ctor_set(x_1384, 1, x_1382); @@ -63045,7 +63045,7 @@ lean_ctor_set(x_1668, 0, x_1667); lean_ctor_set(x_1668, 1, x_1666); x_1669 = lean_array_push(x_1632, x_1668); x_1670 = lean_array_push(x_1669, x_1648); -x_1671 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_1671 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_1672 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1672, 0, x_1671); lean_ctor_set(x_1672, 1, x_1670); @@ -63162,7 +63162,7 @@ x_1730 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1730, 0, x_1640); lean_ctor_set(x_1730, 1, x_1729); x_1731 = lean_array_push(x_1632, x_1730); -x_1732 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_1732 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_1733 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1733, 0, x_1732); lean_ctor_set(x_1733, 1, x_1731); @@ -63527,7 +63527,7 @@ lean_ctor_set(x_1914, 0, x_1913); lean_ctor_set(x_1914, 1, x_1912); x_1915 = lean_array_push(x_1878, x_1914); x_1916 = lean_array_push(x_1915, x_1894); -x_1917 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_1917 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_1918 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1918, 0, x_1917); lean_ctor_set(x_1918, 1, x_1916); @@ -63644,7 +63644,7 @@ x_1976 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1976, 0, x_1886); lean_ctor_set(x_1976, 1, x_1975); x_1977 = lean_array_push(x_1878, x_1976); -x_1978 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_1978 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_1979 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_1979, 0, x_1978); lean_ctor_set(x_1979, 1, x_1977); @@ -64046,7 +64046,7 @@ lean_ctor_set(x_2169, 0, x_2168); lean_ctor_set(x_2169, 1, x_2167); x_2170 = lean_array_push(x_2133, x_2169); x_2171 = lean_array_push(x_2170, x_2149); -x_2172 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_2172 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_2173 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_2173, 0, x_2172); lean_ctor_set(x_2173, 1, x_2171); @@ -64163,7 +64163,7 @@ x_2231 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_2231, 0, x_2141); lean_ctor_set(x_2231, 1, x_2230); x_2232 = lean_array_push(x_2133, x_2231); -x_2233 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_2233 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_2234 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_2234, 0, x_2233); lean_ctor_set(x_2234, 1, x_2232); @@ -65417,7 +65417,7 @@ x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_76); lean_ctor_set(x_77, 1, x_75); x_78 = lean_array_push(x_72, x_77); -x_79 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_79 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_80 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_80, 0, x_79); lean_ctor_set(x_80, 1, x_78); @@ -65450,7 +65450,7 @@ x_98 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_98, 0, x_76); lean_ctor_set(x_98, 1, x_97); x_99 = lean_array_push(x_50, x_98); -x_100 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_100 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_101 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_101, 0, x_100); lean_ctor_set(x_101, 1, x_99); @@ -65574,7 +65574,7 @@ x_159 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_159, 0, x_158); lean_ctor_set(x_159, 1, x_157); x_160 = lean_array_push(x_154, x_159); -x_161 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_161 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_162 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_162, 0, x_161); lean_ctor_set(x_162, 1, x_160); @@ -65607,7 +65607,7 @@ x_180 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_180, 0, x_158); lean_ctor_set(x_180, 1, x_179); x_181 = lean_array_push(x_132, x_180); -x_182 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_182 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_183 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_183, 0, x_182); lean_ctor_set(x_183, 1, x_181); @@ -65769,7 +65769,7 @@ x_251 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_251, 0, x_250); lean_ctor_set(x_251, 1, x_249); x_252 = lean_array_push(x_246, x_251); -x_253 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_253 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_254 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_254, 0, x_253); lean_ctor_set(x_254, 1, x_252); @@ -65802,7 +65802,7 @@ x_272 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_272, 0, x_250); lean_ctor_set(x_272, 1, x_271); x_273 = lean_array_push(x_224, x_272); -x_274 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_274 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_275 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_275, 0, x_274); lean_ctor_set(x_275, 1, x_273); @@ -65902,7 +65902,7 @@ x_324 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_324, 0, x_323); lean_ctor_set(x_324, 1, x_322); x_325 = lean_array_push(x_319, x_324); -x_326 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_326 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_327 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_327, 0, x_326); lean_ctor_set(x_327, 1, x_325); @@ -65935,7 +65935,7 @@ x_345 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_345, 0, x_323); lean_ctor_set(x_345, 1, x_344); x_346 = lean_array_push(x_297, x_345); -x_347 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_347 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_348 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_348, 0, x_347); lean_ctor_set(x_348, 1, x_346); @@ -65993,10 +65993,10 @@ lean_ctor_set(x_34, 0, x_24); lean_ctor_set(x_34, 1, x_32); x_35 = l_Array_empty___closed__1; x_36 = lean_array_push(x_35, x_34); -x_37 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__8; +x_37 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__8; lean_inc(x_3); x_38 = lean_name_mk_string(x_3, x_37); -x_39 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__10; +x_39 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__10; lean_inc(x_3); x_40 = lean_name_mk_string(x_3, x_39); x_41 = l_Lean_Parser_Term_doLetArrow___elambda__1___closed__1; @@ -66416,7 +66416,7 @@ x_87 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_87, 0, x_86); lean_ctor_set(x_87, 1, x_85); x_88 = lean_array_push(x_82, x_87); -x_89 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_89 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_90 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_90, 0, x_89); lean_ctor_set(x_90, 1, x_88); @@ -66454,7 +66454,7 @@ x_111 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_111, 0, x_86); lean_ctor_set(x_111, 1, x_110); x_112 = lean_array_push(x_60, x_111); -x_113 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_113 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_114 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_114, 0, x_113); lean_ctor_set(x_114, 1, x_112); @@ -66544,7 +66544,7 @@ x_157 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_157, 0, x_156); lean_ctor_set(x_157, 1, x_155); x_158 = lean_array_push(x_152, x_157); -x_159 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_159 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_160 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_160, 0, x_159); lean_ctor_set(x_160, 1, x_158); @@ -66592,7 +66592,7 @@ x_186 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_186, 0, x_156); lean_ctor_set(x_186, 1, x_185); x_187 = lean_array_push(x_130, x_186); -x_188 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_188 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_189 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_189, 0, x_188); lean_ctor_set(x_189, 1, x_187); @@ -66718,7 +66718,7 @@ x_244 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_244, 0, x_243); lean_ctor_set(x_244, 1, x_242); x_245 = lean_array_push(x_239, x_244); -x_246 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_246 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_247 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_247, 0, x_246); lean_ctor_set(x_247, 1, x_245); @@ -66756,7 +66756,7 @@ x_268 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_268, 0, x_243); lean_ctor_set(x_268, 1, x_267); x_269 = lean_array_push(x_217, x_268); -x_270 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_270 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_271 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_271, 0, x_270); lean_ctor_set(x_271, 1, x_269); @@ -66846,7 +66846,7 @@ x_314 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_314, 0, x_313); lean_ctor_set(x_314, 1, x_312); x_315 = lean_array_push(x_309, x_314); -x_316 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_316 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_317 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_317, 0, x_316); lean_ctor_set(x_317, 1, x_315); @@ -66894,7 +66894,7 @@ x_343 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_343, 0, x_313); lean_ctor_set(x_343, 1, x_342); x_344 = lean_array_push(x_287, x_343); -x_345 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_345 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_346 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_346, 0, x_345); lean_ctor_set(x_346, 1, x_344); @@ -67058,7 +67058,7 @@ x_411 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_411, 0, x_410); lean_ctor_set(x_411, 1, x_409); x_412 = lean_array_push(x_406, x_411); -x_413 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_413 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_414 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_414, 0, x_413); lean_ctor_set(x_414, 1, x_412); @@ -67096,7 +67096,7 @@ x_435 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_435, 0, x_410); lean_ctor_set(x_435, 1, x_434); x_436 = lean_array_push(x_384, x_435); -x_437 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_437 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_438 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_438, 0, x_437); lean_ctor_set(x_438, 1, x_436); @@ -67186,7 +67186,7 @@ x_481 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_481, 0, x_480); lean_ctor_set(x_481, 1, x_479); x_482 = lean_array_push(x_476, x_481); -x_483 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_483 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_484 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_484, 0, x_483); lean_ctor_set(x_484, 1, x_482); @@ -67234,7 +67234,7 @@ x_510 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_510, 0, x_480); lean_ctor_set(x_510, 1, x_509); x_511 = lean_array_push(x_454, x_510); -x_512 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_512 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_513 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_513, 0, x_512); lean_ctor_set(x_513, 1, x_511); @@ -69402,7 +69402,7 @@ x_15 = lean_array_push(x_14, x_13); x_16 = lean_array_push(x_14, x_5); x_17 = l_myMacro____x40_Init_Notation___hyg_1481____closed__8; x_18 = lean_array_push(x_16, x_17); -x_19 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_19 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_20 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_20, 0, x_19); lean_ctor_set(x_20, 1, x_18); @@ -69412,7 +69412,7 @@ x_23 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_23, 0, x_22); lean_ctor_set(x_23, 1, x_21); x_24 = lean_array_push(x_14, x_23); -x_25 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_25 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_26 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_26, 0, x_25); lean_ctor_set(x_26, 1, x_24); @@ -69441,7 +69441,7 @@ x_35 = lean_array_push(x_34, x_33); x_36 = lean_array_push(x_34, x_5); x_37 = l_myMacro____x40_Init_Notation___hyg_1481____closed__8; x_38 = lean_array_push(x_36, x_37); -x_39 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_39 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_40 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_40, 0, x_39); lean_ctor_set(x_40, 1, x_38); @@ -69451,7 +69451,7 @@ x_43 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_43, 0, x_42); lean_ctor_set(x_43, 1, x_41); x_44 = lean_array_push(x_34, x_43); -x_45 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_45 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_46 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_46, 0, x_45); lean_ctor_set(x_46, 1, x_44); @@ -69514,7 +69514,7 @@ x_66 = lean_array_push(x_65, x_64); x_67 = lean_array_push(x_65, x_5); x_68 = l_myMacro____x40_Init_Notation___hyg_1481____closed__8; x_69 = lean_array_push(x_67, x_68); -x_70 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_70 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_71 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_71, 0, x_70); lean_ctor_set(x_71, 1, x_69); @@ -69524,7 +69524,7 @@ x_74 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_74, 0, x_73); lean_ctor_set(x_74, 1, x_72); x_75 = lean_array_push(x_65, x_74); -x_76 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_76 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_77 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_77, 0, x_76); lean_ctor_set(x_77, 1, x_75); diff --git a/stage0/stdlib/Lean/Elab/GenInjective.c b/stage0/stdlib/Lean/Elab/GenInjective.c new file mode 100644 index 0000000000..7670ce8536 --- /dev/null +++ b/stage0/stdlib/Lean/Elab/GenInjective.c @@ -0,0 +1,473 @@ +// Lean compiler output +// Module: Lean.Elab.GenInjective +// Imports: Init Lean.Elab.Command Lean.Meta.Injective +#include +#if defined(__clang__) +#pragma clang diagnostic ignored "-Wunused-parameter" +#pragma clang diagnostic ignored "-Wunused-label" +#elif defined(__GNUC__) && !defined(__CLANG__) +#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wunused-label" +#pragma GCC diagnostic ignored "-Wunused-but-set-variable" +#endif +#ifdef __cplusplus +extern "C" { +#endif +lean_object* l_Lean_Elab_Command_elabGenInjectiveTheorems___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_Command_liftTermElabM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_toString___at_Lean_resolveGlobalConstNoOverload___spec__2(lean_object*); +extern lean_object* l_Lean_Elab_Command_commandElabAttribute; +lean_object* l_Lean_Elab_Command_elabGenInjectiveTheorems___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_mkInjectiveTheorems(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_st_ref_get(lean_object*, lean_object*); +extern lean_object* l_Lean_instInhabitedParserDescr___closed__1; +lean_object* lean_string_append(lean_object*, lean_object*); +lean_object* l_Lean_Elab_Command_elabGenInjectiveTheorems___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_throwUnknownConstant___rarg___closed__2; +lean_object* l_List_map___at_Lean_resolveGlobalConstNoOverload___spec__1(lean_object*, lean_object*); +lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabCommand___spec__21(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__1; +lean_object* l_Lean_Syntax_getId(lean_object*); +lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabExport___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_filterAux___at_Lean_resolveGlobalConst___spec__1(lean_object*, lean_object*); +lean_object* lean_expr_dbg_to_string(lean_object*); +extern lean_object* l_Lean_Parser_Command_genInjectiveTheorems___elambda__1___closed__2; +lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_KernelException_toMessageData___closed__3; +extern lean_object* l_Lean_resolveGlobalConstNoOverload___rarg___lambda__1___closed__1; +extern lean_object* l_Lean_resolveGlobalConstNoOverload___rarg___lambda__1___closed__2; +lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); +lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_List_isEmpty___rarg(lean_object*); +lean_object* l_Lean_Elab_Command_getScope___rarg(lean_object*, lean_object*); +lean_object* l_Lean_Elab_Command_elabGenInjectiveTheorems(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_mkConst(lean_object*, lean_object*); +lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems(lean_object*); +lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3(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; 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; uint8_t x_14; +x_5 = lean_st_ref_get(x_3, x_4); +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_5, 1); +lean_inc(x_7); +lean_dec(x_5); +x_8 = lean_ctor_get(x_6, 0); +lean_inc(x_8); +lean_dec(x_6); +x_9 = l_Lean_Elab_Command_getScope___rarg(x_3, x_7); +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_9, 1); +lean_inc(x_11); +lean_dec(x_9); +x_12 = lean_ctor_get(x_10, 2); +lean_inc(x_12); +lean_dec(x_10); +x_13 = l_Lean_Elab_Command_getScope___rarg(x_3, x_11); +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) +{ +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_15, 3); +lean_inc(x_16); +lean_dec(x_15); +x_17 = l_Lean_ResolveName_resolveGlobalName(x_8, x_12, x_16, x_1); +lean_dec(x_12); +lean_ctor_set(x_13, 0, x_17); +return x_13; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_18 = lean_ctor_get(x_13, 0); +x_19 = lean_ctor_get(x_13, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_13); +x_20 = lean_ctor_get(x_18, 3); +lean_inc(x_20); +lean_dec(x_18); +x_21 = l_Lean_ResolveName_resolveGlobalName(x_8, x_12, x_20, x_1); +lean_dec(x_12); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_21); +lean_ctor_set(x_22, 1, x_19); +return x_22; +} +} +} +lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4(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; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_5 = lean_box(0); +x_6 = l_Lean_mkConst(x_1, x_5); +x_7 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_7, 0, x_6); +x_8 = l_Lean_throwUnknownConstant___rarg___closed__2; +x_9 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +x_10 = l_Lean_KernelException_toMessageData___closed__3; +x_11 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_11, 0, x_9); +lean_ctor_set(x_11, 1, x_10); +x_12 = l_Lean_throwError___at_Lean_Elab_Command_elabCommand___spec__21(x_11, x_2, x_3, x_4); +return x_12; +} +} +lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___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; lean_object* x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10; +lean_inc(x_1); +x_5 = l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3(x_1, x_2, x_3, x_4); +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_5, 1); +lean_inc(x_7); +lean_dec(x_5); +x_8 = lean_box(0); +x_9 = l_List_filterAux___at_Lean_resolveGlobalConst___spec__1(x_6, x_8); +x_10 = l_List_isEmpty___rarg(x_9); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; +lean_dec(x_1); +x_11 = lean_box(0); +x_12 = l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__4___lambda__1(x_9, x_11, x_2, x_3, x_7); +lean_dec(x_2); +return x_12; +} +else +{ +lean_object* x_13; uint8_t x_14; +lean_dec(x_9); +x_13 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4(x_1, x_2, x_3, x_7); +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(1, 2, 0); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_16); +return x_17; +} +} +} +} +lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +lean_inc(x_2); +lean_inc(x_1); +x_5 = l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2(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) == 0) +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_7 = lean_ctor_get(x_5, 1); +lean_inc(x_7); +lean_dec(x_5); +x_8 = lean_box(0); +x_9 = l_Lean_mkConst(x_1, x_8); +x_10 = lean_expr_dbg_to_string(x_9); +lean_dec(x_9); +x_11 = l_Lean_resolveGlobalConstNoOverload___rarg___lambda__1___closed__1; +x_12 = lean_string_append(x_11, x_10); +lean_dec(x_10); +x_13 = l_Lean_resolveGlobalConstNoOverload___rarg___lambda__1___closed__2; +x_14 = lean_string_append(x_12, x_13); +x_15 = l_List_map___at_Lean_resolveGlobalConstNoOverload___spec__1(x_8, x_6); +x_16 = l_List_toString___at_Lean_resolveGlobalConstNoOverload___spec__2(x_15); +x_17 = lean_string_append(x_14, x_16); +lean_dec(x_16); +x_18 = l_Lean_instInhabitedParserDescr___closed__1; +x_19 = lean_string_append(x_17, x_18); +x_20 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_20, 0, x_19); +x_21 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_21, 0, x_20); +x_22 = l_Lean_throwError___at_Lean_Elab_Command_elabExport___spec__2(x_21, x_2, x_3, x_7); +return x_22; +} +else +{ +lean_object* x_23; +x_23 = lean_ctor_get(x_6, 1); +lean_inc(x_23); +if (lean_obj_tag(x_23) == 0) +{ +uint8_t x_24; +lean_dec(x_2); +lean_dec(x_1); +x_24 = !lean_is_exclusive(x_5); +if (x_24 == 0) +{ +lean_object* x_25; lean_object* x_26; +x_25 = lean_ctor_get(x_5, 0); +lean_dec(x_25); +x_26 = lean_ctor_get(x_6, 0); +lean_inc(x_26); +lean_dec(x_6); +lean_ctor_set(x_5, 0, x_26); +return x_5; +} +else +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_5, 1); +lean_inc(x_27); +lean_dec(x_5); +x_28 = lean_ctor_get(x_6, 0); +lean_inc(x_28); +lean_dec(x_6); +x_29 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_29, 0, x_28); +lean_ctor_set(x_29, 1, x_27); +return x_29; +} +} +else +{ +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_dec(x_23); +x_30 = lean_ctor_get(x_5, 1); +lean_inc(x_30); +lean_dec(x_5); +x_31 = lean_box(0); +x_32 = l_Lean_mkConst(x_1, x_31); +x_33 = lean_expr_dbg_to_string(x_32); +lean_dec(x_32); +x_34 = l_Lean_resolveGlobalConstNoOverload___rarg___lambda__1___closed__1; +x_35 = lean_string_append(x_34, x_33); +lean_dec(x_33); +x_36 = l_Lean_resolveGlobalConstNoOverload___rarg___lambda__1___closed__2; +x_37 = lean_string_append(x_35, x_36); +x_38 = l_List_map___at_Lean_resolveGlobalConstNoOverload___spec__1(x_31, x_6); +x_39 = l_List_toString___at_Lean_resolveGlobalConstNoOverload___spec__2(x_38); +x_40 = lean_string_append(x_37, x_39); +lean_dec(x_39); +x_41 = l_Lean_instInhabitedParserDescr___closed__1; +x_42 = lean_string_append(x_40, x_41); +x_43 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_43, 0, x_42); +x_44 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_44, 0, x_43); +x_45 = l_Lean_throwError___at_Lean_Elab_Command_elabExport___spec__2(x_44, x_2, x_3, x_30); +return x_45; +} +} +} +else +{ +uint8_t x_46; +lean_dec(x_2); +lean_dec(x_1); +x_46 = !lean_is_exclusive(x_5); +if (x_46 == 0) +{ +return x_5; +} +else +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_5, 0); +x_48 = lean_ctor_get(x_5, 1); +lean_inc(x_48); +lean_inc(x_47); +lean_dec(x_5); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; +} +} +} +} +lean_object* l_Lean_Elab_Command_elabGenInjectiveTheorems___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) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_Meta_mkInjectiveTheorems(x_1, x_4, x_5, x_6, x_7, x_8); +return x_9; +} +} +lean_object* l_Lean_Elab_Command_elabGenInjectiveTheorems(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; lean_object* x_7; lean_object* x_8; +x_5 = lean_unsigned_to_nat(1u); +x_6 = l_Lean_Syntax_getArg(x_1, x_5); +x_7 = l_Lean_Syntax_getId(x_6); +lean_dec(x_6); +lean_inc(x_2); +x_8 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1(x_7, x_2, x_3, x_4); +if (lean_obj_tag(x_8) == 0) +{ +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_8, 0); +lean_inc(x_9); +x_10 = lean_ctor_get(x_8, 1); +lean_inc(x_10); +lean_dec(x_8); +x_11 = lean_box(0); +x_12 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabGenInjectiveTheorems___lambda__1___boxed), 8, 1); +lean_closure_set(x_12, 0, x_9); +x_13 = l_Lean_Elab_Command_liftTermElabM___rarg(x_11, x_12, x_2, x_3, x_10); +return x_13; +} +else +{ +uint8_t x_14; +lean_dec(x_2); +x_14 = !lean_is_exclusive(x_8); +if (x_14 == 0) +{ +return x_8; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_8, 0); +x_16 = lean_ctor_get(x_8, 1); +lean_inc(x_16); +lean_inc(x_15); +lean_dec(x_8); +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_16); +return x_17; +} +} +} +} +lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___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_resolveGlobalName___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4___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_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4(x_1, x_2, x_3, x_4); +lean_dec(x_3); +return x_5; +} +} +lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___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_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2(x_1, x_2, x_3, x_4); +lean_dec(x_3); +return x_5; +} +} +lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___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_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1(x_1, x_2, x_3, x_4); +lean_dec(x_3); +return x_5; +} +} +lean_object* l_Lean_Elab_Command_elabGenInjectiveTheorems___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) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_Elab_Command_elabGenInjectiveTheorems___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_3); +lean_dec(x_2); +return x_9; +} +} +lean_object* l_Lean_Elab_Command_elabGenInjectiveTheorems___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_Elab_Command_elabGenInjectiveTheorems(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_1); +return x_5; +} +} +static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabGenInjectiveTheorems___boxed), 4, 0); +return x_1; +} +} +lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems(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_Elab_Command_commandElabAttribute; +x_3 = l_Lean_Parser_Command_genInjectiveTheorems___elambda__1___closed__2; +x_4 = l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__1; +x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); +return x_5; +} +} +lean_object* initialize_Init(lean_object*); +lean_object* initialize_Lean_Elab_Command(lean_object*); +lean_object* initialize_Lean_Meta_Injective(lean_object*); +static bool _G_initialized = false; +lean_object* initialize_Lean_Elab_GenInjective(lean_object* w) { +lean_object * res; +if (_G_initialized) return lean_io_result_mk_ok(lean_box(0)); +_G_initialized = true; +res = initialize_Init(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Elab_Command(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Meta_Injective(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__1 = _init_l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__1); +res = l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +return lean_io_result_mk_ok(lean_box(0)); +} +#ifdef __cplusplus +} +#endif diff --git a/stage0/stdlib/Lean/Elab/Inductive.c b/stage0/stdlib/Lean/Elab/Inductive.c index 6708e43c00..039a5caeef 100644 --- a/stage0/stdlib/Lean/Elab/Inductive.c +++ b/stage0/stdlib/Lean/Elab/Inductive.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.Inductive -// Imports: Init Lean.Util.ReplaceLevel Lean.Util.ReplaceExpr Lean.Util.CollectLevelParams Lean.Util.Constructions Lean.Meta.CollectFVars Lean.Meta.SizeOf Lean.Meta.IndPredBelow Lean.Elab.Command Lean.Elab.DefView Lean.Elab.DeclUtil Lean.Elab.Deriving.Basic +// Imports: Init Lean.Util.ReplaceLevel Lean.Util.ReplaceExpr Lean.Util.CollectLevelParams Lean.Util.Constructions Lean.Meta.CollectFVars Lean.Meta.SizeOf Lean.Meta.Injective Lean.Meta.IndPredBelow Lean.Elab.Command Lean.Elab.DefView Lean.Elab.DeclUtil Lean.Elab.Deriving.Basic #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -97,6 +97,7 @@ lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams__ lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__9(uint8_t, uint8_t, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Level_hasMVar(lean_object*); lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Command_accLevelAtCtor___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_mkInjectiveTheorems(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParamAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyInferMod___spec__2(lean_object*, lean_object*, lean_object*); @@ -217,6 +218,7 @@ lean_object* l_Lean_Elab_Command_tmpIndParam___closed__2; lean_object* l_Lean_throwError___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_throwUnexpectedInductiveType___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkNumParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyDerivingHandlers___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabInductiveViews___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* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__9___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_object* l_Lean_replaceRef(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_removeUnused_match__1(lean_object*); @@ -240,6 +242,7 @@ lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_chec lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___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___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniversesFromCtorTypeAux___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* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyDerivingHandlers___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_Command_elabInductiveViews___lambda__2___boxed__const__1; lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_removeUnused___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Option_get___at_Lean_ppExpr___spec__1(lean_object*, lean_object*); lean_object* l_Lean_mkBelow___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -407,7 +410,7 @@ lean_object* l_Lean_Level_normalize(lean_object*); 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*); extern lean_object* l_Lean_instInhabitedExpr___closed__1; lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___rarg___lambda__2___closed__2; -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*); +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*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__6___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withUsed_match__1___rarg(lean_object*, lean_object*); extern lean_object* l_Lean_Expr_ReplaceLevelImpl_initCache; @@ -429,7 +432,7 @@ lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elab lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyDerivingHandlers___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_Command_elabInductiveViews___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* l_Lean_Elab_Command_elabInductiveViews___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isFVar(lean_object*); lean_object* l_Lean_Elab_Command_instInhabitedElabHeaderResult___closed__1; @@ -444,6 +447,7 @@ lean_object* l_Lean_Meta_inferType(lean_object*, lean_object*, lean_object*, lea lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__4___closed__1; lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkBInductionOn___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +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_object* l_Lean_Elab_Command_checkValidInductiveModifier___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_removeUnused_match__1___rarg(lean_object*, lean_object*); 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*); @@ -16285,213 +16289,501 @@ lean_dec(x_1); return x_5; } } -lean_object* l_Lean_Elab_Command_elabInductiveViews___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* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabInductiveViews___spec__1(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_13; uint8_t x_14; -x_13 = l_Lean_replaceRef(x_1, x_5); -x_14 = !lean_is_exclusive(x_10); -if (x_14 == 0) +uint8_t x_12; +x_12 = x_3 < x_2; +if (x_12 == 0) { -lean_object* x_15; lean_object* x_16; -x_15 = lean_ctor_get(x_10, 3); -lean_dec(x_15); -lean_ctor_set(x_10, 3, x_13); -lean_inc(x_11); +lean_object* x_13; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_4); +lean_ctor_set(x_13, 1, x_11); +return x_13; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +lean_dec(x_4); +x_14 = lean_array_uget(x_1, x_3); +x_15 = lean_ctor_get(x_14, 3); +lean_inc(x_15); +lean_dec(x_14); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_16 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl(x_2, x_3, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_inc(x_7); +x_16 = l_Lean_Meta_mkInjectiveTheorems(x_15, x_7, x_8, x_9, x_10, x_11); if (lean_obj_tag(x_16) == 0) { -lean_object* x_17; lean_object* x_18; +lean_object* x_17; size_t x_18; size_t x_19; lean_object* x_20; x_17 = lean_ctor_get(x_16, 1); lean_inc(x_17); lean_dec(x_16); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_4); -x_18 = l_Lean_Meta_mkSizeOfInstances(x_4, x_8, x_9, x_10, x_11, x_17); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; -x_19 = lean_ctor_get(x_18, 1); -lean_inc(x_19); -lean_dec(x_18); -x_20 = l_Lean_Meta_IndPredBelow_mkBelow(x_4, x_8, x_9, x_10, x_11, x_19); -return x_20; +x_18 = 1; +x_19 = x_3 + x_18; +x_20 = lean_box(0); +x_3 = x_19; +x_4 = x_20; +x_11 = x_17; +goto _start; } else { -uint8_t x_21; +uint8_t x_22; lean_dec(x_10); -lean_dec(x_11); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_4); -x_21 = !lean_is_exclusive(x_18); -if (x_21 == 0) -{ -return x_18; -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_18, 0); -x_23 = lean_ctor_get(x_18, 1); -lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_18); -x_24 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; -} -} -} -else -{ -uint8_t x_25; -lean_dec(x_10); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_4); -x_25 = !lean_is_exclusive(x_16); -if (x_25 == 0) +lean_dec(x_7); +x_22 = !lean_is_exclusive(x_16); +if (x_22 == 0) { return x_16; } else { -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_16, 0); -x_27 = lean_ctor_get(x_16, 1); -lean_inc(x_27); -lean_inc(x_26); +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_16, 0); +x_24 = lean_ctor_get(x_16, 1); +lean_inc(x_24); +lean_inc(x_23); lean_dec(x_16); -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; +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +return x_25; } } } +} +} +lean_object* l_Lean_Elab_Command_elabInductiveViews___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t 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: +{ +lean_object* x_14; uint8_t x_15; +x_14 = l_Lean_replaceRef(x_1, x_6); +x_15 = !lean_is_exclusive(x_11); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; +x_16 = lean_ctor_get(x_11, 3); +lean_dec(x_16); +lean_ctor_set(x_11, 3, x_14); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_3); +x_17 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl(x_2, x_3, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_17) == 0) +{ +lean_object* x_18; lean_object* x_19; +x_18 = lean_ctor_get(x_17, 1); +lean_inc(x_18); +lean_dec(x_17); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_4); +x_19 = l_Lean_Meta_mkSizeOfInstances(x_4, x_9, x_10, x_11, x_12, x_18); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; +x_20 = lean_ctor_get(x_19, 1); +lean_inc(x_20); +lean_dec(x_19); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_21 = l_Lean_Meta_IndPredBelow_mkBelow(x_4, x_9, x_10, x_11, x_12, x_20); +if (lean_obj_tag(x_21) == 0) +{ +lean_object* x_22; lean_object* x_23; size_t x_24; lean_object* x_25; lean_object* x_26; +x_22 = lean_ctor_get(x_21, 1); +lean_inc(x_22); +lean_dec(x_21); +x_23 = lean_array_get_size(x_3); +x_24 = lean_usize_of_nat(x_23); +lean_dec(x_23); +x_25 = lean_box(0); +x_26 = l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabInductiveViews___spec__1(x_3, x_24, x_5, x_25, x_7, x_8, x_9, x_10, x_11, x_12, x_22); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_3); +if (lean_obj_tag(x_26) == 0) +{ +uint8_t x_27; +x_27 = !lean_is_exclusive(x_26); +if (x_27 == 0) +{ +lean_object* x_28; +x_28 = lean_ctor_get(x_26, 0); +lean_dec(x_28); +lean_ctor_set(x_26, 0, x_25); +return x_26; +} +else +{ +lean_object* x_29; lean_object* x_30; +x_29 = lean_ctor_get(x_26, 1); +lean_inc(x_29); +lean_dec(x_26); +x_30 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_30, 0, x_25); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} else { -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_29 = lean_ctor_get(x_10, 0); -x_30 = lean_ctor_get(x_10, 1); -x_31 = lean_ctor_get(x_10, 2); -x_32 = lean_ctor_get(x_10, 4); -x_33 = lean_ctor_get(x_10, 5); -x_34 = lean_ctor_get(x_10, 6); -x_35 = lean_ctor_get(x_10, 7); -lean_inc(x_35); -lean_inc(x_34); +uint8_t x_31; +x_31 = !lean_is_exclusive(x_26); +if (x_31 == 0) +{ +return x_26; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_26, 0); +x_33 = lean_ctor_get(x_26, 1); lean_inc(x_33); lean_inc(x_32); -lean_inc(x_31); -lean_inc(x_30); -lean_inc(x_29); +lean_dec(x_26); +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; +} +} +} +else +{ +uint8_t x_35; +lean_dec(x_11); +lean_dec(x_12); lean_dec(x_10); -x_36 = lean_alloc_ctor(0, 8, 0); -lean_ctor_set(x_36, 0, x_29); -lean_ctor_set(x_36, 1, x_30); -lean_ctor_set(x_36, 2, x_31); -lean_ctor_set(x_36, 3, x_13); -lean_ctor_set(x_36, 4, x_32); -lean_ctor_set(x_36, 5, x_33); -lean_ctor_set(x_36, 6, x_34); -lean_ctor_set(x_36, 7, x_35); -lean_inc(x_11); -lean_inc(x_36); -lean_inc(x_9); -lean_inc(x_8); -x_37 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl(x_2, x_3, x_6, x_7, x_8, x_9, x_36, x_11, x_12); -if (lean_obj_tag(x_37) == 0) +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_3); +x_35 = !lean_is_exclusive(x_21); +if (x_35 == 0) { -lean_object* x_38; lean_object* x_39; -x_38 = lean_ctor_get(x_37, 1); -lean_inc(x_38); -lean_dec(x_37); -lean_inc(x_11); -lean_inc(x_36); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_4); -x_39 = l_Lean_Meta_mkSizeOfInstances(x_4, x_8, x_9, x_36, x_11, x_38); -if (lean_obj_tag(x_39) == 0) +return x_21; +} +else { -lean_object* x_40; lean_object* x_41; -x_40 = lean_ctor_get(x_39, 1); +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_ctor_get(x_21, 0); +x_37 = lean_ctor_get(x_21, 1); +lean_inc(x_37); +lean_inc(x_36); +lean_dec(x_21); +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; +} +} +} +else +{ +uint8_t x_39; +lean_dec(x_11); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +x_39 = !lean_is_exclusive(x_19); +if (x_39 == 0) +{ +return x_19; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_40 = lean_ctor_get(x_19, 0); +x_41 = lean_ctor_get(x_19, 1); +lean_inc(x_41); lean_inc(x_40); -lean_dec(x_39); -x_41 = l_Lean_Meta_IndPredBelow_mkBelow(x_4, x_8, x_9, x_36, x_11, x_40); -return x_41; +lean_dec(x_19); +x_42 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_42, 0, x_40); +lean_ctor_set(x_42, 1, x_41); +return x_42; } -else -{ -lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; -lean_dec(x_36); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_4); -x_42 = lean_ctor_get(x_39, 0); -lean_inc(x_42); -x_43 = lean_ctor_get(x_39, 1); -lean_inc(x_43); -if (lean_is_exclusive(x_39)) { - lean_ctor_release(x_39, 0); - lean_ctor_release(x_39, 1); - x_44 = x_39; -} else { - lean_dec_ref(x_39); - x_44 = lean_box(0); -} -if (lean_is_scalar(x_44)) { - x_45 = lean_alloc_ctor(1, 2, 0); -} else { - x_45 = x_44; -} -lean_ctor_set(x_45, 0, x_42); -lean_ctor_set(x_45, 1, x_43); -return x_45; } } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; -lean_dec(x_36); +uint8_t x_43; lean_dec(x_11); +lean_dec(x_12); +lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); +lean_dec(x_7); lean_dec(x_4); -x_46 = lean_ctor_get(x_37, 0); -lean_inc(x_46); -x_47 = lean_ctor_get(x_37, 1); +lean_dec(x_3); +x_43 = !lean_is_exclusive(x_17); +if (x_43 == 0) +{ +return x_17; +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_44 = lean_ctor_get(x_17, 0); +x_45 = lean_ctor_get(x_17, 1); +lean_inc(x_45); +lean_inc(x_44); +lean_dec(x_17); +x_46 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_46, 0, x_44); +lean_ctor_set(x_46, 1, x_45); +return x_46; +} +} +} +else +{ +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_47 = lean_ctor_get(x_11, 0); +x_48 = lean_ctor_get(x_11, 1); +x_49 = lean_ctor_get(x_11, 2); +x_50 = lean_ctor_get(x_11, 4); +x_51 = lean_ctor_get(x_11, 5); +x_52 = lean_ctor_get(x_11, 6); +x_53 = lean_ctor_get(x_11, 7); +lean_inc(x_53); +lean_inc(x_52); +lean_inc(x_51); +lean_inc(x_50); +lean_inc(x_49); +lean_inc(x_48); lean_inc(x_47); -if (lean_is_exclusive(x_37)) { - lean_ctor_release(x_37, 0); - lean_ctor_release(x_37, 1); - x_48 = x_37; +lean_dec(x_11); +x_54 = lean_alloc_ctor(0, 8, 0); +lean_ctor_set(x_54, 0, x_47); +lean_ctor_set(x_54, 1, x_48); +lean_ctor_set(x_54, 2, x_49); +lean_ctor_set(x_54, 3, x_14); +lean_ctor_set(x_54, 4, x_50); +lean_ctor_set(x_54, 5, x_51); +lean_ctor_set(x_54, 6, x_52); +lean_ctor_set(x_54, 7, x_53); +lean_inc(x_12); +lean_inc(x_54); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_3); +x_55 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl(x_2, x_3, x_7, x_8, x_9, x_10, x_54, x_12, x_13); +if (lean_obj_tag(x_55) == 0) +{ +lean_object* x_56; lean_object* x_57; +x_56 = lean_ctor_get(x_55, 1); +lean_inc(x_56); +lean_dec(x_55); +lean_inc(x_12); +lean_inc(x_54); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_4); +x_57 = l_Lean_Meta_mkSizeOfInstances(x_4, x_9, x_10, x_54, x_12, x_56); +if (lean_obj_tag(x_57) == 0) +{ +lean_object* x_58; lean_object* x_59; +x_58 = lean_ctor_get(x_57, 1); +lean_inc(x_58); +lean_dec(x_57); +lean_inc(x_12); +lean_inc(x_54); +lean_inc(x_10); +lean_inc(x_9); +x_59 = l_Lean_Meta_IndPredBelow_mkBelow(x_4, x_9, x_10, x_54, x_12, x_58); +if (lean_obj_tag(x_59) == 0) +{ +lean_object* x_60; lean_object* x_61; size_t x_62; lean_object* x_63; lean_object* x_64; +x_60 = lean_ctor_get(x_59, 1); +lean_inc(x_60); +lean_dec(x_59); +x_61 = lean_array_get_size(x_3); +x_62 = lean_usize_of_nat(x_61); +lean_dec(x_61); +x_63 = lean_box(0); +x_64 = l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabInductiveViews___spec__1(x_3, x_62, x_5, x_63, x_7, x_8, x_9, x_10, x_54, x_12, x_60); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_3); +if (lean_obj_tag(x_64) == 0) +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_ctor_get(x_64, 1); +lean_inc(x_65); +if (lean_is_exclusive(x_64)) { + lean_ctor_release(x_64, 0); + lean_ctor_release(x_64, 1); + x_66 = x_64; } else { - lean_dec_ref(x_37); - x_48 = lean_box(0); + lean_dec_ref(x_64); + x_66 = lean_box(0); } -if (lean_is_scalar(x_48)) { - x_49 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_66)) { + x_67 = lean_alloc_ctor(0, 2, 0); } else { - x_49 = x_48; + x_67 = x_66; } -lean_ctor_set(x_49, 0, x_46); -lean_ctor_set(x_49, 1, x_47); -return x_49; +lean_ctor_set(x_67, 0, x_63); +lean_ctor_set(x_67, 1, x_65); +return x_67; +} +else +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_68 = lean_ctor_get(x_64, 0); +lean_inc(x_68); +x_69 = lean_ctor_get(x_64, 1); +lean_inc(x_69); +if (lean_is_exclusive(x_64)) { + lean_ctor_release(x_64, 0); + lean_ctor_release(x_64, 1); + x_70 = x_64; +} else { + lean_dec_ref(x_64); + x_70 = lean_box(0); +} +if (lean_is_scalar(x_70)) { + x_71 = lean_alloc_ctor(1, 2, 0); +} else { + x_71 = x_70; +} +lean_ctor_set(x_71, 0, x_68); +lean_ctor_set(x_71, 1, x_69); +return x_71; } } +else +{ +lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; +lean_dec(x_54); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_3); +x_72 = lean_ctor_get(x_59, 0); +lean_inc(x_72); +x_73 = lean_ctor_get(x_59, 1); +lean_inc(x_73); +if (lean_is_exclusive(x_59)) { + lean_ctor_release(x_59, 0); + lean_ctor_release(x_59, 1); + x_74 = x_59; +} else { + lean_dec_ref(x_59); + x_74 = lean_box(0); +} +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); +return x_75; +} +} +else +{ +lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; +lean_dec(x_54); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +x_76 = lean_ctor_get(x_57, 0); +lean_inc(x_76); +x_77 = lean_ctor_get(x_57, 1); +lean_inc(x_77); +if (lean_is_exclusive(x_57)) { + lean_ctor_release(x_57, 0); + lean_ctor_release(x_57, 1); + x_78 = x_57; +} else { + lean_dec_ref(x_57); + 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 +{ +lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; +lean_dec(x_54); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +x_80 = lean_ctor_get(x_55, 0); +lean_inc(x_80); +x_81 = lean_ctor_get(x_55, 1); +lean_inc(x_81); +if (lean_is_exclusive(x_55)) { + lean_ctor_release(x_55, 0); + lean_ctor_release(x_55, 1); + x_82 = x_55; +} else { + lean_dec_ref(x_55); + x_82 = lean_box(0); +} +if (lean_is_scalar(x_82)) { + x_83 = lean_alloc_ctor(1, 2, 0); +} else { + x_83 = x_82; +} +lean_ctor_set(x_83, 0, x_80); +lean_ctor_set(x_83, 1, x_81); +return x_83; +} +} +} +} +static lean_object* _init_l_Lean_Elab_Command_elabInductiveViews___lambda__2___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_object* l_Lean_Elab_Command_elabInductiveViews___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) { @@ -16552,27 +16844,29 @@ x_34 = l_Lean_Elab_Term_addAutoBoundImplicits(x_5, x_6, x_7, x_8, x_9, x_10, x_1 lean_dec(x_5); if (lean_obj_tag(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_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; x_35 = lean_ctor_get(x_34, 0); lean_inc(x_35); x_36 = lean_ctor_get(x_34, 1); lean_inc(x_36); lean_dec(x_34); -x_37 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabInductiveViews___lambda__1___boxed), 12, 4); -lean_closure_set(x_37, 0, x_2); -lean_closure_set(x_37, 1, x_35); -lean_closure_set(x_37, 2, x_3); -lean_closure_set(x_37, 3, x_4); -x_38 = l_Lean_Elab_Term_instMonadLogTermElabM___closed__6; -x_39 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Elab_Term_instMonadLogTermElabM___spec__2___rarg), 9, 2); -lean_closure_set(x_39, 0, x_38); -lean_closure_set(x_39, 1, x_37); -x_40 = l_Lean_Elab_Term_withoutAutoBoundImplicit___rarg(x_39, x_6, x_7, x_8, x_9, x_10, x_11, x_36); -return x_40; +x_37 = l_Lean_Elab_Command_elabInductiveViews___lambda__2___boxed__const__1; +x_38 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabInductiveViews___lambda__1___boxed), 13, 5); +lean_closure_set(x_38, 0, x_2); +lean_closure_set(x_38, 1, x_35); +lean_closure_set(x_38, 2, x_3); +lean_closure_set(x_38, 3, x_4); +lean_closure_set(x_38, 4, x_37); +x_39 = l_Lean_Elab_Term_instMonadLogTermElabM___closed__6; +x_40 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Elab_Term_instMonadLogTermElabM___spec__2___rarg), 9, 2); +lean_closure_set(x_40, 0, x_39); +lean_closure_set(x_40, 1, x_38); +x_41 = l_Lean_Elab_Term_withoutAutoBoundImplicit___rarg(x_40, x_6, x_7, x_8, x_9, x_10, x_11, x_36); +return x_41; } else { -uint8_t x_41; +uint8_t x_42; lean_dec(x_6); lean_dec(x_11); lean_dec(x_10); @@ -16582,93 +16876,95 @@ lean_dec(x_7); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_41 = !lean_is_exclusive(x_34); -if (x_41 == 0) +x_42 = !lean_is_exclusive(x_34); +if (x_42 == 0) { return x_34; } else { -lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_42 = lean_ctor_get(x_34, 0); -x_43 = lean_ctor_get(x_34, 1); +lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_43 = lean_ctor_get(x_34, 0); +x_44 = lean_ctor_get(x_34, 1); +lean_inc(x_44); lean_inc(x_43); -lean_inc(x_42); lean_dec(x_34); -x_44 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_44, 0, x_42); -lean_ctor_set(x_44, 1, x_43); -return x_44; +x_45 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_45, 0, x_43); +lean_ctor_set(x_45, 1, x_44); +return x_45; } } } else { -lean_object* 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; lean_object* 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; -x_45 = lean_ctor_get(x_6, 0); -x_46 = lean_ctor_get(x_6, 1); -x_47 = lean_ctor_get(x_6, 2); -x_48 = lean_ctor_get(x_6, 3); -x_49 = lean_ctor_get(x_6, 4); -x_50 = lean_ctor_get_uint8(x_6, sizeof(void*)*8); -x_51 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 1); -x_52 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 2); -x_53 = lean_ctor_get(x_6, 5); -x_54 = lean_ctor_get(x_6, 6); -x_55 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 3); +lean_object* x_46; lean_object* 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; lean_object* 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; +x_46 = lean_ctor_get(x_6, 0); +x_47 = lean_ctor_get(x_6, 1); +x_48 = lean_ctor_get(x_6, 2); +x_49 = lean_ctor_get(x_6, 3); +x_50 = lean_ctor_get(x_6, 4); +x_51 = lean_ctor_get_uint8(x_6, sizeof(void*)*8); +x_52 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 1); +x_53 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 2); +x_54 = lean_ctor_get(x_6, 5); +x_55 = lean_ctor_get(x_6, 6); +x_56 = lean_ctor_get_uint8(x_6, sizeof(void*)*8 + 3); +lean_inc(x_55); lean_inc(x_54); -lean_inc(x_53); +lean_inc(x_50); lean_inc(x_49); lean_inc(x_48); lean_inc(x_47); lean_inc(x_46); -lean_inc(x_45); lean_dec(x_6); -x_56 = lean_alloc_ctor(0, 8, 4); -lean_ctor_set(x_56, 0, x_45); -lean_ctor_set(x_56, 1, x_46); -lean_ctor_set(x_56, 2, x_47); -lean_ctor_set(x_56, 3, x_48); -lean_ctor_set(x_56, 4, x_49); -lean_ctor_set(x_56, 5, x_53); -lean_ctor_set(x_56, 6, x_54); -lean_ctor_set(x_56, 7, x_29); -lean_ctor_set_uint8(x_56, sizeof(void*)*8, x_50); -lean_ctor_set_uint8(x_56, sizeof(void*)*8 + 1, x_51); -lean_ctor_set_uint8(x_56, sizeof(void*)*8 + 2, x_52); -lean_ctor_set_uint8(x_56, sizeof(void*)*8 + 3, x_55); -x_57 = l_Lean_Elab_Term_resetMessageLog(x_56, x_7, x_8, x_9, x_10, x_11, x_28); -x_58 = lean_ctor_get(x_57, 1); -lean_inc(x_58); -lean_dec(x_57); +x_57 = lean_alloc_ctor(0, 8, 4); +lean_ctor_set(x_57, 0, x_46); +lean_ctor_set(x_57, 1, x_47); +lean_ctor_set(x_57, 2, x_48); +lean_ctor_set(x_57, 3, x_49); +lean_ctor_set(x_57, 4, x_50); +lean_ctor_set(x_57, 5, x_54); +lean_ctor_set(x_57, 6, x_55); +lean_ctor_set(x_57, 7, x_29); +lean_ctor_set_uint8(x_57, sizeof(void*)*8, x_51); +lean_ctor_set_uint8(x_57, sizeof(void*)*8 + 1, x_52); +lean_ctor_set_uint8(x_57, sizeof(void*)*8 + 2, x_53); +lean_ctor_set_uint8(x_57, sizeof(void*)*8 + 3, x_56); +x_58 = l_Lean_Elab_Term_resetMessageLog(x_57, x_7, x_8, x_9, x_10, x_11, x_28); +x_59 = lean_ctor_get(x_58, 1); +lean_inc(x_59); +lean_dec(x_58); lean_inc(x_8); -lean_inc(x_56); -x_59 = l_Lean_Elab_Term_addAutoBoundImplicits(x_5, x_56, x_7, x_8, x_9, x_10, x_11, x_58); +lean_inc(x_57); +x_60 = l_Lean_Elab_Term_addAutoBoundImplicits(x_5, x_57, x_7, x_8, x_9, x_10, x_11, x_59); lean_dec(x_5); -if (lean_obj_tag(x_59) == 0) +if (lean_obj_tag(x_60) == 0) { -lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; -x_60 = lean_ctor_get(x_59, 0); -lean_inc(x_60); -x_61 = lean_ctor_get(x_59, 1); +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_61 = lean_ctor_get(x_60, 0); lean_inc(x_61); -lean_dec(x_59); -x_62 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabInductiveViews___lambda__1___boxed), 12, 4); -lean_closure_set(x_62, 0, x_2); -lean_closure_set(x_62, 1, x_60); -lean_closure_set(x_62, 2, x_3); -lean_closure_set(x_62, 3, x_4); -x_63 = l_Lean_Elab_Term_instMonadLogTermElabM___closed__6; -x_64 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Elab_Term_instMonadLogTermElabM___spec__2___rarg), 9, 2); -lean_closure_set(x_64, 0, x_63); -lean_closure_set(x_64, 1, x_62); -x_65 = l_Lean_Elab_Term_withoutAutoBoundImplicit___rarg(x_64, x_56, x_7, x_8, x_9, x_10, x_11, x_61); -return x_65; +x_62 = lean_ctor_get(x_60, 1); +lean_inc(x_62); +lean_dec(x_60); +x_63 = l_Lean_Elab_Command_elabInductiveViews___lambda__2___boxed__const__1; +x_64 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabInductiveViews___lambda__1___boxed), 13, 5); +lean_closure_set(x_64, 0, x_2); +lean_closure_set(x_64, 1, x_61); +lean_closure_set(x_64, 2, x_3); +lean_closure_set(x_64, 3, x_4); +lean_closure_set(x_64, 4, x_63); +x_65 = l_Lean_Elab_Term_instMonadLogTermElabM___closed__6; +x_66 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Elab_Term_instMonadLogTermElabM___spec__2___rarg), 9, 2); +lean_closure_set(x_66, 0, x_65); +lean_closure_set(x_66, 1, x_64); +x_67 = l_Lean_Elab_Term_withoutAutoBoundImplicit___rarg(x_66, x_57, x_7, x_8, x_9, x_10, x_11, x_62); +return x_67; } else { -lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; -lean_dec(x_56); +lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; +lean_dec(x_57); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -16677,32 +16973,32 @@ lean_dec(x_7); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_66 = lean_ctor_get(x_59, 0); -lean_inc(x_66); -x_67 = lean_ctor_get(x_59, 1); -lean_inc(x_67); -if (lean_is_exclusive(x_59)) { - lean_ctor_release(x_59, 0); - lean_ctor_release(x_59, 1); - x_68 = x_59; +x_68 = lean_ctor_get(x_60, 0); +lean_inc(x_68); +x_69 = lean_ctor_get(x_60, 1); +lean_inc(x_69); +if (lean_is_exclusive(x_60)) { + lean_ctor_release(x_60, 0); + lean_ctor_release(x_60, 1); + x_70 = x_60; } else { - lean_dec_ref(x_59); - x_68 = lean_box(0); + lean_dec_ref(x_60); + x_70 = lean_box(0); } -if (lean_is_scalar(x_68)) { - x_69 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_70)) { + x_71 = lean_alloc_ctor(1, 2, 0); } else { - x_69 = x_68; + x_71 = x_70; } -lean_ctor_set(x_69, 0, x_66); -lean_ctor_set(x_69, 1, x_67); -return x_69; +lean_ctor_set(x_71, 0, x_68); +lean_ctor_set(x_71, 1, x_69); +return x_71; } } } else { -uint8_t x_70; +uint8_t x_72; lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -16713,23 +17009,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_70 = !lean_is_exclusive(x_15); -if (x_70 == 0) +x_72 = !lean_is_exclusive(x_15); +if (x_72 == 0) { return x_15; } else { -lean_object* x_71; lean_object* x_72; lean_object* x_73; -x_71 = lean_ctor_get(x_15, 0); -x_72 = lean_ctor_get(x_15, 1); -lean_inc(x_72); -lean_inc(x_71); +lean_object* x_73; lean_object* x_74; lean_object* x_75; +x_73 = lean_ctor_get(x_15, 0); +x_74 = lean_ctor_get(x_15, 1); +lean_inc(x_74); +lean_inc(x_73); lean_dec(x_15); -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; +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; } } } @@ -16807,14 +17103,31 @@ return x_24; } } } -lean_object* l_Lean_Elab_Command_elabInductiveViews___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabInductiveViews___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, lean_object* x_11) { _start: { -lean_object* x_13; -x_13 = l_Lean_Elab_Command_elabInductiveViews___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); +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_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabInductiveViews___spec__1(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_6); lean_dec(x_5); lean_dec(x_1); -return x_13; +return x_14; +} +} +lean_object* l_Lean_Elab_Command_elabInductiveViews___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +size_t x_14; lean_object* x_15; +x_14 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_15 = l_Lean_Elab_Command_elabInductiveViews___lambda__1(x_1, x_2, x_3, x_4, x_14, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_6); +lean_dec(x_1); +return x_15; } } lean_object* l_Lean_Elab_Command_elabInductiveViews___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, lean_object* x_12) { @@ -16833,6 +17146,7 @@ lean_object* initialize_Lean_Util_CollectLevelParams(lean_object*); lean_object* initialize_Lean_Util_Constructions(lean_object*); lean_object* initialize_Lean_Meta_CollectFVars(lean_object*); lean_object* initialize_Lean_Meta_SizeOf(lean_object*); +lean_object* initialize_Lean_Meta_Injective(lean_object*); lean_object* initialize_Lean_Meta_IndPredBelow(lean_object*); lean_object* initialize_Lean_Elab_Command(lean_object*); lean_object* initialize_Lean_Elab_DefView(lean_object*); @@ -16864,6 +17178,9 @@ lean_dec_ref(res); res = initialize_Lean_Meta_SizeOf(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Meta_Injective(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Meta_IndPredBelow(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); @@ -17049,6 +17366,8 @@ l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___closed lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___closed__2); l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__4___closed__1 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__4___closed__1(); lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__4___closed__1); +l_Lean_Elab_Command_elabInductiveViews___lambda__2___boxed__const__1 = _init_l_Lean_Elab_Command_elabInductiveViews___lambda__2___boxed__const__1(); +lean_mark_persistent(l_Lean_Elab_Command_elabInductiveViews___lambda__2___boxed__const__1); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/Elab/Structure.c b/stage0/stdlib/Lean/Elab/Structure.c index 169fc5600c..172cdff378 100644 --- a/stage0/stdlib/Lean/Elab/Structure.c +++ b/stage0/stdlib/Lean/Elab/Structure.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.Structure -// Imports: Init Lean.Parser.Command Lean.Meta.Closure Lean.Meta.SizeOf Lean.Elab.Command Lean.Elab.DeclModifiers Lean.Elab.DeclUtil Lean.Elab.Inductive Lean.Elab.DeclarationRange +// Imports: Init Lean.Parser.Command Lean.Meta.Closure Lean.Meta.SizeOf Lean.Meta.Injective Lean.Elab.Command Lean.Elab.DeclModifiers Lean.Elab.DeclUtil Lean.Elab.Inductive Lean.Elab.DeclarationRange #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -101,6 +101,7 @@ lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lea lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__2___closed__1; lean_object* l_Lean_Elab_Command_checkValidFieldModifier___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_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__21___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_mkInjectiveTheorems(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -544,7 +545,7 @@ lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___r extern lean_object* l_Lean_Elab_Command_checkValidCtorModifier___rarg___lambda__2___closed__2; lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabStructure___spec__11(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__16___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* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_4848_(lean_object*); +lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_4860_(lean_object*); lean_object* l_Lean_Meta_instantiateMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___lambda__1___closed__1; uint8_t l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_221_(uint8_t, uint8_t); @@ -9922,7 +9923,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_withFields___rarg___closed__9; x_2 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___closed__10; -x_3 = lean_unsigned_to_nat(326u); +x_3 = lean_unsigned_to_nat(327u); x_4 = lean_unsigned_to_nat(37u); x_5 = l_Lean_Name_getString_x21___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -18579,116 +18580,156 @@ lean_object* x_32; lean_object* x_33; x_32 = lean_ctor_get(x_31, 1); lean_inc(x_32); lean_dec(x_31); +lean_inc(x_18); +lean_inc(x_17); +lean_inc(x_16); +lean_inc(x_15); lean_inc(x_5); x_33 = l_Lean_Meta_mkSizeOfInstances(x_5, x_15, x_16, x_17, x_18, x_32); if (lean_obj_tag(x_33) == 0) { -uint8_t x_34; -x_34 = !lean_is_exclusive(x_33); -if (x_34 == 0) +lean_object* x_34; lean_object* x_35; +x_34 = lean_ctor_get(x_33, 1); +lean_inc(x_34); +lean_dec(x_33); +lean_inc(x_5); +x_35 = l_Lean_Meta_mkInjectiveTheorems(x_5, x_15, x_16, x_17, x_18, x_34); +if (lean_obj_tag(x_35) == 0) { -lean_object* x_35; -x_35 = lean_ctor_get(x_33, 0); +uint8_t x_36; +x_36 = !lean_is_exclusive(x_35); +if (x_36 == 0) +{ +lean_object* x_37; +x_37 = lean_ctor_get(x_35, 0); +lean_dec(x_37); +lean_ctor_set(x_35, 0, x_5); +return x_35; +} +else +{ +lean_object* x_38; lean_object* x_39; +x_38 = lean_ctor_get(x_35, 1); +lean_inc(x_38); lean_dec(x_35); -lean_ctor_set(x_33, 0, x_5); -return x_33; -} -else -{ -lean_object* x_36; lean_object* x_37; -x_36 = lean_ctor_get(x_33, 1); -lean_inc(x_36); -lean_dec(x_33); -x_37 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_37, 0, x_5); -lean_ctor_set(x_37, 1, x_36); -return x_37; +x_39 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_39, 0, x_5); +lean_ctor_set(x_39, 1, x_38); +return x_39; } } else { -uint8_t x_38; +uint8_t x_40; lean_dec(x_5); -x_38 = !lean_is_exclusive(x_33); -if (x_38 == 0) +x_40 = !lean_is_exclusive(x_35); +if (x_40 == 0) { -return x_33; +return x_35; } else { -lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_39 = lean_ctor_get(x_33, 0); -x_40 = lean_ctor_get(x_33, 1); -lean_inc(x_40); -lean_inc(x_39); -lean_dec(x_33); -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; +lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_41 = lean_ctor_get(x_35, 0); +x_42 = lean_ctor_get(x_35, 1); +lean_inc(x_42); +lean_inc(x_41); +lean_dec(x_35); +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; } } } else { -uint8_t x_42; +uint8_t x_44; lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); -x_42 = !lean_is_exclusive(x_31); -if (x_42 == 0) +lean_dec(x_5); +x_44 = !lean_is_exclusive(x_33); +if (x_44 == 0) { -lean_object* x_43; -x_43 = lean_ctor_get(x_31, 0); -lean_dec(x_43); +return x_33; +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_45 = lean_ctor_get(x_33, 0); +x_46 = lean_ctor_get(x_33, 1); +lean_inc(x_46); +lean_inc(x_45); +lean_dec(x_33); +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 +{ +uint8_t x_48; +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +x_48 = !lean_is_exclusive(x_31); +if (x_48 == 0) +{ +lean_object* x_49; +x_49 = lean_ctor_get(x_31, 0); +lean_dec(x_49); lean_ctor_set(x_31, 0, x_5); return x_31; } else { -lean_object* x_44; lean_object* x_45; -x_44 = lean_ctor_get(x_31, 1); -lean_inc(x_44); +lean_object* x_50; lean_object* x_51; +x_50 = lean_ctor_get(x_31, 1); +lean_inc(x_50); lean_dec(x_31); -x_45 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_45, 0, x_5); -lean_ctor_set(x_45, 1, x_44); -return x_45; +x_51 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_51, 0, x_5); +lean_ctor_set(x_51, 1, x_50); +return x_51; } } } else { -uint8_t x_46; +uint8_t x_52; lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); lean_dec(x_5); -x_46 = !lean_is_exclusive(x_31); -if (x_46 == 0) +x_52 = !lean_is_exclusive(x_31); +if (x_52 == 0) { return x_31; } else { -lean_object* x_47; lean_object* x_48; lean_object* x_49; -x_47 = lean_ctor_get(x_31, 0); -x_48 = lean_ctor_get(x_31, 1); -lean_inc(x_48); -lean_inc(x_47); +lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_53 = lean_ctor_get(x_31, 0); +x_54 = lean_ctor_get(x_31, 1); +lean_inc(x_54); +lean_inc(x_53); lean_dec(x_31); -x_49 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_49, 0, x_47); -lean_ctor_set(x_49, 1, x_48); -return x_49; +x_55 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_55, 0, x_53); +lean_ctor_set(x_55, 1, x_54); +return x_55; } } } else { -uint8_t x_50; +uint8_t x_56; lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); @@ -18704,29 +18745,29 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_50 = !lean_is_exclusive(x_24); -if (x_50 == 0) +x_56 = !lean_is_exclusive(x_24); +if (x_56 == 0) { return x_24; } else { -lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_51 = lean_ctor_get(x_24, 0); -x_52 = lean_ctor_get(x_24, 1); -lean_inc(x_52); -lean_inc(x_51); +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_24, 0); +x_58 = lean_ctor_get(x_24, 1); +lean_inc(x_58); +lean_inc(x_57); lean_dec(x_24); -x_53 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_53, 0, x_51); -lean_ctor_set(x_53, 1, x_52); -return x_53; +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_54; +uint8_t x_60; lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); @@ -18742,23 +18783,23 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_54 = !lean_is_exclusive(x_22); -if (x_54 == 0) +x_60 = !lean_is_exclusive(x_22); +if (x_60 == 0) { return x_22; } else { -lean_object* x_55; lean_object* x_56; lean_object* x_57; -x_55 = lean_ctor_get(x_22, 0); -x_56 = lean_ctor_get(x_22, 1); -lean_inc(x_56); -lean_inc(x_55); +lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_61 = lean_ctor_get(x_22, 0); +x_62 = lean_ctor_get(x_22, 1); +lean_inc(x_62); +lean_inc(x_61); lean_dec(x_22); -x_57 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_57, 0, x_55); -lean_ctor_set(x_57, 1, x_56); -return x_57; +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; } } } @@ -19973,7 +20014,7 @@ lean_dec(x_8); return x_15; } } -lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_4848_(lean_object* x_1) { +lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_4860_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -19986,6 +20027,7 @@ lean_object* initialize_Init(lean_object*); lean_object* initialize_Lean_Parser_Command(lean_object*); lean_object* initialize_Lean_Meta_Closure(lean_object*); lean_object* initialize_Lean_Meta_SizeOf(lean_object*); +lean_object* initialize_Lean_Meta_Injective(lean_object*); lean_object* initialize_Lean_Elab_Command(lean_object*); lean_object* initialize_Lean_Elab_DeclModifiers(lean_object*); lean_object* initialize_Lean_Elab_DeclUtil(lean_object*); @@ -20008,6 +20050,9 @@ lean_dec_ref(res); res = initialize_Lean_Meta_SizeOf(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Meta_Injective(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Elab_Command(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); @@ -20170,7 +20215,7 @@ l_Lean_Elab_Command_elabStructure___lambda__4___closed__1 = _init_l_Lean_Elab_Co lean_mark_persistent(l_Lean_Elab_Command_elabStructure___lambda__4___closed__1); l_Lean_Elab_Command_elabStructure___closed__1 = _init_l_Lean_Elab_Command_elabStructure___closed__1(); lean_mark_persistent(l_Lean_Elab_Command_elabStructure___closed__1); -res = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_4848_(lean_io_mk_world()); +res = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_4860_(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/Injective.c b/stage0/stdlib/Lean/Meta/Injective.c index 3b3f95d121..130a3965ad 100644 --- a/stage0/stdlib/Lean/Meta/Injective.c +++ b/stage0/stdlib/Lean/Meta/Injective.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Meta.Injective -// Imports: Init Lean.Meta.Tactic.Injection Lean.Meta.Tactic.Apply Lean.Meta.Tactic.Simp.SimpAll +// Imports: Init Lean.Meta.Tactic.Injection Lean.Meta.Tactic.Apply Lean.Meta.Tactic.Cases Lean.Meta.Tactic.Subst Lean.Meta.Tactic.Simp.Types Lean.Meta.Tactic.Assumption #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -13,168 +13,178 @@ #ifdef __cplusplus extern "C" { #endif -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__3; +lean_object* l_Lean_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t l_USize_add(size_t, size_t); -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__2; +extern lean_object* l_Lean_Name_getString_x21___closed__3; lean_object* l_Lean_Expr_mvarId_x21(lean_object*); lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1___closed__4; lean_object* l_Lean_stringToMessageData(lean_object*); +lean_object* l_Lean_getConstInfoInduct___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_mkRecursorInfoForKernelRec___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addDecl___at_Lean_Meta_mkAuxLemma___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_10540____closed__4; lean_object* l_Lean_Meta_mkForallFVars(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Std_Format_format_unicode___closed__1; -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__2___boxed(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__3(lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__4; lean_object* lean_name_mk_string(lean_object*, lean_object*); lean_object* lean_array_uget(lean_object*, size_t); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___lambda__1(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*); -extern lean_object* l_Lean_getConstInfoInduct___rarg___lambda__1___closed__2; +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_8668____closed__4; -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__3; -lean_object* l_List_forIn_loop___at_Lean_Meta_mkInjectiveTheorems___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Meta_getParamNames___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_1315____spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue_match__2(lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__3; lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue_match__1___rarg(lean_object*, lean_object*); extern lean_object* l_Array_empty___closed__1; +lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd_x3f___spec__1___closed__1; lean_object* lean_environment_find(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*); +lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkInjectiveTheorems(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedParserDescr___closed__1; -lean_object* l_Lean_Meta_Simp_Context_mkDefault___rarg(lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___lambda__1(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* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheorem(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_getConstInfoInduct___at_Lean_Meta_mkInjectiveTheorems___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___lambda__4(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_expr_instantiate1(lean_object*, lean_object*); lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremValue___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_match__2(lean_object*); lean_object* l_Lean_throwError___at_Lean_Meta_mkInjectiveTheorems___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__4; -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__1; -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremValue_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_casesAnd(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__1; lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__1; -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___closed__2; +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_match__1(lean_object*); lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue_match__1(lean_object*); -lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd___spec__1___closed__1; -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__4; +lean_object* l_Lean_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__3(lean_object*); uint8_t l_USize_decLt(size_t, size_t); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__2; -lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1___closed__1; -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_match__2(lean_object*); lean_object* l_Lean_Meta_mkInjectiveEqTheoremNameFor___closed__1; lean_object* lean_nat_add(lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__2(size_t, size_t, lean_object*); lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremValue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_apply(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkAppN(lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___lambda__2(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* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___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_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_genInjective; +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___spec__1(lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___lambda__2(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* l_Lean_Meta_intro1Core(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkInjectiveTheoremNameFor___closed__2; lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewBinderInfosImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1___closed__2; -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_applyRefl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkInjectiveEqTheoremNameFor___closed__2; +extern lean_object* l_Lean_Meta_splitAnd___closed__1; lean_object* l_Lean_Meta_mkInjectiveTheoremNameFor___closed__1; lean_object* l_Lean_Meta_mkInjectiveEqTheoremNameFor(lean_object*); lean_object* l_Lean_Meta_mkInjectiveEqTheoremNameFor___boxed(lean_object*); -lean_object* l_Lean_getConstInfoCtor___at_Lean_Meta_mkInjectiveTheorems___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at_Lean_Meta_mkInjectiveTheorems___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solveSelfMax___closed__1; +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd_x3f(lean_object*); lean_object* l_Lean_Option_register___at_Std_Format_initFn____x40_Lean_Data_Format___hyg_53____spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkLambdaFVars(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Meta_mkInjectiveTheorems___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_fvarId_x21(lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1___closed__3; lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1___closed__5; uint8_t l_Lean_Option_get___at_Lean_ppExpr___spec__1(lean_object*, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_back___at_Lean_Meta_DiscrTree_mkPathAux___spec__1(lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd(lean_object*); -lean_object* l_Lean_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__3___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__2___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__2; +lean_object* l_List_forM___at___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Environment_contains(lean_object*, lean_object*); lean_object* l_Lean_Meta_addSimpLemma(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2_match__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_simpAllInj_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___lambda__3(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* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq_match__1(lean_object*); uint8_t l_Lean_isInductivePredicate_visit(lean_object*); +lean_object* l_List_forIn_loop___at_Lean_Meta_mkInjectiveTheorems___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_reverse___rarg(lean_object*); extern lean_object* l_Lean_KernelException_toMessageData___closed__15; uint8_t l_Array_isEmpty___rarg(lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___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___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_match__3___rarg(lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader(lean_object*); lean_object* l_Lean_Meta_whnf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure(lean_object*); +lean_object* l_Lean_Meta_saturate(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_KernelException_toMessageData___closed__3; size_t lean_usize_of_nat(lean_object*); +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__1; +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__2(size_t, size_t, lean_object*); lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_match__2___rarg(lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_simpAllInj_match__1(lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___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* l_Lean_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__3___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_getConstInfoCtor___at_Lean_Meta_mkInjectiveTheorems___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd_x3f___spec__1(lean_object*, size_t, size_t, lean_object*); lean_object* l_Lean_Meta_forallTelescope___at___private_Lean_Meta_InferType_0__Lean_Meta_inferForallType___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__4; lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkInjectiveTheoremNameFor(lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___lambda__3(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* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___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_object*); -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282_(lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_substEqs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_assumptionCore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__2; +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343_(lean_object*); uint8_t lean_expr_eqv(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkInjectiveTheoremNameFor___boxed(lean_object*); lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheorem(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_simpAllInj(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd___spec__1(lean_object*, size_t, size_t, lean_object*); lean_object* l_Lean_Name_append(lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___lambda__4(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_simpAll(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l___private_Lean_Meta_Tactic_Simp_SimpLemmas_0__Lean_Meta_preprocess___closed__1; -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_getConstInfoCtor___at_Lean_Meta_mkInjectiveTheorems___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_panic_fn(lean_object*, lean_object*); lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Meta_addPPExplicitToExposeDiff_visit___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__3; +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___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* l_Lean_throwError___at___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___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* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___closed__3; lean_object* l_Lean_Meta_mkArrow(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_getConstInfoCtor___rarg___lambda__1___closed__2; lean_object* l_Lean_Meta_inferType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_getConstInfoInduct___at_Lean_Meta_mkInjectiveTheorems___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremType_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2_match__1(lean_object*); lean_object* l_Lean_Meta_instantiateMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremValue_match__1(lean_object*); -lean_object* l_Lean_getConstInfoCtor___at_Lean_Meta_mkInjectiveTheorems___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___closed__1; +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_match__3(lean_object*); lean_object* l_Lean_indentD(lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_match__1(lean_object*); +lean_object* l_Lean_Meta_genInjectivity; +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___closed__1; +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___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_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___closed__2; +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___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* l_Lean_Meta_mkHEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___closed__1; -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___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_Lean_Meta_mkFreshExprSyntheticOpaqueMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_injection(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremType_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at_Lean_mkConstWithLevelParams___spec__1(lean_object*); uint8_t l_Lean_Expr_occurs(lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_isInductivePredicate___at_Lean_Meta_mkInjectiveTheorems___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___closed__2; lean_object* l_Lean_Meta_mkEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_isInductivePredicate___at_Lean_Meta_mkInjectiveTheorems___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkAppB(lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isProp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2_match__1(lean_object*); lean_object* l_Lean_mkConst(lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___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___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___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_object*); lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_Tactic_Simp_SimpLemmas_0__Lean_Meta_isPerm___spec__1___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at_Lean_Meta_mkInjectiveTheorems___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue_match__2___rarg(lean_object*, lean_object*, lean_object*); -static lean_object* _init_l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd___spec__1___closed__1() { +static lean_object* _init_l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd_x3f___spec__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -184,7 +194,7 @@ x_3 = l_Lean_mkConst(x_2, x_1); return x_3; } } -lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { +lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd_x3f___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { _start: { uint8_t x_5; @@ -198,7 +208,7 @@ else lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; size_t x_10; size_t x_11; x_6 = lean_ctor_get(x_1, 0); x_7 = lean_array_uget(x_6, x_3); -x_8 = l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd___spec__1___closed__1; +x_8 = l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd_x3f___spec__1___closed__1; x_9 = l_Lean_mkAppB(x_8, x_7, x_4); x_10 = 1; x_11 = x_3 + x_10; @@ -208,14 +218,14 @@ goto _start; } } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd(lean_object* x_1) { +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd_x3f(lean_object* x_1) { _start: { uint8_t x_2; x_2 = l_Array_isEmpty___rarg(x_1); if (x_2 == 0) { -lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; size_t x_9; lean_object* x_10; size_t x_11; lean_object* x_12; +lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; size_t x_9; lean_object* x_10; size_t x_11; lean_object* x_12; lean_object* x_13; x_3 = l_Array_back___at_Lean_Meta_DiscrTree_mkPathAux___spec__1(x_1); x_4 = l_Array_reverse___rarg(x_1); x_5 = lean_array_get_size(x_4); @@ -229,20 +239,22 @@ x_10 = lean_ctor_get(x_7, 1); lean_inc(x_10); x_11 = lean_usize_of_nat(x_10); lean_dec(x_10); -x_12 = l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd___spec__1(x_7, x_9, x_11, x_3); +x_12 = l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd_x3f___spec__1(x_7, x_9, x_11, x_3); lean_dec(x_7); -return x_12; +x_13 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_13, 0, x_12); +return x_13; } else { -lean_object* x_13; +lean_object* x_14; lean_dec(x_1); -x_13 = l___private_Lean_Meta_Tactic_Simp_SimpLemmas_0__Lean_Meta_preprocess___closed__1; -return x_13; +x_14 = lean_box(0); +return x_14; } } } -lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd_x3f___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; lean_object* x_7; @@ -250,12 +262,12 @@ x_5 = lean_unbox_usize(x_2); lean_dec(x_2); x_6 = lean_unbox_usize(x_3); lean_dec(x_3); -x_7 = l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd___spec__1(x_1, x_5, x_6, x_4); +x_7 = l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd_x3f___spec__1(x_1, x_5, x_6, x_4); lean_dec(x_1); return x_7; } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) @@ -283,15 +295,45 @@ return x_9; } } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_match__1(lean_object* x_1) { +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_match__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_match__1___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_match__1___rarg), 3, 0); return x_2; } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_match__2___rarg(lean_object* x_1, lean_object* x_2) { +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; +lean_dec(x_2); +x_4 = lean_apply_1(x_3, x_1); +return x_4; +} +else +{ +lean_object* x_5; lean_object* x_6; +lean_dec(x_3); +x_5 = lean_ctor_get(x_1, 0); +lean_inc(x_5); +lean_dec(x_1); +x_6 = lean_apply_1(x_2, x_5); +return x_6; +} +} +} +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_match__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_match__2___rarg), 3, 0); +return x_2; +} +} +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_match__3___rarg(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; @@ -304,15 +346,15 @@ x_5 = lean_apply_2(x_2, x_3, x_4); return x_5; } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_match__2(lean_object* x_1) { +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_match__3(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_match__2___rarg), 2, 0); +x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_match__3___rarg), 2, 0); return x_2; } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 7) @@ -340,15 +382,53 @@ return x_10; } } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2_match__1(lean_object* x_1) { +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2_match__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2_match__1___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2_match__1___rarg), 3, 0); return x_2; } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* 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_object* x_13, lean_object* x_14, lean_object* x_15) { +lean_object* l_Lean_throwError___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___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) { +_start: +{ +lean_object* x_7; lean_object* x_8; uint8_t x_9; +x_7 = lean_ctor_get(x_4, 3); +x_8 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_9 = !lean_is_exclusive(x_8); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_8, 0); +lean_inc(x_7); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_7); +lean_ctor_set(x_11, 1, x_10); +lean_ctor_set_tag(x_8, 1); +lean_ctor_set(x_8, 0, x_11); +return x_8; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_12 = lean_ctor_get(x_8, 0); +x_13 = lean_ctor_get(x_8, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_8); +lean_inc(x_7); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_7); +lean_ctor_set(x_14, 1, x_12); +x_15 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_13); +return x_15; +} +} +} +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* 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_object* x_13, lean_object* x_14, lean_object* x_15) { _start: { lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; @@ -358,11 +438,11 @@ x_18 = lean_expr_instantiate1(x_2, x_10); lean_inc(x_10); x_19 = lean_array_push(x_3, x_10); x_20 = lean_array_push(x_4, x_10); -x_21 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2(x_5, x_6, x_7, x_8, x_9, x_17, x_18, x_19, x_20, x_11, x_12, x_13, x_14, x_15); +x_21 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2(x_5, x_6, x_7, x_8, x_9, x_17, x_18, x_19, x_20, x_11, x_12, x_13, x_14, x_15); return x_21; } } -static lean_object* _init_l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___closed__1() { +static lean_object* _init_l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___closed__1() { _start: { lean_object* x_1; @@ -370,16 +450,16 @@ x_1 = lean_mk_string("unexpected constructor type for '"); return x_1; } } -static lean_object* _init_l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___closed__2() { +static lean_object* _init_l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___closed__1; +x_1 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2(lean_object* x_1, uint8_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, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2(lean_object* x_1, uint8_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, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { lean_object* x_15; uint8_t x_16; @@ -432,7 +512,7 @@ if (x_25 == 0) lean_object* x_26; lean_object* x_27; lean_dec(x_24); x_26 = lean_box(x_2); -x_27 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___lambda__1___boxed), 15, 9); +x_27 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___lambda__1___boxed), 15, 9); lean_closure_set(x_27, 0, x_6); lean_closure_set(x_27, 1, x_23); lean_closure_set(x_27, 2, x_8); @@ -496,7 +576,7 @@ lean_inc(x_39); lean_dec(x_37); x_40 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_40, 0, x_39); -x_41 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___closed__2; +x_41 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___closed__2; x_42 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_42, 0, x_41); lean_ctor_set(x_42, 1, x_40); @@ -504,7 +584,7 @@ x_43 = l_Lean_KernelException_toMessageData___closed__3; x_44 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_44, 0, x_42); lean_ctor_set(x_44, 1, x_43); -x_45 = l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_1315____spec__1(x_44, x_10, x_11, x_12, x_13, x_38); +x_45 = l_Lean_throwError___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___spec__1(x_44, x_10, x_11, x_12, x_13, x_38); lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); @@ -548,29 +628,41 @@ return x_49; } } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +lean_object* l_Lean_throwError___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___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) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_throwError___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_7; +} +} +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { _start: { uint8_t x_16; lean_object* x_17; x_16 = lean_unbox(x_6); lean_dec(x_6); -x_17 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___lambda__1(x_1, x_2, x_3, x_4, x_5, x_16, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +x_17 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___lambda__1(x_1, x_2, x_3, x_4, x_5, x_16, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); lean_dec(x_2); lean_dec(x_1); return x_17; } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___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* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___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) { _start: { uint8_t x_15; lean_object* x_16; x_15 = lean_unbox(x_2); lean_dec(x_2); -x_16 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2(x_1, x_15, 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_16 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2(x_1, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); return x_16; } } -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__1(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* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__1(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) { _start: { lean_object* x_10; lean_object* x_11; uint8_t x_19; @@ -1782,7 +1874,7 @@ goto _start; } } } -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__2(size_t x_1, size_t x_2, lean_object* x_3) { +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__2(size_t x_1, size_t x_2, lean_object* x_3) { _start: { uint8_t x_4; @@ -1817,7 +1909,7 @@ goto _start; } } } -lean_object* l_Lean_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__3___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* l_Lean_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__3___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) { _start: { lean_object* x_8; @@ -1868,15 +1960,15 @@ return x_16; } } } -lean_object* l_Lean_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__3(lean_object* x_1) { +lean_object* l_Lean_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__3(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__3___rarg___boxed), 7, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__3___rarg___boxed), 7, 0); return x_2; } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___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* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_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: { uint8_t x_10; uint8_t x_11; lean_object* x_12; @@ -1903,61 +1995,111 @@ x_17 = lean_ctor_get(x_15, 1); lean_inc(x_17); lean_dec(x_15); x_18 = l_Lean_Meta_mkForallFVars(x_3, x_16, x_10, x_11, x_5, x_6, x_7, x_8, x_17); +if (lean_obj_tag(x_18) == 0) +{ +uint8_t x_19; +x_19 = !lean_is_exclusive(x_18); +if (x_19 == 0) +{ +lean_object* x_20; lean_object* x_21; +x_20 = lean_ctor_get(x_18, 0); +x_21 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_18, 0, x_21); return x_18; } else { -uint8_t x_19; +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_22 = lean_ctor_get(x_18, 0); +x_23 = lean_ctor_get(x_18, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_18); +x_24 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_24, 0, x_22); +x_25 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_25, 0, x_24); +lean_ctor_set(x_25, 1, x_23); +return x_25; +} +} +else +{ +uint8_t x_26; +x_26 = !lean_is_exclusive(x_18); +if (x_26 == 0) +{ +return x_18; +} +else +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_18, 0); +x_28 = lean_ctor_get(x_18, 1); +lean_inc(x_28); +lean_inc(x_27); +lean_dec(x_18); +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; +} +} +} +else +{ +uint8_t x_30; lean_dec(x_5); lean_dec(x_3); -x_19 = !lean_is_exclusive(x_15); -if (x_19 == 0) +x_30 = !lean_is_exclusive(x_15); +if (x_30 == 0) { return x_15; } else { -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_15, 0); -x_21 = lean_ctor_get(x_15, 1); -lean_inc(x_21); -lean_inc(x_20); +lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_31 = lean_ctor_get(x_15, 0); +x_32 = lean_ctor_get(x_15, 1); +lean_inc(x_32); +lean_inc(x_31); lean_dec(x_15); -x_22 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_22, 0, x_20); -lean_ctor_set(x_22, 1, x_21); -return x_22; +x_33 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_33, 0, x_31); +lean_ctor_set(x_33, 1, x_32); +return x_33; } } } else { -uint8_t x_23; +uint8_t x_34; lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); -x_23 = !lean_is_exclusive(x_12); -if (x_23 == 0) +x_34 = !lean_is_exclusive(x_12); +if (x_34 == 0) { return x_12; } else { -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_12, 0); -x_25 = lean_ctor_get(x_12, 1); -lean_inc(x_25); -lean_inc(x_24); +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_12, 0); +x_36 = lean_ctor_get(x_12, 1); +lean_inc(x_36); +lean_inc(x_35); lean_dec(x_12); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; +x_37 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_37, 0, x_35); +lean_ctor_set(x_37, 1, x_36); +return x_37; } } } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___lambda__2(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, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___lambda__2(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, 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; @@ -1997,90 +2139,23 @@ lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_29 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__1(x_4, x_27, x_28, x_25, x_8, x_9, x_10, x_11, x_20); +x_29 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__1(x_4, x_27, x_28, x_25, x_8, x_9, x_10, x_11, x_20); if (lean_obj_tag(x_29) == 0) { -lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_30 = lean_ctor_get(x_29, 0); -lean_inc(x_30); -x_31 = lean_ctor_get(x_29, 1); -lean_inc(x_31); -lean_dec(x_29); -x_32 = lean_ctor_get(x_30, 0); -lean_inc(x_32); -lean_dec(x_30); -x_33 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd(x_32); -if (x_5 == 0) +uint8_t x_30; +x_30 = !lean_is_exclusive(x_29); +if (x_30 == 0) { -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_34 = l_Lean_Meta_mkArrow(x_19, x_33, x_8, x_9, x_10, x_11, x_31); -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); -lean_inc(x_36); -lean_dec(x_34); -x_37 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___lambda__1(x_7, x_4, x_3, x_35, x_8, x_9, x_10, x_11, x_36); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -return x_37; -} -else +lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_31 = lean_ctor_get(x_29, 0); +x_32 = lean_ctor_get(x_29, 1); +x_33 = lean_ctor_get(x_31, 0); +lean_inc(x_33); +lean_dec(x_31); +x_34 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd_x3f(x_33); +if (lean_obj_tag(x_34) == 0) { -lean_object* x_38; -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_38 = l_Lean_Meta_mkEq(x_19, x_33, x_8, x_9, x_10, x_11, x_31); -if (lean_obj_tag(x_38) == 0) -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -lean_dec(x_38); -x_41 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___lambda__1(x_7, x_4, x_3, x_39, x_8, x_9, x_10, x_11, x_40); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -return x_41; -} -else -{ -uint8_t x_42; -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_4); -lean_dec(x_3); -x_42 = !lean_is_exclusive(x_38); -if (x_42 == 0) -{ -return x_38; -} -else -{ -lean_object* x_43; lean_object* x_44; lean_object* x_45; -x_43 = lean_ctor_get(x_38, 0); -x_44 = lean_ctor_get(x_38, 1); -lean_inc(x_44); -lean_inc(x_43); -lean_dec(x_38); -x_45 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_45, 0, x_43); -lean_ctor_set(x_45, 1, x_44); -return x_45; -} -} -} -} -else -{ -uint8_t x_46; +lean_object* x_35; lean_dec(x_19); lean_dec(x_11); lean_dec(x_10); @@ -2089,19 +2164,79 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_4); lean_dec(x_3); -x_46 = !lean_is_exclusive(x_29); -if (x_46 == 0) -{ +x_35 = lean_box(0); +lean_ctor_set(x_29, 0, x_35); return x_29; } else { +lean_free_object(x_29); +if (x_5 == 0) +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_36 = lean_ctor_get(x_34, 0); +lean_inc(x_36); +lean_dec(x_34); +x_37 = l_Lean_Meta_mkArrow(x_19, x_36, x_8, x_9, x_10, x_11, x_32); +x_38 = lean_ctor_get(x_37, 0); +lean_inc(x_38); +x_39 = lean_ctor_get(x_37, 1); +lean_inc(x_39); +lean_dec(x_37); +x_40 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___lambda__1(x_7, x_4, x_3, x_38, x_8, x_9, x_10, x_11, x_39); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +return x_40; +} +else +{ +lean_object* x_41; lean_object* x_42; +x_41 = lean_ctor_get(x_34, 0); +lean_inc(x_41); +lean_dec(x_34); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +x_42 = l_Lean_Meta_mkEq(x_19, x_41, x_8, x_9, x_10, x_11, x_32); +if (lean_obj_tag(x_42) == 0) +{ +lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_43 = lean_ctor_get(x_42, 0); +lean_inc(x_43); +x_44 = lean_ctor_get(x_42, 1); +lean_inc(x_44); +lean_dec(x_42); +x_45 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___lambda__1(x_7, x_4, x_3, x_43, x_8, x_9, x_10, x_11, x_44); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +return x_45; +} +else +{ +uint8_t x_46; +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +x_46 = !lean_is_exclusive(x_42); +if (x_46 == 0) +{ +return x_42; +} +else +{ lean_object* x_47; lean_object* x_48; lean_object* x_49; -x_47 = lean_ctor_get(x_29, 0); -x_48 = lean_ctor_get(x_29, 1); +x_47 = lean_ctor_get(x_42, 0); +x_48 = lean_ctor_get(x_42, 1); lean_inc(x_48); lean_inc(x_47); -lean_dec(x_29); +lean_dec(x_42); x_49 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_49, 0, x_47); lean_ctor_set(x_49, 1, x_48); @@ -2109,9 +2244,151 @@ return x_49; } } } +} +} else { -uint8_t x_50; +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_50 = lean_ctor_get(x_29, 0); +x_51 = lean_ctor_get(x_29, 1); +lean_inc(x_51); +lean_inc(x_50); +lean_dec(x_29); +x_52 = lean_ctor_get(x_50, 0); +lean_inc(x_52); +lean_dec(x_50); +x_53 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd_x3f(x_52); +if (lean_obj_tag(x_53) == 0) +{ +lean_object* x_54; lean_object* x_55; +lean_dec(x_19); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +x_54 = lean_box(0); +x_55 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_55, 0, x_54); +lean_ctor_set(x_55, 1, x_51); +return x_55; +} +else +{ +if (x_5 == 0) +{ +lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_56 = lean_ctor_get(x_53, 0); +lean_inc(x_56); +lean_dec(x_53); +x_57 = l_Lean_Meta_mkArrow(x_19, x_56, x_8, x_9, x_10, x_11, x_51); +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 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___lambda__1(x_7, x_4, x_3, x_58, x_8, x_9, x_10, x_11, x_59); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +return x_60; +} +else +{ +lean_object* x_61; lean_object* x_62; +x_61 = lean_ctor_get(x_53, 0); +lean_inc(x_61); +lean_dec(x_53); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +x_62 = l_Lean_Meta_mkEq(x_19, x_61, x_8, x_9, x_10, x_11, x_51); +if (lean_obj_tag(x_62) == 0) +{ +lean_object* x_63; lean_object* x_64; lean_object* x_65; +x_63 = lean_ctor_get(x_62, 0); +lean_inc(x_63); +x_64 = lean_ctor_get(x_62, 1); +lean_inc(x_64); +lean_dec(x_62); +x_65 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___lambda__1(x_7, x_4, x_3, x_63, x_8, x_9, x_10, x_11, x_64); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +return x_65; +} +else +{ +lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +x_66 = lean_ctor_get(x_62, 0); +lean_inc(x_66); +x_67 = lean_ctor_get(x_62, 1); +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); +} +if (lean_is_scalar(x_68)) { + x_69 = lean_alloc_ctor(1, 2, 0); +} else { + x_69 = x_68; +} +lean_ctor_set(x_69, 0, x_66); +lean_ctor_set(x_69, 1, x_67); +return x_69; +} +} +} +} +} +else +{ +uint8_t x_70; +lean_dec(x_19); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +x_70 = !lean_is_exclusive(x_29); +if (x_70 == 0) +{ +return x_29; +} +else +{ +lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_71 = lean_ctor_get(x_29, 0); +x_72 = lean_ctor_get(x_29, 1); +lean_inc(x_72); +lean_inc(x_71); +lean_dec(x_29); +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 +{ +uint8_t x_74; lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -2120,35 +2397,35 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); -x_50 = !lean_is_exclusive(x_18); -if (x_50 == 0) +x_74 = !lean_is_exclusive(x_18); +if (x_74 == 0) { return x_18; } else { -lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_51 = lean_ctor_get(x_18, 0); -x_52 = lean_ctor_get(x_18, 1); -lean_inc(x_52); -lean_inc(x_51); +lean_object* x_75; lean_object* x_76; lean_object* x_77; +x_75 = lean_ctor_get(x_18, 0); +x_76 = lean_ctor_get(x_18, 1); +lean_inc(x_76); +lean_inc(x_75); lean_dec(x_18); -x_53 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_53, 0, x_51); -lean_ctor_set(x_53, 1, x_52); -return x_53; +x_77 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_77, 0, x_75); +lean_ctor_set(x_77, 1, x_76); +return x_77; } } } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___lambda__3(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, lean_object* x_12, lean_object* x_13) { +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___lambda__3(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, lean_object* x_12, lean_object* x_13) { _start: { lean_object* x_14; lean_object* x_15; x_14 = lean_box(x_4); lean_inc(x_7); lean_inc(x_3); -x_15 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___lambda__2___boxed), 12, 5); +x_15 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___lambda__2___boxed), 12, 5); lean_closure_set(x_15, 0, x_1); lean_closure_set(x_15, 1, x_2); lean_closure_set(x_15, 2, x_3); @@ -2162,19 +2439,19 @@ x_17 = lean_usize_of_nat(x_16); lean_dec(x_16); x_18 = 0; x_19 = x_3; -x_20 = l_Array_mapMUnsafe_map___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__2(x_17, x_18, x_19); +x_20 = l_Array_mapMUnsafe_map___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__2(x_17, x_18, x_19); x_21 = x_20; x_22 = lean_array_get_size(x_7); x_23 = lean_usize_of_nat(x_22); lean_dec(x_22); lean_inc(x_7); x_24 = x_7; -x_25 = l_Array_mapMUnsafe_map___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__2(x_23, x_18, x_24); +x_25 = l_Array_mapMUnsafe_map___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__2(x_23, x_18, x_24); x_26 = x_25; x_27 = lean_unsigned_to_nat(0u); x_28 = l_Array_empty___closed__1; x_29 = lean_box(x_4); -x_30 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___boxed), 14, 9); +x_30 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___boxed), 14, 9); lean_closure_set(x_30, 0, x_5); lean_closure_set(x_30, 1, x_29); lean_closure_set(x_30, 2, x_7); @@ -2184,10 +2461,10 @@ lean_closure_set(x_30, 5, x_27); lean_closure_set(x_30, 6, x_6); lean_closure_set(x_30, 7, x_28); lean_closure_set(x_30, 8, x_28); -x_31 = lean_alloc_closure((void*)(l_Lean_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__3___rarg___boxed), 7, 2); +x_31 = lean_alloc_closure((void*)(l_Lean_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__3___rarg___boxed), 7, 2); lean_closure_set(x_31, 0, x_26); lean_closure_set(x_31, 1, x_30); -x_32 = l_Lean_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__3___rarg(x_21, x_31, x_9, x_10, x_11, x_12, x_13); +x_32 = l_Lean_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__3___rarg(x_21, x_31, x_9, x_10, x_11, x_12, x_13); lean_dec(x_21); return x_32; } @@ -2197,18 +2474,18 @@ lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_dec(x_3); x_33 = lean_unsigned_to_nat(0u); x_34 = l_Array_empty___closed__1; -x_35 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2(x_5, x_4, x_7, x_8, x_15, x_33, x_6, x_34, x_34, x_9, x_10, x_11, x_12, x_13); +x_35 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2(x_5, x_4, x_7, x_8, x_15, x_33, x_6, x_34, x_34, x_9, x_10, x_11, x_12, x_13); return x_35; } } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___lambda__4(lean_object* x_1, lean_object* x_2, uint8_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) { +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___lambda__4(lean_object* x_1, lean_object* x_2, uint8_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_object* x_13; lean_object* x_14; x_12 = lean_box(x_3); lean_inc(x_6); -x_13 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___lambda__3___boxed), 13, 6); +x_13 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___lambda__3___boxed), 13, 6); lean_closure_set(x_13, 0, x_1); lean_closure_set(x_13, 1, x_2); lean_closure_set(x_13, 2, x_5); @@ -2219,7 +2496,7 @@ x_14 = l_Lean_Meta_forallTelescope___at___private_Lean_Meta_InferType_0__Lean_Me return x_14; } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore(lean_object* x_1, uint8_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* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f(lean_object* x_1, uint8_t 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; 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; @@ -2235,7 +2512,7 @@ lean_inc(x_12); x_13 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_13, 0, x_12); x_14 = lean_box(x_2); -x_15 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___lambda__4___boxed), 11, 4); +x_15 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___lambda__4___boxed), 11, 4); lean_closure_set(x_15, 0, x_8); lean_closure_set(x_15, 1, x_10); lean_closure_set(x_15, 2, x_14); @@ -2244,7 +2521,7 @@ x_16 = l_Lean_Meta_forallBoundedTelescope___at_Lean_Meta_addPPExplicitToExposeDi return x_16; } } -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___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* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___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) { _start: { size_t x_10; size_t x_11; lean_object* x_12; @@ -2252,12 +2529,12 @@ x_10 = lean_unbox_usize(x_2); lean_dec(x_2); x_11 = lean_unbox_usize(x_3); lean_dec(x_3); -x_12 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__1(x_1, x_10, x_11, x_4, x_5, x_6, x_7, x_8, x_9); +x_12 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__1(x_1, x_10, x_11, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_1); return x_12; } } -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { size_t x_4; size_t x_5; lean_object* x_6; @@ -2265,79 +2542,130 @@ x_4 = lean_unbox_usize(x_1); lean_dec(x_1); x_5 = lean_unbox_usize(x_2); lean_dec(x_2); -x_6 = l_Array_mapMUnsafe_map___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__2(x_4, x_5, x_3); +x_6 = l_Array_mapMUnsafe_map___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__2(x_4, x_5, x_3); return x_6; } } -lean_object* l_Lean_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__3___rarg___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* l_Lean_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__3___rarg___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) { _start: { lean_object* x_8; -x_8 = l_Lean_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___spec__3___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_Meta_withNewBinderInfos___at___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___spec__3___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_1); return x_8; } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___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* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_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___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_10 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_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); return x_10; } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___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, lean_object* x_12) { +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___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, lean_object* x_12) { _start: { uint8_t x_13; lean_object* x_14; x_13 = lean_unbox(x_5); lean_dec(x_5); -x_14 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___lambda__2(x_1, x_2, x_3, x_4, x_13, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_14 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___lambda__2(x_1, x_2, x_3, x_4, x_13, x_6, x_7, x_8, x_9, x_10, x_11, x_12); return x_14; } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___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_object* x_12, lean_object* x_13) { +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___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_object* x_12, lean_object* x_13) { _start: { uint8_t x_14; lean_object* x_15; x_14 = lean_unbox(x_4); lean_dec(x_4); -x_15 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___lambda__3(x_1, x_2, x_3, x_14, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_15 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___lambda__3(x_1, x_2, x_3, x_14, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); return x_15; } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___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* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___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) { _start: { uint8_t x_12; lean_object* x_13; x_12 = lean_unbox(x_3); lean_dec(x_3); -x_13 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___lambda__4(x_1, x_2, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_13 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f___lambda__4(x_1, x_2, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); return x_13; } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore___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* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_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) { _start: { uint8_t x_8; lean_object* x_9; x_8 = lean_unbox(x_2); lean_dec(x_2); -x_9 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore(x_1, x_8, x_3, x_4, x_5, x_6, x_7); +x_9 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f(x_1, x_8, x_3, x_4, x_5, x_6, x_7); return x_9; } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremType(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremType_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) { _start: { uint8_t x_7; lean_object* x_8; x_7 = 0; -x_8 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore(x_1, x_7, x_2, x_3, x_4, x_5, x_6); +x_8 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f(x_1, x_7, x_2, x_3, x_4, x_5, x_6); return x_8; } } +static lean_object* _init_l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("failed to prove injectivity theorem for constructor '"); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("', use 'set_option genInjectivity false' to disable the generation"); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__3; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_2 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_2, 0, x_1); +x_3 = l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__2; +x_4 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_4, 0, x_3); +lean_ctor_set(x_4, 1, x_2); +x_5 = l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__4; +x_6 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_6, 0, x_4); +lean_ctor_set(x_6, 1, x_5); +return x_6; +} +} lean_object* l_Lean_throwError___at___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___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) { _start: { @@ -2384,66 +2712,29 @@ x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at___private_Lean_Meta_Inje return x_2; } } -static lean_object* _init_l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("failed to prove injective theorem for constructor '"); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__1; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static lean_object* _init_l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("', use 'set_option genInjective false' to disable the generation"); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__3; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___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) { _start: { -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; -x_8 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_8, 0, x_1); -x_9 = l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__2; +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_8 = l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader(x_1); +x_9 = l_Lean_KernelException_toMessageData___closed__15; x_10 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_10, 0, x_9); lean_ctor_set(x_10, 1, x_8); -x_11 = l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__4; -x_12 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_12, 0, x_10); -lean_ctor_set(x_12, 1, x_11); -x_13 = lean_alloc_ctor(5, 1, 0); -lean_ctor_set(x_13, 0, x_2); -x_14 = l_Lean_indentD(x_13); +x_11 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_9); +x_12 = lean_alloc_ctor(5, 1, 0); +lean_ctor_set(x_12, 0, x_2); +x_13 = l_Lean_indentD(x_12); +x_14 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_14, 0, x_11); +lean_ctor_set(x_14, 1, x_13); x_15 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_15, 0, x_12); -lean_ctor_set(x_15, 1, x_14); -x_16 = l_Lean_KernelException_toMessageData___closed__15; -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_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___spec__1___rarg(x_17, x_3, x_4, x_5, x_6, x_7); -return x_18; +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_9); +x_16 = l_Lean_throwError___at___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___spec__1___rarg(x_15, x_3, x_4, x_5, x_6, x_7); +return x_16; } } lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure(lean_object* x_1) { @@ -2478,135 +2769,7 @@ lean_dec(x_3); return x_8; } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_simpAllInj_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; lean_object* x_5; -lean_dec(x_3); -x_4 = lean_box(0); -x_5 = lean_apply_1(x_2, x_4); -return x_5; -} -else -{ -lean_object* x_6; lean_object* x_7; -lean_dec(x_2); -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_apply_1(x_3, x_6); -return x_7; -} -} -} -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_simpAllInj_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_simpAllInj_match__1___rarg), 3, 0); -return x_2; -} -} -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_simpAllInj(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; lean_object* x_10; lean_object* x_11; -x_8 = l_Lean_Meta_Simp_Context_mkDefault___rarg(x_6, x_7); -x_9 = lean_ctor_get(x_8, 0); -lean_inc(x_9); -x_10 = lean_ctor_get(x_8, 1); -lean_inc(x_10); -lean_dec(x_8); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_11 = l_Lean_Meta_simpAll(x_2, x_9, x_3, x_4, x_5, x_6, x_10); -if (lean_obj_tag(x_11) == 0) -{ -lean_object* x_12; -x_12 = lean_ctor_get(x_11, 0); -lean_inc(x_12); -if (lean_obj_tag(x_12) == 0) -{ -uint8_t x_13; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_13 = !lean_is_exclusive(x_11); -if (x_13 == 0) -{ -lean_object* x_14; lean_object* x_15; -x_14 = lean_ctor_get(x_11, 0); -lean_dec(x_14); -x_15 = lean_box(0); -lean_ctor_set(x_11, 0, x_15); -return x_11; -} -else -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_16 = lean_ctor_get(x_11, 1); -lean_inc(x_16); -lean_dec(x_11); -x_17 = lean_box(0); -x_18 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_18, 0, x_17); -lean_ctor_set(x_18, 1, x_16); -return x_18; -} -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_11, 1); -lean_inc(x_19); -lean_dec(x_11); -x_20 = lean_ctor_get(x_12, 0); -lean_inc(x_20); -lean_dec(x_12); -x_21 = l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg(x_1, x_20, x_3, x_4, x_5, x_6, x_19); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -return x_21; -} -} -else -{ -uint8_t x_22; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_22 = !lean_is_exclusive(x_11); -if (x_22 == 0) -{ -return x_11; -} -else -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_11, 0); -x_24 = lean_ctor_get(x_11, 1); -lean_inc(x_24); -lean_inc(x_23); -lean_dec(x_11); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -return x_25; -} -} -} -} -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremValue_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) @@ -2633,18 +2796,273 @@ return x_9; } } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremValue_match__1(lean_object* x_1) { +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq_match__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremValue_match__1___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq_match__1___rarg), 3, 0); return x_2; } } +lean_object* l_List_forM___at___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___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) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_8; lean_object* x_9; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_8 = lean_box(0); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_2, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_2, 1); +lean_inc(x_11); +lean_dec(x_2); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_10); +x_12 = l_Lean_Meta_assumptionCore(x_10, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; uint8_t x_14; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_unbox(x_13); +lean_dec(x_13); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; uint8_t x_17; +lean_dec(x_11); +x_15 = lean_ctor_get(x_12, 1); +lean_inc(x_15); +lean_dec(x_12); +x_16 = l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg(x_1, x_10, x_3, x_4, x_5, x_6, x_15); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_17 = !lean_is_exclusive(x_16); +if (x_17 == 0) +{ +return x_16; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_16, 0); +x_19 = lean_ctor_get(x_16, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_16); +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; +} +} +else +{ +lean_object* x_21; +lean_dec(x_10); +x_21 = lean_ctor_get(x_12, 1); +lean_inc(x_21); +lean_dec(x_12); +x_2 = x_11; +x_7 = x_21; +goto _start; +} +} +else +{ +uint8_t x_23; +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_23 = !lean_is_exclusive(x_12); +if (x_23 == 0) +{ +return x_12; +} +else +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_12, 0); +x_25 = lean_ctor_get(x_12, 1); +lean_inc(x_25); +lean_inc(x_24); +lean_dec(x_12); +x_26 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_26, 0, x_24); +lean_ctor_set(x_26, 1, x_25); +return x_26; +} +} +} +} +} +static lean_object* _init_l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("Lean.Meta.Injective"); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("_private.Lean.Meta.Injective.0.Lean.Meta.solveEqOfCtorEq"); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___closed__3() { +_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_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___closed__1; +x_2 = l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___closed__2; +x_3 = lean_unsigned_to_nat(80u); +x_4 = lean_unsigned_to_nat(30u); +x_5 = l_Lean_Name_getString_x21___closed__3; +x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); +return x_6; +} +} +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq(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; +x_9 = lean_box(0); +x_10 = 1; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_11 = l_Lean_Meta_injection(x_2, x_3, x_9, x_10, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_12; +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +lean_dec(x_1); +x_13 = lean_ctor_get(x_11, 1); +lean_inc(x_13); +lean_dec(x_11); +x_14 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solveSelfMax___closed__1; +x_15 = l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___closed__3; +x_16 = lean_panic_fn(x_14, x_15); +x_17 = lean_apply_5(x_16, x_4, x_5, x_6, x_7, x_13); +return x_17; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_18 = lean_ctor_get(x_11, 1); +lean_inc(x_18); +lean_dec(x_11); +x_19 = lean_ctor_get(x_12, 0); +lean_inc(x_19); +lean_dec(x_12); +x_20 = l_Lean_Meta_splitAnd___closed__1; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_21 = l_Lean_Meta_saturate(x_19, x_20, x_4, x_5, x_6, x_7, x_18); +if (lean_obj_tag(x_21) == 0) +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_21, 0); +lean_inc(x_22); +x_23 = lean_ctor_get(x_21, 1); +lean_inc(x_23); +lean_dec(x_21); +x_24 = l_List_forM___at___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___spec__1(x_1, x_22, x_4, x_5, x_6, x_7, x_23); +return x_24; +} +else +{ +uint8_t x_25; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_25 = !lean_is_exclusive(x_21); +if (x_25 == 0) +{ +return x_21; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_21, 0); +x_27 = lean_ctor_get(x_21, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_21); +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; +} +} +} +} +else +{ +uint8_t x_29; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_29 = !lean_is_exclusive(x_11); +if (x_29 == 0) +{ +return x_11; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_11, 0); +x_31 = lean_ctor_get(x_11, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_11); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; +} +} +} +} lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremValue___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) { _start: { -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; uint8_t x_17; lean_object* x_18; +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; x_9 = lean_box(0); lean_inc(x_4); x_10 = l_Lean_Meta_mkFreshExprSyntheticOpaqueMVar(x_3, x_9, x_4, x_5, x_6, x_7, x_8); @@ -2657,116 +3075,51 @@ x_13 = l_Lean_Expr_mvarId_x21(x_11); x_14 = l_Array_back___at_Lean_Meta_DiscrTree_mkPathAux___spec__1(x_2); x_15 = l_Lean_Expr_fvarId_x21(x_14); lean_dec(x_14); -x_16 = lean_box(0); -x_17 = 1; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_18 = l_Lean_Meta_injection(x_13, x_15, x_16, x_17, x_4, x_5, x_6, x_7, x_12); -if (lean_obj_tag(x_18) == 0) +x_16 = l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq(x_1, x_13, x_15, x_4, x_5, x_6, x_7, x_12); +if (lean_obj_tag(x_16) == 0) { -lean_object* x_19; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -if (lean_obj_tag(x_19) == 0) -{ -lean_object* x_20; uint8_t x_21; lean_object* x_22; -lean_dec(x_1); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -x_21 = 0; -x_22 = l_Lean_Meta_mkLambdaFVars(x_2, x_11, x_21, x_17, x_4, x_5, x_6, x_7, x_20); +lean_object* x_17; uint8_t x_18; uint8_t x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +x_18 = 0; +x_19 = 1; +x_20 = l_Lean_Meta_mkLambdaFVars(x_2, x_11, x_18, x_19, x_4, x_5, x_6, x_7, x_17); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -return x_22; +return x_20; } else { -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_18, 1); +uint8_t x_21; +lean_dec(x_11); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_21 = !lean_is_exclusive(x_16); +if (x_21 == 0) +{ +return x_16; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_16, 0); +x_23 = lean_ctor_get(x_16, 1); lean_inc(x_23); -lean_dec(x_18); -x_24 = lean_ctor_get(x_19, 0); -lean_inc(x_24); -lean_dec(x_19); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -x_25 = l___private_Lean_Meta_Injective_0__Lean_Meta_simpAllInj(x_1, x_24, x_4, x_5, x_6, x_7, x_23); -if (lean_obj_tag(x_25) == 0) -{ -lean_object* x_26; uint8_t x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_25, 1); -lean_inc(x_26); -lean_dec(x_25); -x_27 = 0; -x_28 = l_Lean_Meta_mkLambdaFVars(x_2, x_11, x_27, x_17, x_4, x_5, x_6, x_7, x_26); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -return x_28; -} -else -{ -uint8_t x_29; -lean_dec(x_11); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -x_29 = !lean_is_exclusive(x_25); -if (x_29 == 0) -{ -return x_25; -} -else -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_25, 0); -x_31 = lean_ctor_get(x_25, 1); -lean_inc(x_31); -lean_inc(x_30); -lean_dec(x_25); -x_32 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_32, 0, x_30); -lean_ctor_set(x_32, 1, x_31); -return x_32; -} -} -} -} -else -{ -uint8_t x_33; -lean_dec(x_11); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -lean_dec(x_1); -x_33 = !lean_is_exclusive(x_18); -if (x_33 == 0) -{ -return x_18; -} -else -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_18, 0); -x_35 = lean_ctor_get(x_18, 1); -lean_inc(x_35); -lean_inc(x_34); -lean_dec(x_18); -x_36 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_36, 0, x_34); -lean_ctor_set(x_36, 1, x_35); -return x_36; +lean_inc(x_22); +lean_dec(x_16); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; } } } @@ -2827,365 +3180,403 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_8 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore(x_1, x_7, x_2, x_3, x_4, x_5, x_6); +x_8 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f(x_1, x_7, x_2, x_3, x_4, x_5, x_6); if (lean_obj_tag(x_8) == 0) { -lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; -x_9 = lean_ctor_get(x_1, 0); +lean_object* x_9; +x_9 = lean_ctor_get(x_8, 0); lean_inc(x_9); +if (lean_obj_tag(x_9) == 0) +{ +uint8_t x_10; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); lean_dec(x_1); -x_10 = lean_ctor_get(x_8, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_8, 1); -lean_inc(x_11); -lean_dec(x_8); -x_12 = !lean_is_exclusive(x_9); -if (x_12 == 0) +x_10 = !lean_is_exclusive(x_8); +if (x_10 == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_13 = lean_ctor_get(x_9, 0); -x_14 = lean_ctor_get(x_9, 1); -x_15 = lean_ctor_get(x_9, 2); -lean_dec(x_15); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_10); +lean_object* x_11; lean_object* x_12; +x_11 = lean_ctor_get(x_8, 0); +lean_dec(x_11); +x_12 = lean_box(0); +lean_ctor_set(x_8, 0, x_12); +return x_8; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_8, 1); lean_inc(x_13); -x_16 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremValue(x_13, x_10, x_2, x_3, x_4, x_5, x_11); -if (lean_obj_tag(x_16) == 0) +lean_dec(x_8); +x_14 = lean_box(0); +x_15 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_13); +return x_15; +} +} +else { -lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_16, 0); +lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; +x_16 = lean_ctor_get(x_1, 0); +lean_inc(x_16); +lean_dec(x_1); +x_17 = lean_ctor_get(x_8, 1); lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); +lean_dec(x_8); +x_18 = lean_ctor_get(x_9, 0); lean_inc(x_18); -lean_dec(x_16); +lean_dec(x_9); +x_19 = !lean_is_exclusive(x_16); +if (x_19 == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_20 = lean_ctor_get(x_16, 0); +x_21 = lean_ctor_get(x_16, 1); +x_22 = lean_ctor_get(x_16, 2); +lean_dec(x_22); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_19 = l_Lean_Meta_instantiateMVars(x_10, x_2, x_3, x_4, x_5, x_18); -if (lean_obj_tag(x_19) == 0) -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_18); lean_inc(x_20); -x_21 = lean_ctor_get(x_19, 1); -lean_inc(x_21); -lean_dec(x_19); +x_23 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremValue(x_20, x_18, x_2, x_3, x_4, x_5, x_17); +if (lean_obj_tag(x_23) == 0) +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_23, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); +lean_dec(x_23); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_22 = l_Lean_Meta_instantiateMVars(x_17, x_2, x_3, x_4, x_5, x_21); -if (lean_obj_tag(x_22) == 0) +x_26 = l_Lean_Meta_instantiateMVars(x_18, x_2, x_3, x_4, x_5, x_25); +if (lean_obj_tag(x_26) == 0) { -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = l_Lean_Meta_mkInjectiveTheoremNameFor(x_13); -lean_dec(x_13); -lean_ctor_set(x_9, 2, x_20); -lean_ctor_set(x_9, 0, x_25); -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_9); -lean_ctor_set(x_26, 1, x_23); -x_27 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_27, 0, x_26); -x_28 = l_Lean_addDecl___at_Lean_Meta_mkAuxLemma___spec__4(x_27, x_2, x_3, x_4, x_5, x_24); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_27); -return x_28; -} -else +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_26, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_26, 1); +lean_inc(x_28); +lean_dec(x_26); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_29 = l_Lean_Meta_instantiateMVars(x_24, x_2, x_3, x_4, x_5, x_28); +if (lean_obj_tag(x_29) == 0) { -uint8_t x_29; -lean_dec(x_20); -lean_free_object(x_9); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_29 = !lean_is_exclusive(x_22); -if (x_29 == 0) -{ -return x_22; -} -else -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_22, 0); -x_31 = lean_ctor_get(x_22, 1); -lean_inc(x_31); +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_30 = lean_ctor_get(x_29, 0); lean_inc(x_30); -lean_dec(x_22); -x_32 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_32, 0, x_30); -lean_ctor_set(x_32, 1, x_31); -return x_32; -} -} +x_31 = lean_ctor_get(x_29, 1); +lean_inc(x_31); +lean_dec(x_29); +x_32 = l_Lean_Meta_mkInjectiveTheoremNameFor(x_20); +lean_dec(x_20); +lean_ctor_set(x_16, 2, x_27); +lean_ctor_set(x_16, 0, x_32); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_16); +lean_ctor_set(x_33, 1, x_30); +x_34 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_34, 0, x_33); +x_35 = l_Lean_addDecl___at_Lean_Meta_mkAuxLemma___spec__4(x_34, x_2, x_3, x_4, x_5, x_31); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_34); +return x_35; } else { -uint8_t x_33; -lean_dec(x_17); -lean_free_object(x_9); -lean_dec(x_14); -lean_dec(x_13); +uint8_t x_36; +lean_dec(x_27); +lean_free_object(x_16); +lean_dec(x_21); +lean_dec(x_20); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_33 = !lean_is_exclusive(x_19); -if (x_33 == 0) +x_36 = !lean_is_exclusive(x_29); +if (x_36 == 0) { -return x_19; +return x_29; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_19, 0); -x_35 = lean_ctor_get(x_19, 1); -lean_inc(x_35); -lean_inc(x_34); -lean_dec(x_19); -x_36 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_36, 0, x_34); -lean_ctor_set(x_36, 1, x_35); -return x_36; -} -} -} -else -{ -uint8_t x_37; -lean_free_object(x_9); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_10); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_37 = !lean_is_exclusive(x_16); -if (x_37 == 0) -{ -return x_16; -} -else -{ -lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_38 = lean_ctor_get(x_16, 0); -x_39 = lean_ctor_get(x_16, 1); -lean_inc(x_39); +lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_37 = lean_ctor_get(x_29, 0); +x_38 = lean_ctor_get(x_29, 1); lean_inc(x_38); -lean_dec(x_16); -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; +lean_inc(x_37); +lean_dec(x_29); +x_39 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_39, 0, x_37); +lean_ctor_set(x_39, 1, x_38); +return x_39; } } } else { +uint8_t x_40; +lean_dec(x_24); +lean_free_object(x_16); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_40 = !lean_is_exclusive(x_26); +if (x_40 == 0) +{ +return x_26; +} +else +{ lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_41 = lean_ctor_get(x_9, 0); -x_42 = lean_ctor_get(x_9, 1); +x_41 = lean_ctor_get(x_26, 0); +x_42 = lean_ctor_get(x_26, 1); lean_inc(x_42); lean_inc(x_41); -lean_dec(x_9); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_10); -lean_inc(x_41); -x_43 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremValue(x_41, x_10, x_2, x_3, x_4, x_5, x_11); -if (lean_obj_tag(x_43) == 0) +lean_dec(x_26); +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; +} +} +} +else { -lean_object* x_44; lean_object* x_45; lean_object* x_46; -x_44 = lean_ctor_get(x_43, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_43, 1); +uint8_t x_44; +lean_free_object(x_16); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_18); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_44 = !lean_is_exclusive(x_23); +if (x_44 == 0) +{ +return x_23; +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_45 = lean_ctor_get(x_23, 0); +x_46 = lean_ctor_get(x_23, 1); +lean_inc(x_46); lean_inc(x_45); -lean_dec(x_43); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_46 = l_Lean_Meta_instantiateMVars(x_10, x_2, x_3, x_4, x_5, x_45); -if (lean_obj_tag(x_46) == 0) +lean_dec(x_23); +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 { -lean_object* x_47; lean_object* x_48; lean_object* x_49; -x_47 = lean_ctor_get(x_46, 0); -lean_inc(x_47); -x_48 = lean_ctor_get(x_46, 1); +lean_object* x_48; lean_object* x_49; lean_object* x_50; +x_48 = lean_ctor_get(x_16, 0); +x_49 = lean_ctor_get(x_16, 1); +lean_inc(x_49); lean_inc(x_48); -lean_dec(x_46); +lean_dec(x_16); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_49 = l_Lean_Meta_instantiateMVars(x_44, x_2, x_3, x_4, x_5, x_48); -if (lean_obj_tag(x_49) == 0) +lean_inc(x_18); +lean_inc(x_48); +x_50 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremValue(x_48, x_18, x_2, x_3, x_4, x_5, x_17); +if (lean_obj_tag(x_50) == 0) { -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_50 = lean_ctor_get(x_49, 0); -lean_inc(x_50); -x_51 = lean_ctor_get(x_49, 1); +lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_51 = lean_ctor_get(x_50, 0); lean_inc(x_51); -lean_dec(x_49); -x_52 = l_Lean_Meta_mkInjectiveTheoremNameFor(x_41); -lean_dec(x_41); -x_53 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_53, 0, x_52); -lean_ctor_set(x_53, 1, x_42); -lean_ctor_set(x_53, 2, x_47); -x_54 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_54, 0, x_53); -lean_ctor_set(x_54, 1, x_50); -x_55 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_55, 0, x_54); -x_56 = l_Lean_addDecl___at_Lean_Meta_mkAuxLemma___spec__4(x_55, x_2, x_3, x_4, x_5, x_51); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_55); -return x_56; -} -else +x_52 = lean_ctor_get(x_50, 1); +lean_inc(x_52); +lean_dec(x_50); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_53 = l_Lean_Meta_instantiateMVars(x_18, x_2, x_3, x_4, x_5, x_52); +if (lean_obj_tag(x_53) == 0) { -lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -lean_dec(x_47); -lean_dec(x_42); -lean_dec(x_41); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_57 = lean_ctor_get(x_49, 0); +lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_54 = lean_ctor_get(x_53, 0); +lean_inc(x_54); +x_55 = lean_ctor_get(x_53, 1); +lean_inc(x_55); +lean_dec(x_53); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_56 = l_Lean_Meta_instantiateMVars(x_51, x_2, x_3, x_4, x_5, x_55); +if (lean_obj_tag(x_56) == 0) +{ +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_57 = lean_ctor_get(x_56, 0); lean_inc(x_57); -x_58 = lean_ctor_get(x_49, 1); +x_58 = lean_ctor_get(x_56, 1); lean_inc(x_58); -if (lean_is_exclusive(x_49)) { - lean_ctor_release(x_49, 0); - lean_ctor_release(x_49, 1); - x_59 = x_49; -} else { - lean_dec_ref(x_49); - x_59 = lean_box(0); -} -if (lean_is_scalar(x_59)) { - x_60 = lean_alloc_ctor(1, 2, 0); -} else { - x_60 = x_59; -} -lean_ctor_set(x_60, 0, x_57); -lean_ctor_set(x_60, 1, x_58); -return x_60; -} +lean_dec(x_56); +x_59 = l_Lean_Meta_mkInjectiveTheoremNameFor(x_48); +lean_dec(x_48); +x_60 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_60, 0, x_59); +lean_ctor_set(x_60, 1, x_49); +lean_ctor_set(x_60, 2, x_54); +x_61 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_61, 0, x_60); +lean_ctor_set(x_61, 1, x_57); +x_62 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_62, 0, x_61); +x_63 = l_Lean_addDecl___at_Lean_Meta_mkAuxLemma___spec__4(x_62, x_2, x_3, x_4, x_5, x_58); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_62); +return x_63; } else { -lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; -lean_dec(x_44); -lean_dec(x_42); -lean_dec(x_41); +lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; +lean_dec(x_54); +lean_dec(x_49); +lean_dec(x_48); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_61 = lean_ctor_get(x_46, 0); -lean_inc(x_61); -x_62 = lean_ctor_get(x_46, 1); -lean_inc(x_62); -if (lean_is_exclusive(x_46)) { - lean_ctor_release(x_46, 0); - lean_ctor_release(x_46, 1); - x_63 = x_46; -} else { - lean_dec_ref(x_46); - x_63 = lean_box(0); -} -if (lean_is_scalar(x_63)) { - x_64 = lean_alloc_ctor(1, 2, 0); -} else { - x_64 = x_63; -} -lean_ctor_set(x_64, 0, x_61); -lean_ctor_set(x_64, 1, x_62); -return x_64; -} -} -else -{ -lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; -lean_dec(x_42); -lean_dec(x_41); -lean_dec(x_10); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_65 = lean_ctor_get(x_43, 0); +x_64 = lean_ctor_get(x_56, 0); +lean_inc(x_64); +x_65 = lean_ctor_get(x_56, 1); lean_inc(x_65); -x_66 = lean_ctor_get(x_43, 1); -lean_inc(x_66); -if (lean_is_exclusive(x_43)) { - lean_ctor_release(x_43, 0); - lean_ctor_release(x_43, 1); - x_67 = x_43; +if (lean_is_exclusive(x_56)) { + lean_ctor_release(x_56, 0); + lean_ctor_release(x_56, 1); + x_66 = x_56; } else { - lean_dec_ref(x_43); - x_67 = lean_box(0); + lean_dec_ref(x_56); + x_66 = lean_box(0); } -if (lean_is_scalar(x_67)) { - x_68 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_66)) { + x_67 = lean_alloc_ctor(1, 2, 0); } else { - x_68 = x_67; + x_67 = x_66; +} +lean_ctor_set(x_67, 0, x_64); +lean_ctor_set(x_67, 1, x_65); +return x_67; +} +} +else +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; +lean_dec(x_51); +lean_dec(x_49); +lean_dec(x_48); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_68 = lean_ctor_get(x_53, 0); +lean_inc(x_68); +x_69 = lean_ctor_get(x_53, 1); +lean_inc(x_69); +if (lean_is_exclusive(x_53)) { + lean_ctor_release(x_53, 0); + lean_ctor_release(x_53, 1); + x_70 = x_53; +} else { + lean_dec_ref(x_53); + x_70 = lean_box(0); +} +if (lean_is_scalar(x_70)) { + x_71 = lean_alloc_ctor(1, 2, 0); +} else { + x_71 = x_70; +} +lean_ctor_set(x_71, 0, x_68); +lean_ctor_set(x_71, 1, x_69); +return x_71; +} +} +else +{ +lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; +lean_dec(x_49); +lean_dec(x_48); +lean_dec(x_18); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_72 = lean_ctor_get(x_50, 0); +lean_inc(x_72); +x_73 = lean_ctor_get(x_50, 1); +lean_inc(x_73); +if (lean_is_exclusive(x_50)) { + lean_ctor_release(x_50, 0); + lean_ctor_release(x_50, 1); + x_74 = x_50; +} else { + lean_dec_ref(x_50); + x_74 = lean_box(0); +} +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); +return x_75; } -lean_ctor_set(x_68, 0, x_65); -lean_ctor_set(x_68, 1, x_66); -return x_68; } } } else { -uint8_t x_69; +uint8_t x_76; lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_69 = !lean_is_exclusive(x_8); -if (x_69 == 0) +x_76 = !lean_is_exclusive(x_8); +if (x_76 == 0) { return x_8; } else { -lean_object* x_70; lean_object* x_71; lean_object* x_72; -x_70 = lean_ctor_get(x_8, 0); -x_71 = lean_ctor_get(x_8, 1); -lean_inc(x_71); -lean_inc(x_70); +lean_object* x_77; lean_object* x_78; lean_object* x_79; +x_77 = lean_ctor_get(x_8, 0); +x_78 = lean_ctor_get(x_8, 1); +lean_inc(x_78); +lean_inc(x_77); lean_dec(x_8); -x_72 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_72, 0, x_70); -lean_ctor_set(x_72, 1, x_71); -return x_72; +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; } } } @@ -3226,12 +3617,12 @@ lean_dec(x_1); return x_2; } } -lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremType(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremType_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) { _start: { uint8_t x_7; lean_object* x_8; x_7 = 1; -x_8 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore(x_1, x_7, x_2, x_3, x_4, x_5, x_6); +x_8 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f(x_1, x_7, x_2, x_3, x_4, x_5, x_6); return x_8; } } @@ -3365,7 +3756,7 @@ return x_2; lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___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) { _start: { -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_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; x_9 = lean_box(0); lean_inc(x_4); x_10 = l_Lean_Meta_mkFreshExprSyntheticOpaqueMVar(x_3, x_9, x_4, x_5, x_6, x_7, x_8); @@ -3375,183 +3766,177 @@ x_12 = lean_ctor_get(x_10, 1); lean_inc(x_12); lean_dec(x_10); x_13 = l_Lean_Expr_mvarId_x21(x_11); -x_14 = lean_box(0); -x_15 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1___closed__3; +x_14 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1___closed__3; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_16 = l_Lean_Meta_apply(x_13, x_15, x_4, x_5, x_6, x_7, x_12); +x_15 = l_Lean_Meta_apply(x_13, x_14, x_4, x_5, x_6, x_7, x_12); +if (lean_obj_tag(x_15) == 0) +{ +lean_object* x_16; +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); if (lean_obj_tag(x_16) == 0) { -lean_object* x_17; -x_17 = lean_ctor_get(x_16, 0); +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_dec(x_11); +lean_dec(x_2); +x_17 = lean_ctor_get(x_15, 1); 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; lean_object* x_24; -lean_dec(x_11); -lean_dec(x_2); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -x_19 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_19, 0, x_1); -x_20 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1___closed__5; -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_Lean_KernelException_toMessageData___closed__3; -x_23 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_23, 0, x_21); -lean_ctor_set(x_23, 1, x_22); -x_24 = l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_1315____spec__1(x_23, x_4, x_5, x_6, x_7, x_18); +lean_dec(x_15); +x_18 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_18, 0, x_1); +x_19 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1___closed__5; +x_20 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_18); +x_21 = l_Lean_KernelException_toMessageData___closed__3; +x_22 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_21); +x_23 = l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_1315____spec__1(x_22, x_4, x_5, x_6, x_7, x_17); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_24; +return x_23; } else { -lean_object* x_25; -x_25 = lean_ctor_get(x_17, 1); +lean_object* x_24; +x_24 = lean_ctor_get(x_16, 1); +lean_inc(x_24); +if (lean_obj_tag(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_dec(x_16); +lean_dec(x_11); +lean_dec(x_2); +x_25 = lean_ctor_get(x_15, 1); lean_inc(x_25); -if (lean_obj_tag(x_25) == 0) -{ -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_dec(x_17); -lean_dec(x_11); -lean_dec(x_2); -x_26 = lean_ctor_get(x_16, 1); -lean_inc(x_26); -lean_dec(x_16); -x_27 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_27, 0, x_1); -x_28 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1___closed__5; -x_29 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_29, 0, x_28); -lean_ctor_set(x_29, 1, x_27); -x_30 = l_Lean_KernelException_toMessageData___closed__3; -x_31 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -x_32 = l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_1315____spec__1(x_31, x_4, x_5, x_6, x_7, x_26); +lean_dec(x_15); +x_26 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_26, 0, x_1); +x_27 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1___closed__5; +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_KernelException_toMessageData___closed__3; +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_initFn____x40_Lean_Meta_Basic___hyg_1315____spec__1(x_30, x_4, x_5, x_6, x_7, x_25); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_32; +return x_31; } else { -lean_object* x_33; -x_33 = lean_ctor_get(x_25, 1); -lean_inc(x_33); -if (lean_obj_tag(x_33) == 0) +lean_object* x_32; +x_32 = lean_ctor_get(x_24, 1); +lean_inc(x_32); +if (lean_obj_tag(x_32) == 0) { -lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; lean_object* x_38; -x_34 = lean_ctor_get(x_16, 1); +lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; lean_object* x_37; +x_33 = lean_ctor_get(x_15, 1); +lean_inc(x_33); +lean_dec(x_15); +x_34 = lean_ctor_get(x_16, 0); lean_inc(x_34); lean_dec(x_16); -x_35 = lean_ctor_get(x_17, 0); +x_35 = lean_ctor_get(x_24, 0); lean_inc(x_35); -lean_dec(x_17); -x_36 = lean_ctor_get(x_25, 0); -lean_inc(x_36); -lean_dec(x_25); -x_37 = 0; +lean_dec(x_24); +x_36 = 0; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_38 = l_Lean_Meta_intro1Core(x_35, x_37, x_4, x_5, x_6, x_7, x_34); -if (lean_obj_tag(x_38) == 0) +x_37 = l_Lean_Meta_intro1Core(x_34, x_36, x_4, x_5, x_6, x_7, x_33); +if (lean_obj_tag(x_37) == 0) { -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_38, 0); +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_38 = lean_ctor_get(x_37, 0); +lean_inc(x_38); +x_39 = lean_ctor_get(x_37, 1); lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); +lean_dec(x_37); +x_40 = lean_ctor_get(x_38, 0); lean_inc(x_40); -lean_dec(x_38); -x_41 = lean_ctor_get(x_39, 0); +x_41 = lean_ctor_get(x_38, 1); lean_inc(x_41); -x_42 = lean_ctor_get(x_39, 1); -lean_inc(x_42); -lean_dec(x_39); +lean_dec(x_38); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_43 = l_Lean_Meta_intro1Core(x_36, x_37, x_4, x_5, x_6, x_7, x_40); -if (lean_obj_tag(x_43) == 0) +x_42 = l_Lean_Meta_intro1Core(x_35, x_36, x_4, x_5, x_6, x_7, x_39); +if (lean_obj_tag(x_42) == 0) { -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_44 = lean_ctor_get(x_43, 0); +lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_43 = lean_ctor_get(x_42, 0); +lean_inc(x_43); +x_44 = lean_ctor_get(x_42, 1); lean_inc(x_44); +lean_dec(x_42); x_45 = lean_ctor_get(x_43, 1); lean_inc(x_45); lean_dec(x_43); -x_46 = lean_ctor_get(x_44, 1); -lean_inc(x_46); -lean_dec(x_44); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_1); -x_47 = l___private_Lean_Meta_Injective_0__Lean_Meta_simpAllInj(x_1, x_46, x_4, x_5, x_6, x_7, x_45); -if (lean_obj_tag(x_47) == 0) +x_46 = l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq(x_1, x_41, x_40, x_4, x_5, x_6, x_7, x_44); +if (lean_obj_tag(x_46) == 0) { -lean_object* x_48; uint8_t x_49; lean_object* x_50; -x_48 = lean_ctor_get(x_47, 1); -lean_inc(x_48); -lean_dec(x_47); -x_49 = 1; +lean_object* x_47; lean_object* x_48; +x_47 = lean_ctor_get(x_46, 1); +lean_inc(x_47); +lean_dec(x_46); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_50 = l_Lean_Meta_injection(x_42, x_41, x_14, x_49, x_4, x_5, x_6, x_7, x_48); -if (lean_obj_tag(x_50) == 0) +x_48 = l_Lean_Meta_casesAnd(x_45, x_4, x_5, x_6, x_7, x_47); +if (lean_obj_tag(x_48) == 0) { -lean_object* x_51; -x_51 = lean_ctor_get(x_50, 0); -lean_inc(x_51); +lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_49 = lean_ctor_get(x_48, 0); +lean_inc(x_49); +x_50 = lean_ctor_get(x_48, 1); +lean_inc(x_50); +lean_dec(x_48); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_51 = l_Lean_Meta_substEqs(x_49, x_4, x_5, x_6, x_7, x_50); if (lean_obj_tag(x_51) == 0) { -lean_object* x_52; lean_object* x_53; -lean_dec(x_1); -x_52 = lean_ctor_get(x_50, 1); +lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_52 = lean_ctor_get(x_51, 0); lean_inc(x_52); -lean_dec(x_50); -x_53 = l_Lean_Meta_mkLambdaFVars(x_2, x_11, x_37, x_49, x_4, x_5, x_6, x_7, x_52); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -return x_53; -} -else -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; -x_54 = lean_ctor_get(x_50, 1); -lean_inc(x_54); -lean_dec(x_50); -x_55 = lean_ctor_get(x_51, 0); -lean_inc(x_55); +x_53 = lean_ctor_get(x_51, 1); +lean_inc(x_53); lean_dec(x_51); +x_54 = l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader(x_1); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_56 = l___private_Lean_Meta_Injective_0__Lean_Meta_simpAllInj(x_1, x_55, x_4, x_5, x_6, x_7, x_54); -if (lean_obj_tag(x_56) == 0) +x_55 = l_Lean_Meta_applyRefl(x_52, x_54, x_4, x_5, x_6, x_7, x_53); +if (lean_obj_tag(x_55) == 0) { -lean_object* x_57; lean_object* x_58; -x_57 = lean_ctor_get(x_56, 1); -lean_inc(x_57); -lean_dec(x_56); -x_58 = l_Lean_Meta_mkLambdaFVars(x_2, x_11, x_37, x_49, x_4, x_5, x_6, x_7, x_57); +lean_object* x_56; uint8_t x_57; lean_object* x_58; +x_56 = lean_ctor_get(x_55, 1); +lean_inc(x_56); +lean_dec(x_55); +x_57 = 1; +x_58 = l_Lean_Meta_mkLambdaFVars(x_2, x_11, x_36, x_57, x_4, x_5, x_6, x_7, x_56); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -3566,19 +3951,19 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); -x_59 = !lean_is_exclusive(x_56); +x_59 = !lean_is_exclusive(x_55); if (x_59 == 0) { -return x_56; +return x_55; } else { lean_object* x_60; lean_object* x_61; lean_object* x_62; -x_60 = lean_ctor_get(x_56, 0); -x_61 = lean_ctor_get(x_56, 1); +x_60 = lean_ctor_get(x_55, 0); +x_61 = lean_ctor_get(x_55, 1); lean_inc(x_61); lean_inc(x_60); -lean_dec(x_56); +lean_dec(x_55); x_62 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_62, 0, x_60); lean_ctor_set(x_62, 1, x_61); @@ -3586,7 +3971,6 @@ return x_62; } } } -} else { uint8_t x_63; @@ -3597,19 +3981,19 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -x_63 = !lean_is_exclusive(x_50); +x_63 = !lean_is_exclusive(x_51); if (x_63 == 0) { -return x_50; +return x_51; } else { lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_50, 0); -x_65 = lean_ctor_get(x_50, 1); +x_64 = lean_ctor_get(x_51, 0); +x_65 = lean_ctor_get(x_51, 1); lean_inc(x_65); lean_inc(x_64); -lean_dec(x_50); +lean_dec(x_51); x_66 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_66, 0, x_64); lean_ctor_set(x_66, 1, x_65); @@ -3620,8 +4004,6 @@ return x_66; else { uint8_t x_67; -lean_dec(x_42); -lean_dec(x_41); lean_dec(x_11); lean_dec(x_7); lean_dec(x_6); @@ -3629,19 +4011,19 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -x_67 = !lean_is_exclusive(x_47); +x_67 = !lean_is_exclusive(x_48); if (x_67 == 0) { -return x_47; +return x_48; } else { lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_68 = lean_ctor_get(x_47, 0); -x_69 = lean_ctor_get(x_47, 1); +x_68 = lean_ctor_get(x_48, 0); +x_69 = lean_ctor_get(x_48, 1); lean_inc(x_69); lean_inc(x_68); -lean_dec(x_47); +lean_dec(x_48); x_70 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_70, 0, x_68); lean_ctor_set(x_70, 1, x_69); @@ -3652,8 +4034,7 @@ return x_70; else { uint8_t x_71; -lean_dec(x_42); -lean_dec(x_41); +lean_dec(x_45); lean_dec(x_11); lean_dec(x_7); lean_dec(x_6); @@ -3661,19 +4042,19 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -x_71 = !lean_is_exclusive(x_43); +x_71 = !lean_is_exclusive(x_46); if (x_71 == 0) { -return x_43; +return x_46; } else { lean_object* x_72; lean_object* x_73; lean_object* x_74; -x_72 = lean_ctor_get(x_43, 0); -x_73 = lean_ctor_get(x_43, 1); +x_72 = lean_ctor_get(x_46, 0); +x_73 = lean_ctor_get(x_46, 1); lean_inc(x_73); lean_inc(x_72); -lean_dec(x_43); +lean_dec(x_46); x_74 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_74, 0, x_72); lean_ctor_set(x_74, 1, x_73); @@ -3684,7 +4065,8 @@ return x_74; else { uint8_t x_75; -lean_dec(x_36); +lean_dec(x_41); +lean_dec(x_40); lean_dec(x_11); lean_dec(x_7); lean_dec(x_6); @@ -3692,19 +4074,19 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -x_75 = !lean_is_exclusive(x_38); +x_75 = !lean_is_exclusive(x_42); if (x_75 == 0) { -return x_38; +return x_42; } else { lean_object* x_76; lean_object* x_77; lean_object* x_78; -x_76 = lean_ctor_get(x_38, 0); -x_77 = lean_ctor_get(x_38, 1); +x_76 = lean_ctor_get(x_42, 0); +x_77 = lean_ctor_get(x_42, 1); lean_inc(x_77); lean_inc(x_76); -lean_dec(x_38); +lean_dec(x_42); x_78 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_78, 0, x_76); lean_ctor_set(x_78, 1, x_77); @@ -3714,38 +4096,8 @@ return x_78; } else { -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_dec(x_33); -lean_dec(x_25); -lean_dec(x_17); -lean_dec(x_11); -lean_dec(x_2); -x_79 = lean_ctor_get(x_16, 1); -lean_inc(x_79); -lean_dec(x_16); -x_80 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_80, 0, x_1); -x_81 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1___closed__5; -x_82 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_82, 0, x_81); -lean_ctor_set(x_82, 1, x_80); -x_83 = l_Lean_KernelException_toMessageData___closed__3; -x_84 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_84, 0, x_82); -lean_ctor_set(x_84, 1, x_83); -x_85 = l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_1315____spec__1(x_84, x_4, x_5, x_6, x_7, x_79); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -return x_85; -} -} -} -} -else -{ -uint8_t x_86; +uint8_t x_79; +lean_dec(x_35); lean_dec(x_11); lean_dec(x_7); lean_dec(x_6); @@ -3753,27 +4105,88 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -x_86 = !lean_is_exclusive(x_16); -if (x_86 == 0) +x_79 = !lean_is_exclusive(x_37); +if (x_79 == 0) { -return x_16; +return x_37; } else { -lean_object* x_87; lean_object* x_88; lean_object* x_89; -x_87 = lean_ctor_get(x_16, 0); -x_88 = lean_ctor_get(x_16, 1); -lean_inc(x_88); -lean_inc(x_87); +lean_object* x_80; lean_object* x_81; lean_object* x_82; +x_80 = lean_ctor_get(x_37, 0); +x_81 = lean_ctor_get(x_37, 1); +lean_inc(x_81); +lean_inc(x_80); +lean_dec(x_37); +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; +} +} +} +else +{ +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_dec(x_32); +lean_dec(x_24); lean_dec(x_16); -x_89 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_89, 0, x_87); -lean_ctor_set(x_89, 1, x_88); +lean_dec(x_11); +lean_dec(x_2); +x_83 = lean_ctor_get(x_15, 1); +lean_inc(x_83); +lean_dec(x_15); +x_84 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_84, 0, x_1); +x_85 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1___closed__5; +x_86 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_86, 0, x_85); +lean_ctor_set(x_86, 1, x_84); +x_87 = l_Lean_KernelException_toMessageData___closed__3; +x_88 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_88, 0, x_86); +lean_ctor_set(x_88, 1, x_87); +x_89 = l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_1315____spec__1(x_88, x_4, x_5, x_6, x_7, x_83); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); return x_89; } } } } +else +{ +uint8_t x_90; +lean_dec(x_11); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_90 = !lean_is_exclusive(x_15); +if (x_90 == 0) +{ +return x_15; +} +else +{ +lean_object* x_91; lean_object* x_92; lean_object* x_93; +x_91 = lean_ctor_get(x_15, 0); +x_92 = lean_ctor_get(x_15, 1); +lean_inc(x_92); +lean_inc(x_91); +lean_dec(x_15); +x_93 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_93, 0, x_91); +lean_ctor_set(x_93, 1, x_92); +return x_93; +} +} +} +} lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue(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: { @@ -3794,476 +4207,514 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_8 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore(x_1, x_7, x_2, x_3, x_4, x_5, x_6); +x_8 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f(x_1, x_7, x_2, x_3, x_4, x_5, x_6); if (lean_obj_tag(x_8) == 0) { -lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; -x_9 = lean_ctor_get(x_1, 0); +lean_object* x_9; +x_9 = lean_ctor_get(x_8, 0); lean_inc(x_9); +if (lean_obj_tag(x_9) == 0) +{ +uint8_t x_10; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); lean_dec(x_1); -x_10 = lean_ctor_get(x_8, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_8, 1); -lean_inc(x_11); -lean_dec(x_8); -x_12 = !lean_is_exclusive(x_9); -if (x_12 == 0) +x_10 = !lean_is_exclusive(x_8); +if (x_10 == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_13 = lean_ctor_get(x_9, 0); -x_14 = lean_ctor_get(x_9, 1); -x_15 = lean_ctor_get(x_9, 2); -lean_dec(x_15); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_10); +lean_object* x_11; lean_object* x_12; +x_11 = lean_ctor_get(x_8, 0); +lean_dec(x_11); +x_12 = lean_box(0); +lean_ctor_set(x_8, 0, x_12); +return x_8; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_8, 1); lean_inc(x_13); -x_16 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue(x_13, x_10, x_2, x_3, x_4, x_5, x_11); -if (lean_obj_tag(x_16) == 0) +lean_dec(x_8); +x_14 = lean_box(0); +x_15 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_13); +return x_15; +} +} +else { -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); +lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; +x_16 = lean_ctor_get(x_1, 0); +lean_inc(x_16); +lean_dec(x_1); +x_17 = lean_ctor_get(x_8, 1); lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); +lean_dec(x_8); +x_18 = lean_ctor_get(x_9, 0); lean_inc(x_18); -lean_dec(x_16); -x_19 = l_Lean_Meta_mkInjectiveEqTheoremNameFor(x_13); -lean_dec(x_13); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_20 = l_Lean_Meta_instantiateMVars(x_10, x_2, x_3, x_4, x_5, x_18); -if (lean_obj_tag(x_20) == 0) +lean_dec(x_9); +x_19 = !lean_is_exclusive(x_16); +if (x_19 == 0) { -lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_20 = lean_ctor_get(x_16, 0); +x_21 = lean_ctor_get(x_16, 1); +x_22 = lean_ctor_get(x_16, 2); +lean_dec(x_22); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_23 = l_Lean_Meta_instantiateMVars(x_17, x_2, x_3, x_4, x_5, x_22); +lean_inc(x_18); +lean_inc(x_20); +x_23 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue(x_20, x_18, x_2, x_3, x_4, x_5, x_17); 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_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; x_24 = lean_ctor_get(x_23, 0); lean_inc(x_24); x_25 = lean_ctor_get(x_23, 1); lean_inc(x_25); lean_dec(x_23); -lean_inc(x_19); -lean_ctor_set(x_9, 2, x_21); -lean_ctor_set(x_9, 0, x_19); -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_9); -lean_ctor_set(x_26, 1, x_24); -x_27 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_27, 0, x_26); +x_26 = l_Lean_Meta_mkInjectiveEqTheoremNameFor(x_20); +lean_dec(x_20); +lean_inc(x_5); lean_inc(x_4); -x_28 = l_Lean_addDecl___at_Lean_Meta_mkAuxLemma___spec__4(x_27, x_2, x_3, x_4, x_5, x_25); -lean_dec(x_27); -if (lean_obj_tag(x_28) == 0) +lean_inc(x_3); +lean_inc(x_2); +x_27 = l_Lean_Meta_instantiateMVars(x_18, x_2, x_3, x_4, x_5, x_25); +if (lean_obj_tag(x_27) == 0) { -lean_object* x_29; uint8_t x_30; lean_object* x_31; lean_object* x_32; -x_29 = lean_ctor_get(x_28, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); lean_inc(x_29); -lean_dec(x_28); -x_30 = 0; -x_31 = lean_unsigned_to_nat(1000u); -x_32 = l_Lean_Meta_addSimpLemma(x_19, x_7, x_30, x_31, x_2, x_3, x_4, x_5, x_29); -return x_32; +lean_dec(x_27); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_30 = l_Lean_Meta_instantiateMVars(x_24, x_2, x_3, x_4, x_5, x_29); +if (lean_obj_tag(x_30) == 0) +{ +lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_31 = lean_ctor_get(x_30, 0); +lean_inc(x_31); +x_32 = lean_ctor_get(x_30, 1); +lean_inc(x_32); +lean_dec(x_30); +lean_inc(x_26); +lean_ctor_set(x_16, 2, x_28); +lean_ctor_set(x_16, 0, x_26); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_16); +lean_ctor_set(x_33, 1, x_31); +x_34 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_34, 0, x_33); +lean_inc(x_4); +x_35 = l_Lean_addDecl___at_Lean_Meta_mkAuxLemma___spec__4(x_34, x_2, x_3, x_4, x_5, x_32); +lean_dec(x_34); +if (lean_obj_tag(x_35) == 0) +{ +lean_object* x_36; uint8_t x_37; lean_object* x_38; lean_object* x_39; +x_36 = lean_ctor_get(x_35, 1); +lean_inc(x_36); +lean_dec(x_35); +x_37 = 0; +x_38 = lean_unsigned_to_nat(1000u); +x_39 = l_Lean_Meta_addSimpLemma(x_26, x_7, x_37, x_38, x_2, x_3, x_4, x_5, x_36); +return x_39; } else { -uint8_t x_33; -lean_dec(x_19); +uint8_t x_40; +lean_dec(x_26); 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) +x_40 = !lean_is_exclusive(x_35); +if (x_40 == 0) { -return x_28; +return x_35; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_28, 0); -x_35 = lean_ctor_get(x_28, 1); -lean_inc(x_35); -lean_inc(x_34); +lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_41 = lean_ctor_get(x_35, 0); +x_42 = lean_ctor_get(x_35, 1); +lean_inc(x_42); +lean_inc(x_41); +lean_dec(x_35); +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; +} +} +} +else +{ +uint8_t x_44; lean_dec(x_28); -x_36 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_36, 0, x_34); -lean_ctor_set(x_36, 1, x_35); -return x_36; -} -} -} -else -{ -uint8_t x_37; +lean_dec(x_26); +lean_free_object(x_16); lean_dec(x_21); -lean_dec(x_19); -lean_free_object(x_9); -lean_dec(x_14); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_37 = !lean_is_exclusive(x_23); -if (x_37 == 0) +x_44 = !lean_is_exclusive(x_30); +if (x_44 == 0) +{ +return x_30; +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_45 = lean_ctor_get(x_30, 0); +x_46 = lean_ctor_get(x_30, 1); +lean_inc(x_46); +lean_inc(x_45); +lean_dec(x_30); +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 +{ +uint8_t x_48; +lean_dec(x_26); +lean_dec(x_24); +lean_free_object(x_16); +lean_dec(x_21); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_48 = !lean_is_exclusive(x_27); +if (x_48 == 0) +{ +return x_27; +} +else +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_49 = lean_ctor_get(x_27, 0); +x_50 = lean_ctor_get(x_27, 1); +lean_inc(x_50); +lean_inc(x_49); +lean_dec(x_27); +x_51 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_51, 0, x_49); +lean_ctor_set(x_51, 1, x_50); +return x_51; +} +} +} +else +{ +uint8_t x_52; +lean_free_object(x_16); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_18); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_52 = !lean_is_exclusive(x_23); +if (x_52 == 0) { return x_23; } else { -lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_38 = lean_ctor_get(x_23, 0); -x_39 = lean_ctor_get(x_23, 1); -lean_inc(x_39); -lean_inc(x_38); -lean_dec(x_23); -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; -} -} -} -else -{ -uint8_t x_41; -lean_dec(x_19); -lean_dec(x_17); -lean_free_object(x_9); -lean_dec(x_14); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_41 = !lean_is_exclusive(x_20); -if (x_41 == 0) -{ -return x_20; -} -else -{ -lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_42 = lean_ctor_get(x_20, 0); -x_43 = lean_ctor_get(x_20, 1); -lean_inc(x_43); -lean_inc(x_42); -lean_dec(x_20); -x_44 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_44, 0, x_42); -lean_ctor_set(x_44, 1, x_43); -return x_44; -} -} -} -else -{ -uint8_t x_45; -lean_free_object(x_9); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_10); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_45 = !lean_is_exclusive(x_16); -if (x_45 == 0) -{ -return x_16; -} -else -{ -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_16, 0); -x_47 = lean_ctor_get(x_16, 1); -lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_16); -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 -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_49 = lean_ctor_get(x_9, 0); -x_50 = lean_ctor_get(x_9, 1); -lean_inc(x_50); -lean_inc(x_49); -lean_dec(x_9); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_10); -lean_inc(x_49); -x_51 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue(x_49, x_10, x_2, x_3, x_4, x_5, x_11); -if (lean_obj_tag(x_51) == 0) -{ -lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_52 = lean_ctor_get(x_51, 0); -lean_inc(x_52); -x_53 = lean_ctor_get(x_51, 1); +lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_53 = lean_ctor_get(x_23, 0); +x_54 = lean_ctor_get(x_23, 1); +lean_inc(x_54); lean_inc(x_53); -lean_dec(x_51); -x_54 = l_Lean_Meta_mkInjectiveEqTheoremNameFor(x_49); -lean_dec(x_49); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_55 = l_Lean_Meta_instantiateMVars(x_10, x_2, x_3, x_4, x_5, x_53); -if (lean_obj_tag(x_55) == 0) +lean_dec(x_23); +x_55 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_55, 0, x_53); +lean_ctor_set(x_55, 1, x_54); +return x_55; +} +} +} +else { lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_56 = lean_ctor_get(x_55, 0); -lean_inc(x_56); -x_57 = lean_ctor_get(x_55, 1); +x_56 = lean_ctor_get(x_16, 0); +x_57 = lean_ctor_get(x_16, 1); lean_inc(x_57); -lean_dec(x_55); +lean_inc(x_56); +lean_dec(x_16); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_58 = l_Lean_Meta_instantiateMVars(x_52, x_2, x_3, x_4, x_5, x_57); +lean_inc(x_18); +lean_inc(x_56); +x_58 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue(x_56, x_18, x_2, x_3, x_4, x_5, x_17); if (lean_obj_tag(x_58) == 0) { -lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; +lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; x_59 = lean_ctor_get(x_58, 0); lean_inc(x_59); x_60 = lean_ctor_get(x_58, 1); lean_inc(x_60); lean_dec(x_58); -lean_inc(x_54); -x_61 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_61, 0, x_54); -lean_ctor_set(x_61, 1, x_50); -lean_ctor_set(x_61, 2, x_56); -x_62 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_62, 0, x_61); -lean_ctor_set(x_62, 1, x_59); -x_63 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_63, 0, x_62); -lean_inc(x_4); -x_64 = l_Lean_addDecl___at_Lean_Meta_mkAuxLemma___spec__4(x_63, x_2, x_3, x_4, x_5, x_60); -lean_dec(x_63); -if (lean_obj_tag(x_64) == 0) -{ -lean_object* x_65; uint8_t x_66; lean_object* x_67; lean_object* x_68; -x_65 = lean_ctor_get(x_64, 1); -lean_inc(x_65); -lean_dec(x_64); -x_66 = 0; -x_67 = lean_unsigned_to_nat(1000u); -x_68 = l_Lean_Meta_addSimpLemma(x_54, x_7, x_66, x_67, x_2, x_3, x_4, x_5, x_65); -return x_68; -} -else -{ -lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; -lean_dec(x_54); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_69 = lean_ctor_get(x_64, 0); -lean_inc(x_69); -x_70 = lean_ctor_get(x_64, 1); -lean_inc(x_70); -if (lean_is_exclusive(x_64)) { - lean_ctor_release(x_64, 0); - lean_ctor_release(x_64, 1); - x_71 = x_64; -} else { - lean_dec_ref(x_64); - x_71 = lean_box(0); -} -if (lean_is_scalar(x_71)) { - x_72 = lean_alloc_ctor(1, 2, 0); -} else { - x_72 = x_71; -} -lean_ctor_set(x_72, 0, x_69); -lean_ctor_set(x_72, 1, x_70); -return x_72; -} -} -else -{ -lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; +x_61 = l_Lean_Meta_mkInjectiveEqTheoremNameFor(x_56); lean_dec(x_56); -lean_dec(x_54); -lean_dec(x_50); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_62 = l_Lean_Meta_instantiateMVars(x_18, x_2, x_3, x_4, x_5, x_60); +if (lean_obj_tag(x_62) == 0) +{ +lean_object* x_63; lean_object* x_64; lean_object* x_65; +x_63 = lean_ctor_get(x_62, 0); +lean_inc(x_63); +x_64 = lean_ctor_get(x_62, 1); +lean_inc(x_64); +lean_dec(x_62); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_65 = l_Lean_Meta_instantiateMVars(x_59, x_2, x_3, x_4, x_5, x_64); +if (lean_obj_tag(x_65) == 0) +{ +lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_66 = lean_ctor_get(x_65, 0); +lean_inc(x_66); +x_67 = lean_ctor_get(x_65, 1); +lean_inc(x_67); +lean_dec(x_65); +lean_inc(x_61); +x_68 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_68, 0, x_61); +lean_ctor_set(x_68, 1, x_57); +lean_ctor_set(x_68, 2, x_63); +x_69 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_69, 0, x_68); +lean_ctor_set(x_69, 1, x_66); +x_70 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_70, 0, x_69); +lean_inc(x_4); +x_71 = l_Lean_addDecl___at_Lean_Meta_mkAuxLemma___spec__4(x_70, x_2, x_3, x_4, x_5, x_67); +lean_dec(x_70); +if (lean_obj_tag(x_71) == 0) +{ +lean_object* x_72; uint8_t x_73; lean_object* x_74; lean_object* x_75; +x_72 = lean_ctor_get(x_71, 1); +lean_inc(x_72); +lean_dec(x_71); +x_73 = 0; +x_74 = lean_unsigned_to_nat(1000u); +x_75 = l_Lean_Meta_addSimpLemma(x_61, x_7, x_73, x_74, x_2, x_3, x_4, x_5, x_72); +return x_75; +} +else +{ +lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; +lean_dec(x_61); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_73 = lean_ctor_get(x_58, 0); -lean_inc(x_73); -x_74 = lean_ctor_get(x_58, 1); -lean_inc(x_74); +x_76 = lean_ctor_get(x_71, 0); +lean_inc(x_76); +x_77 = lean_ctor_get(x_71, 1); +lean_inc(x_77); +if (lean_is_exclusive(x_71)) { + lean_ctor_release(x_71, 0); + lean_ctor_release(x_71, 1); + x_78 = x_71; +} else { + lean_dec_ref(x_71); + 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 +{ +lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; +lean_dec(x_63); +lean_dec(x_61); +lean_dec(x_57); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_80 = lean_ctor_get(x_65, 0); +lean_inc(x_80); +x_81 = lean_ctor_get(x_65, 1); +lean_inc(x_81); +if (lean_is_exclusive(x_65)) { + lean_ctor_release(x_65, 0); + lean_ctor_release(x_65, 1); + x_82 = x_65; +} else { + lean_dec_ref(x_65); + x_82 = lean_box(0); +} +if (lean_is_scalar(x_82)) { + x_83 = lean_alloc_ctor(1, 2, 0); +} else { + x_83 = x_82; +} +lean_ctor_set(x_83, 0, x_80); +lean_ctor_set(x_83, 1, x_81); +return x_83; +} +} +else +{ +lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; +lean_dec(x_61); +lean_dec(x_59); +lean_dec(x_57); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_84 = lean_ctor_get(x_62, 0); +lean_inc(x_84); +x_85 = lean_ctor_get(x_62, 1); +lean_inc(x_85); +if (lean_is_exclusive(x_62)) { + lean_ctor_release(x_62, 0); + lean_ctor_release(x_62, 1); + x_86 = x_62; +} else { + lean_dec_ref(x_62); + x_86 = lean_box(0); +} +if (lean_is_scalar(x_86)) { + x_87 = lean_alloc_ctor(1, 2, 0); +} else { + x_87 = x_86; +} +lean_ctor_set(x_87, 0, x_84); +lean_ctor_set(x_87, 1, x_85); +return x_87; +} +} +else +{ +lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; +lean_dec(x_57); +lean_dec(x_56); +lean_dec(x_18); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_88 = lean_ctor_get(x_58, 0); +lean_inc(x_88); +x_89 = lean_ctor_get(x_58, 1); +lean_inc(x_89); if (lean_is_exclusive(x_58)) { lean_ctor_release(x_58, 0); lean_ctor_release(x_58, 1); - x_75 = x_58; + x_90 = x_58; } else { lean_dec_ref(x_58); - x_75 = lean_box(0); + x_90 = lean_box(0); } -if (lean_is_scalar(x_75)) { - x_76 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_90)) { + x_91 = lean_alloc_ctor(1, 2, 0); } else { - x_76 = x_75; + x_91 = x_90; } -lean_ctor_set(x_76, 0, x_73); -lean_ctor_set(x_76, 1, x_74); -return x_76; +lean_ctor_set(x_91, 0, x_88); +lean_ctor_set(x_91, 1, x_89); +return x_91; } } -else -{ -lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; -lean_dec(x_54); -lean_dec(x_52); -lean_dec(x_50); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_77 = lean_ctor_get(x_55, 0); -lean_inc(x_77); -x_78 = lean_ctor_get(x_55, 1); -lean_inc(x_78); -if (lean_is_exclusive(x_55)) { - lean_ctor_release(x_55, 0); - lean_ctor_release(x_55, 1); - x_79 = x_55; -} else { - lean_dec_ref(x_55); - x_79 = lean_box(0); -} -if (lean_is_scalar(x_79)) { - x_80 = lean_alloc_ctor(1, 2, 0); -} else { - x_80 = x_79; -} -lean_ctor_set(x_80, 0, x_77); -lean_ctor_set(x_80, 1, x_78); -return x_80; -} -} -else -{ -lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; -lean_dec(x_50); -lean_dec(x_49); -lean_dec(x_10); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_81 = lean_ctor_get(x_51, 0); -lean_inc(x_81); -x_82 = lean_ctor_get(x_51, 1); -lean_inc(x_82); -if (lean_is_exclusive(x_51)) { - lean_ctor_release(x_51, 0); - lean_ctor_release(x_51, 1); - x_83 = x_51; -} else { - lean_dec_ref(x_51); - x_83 = lean_box(0); -} -if (lean_is_scalar(x_83)) { - x_84 = lean_alloc_ctor(1, 2, 0); -} else { - x_84 = x_83; -} -lean_ctor_set(x_84, 0, x_81); -lean_ctor_set(x_84, 1, x_82); -return x_84; -} } } else { -uint8_t x_85; +uint8_t x_92; lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_85 = !lean_is_exclusive(x_8); -if (x_85 == 0) +x_92 = !lean_is_exclusive(x_8); +if (x_92 == 0) { return x_8; } else { -lean_object* x_86; lean_object* x_87; lean_object* x_88; -x_86 = lean_ctor_get(x_8, 0); -x_87 = lean_ctor_get(x_8, 1); -lean_inc(x_87); -lean_inc(x_86); +lean_object* x_93; lean_object* x_94; lean_object* x_95; +x_93 = lean_ctor_get(x_8, 0); +x_94 = lean_ctor_get(x_8, 1); +lean_inc(x_94); +lean_inc(x_93); lean_dec(x_8); -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; +x_95 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_95, 0, x_93); +lean_ctor_set(x_95, 1, x_94); +return x_95; } } } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__1() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string("genInjective"); +x_1 = lean_mk_string("genInjectivity"); return x_1; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__2() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____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_Injective___hyg_1282____closed__1; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____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_Injective___hyg_1282____closed__3() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__3() { _start: { lean_object* x_1; -x_1 = lean_mk_string("generate injective theorems for inductive datatype constructors"); +x_1 = lean_mk_string("generate injectivity theorems for inductive datatype constructors"); return x_1; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__4() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____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_instInhabitedParserDescr___closed__1; -x_3 = l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__3; +x_3 = l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__3; x_4 = lean_box(x_1); x_5 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_5, 0, x_4); @@ -4272,12 +4723,12 @@ lean_ctor_set(x_5, 2, x_3); return x_5; } } -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282_(lean_object* x_1) { +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__2; -x_3 = l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__4; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__2; +x_3 = l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__4; x_4 = l_Lean_Option_register___at_Std_Format_initFn____x40_Lean_Data_Format___hyg_53____spec__1(x_2, x_3, x_1); return x_4; } @@ -4440,135 +4891,7 @@ return x_15; } } } -lean_object* l_Lean_getConstInfoInduct___at_Lean_Meta_mkInjectiveTheorems___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -lean_inc(x_1); -x_7 = l_Lean_getConstInfo___at_Lean_Meta_mkConstWithFreshMVarLevels___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_7) == 0) -{ -lean_object* x_8; -x_8 = lean_ctor_get(x_7, 0); -lean_inc(x_8); -if (lean_obj_tag(x_8) == 5) -{ -uint8_t x_9; -lean_dec(x_1); -x_9 = !lean_is_exclusive(x_7); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; -x_10 = lean_ctor_get(x_7, 0); -lean_dec(x_10); -x_11 = lean_ctor_get(x_8, 0); -lean_inc(x_11); -lean_dec(x_8); -lean_ctor_set(x_7, 0, x_11); -return x_7; -} -else -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_12 = lean_ctor_get(x_7, 1); -lean_inc(x_12); -lean_dec(x_7); -x_13 = lean_ctor_get(x_8, 0); -lean_inc(x_13); -lean_dec(x_8); -x_14 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_14, 0, x_13); -lean_ctor_set(x_14, 1, x_12); -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_dec(x_8); -x_15 = lean_ctor_get(x_7, 1); -lean_inc(x_15); -lean_dec(x_7); -x_16 = lean_box(0); -x_17 = l_Lean_mkConst(x_1, x_16); -x_18 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_18, 0, x_17); -x_19 = l_Lean_KernelException_toMessageData___closed__3; -x_20 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_20, 0, x_19); -lean_ctor_set(x_20, 1, x_18); -x_21 = l_Lean_getConstInfoInduct___rarg___lambda__1___closed__2; -x_22 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_22, 0, x_20); -lean_ctor_set(x_22, 1, x_21); -x_23 = l_Lean_throwError___at_Lean_Meta_mkInjectiveTheorems___spec__3(x_22, x_2, x_3, x_4, x_5, x_15); -return x_23; -} -} -else -{ -uint8_t x_24; -lean_dec(x_1); -x_24 = !lean_is_exclusive(x_7); -if (x_24 == 0) -{ -return x_7; -} -else -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_7, 0); -x_26 = lean_ctor_get(x_7, 1); -lean_inc(x_26); -lean_inc(x_25); -lean_dec(x_7); -x_27 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_27, 0, x_25); -lean_ctor_set(x_27, 1, x_26); -return x_27; -} -} -} -} -lean_object* l_Lean_throwError___at_Lean_Meta_mkInjectiveTheorems___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) { -_start: -{ -lean_object* x_7; lean_object* x_8; uint8_t x_9; -x_7 = lean_ctor_get(x_4, 3); -x_8 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); -x_9 = !lean_is_exclusive(x_8); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; -x_10 = lean_ctor_get(x_8, 0); -lean_inc(x_7); -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_7); -lean_ctor_set(x_11, 1, x_10); -lean_ctor_set_tag(x_8, 1); -lean_ctor_set(x_8, 0, x_11); -return x_8; -} -else -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_12 = lean_ctor_get(x_8, 0); -x_13 = lean_ctor_get(x_8, 1); -lean_inc(x_13); -lean_inc(x_12); -lean_dec(x_8); -lean_inc(x_7); -x_14 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_14, 0, x_7); -lean_ctor_set(x_14, 1, x_12); -x_15 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_15, 0, x_14); -lean_ctor_set(x_15, 1, x_13); -return x_15; -} -} -} -lean_object* l_Lean_getConstInfoCtor___at_Lean_Meta_mkInjectiveTheorems___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* l_Lean_getConstInfoCtor___at_Lean_Meta_mkInjectiveTheorems___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; @@ -4629,7 +4952,7 @@ x_21 = l_Lean_getConstInfoCtor___rarg___lambda__1___closed__2; x_22 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_22, 0, x_20); lean_ctor_set(x_22, 1, x_21); -x_23 = l_Lean_throwError___at_Lean_Meta_mkInjectiveTheorems___spec__5(x_22, x_2, x_3, x_4, x_5, x_15); +x_23 = l_Lean_throwError___at_Lean_Meta_mkInjectiveTheorems___spec__3(x_22, x_2, x_3, x_4, x_5, x_15); return x_23; } } @@ -4658,7 +4981,7 @@ return x_27; } } } -lean_object* l_List_forIn_loop___at_Lean_Meta_mkInjectiveTheorems___spec__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* l_List_forIn_loop___at_Lean_Meta_mkInjectiveTheorems___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) { _start: { if (lean_obj_tag(x_1) == 0) @@ -4682,7 +5005,7 @@ lean_inc(x_9); x_10 = lean_ctor_get(x_1, 1); lean_inc(x_10); lean_dec(x_1); -x_11 = l_Lean_getConstInfoCtor___at_Lean_Meta_mkInjectiveTheorems___spec__4(x_9, x_3, x_4, x_5, x_6, x_7); +x_11 = l_Lean_getConstInfoCtor___at_Lean_Meta_mkInjectiveTheorems___spec__2(x_9, x_3, x_4, x_5, x_6, x_7); if (lean_obj_tag(x_11) == 0) { lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; @@ -4868,7 +5191,7 @@ return x_12; else { lean_object* x_19; uint8_t x_20; -x_19 = l_Lean_Meta_genInjective; +x_19 = l_Lean_Meta_genInjectivity; x_20 = l_Lean_Option_get___at_Lean_ppExpr___spec__1(x_11, x_19); lean_dec(x_11); if (x_20 == 0) @@ -4893,104 +5216,140 @@ if (x_22 == 0) { lean_object* x_23; lean_free_object(x_12); -x_23 = l_Lean_getConstInfoInduct___at_Lean_Meta_mkInjectiveTheorems___spec__2(x_1, x_2, x_3, x_4, x_5, x_15); +x_23 = l_Lean_getConstInfoInduct___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_mkRecursorInfoForKernelRec___spec__1(x_1, x_2, x_3, x_4, x_5, x_15); 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_24; uint8_t x_25; x_24 = lean_ctor_get(x_23, 0); lean_inc(x_24); -x_25 = lean_ctor_get(x_23, 1); -lean_inc(x_25); -lean_dec(x_23); -x_26 = lean_ctor_get(x_24, 4); +x_25 = lean_ctor_get_uint8(x_24, sizeof(void*)*5 + 1); +if (x_25 == 0) +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_26 = lean_ctor_get(x_23, 1); lean_inc(x_26); +lean_dec(x_23); +x_27 = lean_ctor_get(x_24, 4); +lean_inc(x_27); lean_dec(x_24); -x_27 = lean_box(0); -x_28 = l_List_forIn_loop___at_Lean_Meta_mkInjectiveTheorems___spec__6(x_26, x_27, x_2, x_3, x_4, x_5, x_25); -if (lean_obj_tag(x_28) == 0) +x_28 = lean_box(0); +x_29 = l_List_forIn_loop___at_Lean_Meta_mkInjectiveTheorems___spec__4(x_27, x_28, x_2, x_3, x_4, x_5, x_26); +if (lean_obj_tag(x_29) == 0) { -uint8_t x_29; -x_29 = !lean_is_exclusive(x_28); -if (x_29 == 0) +uint8_t x_30; +x_30 = !lean_is_exclusive(x_29); +if (x_30 == 0) { -lean_object* x_30; -x_30 = lean_ctor_get(x_28, 0); -lean_dec(x_30); -lean_ctor_set(x_28, 0, x_27); -return x_28; +lean_object* x_31; +x_31 = lean_ctor_get(x_29, 0); +lean_dec(x_31); +lean_ctor_set(x_29, 0, x_28); +return x_29; } else { -lean_object* x_31; lean_object* x_32; -x_31 = lean_ctor_get(x_28, 1); -lean_inc(x_31); -lean_dec(x_28); -x_32 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_32, 0, x_27); -lean_ctor_set(x_32, 1, x_31); -return x_32; +lean_object* x_32; lean_object* x_33; +x_32 = lean_ctor_get(x_29, 1); +lean_inc(x_32); +lean_dec(x_29); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_28); +lean_ctor_set(x_33, 1, x_32); +return x_33; } } else { -uint8_t x_33; -x_33 = !lean_is_exclusive(x_28); -if (x_33 == 0) +uint8_t x_34; +x_34 = !lean_is_exclusive(x_29); +if (x_34 == 0) { -return x_28; +return x_29; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_28, 0); -x_35 = lean_ctor_get(x_28, 1); +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_29, 0); +x_36 = lean_ctor_get(x_29, 1); +lean_inc(x_36); lean_inc(x_35); -lean_inc(x_34); -lean_dec(x_28); -x_36 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_36, 0, x_34); -lean_ctor_set(x_36, 1, x_35); -return x_36; +lean_dec(x_29); +x_37 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_37, 0, x_35); +lean_ctor_set(x_37, 1, x_36); +return x_37; } } } else { -uint8_t x_37; +uint8_t x_38; +lean_dec(x_24); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_37 = !lean_is_exclusive(x_23); -if (x_37 == 0) +x_38 = !lean_is_exclusive(x_23); +if (x_38 == 0) +{ +lean_object* x_39; lean_object* x_40; +x_39 = lean_ctor_get(x_23, 0); +lean_dec(x_39); +x_40 = lean_box(0); +lean_ctor_set(x_23, 0, x_40); +return x_23; +} +else +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_41 = lean_ctor_get(x_23, 1); +lean_inc(x_41); +lean_dec(x_23); +x_42 = lean_box(0); +x_43 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_43, 0, x_42); +lean_ctor_set(x_43, 1, x_41); +return x_43; +} +} +} +else +{ +uint8_t x_44; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_44 = !lean_is_exclusive(x_23); +if (x_44 == 0) { return x_23; } else { -lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_38 = lean_ctor_get(x_23, 0); -x_39 = lean_ctor_get(x_23, 1); -lean_inc(x_39); -lean_inc(x_38); +lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_45 = lean_ctor_get(x_23, 0); +x_46 = lean_ctor_get(x_23, 1); +lean_inc(x_46); +lean_inc(x_45); lean_dec(x_23); -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_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 { -lean_object* x_41; +lean_object* x_48; lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_41 = lean_box(0); -lean_ctor_set(x_12, 0, x_41); +x_48 = lean_box(0); +lean_ctor_set(x_12, 0, x_48); return x_12; } } @@ -4998,162 +5357,195 @@ return x_12; } else { -lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; -x_42 = lean_ctor_get(x_12, 0); -x_43 = lean_ctor_get(x_12, 1); -lean_inc(x_43); -lean_inc(x_42); +lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; +x_49 = lean_ctor_get(x_12, 0); +x_50 = lean_ctor_get(x_12, 1); +lean_inc(x_50); +lean_inc(x_49); lean_dec(x_12); -x_44 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1___closed__2; -x_45 = l_Lean_Environment_contains(x_10, x_44); -if (x_45 == 0) -{ -lean_object* x_46; lean_object* x_47; -lean_dec(x_42); -lean_dec(x_11); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_46 = lean_box(0); -x_47 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_47, 0, x_46); -lean_ctor_set(x_47, 1, x_43); -return x_47; -} -else -{ -lean_object* x_48; uint8_t x_49; -x_48 = l_Lean_Meta_genInjective; -x_49 = l_Lean_Option_get___at_Lean_ppExpr___spec__1(x_11, x_48); -lean_dec(x_11); -if (x_49 == 0) -{ -lean_object* x_50; lean_object* x_51; -lean_dec(x_42); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_50 = lean_box(0); -x_51 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_51, 0, x_50); -lean_ctor_set(x_51, 1, x_43); -return x_51; -} -else -{ -uint8_t x_52; -x_52 = lean_unbox(x_42); -lean_dec(x_42); +x_51 = l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1___closed__2; +x_52 = l_Lean_Environment_contains(x_10, x_51); if (x_52 == 0) { -lean_object* x_53; -x_53 = l_Lean_getConstInfoInduct___at_Lean_Meta_mkInjectiveTheorems___spec__2(x_1, x_2, x_3, x_4, x_5, x_43); -if (lean_obj_tag(x_53) == 0) -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_54 = lean_ctor_get(x_53, 0); -lean_inc(x_54); -x_55 = lean_ctor_get(x_53, 1); -lean_inc(x_55); -lean_dec(x_53); -x_56 = lean_ctor_get(x_54, 4); -lean_inc(x_56); -lean_dec(x_54); -x_57 = lean_box(0); -x_58 = l_List_forIn_loop___at_Lean_Meta_mkInjectiveTheorems___spec__6(x_56, x_57, x_2, x_3, x_4, x_5, x_55); -if (lean_obj_tag(x_58) == 0) -{ -lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_59 = lean_ctor_get(x_58, 1); -lean_inc(x_59); -if (lean_is_exclusive(x_58)) { - lean_ctor_release(x_58, 0); - lean_ctor_release(x_58, 1); - x_60 = x_58; -} else { - lean_dec_ref(x_58); - x_60 = lean_box(0); -} -if (lean_is_scalar(x_60)) { - x_61 = lean_alloc_ctor(0, 2, 0); -} else { - x_61 = x_60; -} -lean_ctor_set(x_61, 0, x_57); -lean_ctor_set(x_61, 1, x_59); -return x_61; -} -else -{ -lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; -x_62 = lean_ctor_get(x_58, 0); -lean_inc(x_62); -x_63 = lean_ctor_get(x_58, 1); -lean_inc(x_63); -if (lean_is_exclusive(x_58)) { - lean_ctor_release(x_58, 0); - lean_ctor_release(x_58, 1); - x_64 = x_58; -} else { - lean_dec_ref(x_58); - x_64 = lean_box(0); -} -if (lean_is_scalar(x_64)) { - x_65 = lean_alloc_ctor(1, 2, 0); -} else { - x_65 = x_64; -} -lean_ctor_set(x_65, 0, x_62); -lean_ctor_set(x_65, 1, x_63); -return x_65; -} -} -else -{ -lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; +lean_object* x_53; lean_object* x_54; +lean_dec(x_49); +lean_dec(x_11); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_66 = lean_ctor_get(x_53, 0); -lean_inc(x_66); -x_67 = lean_ctor_get(x_53, 1); +lean_dec(x_1); +x_53 = lean_box(0); +x_54 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_54, 0, x_53); +lean_ctor_set(x_54, 1, x_50); +return x_54; +} +else +{ +lean_object* x_55; uint8_t x_56; +x_55 = l_Lean_Meta_genInjectivity; +x_56 = l_Lean_Option_get___at_Lean_ppExpr___spec__1(x_11, x_55); +lean_dec(x_11); +if (x_56 == 0) +{ +lean_object* x_57; lean_object* x_58; +lean_dec(x_49); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_57 = lean_box(0); +x_58 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_58, 0, x_57); +lean_ctor_set(x_58, 1, x_50); +return x_58; +} +else +{ +uint8_t x_59; +x_59 = lean_unbox(x_49); +lean_dec(x_49); +if (x_59 == 0) +{ +lean_object* x_60; +x_60 = l_Lean_getConstInfoInduct___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_mkRecursorInfoForKernelRec___spec__1(x_1, x_2, x_3, x_4, x_5, x_50); +if (lean_obj_tag(x_60) == 0) +{ +lean_object* x_61; uint8_t x_62; +x_61 = lean_ctor_get(x_60, 0); +lean_inc(x_61); +x_62 = lean_ctor_get_uint8(x_61, sizeof(void*)*5 + 1); +if (x_62 == 0) +{ +lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_63 = lean_ctor_get(x_60, 1); +lean_inc(x_63); +lean_dec(x_60); +x_64 = lean_ctor_get(x_61, 4); +lean_inc(x_64); +lean_dec(x_61); +x_65 = lean_box(0); +x_66 = l_List_forIn_loop___at_Lean_Meta_mkInjectiveTheorems___spec__4(x_64, x_65, x_2, x_3, x_4, x_5, x_63); +if (lean_obj_tag(x_66) == 0) +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; +x_67 = lean_ctor_get(x_66, 1); lean_inc(x_67); -if (lean_is_exclusive(x_53)) { - lean_ctor_release(x_53, 0); - lean_ctor_release(x_53, 1); - x_68 = x_53; +if (lean_is_exclusive(x_66)) { + lean_ctor_release(x_66, 0); + lean_ctor_release(x_66, 1); + x_68 = x_66; } else { - lean_dec_ref(x_53); + lean_dec_ref(x_66); x_68 = lean_box(0); } if (lean_is_scalar(x_68)) { - x_69 = lean_alloc_ctor(1, 2, 0); + x_69 = lean_alloc_ctor(0, 2, 0); } else { x_69 = x_68; } -lean_ctor_set(x_69, 0, x_66); +lean_ctor_set(x_69, 0, x_65); lean_ctor_set(x_69, 1, x_67); return x_69; } +else +{ +lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_70 = lean_ctor_get(x_66, 0); +lean_inc(x_70); +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); +} +if (lean_is_scalar(x_72)) { + x_73 = lean_alloc_ctor(1, 2, 0); +} else { + x_73 = x_72; +} +lean_ctor_set(x_73, 0, x_70); +lean_ctor_set(x_73, 1, x_71); +return x_73; +} } else { -lean_object* x_70; lean_object* x_71; +lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; +lean_dec(x_61); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_74 = lean_ctor_get(x_60, 1); +lean_inc(x_74); +if (lean_is_exclusive(x_60)) { + lean_ctor_release(x_60, 0); + lean_ctor_release(x_60, 1); + x_75 = x_60; +} else { + lean_dec_ref(x_60); + x_75 = lean_box(0); +} +x_76 = lean_box(0); +if (lean_is_scalar(x_75)) { + x_77 = lean_alloc_ctor(0, 2, 0); +} else { + x_77 = x_75; +} +lean_ctor_set(x_77, 0, x_76); +lean_ctor_set(x_77, 1, x_74); +return x_77; +} +} +else +{ +lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_78 = lean_ctor_get(x_60, 0); +lean_inc(x_78); +x_79 = lean_ctor_get(x_60, 1); +lean_inc(x_79); +if (lean_is_exclusive(x_60)) { + lean_ctor_release(x_60, 0); + lean_ctor_release(x_60, 1); + x_80 = x_60; +} else { + lean_dec_ref(x_60); + x_80 = lean_box(0); +} +if (lean_is_scalar(x_80)) { + x_81 = lean_alloc_ctor(1, 2, 0); +} else { + x_81 = x_80; +} +lean_ctor_set(x_81, 0, x_78); +lean_ctor_set(x_81, 1, x_79); +return x_81; +} +} +else +{ +lean_object* x_82; lean_object* x_83; lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_70 = lean_box(0); -x_71 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_71, 0, x_70); -lean_ctor_set(x_71, 1, x_43); -return x_71; +x_82 = lean_box(0); +x_83 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_83, 0, x_82); +lean_ctor_set(x_83, 1, x_50); +return x_83; } } } @@ -5184,35 +5576,11 @@ lean_dec(x_2); return x_7; } } -lean_object* l_Lean_getConstInfoInduct___at_Lean_Meta_mkInjectiveTheorems___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_getConstInfoCtor___at_Lean_Meta_mkInjectiveTheorems___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; -x_7 = l_Lean_getConstInfoInduct___at_Lean_Meta_mkInjectiveTheorems___spec__2(x_1, x_2, x_3, x_4, x_5, x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_7; -} -} -lean_object* l_Lean_throwError___at_Lean_Meta_mkInjectiveTheorems___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) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_throwError___at_Lean_Meta_mkInjectiveTheorems___spec__5(x_1, x_2, x_3, x_4, x_5, x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_7; -} -} -lean_object* l_Lean_getConstInfoCtor___at_Lean_Meta_mkInjectiveTheorems___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) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_getConstInfoCtor___at_Lean_Meta_mkInjectiveTheorems___spec__4(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_getConstInfoCtor___at_Lean_Meta_mkInjectiveTheorems___spec__2(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); @@ -5223,7 +5591,10 @@ return x_7; lean_object* initialize_Init(lean_object*); lean_object* initialize_Lean_Meta_Tactic_Injection(lean_object*); lean_object* initialize_Lean_Meta_Tactic_Apply(lean_object*); -lean_object* initialize_Lean_Meta_Tactic_Simp_SimpAll(lean_object*); +lean_object* initialize_Lean_Meta_Tactic_Cases(lean_object*); +lean_object* initialize_Lean_Meta_Tactic_Subst(lean_object*); +lean_object* initialize_Lean_Meta_Tactic_Simp_Types(lean_object*); +lean_object* initialize_Lean_Meta_Tactic_Assumption(lean_object*); static bool _G_initialized = false; lean_object* initialize_Lean_Meta_Injective(lean_object* w) { lean_object * res; @@ -5238,23 +5609,38 @@ lean_dec_ref(res); res = initialize_Lean_Meta_Tactic_Apply(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_Tactic_Simp_SimpAll(lean_io_mk_world()); +res = initialize_Lean_Meta_Tactic_Cases(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd___spec__1___closed__1 = _init_l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd___spec__1___closed__1(); -lean_mark_persistent(l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd___spec__1___closed__1); -l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___closed__1 = _init_l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___closed__1(); -lean_mark_persistent(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___closed__1); -l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___closed__2 = _init_l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___closed__2(); -lean_mark_persistent(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_mkArgs2___closed__2); -l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__1 = _init_l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__1(); -lean_mark_persistent(l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__1); -l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__2 = _init_l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__2(); -lean_mark_persistent(l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__2); -l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__3 = _init_l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__3(); -lean_mark_persistent(l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__3); -l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__4 = _init_l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__4(); -lean_mark_persistent(l___private_Lean_Meta_Injective_0__Lean_Meta_throwInjectiveTheoremFailure___rarg___closed__4); +res = initialize_Lean_Meta_Tactic_Subst(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Meta_Tactic_Simp_Types(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Meta_Tactic_Assumption(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd_x3f___spec__1___closed__1 = _init_l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd_x3f___spec__1___closed__1(); +lean_mark_persistent(l_Subarray_forInUnsafe_loop___at___private_Lean_Meta_Injective_0__Lean_Meta_mkAnd_x3f___spec__1___closed__1); +l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___closed__1 = _init_l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___closed__1(); +lean_mark_persistent(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___closed__1); +l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___closed__2 = _init_l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___closed__2(); +lean_mark_persistent(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveTheoremTypeCore_x3f_mkArgs2___closed__2); +l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__1 = _init_l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__1(); +lean_mark_persistent(l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__1); +l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__2 = _init_l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__2(); +lean_mark_persistent(l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__2); +l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__3 = _init_l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__3(); +lean_mark_persistent(l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__3); +l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__4 = _init_l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__4(); +lean_mark_persistent(l___private_Lean_Meta_Injective_0__Lean_Meta_injTheoremFailureHeader___closed__4); +l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___closed__1 = _init_l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___closed__1(); +lean_mark_persistent(l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___closed__1); +l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___closed__2 = _init_l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___closed__2(); +lean_mark_persistent(l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___closed__2); +l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___closed__3 = _init_l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___closed__3(); +lean_mark_persistent(l___private_Lean_Meta_Injective_0__Lean_Meta_solveEqOfCtorEq___closed__3); l_Lean_Meta_mkInjectiveTheoremNameFor___closed__1 = _init_l_Lean_Meta_mkInjectiveTheoremNameFor___closed__1(); lean_mark_persistent(l_Lean_Meta_mkInjectiveTheoremNameFor___closed__1); l_Lean_Meta_mkInjectiveTheoremNameFor___closed__2 = _init_l_Lean_Meta_mkInjectiveTheoremNameFor___closed__2(); @@ -5273,18 +5659,18 @@ l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda_ lean_mark_persistent(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1___closed__4); l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1___closed__5 = _init_l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1___closed__5(); lean_mark_persistent(l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue___lambda__1___closed__5); -l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__1 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__1(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__1); -l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__2 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__2(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__2); -l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__3 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__3(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__3); -l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__4 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__4(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282____closed__4); -res = l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1282_(lean_io_mk_world()); +l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__1 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__1(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__1); +l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__2 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__2(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__2); +l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__3 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__3(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__3); +l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__4 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__4(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343____closed__4); +res = l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_1343_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; -l_Lean_Meta_genInjective = lean_io_result_get_value(res); -lean_mark_persistent(l_Lean_Meta_genInjective); +l_Lean_Meta_genInjectivity = lean_io_result_get_value(res); +lean_mark_persistent(l_Lean_Meta_genInjectivity); lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); } diff --git a/stage0/stdlib/Lean/Meta/Tactic/Apply.c b/stage0/stdlib/Lean/Meta/Tactic/Apply.c index 664077471a..c49b19f47d 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Apply.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Apply.c @@ -26,8 +26,10 @@ lean_object* l_Lean_Meta_apply_match__1(lean_object*); lean_object* l_Lean_Meta_getExpectedNumArgs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getExpectedNumArgs_match__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Meta_getParamNames___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_applyRefl_match__1(lean_object*); lean_object* l___private_Lean_Meta_Tactic_Apply_0__Lean_Meta_throwApplyError___rarg___closed__3; lean_object* l___private_Lean_Meta_Tactic_Apply_0__Lean_Meta_throwApplyError(lean_object*); +lean_object* l_Lean_Meta_saveState___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_apply___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Apply_0__Lean_Meta_dependsOnOthers___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Array_empty___closed__1; @@ -37,8 +39,10 @@ uint8_t lean_name_eq(lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_observing_x3f___at_Lean_Meta_splitAnd___spec__1___at_Lean_Meta_splitAnd___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getExpectedNumArgs_match__1(lean_object*); lean_object* l_Lean_Meta_apply___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* l_Lean_Meta_applyRefl___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_checkNotAssigned___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_appendTag(lean_object*, lean_object*); lean_object* l_Lean_Meta_postprocessAppMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -57,13 +61,17 @@ lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Apply_0__Lea lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Meta_Tactic_Apply_0__Lean_Meta_reorderNonDependentFirst___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getMVarType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_FindMVar_main___at___private_Lean_Meta_Tactic_Apply_0__Lean_Meta_dependsOnOthers___spec__1___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_applyRefl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_headBetaMVarType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getMVarsNoDelayed(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* l_Lean_Meta_splitAnd___closed__1; +extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_23346____closed__4; lean_object* lean_nat_sub(lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_apply___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_FindMVar_visit(lean_object*, lean_object*, lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_observing_x3f___at_Lean_Meta_splitAnd___spec__1___at_Lean_Meta_splitAnd___spec__2___closed__1; lean_object* l_Lean_FindMVar_main___at___private_Lean_Meta_Tactic_Apply_0__Lean_Meta_dependsOnOthers___spec__1___lambda__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_Meta_apply___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_Lean_Meta_apply_match__1___rarg(lean_object*, lean_object*); @@ -75,15 +83,21 @@ lean_object* l___private_Lean_Meta_Tactic_Apply_0__Lean_Meta_throwApplyError___r lean_object* l___private_Lean_Meta_Tactic_Apply_0__Lean_Meta_throwApplyError___rarg___closed__2; extern lean_object* l_Lean_KernelException_toMessageData___closed__15; lean_object* l___private_Lean_Meta_Tactic_Apply_0__Lean_Meta_throwApplyError___rarg___closed__1; +lean_object* l_Lean_Meta_applyRefl___lambda__2___closed__1; lean_object* l_Nat_forM_loop___at_Lean_Meta_synthAppInstances___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* l_Nat_forM_loop___at_Lean_Meta_synthAppInstances___spec__1___closed__2; +lean_object* l_Lean_Meta_applyRefl___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_BinderInfo_isInstImplicit(uint8_t); +extern lean_object* l_Lean_Meta_mkEqRefl___closed__1; +lean_object* l_Lean_Meta_saturate(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_SavedState_restore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getExpectedNumArgsAux___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); lean_object* l_Lean_Meta_getExpectedNumArgsAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Nat_forM_loop___at_Lean_Meta_synthAppInstances___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* l_Lean_Meta_apply___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_postprocessAppMVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Meta_mkEqRefl___closed__2; lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_apply___spec__4(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_throwTacticEx___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern uint8_t l_Lean_instInhabitedBinderInfo; @@ -109,7 +123,9 @@ lean_object* l_Lean_Meta_inferType(lean_object*, lean_object*, lean_object*, lea lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Tactic_apply___closed__1; lean_object* l_Lean_Meta_instantiateMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_applyRefl___closed__1; extern lean_object* l_Array_unzip___rarg___closed__1; +lean_object* l_Lean_Meta_applyRefl_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Apply_0__Lean_Meta_reorderNonDependentFirst_match__1(lean_object*); lean_object* l___private_Lean_Meta_Tactic_Apply_0__Lean_Meta_reorderNonDependentFirst_match__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_Expr_getAppFn(lean_object*); @@ -118,7 +134,12 @@ lean_object* l___private_Lean_Meta_Tactic_Apply_0__Lean_Meta_throwApplyError___r lean_object* l_Nat_forM_loop___at_Lean_Meta_appendParentTag___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_indentExpr(lean_object*); lean_object* l_Lean_Meta_setMVarTag(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_mkConst(lean_object*, lean_object*); +lean_object* l_Lean_Meta_splitAnd(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Nat_forM_loop___at_Lean_Meta_appendParentTag___spec__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_observing_x3f___at_Lean_Meta_splitAnd___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_applyRefl___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_mkFreshLevelMVar___boxed(lean_object*); lean_object* l_Lean_Meta_appendParentTag(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); lean_object* l_List_forM___at_Lean_Meta_apply___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -3037,6 +3058,355 @@ lean_dec(x_4); return x_10; } } +lean_object* l_Lean_observing_x3f___at_Lean_Meta_splitAnd___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) { +_start: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_7 = l_Lean_Meta_saveState___rarg(x_3, x_4, x_5, x_6); +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +lean_dec(x_7); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_10 = lean_apply_5(x_1, x_2, x_3, x_4, x_5, x_9); +if (lean_obj_tag(x_10) == 0) +{ +uint8_t x_11; +lean_dec(x_8); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_11 = !lean_is_exclusive(x_10); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_10, 0); +x_13 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_13, 0, x_12); +lean_ctor_set(x_10, 0, x_13); +return x_10; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_14 = lean_ctor_get(x_10, 0); +x_15 = lean_ctor_get(x_10, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_10); +x_16 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_16, 0, x_14); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_15); +return x_17; +} +} +else +{ +lean_object* x_18; lean_object* x_19; uint8_t x_20; +x_18 = lean_ctor_get(x_10, 1); +lean_inc(x_18); +lean_dec(x_10); +x_19 = l_Lean_Meta_SavedState_restore(x_8, x_2, x_3, x_4, x_5, x_18); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_8); +x_20 = !lean_is_exclusive(x_19); +if (x_20 == 0) +{ +lean_object* x_21; lean_object* x_22; +x_21 = lean_ctor_get(x_19, 0); +lean_dec(x_21); +x_22 = lean_box(0); +lean_ctor_set(x_19, 0, x_22); +return x_19; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_19, 1); +lean_inc(x_23); +lean_dec(x_19); +x_24 = lean_box(0); +x_25 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_25, 0, x_24); +lean_ctor_set(x_25, 1, x_23); +return x_25; +} +} +} +} +static lean_object* _init_l_Lean_observing_x3f___at_Lean_Meta_splitAnd___spec__1___at_Lean_Meta_splitAnd___spec__2___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_23346____closed__4; +x_3 = l_Lean_mkConst(x_2, x_1); +return x_3; +} +} +lean_object* l_Lean_observing_x3f___at_Lean_Meta_splitAnd___spec__1___at_Lean_Meta_splitAnd___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_7 = l_Lean_Meta_saveState___rarg(x_3, x_4, x_5, x_6); +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +lean_dec(x_7); +x_10 = l_Lean_observing_x3f___at_Lean_Meta_splitAnd___spec__1___at_Lean_Meta_splitAnd___spec__2___closed__1; +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_11 = l_Lean_Meta_apply(x_1, x_10, x_2, x_3, x_4, x_5, x_9); +if (lean_obj_tag(x_11) == 0) +{ +uint8_t x_12; +lean_dec(x_8); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; +x_13 = lean_ctor_get(x_11, 0); +x_14 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_11, 0, x_14); +return x_11; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_15 = lean_ctor_get(x_11, 0); +x_16 = lean_ctor_get(x_11, 1); +lean_inc(x_16); +lean_inc(x_15); +lean_dec(x_11); +x_17 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_17, 0, x_15); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, x_16); +return x_18; +} +} +else +{ +lean_object* x_19; lean_object* x_20; uint8_t x_21; +x_19 = lean_ctor_get(x_11, 1); +lean_inc(x_19); +lean_dec(x_11); +x_20 = l_Lean_Meta_SavedState_restore(x_8, x_2, x_3, x_4, x_5, x_19); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_8); +x_21 = !lean_is_exclusive(x_20); +if (x_21 == 0) +{ +lean_object* x_22; lean_object* x_23; +x_22 = lean_ctor_get(x_20, 0); +lean_dec(x_22); +x_23 = lean_box(0); +lean_ctor_set(x_20, 0, x_23); +return x_20; +} +else +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_20, 1); +lean_inc(x_24); +lean_dec(x_20); +x_25 = lean_box(0); +x_26 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_26, 0, x_25); +lean_ctor_set(x_26, 1, x_24); +return x_26; +} +} +} +} +static lean_object* _init_l_Lean_Meta_splitAnd___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_observing_x3f___at_Lean_Meta_splitAnd___spec__1___at_Lean_Meta_splitAnd___spec__2), 6, 0); +return x_1; +} +} +lean_object* l_Lean_Meta_splitAnd(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; lean_object* x_8; +x_7 = l_Lean_Meta_splitAnd___closed__1; +x_8 = l_Lean_Meta_saturate(x_1, x_7, x_2, x_3, x_4, x_5, x_6); +return x_8; +} +} +lean_object* l_Lean_Meta_applyRefl_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; +lean_dec(x_2); +x_4 = lean_apply_1(x_3, x_1); +return x_4; +} +else +{ +lean_object* x_5; +x_5 = lean_ctor_get(x_1, 0); +lean_inc(x_5); +if (lean_obj_tag(x_5) == 0) +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_3); +lean_dec(x_1); +x_6 = lean_box(0); +x_7 = lean_apply_1(x_2, x_6); +return x_7; +} +else +{ +lean_object* x_8; +lean_dec(x_5); +lean_dec(x_2); +x_8 = lean_apply_1(x_3, x_1); +return x_8; +} +} +} +} +lean_object* l_Lean_Meta_applyRefl_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_applyRefl_match__1___rarg), 3, 0); +return x_2; +} +} +lean_object* l_Lean_Meta_applyRefl___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; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_8 = lean_box(0); +x_9 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_9, 0, x_2); +lean_ctor_set(x_9, 1, x_8); +x_10 = l_Lean_Meta_mkEqRefl___closed__2; +x_11 = l_Lean_mkConst(x_10, x_9); +x_12 = l_Lean_Meta_apply(x_1, x_11, x_3, x_4, x_5, x_6, x_7); +return x_12; +} +} +static lean_object* _init_l_Lean_Meta_applyRefl___lambda__2___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Meta_mkEqRefl___closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +lean_object* l_Lean_Meta_applyRefl___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) { +_start: +{ +if (lean_obj_tag(x_3) == 0) +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_9 = l_Lean_Meta_applyRefl___lambda__2___closed__1; +x_10 = lean_box(0); +x_11 = l_Lean_Meta_throwTacticEx___rarg(x_9, x_1, x_2, x_10, x_4, x_5, x_6, x_7, x_8); +return x_11; +} +else +{ +lean_object* x_12; +x_12 = lean_ctor_get(x_3, 0); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; +lean_dec(x_2); +lean_dec(x_1); +x_13 = lean_box(0); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_8); +return x_14; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = l_Lean_Meta_applyRefl___lambda__2___closed__1; +x_16 = lean_box(0); +x_17 = l_Lean_Meta_throwTacticEx___rarg(x_15, x_1, x_2, x_16, x_4, x_5, x_6, x_7, x_8); +return x_17; +} +} +} +} +static lean_object* _init_l_Lean_Meta_applyRefl___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Meta_mkFreshLevelMVar___boxed), 1, 0); +return x_1; +} +} +lean_object* l_Lean_Meta_applyRefl(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; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +lean_inc(x_1); +x_8 = lean_alloc_closure((void*)(l_Lean_Meta_applyRefl___lambda__1), 7, 1); +lean_closure_set(x_8, 0, x_1); +x_9 = l_Lean_Meta_applyRefl___closed__1; +x_10 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); +lean_closure_set(x_10, 0, x_9); +lean_closure_set(x_10, 1, x_8); +x_11 = lean_alloc_closure((void*)(l_Lean_observing_x3f___at_Lean_Meta_splitAnd___spec__1), 6, 1); +lean_closure_set(x_11, 0, x_10); +lean_inc(x_1); +x_12 = lean_alloc_closure((void*)(l_Lean_Meta_applyRefl___lambda__2___boxed), 8, 2); +lean_closure_set(x_12, 0, x_1); +lean_closure_set(x_12, 1, x_2); +x_13 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); +lean_closure_set(x_13, 0, x_11); +lean_closure_set(x_13, 1, x_12); +x_14 = l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__1___rarg(x_1, x_13, x_3, x_4, x_5, x_6, x_7); +return x_14; +} +} +lean_object* l_Lean_Meta_applyRefl___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) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_Meta_applyRefl___lambda__2(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); +lean_dec(x_4); +lean_dec(x_3); +return x_9; +} +} lean_object* initialize_Init(lean_object*); lean_object* initialize_Lean_Util_FindMVar(lean_object*); lean_object* initialize_Lean_Meta_ExprDefEq(lean_object*); @@ -3084,6 +3454,14 @@ l___private_Lean_Meta_Tactic_Apply_0__Lean_Meta_reorderNonDependentFirst___close lean_mark_persistent(l___private_Lean_Meta_Tactic_Apply_0__Lean_Meta_reorderNonDependentFirst___closed__1); l___private_Lean_Meta_Tactic_Apply_0__Lean_Meta_reorderNonDependentFirst___closed__2 = _init_l___private_Lean_Meta_Tactic_Apply_0__Lean_Meta_reorderNonDependentFirst___closed__2(); lean_mark_persistent(l___private_Lean_Meta_Tactic_Apply_0__Lean_Meta_reorderNonDependentFirst___closed__2); +l_Lean_observing_x3f___at_Lean_Meta_splitAnd___spec__1___at_Lean_Meta_splitAnd___spec__2___closed__1 = _init_l_Lean_observing_x3f___at_Lean_Meta_splitAnd___spec__1___at_Lean_Meta_splitAnd___spec__2___closed__1(); +lean_mark_persistent(l_Lean_observing_x3f___at_Lean_Meta_splitAnd___spec__1___at_Lean_Meta_splitAnd___spec__2___closed__1); +l_Lean_Meta_splitAnd___closed__1 = _init_l_Lean_Meta_splitAnd___closed__1(); +lean_mark_persistent(l_Lean_Meta_splitAnd___closed__1); +l_Lean_Meta_applyRefl___lambda__2___closed__1 = _init_l_Lean_Meta_applyRefl___lambda__2___closed__1(); +lean_mark_persistent(l_Lean_Meta_applyRefl___lambda__2___closed__1); +l_Lean_Meta_applyRefl___closed__1 = _init_l_Lean_Meta_applyRefl___closed__1(); +lean_mark_persistent(l_Lean_Meta_applyRefl___closed__1); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/Meta/Tactic/Cases.c b/stage0/stdlib/Lean/Meta/Tactic/Cases.c index c81fe97c18..323c4f115c 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Cases.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Cases.c @@ -21,20 +21,24 @@ lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Cases_cases___closed__1; lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__29___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__21___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t l_USize_add(size_t, size_t); lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_dep_visitMain___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_dep_visitMain___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__24(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_mvarId_x21(lean_object*); +lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_casesRec___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* l_Lean_registerTraceClass(lean_object*, lean_object*); lean_object* l_Lean_Meta_Cases_unifyEqs_injection_match__1(lean_object*); lean_object* l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); extern lean_object* l_Lean_Meta_getNondepPropHyps___closed__1; lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_dep_visitMain___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__38___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_myMacro____x40_Init_Notation___hyg_10540____closed__4; lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_mkCasesContext_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeExpected(lean_object*); +lean_object* l_Lean_Meta_casesRec_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Std_fmt___at_Lean_Position_instToFormatPosition___spec__1(lean_object*); lean_object* l_Lean_Meta_mkForallFVars(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Meta_whnf___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -53,6 +57,7 @@ uint8_t l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__L lean_object* l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__11___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__43___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_map___at_Lean_Meta_casesRec___spec__1(lean_object*); lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_dep_visitMain___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_dep_visit___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__37(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__33(lean_object*, lean_object*, lean_object*); @@ -64,6 +69,7 @@ extern lean_object* l_myMacro____x40_Init_Notation___hyg_8668____closed__4; lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_generalizeIndices___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__39___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Std_PersistentArray_forIn___at_Lean_Meta_casesRec___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_array_uset(lean_object*, size_t, lean_object*); lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___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* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_dep_visit___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -83,6 +89,7 @@ extern lean_object* l_Array_empty___closed__1; lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_substCore___spec__2___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_environment_find(lean_object*, lean_object*); lean_object* l_Lean_Meta_Cases_Context_majorTypeIndices___default___boxed(lean_object*, lean_object*); +lean_object* l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getMVarTag(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); @@ -90,6 +97,7 @@ uint8_t l_Lean_Expr_isApp(lean_object*); lean_object* l_Lean_Meta_generalizeTargets___lambda__3___closed__3; lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeExpected___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_generalizeTargets___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_casesAnd___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__32___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__20___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__1(lean_object*, lean_object*, size_t, size_t); @@ -100,7 +108,9 @@ lean_object* lean_array_push(lean_object*, lean_object*); lean_object* l_Lean_Meta_Cases_unifyEqs___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_array_get_size(lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_elimAuxIndices___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Lean_Expr_isEq(lean_object*); lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_dep_visit___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__23___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_casesAnd(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Nat_anyAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__50(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyCasesEqs_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -116,6 +126,7 @@ lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lea lean_object* l_Lean_Meta_generalizeTargets_match__1___rarg(lean_object*, lean_object*); uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__21(lean_object*, lean_object*, lean_object*, size_t, size_t); extern lean_object* l_Lean_MetavarContext_findLocalDeclDependsOn___closed__1; +lean_object* l_Std_PersistentArray_forIn___at_Lean_Meta_casesRec___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__54(lean_object*, size_t, size_t); lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_elimAuxIndices_match__1(lean_object*); lean_object* l_Lean_Expr_appArg_x21(lean_object*); @@ -130,6 +141,8 @@ lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_de lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_dep_visit___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); +lean_object* l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___spec__3___closed__1; +lean_object* l_Lean_Meta_casesRec___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_dep_visitMain___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__17(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_mkCasesContext_x3f_match__1(lean_object*); lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyCasesEqs_match__1(lean_object*); @@ -147,6 +160,7 @@ lean_object* l_Lean_addTrace___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_po lean_object* l_Lean_Meta_generalizeTargets___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__39(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_intro1Core(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__34___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isHEq(lean_object*); @@ -171,6 +185,7 @@ lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_de uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__48(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t); lean_object* l_Lean_Meta_FVarSubst_apply(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_withNewEqs_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_Lean_Meta_casesRec_match__1(lean_object*); uint8_t l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__19(lean_object*, lean_object*, lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__29(lean_object*, lean_object*, lean_object*, size_t, size_t); @@ -181,13 +196,17 @@ lean_object* l_Nat_anyAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cas lean_object* l_Lean_Meta_clear(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_generalizeIndices(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_casesRec___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_object*); +lean_object* l_Lean_Meta_casesAnd___closed__3; lean_object* l_Lean_Meta_getInductiveUniverseAndParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_cases(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__5___boxed(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_mkNoConfusion___closed__8; +lean_object* l_Std_PersistentArray_forInAux___at_Lean_Meta_casesRec___spec__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* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_withNewEqs_loop___rarg___closed__2; lean_object* l_Lean_Meta_Cases_cases___lambda__1___closed__1; extern lean_object* l_Lean_Meta_mkHEqRefl___closed__1; +lean_object* l_Std_PersistentArray_forInAux___at_Lean_Meta_casesRec___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_generalizeTargets___lambda__3___closed__1; lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___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*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_generalizeTargets___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -195,9 +214,13 @@ lean_object* l_Lean_Meta_generalizeIndices_match__1(lean_object*); uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__22(lean_object*, lean_object*, lean_object*, size_t, size_t); lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___closed__1; lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn_match__1(lean_object*); +lean_object* l_Lean_Meta_casesAnd___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___spec__3___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_withNewEqs_loop_match__1(lean_object*); lean_object* l_Lean_observing_x3f___at_Lean_Meta_Cases_unifyEqs_substEq___spec__1___at_Lean_Meta_Cases_unifyEqs_substEq___spec__2(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Nat_anyAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__56(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_array_to_list(lean_object*, lean_object*); lean_object* l_Lean_Meta_Cases_unifyEqs___lambda__1___closed__1; uint8_t l_Lean_Environment_contains(lean_object*, lean_object*); lean_object* l_Lean_Meta_generalizeTargets___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -207,6 +230,7 @@ lean_object* l_Lean_Meta_generalizeTargets___lambda__3___closed__4; uint8_t l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__26(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Meta_Cases_unifyEqs_substEq___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Cases_unifyEqs___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* l_Lean_Meta_substEqs___closed__1; uint8_t l_Lean_Expr_isAppOfArity(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_casesOnSuffix___closed__1; extern lean_object* l_Lean_instInhabitedExpr; @@ -225,6 +249,8 @@ lean_object* l_Lean_Meta_Cases_unifyEqs_match__2(lean_object*); lean_object* l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__45___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_observing_x3f___at_Lean_Meta_Cases_unifyEqs_substEq___spec__1___at_Lean_Meta_Cases_unifyEqs_substEq___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_whnf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_casesRec___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_saturate(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__20(lean_object*, lean_object*, lean_object*, size_t, size_t); lean_object* l_Lean_mkFVar(lean_object*); uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__35(lean_object*, lean_object*, lean_object*, size_t, size_t); @@ -236,7 +262,7 @@ lean_object* l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__2(lean_obje lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_mkCasesContext_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__43(lean_object*, lean_object*, lean_object*, size_t, size_t); lean_object* l_Lean_Meta_generalizeTargets___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_initFn____x40_Lean_Meta_Tactic_Cases___hyg_2918_(lean_object*); +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Cases___hyg_3220_(lean_object*); lean_object* l_Lean_LocalDecl_fvarId(lean_object*); uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__15(lean_object*, lean_object*, lean_object*, size_t, size_t); lean_object* l_Lean_Meta_Cases_unifyEqs_substEq___closed__1; @@ -267,7 +293,9 @@ lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_heqToEq(lean_ lean_object* l_Lean_Meta_Cases_cases(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_withNewEqs_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_index(lean_object*); +lean_object* l_Lean_Meta_substEqs(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_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Cases_unifyEqs_substEq_match__1(lean_object*); lean_object* l_Lean_Meta_checkNotAssigned(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Cases_unifyEqs_injection_match__2(lean_object*); @@ -276,17 +304,21 @@ uint8_t lean_expr_eqv(lean_object*, lean_object*); lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__46___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_generalizeTargets_match__1(lean_object*); lean_object* l_Lean_Meta_Cases_cases___lambda__1___closed__4; +lean_object* l_Lean_Meta_casesRec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___closed__2; uint8_t lean_nat_dec_le(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_elimAuxIndices(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkApp(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_heqToEq___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_hasMVar(lean_object*); +lean_object* l_Lean_Meta_casesRec___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_FVarSubst_insert(lean_object*, lean_object*, lean_object*); lean_object* l_Nat_anyAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__52___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_exactlyOne(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_withNewEqs___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyCasesEqs___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapIdxM_map___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_toCasesSubgoals___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_substEqs___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Nat_anyAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__53___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Nat_anyAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__50___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyCasesEqs___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -314,6 +346,7 @@ lean_object* l_Lean_Meta_generalizeIndices_match__1___rarg(lean_object*, lean_ob uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__41(lean_object*, lean_object*, lean_object*, size_t, size_t); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedName; +lean_object* l_Lean_Meta_substEqs___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_generalizeIndices___lambda__1___closed__2; uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__34(lean_object*, lean_object*, lean_object*, size_t, size_t); lean_object* l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__18___boxed(lean_object*, lean_object*, lean_object*); @@ -323,7 +356,9 @@ lean_object* l_Lean_Meta_inferType(lean_object*, lean_object*, lean_object*, lea lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_mkCasesContext_x3f_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__19___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_casesRec___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*, lean_object*, lean_object*); lean_object* l_Lean_Meta_generalizeIndices___lambda__1___closed__1; +lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_casesRec___spec__6(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* 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_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_dep_visit___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__30(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -334,6 +369,7 @@ uint8_t l_Nat_anyAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_ha lean_object* l_Lean_throwError___at_Lean_Meta_Cases_unifyEqs_substEq___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__28(lean_object*, lean_object*, lean_object*, size_t, size_t); lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__41___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_casesRec___spec__8(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* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeExpected___rarg___closed__1; lean_object* l_Lean_Meta_Cases_unifyEqs_substEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__49(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t); @@ -344,6 +380,7 @@ extern lean_object* l_Lean_mkOptionalNode___closed__2; lean_object* l_Lean_Meta_getLocalDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_getAppFn(lean_object*); lean_object* l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__4___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_casesAnd___closed__2; lean_object* l_Lean_Meta_mkFreshExprSyntheticOpaqueMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MetavarContext_getDecl(lean_object*, lean_object*); lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__54___boxed(lean_object*, lean_object*, lean_object*); @@ -376,6 +413,8 @@ lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeE lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_dep_visit___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__30___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___lambda__6___closed__1; lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_toCasesSubgoals___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_casesAnd___closed__4; +extern lean_object* l_Array_findSomeM_x3f___rarg___closed__1; lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__12___boxed(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_casesOnSuffix; @@ -383,6 +422,7 @@ uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Met lean_object* l_Lean_Meta_Cases_unifyEqs_injection___closed__1; lean_object* l_Lean_mkApp3(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Cases_unifyEqs_injection___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_casesAnd___closed__1; uint8_t l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__25(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_induction(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_shouldVisit(lean_object*, lean_object*); @@ -391,6 +431,7 @@ uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Met uint8_t lean_nat_dec_lt(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_casesRec___spec__7(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* l_Lean_throwError___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeExpected___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) { _start: { @@ -13791,7 +13832,2020 @@ x_9 = l_Lean_Meta_Cases_cases(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); return x_9; } } -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Cases___hyg_2918_(lean_object* x_1) { +lean_object* l_Lean_Meta_casesRec_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; lean_object* x_5; +lean_dec(x_3); +x_4 = lean_box(0); +x_5 = lean_apply_1(x_2, x_4); +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_2); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_apply_1(x_3, x_6); +return x_7; +} +} +} +lean_object* l_Lean_Meta_casesRec_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_casesRec_match__1___rarg), 3, 0); +return x_2; +} +} +lean_object* l_List_map___at_Lean_Meta_casesRec___spec__1(lean_object* x_1) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_2; +x_2 = lean_box(0); +return x_2; +} +else +{ +lean_object* x_3; lean_object* x_4; uint8_t x_5; +x_3 = lean_ctor_get(x_1, 0); +lean_inc(x_3); +x_4 = lean_ctor_get(x_3, 0); +lean_inc(x_4); +lean_dec(x_3); +x_5 = !lean_is_exclusive(x_1); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_6 = lean_ctor_get(x_1, 1); +x_7 = lean_ctor_get(x_1, 0); +lean_dec(x_7); +x_8 = lean_ctor_get(x_4, 0); +lean_inc(x_8); +lean_dec(x_4); +x_9 = l_List_map___at_Lean_Meta_casesRec___spec__1(x_6); +lean_ctor_set(x_1, 1, x_9); +lean_ctor_set(x_1, 0, x_8); +return x_1; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_10 = lean_ctor_get(x_1, 1); +lean_inc(x_10); +lean_dec(x_1); +x_11 = lean_ctor_get(x_4, 0); +lean_inc(x_11); +lean_dec(x_4); +x_12 = l_List_map___at_Lean_Meta_casesRec___spec__1(x_10); +x_13 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_12); +return x_13; +} +} +} +} +lean_object* l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_7 = l_Lean_Meta_saveState___rarg(x_3, x_4, x_5, x_6); +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +lean_dec(x_7); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_10 = lean_apply_5(x_1, x_2, x_3, x_4, x_5, x_9); +if (lean_obj_tag(x_10) == 0) +{ +uint8_t x_11; +lean_dec(x_8); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_11 = !lean_is_exclusive(x_10); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_10, 0); +x_13 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_13, 0, x_12); +lean_ctor_set(x_10, 0, x_13); +return x_10; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_14 = lean_ctor_get(x_10, 0); +x_15 = lean_ctor_get(x_10, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_10); +x_16 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_16, 0, x_14); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_15); +return x_17; +} +} +else +{ +lean_object* x_18; lean_object* x_19; uint8_t x_20; +x_18 = lean_ctor_get(x_10, 1); +lean_inc(x_18); +lean_dec(x_10); +x_19 = l_Lean_Meta_SavedState_restore(x_8, x_2, x_3, x_4, x_5, x_18); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_8); +x_20 = !lean_is_exclusive(x_19); +if (x_20 == 0) +{ +lean_object* x_21; lean_object* x_22; +x_21 = lean_ctor_get(x_19, 0); +lean_dec(x_21); +x_22 = lean_box(0); +lean_ctor_set(x_19, 0, x_22); +return x_19; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_19, 1); +lean_inc(x_23); +lean_dec(x_19); +x_24 = lean_box(0); +x_25 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_25, 0, x_24); +lean_ctor_set(x_25, 1, x_23); +return x_25; +} +} +} +} +lean_object* l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___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) { +_start: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_7 = lean_array_to_list(lean_box(0), x_1); +x_8 = l_List_map___at_Lean_Meta_casesRec___spec__1(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_6); +return x_9; +} +} +static lean_object* _init_l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___spec__3___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___spec__3___lambda__1___boxed), 6, 0); +return x_1; +} +} +lean_object* l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___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) { +_start: +{ +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; +x_8 = l_Lean_LocalDecl_fvarId(x_2); +x_9 = l_Array_empty___closed__1; +x_10 = lean_alloc_closure((void*)(l_Lean_Meta_cases), 8, 3); +lean_closure_set(x_10, 0, x_1); +lean_closure_set(x_10, 1, x_8); +lean_closure_set(x_10, 2, x_9); +x_11 = l_Lean_Meta_saveState___rarg(x_4, x_5, x_6, x_7); +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_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___spec__3___closed__1; +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_15 = l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg(x_10, x_14, x_3, x_4, x_5, x_6, x_13); +if (lean_obj_tag(x_15) == 0) +{ +uint8_t x_16; +lean_dec(x_12); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_16 = !lean_is_exclusive(x_15); +if (x_16 == 0) +{ +lean_object* x_17; lean_object* x_18; +x_17 = lean_ctor_get(x_15, 0); +x_18 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_15, 0, x_18); +return x_15; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_19 = lean_ctor_get(x_15, 0); +x_20 = lean_ctor_get(x_15, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_15); +x_21 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_21, 0, 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_23; lean_object* x_24; uint8_t x_25; +x_23 = lean_ctor_get(x_15, 1); +lean_inc(x_23); +lean_dec(x_15); +x_24 = l_Lean_Meta_SavedState_restore(x_12, x_3, x_4, x_5, x_6, x_23); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_12); +x_25 = !lean_is_exclusive(x_24); +if (x_25 == 0) +{ +lean_object* x_26; lean_object* x_27; +x_26 = lean_ctor_get(x_24, 0); +lean_dec(x_26); +x_27 = lean_box(0); +lean_ctor_set(x_24, 0, x_27); +return x_24; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_24, 1); +lean_inc(x_28); +lean_dec(x_24); +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_28); +return x_30; +} +} +} +} +lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_casesRec___spec__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, size_t x_7, size_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) { +_start: +{ +uint8_t x_15; +x_15 = x_8 < x_7; +if (x_15 == 0) +{ +lean_object* x_16; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_9); +lean_ctor_set(x_16, 1, x_14); +return x_16; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_array_uget(x_6, x_8); +x_18 = lean_ctor_get(x_9, 1); +lean_inc(x_18); +lean_dec(x_9); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_19 = l_Std_PersistentArray_forInAux___at_Lean_Meta_casesRec___spec__5(x_1, x_2, x_3, x_4, x_17, x_18, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_17); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +if (lean_obj_tag(x_20) == 0) +{ +uint8_t x_21; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_21 = !lean_is_exclusive(x_19); +if (x_21 == 0) +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_22 = lean_ctor_get(x_19, 0); +lean_dec(x_22); +x_23 = lean_ctor_get(x_20, 0); +lean_inc(x_23); +x_24 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_24, 0, x_20); +x_25 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_25, 0, x_24); +lean_ctor_set(x_25, 1, x_23); +lean_ctor_set(x_19, 0, x_25); +return x_19; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_26 = lean_ctor_get(x_19, 1); +lean_inc(x_26); +lean_dec(x_19); +x_27 = lean_ctor_get(x_20, 0); +lean_inc(x_27); +x_28 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_28, 0, x_20); +x_29 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_29, 0, x_28); +lean_ctor_set(x_29, 1, x_27); +x_30 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_26); +return x_30; +} +} +else +{ +lean_object* x_31; lean_object* x_32; lean_object* x_33; size_t x_34; size_t x_35; +x_31 = lean_ctor_get(x_19, 1); +lean_inc(x_31); +lean_dec(x_19); +x_32 = lean_ctor_get(x_20, 0); +lean_inc(x_32); +lean_dec(x_20); +lean_inc(x_5); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_5); +lean_ctor_set(x_33, 1, x_32); +x_34 = 1; +x_35 = x_8 + x_34; +x_8 = x_35; +x_9 = x_33; +x_14 = x_31; +goto _start; +} +} +else +{ +uint8_t x_37; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_37 = !lean_is_exclusive(x_19); +if (x_37 == 0) +{ +return x_19; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_19, 0); +x_39 = lean_ctor_get(x_19, 1); +lean_inc(x_39); +lean_inc(x_38); +lean_dec(x_19); +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; +} +} +} +} +} +lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_casesRec___spec__7(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) { +_start: +{ +lean_object* x_14; lean_object* x_15; uint8_t x_26; +x_26 = x_7 < x_6; +if (x_26 == 0) +{ +lean_object* x_27; +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_27 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_27, 0, x_8); +lean_ctor_set(x_27, 1, x_13); +return x_27; +} +else +{ +lean_object* x_28; +x_28 = lean_array_uget(x_5, x_7); +if (lean_obj_tag(x_28) == 0) +{ +lean_object* x_29; lean_object* x_30; +x_29 = lean_ctor_get(x_8, 1); +lean_inc(x_29); +lean_dec(x_8); +x_30 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_30, 0, x_29); +x_14 = x_30; +x_15 = x_13; +goto block_25; +} +else +{ +uint8_t x_31; +lean_dec(x_8); +x_31 = !lean_is_exclusive(x_28); +if (x_31 == 0) +{ +lean_object* x_32; lean_object* x_33; +x_32 = lean_ctor_get(x_28, 0); +lean_inc(x_1); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_32); +x_33 = lean_apply_6(x_1, x_32, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; uint8_t x_35; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +x_35 = lean_unbox(x_34); +lean_dec(x_34); +if (x_35 == 0) +{ +lean_object* x_36; lean_object* x_37; +lean_free_object(x_28); +lean_dec(x_32); +x_36 = lean_ctor_get(x_33, 1); +lean_inc(x_36); +lean_dec(x_33); +lean_inc(x_3); +x_37 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_37, 0, x_3); +x_14 = x_37; +x_15 = x_36; +goto block_25; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); +lean_inc(x_38); +lean_dec(x_33); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_2); +x_39 = l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___spec__3(x_2, x_32, x_9, x_10, x_11, x_12, x_38); +lean_dec(x_32); +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +if (lean_obj_tag(x_40) == 0) +{ +lean_object* x_41; lean_object* x_42; +lean_free_object(x_28); +x_41 = lean_ctor_get(x_39, 1); +lean_inc(x_41); +lean_dec(x_39); +lean_inc(x_3); +x_42 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_42, 0, x_3); +x_14 = x_42; +x_15 = x_41; +goto block_25; +} +else +{ +lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_43 = lean_ctor_get(x_39, 1); +lean_inc(x_43); +lean_dec(x_39); +lean_ctor_set(x_28, 0, x_40); +x_44 = lean_box(0); +x_45 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_45, 0, x_28); +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_14 = x_46; +x_15 = x_43; +goto block_25; +} +} +} +else +{ +uint8_t x_47; +lean_free_object(x_28); +lean_dec(x_32); +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_47 = !lean_is_exclusive(x_33); +if (x_47 == 0) +{ +return x_33; +} +else +{ +lean_object* x_48; lean_object* x_49; lean_object* x_50; +x_48 = lean_ctor_get(x_33, 0); +x_49 = lean_ctor_get(x_33, 1); +lean_inc(x_49); +lean_inc(x_48); +lean_dec(x_33); +x_50 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_50, 0, x_48); +lean_ctor_set(x_50, 1, x_49); +return x_50; +} +} +} +else +{ +lean_object* x_51; lean_object* x_52; +x_51 = lean_ctor_get(x_28, 0); +lean_inc(x_51); +lean_dec(x_28); +lean_inc(x_1); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_51); +x_52 = lean_apply_6(x_1, x_51, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_52) == 0) +{ +lean_object* x_53; uint8_t x_54; +x_53 = lean_ctor_get(x_52, 0); +lean_inc(x_53); +x_54 = lean_unbox(x_53); +lean_dec(x_53); +if (x_54 == 0) +{ +lean_object* x_55; lean_object* x_56; +lean_dec(x_51); +x_55 = lean_ctor_get(x_52, 1); +lean_inc(x_55); +lean_dec(x_52); +lean_inc(x_3); +x_56 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_56, 0, x_3); +x_14 = x_56; +x_15 = x_55; +goto block_25; +} +else +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_52, 1); +lean_inc(x_57); +lean_dec(x_52); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_2); +x_58 = l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___spec__3(x_2, x_51, x_9, x_10, x_11, x_12, x_57); +lean_dec(x_51); +x_59 = lean_ctor_get(x_58, 0); +lean_inc(x_59); +if (lean_obj_tag(x_59) == 0) +{ +lean_object* x_60; lean_object* x_61; +x_60 = lean_ctor_get(x_58, 1); +lean_inc(x_60); +lean_dec(x_58); +lean_inc(x_3); +x_61 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_61, 0, x_3); +x_14 = x_61; +x_15 = x_60; +goto block_25; +} +else +{ +lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_62 = lean_ctor_get(x_58, 1); +lean_inc(x_62); +lean_dec(x_58); +x_63 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_63, 0, x_59); +x_64 = lean_box(0); +x_65 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_65, 0, x_63); +lean_ctor_set(x_65, 1, x_64); +x_66 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_66, 0, x_65); +x_14 = x_66; +x_15 = x_62; +goto block_25; +} +} +} +else +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; +lean_dec(x_51); +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_67 = lean_ctor_get(x_52, 0); +lean_inc(x_67); +x_68 = lean_ctor_get(x_52, 1); +lean_inc(x_68); +if (lean_is_exclusive(x_52)) { + lean_ctor_release(x_52, 0); + lean_ctor_release(x_52, 1); + x_69 = x_52; +} else { + lean_dec_ref(x_52); + x_69 = lean_box(0); +} +if (lean_is_scalar(x_69)) { + x_70 = lean_alloc_ctor(1, 2, 0); +} else { + x_70 = x_69; +} +lean_ctor_set(x_70, 0, x_67); +lean_ctor_set(x_70, 1, x_68); +return x_70; +} +} +} +} +block_25: +{ +if (lean_obj_tag(x_14) == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +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_16 = lean_ctor_get(x_14, 0); +lean_inc(x_16); +x_17 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_17, 0, x_14); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, 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_15); +return x_19; +} +else +{ +lean_object* x_20; lean_object* x_21; size_t x_22; size_t x_23; +x_20 = lean_ctor_get(x_14, 0); +lean_inc(x_20); +lean_dec(x_14); +lean_inc(x_4); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_4); +lean_ctor_set(x_21, 1, x_20); +x_22 = 1; +x_23 = x_7 + x_22; +x_7 = x_23; +x_8 = x_21; +x_13 = x_15; +goto _start; +} +} +} +} +lean_object* l_Std_PersistentArray_forInAux___at_Lean_Meta_casesRec___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, lean_object* x_10, lean_object* x_11) { +_start: +{ +if (lean_obj_tag(x_5) == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; size_t x_16; size_t x_17; lean_object* x_18; +x_12 = lean_ctor_get(x_5, 0); +x_13 = lean_box(0); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_6); +x_15 = lean_array_get_size(x_12); +x_16 = lean_usize_of_nat(x_15); +lean_dec(x_15); +x_17 = 0; +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_18 = l_Array_forInUnsafe_loop___at_Lean_Meta_casesRec___spec__6(x_1, x_2, x_3, x_4, x_13, x_12, x_16, x_17, x_14, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; lean_object* x_20; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_21 = lean_ctor_get(x_18, 1); +lean_inc(x_21); +lean_dec(x_18); +x_22 = lean_ctor_get(x_19, 1); +lean_inc(x_22); +lean_dec(x_19); +x_23 = lean_box(0); +x_24 = l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2___lambda__1(x_22, x_23, x_7, x_8, x_9, x_10, x_21); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +return x_24; +} +else +{ +uint8_t x_25; +lean_dec(x_19); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +x_25 = !lean_is_exclusive(x_18); +if (x_25 == 0) +{ +lean_object* x_26; lean_object* x_27; +x_26 = lean_ctor_get(x_18, 0); +lean_dec(x_26); +x_27 = lean_ctor_get(x_20, 0); +lean_inc(x_27); +lean_dec(x_20); +lean_ctor_set(x_18, 0, x_27); +return x_18; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_18, 1); +lean_inc(x_28); +lean_dec(x_18); +x_29 = lean_ctor_get(x_20, 0); +lean_inc(x_29); +lean_dec(x_20); +x_30 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_28); +return x_30; +} +} +} +else +{ +uint8_t x_31; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +x_31 = !lean_is_exclusive(x_18); +if (x_31 == 0) +{ +return x_18; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_18, 0); +x_33 = lean_ctor_get(x_18, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_18); +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; +} +} +} +else +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; size_t x_39; size_t x_40; lean_object* x_41; +x_35 = lean_ctor_get(x_5, 0); +x_36 = lean_box(0); +x_37 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_37, 0, x_36); +lean_ctor_set(x_37, 1, x_6); +x_38 = lean_array_get_size(x_35); +x_39 = lean_usize_of_nat(x_38); +lean_dec(x_38); +x_40 = 0; +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_41 = l_Array_forInUnsafe_loop___at_Lean_Meta_casesRec___spec__7(x_1, x_2, x_3, x_36, x_35, x_39, x_40, x_37, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_41) == 0) +{ +lean_object* x_42; lean_object* x_43; +x_42 = lean_ctor_get(x_41, 0); +lean_inc(x_42); +x_43 = lean_ctor_get(x_42, 0); +lean_inc(x_43); +if (lean_obj_tag(x_43) == 0) +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_44 = lean_ctor_get(x_41, 1); +lean_inc(x_44); +lean_dec(x_41); +x_45 = lean_ctor_get(x_42, 1); +lean_inc(x_45); +lean_dec(x_42); +x_46 = lean_box(0); +x_47 = l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2___lambda__1(x_45, x_46, x_7, x_8, x_9, x_10, x_44); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +return x_47; +} +else +{ +uint8_t x_48; +lean_dec(x_42); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +x_48 = !lean_is_exclusive(x_41); +if (x_48 == 0) +{ +lean_object* x_49; lean_object* x_50; +x_49 = lean_ctor_get(x_41, 0); +lean_dec(x_49); +x_50 = lean_ctor_get(x_43, 0); +lean_inc(x_50); +lean_dec(x_43); +lean_ctor_set(x_41, 0, x_50); +return x_41; +} +else +{ +lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_51 = lean_ctor_get(x_41, 1); +lean_inc(x_51); +lean_dec(x_41); +x_52 = lean_ctor_get(x_43, 0); +lean_inc(x_52); +lean_dec(x_43); +x_53 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_53, 0, x_52); +lean_ctor_set(x_53, 1, x_51); +return x_53; +} +} +} +else +{ +uint8_t x_54; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +x_54 = !lean_is_exclusive(x_41); +if (x_54 == 0) +{ +return x_41; +} +else +{ +lean_object* x_55; lean_object* x_56; lean_object* x_57; +x_55 = lean_ctor_get(x_41, 0); +x_56 = lean_ctor_get(x_41, 1); +lean_inc(x_56); +lean_inc(x_55); +lean_dec(x_41); +x_57 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_57, 0, x_55); +lean_ctor_set(x_57, 1, x_56); +return x_57; +} +} +} +} +} +lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_casesRec___spec__8(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) { +_start: +{ +lean_object* x_14; lean_object* x_15; uint8_t x_26; +x_26 = x_7 < x_6; +if (x_26 == 0) +{ +lean_object* x_27; +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_27 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_27, 0, x_8); +lean_ctor_set(x_27, 1, x_13); +return x_27; +} +else +{ +lean_object* x_28; +x_28 = lean_array_uget(x_5, x_7); +if (lean_obj_tag(x_28) == 0) +{ +lean_object* x_29; lean_object* x_30; +x_29 = lean_ctor_get(x_8, 1); +lean_inc(x_29); +lean_dec(x_8); +x_30 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_30, 0, x_29); +x_14 = x_30; +x_15 = x_13; +goto block_25; +} +else +{ +uint8_t x_31; +lean_dec(x_8); +x_31 = !lean_is_exclusive(x_28); +if (x_31 == 0) +{ +lean_object* x_32; lean_object* x_33; +x_32 = lean_ctor_get(x_28, 0); +lean_inc(x_1); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_32); +x_33 = lean_apply_6(x_1, x_32, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; uint8_t x_35; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +x_35 = lean_unbox(x_34); +lean_dec(x_34); +if (x_35 == 0) +{ +lean_object* x_36; lean_object* x_37; +lean_free_object(x_28); +lean_dec(x_32); +x_36 = lean_ctor_get(x_33, 1); +lean_inc(x_36); +lean_dec(x_33); +lean_inc(x_3); +x_37 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_37, 0, x_3); +x_14 = x_37; +x_15 = x_36; +goto block_25; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_33, 1); +lean_inc(x_38); +lean_dec(x_33); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_2); +x_39 = l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___spec__3(x_2, x_32, x_9, x_10, x_11, x_12, x_38); +lean_dec(x_32); +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +if (lean_obj_tag(x_40) == 0) +{ +lean_object* x_41; lean_object* x_42; +lean_free_object(x_28); +x_41 = lean_ctor_get(x_39, 1); +lean_inc(x_41); +lean_dec(x_39); +lean_inc(x_3); +x_42 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_42, 0, x_3); +x_14 = x_42; +x_15 = x_41; +goto block_25; +} +else +{ +lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_43 = lean_ctor_get(x_39, 1); +lean_inc(x_43); +lean_dec(x_39); +lean_ctor_set(x_28, 0, x_40); +x_44 = lean_box(0); +x_45 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_45, 0, x_28); +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_14 = x_46; +x_15 = x_43; +goto block_25; +} +} +} +else +{ +uint8_t x_47; +lean_free_object(x_28); +lean_dec(x_32); +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_47 = !lean_is_exclusive(x_33); +if (x_47 == 0) +{ +return x_33; +} +else +{ +lean_object* x_48; lean_object* x_49; lean_object* x_50; +x_48 = lean_ctor_get(x_33, 0); +x_49 = lean_ctor_get(x_33, 1); +lean_inc(x_49); +lean_inc(x_48); +lean_dec(x_33); +x_50 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_50, 0, x_48); +lean_ctor_set(x_50, 1, x_49); +return x_50; +} +} +} +else +{ +lean_object* x_51; lean_object* x_52; +x_51 = lean_ctor_get(x_28, 0); +lean_inc(x_51); +lean_dec(x_28); +lean_inc(x_1); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_51); +x_52 = lean_apply_6(x_1, x_51, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_52) == 0) +{ +lean_object* x_53; uint8_t x_54; +x_53 = lean_ctor_get(x_52, 0); +lean_inc(x_53); +x_54 = lean_unbox(x_53); +lean_dec(x_53); +if (x_54 == 0) +{ +lean_object* x_55; lean_object* x_56; +lean_dec(x_51); +x_55 = lean_ctor_get(x_52, 1); +lean_inc(x_55); +lean_dec(x_52); +lean_inc(x_3); +x_56 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_56, 0, x_3); +x_14 = x_56; +x_15 = x_55; +goto block_25; +} +else +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_52, 1); +lean_inc(x_57); +lean_dec(x_52); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_2); +x_58 = l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___spec__3(x_2, x_51, x_9, x_10, x_11, x_12, x_57); +lean_dec(x_51); +x_59 = lean_ctor_get(x_58, 0); +lean_inc(x_59); +if (lean_obj_tag(x_59) == 0) +{ +lean_object* x_60; lean_object* x_61; +x_60 = lean_ctor_get(x_58, 1); +lean_inc(x_60); +lean_dec(x_58); +lean_inc(x_3); +x_61 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_61, 0, x_3); +x_14 = x_61; +x_15 = x_60; +goto block_25; +} +else +{ +lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_62 = lean_ctor_get(x_58, 1); +lean_inc(x_62); +lean_dec(x_58); +x_63 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_63, 0, x_59); +x_64 = lean_box(0); +x_65 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_65, 0, x_63); +lean_ctor_set(x_65, 1, x_64); +x_66 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_66, 0, x_65); +x_14 = x_66; +x_15 = x_62; +goto block_25; +} +} +} +else +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; +lean_dec(x_51); +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_67 = lean_ctor_get(x_52, 0); +lean_inc(x_67); +x_68 = lean_ctor_get(x_52, 1); +lean_inc(x_68); +if (lean_is_exclusive(x_52)) { + lean_ctor_release(x_52, 0); + lean_ctor_release(x_52, 1); + x_69 = x_52; +} else { + lean_dec_ref(x_52); + x_69 = lean_box(0); +} +if (lean_is_scalar(x_69)) { + x_70 = lean_alloc_ctor(1, 2, 0); +} else { + x_70 = x_69; +} +lean_ctor_set(x_70, 0, x_67); +lean_ctor_set(x_70, 1, x_68); +return x_70; +} +} +} +} +block_25: +{ +if (lean_obj_tag(x_14) == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +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_16 = lean_ctor_get(x_14, 0); +lean_inc(x_16); +lean_dec(x_14); +lean_inc(x_16); +x_17 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_17, 0, x_16); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, 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_15); +return x_19; +} +else +{ +lean_object* x_20; lean_object* x_21; size_t x_22; size_t x_23; +x_20 = lean_ctor_get(x_14, 0); +lean_inc(x_20); +lean_dec(x_14); +lean_inc(x_4); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_4); +lean_ctor_set(x_21, 1, x_20); +x_22 = 1; +x_23 = x_7 + x_22; +x_7 = x_23; +x_8 = x_21; +x_13 = x_15; +goto _start; +} +} +} +} +lean_object* l_Std_PersistentArray_forIn___at_Lean_Meta_casesRec___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, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; lean_object* x_12; +x_11 = lean_ctor_get(x_4, 0); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_12 = l_Std_PersistentArray_forInAux___at_Lean_Meta_casesRec___spec__5(x_1, x_2, x_3, x_5, x_11, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_5); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +if (lean_obj_tag(x_13) == 0) +{ +uint8_t x_14; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_14 = !lean_is_exclusive(x_12); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_12, 0); +lean_dec(x_15); +x_16 = lean_ctor_get(x_13, 0); +lean_inc(x_16); +lean_dec(x_13); +lean_ctor_set(x_12, 0, x_16); +return x_12; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_12, 1); +lean_inc(x_17); +lean_dec(x_12); +x_18 = lean_ctor_get(x_13, 0); +lean_inc(x_18); +lean_dec(x_13); +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 +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; size_t x_26; size_t x_27; lean_object* x_28; +x_20 = lean_ctor_get(x_12, 1); +lean_inc(x_20); +lean_dec(x_12); +x_21 = lean_ctor_get(x_13, 0); +lean_inc(x_21); +lean_dec(x_13); +x_22 = lean_ctor_get(x_4, 1); +x_23 = lean_box(0); +x_24 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_24, 0, x_23); +lean_ctor_set(x_24, 1, x_21); +x_25 = lean_array_get_size(x_22); +x_26 = lean_usize_of_nat(x_25); +lean_dec(x_25); +x_27 = 0; +x_28 = l_Array_forInUnsafe_loop___at_Lean_Meta_casesRec___spec__8(x_1, x_2, x_3, x_23, x_22, x_26, x_27, x_24, x_6, x_7, x_8, x_9, x_20); +if (lean_obj_tag(x_28) == 0) +{ +lean_object* x_29; lean_object* x_30; +x_29 = lean_ctor_get(x_28, 0); +lean_inc(x_29); +x_30 = lean_ctor_get(x_29, 0); +lean_inc(x_30); +if (lean_obj_tag(x_30) == 0) +{ +uint8_t x_31; +x_31 = !lean_is_exclusive(x_28); +if (x_31 == 0) +{ +lean_object* x_32; lean_object* x_33; +x_32 = lean_ctor_get(x_28, 0); +lean_dec(x_32); +x_33 = lean_ctor_get(x_29, 1); +lean_inc(x_33); +lean_dec(x_29); +lean_ctor_set(x_28, 0, x_33); +return x_28; +} +else +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_34 = lean_ctor_get(x_28, 1); +lean_inc(x_34); +lean_dec(x_28); +x_35 = lean_ctor_get(x_29, 1); +lean_inc(x_35); +lean_dec(x_29); +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; +} +} +else +{ +uint8_t x_37; +lean_dec(x_29); +x_37 = !lean_is_exclusive(x_28); +if (x_37 == 0) +{ +lean_object* x_38; lean_object* x_39; +x_38 = lean_ctor_get(x_28, 0); +lean_dec(x_38); +x_39 = lean_ctor_get(x_30, 0); +lean_inc(x_39); +lean_dec(x_30); +lean_ctor_set(x_28, 0, x_39); +return x_28; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_40 = lean_ctor_get(x_28, 1); +lean_inc(x_40); +lean_dec(x_28); +x_41 = lean_ctor_get(x_30, 0); +lean_inc(x_41); +lean_dec(x_30); +x_42 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_42, 0, x_41); +lean_ctor_set(x_42, 1, x_40); +return x_42; +} +} +} +else +{ +uint8_t x_43; +x_43 = !lean_is_exclusive(x_28); +if (x_43 == 0) +{ +return x_28; +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_44 = lean_ctor_get(x_28, 0); +x_45 = lean_ctor_get(x_28, 1); +lean_inc(x_45); +lean_inc(x_44); +lean_dec(x_28); +x_46 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_46, 0, x_44); +lean_ctor_set(x_46, 1, x_45); +return x_46; +} +} +} +} +else +{ +uint8_t x_47; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_47 = !lean_is_exclusive(x_12); +if (x_47 == 0) +{ +return x_12; +} +else +{ +lean_object* x_48; lean_object* x_49; lean_object* x_50; +x_48 = lean_ctor_get(x_12, 0); +x_49 = lean_ctor_get(x_12, 1); +lean_inc(x_49); +lean_inc(x_48); +lean_dec(x_12); +x_50 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_50, 0, x_48); +lean_ctor_set(x_50, 1, x_49); +return x_50; +} +} +} +} +lean_object* l_Lean_Meta_casesRec___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) { +_start: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_9 = lean_box(0); +x_10 = lean_ctor_get(x_3, 1); +x_11 = l_Array_findSomeM_x3f___rarg___closed__1; +x_12 = l_Std_PersistentArray_forIn___at_Lean_Meta_casesRec___spec__4(x_1, x_2, x_11, x_10, x_11, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +lean_dec(x_13); +if (lean_obj_tag(x_14) == 0) +{ +uint8_t x_15; +x_15 = !lean_is_exclusive(x_12); +if (x_15 == 0) +{ +lean_object* x_16; +x_16 = lean_ctor_get(x_12, 0); +lean_dec(x_16); +lean_ctor_set(x_12, 0, x_9); +return x_12; +} +else +{ +lean_object* x_17; lean_object* x_18; +x_17 = lean_ctor_get(x_12, 1); +lean_inc(x_17); +lean_dec(x_12); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_9); +lean_ctor_set(x_18, 1, x_17); +return x_18; +} +} +else +{ +uint8_t x_19; +x_19 = !lean_is_exclusive(x_12); +if (x_19 == 0) +{ +lean_object* x_20; lean_object* x_21; +x_20 = lean_ctor_get(x_12, 0); +lean_dec(x_20); +x_21 = lean_ctor_get(x_14, 0); +lean_inc(x_21); +lean_dec(x_14); +lean_ctor_set(x_12, 0, x_21); +return x_12; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_12, 1); +lean_inc(x_22); +lean_dec(x_12); +x_23 = lean_ctor_get(x_14, 0); +lean_inc(x_23); +lean_dec(x_14); +x_24 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_24, 0, x_23); +lean_ctor_set(x_24, 1, x_22); +return x_24; +} +} +} +else +{ +uint8_t x_25; +x_25 = !lean_is_exclusive(x_12); +if (x_25 == 0) +{ +return x_12; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_12, 0); +x_27 = lean_ctor_get(x_12, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_12); +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* l_Lean_Meta_casesRec___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) { +_start: +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +lean_inc(x_2); +x_8 = lean_alloc_closure((void*)(l_Lean_Meta_casesRec___lambda__1___boxed), 8, 2); +lean_closure_set(x_8, 0, x_1); +lean_closure_set(x_8, 1, x_2); +x_9 = l_Lean_Meta_getNondepPropHyps___closed__1; +x_10 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); +lean_closure_set(x_10, 0, x_9); +lean_closure_set(x_10, 1, x_8); +x_11 = l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__1___rarg(x_2, x_10, x_3, x_4, x_5, x_6, x_7); +return x_11; +} +} +lean_object* l_Lean_Meta_casesRec(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; +x_8 = lean_alloc_closure((void*)(l_Lean_Meta_casesRec___lambda__2), 7, 1); +lean_closure_set(x_8, 0, x_2); +x_9 = l_Lean_Meta_saturate(x_1, x_8, x_3, x_4, x_5, x_6, x_7); +return x_9; +} +} +lean_object* l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___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) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___spec__3___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_7; +} +} +lean_object* l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___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) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_2); +return x_8; +} +} +lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_casesRec___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, lean_object* x_13, lean_object* x_14) { +_start: +{ +size_t x_15; size_t x_16; lean_object* x_17; +x_15 = lean_unbox_usize(x_7); +lean_dec(x_7); +x_16 = lean_unbox_usize(x_8); +lean_dec(x_8); +x_17 = l_Array_forInUnsafe_loop___at_Lean_Meta_casesRec___spec__6(x_1, x_2, x_3, x_4, x_5, x_6, x_15, x_16, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_6); +lean_dec(x_4); +return x_17; +} +} +lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_casesRec___spec__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_object* x_13) { +_start: +{ +size_t x_14; size_t x_15; lean_object* x_16; +x_14 = lean_unbox_usize(x_6); +lean_dec(x_6); +x_15 = lean_unbox_usize(x_7); +lean_dec(x_7); +x_16 = l_Array_forInUnsafe_loop___at_Lean_Meta_casesRec___spec__7(x_1, x_2, x_3, x_4, x_5, x_14, x_15, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_5); +return x_16; +} +} +lean_object* l_Std_PersistentArray_forInAux___at_Lean_Meta_casesRec___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, lean_object* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; +x_12 = l_Std_PersistentArray_forInAux___at_Lean_Meta_casesRec___spec__5(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_5); +lean_dec(x_4); +return x_12; +} +} +lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_casesRec___spec__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, lean_object* x_13) { +_start: +{ +size_t x_14; size_t x_15; lean_object* x_16; +x_14 = lean_unbox_usize(x_6); +lean_dec(x_6); +x_15 = lean_unbox_usize(x_7); +lean_dec(x_7); +x_16 = l_Array_forInUnsafe_loop___at_Lean_Meta_casesRec___spec__8(x_1, x_2, x_3, x_4, x_5, x_14, x_15, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_5); +return x_16; +} +} +lean_object* l_Std_PersistentArray_forIn___at_Lean_Meta_casesRec___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) { +_start: +{ +lean_object* x_11; +x_11 = l_Std_PersistentArray_forIn___at_Lean_Meta_casesRec___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_4); +return x_11; +} +} +lean_object* l_Lean_Meta_casesRec___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) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_Meta_casesRec___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_3); +return x_9; +} +} +lean_object* l_Lean_Meta_casesAnd___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; lean_object* x_8; +x_7 = l_Lean_LocalDecl_type(x_1); +x_8 = l_Lean_Meta_instantiateMVars(x_7, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_8) == 0) +{ +uint8_t x_9; +x_9 = !lean_is_exclusive(x_8); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; +x_10 = lean_ctor_get(x_8, 0); +x_11 = l_myMacro____x40_Init_Notation___hyg_10540____closed__4; +x_12 = lean_unsigned_to_nat(2u); +x_13 = l_Lean_Expr_isAppOfArity(x_10, x_11, x_12); +lean_dec(x_10); +x_14 = lean_box(x_13); +lean_ctor_set(x_8, 0, x_14); +return x_8; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_object* x_20; lean_object* x_21; +x_15 = lean_ctor_get(x_8, 0); +x_16 = lean_ctor_get(x_8, 1); +lean_inc(x_16); +lean_inc(x_15); +lean_dec(x_8); +x_17 = l_myMacro____x40_Init_Notation___hyg_10540____closed__4; +x_18 = lean_unsigned_to_nat(2u); +x_19 = l_Lean_Expr_isAppOfArity(x_15, x_17, x_18); +lean_dec(x_15); +x_20 = lean_box(x_19); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_21, 1, x_16); +return x_21; +} +} +else +{ +uint8_t x_22; +x_22 = !lean_is_exclusive(x_8); +if (x_22 == 0) +{ +return x_8; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_8, 0); +x_24 = lean_ctor_get(x_8, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_8); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +return x_25; +} +} +} +} +static lean_object* _init_l_Lean_Meta_casesAnd___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Meta_casesAnd___lambda__1___boxed), 6, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_casesAnd___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("unexpected number of goals"); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_casesAnd___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_casesAnd___closed__2; +x_2 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_casesAnd___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_casesAnd___closed__3; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +lean_object* l_Lean_Meta_casesAnd(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; lean_object* x_8; +x_7 = l_Lean_Meta_casesAnd___closed__1; +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_8 = l_Lean_Meta_casesRec(x_1, x_7, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_8) == 0) +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_9 = lean_ctor_get(x_8, 0); +lean_inc(x_9); +x_10 = lean_ctor_get(x_8, 1); +lean_inc(x_10); +lean_dec(x_8); +x_11 = l_Lean_Meta_casesAnd___closed__4; +x_12 = l_Lean_Meta_exactlyOne(x_9, x_11, x_2, x_3, x_4, x_5, x_10); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_9); +return x_12; +} +else +{ +uint8_t x_13; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_13 = !lean_is_exclusive(x_8); +if (x_13 == 0) +{ +return x_8; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_8, 0); +x_15 = lean_ctor_get(x_8, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_8); +x_16 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_16, 0, x_14); +lean_ctor_set(x_16, 1, x_15); +return x_16; +} +} +} +} +lean_object* l_Lean_Meta_casesAnd___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_Meta_casesAnd___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_1); +return x_7; +} +} +lean_object* l_Lean_Meta_substEqs___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; lean_object* x_8; +x_7 = l_Lean_LocalDecl_type(x_1); +x_8 = l_Lean_Meta_instantiateMVars(x_7, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_8) == 0) +{ +uint8_t x_9; +x_9 = !lean_is_exclusive(x_8); +if (x_9 == 0) +{ +lean_object* x_10; uint8_t x_11; +x_10 = lean_ctor_get(x_8, 0); +x_11 = l_Lean_Expr_isEq(x_10); +if (x_11 == 0) +{ +uint8_t x_12; lean_object* x_13; +x_12 = l_Lean_Expr_isHEq(x_10); +lean_dec(x_10); +x_13 = lean_box(x_12); +lean_ctor_set(x_8, 0, x_13); +return x_8; +} +else +{ +uint8_t x_14; lean_object* x_15; +lean_dec(x_10); +x_14 = 1; +x_15 = lean_box(x_14); +lean_ctor_set(x_8, 0, x_15); +return x_8; +} +} +else +{ +lean_object* x_16; lean_object* x_17; uint8_t x_18; +x_16 = lean_ctor_get(x_8, 0); +x_17 = lean_ctor_get(x_8, 1); +lean_inc(x_17); +lean_inc(x_16); +lean_dec(x_8); +x_18 = l_Lean_Expr_isEq(x_16); +if (x_18 == 0) +{ +uint8_t x_19; lean_object* x_20; lean_object* x_21; +x_19 = l_Lean_Expr_isHEq(x_16); +lean_dec(x_16); +x_20 = lean_box(x_19); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_21, 1, x_17); +return x_21; +} +else +{ +uint8_t x_22; lean_object* x_23; lean_object* x_24; +lean_dec(x_16); +x_22 = 1; +x_23 = lean_box(x_22); +x_24 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_24, 0, x_23); +lean_ctor_set(x_24, 1, x_17); +return x_24; +} +} +} +else +{ +uint8_t x_25; +x_25 = !lean_is_exclusive(x_8); +if (x_25 == 0) +{ +return x_8; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_8, 0); +x_27 = lean_ctor_get(x_8, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_8); +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; +} +} +} +} +static lean_object* _init_l_Lean_Meta_substEqs___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Meta_substEqs___lambda__1___boxed), 6, 0); +return x_1; +} +} +lean_object* l_Lean_Meta_substEqs(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; lean_object* x_8; +x_7 = l_Lean_Meta_substEqs___closed__1; +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_8 = l_Lean_Meta_casesRec(x_1, x_7, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_8) == 0) +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_9 = lean_ctor_get(x_8, 0); +lean_inc(x_9); +x_10 = lean_ctor_get(x_8, 1); +lean_inc(x_10); +lean_dec(x_8); +x_11 = l_Lean_Meta_casesAnd___closed__4; +x_12 = l_Lean_Meta_exactlyOne(x_9, x_11, x_2, x_3, x_4, x_5, x_10); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_9); +return x_12; +} +else +{ +uint8_t x_13; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_13 = !lean_is_exclusive(x_8); +if (x_13 == 0) +{ +return x_8; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_8, 0); +x_15 = lean_ctor_get(x_8, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_8); +x_16 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_16, 0, x_14); +lean_ctor_set(x_16, 1, x_15); +return x_16; +} +} +} +} +lean_object* l_Lean_Meta_substEqs___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_Meta_substEqs___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_1); +return x_7; +} +} +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Cases___hyg_3220_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -13891,7 +15945,19 @@ l_Lean_Meta_Cases_cases___lambda__1___closed__6 = _init_l_Lean_Meta_Cases_cases_ lean_mark_persistent(l_Lean_Meta_Cases_cases___lambda__1___closed__6); l_Lean_Meta_Cases_cases___closed__1 = _init_l_Lean_Meta_Cases_cases___closed__1(); lean_mark_persistent(l_Lean_Meta_Cases_cases___closed__1); -res = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Cases___hyg_2918_(lean_io_mk_world()); +l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___spec__3___closed__1 = _init_l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___spec__3___closed__1(); +lean_mark_persistent(l_Lean_observing_x3f___at_Lean_Meta_casesRec___spec__2___at_Lean_Meta_casesRec___spec__3___closed__1); +l_Lean_Meta_casesAnd___closed__1 = _init_l_Lean_Meta_casesAnd___closed__1(); +lean_mark_persistent(l_Lean_Meta_casesAnd___closed__1); +l_Lean_Meta_casesAnd___closed__2 = _init_l_Lean_Meta_casesAnd___closed__2(); +lean_mark_persistent(l_Lean_Meta_casesAnd___closed__2); +l_Lean_Meta_casesAnd___closed__3 = _init_l_Lean_Meta_casesAnd___closed__3(); +lean_mark_persistent(l_Lean_Meta_casesAnd___closed__3); +l_Lean_Meta_casesAnd___closed__4 = _init_l_Lean_Meta_casesAnd___closed__4(); +lean_mark_persistent(l_Lean_Meta_casesAnd___closed__4); +l_Lean_Meta_substEqs___closed__1 = _init_l_Lean_Meta_substEqs___closed__1(); +lean_mark_persistent(l_Lean_Meta_substEqs___closed__1); +res = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Cases___hyg_3220_(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/Util.c b/stage0/stdlib/Lean/Meta/Tactic/Util.c index c3a1480f5d..e105bcab6e 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Util.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Util.c @@ -18,12 +18,15 @@ lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_getNondepPropHyps___spec__4 lean_object* l_Lean_Meta_setMVarTag___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_extractMacroScopes(lean_object*); size_t l_USize_add(size_t, size_t); +lean_object* l_Lean_Meta_ensureAtMostOne(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*); lean_object* lean_erase_macro_scopes(lean_object*); lean_object* l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); lean_object* l_Lean_Meta_getNondepPropHyps___closed__1; +extern lean_object* l_Lean_withIncRecDepth___rarg___lambda__2___closed__2; lean_object* l_Lean_Meta_appendTagSuffix(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_saturate_go___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_LocalDecl_isAuxDecl(lean_object*); lean_object* lean_name_mk_string(lean_object*, lean_object*); lean_object* l_Lean_Meta_throwTacticEx(lean_object*); @@ -32,6 +35,8 @@ lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_getNondepPropHyps___spec__3 uint8_t l_Std_HashSetImp_contains___at_Lean_NameHashSet_contains___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Meta_checkNotAssigned___closed__3; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); +lean_object* l_Lean_Meta_saturate_go___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_exactlyOne_match__1(lean_object*); lean_object* l_Lean_throwError___at_Lean_Meta_throwTacticEx___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Array_empty___closed__1; lean_object* l_Lean_Meta_checkNotAssigned___closed__1; @@ -53,14 +58,20 @@ extern lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Util_Trace_0__ lean_object* l_Lean_Meta_throwTacticEx___rarg___closed__1; lean_object* l_Lean_Meta_throwTacticEx___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_throwTacticEx___rarg___closed__2; +lean_object* l_Lean_throwError___at_Lean_Meta_ensureAtMostOne___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_USize_decLt(size_t, size_t); lean_object* l_Std_PersistentArray_forInAux___at_Lean_Meta_getNondepPropHyps___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at_Lean_Meta_saturate_go___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_saturate_match__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_Meta_checkNotAssigned___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_admit___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_getNondepPropHyps___spec__4___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_appendTag(lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_getNondepPropHyps___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_nat_add(lean_object*, lean_object*); extern lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_740____closed__2; +lean_object* l_Lean_Meta_exactlyOne___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at_Lean_Meta_exactlyOne___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Tactic_tacticAdmit___closed__3; lean_object* l_Std_HashSetImp_erase___at_Lean_Meta_getNondepPropHyps_removeDeps___spec__1___boxed(lean_object*, lean_object*); uint8_t l_Lean_Name_hasMacroScopes(lean_object*); @@ -69,21 +80,26 @@ lean_object* l_List_erase___at_Lean_Meta_getNondepPropHyps_removeDeps___spec__2_ uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_Meta_getMVarType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkSorry(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_forM___at_Lean_Meta_saturate_go___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentArray_forIn___at_Lean_Meta_getNondepPropHyps___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_headBetaMVarType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); +lean_object* l_Lean_Meta_ensureAtMostOne___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_headBeta(lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_getNondepPropHyps___spec__5(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getNondepPropHyps(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_saturate_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_getNondepPropHyps___spec__3(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t l_Lean_Name_hash(lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_getNondepPropHyps___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* l_Lean_throwError___at_Lean_Meta_ensureAtMostOne___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_mk_ref(lean_object*, lean_object*); lean_object* l_Std_PersistentArray_forInAux___at_Lean_Meta_getNondepPropHyps___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getMVarType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_getNondepPropHyps___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getMVarType_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_array_to_list(lean_object*, lean_object*); lean_object* l_Std_HashMapImp_insert___at_Lean_Meta_ToHide_visitVisibleExpr_visit___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_admit___closed__1; size_t lean_usize_modn(size_t, lean_object*); @@ -93,19 +109,23 @@ extern lean_object* l_Lean_KernelException_toMessageData___closed__15; lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Util___hyg_225____closed__1; lean_object* l_Std_HashSetImp_erase___at_Lean_Meta_getNondepPropHyps_removeDeps___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Meta_whnf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_saturate(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Meta_ToHide_visitVisibleExpr_visit___spec__7(lean_object*, lean_object*); lean_object* l_Lean_Meta_admit___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_HashSetImp_insert___at_Lean_NameHashSet_insert___spec__1(lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); +lean_object* l_Lean_throwError___at_Lean_Meta_saturate_go___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getNondepPropHyps_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_fvarId(lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withMVarContextImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_ensureAtMostOne_match__1(lean_object*); lean_object* l_Lean_Meta_mkFreshExprSyntheticOpaqueMVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_appendTagSuffix___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_getNondepPropHyps___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_type(lean_object*); lean_object* l_Lean_LocalDecl_value_x3f(lean_object*); lean_object* l_Lean_Meta_throwTacticEx___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_forM___at_Lean_Meta_saturate_go___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_List_elem___at_Lean_NameHashSet_insert___spec__2(lean_object*, lean_object*); lean_object* l_Lean_Meta_assignExprMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_getNondepPropHyps___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -113,12 +133,15 @@ lean_object* l_Lean_ForEachExpr_visit___at_Lean_Meta_getNondepPropHyps_removeDep extern lean_object* l_Std_HashSet_instInhabitedHashSet___closed__1; lean_object* l_Lean_Meta_getNondepPropHyps_removeDeps_match__1(lean_object*); lean_object* l_Lean_Meta_checkNotAssigned(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_exactlyOne_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_append(lean_object*, lean_object*); lean_object* l_Lean_Meta_getNondepPropHyps___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MacroScopesView_review(lean_object*); lean_object* l_Lean_Meta_admit(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_LocalDecl_hasValue(lean_object*); +lean_object* l_Lean_Meta_exactlyOne(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_admit___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_saturate_go_match__1(lean_object*); lean_object* l_Lean_Meta_getNondepPropHyps_removeDeps_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isExprMVarAssigned(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_headBetaMVarType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -131,17 +154,22 @@ extern lean_object* l_Lean_Meta_instMonadLCtxMetaM___closed__2; 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_getNondepPropHyps_match__1(lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_saturate_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getMVarDecl(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* l_Lean_throwError___at_Lean_Meta_throwTacticEx___spec__1(lean_object*); extern lean_object* l_Std_HashMap_instInhabitedHashMap___closed__1; lean_object* l_Std_PersistentArray_forIn___at_Lean_Meta_getNondepPropHyps___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentArray_forIn___at_Lean_Meta_getNondepPropHyps___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_saturate_match__1(lean_object*); +lean_object* l_Lean_throwError___at_Lean_Meta_exactlyOne___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Tactic_intro___closed__1; lean_object* l_Lean_Meta_mkFreshExprSyntheticOpaqueMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getNondepPropHyps_removeDeps(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_ensureAtMostOne_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Util___hyg_225_(lean_object*); lean_object* l_Lean_Meta_isProp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_saturate_go_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getMVarTag___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_setMVarTag(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getNondepPropHyps___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -4216,6 +4244,873 @@ lean_dec(x_3); return x_9; } } +lean_object* l_Lean_Meta_saturate_go_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; lean_object* x_5; +lean_dec(x_3); +x_4 = lean_box(0); +x_5 = lean_apply_1(x_2, x_4); +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_2); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_apply_1(x_3, x_6); +return x_7; +} +} +} +lean_object* l_Lean_Meta_saturate_go_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_saturate_go_match__1___rarg), 3, 0); +return x_2; +} +} +lean_object* l_Lean_Meta_saturate_match__1___rarg(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_3 = lean_ctor_get(x_1, 0); +lean_inc(x_3); +x_4 = lean_ctor_get(x_1, 1); +lean_inc(x_4); +lean_dec(x_1); +x_5 = lean_apply_2(x_2, x_3, x_4); +return x_5; +} +} +lean_object* l_Lean_Meta_saturate_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_saturate_match__1___rarg), 2, 0); +return x_2; +} +} +lean_object* l_List_forM___at_Lean_Meta_saturate_go___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) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_9; lean_object* x_10; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_9 = lean_box(0); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_8); +return x_10; +} +else +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_2, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_2, 1); +lean_inc(x_12); +lean_dec(x_2); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_1); +x_13 = l_Lean_Meta_saturate_go(x_1, x_11, x_3, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_13) == 0) +{ +lean_object* x_14; +x_14 = lean_ctor_get(x_13, 1); +lean_inc(x_14); +lean_dec(x_13); +x_2 = x_12; +x_8 = x_14; +goto _start; +} +else +{ +uint8_t x_16; +lean_dec(x_12); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_16 = !lean_is_exclusive(x_13); +if (x_16 == 0) +{ +return x_13; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_13, 0); +x_18 = lean_ctor_get(x_13, 1); +lean_inc(x_18); +lean_inc(x_17); +lean_dec(x_13); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_17); +lean_ctor_set(x_19, 1, x_18); +return x_19; +} +} +} +} +} +lean_object* l_Lean_throwError___at_Lean_Meta_saturate_go___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) { +_start: +{ +lean_object* x_8; lean_object* x_9; uint8_t x_10; +x_8 = lean_ctor_get(x_5, 3); +x_9 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_3, x_4, x_5, x_6, x_7); +x_10 = !lean_is_exclusive(x_9); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; +x_11 = lean_ctor_get(x_9, 0); +lean_inc(x_8); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_8); +lean_ctor_set(x_12, 1, x_11); +lean_ctor_set_tag(x_9, 1); +lean_ctor_set(x_9, 0, x_12); +return x_9; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_13 = lean_ctor_get(x_9, 0); +x_14 = lean_ctor_get(x_9, 1); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_9); +lean_inc(x_8); +x_15 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_15, 0, x_8); +lean_ctor_set(x_15, 1, x_13); +x_16 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_16, 0, x_15); +lean_ctor_set(x_16, 1, x_14); +return x_16; +} +} +} +lean_object* l_Lean_Meta_saturate_go___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: +{ +lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_11 = lean_unsigned_to_nat(1u); +x_12 = lean_nat_add(x_1, x_11); +x_13 = !lean_is_exclusive(x_8); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_8, 1); +lean_dec(x_14); +lean_ctor_set(x_8, 1, x_12); +lean_inc(x_2); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_3); +x_15 = lean_apply_6(x_2, x_3, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_15) == 0) +{ +lean_object* x_16; +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +if (lean_obj_tag(x_16) == 0) +{ +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; uint8_t x_25; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +x_18 = lean_st_ref_get(x_9, x_17); +lean_dec(x_9); +x_19 = lean_ctor_get(x_18, 1); +lean_inc(x_19); +lean_dec(x_18); +x_20 = lean_st_ref_take(x_5, x_19); +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = lean_array_push(x_21, x_3); +x_24 = lean_st_ref_set(x_5, x_23, x_22); +x_25 = !lean_is_exclusive(x_24); +if (x_25 == 0) +{ +lean_object* x_26; lean_object* x_27; +x_26 = lean_ctor_get(x_24, 0); +lean_dec(x_26); +x_27 = lean_box(0); +lean_ctor_set(x_24, 0, x_27); +return x_24; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_24, 1); +lean_inc(x_28); +lean_dec(x_24); +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_28); +return x_30; +} +} +else +{ +lean_object* x_31; lean_object* x_32; lean_object* x_33; +lean_dec(x_3); +x_31 = lean_ctor_get(x_15, 1); +lean_inc(x_31); +lean_dec(x_15); +x_32 = lean_ctor_get(x_16, 0); +lean_inc(x_32); +lean_dec(x_16); +x_33 = l_List_forM___at_Lean_Meta_saturate_go___spec__1(x_2, x_32, x_5, x_6, x_7, x_8, x_9, x_31); +return x_33; +} +} +else +{ +uint8_t x_34; +lean_dec(x_8); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_3); +lean_dec(x_2); +x_34 = !lean_is_exclusive(x_15); +if (x_34 == 0) +{ +return x_15; +} +else +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_15, 0); +x_36 = lean_ctor_get(x_15, 1); +lean_inc(x_36); +lean_inc(x_35); +lean_dec(x_15); +x_37 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_37, 0, x_35); +lean_ctor_set(x_37, 1, x_36); +return x_37; +} +} +} +else +{ +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; +x_38 = lean_ctor_get(x_8, 0); +x_39 = lean_ctor_get(x_8, 2); +x_40 = lean_ctor_get(x_8, 3); +x_41 = lean_ctor_get(x_8, 4); +x_42 = lean_ctor_get(x_8, 5); +x_43 = lean_ctor_get(x_8, 6); +x_44 = lean_ctor_get(x_8, 7); +lean_inc(x_44); +lean_inc(x_43); +lean_inc(x_42); +lean_inc(x_41); +lean_inc(x_40); +lean_inc(x_39); +lean_inc(x_38); +lean_dec(x_8); +x_45 = lean_alloc_ctor(0, 8, 0); +lean_ctor_set(x_45, 0, x_38); +lean_ctor_set(x_45, 1, x_12); +lean_ctor_set(x_45, 2, x_39); +lean_ctor_set(x_45, 3, x_40); +lean_ctor_set(x_45, 4, x_41); +lean_ctor_set(x_45, 5, x_42); +lean_ctor_set(x_45, 6, x_43); +lean_ctor_set(x_45, 7, x_44); +lean_inc(x_2); +lean_inc(x_9); +lean_inc(x_45); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_3); +x_46 = lean_apply_6(x_2, x_3, x_6, x_7, x_45, x_9, x_10); +if (lean_obj_tag(x_46) == 0) +{ +lean_object* x_47; +x_47 = lean_ctor_get(x_46, 0); +lean_inc(x_47); +if (lean_obj_tag(x_47) == 0) +{ +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_dec(x_45); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +x_48 = lean_ctor_get(x_46, 1); +lean_inc(x_48); +lean_dec(x_46); +x_49 = lean_st_ref_get(x_9, x_48); +lean_dec(x_9); +x_50 = lean_ctor_get(x_49, 1); +lean_inc(x_50); +lean_dec(x_49); +x_51 = lean_st_ref_take(x_5, x_50); +x_52 = lean_ctor_get(x_51, 0); +lean_inc(x_52); +x_53 = lean_ctor_get(x_51, 1); +lean_inc(x_53); +lean_dec(x_51); +x_54 = lean_array_push(x_52, x_3); +x_55 = lean_st_ref_set(x_5, x_54, x_53); +x_56 = lean_ctor_get(x_55, 1); +lean_inc(x_56); +if (lean_is_exclusive(x_55)) { + lean_ctor_release(x_55, 0); + lean_ctor_release(x_55, 1); + x_57 = x_55; +} else { + lean_dec_ref(x_55); + x_57 = lean_box(0); +} +x_58 = lean_box(0); +if (lean_is_scalar(x_57)) { + x_59 = lean_alloc_ctor(0, 2, 0); +} else { + x_59 = x_57; +} +lean_ctor_set(x_59, 0, x_58); +lean_ctor_set(x_59, 1, x_56); +return x_59; +} +else +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; +lean_dec(x_3); +x_60 = lean_ctor_get(x_46, 1); +lean_inc(x_60); +lean_dec(x_46); +x_61 = lean_ctor_get(x_47, 0); +lean_inc(x_61); +lean_dec(x_47); +x_62 = l_List_forM___at_Lean_Meta_saturate_go___spec__1(x_2, x_61, x_5, x_6, x_7, x_45, x_9, x_60); +return x_62; +} +} +else +{ +lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; +lean_dec(x_45); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_3); +lean_dec(x_2); +x_63 = lean_ctor_get(x_46, 0); +lean_inc(x_63); +x_64 = lean_ctor_get(x_46, 1); +lean_inc(x_64); +if (lean_is_exclusive(x_46)) { + lean_ctor_release(x_46, 0); + lean_ctor_release(x_46, 1); + x_65 = x_46; +} else { + lean_dec_ref(x_46); + x_65 = lean_box(0); +} +if (lean_is_scalar(x_65)) { + x_66 = lean_alloc_ctor(1, 2, 0); +} else { + x_66 = x_65; +} +lean_ctor_set(x_66, 0, x_63); +lean_ctor_set(x_66, 1, x_64); +return x_66; +} +} +} +} +lean_object* l_Lean_Meta_saturate_go(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; uint8_t x_11; +x_9 = lean_ctor_get(x_6, 1); +lean_inc(x_9); +x_10 = lean_ctor_get(x_6, 2); +lean_inc(x_10); +x_11 = lean_nat_dec_eq(x_9, x_10); +lean_dec(x_10); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_box(0); +x_13 = l_Lean_Meta_saturate_go___lambda__1(x_9, x_1, x_2, x_12, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_9); +return x_13; +} +else +{ +lean_object* x_14; lean_object* x_15; uint8_t x_16; +lean_dec(x_9); +lean_dec(x_2); +lean_dec(x_1); +x_14 = l_Lean_withIncRecDepth___rarg___lambda__2___closed__2; +x_15 = l_Lean_throwError___at_Lean_Meta_saturate_go___spec__2(x_14, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +x_16 = !lean_is_exclusive(x_15); +if (x_16 == 0) +{ +return x_15; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_15, 0); +x_18 = lean_ctor_get(x_15, 1); +lean_inc(x_18); +lean_inc(x_17); +lean_dec(x_15); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_17); +lean_ctor_set(x_19, 1, x_18); +return x_19; +} +} +} +} +lean_object* l_List_forM___at_Lean_Meta_saturate_go___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) { +_start: +{ +lean_object* x_9; +x_9 = l_List_forM___at_Lean_Meta_saturate_go___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_3); +return x_9; +} +} +lean_object* l_Lean_throwError___at_Lean_Meta_saturate_go___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) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_throwError___at_Lean_Meta_saturate_go___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_8; +} +} +lean_object* l_Lean_Meta_saturate_go___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_saturate_go___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_5); +lean_dec(x_4); +lean_dec(x_1); +return x_11; +} +} +lean_object* l_Lean_Meta_saturate_go___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_Meta_saturate_go(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_3); +return x_9; +} +} +lean_object* l_Lean_Meta_saturate(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; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_8 = lean_st_ref_get(x_6, x_7); +x_9 = lean_ctor_get(x_8, 1); +lean_inc(x_9); +lean_dec(x_8); +x_10 = l_Array_empty___closed__1; +x_11 = lean_st_mk_ref(x_10, x_9); +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); +lean_inc(x_6); +x_14 = l_Lean_Meta_saturate_go(x_2, x_1, x_12, x_3, x_4, x_5, x_6, x_13); +if (lean_obj_tag(x_14) == 0) +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; +x_15 = lean_ctor_get(x_14, 1); +lean_inc(x_15); +lean_dec(x_14); +x_16 = lean_st_ref_get(x_6, x_15); +lean_dec(x_6); +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +x_18 = lean_st_ref_get(x_12, x_17); +lean_dec(x_12); +x_19 = !lean_is_exclusive(x_18); +if (x_19 == 0) +{ +lean_object* x_20; lean_object* x_21; +x_20 = lean_ctor_get(x_18, 0); +x_21 = lean_array_to_list(lean_box(0), x_20); +lean_ctor_set(x_18, 0, x_21); +return x_18; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_22 = lean_ctor_get(x_18, 0); +x_23 = lean_ctor_get(x_18, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_18); +x_24 = lean_array_to_list(lean_box(0), x_22); +x_25 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_25, 0, x_24); +lean_ctor_set(x_25, 1, x_23); +return x_25; +} +} +else +{ +uint8_t x_26; +lean_dec(x_12); +lean_dec(x_6); +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; +} +} +} +} +lean_object* l_Lean_Meta_exactlyOne_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; +lean_dec(x_2); +x_4 = lean_apply_1(x_3, x_1); +return x_4; +} +else +{ +lean_object* x_5; +x_5 = lean_ctor_get(x_1, 1); +lean_inc(x_5); +if (lean_obj_tag(x_5) == 0) +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_3); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_apply_1(x_2, x_6); +return x_7; +} +else +{ +lean_object* x_8; +lean_dec(x_5); +lean_dec(x_2); +x_8 = lean_apply_1(x_3, x_1); +return x_8; +} +} +} +} +lean_object* l_Lean_Meta_exactlyOne_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_exactlyOne_match__1___rarg), 3, 0); +return x_2; +} +} +lean_object* l_Lean_throwError___at_Lean_Meta_exactlyOne___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) { +_start: +{ +lean_object* x_7; lean_object* x_8; uint8_t x_9; +x_7 = lean_ctor_get(x_4, 3); +x_8 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_9 = !lean_is_exclusive(x_8); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_8, 0); +lean_inc(x_7); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_7); +lean_ctor_set(x_11, 1, x_10); +lean_ctor_set_tag(x_8, 1); +lean_ctor_set(x_8, 0, x_11); +return x_8; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_12 = lean_ctor_get(x_8, 0); +x_13 = lean_ctor_get(x_8, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_8); +lean_inc(x_7); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_7); +lean_ctor_set(x_14, 1, x_12); +x_15 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_13); +return x_15; +} +} +} +lean_object* l_Lean_Meta_exactlyOne(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: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_8; +x_8 = l_Lean_throwError___at_Lean_Meta_exactlyOne___spec__1(x_2, x_3, x_4, x_5, x_6, x_7); +return x_8; +} +else +{ +lean_object* x_9; +x_9 = lean_ctor_get(x_1, 1); +if (lean_obj_tag(x_9) == 0) +{ +lean_object* x_10; lean_object* x_11; +lean_dec(x_2); +x_10 = lean_ctor_get(x_1, 0); +lean_inc(x_10); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_7); +return x_11; +} +else +{ +lean_object* x_12; +x_12 = l_Lean_throwError___at_Lean_Meta_exactlyOne___spec__1(x_2, x_3, x_4, x_5, x_6, x_7); +return x_12; +} +} +} +} +lean_object* l_Lean_throwError___at_Lean_Meta_exactlyOne___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) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_throwError___at_Lean_Meta_exactlyOne___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_7; +} +} +lean_object* l_Lean_Meta_exactlyOne___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) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_Meta_exactlyOne(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +return x_8; +} +} +lean_object* l_Lean_Meta_ensureAtMostOne_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_5; lean_object* x_6; +lean_dec(x_4); +lean_dec(x_3); +x_5 = lean_box(0); +x_6 = lean_apply_1(x_2, x_5); +return x_6; +} +else +{ +lean_object* x_7; +lean_dec(x_2); +x_7 = lean_ctor_get(x_1, 1); +lean_inc(x_7); +if (lean_obj_tag(x_7) == 0) +{ +lean_object* x_8; lean_object* x_9; +lean_dec(x_4); +x_8 = lean_ctor_get(x_1, 0); +lean_inc(x_8); +lean_dec(x_1); +x_9 = lean_apply_1(x_3, x_8); +return x_9; +} +else +{ +lean_object* x_10; +lean_dec(x_7); +lean_dec(x_3); +x_10 = lean_apply_1(x_4, x_1); +return x_10; +} +} +} +} +lean_object* l_Lean_Meta_ensureAtMostOne_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_ensureAtMostOne_match__1___rarg), 4, 0); +return x_2; +} +} +lean_object* l_Lean_throwError___at_Lean_Meta_ensureAtMostOne___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) { +_start: +{ +lean_object* x_7; lean_object* x_8; uint8_t x_9; +x_7 = lean_ctor_get(x_4, 3); +x_8 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_9 = !lean_is_exclusive(x_8); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_8, 0); +lean_inc(x_7); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_7); +lean_ctor_set(x_11, 1, x_10); +lean_ctor_set_tag(x_8, 1); +lean_ctor_set(x_8, 0, x_11); +return x_8; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_12 = lean_ctor_get(x_8, 0); +x_13 = lean_ctor_get(x_8, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_8); +lean_inc(x_7); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_7); +lean_ctor_set(x_14, 1, x_12); +x_15 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_13); +return x_15; +} +} +} +lean_object* l_Lean_Meta_ensureAtMostOne(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: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_8; lean_object* x_9; +lean_dec(x_2); +x_8 = lean_box(0); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; +} +else +{ +lean_object* x_10; +x_10 = lean_ctor_get(x_1, 1); +if (lean_obj_tag(x_10) == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +lean_dec(x_2); +x_11 = lean_ctor_get(x_1, 0); +lean_inc(x_11); +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); +lean_ctor_set(x_13, 1, x_7); +return x_13; +} +else +{ +lean_object* x_14; +x_14 = l_Lean_throwError___at_Lean_Meta_ensureAtMostOne___spec__1(x_2, x_3, x_4, x_5, x_6, x_7); +return x_14; +} +} +} +} +lean_object* l_Lean_throwError___at_Lean_Meta_ensureAtMostOne___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) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_throwError___at_Lean_Meta_ensureAtMostOne___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_7; +} +} +lean_object* l_Lean_Meta_ensureAtMostOne___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) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_Meta_ensureAtMostOne(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +return x_8; +} +} lean_object* initialize_Init(lean_object*); lean_object* initialize_Lean_Util_ForEachExpr(lean_object*); lean_object* initialize_Lean_Meta_Basic(lean_object*); diff --git a/stage0/stdlib/Lean/Parser/Command.c b/stage0/stdlib/Lean/Parser/Command.c index 150e04695d..aecb8b91f2 100644 --- a/stage0/stdlib/Lean/Parser/Command.c +++ b/stage0/stdlib/Lean/Parser/Command.c @@ -310,6 +310,7 @@ lean_object* l_Lean_Parser_Command_mutual___closed__8; lean_object* l_Lean_Parser_Tactic_set__option_formatter___closed__5; lean_object* l_Lean_Parser_Command_visibility_formatter___closed__2; lean_object* l_Lean_Parser_Tactic_open_parenthesizer___closed__5; +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2; lean_object* l_Lean_Parser_Command_partial___elambda__1___closed__7; lean_object* l_Lean_Parser_Command_namespace___elambda__1___closed__11; lean_object* l_Lean_Parser_Command_export___closed__8; @@ -451,6 +452,7 @@ lean_object* l_Lean_Parser_Command_theorem___elambda__1___closed__9; lean_object* l_Lean_Parser_Command_abbrev; lean_object* l_Lean_Parser_Command_mutual_parenthesizer___closed__11; lean_object* l_Lean_Parser_Command_variable_parenthesizer___closed__3; +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__1; lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__14; lean_object* l_Lean_Parser_tokenWithAntiquotFn(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter___closed__9; @@ -1025,7 +1027,6 @@ lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__9; lean_object* l_Lean_Parser_Command_protected_formatter___closed__2; lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__10; lean_object* l_Lean_Parser_Command_initialize_formatter___closed__1; -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__1; lean_object* l_Lean_Parser_Command_inferMod___elambda__1___closed__4; lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__19; lean_object* l___regBuiltin_Lean_Parser_Command_in_parenthesizer___closed__1; @@ -1523,7 +1524,6 @@ lean_object* l_Lean_Parser_Command_instance___elambda__1___closed__8; lean_object* l_Lean_Parser_Command_declModifiers___closed__3; lean_object* l___regBuiltin_Lean_Parser_Command_printAxioms_parenthesizer(lean_object*); lean_object* l_Lean_Parser_Command_end___closed__7; -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2; lean_object* l_Lean_Parser_Command_end_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_exit___closed__7; extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5; @@ -43961,7 +43961,7 @@ static lean_object* _init_l_Lean_Parser_Command_builtin__initialize___elambda__1 _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; @@ -43971,7 +43971,7 @@ static lean_object* _init_l_Lean_Parser_Command_builtin__initialize___elambda__1 _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__1; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__1; x_2 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__1; x_3 = 1; x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3); @@ -44031,7 +44031,7 @@ static lean_object* _init_l_Lean_Parser_Command_builtin__initialize___elambda__1 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2; x_2 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__7; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -44167,7 +44167,7 @@ if (x_22 == 0) { lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_dec(x_4); -x_23 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2; +x_23 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2; x_24 = l_Lean_Parser_ParserState_mkNode(x_20, x_23, x_14); x_25 = lean_ctor_get(x_24, 4); lean_inc(x_25); @@ -44198,7 +44198,7 @@ lean_dec(x_29); if (x_30 == 0) { lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34; -x_31 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2; +x_31 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2; x_32 = l_Lean_Parser_ParserState_mkNode(x_28, x_31, x_14); x_33 = lean_ctor_get(x_32, 4); lean_inc(x_33); @@ -44225,7 +44225,7 @@ x_37 = l_Lean_Parser_Term_doSeqIndent___closed__5; x_38 = 1; lean_inc(x_1); x_39 = l_Lean_Parser_orelseFnCore(x_36, x_37, x_38, x_1, x_28); -x_40 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2; +x_40 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2; x_41 = l_Lean_Parser_ParserState_mkNode(x_39, x_40, x_14); x_42 = lean_ctor_get(x_41, 4); lean_inc(x_42); @@ -44282,7 +44282,7 @@ static lean_object* _init_l_Lean_Parser_Command_builtin__initialize___closed__3( _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2; x_2 = l_Lean_Parser_Command_builtin__initialize___closed__2; x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); return x_3; @@ -44353,7 +44353,7 @@ _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_4146____closed__4; -x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2; +x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2; x_4 = 1; x_5 = l_Lean_Parser_Command_builtin__initialize; x_6 = lean_unsigned_to_nat(1000u); @@ -44365,7 +44365,7 @@ static lean_object* _init_l_Lean_Parser_Command_builtin__initialize_formatter___ _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__1; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__1; x_2 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__1; x_3 = 1; x_4 = lean_box(x_3); @@ -44402,7 +44402,7 @@ static lean_object* _init_l_Lean_Parser_Command_builtin__initialize_formatter___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2; x_2 = lean_unsigned_to_nat(1024u); x_3 = l_Lean_Parser_Command_builtin__initialize_formatter___closed__3; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); @@ -44435,7 +44435,7 @@ _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_2 = l_Lean_PrettyPrinter_formatterAttribute; -x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2; +x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2; x_4 = l___regBuiltin_Lean_Parser_Command_builtin__initialize_formatter___closed__1; x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; @@ -44445,7 +44445,7 @@ static lean_object* _init_l_Lean_Parser_Command_builtin__initialize_parenthesize _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__1; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__1; x_2 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__1; x_3 = 1; x_4 = lean_box(x_3); @@ -44482,7 +44482,7 @@ static lean_object* _init_l_Lean_Parser_Command_builtin__initialize_parenthesize _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2; x_2 = lean_unsigned_to_nat(1024u); x_3 = l_Lean_Parser_Command_builtin__initialize_parenthesizer___closed__3; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3); @@ -44515,7 +44515,7 @@ _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_2 = l_Lean_PrettyPrinter_parenthesizerAttribute; -x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__2; +x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__2; x_4 = l___regBuiltin_Lean_Parser_Command_builtin__initialize_parenthesizer___closed__1; x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; diff --git a/stage0/stdlib/Lean/Parser/Do.c b/stage0/stdlib/Lean/Parser/Do.c index 17f7c82b89..ac48c5139e 100644 --- a/stage0/stdlib/Lean/Parser/Do.c +++ b/stage0/stdlib/Lean/Parser/Do.c @@ -213,6 +213,7 @@ lean_object* l_Lean_Parser_Term_doAssert; lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__34; lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__17; lean_object* l___regBuiltinParser_Lean_Parser_Term_doTry(lean_object*); +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; lean_object* l_Lean_Parser_Term_doTry___elambda__1___closed__17; lean_object* l_Lean_Parser_Term_doDbgTrace___closed__4; extern lean_object* l_Lean_Parser_minPrec; @@ -397,7 +398,6 @@ lean_object* l_Lean_Parser_Term_doIfLetBind___elambda__1___closed__4; lean_object* l_Lean_Parser_Term_doCatchMatch___closed__3; lean_object* l_Lean_Parser_Term_doIfCond___closed__3; lean_object* l_Lean_Parser_Term_doAssert___closed__1; -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; lean_object* l_Lean_Parser_unicodeSymbol_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_doMatch_formatter___closed__2; lean_object* l_Lean_Parser_Term_liftMethod___elambda__1___closed__5; @@ -495,6 +495,7 @@ lean_object* l_Lean_Parser_Term_doCatch___elambda__1___closed__5; lean_object* l_Lean_Parser_Term_doUnless___elambda__1___closed__7; lean_object* l_Lean_Parser_optional_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_doTry___elambda__1___closed__3; +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__12; lean_object* l_Lean_Parser_Term_doIfLetBind___elambda__1___closed__8; lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__37; lean_object* l_Lean_Parser_Term_doTry_formatter___closed__11; @@ -653,7 +654,6 @@ lean_object* l_Lean_Parser_Term_doDbgTrace_parenthesizer___closed__2; lean_object* l_Lean_Parser_Term_doUnless_parenthesizer___closed__7; lean_object* l_Lean_Parser_Term_doContinue___closed__3; lean_object* l___regBuiltin_Lean_Parser_Term_doHave_parenthesizer___closed__1; -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__12; lean_object* l_Lean_Parser_Term_doElem_quot_parenthesizer___closed__3; extern lean_object* l_Lean_Parser_Term_optType; lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4_(lean_object*); @@ -713,7 +713,6 @@ lean_object* l_Lean_Parser_Term_doIf_formatter___closed__9; lean_object* l_Lean_Parser_Term_doHave_formatter___closed__2; lean_object* l_Lean_Parser_Term_doBreak_formatter___closed__3; lean_object* l_Lean_Parser_Term_doSeqIndent_formatter___closed__1; -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__8; lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__51; lean_object* l_Lean_Parser_Term_doLetArrow_parenthesizer___closed__2; lean_object* l_Lean_Parser_Term_doLet___elambda__1___closed__10; @@ -1094,6 +1093,7 @@ lean_object* l_Lean_Parser_Term_doLet___closed__5; lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_liftMethod___elambda__1___closed__9; lean_object* l_Lean_Parser_Term_doBreak___closed__4; +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__10; lean_object* l_Lean_Parser_Term_termUnless___closed__2; extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_23499____closed__1; lean_object* l_Lean_Parser_Term_doDbgTrace___closed__7; @@ -1143,7 +1143,6 @@ lean_object* l_Lean_Parser_Term_doFinally___elambda__1___closed__2; lean_object* l_Lean_Parser_Term_doContinue___elambda__1___closed__10; extern lean_object* l_Lean_PrettyPrinter_Formatter_initFn____x40_Lean_PrettyPrinter_Formatter___hyg_3030____closed__11; lean_object* l_Lean_Parser_Term_doFor_parenthesizer___closed__2; -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__2; lean_object* l_Lean_Parser_Term_doTry___closed__7; lean_object* l_Lean_Parser_Term_liftMethod___elambda__1___closed__8; @@ -1229,7 +1228,6 @@ lean_object* l_Lean_Parser_Term_leftArrow; lean_object* l_Lean_Parser_Term_doTry_parenthesizer___closed__8; lean_object* l_Lean_Parser_Term_doAssert___closed__5; extern lean_object* l_Lean_Parser_Term_have___elambda__1___closed__3; -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; lean_object* l_Lean_Parser_Term_doReassignArrow___closed__1; lean_object* l___regBuiltin_Lean_Parser_Term_doReassign_parenthesizer(lean_object*); uint8_t l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_671____at_Lean_Parser_ParserState_hasError___spec__1(lean_object*, lean_object*); @@ -1456,7 +1454,6 @@ lean_object* l_Lean_Parser_Term_doUnless___elambda__1___closed__10; lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__35; lean_object* l_Lean_Parser_Term_doBreak_formatter___closed__1; lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__11; -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__10; lean_object* l_Lean_Parser_Term_doLet___closed__8; lean_object* l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__5; extern lean_object* l_Lean_Parser_Term_letPatDecl_formatter___closed__2; @@ -1608,6 +1605,7 @@ lean_object* l_Lean_Parser_Term_doLet___elambda__1___closed__2; extern lean_object* l_Lean_Parser_Term_type___elambda__1___closed__6; lean_object* l_Lean_Parser_mkAntiquot(lean_object*, lean_object*, uint8_t); lean_object* l_Lean_Parser_Term_doNested___closed__3; +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; lean_object* l_Lean_Parser_Term_doUnless___elambda__1___closed__21; lean_object* l___regBuiltin_Lean_Parser_Term_doExpr_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_doForDecl_parenthesizer___closed__3; @@ -1718,6 +1716,7 @@ lean_object* l_Lean_Parser_Term_doLetArrow_formatter___closed__1; lean_object* l_Lean_Parser_Term_doContinue___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_termTry_formatter___closed__2; lean_object* l_Lean_Parser_Term_doIdDecl___elambda__1___closed__11; +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__8; lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__23; lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__6; lean_object* l_Lean_Parser_Term_matchAlts_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1910,6 +1909,7 @@ lean_object* l_Lean_Parser_Term_doIf_formatter___closed__5; lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__34; lean_object* l_Lean_Parser_Term_doCatch___closed__11; lean_object* l_Lean_Parser_Term_liftMethod_formatter___closed__1; +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__41; lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Do___hyg_193____closed__11; lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -2664,7 +2664,7 @@ static lean_object* _init_l_Lean_Parser_Term_doSeqItem___elambda__1___closed__1( _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; @@ -2674,7 +2674,7 @@ static lean_object* _init_l_Lean_Parser_Term_doSeqItem___elambda__1___closed__2( _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__10; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__10; x_2 = l_Lean_Parser_Term_doSeqItem___elambda__1___closed__1; x_3 = 1; x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3); @@ -2782,7 +2782,7 @@ static lean_object* _init_l_Lean_Parser_Term_doSeqItem___elambda__1___closed__12 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_2 = l_Lean_Parser_Term_doSeqItem___elambda__1___closed__11; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -2863,7 +2863,7 @@ if (x_19 == 0) { lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; lean_dec(x_4); -x_20 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_20 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_21 = l_Lean_Parser_ParserState_mkNode(x_17, x_20, x_14); x_22 = lean_ctor_get(x_21, 4); lean_inc(x_22); @@ -2887,7 +2887,7 @@ else lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; lean_inc(x_1); x_25 = lean_apply_2(x_4, x_1, x_17); -x_26 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_26 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_14); x_28 = lean_ctor_get(x_27, 4); lean_inc(x_28); @@ -2957,7 +2957,7 @@ static lean_object* _init_l_Lean_Parser_Term_doSeqItem___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_2 = l_Lean_Parser_Term_doSeqItem___closed__3; x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); return x_3; @@ -3027,7 +3027,7 @@ static lean_object* _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__ _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; @@ -3037,7 +3037,7 @@ static lean_object* _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__ _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__8; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__8; x_2 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__1; x_3 = 1; x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3); @@ -3103,7 +3103,7 @@ static lean_object* _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_2 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__7; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -3206,7 +3206,7 @@ lean_ctor_set(x_26, 5, x_25); lean_ctor_set(x_26, 6, x_21); lean_ctor_set_uint8(x_26, sizeof(void*)*7, x_20); x_27 = lean_apply_2(x_15, x_26, x_7); -x_28 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_28 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_12); x_30 = lean_ctor_get(x_29, 4); lean_inc(x_30); @@ -3256,7 +3256,7 @@ lean_ctor_set(x_40, 5, x_39); lean_ctor_set(x_40, 6, x_21); lean_ctor_set_uint8(x_40, sizeof(void*)*7, x_20); x_41 = lean_apply_2(x_15, x_40, x_7); -x_42 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_42 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_43 = l_Lean_Parser_ParserState_mkNode(x_41, x_42, x_12); x_44 = lean_ctor_get(x_43, 4); lean_inc(x_44); @@ -3331,7 +3331,7 @@ lean_ctor_set(x_59, 5, x_58); lean_ctor_set(x_59, 6, x_21); lean_ctor_set_uint8(x_59, sizeof(void*)*7, x_20); x_60 = lean_apply_2(x_15, x_59, x_7); -x_61 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_61 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_62 = l_Lean_Parser_ParserState_mkNode(x_60, x_61, x_12); x_63 = lean_ctor_get(x_62, 4); lean_inc(x_63); @@ -3369,7 +3369,7 @@ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__6; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_4 = l_Lean_Parser_nodeInfo(x_3, x_2); return x_4; } @@ -4356,7 +4356,7 @@ static lean_object* _init_l_Lean_Parser_Term_doSeqItem_formatter___closed__1() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__10; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__10; x_2 = l_Lean_Parser_Term_doSeqItem___elambda__1___closed__1; x_3 = 1; x_4 = lean_box(x_3); @@ -4423,7 +4423,7 @@ static lean_object* _init_l_Lean_Parser_Term_doSeqItem_formatter___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_2 = lean_unsigned_to_nat(1024u); x_3 = l_Lean_Parser_Term_doSeqItem_formatter___closed__6; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); @@ -4538,7 +4538,7 @@ static lean_object* _init_l_Lean_Parser_Term_doSeqIndent_formatter___closed__1() _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__8; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__8; x_2 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__1; x_3 = 1; x_4 = lean_box(x_3); @@ -4563,7 +4563,7 @@ static lean_object* _init_l_Lean_Parser_Term_doSeqIndent_formatter___closed__3() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_2 = lean_unsigned_to_nat(1024u); x_3 = l_Lean_Parser_Term_doSeqIndent_formatter___closed__2; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); @@ -4622,7 +4622,7 @@ static lean_object* _init_l_Lean_Parser_Term_doSeqItem_parenthesizer___closed__1 _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__10; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__10; x_2 = l_Lean_Parser_Term_doSeqItem___elambda__1___closed__1; x_3 = 1; x_4 = lean_box(x_3); @@ -4691,7 +4691,7 @@ static lean_object* _init_l_Lean_Parser_Term_doSeqItem_parenthesizer___closed__7 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_2 = lean_unsigned_to_nat(1024u); x_3 = l_Lean_Parser_Term_doSeqItem_parenthesizer___closed__6; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3); @@ -4806,7 +4806,7 @@ static lean_object* _init_l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed_ _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__8; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__8; x_2 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__1; x_3 = 1; x_4 = lean_box(x_3); @@ -4831,7 +4831,7 @@ static lean_object* _init_l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_2 = lean_unsigned_to_nat(1024u); x_3 = l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__2; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3); @@ -26041,7 +26041,7 @@ static lean_object* _init_l_Lean_Parser_Term_doExpr___elambda__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; @@ -26051,7 +26051,7 @@ static lean_object* _init_l_Lean_Parser_Term_doExpr___elambda__1___closed__2() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__12; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__12; x_2 = l_Lean_Parser_Term_doExpr___elambda__1___closed__1; x_3 = 1; x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3); @@ -26188,7 +26188,7 @@ static lean_object* _init_l_Lean_Parser_Term_doExpr___elambda__1___closed__15() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_2 = l_Lean_Parser_Term_doExpr___elambda__1___closed__14; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -26262,7 +26262,7 @@ lean_dec(x_14); if (x_15 == 0) { lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; -x_16 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_16 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_17 = l_Lean_Parser_ParserState_mkNode(x_13, x_16, x_12); x_18 = lean_ctor_get(x_17, 4); lean_inc(x_18); @@ -26295,7 +26295,7 @@ lean_dec(x_24); if (x_25 == 0) { lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; -x_26 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_26 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_27 = l_Lean_Parser_ParserState_mkNode(x_23, x_26, x_12); x_28 = lean_ctor_get(x_27, 4); lean_inc(x_28); @@ -26321,7 +26321,7 @@ x_31 = l_Lean_Parser_Term_doExpr___elambda__1___closed__10; x_32 = l_Lean_Parser_Term_doExpr___elambda__1___closed__11; lean_inc(x_1); x_33 = l_Lean_Parser_notFollowedByFn(x_31, x_32, x_1, x_23); -x_34 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_34 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_12); x_36 = lean_ctor_get(x_35, 4); lean_inc(x_36); @@ -26381,7 +26381,7 @@ static lean_object* _init_l_Lean_Parser_Term_doExpr___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_2 = l_Lean_Parser_Term_doExpr___closed__2; x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); return x_3; @@ -26452,7 +26452,7 @@ _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4; -x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_4 = 1; x_5 = l_Lean_Parser_Term_doExpr; x_6 = lean_unsigned_to_nat(1000u); @@ -26464,7 +26464,7 @@ static lean_object* _init_l_Lean_Parser_Term_doExpr_formatter___closed__1() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__12; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__12; x_2 = l_Lean_Parser_Term_doExpr___elambda__1___closed__1; x_3 = 1; x_4 = lean_box(x_3); @@ -26557,7 +26557,7 @@ static lean_object* _init_l_Lean_Parser_Term_doExpr_formatter___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_2 = lean_unsigned_to_nat(1024u); x_3 = l_Lean_Parser_Term_doExpr_formatter___closed__8; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); @@ -26590,7 +26590,7 @@ _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_2 = l_Lean_PrettyPrinter_formatterAttribute; -x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_4 = l___regBuiltin_Lean_Parser_Term_doExpr_formatter___closed__1; x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; @@ -26600,7 +26600,7 @@ static lean_object* _init_l_Lean_Parser_Term_doExpr_parenthesizer___closed__1() _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__12; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__12; x_2 = l_Lean_Parser_Term_doExpr___elambda__1___closed__1; x_3 = 1; x_4 = lean_box(x_3); @@ -26693,7 +26693,7 @@ static lean_object* _init_l_Lean_Parser_Term_doExpr_parenthesizer___closed__9() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_1 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_2 = lean_unsigned_to_nat(1024u); x_3 = l_Lean_Parser_Term_doExpr_parenthesizer___closed__8; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3); @@ -26726,7 +26726,7 @@ _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_2 = l_Lean_PrettyPrinter_parenthesizerAttribute; -x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_3 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_4 = l___regBuiltin_Lean_Parser_Term_doExpr_parenthesizer___closed__1; x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; diff --git a/stage0/stdlib/Lean/Parser/Extra.c b/stage0/stdlib/Lean/Parser/Extra.c index 9708d6bac6..de77782545 100644 --- a/stage0/stdlib/Lean/Parser/Extra.c +++ b/stage0/stdlib/Lean/Parser/Extra.c @@ -82,6 +82,7 @@ lean_object* l_Lean_Parser_group_formatter(lean_object*, lean_object*, lean_obje extern lean_object* l_Lean_identKind___closed__2; lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extra___hyg_634____closed__5; lean_object* l_Lean_PrettyPrinter_Formatter_manyNoAntiquot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; lean_object* l_Lean_Parser_nameLit_formatter___closed__3; lean_object* l_Lean_Parser_termRegister__parser__alias_________closed__8; extern lean_object* l_term___u2218_____closed__6; @@ -127,7 +128,6 @@ lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__9; lean_object* l_Lean_Parser_strLit_formatter___closed__2; lean_object* l_Lean_Parser_termRegister__parser__alias_________closed__2; lean_object* l_Lean_Parser_charLit___elambda__1___closed__1; -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; lean_object* l_Lean_Parser_unicodeSymbol_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_numLit___closed__3; lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__1; @@ -355,7 +355,6 @@ lean_object* l_Lean_ppHardSpace_formatter___boxed(lean_object*, lean_object*, le lean_object* l_Lean_Parser_many1_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_nameLit___elambda__1___closed__1; extern lean_object* l_Lean_PrettyPrinter_Formatter_initFn____x40_Lean_PrettyPrinter_Formatter___hyg_3030____closed__11; -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; lean_object* l_Lean_Parser_notSymbol(lean_object*); lean_object* l_Lean_Parser_sepByElemParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_nullKind___closed__2; @@ -382,7 +381,6 @@ lean_object* l_Lean_Parser_myMacro____x40_Lean_Parser_Extra___hyg_276_(lean_obje lean_object* l_Lean_Parser_numLit; lean_object* l_Lean_Parser_many___closed__4; lean_object* l_Lean_Parser_charLit_formatter___closed__1; -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; uint8_t l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_671____at_Lean_Parser_ParserState_hasError___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extra___hyg_634____closed__39; lean_object* l_Lean_Parser_numLit___elambda__1(lean_object*, lean_object*); @@ -490,6 +488,7 @@ extern lean_object* l_rawNatLit___closed__6; lean_object* l_Lean_Parser_withAntiquotSpliceAndSuffix_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_2278____closed__4; lean_object* l_Lean_Parser_mkAntiquot(lean_object*, lean_object*, uint8_t); +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; lean_object* l_Lean_PrettyPrinter_Parenthesizer_withPosition_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_myMacro____x40_Lean_Parser_Extra___hyg_276____closed__4; lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extra___hyg_634____closed__8; @@ -571,6 +570,7 @@ lean_object* l_Lean_ppDedent_formatter(lean_object*, lean_object*, lean_object*, extern lean_object* l_Lean_nameLitKind___closed__1; lean_object* l_Lean_Parser_manyIndent_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_myMacro____x40_Lean_Parser_Extra___hyg_276____closed__13; +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_initFn____x40_Lean_Parser_Extra___hyg_938_(lean_object*); lean_object* l_Lean_initFn____x40_Lean_Parser_Extra___hyg_1075_(lean_object*); @@ -4202,14 +4202,14 @@ x_33 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_33, 0, x_32); lean_ctor_set(x_33, 1, x_31); x_34 = lean_array_push(x_19, x_33); -x_35 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_35 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_36 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_36, 0, x_35); lean_ctor_set(x_36, 1, x_34); x_37 = lean_array_push(x_19, x_36); x_38 = l_myMacro____x40_Init_Notation___hyg_1481____closed__8; x_39 = lean_array_push(x_37, x_38); -x_40 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_40 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_41 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_41, 0, x_40); lean_ctor_set(x_41, 1, x_39); @@ -4287,7 +4287,7 @@ x_82 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_82, 0, x_29); lean_ctor_set(x_82, 1, x_81); x_83 = lean_array_push(x_19, x_82); -x_84 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_84 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_85 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_85, 0, x_84); lean_ctor_set(x_85, 1, x_83); @@ -4346,14 +4346,14 @@ x_109 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_109, 0, x_108); lean_ctor_set(x_109, 1, x_107); x_110 = lean_array_push(x_95, x_109); -x_111 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_111 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_112 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_112, 0, x_111); lean_ctor_set(x_112, 1, x_110); x_113 = lean_array_push(x_95, x_112); x_114 = l_myMacro____x40_Init_Notation___hyg_1481____closed__8; x_115 = lean_array_push(x_113, x_114); -x_116 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_116 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_117 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_117, 0, x_116); lean_ctor_set(x_117, 1, x_115); @@ -4431,7 +4431,7 @@ x_158 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_158, 0, x_105); lean_ctor_set(x_158, 1, x_157); x_159 = lean_array_push(x_95, x_158); -x_160 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; +x_160 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; x_161 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_161, 0, x_160); lean_ctor_set(x_161, 1, x_159); diff --git a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c index bb5a677408..de257b1d80 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c @@ -16,6 +16,7 @@ extern "C" { lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_210____closed__4; extern lean_object* l_Lean_Expr_ctorName___closed__7; lean_object* l_Lean_PrettyPrinter_Delaborator_mkAppUnexpanderAttribute___closed__5; +extern lean_object* l_myMacro____x40_Init_Notation___hyg_15342____closed__13; lean_object* l_Lean_PrettyPrinter_Delaborator_delab___closed__1; uint8_t lean_local_ctx_uses_user_name(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_withBindingDomain(lean_object*); @@ -24,13 +25,14 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_delabFailureId; lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*); lean_object* lean_erase_macro_scopes(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabFor_match__1(lean_object*); +lean_object* l_Lean_Option_get_x3f___at_Lean_PrettyPrinter_delab___spec__1(lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); lean_object* lean_local_ctx_get_unused_name(lean_object*, lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_4____closed__4; extern lean_object* l_myMacro____x40_Init_Notation___hyg_2278____closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_withAppFn___rarg___closed__2; -lean_object* l_Lean_PrettyPrinter_delab___closed__4; +lean_object* l_List_forIn_loop___at_Lean_PrettyPrinter_Delaborator_getPPOption___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_instAlternativeDelabM___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_userName(lean_object*); uint8_t l_Lean_PrettyPrinter_Delaborator_getUnusedName_bodyUsesSuggestion___lambda__1(lean_object*, lean_object*, lean_object*); @@ -48,6 +50,7 @@ lean_object* l_Std_PersistentHashMap_findAux___at_Lean_PrettyPrinter_Delaborator uint8_t l_Lean_getPPCoercions(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind_match__3___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* l_Lean_SourceInfo_fromRef(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_withMDataExpr_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_instMonadQuotationDelabM___closed__5; lean_object* l_Lean_Syntax_isAtom___boxed(lean_object*); @@ -59,14 +62,19 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_orElse___rarg(lean_object*, lean_o lean_object* l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute___closed__5; uint8_t l_Lean_getPPExplicit(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_withBindingBody___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_myMacro____x40_Init_Notation___hyg_16268____closed__8; +lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__4; lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getPPNotation___boxed(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_mkAppUnexpanderAttribute___closed__7; +extern lean_object* l_Array_empty___closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_descend(lean_object*); extern lean_object* l_Lean_Expr_ctorName___closed__1; +lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute___closed__3; lean_object* l_Lean_PrettyPrinter_Delaborator_delabFor(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_object* l_Lean_PrettyPrinter_Delaborator_getPPOption_match__2(lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); lean_object* l_Lean_Meta_withLocalDecl___at_Lean_PrettyPrinter_Delaborator_withBindingBody___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_Std_PersistentHashMap_findAux___at_Lean_PrettyPrinter_Delaborator_delabFor___spec__4(lean_object*, size_t, lean_object*); @@ -75,9 +83,12 @@ extern lean_object* l_Lean_Expr_ctorName___closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_withMDataExpr___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Expr_ctorName___closed__8; lean_object* l_ReaderT_pure___at_Lean_PrettyPrinter_Delaborator_instMonadQuotationDelabM___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_482_(lean_object*); +lean_object* l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_556_(lean_object*); +lean_object* l_Lean_PrettyPrinter_Delaborator_delab___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_delab___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_expr_instantiate1(lean_object*, lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_271____closed__1; +lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_181____closed__4; lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_271____closed__2; @@ -95,8 +106,10 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute___lambda__1___box lean_object* l_Lean_getPPFullNames___boxed(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_annotateCurPos___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_181____closed__1; +lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__3; lean_object* l_Lean_PrettyPrinter_Delaborator_withProj_match__1(lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_210____closed__2; +lean_object* l_Lean_pp_proofs; extern lean_object* l_Lean_Elab_Term_instMonadQuotationTermElabM___closed__4; lean_object* l_Lean_PrettyPrinter_Delaborator_getUnusedName_bodyUsesSuggestion___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_123____closed__2; @@ -107,9 +120,11 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind_match__1(lean_object*) extern lean_object* l_Lean_instInhabitedException___closed__1; uint8_t l_Lean_getPPBinderTypes(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_withAppFn_match__1(lean_object*); +lean_object* l_Lean_PrettyPrinter_Delaborator_delab___lambda__1___closed__2; extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Subarray___hyg_947____closed__4; lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__11; lean_object* l_Lean_PrettyPrinter_Delaborator_withProj___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_forIn_loop___at_Lean_PrettyPrinter_Delaborator_getPPOption___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_mkAppUnexpanderAttribute(lean_object*); uint8_t l_Lean_getPPFullNames(lean_object*); lean_object* l_Lean_pp_safe__shadowing; @@ -129,12 +144,16 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_withBindingDomain___rarg(lean_obje lean_object* l_Lean_pp_all; uint8_t lean_nat_dec_eq(lean_object*, lean_object*); extern lean_object* l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__2___closed__4; +uint8_t l_Lean_getPPProofsWithType(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_annotateCurPos(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_Context_pos___default; lean_object* l_Lean_PrettyPrinter_Delaborator_annotatePos_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_210____closed__6; +lean_object* l_Lean_PrettyPrinter_Delaborator_delab___lambda__1___closed__1; +lean_object* l_Lean_PrettyPrinter_Delaborator_delab_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute___lambda__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_instMonadQuotationDelabM___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Delaborator_delab___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_123____closed__1; extern lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solveSelfMax___closed__1; lean_object* l_Lean_getPPUnicode___boxed(lean_object*); @@ -147,7 +166,9 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_withAppFn___rarg(lean_object*, lea lean_object* l_Lean_PrettyPrinter_Delaborator_instMonadQuotationDelabM___closed__3; extern lean_object* l_myMacro____x40_Init_Notation___hyg_2278____closed__3; lean_object* l_Std_AssocList_find_x3f___at_Lean_PrettyPrinter_Delaborator_delabFor___spec__7___boxed(lean_object*, lean_object*); +lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_whenPPOption(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_pp_proofs_withType; lean_object* l_Lean_PrettyPrinter_Delaborator_annotatePos_match__1(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__7; lean_object* l_List_firstM___at_Lean_PrettyPrinter_Delaborator_delabFor___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -160,29 +181,37 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_delabFor_match__2(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_instOrElseDelabM(lean_object*); lean_object* l_Lean_SMap_find_x3f___at_Lean_PrettyPrinter_Delaborator_delabFor___spec__2(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_instAlternativeDelabM___closed__1; +lean_object* l_Lean_PrettyPrinter_Delaborator_delab___closed__3; lean_object* l_Lean_PrettyPrinter_Delaborator_getUnusedName___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_getUnusedName___closed__1; +lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__1; size_t l_Lean_Name_hash(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabAttribute; lean_object* l_Lean_PrettyPrinter_Delaborator_liftMetaM___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__2; uint8_t l_Lean_PrettyPrinter_Delaborator_getUnusedName_bodyUsesSuggestion(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute(lean_object*); extern lean_object* l_Lean_Elab_autoBoundImplicitLocal___closed__1; +lean_object* l_Lean_getPPProofs___boxed(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delab___closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_instOrElseDelabM___closed__1; +extern lean_object* l_myMacro____x40_Init_Notation___hyg_15342____closed__14; lean_object* l_Lean_PrettyPrinter_Delaborator_instAlternativeDelabM___closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_delabFor_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_getPPProofsWithType___boxed(lean_object*); uint8_t l_Lean_getPPStructureInstanceType(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_withBindingBodyUnusedName(lean_object*); extern lean_object* l_Lean_Expr_ctorName___closed__3; lean_object* l_Lean_PrettyPrinter_Delaborator_annotatePos_match__1___rarg(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_getPPUnicode(lean_object*); +lean_object* l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_556____closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute___closed__4; lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__4; lean_object* l_Lean_PrettyPrinter_Delaborator_withAppArg___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__3; lean_object* l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute___closed__9; lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_36____closed__2; +lean_object* l_Lean_Option_get_x3f___at_Lean_PrettyPrinter_delab___spec__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind_match__2(lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_152____closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_withMDataExpr___rarg___closed__2; @@ -191,6 +220,7 @@ lean_object* l_Lean_pp_private__names; lean_object* l_Lean_PrettyPrinter_Delaborator_orElse(lean_object*); uint8_t l_Lean_getPPPrivateNames(lean_object*); size_t lean_usize_modn(size_t, lean_object*); +lean_object* l_Lean_PrettyPrinter_Delaborator_getPPOption_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_pp_structure__instance__type; lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_329____closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute___closed__8; @@ -211,29 +241,37 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_getUnusedName_bodyUsesSuggestion_m lean_object* l_Lean_PrettyPrinter_Delaborator_annotatePos(lean_object*, lean_object*); lean_object* l_Lean_pp_full__names; lean_object* l_Std_AssocList_find_x3f___at_Lean_PrettyPrinter_Delaborator_delabFor___spec__7(lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Delaborator_getPPOption_match__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_withAppFn(lean_object*); extern lean_object* l_Lean_KernelException_toMessageData___closed__3; lean_object* l_Lean_PrettyPrinter_Delaborator_withProj(lean_object*); -lean_object* l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_482____closed__1; +lean_object* l_Lean_PrettyPrinter_Delaborator_delab_match__1(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_whenNotPPOption(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_withBindingBody___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_pp_explicit; +lean_object* l_Lean_PrettyPrinter_delab___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*); extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_instMonadQuotationParenthesizerM___closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_withBindingBodyUnusedName___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Expr_setPPExplicit___closed__1; +lean_object* l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_556____closed__1; lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_expandCoe___spec__7___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t l_USize_land(size_t, size_t); +lean_object* l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_671____at_Lean_PrettyPrinter_delab___spec__2___boxed(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_failure___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_synthInstance_x3f___lambda__2___closed__4; lean_object* l_Lean_getPPCoercions___boxed(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_withAppFn___rarg___closed__4; +lean_object* l_Lean_PrettyPrinter_delab___lambda__1___closed__2; lean_object* l_Lean_registerInternalExceptionId(lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Delaborator_getPPOption___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_nullKind___closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_mkAppUnexpanderAttribute___closed__4; lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_152____closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute___closed__11; lean_object* l_Lean_PrettyPrinter_delab(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Expr_ctorName___closed__9; uint8_t l_Lean_getPPNotation(lean_object*); +lean_object* l_Lean_PrettyPrinter_delab___lambda__1___closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind_match__3(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delab(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_findAtAux___at_Lean_PrettyPrinter_Delaborator_delabFor___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -243,6 +281,7 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_instMonadQuotationDelabM; lean_object* l_Lean_PrettyPrinter_Delaborator_withAppFnArgs_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getPPStructureInstanceType___boxed(lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_300____closed__2; +lean_object* l_Lean_Option_set___at_Lean_Meta_withPPInaccessibleNames___spec__2(lean_object*, lean_object*, uint8_t); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_242____closed__3; lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_329____closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_getUnusedName_bodyUsesSuggestion_match__1___rarg(lean_object*, lean_object*, lean_object*); @@ -261,17 +300,21 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_withAppArg(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_instInhabitedDelabM___closed__1; uint8_t l_Lean_PrettyPrinter_Delaborator_Context_inPattern___default; lean_object* l_Lean_PrettyPrinter_Delaborator_withAppFnArgs___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_671____at_Lean_PrettyPrinter_delab___spec__2(lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArgs(lean_object*); lean_object* l_Lean_Name_append(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_withProj_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_ReaderT_pure___at_Lean_PrettyPrinter_Delaborator_instMonadQuotationDelabM___spec__1(lean_object*); extern lean_object* l_Lean_getSanitizeNames___closed__2; uint8_t l_Lean_Name_isAnonymous(lean_object*); +lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__3; lean_object* lean_panic_fn(lean_object*, lean_object*); +lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_PrettyPrinter_format___closed__3; extern lean_object* l_Lean_getSanitizeNames___closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_withBindingBody___rarg___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_PrettyPrinter_Delaborator_annotatePos_match__2(lean_object*); +lean_object* l_Lean_KVMap_insertCore(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getPPAll___boxed(lean_object*); lean_object* l_Lean_getPPSafeShadowing___boxed(lean_object*); lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_postponeIsLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -279,7 +322,9 @@ lean_object* l_Lean_getPPStructureInstances___boxed(lean_object*); lean_object* l_Lean_getPPUniverses___boxed(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute___closed__12; lean_object* l_Lean_PrettyPrinter_Delaborator_instAlternativeDelabM; +uint8_t l_Lean_getPPProofs(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind_match__1___rarg(lean_object*, lean_object*, lean_object*); +extern lean_object* l_myMacro____x40_Init_Notation___hyg_16268____closed__9; lean_object* lean_nat_mul(lean_object*, lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_242____closed__4; lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__5; @@ -287,7 +332,6 @@ lean_object* l_Lean_getPPExplicit___boxed(lean_object*); lean_object* l_Lean_pp_structure__instances; lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_65____closed__2; extern lean_object* l_Std_Format_getUnicode___closed__1; -lean_object* l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_482____closed__2; lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_PrettyPrinter_Delaborator_delabFor___spec__3___boxed(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_Syntax_setInfo(lean_object*, lean_object*); @@ -295,14 +339,17 @@ lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_65_ lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_94_(lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_4_(lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_36_(lean_object*); +lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387_(lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_123_(lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_181_(lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_210_(lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_152_(lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_300_(lean_object*); +lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358_(lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_329_(lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_242_(lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_271_(lean_object*); +lean_object* l_Lean_Meta_inferType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_KVMap_findCore(lean_object*, lean_object*); extern lean_object* l_Lean_ScopedEnvExtension_getState___rarg___closed__3; lean_object* l_Lean_PrettyPrinter_Delaborator_appUnexpanderAttribute; @@ -310,6 +357,7 @@ lean_object* l_Lean_ScopedEnvExtension_getState___at_Lean_PrettyPrinter_Delabora lean_object* l_Lean_PrettyPrinter_Delaborator_withAppFnArgs(lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_181____closed__3; lean_object* l_Lean_PrettyPrinter_Delaborator_instInhabitedDelabM(lean_object*); +lean_object* l_Lean_PrettyPrinter_Delaborator_delab___closed__4; lean_object* l_Std_HashMapImp_find_x3f___at_Lean_PrettyPrinter_Delaborator_delabFor___spec__6___boxed(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_242____closed__2; @@ -317,27 +365,31 @@ extern size_t l_Std_PersistentHashMap_insertAux___rarg___closed__2; lean_object* l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_4____spec__1(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_binderInfo(lean_object*); lean_object* l_Lean_PersistentEnvExtension_getState___rarg(lean_object*, lean_object*); +uint8_t l_Lean_Expr_isAtomic(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_getUnusedName___closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_instInhabitedDelabM___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_mkAppUnexpanderAttribute___closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute___closed__10; extern lean_object* l_Lean_Expr_ctorName___closed__6; +extern lean_object* l_prec_x28___x29___closed__7; lean_object* l_Lean_PrettyPrinter_Delaborator_withAppFn_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_FindImpl_findM_x3f_visit(lean_object*, size_t, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_2152_(lean_object*); +lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_2893_(lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_300____closed__4; +extern lean_object* l_prec_x28___x29___closed__3; lean_object* lean_mk_syntax_ident(lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_242____closed__1; extern lean_object* l_Lean_Elab_Term_instMonadQuotationTermElabM___closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_mkAppUnexpanderAttribute___closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_withBindingBody(lean_object*); -lean_object* l_Lean_PrettyPrinter_delab___closed__3; lean_object* l_Lean_Expr_getAppFn(lean_object*); +lean_object* l_Lean_PrettyPrinter_Delaborator_getPPOption___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_PrettyPrinter_Delaborator_withAppArg___rarg___closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_liftMetaM(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__9; lean_object* l_Array_findIdx_x3f_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_withAppFnArgs_match__1(lean_object*, lean_object*); +lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__2; lean_object* l_ReaderT_pure___at_Lean_PrettyPrinter_Delaborator_instMonadQuotationDelabM___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_pp_universes; lean_object* l_Lean_pp_binder__types; @@ -345,6 +397,7 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_withAppArg___rarg___closed__2; lean_object* lean_local_ctx_find(lean_object*, lean_object*); lean_object* l_Lean_KeyedDeclsAttribute_init___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_withProj___rarg___closed__1; +lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_getExpr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_usize_to_nat(size_t); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_36____closed__1; @@ -355,10 +408,12 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_instAlternativeDelabM___lambda__1_ lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_123____closed__3; uint8_t l_Lean_getPPAll(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_instAlternativeDelabM___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_isProp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_withMDataExpr_match__1(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabFor_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_bindingBody_x21(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_mkAppUnexpanderAttribute___closed__6; +extern lean_object* l_myMacro____x40_Init_Notation___hyg_14734____closed__8; lean_object* l_Lean_Meta_withLocalDecl___at_Lean_PrettyPrinter_Delaborator_withBindingBody___spec__1(lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_65____closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_getExpr___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -378,13 +433,16 @@ lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_329 lean_object* l_Std_RBNode_find___at_Lean_PrettyPrinter_Delaborator_getPPOption___spec__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_300____closed__3; lean_object* l_Lean_PrettyPrinter_Delaborator_getUnusedName_bodyUsesSuggestion___lambda__1___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__1; lean_object* l_Std_PersistentHashMap_findAtAux___at_Lean_PrettyPrinter_Delaborator_delabFor___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Delaborator_getPPOption_match__1(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_liftMetaM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_mkAppUnexpanderAttribute___closed__3; lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_329____closed__4; lean_object* l_Lean_PrettyPrinter_Delaborator_descend___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instMonadRef___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_withProj___rarg___closed__2; +lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__4; uint8_t lean_string_dec_eq(lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_delab___closed__1; @@ -976,6 +1034,108 @@ x_4 = l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___ return x_4; } } +static lean_object* _init_l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("proofs"); +return x_1; +} +} +static lean_object* _init_l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_getSanitizeNames___closed__2; +x_2 = l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("(pretty printer) if set to false, replace proofs appearing as an argument to a function with a placeholder"); +return x_1; +} +} +static lean_object* _init_l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____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 = 0; +x_2 = l_Lean_getSanitizeNames___closed__1; +x_3 = l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__3; +x_4 = lean_box(x_1); +x_5 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_5, 0, x_4); +lean_ctor_set(x_5, 1, x_2); +lean_ctor_set(x_5, 2, x_3); +return x_5; +} +} +lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358_(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__2; +x_3 = l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__4; +x_4 = l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_4____spec__1(x_2, x_3, x_1); +return x_4; +} +} +static lean_object* _init_l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("withType"); +return x_1; +} +} +static lean_object* _init_l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__2; +x_2 = l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("(pretty printer) when eliding a proof (see `pp.proofs`), show its type instead"); +return x_1; +} +} +static lean_object* _init_l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____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_getSanitizeNames___closed__1; +x_3 = l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__3; +x_4 = lean_box(x_1); +x_5 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_5, 0, x_4); +lean_ctor_set(x_5, 1, x_2); +lean_ctor_set(x_5, 2, x_3); +return x_5; +} +} +lean_object* l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387_(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__2; +x_3 = l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__4; +x_4 = l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_4____spec__1(x_2, x_3, x_1); +return x_4; +} +} uint8_t l_Lean_getPPAll(lean_object* x_1) { _start: { @@ -1692,6 +1852,99 @@ x_3 = lean_box(x_2); return x_3; } } +uint8_t l_Lean_getPPProofs(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; +x_2 = l_Lean_pp_proofs; +x_3 = lean_ctor_get(x_2, 0); +lean_inc(x_3); +x_4 = l_Lean_getPPAll(x_1); +x_5 = l_Lean_KVMap_findCore(x_1, x_3); +lean_dec(x_3); +if (lean_obj_tag(x_5) == 0) +{ +return x_4; +} +else +{ +lean_object* x_6; +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +lean_dec(x_5); +if (lean_obj_tag(x_6) == 1) +{ +uint8_t x_7; +x_7 = lean_ctor_get_uint8(x_6, 0); +lean_dec(x_6); +return x_7; +} +else +{ +lean_dec(x_6); +return x_4; +} +} +} +} +lean_object* l_Lean_getPPProofs___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; lean_object* x_3; +x_2 = l_Lean_getPPProofs(x_1); +lean_dec(x_1); +x_3 = lean_box(x_2); +return x_3; +} +} +uint8_t l_Lean_getPPProofsWithType(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l_Lean_pp_proofs_withType; +x_3 = lean_ctor_get(x_2, 0); +lean_inc(x_3); +x_4 = l_Lean_KVMap_findCore(x_1, x_3); +lean_dec(x_3); +if (lean_obj_tag(x_4) == 0) +{ +uint8_t x_5; +x_5 = 1; +return x_5; +} +else +{ +lean_object* x_6; +x_6 = lean_ctor_get(x_4, 0); +lean_inc(x_6); +lean_dec(x_4); +if (lean_obj_tag(x_6) == 1) +{ +uint8_t x_7; +x_7 = lean_ctor_get_uint8(x_6, 0); +lean_dec(x_6); +return x_7; +} +else +{ +uint8_t x_8; +lean_dec(x_6); +x_8 = 1; +return x_8; +} +} +} +} +lean_object* l_Lean_getPPProofsWithType___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; lean_object* x_3; +x_2 = l_Lean_getPPProofsWithType(x_1); +lean_dec(x_1); +x_3 = lean_box(x_2); +return x_3; +} +} static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_Context_pos___default() { _start: { @@ -1708,7 +1961,7 @@ x_1 = 0; return x_1; } } -static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_482____closed__1() { +static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_556____closed__1() { _start: { lean_object* x_1; @@ -1716,21 +1969,21 @@ x_1 = lean_mk_string("delabFailure"); return x_1; } } -static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_482____closed__2() { +static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_556____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_482____closed__1; +x_2 = l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_556____closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -lean_object* l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_482_(lean_object* x_1) { +lean_object* l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_556_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_482____closed__2; +x_2 = l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_556____closed__2; x_3 = l_Lean_registerInternalExceptionId(x_2, x_1); return x_3; } @@ -3407,6 +3660,57 @@ lean_dec(x_1); return x_7; } } +lean_object* l_Lean_PrettyPrinter_Delaborator_getPPOption_match__1___rarg(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_3 = lean_ctor_get(x_1, 0); +lean_inc(x_3); +x_4 = lean_ctor_get(x_1, 1); +lean_inc(x_4); +lean_dec(x_1); +x_5 = lean_apply_2(x_2, x_3, x_4); +return x_5; +} +} +lean_object* l_Lean_PrettyPrinter_Delaborator_getPPOption_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_getPPOption_match__1___rarg), 2, 0); +return x_2; +} +} +lean_object* l_Lean_PrettyPrinter_Delaborator_getPPOption_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; +lean_dec(x_2); +x_4 = lean_apply_1(x_3, x_1); +return x_4; +} +else +{ +lean_object* x_5; lean_object* x_6; +lean_dec(x_3); +x_5 = lean_ctor_get(x_1, 0); +lean_inc(x_5); +lean_dec(x_1); +x_6 = lean_apply_1(x_2, x_5); +return x_6; +} +} +} +lean_object* l_Lean_PrettyPrinter_Delaborator_getPPOption_match__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_getPPOption_match__2___rarg), 3, 0); +return x_2; +} +} lean_object* l_Std_RBNode_find___at_Lean_PrettyPrinter_Delaborator_getPPOption___spec__1(lean_object* x_1, lean_object* x_2) { _start: { @@ -3450,47 +3754,88 @@ goto _start; } } } -lean_object* l_Lean_PrettyPrinter_Delaborator_getPPOption(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* l_List_forIn_loop___at_Lean_PrettyPrinter_Delaborator_getPPOption___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: { -lean_object* x_8; lean_object* x_9; lean_object* x_10; -x_8 = lean_ctor_get(x_2, 3); -lean_inc(x_8); -x_9 = lean_ctor_get(x_2, 1); -lean_inc(x_9); -x_10 = l_Std_RBNode_find___at_Lean_PrettyPrinter_Delaborator_getPPOption___spec__1(x_8, x_9); -lean_dec(x_9); -lean_dec(x_8); -if (lean_obj_tag(x_10) == 0) +if (lean_obj_tag(x_1) == 0) { -lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15; -x_11 = lean_ctor_get(x_2, 2); -lean_inc(x_11); -lean_dec(x_2); -x_12 = lean_apply_1(x_1, x_11); -x_13 = lean_unbox(x_12); -lean_dec(x_12); -x_14 = lean_box(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_7); -return x_15; +lean_object* x_9; +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_2); +lean_ctor_set(x_9, 1, x_8); +return x_9; } else { -lean_object* x_16; lean_object* x_17; uint8_t x_18; lean_object* x_19; lean_object* x_20; -lean_dec(x_2); -x_16 = lean_ctor_get(x_10, 0); -lean_inc(x_16); +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_10 = lean_ctor_get(x_1, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_1, 1); +lean_inc(x_11); +lean_dec(x_1); +x_12 = lean_ctor_get(x_10, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_10, 1); +lean_inc(x_13); lean_dec(x_10); -x_17 = lean_apply_1(x_1, x_16); -x_18 = lean_unbox(x_17); -lean_dec(x_17); -x_19 = lean_box(x_18); -x_20 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_20, 0, x_19); -lean_ctor_set(x_20, 1, x_7); -return x_20; +x_14 = l_Lean_KVMap_insertCore(x_2, x_12, x_13); +x_1 = x_11; +x_2 = x_14; +goto _start; +} +} +} +lean_object* l_Lean_PrettyPrinter_Delaborator_getPPOption___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; uint8_t x_11; lean_object* x_12; lean_object* x_13; +x_10 = lean_apply_1(x_1, x_2); +x_11 = lean_unbox(x_10); +lean_dec(x_10); +x_12 = lean_box(x_11); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_12); +lean_ctor_set(x_13, 1, x_9); +return x_13; +} +} +lean_object* l_Lean_PrettyPrinter_Delaborator_getPPOption(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; lean_object* x_10; lean_object* x_11; +x_8 = lean_ctor_get(x_2, 2); +lean_inc(x_8); +x_9 = lean_ctor_get(x_2, 3); +lean_inc(x_9); +x_10 = lean_ctor_get(x_2, 1); +lean_inc(x_10); +x_11 = l_Std_RBNode_find___at_Lean_PrettyPrinter_Delaborator_getPPOption___spec__1(x_9, x_10); +lean_dec(x_10); +lean_dec(x_9); +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_box(0); +x_13 = l_Lean_PrettyPrinter_Delaborator_getPPOption___lambda__1(x_1, x_8, x_12, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_2); +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_ctor_get(x_11, 0); +lean_inc(x_14); +lean_dec(x_11); +x_15 = l_List_forIn_loop___at_Lean_PrettyPrinter_Delaborator_getPPOption___spec__2(x_14, x_8, x_2, x_3, x_4, x_5, x_6, x_7); +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +x_18 = lean_box(0); +x_19 = l_Lean_PrettyPrinter_Delaborator_getPPOption___lambda__1(x_1, x_16, x_18, x_2, x_3, x_4, x_5, x_6, x_17); +lean_dec(x_2); +return x_19; } } } @@ -3504,6 +3849,33 @@ lean_dec(x_1); return x_3; } } +lean_object* l_List_forIn_loop___at_Lean_PrettyPrinter_Delaborator_getPPOption___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) { +_start: +{ +lean_object* x_9; +x_9 = l_List_forIn_loop___at_Lean_PrettyPrinter_Delaborator_getPPOption___spec__2(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); +lean_dec(x_4); +lean_dec(x_3); +return x_9; +} +} +lean_object* l_Lean_PrettyPrinter_Delaborator_getPPOption___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_PrettyPrinter_Delaborator_getPPOption___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); +return x_10; +} +} lean_object* l_Lean_PrettyPrinter_Delaborator_getPPOption___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) { _start: { @@ -3723,7 +4095,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_PrettyPrinter_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_PrettyPrinter_Delaborator_withAppFn___rarg___closed__3; -x_3 = lean_unsigned_to_nat(281u); +x_3 = lean_unsigned_to_nat(292u); x_4 = lean_unsigned_to_nat(34u); x_5 = l_Lean_Name_getString_x21___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -3788,7 +4160,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_PrettyPrinter_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_PrettyPrinter_Delaborator_withAppArg___rarg___closed__1; -x_3 = lean_unsigned_to_nat(285u); +x_3 = lean_unsigned_to_nat(296u); x_4 = lean_unsigned_to_nat(35u); x_5 = l_Lean_Name_getString_x21___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -4137,7 +4509,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_PrettyPrinter_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_PrettyPrinter_Delaborator_withProj___rarg___closed__1; -x_3 = lean_unsigned_to_nat(305u); +x_3 = lean_unsigned_to_nat(316u); x_4 = lean_unsigned_to_nat(36u); x_5 = l_Lean_Name_getString_x21___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -4236,7 +4608,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_PrettyPrinter_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_PrettyPrinter_Delaborator_withMDataExpr___rarg___closed__1; -x_3 = lean_unsigned_to_nat(309u); +x_3 = lean_unsigned_to_nat(320u); x_4 = lean_unsigned_to_nat(35u); x_5 = l_Lean_Name_getString_x21___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -9531,6 +9903,43 @@ lean_dec(x_2); return x_3; } } +lean_object* l_Lean_PrettyPrinter_Delaborator_delab_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; +lean_dec(x_3); +x_4 = lean_ctor_get(x_1, 0); +lean_inc(x_4); +x_5 = lean_ctor_get(x_1, 1); +lean_inc(x_5); +lean_dec(x_1); +x_6 = lean_apply_2(x_2, x_4, x_5); +return x_6; +} +else +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; +lean_dec(x_2); +x_7 = lean_ctor_get(x_1, 0); +lean_inc(x_7); +x_8 = lean_ctor_get(x_1, 1); +lean_inc(x_8); +lean_dec(x_1); +x_9 = lean_apply_2(x_3, x_7, x_8); +return x_9; +} +} +} +lean_object* l_Lean_PrettyPrinter_Delaborator_delab_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_delab_match__1___rarg), 3, 0); +return x_2; +} +} lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Delaborator_delab___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) { _start: { @@ -9569,7 +9978,27 @@ return x_15; } } } -static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delab___closed__1() { +lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_4 = lean_ctor_get(x_1, 3); +x_5 = l_Lean_SourceInfo_fromRef(x_4); +x_6 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_6, 0, x_5); +lean_ctor_set(x_6, 1, x_3); +return x_6; +} +} +lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = lean_alloc_closure((void*)(l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg___boxed), 3, 0); +return x_4; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delab___lambda__1___closed__1() { _start: { lean_object* x_1; @@ -9577,158 +10006,529 @@ x_1 = lean_mk_string("don't know how to delaborate '"); return x_1; } } -static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delab___closed__2() { +static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delab___lambda__1___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_PrettyPrinter_Delaborator_delab___closed__1; +x_1 = l_Lean_PrettyPrinter_Delaborator_delab___lambda__1___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } +lean_object* l_Lean_PrettyPrinter_Delaborator_delab___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; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_8 = l_Lean_PrettyPrinter_Delaborator_getExprKind(x_2, x_3, x_4, x_5, x_6, x_7); +x_9 = lean_ctor_get(x_8, 0); +lean_inc(x_9); +x_10 = lean_ctor_get(x_8, 1); +lean_inc(x_10); +lean_dec(x_8); +lean_inc(x_9); +x_11 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_11, 0, x_9); +x_12 = l_Lean_PrettyPrinter_Delaborator_delab___lambda__1___closed__2; +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_KernelException_toMessageData___closed__3; +x_15 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_15, 0, x_13); +lean_ctor_set(x_15, 1, x_14); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_16 = l_Lean_PrettyPrinter_Delaborator_delabFor(x_9, x_2, x_3, x_4, x_5, x_6, x_10); +if (lean_obj_tag(x_16) == 0) +{ +lean_dec(x_15); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_16; +} +else +{ +lean_object* x_17; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +if (lean_obj_tag(x_17) == 0) +{ +uint8_t x_18; +lean_dec(x_15); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_18 = !lean_is_exclusive(x_16); +if (x_18 == 0) +{ +lean_object* x_19; +x_19 = lean_ctor_get(x_16, 0); +lean_dec(x_19); +return x_16; +} +else +{ +lean_object* x_20; lean_object* x_21; +x_20 = lean_ctor_get(x_16, 1); +lean_inc(x_20); +lean_dec(x_16); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_17); +lean_ctor_set(x_21, 1, x_20); +return x_21; +} +} +else +{ +uint8_t x_22; +x_22 = !lean_is_exclusive(x_16); +if (x_22 == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; +x_23 = lean_ctor_get(x_16, 1); +x_24 = lean_ctor_get(x_16, 0); +lean_dec(x_24); +x_25 = lean_ctor_get(x_17, 0); +lean_inc(x_25); +x_26 = l_Lean_PrettyPrinter_Delaborator_delabFailureId; +x_27 = lean_nat_dec_eq(x_26, x_25); +lean_dec(x_25); +if (x_27 == 0) +{ +lean_dec(x_15); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_16; +} +else +{ +lean_object* x_28; +lean_free_object(x_16); +lean_dec(x_17); +x_28 = l_Lean_throwError___at_Lean_PrettyPrinter_Delaborator_delab___spec__1(x_15, x_3, x_4, x_5, x_6, x_23); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_28; +} +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_29 = lean_ctor_get(x_16, 1); +lean_inc(x_29); +lean_dec(x_16); +x_30 = lean_ctor_get(x_17, 0); +lean_inc(x_30); +x_31 = l_Lean_PrettyPrinter_Delaborator_delabFailureId; +x_32 = lean_nat_dec_eq(x_31, x_30); +lean_dec(x_30); +if (x_32 == 0) +{ +lean_object* x_33; +lean_dec(x_15); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_33 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_33, 0, x_17); +lean_ctor_set(x_33, 1, x_29); +return x_33; +} +else +{ +lean_object* x_34; +lean_dec(x_17); +x_34 = l_Lean_throwError___at_Lean_PrettyPrinter_Delaborator_delab___spec__1(x_15, x_3, x_4, x_5, x_6, x_29); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_34; +} +} +} +} +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delab___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_getPPProofs___boxed), 1, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delab___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_delab___lambda__1___boxed), 7, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delab___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_getPPProofsWithType___boxed), 1, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delab___closed__4() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_delab), 6, 0); +return x_1; +} +} lean_object* l_Lean_PrettyPrinter_Delaborator_delab(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { -lean_object* x_7; 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; -x_7 = l_Lean_PrettyPrinter_Delaborator_getExprKind(x_1, x_2, x_3, x_4, x_5, x_6); -x_8 = lean_ctor_get(x_7, 0); -lean_inc(x_8); -x_9 = lean_ctor_get(x_7, 1); +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; +x_7 = l_Lean_PrettyPrinter_Delaborator_delab___closed__1; +lean_inc(x_1); +x_8 = l_Lean_PrettyPrinter_Delaborator_getPPOption(x_7, x_1, x_2, x_3, x_4, x_5, x_6); +x_9 = lean_ctor_get(x_8, 0); lean_inc(x_9); -lean_dec(x_7); -lean_inc(x_8); -x_10 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_10, 0, x_8); +x_10 = lean_ctor_get(x_8, 1); +lean_inc(x_10); +lean_dec(x_8); x_11 = l_Lean_PrettyPrinter_Delaborator_delab___closed__2; -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_KernelException_toMessageData___closed__3; -x_14 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_14, 0, x_12); -lean_ctor_set(x_14, 1, x_13); +x_12 = lean_unbox(x_9); +lean_dec(x_9); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; +x_13 = l_Lean_PrettyPrinter_Delaborator_getExpr(x_1, x_2, x_3, x_4, x_5, x_10); +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_Expr_isAtomic(x_14); +lean_dec(x_14); +if (x_16 == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = l_Lean_PrettyPrinter_Delaborator_getExpr(x_1, x_2, x_3, x_4, x_5, x_15); +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_17, 1); +lean_inc(x_19); +lean_dec(x_17); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_15 = l_Lean_PrettyPrinter_Delaborator_delabFor(x_8, x_1, x_2, x_3, x_4, x_5, x_9); -if (lean_obj_tag(x_15) == 0) +x_20 = l_Lean_Meta_inferType(x_18, x_2, x_3, x_4, x_5, x_19); +if (lean_obj_tag(x_20) == 0) { -lean_dec(x_14); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_15; -} -else +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_21); +x_23 = l_Lean_Meta_isProp(x_21, x_2, x_3, x_4, x_5, x_22); +if (lean_obj_tag(x_23) == 0) { -lean_object* x_16; -x_16 = lean_ctor_get(x_15, 0); -lean_inc(x_16); -if (lean_obj_tag(x_16) == 0) -{ -uint8_t x_17; -lean_dec(x_14); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_17 = !lean_is_exclusive(x_15); -if (x_17 == 0) -{ -lean_object* x_18; -x_18 = lean_ctor_get(x_15, 0); -lean_dec(x_18); -return x_15; -} -else -{ -lean_object* x_19; lean_object* x_20; -x_19 = lean_ctor_get(x_15, 1); -lean_inc(x_19); -lean_dec(x_15); -x_20 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_20, 0, x_16); -lean_ctor_set(x_20, 1, x_19); -return x_20; -} -} -else -{ -uint8_t x_21; -x_21 = !lean_is_exclusive(x_15); -if (x_21 == 0) -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; -x_22 = lean_ctor_get(x_15, 1); -x_23 = lean_ctor_get(x_15, 0); -lean_dec(x_23); -x_24 = lean_ctor_get(x_16, 0); +lean_object* x_24; uint8_t x_25; +x_24 = lean_ctor_get(x_23, 0); lean_inc(x_24); -x_25 = l_Lean_PrettyPrinter_Delaborator_delabFailureId; -x_26 = lean_nat_dec_eq(x_25, x_24); +x_25 = lean_unbox(x_24); lean_dec(x_24); -if (x_26 == 0) +if (x_25 == 0) { -lean_dec(x_14); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_15; +lean_object* x_26; lean_object* x_27; lean_object* x_28; +lean_dec(x_21); +x_26 = lean_ctor_get(x_23, 1); +lean_inc(x_26); +lean_dec(x_23); +x_27 = lean_box(0); +x_28 = lean_apply_7(x_11, x_27, x_1, x_2, x_3, x_4, x_5, x_26); +return x_28; } else { -lean_object* x_27; -lean_free_object(x_15); -lean_dec(x_16); -x_27 = l_Lean_throwError___at_Lean_PrettyPrinter_Delaborator_delab___spec__1(x_14, x_2, x_3, x_4, x_5, x_22); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_27; -} -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_28 = lean_ctor_get(x_15, 1); -lean_inc(x_28); -lean_dec(x_15); -x_29 = lean_ctor_get(x_16, 0); +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; +x_29 = lean_ctor_get(x_23, 1); lean_inc(x_29); -x_30 = l_Lean_PrettyPrinter_Delaborator_delabFailureId; -x_31 = lean_nat_dec_eq(x_30, x_29); -lean_dec(x_29); -if (x_31 == 0) +lean_dec(x_23); +x_30 = l_Lean_PrettyPrinter_Delaborator_delab___closed__3; +lean_inc(x_1); +x_31 = l_Lean_PrettyPrinter_Delaborator_getPPOption(x_30, x_1, x_2, x_3, x_4, x_5, x_29); +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_unbox(x_32); +lean_dec(x_32); +if (x_33 == 0) { -lean_object* x_32; -lean_dec(x_14); -lean_dec(x_5); -lean_dec(x_4); +lean_object* x_34; lean_object* x_35; uint8_t x_36; +lean_dec(x_21); lean_dec(x_3); lean_dec(x_2); -x_32 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_32, 0, x_16); -lean_ctor_set(x_32, 1, x_28); -return x_32; +lean_dec(x_1); +x_34 = lean_ctor_get(x_31, 1); +lean_inc(x_34); +lean_dec(x_31); +x_35 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_4, x_5, x_34); +lean_dec(x_5); +lean_dec(x_4); +x_36 = !lean_is_exclusive(x_35); +if (x_36 == 0) +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_37 = lean_ctor_get(x_35, 0); +x_38 = l_myMacro____x40_Init_Notation___hyg_15342____closed__14; +x_39 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_39, 0, x_37); +lean_ctor_set(x_39, 1, x_38); +x_40 = l_Array_empty___closed__1; +x_41 = lean_array_push(x_40, x_39); +x_42 = l_myMacro____x40_Init_Notation___hyg_15342____closed__13; +x_43 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_43, 0, x_42); +lean_ctor_set(x_43, 1, x_41); +lean_ctor_set(x_35, 0, x_43); +return x_35; } else { -lean_object* x_33; -lean_dec(x_16); -x_33 = l_Lean_throwError___at_Lean_PrettyPrinter_Delaborator_delab___spec__1(x_14, x_2, x_3, x_4, x_5, x_28); -lean_dec(x_5); -lean_dec(x_4); +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; +x_44 = lean_ctor_get(x_35, 0); +x_45 = lean_ctor_get(x_35, 1); +lean_inc(x_45); +lean_inc(x_44); +lean_dec(x_35); +x_46 = l_myMacro____x40_Init_Notation___hyg_15342____closed__14; +x_47 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_47, 0, x_44); +lean_ctor_set(x_47, 1, x_46); +x_48 = l_Array_empty___closed__1; +x_49 = lean_array_push(x_48, x_47); +x_50 = l_myMacro____x40_Init_Notation___hyg_15342____closed__13; +x_51 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_51, 0, x_50); +lean_ctor_set(x_51, 1, x_49); +x_52 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_52, 0, x_51); +lean_ctor_set(x_52, 1, x_45); +return x_52; +} +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_53 = lean_ctor_get(x_31, 1); +lean_inc(x_53); +lean_dec(x_31); +x_54 = lean_unsigned_to_nat(0u); +x_55 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_56 = l_Lean_PrettyPrinter_Delaborator_descend___rarg(x_21, x_54, x_55, x_1, x_2, x_3, x_4, x_5, x_53); +if (lean_obj_tag(x_56) == 0) +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_dec(x_3); lean_dec(x_2); -return x_33; +lean_dec(x_1); +x_57 = lean_ctor_get(x_56, 0); +lean_inc(x_57); +x_58 = lean_ctor_get(x_56, 1); +lean_inc(x_58); +lean_dec(x_56); +x_59 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_4, x_5, x_58); +lean_dec(x_5); +lean_dec(x_4); +x_60 = !lean_is_exclusive(x_59); +if (x_60 == 0) +{ +lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; 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; 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; +x_61 = lean_ctor_get(x_59, 0); +x_62 = l_prec_x28___x29___closed__3; +lean_inc(x_61); +x_63 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_63, 0, x_61); +lean_ctor_set(x_63, 1, x_62); +x_64 = l_Array_empty___closed__1; +x_65 = lean_array_push(x_64, x_63); +x_66 = l_myMacro____x40_Init_Notation___hyg_15342____closed__14; +lean_inc(x_61); +x_67 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_67, 0, x_61); +lean_ctor_set(x_67, 1, x_66); +x_68 = lean_array_push(x_64, x_67); +x_69 = l_myMacro____x40_Init_Notation___hyg_15342____closed__13; +x_70 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_70, 0, x_69); +lean_ctor_set(x_70, 1, x_68); +x_71 = lean_array_push(x_64, x_70); +x_72 = l_myMacro____x40_Init_Notation___hyg_16268____closed__9; +lean_inc(x_61); +x_73 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_73, 0, x_61); +lean_ctor_set(x_73, 1, x_72); +x_74 = lean_array_push(x_64, x_73); +x_75 = lean_array_push(x_74, x_57); +x_76 = l_myMacro____x40_Init_Notation___hyg_16268____closed__8; +x_77 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_77, 0, x_76); +lean_ctor_set(x_77, 1, x_75); +x_78 = lean_array_push(x_64, x_77); +x_79 = l_Lean_nullKind___closed__2; +x_80 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_80, 0, x_79); +lean_ctor_set(x_80, 1, x_78); +x_81 = lean_array_push(x_71, x_80); +x_82 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_82, 0, x_79); +lean_ctor_set(x_82, 1, x_81); +x_83 = lean_array_push(x_65, x_82); +x_84 = l_prec_x28___x29___closed__7; +x_85 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_85, 0, x_61); +lean_ctor_set(x_85, 1, x_84); +x_86 = lean_array_push(x_83, x_85); +x_87 = l_myMacro____x40_Init_Notation___hyg_14734____closed__8; +x_88 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_88, 0, x_87); +lean_ctor_set(x_88, 1, x_86); +lean_ctor_set(x_59, 0, x_88); +return x_59; +} +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; 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_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; +x_89 = lean_ctor_get(x_59, 0); +x_90 = lean_ctor_get(x_59, 1); +lean_inc(x_90); +lean_inc(x_89); +lean_dec(x_59); +x_91 = l_prec_x28___x29___closed__3; +lean_inc(x_89); +x_92 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_92, 0, x_89); +lean_ctor_set(x_92, 1, x_91); +x_93 = l_Array_empty___closed__1; +x_94 = lean_array_push(x_93, x_92); +x_95 = l_myMacro____x40_Init_Notation___hyg_15342____closed__14; +lean_inc(x_89); +x_96 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_96, 0, x_89); +lean_ctor_set(x_96, 1, x_95); +x_97 = lean_array_push(x_93, x_96); +x_98 = l_myMacro____x40_Init_Notation___hyg_15342____closed__13; +x_99 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_99, 0, x_98); +lean_ctor_set(x_99, 1, x_97); +x_100 = lean_array_push(x_93, x_99); +x_101 = l_myMacro____x40_Init_Notation___hyg_16268____closed__9; +lean_inc(x_89); +x_102 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_102, 0, x_89); +lean_ctor_set(x_102, 1, x_101); +x_103 = lean_array_push(x_93, x_102); +x_104 = lean_array_push(x_103, x_57); +x_105 = l_myMacro____x40_Init_Notation___hyg_16268____closed__8; +x_106 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_106, 0, x_105); +lean_ctor_set(x_106, 1, x_104); +x_107 = lean_array_push(x_93, x_106); +x_108 = l_Lean_nullKind___closed__2; +x_109 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_109, 0, x_108); +lean_ctor_set(x_109, 1, x_107); +x_110 = lean_array_push(x_100, x_109); +x_111 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_111, 0, x_108); +lean_ctor_set(x_111, 1, x_110); +x_112 = lean_array_push(x_94, x_111); +x_113 = l_prec_x28___x29___closed__7; +x_114 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_114, 0, x_89); +lean_ctor_set(x_114, 1, x_113); +x_115 = lean_array_push(x_112, x_114); +x_116 = l_myMacro____x40_Init_Notation___hyg_14734____closed__8; +x_117 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_117, 0, x_116); +lean_ctor_set(x_117, 1, x_115); +x_118 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_118, 0, x_117); +lean_ctor_set(x_118, 1, x_90); +return x_118; +} +} +else +{ +lean_object* x_119; lean_object* x_120; lean_object* x_121; +x_119 = lean_ctor_get(x_56, 1); +lean_inc(x_119); +lean_dec(x_56); +x_120 = lean_box(0); +x_121 = lean_apply_7(x_11, x_120, x_1, x_2, x_3, x_4, x_5, x_119); +return x_121; } } } } +else +{ +lean_object* x_122; lean_object* x_123; lean_object* x_124; +lean_dec(x_21); +x_122 = lean_ctor_get(x_23, 1); +lean_inc(x_122); +lean_dec(x_23); +x_123 = lean_box(0); +x_124 = lean_apply_7(x_11, x_123, x_1, x_2, x_3, x_4, x_5, x_122); +return x_124; +} +} +else +{ +lean_object* x_125; lean_object* x_126; lean_object* x_127; +x_125 = lean_ctor_get(x_20, 1); +lean_inc(x_125); +lean_dec(x_20); +x_126 = lean_box(0); +x_127 = lean_apply_7(x_11, x_126, x_1, x_2, x_3, x_4, x_5, x_125); +return x_127; +} +} +else +{ +lean_object* x_128; lean_object* x_129; +x_128 = lean_box(0); +x_129 = lean_apply_7(x_11, x_128, x_1, x_2, x_3, x_4, x_5, x_15); +return x_129; +} +} +else +{ +lean_object* x_130; lean_object* x_131; +x_130 = lean_box(0); +x_131 = lean_apply_7(x_11, x_130, x_1, x_2, x_3, x_4, x_5, x_10); +return x_131; +} } } lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Delaborator_delab___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) { @@ -9743,6 +10543,36 @@ lean_dec(x_2); return x_7; } } +lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_1, x_2, x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_4; +} +} +lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2(x_1, x_2, x_3); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_4; +} +} +lean_object* l_Lean_PrettyPrinter_Delaborator_delab___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) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_PrettyPrinter_Delaborator_delab___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_1); +return x_8; +} +} static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_mkAppUnexpanderAttribute___closed__1() { _start: { @@ -9833,7 +10663,132 @@ x_4 = l_Lean_KeyedDeclsAttribute_init___rarg(x_2, x_3, x_1); return x_4; } } -static lean_object* _init_l_Lean_PrettyPrinter_delab___closed__1() { +lean_object* l_Lean_Option_get_x3f___at_Lean_PrettyPrinter_delab___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; +x_3 = lean_ctor_get(x_2, 0); +x_4 = l_Lean_KVMap_findCore(x_1, x_3); +if (lean_obj_tag(x_4) == 0) +{ +lean_object* x_5; +x_5 = lean_box(0); +return x_5; +} +else +{ +uint8_t x_6; +x_6 = !lean_is_exclusive(x_4); +if (x_6 == 0) +{ +lean_object* x_7; +x_7 = lean_ctor_get(x_4, 0); +if (lean_obj_tag(x_7) == 1) +{ +uint8_t x_8; lean_object* x_9; +x_8 = lean_ctor_get_uint8(x_7, 0); +lean_dec(x_7); +x_9 = lean_box(x_8); +lean_ctor_set(x_4, 0, x_9); +return x_4; +} +else +{ +lean_object* x_10; +lean_free_object(x_4); +lean_dec(x_7); +x_10 = lean_box(0); +return x_10; +} +} +else +{ +lean_object* x_11; +x_11 = lean_ctor_get(x_4, 0); +lean_inc(x_11); +lean_dec(x_4); +if (lean_obj_tag(x_11) == 1) +{ +uint8_t x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get_uint8(x_11, 0); +lean_dec(x_11); +x_13 = lean_box(x_12); +x_14 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_14, 0, x_13); +return x_14; +} +else +{ +lean_object* x_15; +lean_dec(x_11); +x_15 = lean_box(0); +return x_15; +} +} +} +} +} +uint8_t l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_671____at_Lean_PrettyPrinter_delab___spec__2(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +if (lean_obj_tag(x_2) == 0) +{ +uint8_t x_3; +x_3 = 1; +return x_3; +} +else +{ +uint8_t x_4; +x_4 = 0; +return x_4; +} +} +else +{ +if (lean_obj_tag(x_2) == 0) +{ +uint8_t x_5; +x_5 = 0; +return x_5; +} +else +{ +lean_object* x_6; uint8_t x_7; +x_6 = lean_ctor_get(x_1, 0); +x_7 = lean_unbox(x_6); +if (x_7 == 0) +{ +lean_object* x_8; uint8_t x_9; +x_8 = lean_ctor_get(x_2, 0); +x_9 = lean_unbox(x_8); +if (x_9 == 0) +{ +uint8_t x_10; +x_10 = 1; +return x_10; +} +else +{ +uint8_t x_11; +x_11 = 0; +return x_11; +} +} +else +{ +lean_object* x_12; uint8_t x_13; +x_12 = lean_ctor_get(x_2, 0); +x_13 = lean_unbox(x_12); +return x_13; +} +} +} +} +} +static lean_object* _init_l_Lean_PrettyPrinter_delab___lambda__1___closed__1() { _start: { lean_object* x_1; @@ -9841,107 +10796,44 @@ x_1 = lean_mk_string("Lean.PrettyPrinter.delab"); return x_1; } } -static lean_object* _init_l_Lean_PrettyPrinter_delab___closed__2() { +static lean_object* _init_l_Lean_PrettyPrinter_delab___lambda__1___closed__2() { _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_PrettyPrinter_Delaborator_withAppFn___rarg___closed__2; -x_2 = l_Lean_PrettyPrinter_delab___closed__1; -x_3 = lean_unsigned_to_nat(388u); +x_2 = l_Lean_PrettyPrinter_delab___lambda__1___closed__1; +x_3 = lean_unsigned_to_nat(418u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_Name_getString_x21___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l_Lean_PrettyPrinter_delab___closed__3() { +lean_object* l_Lean_PrettyPrinter_delab___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) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__2___closed__4; -x_2 = l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute___closed__3; -x_3 = lean_name_mk_string(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_PrettyPrinter_delab___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_PrettyPrinter_delab___closed__3; -x_2 = l_Lean_PrettyPrinter_format___closed__3; -x_3 = lean_name_mk_string(x_1, x_2); -return x_3; -} -} -lean_object* l_Lean_PrettyPrinter_delab(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; uint8_t x_41; lean_object* x_42; lean_object* x_52; lean_object* x_53; lean_object* x_54; uint8_t x_55; -x_52 = lean_st_ref_get(x_8, x_9); -x_53 = lean_ctor_get(x_52, 0); -lean_inc(x_53); -x_54 = lean_ctor_get(x_53, 3); -lean_inc(x_54); -lean_dec(x_53); -x_55 = lean_ctor_get_uint8(x_54, sizeof(void*)*1); -lean_dec(x_54); -if (x_55 == 0) -{ -lean_object* x_56; uint8_t x_57; -x_56 = lean_ctor_get(x_52, 1); -lean_inc(x_56); -lean_dec(x_52); -x_57 = 0; -x_41 = x_57; -x_42 = x_56; -goto block_51; -} -else -{ -lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63; -x_58 = lean_ctor_get(x_52, 1); -lean_inc(x_58); -lean_dec(x_52); -x_59 = l_Lean_PrettyPrinter_delab___closed__4; -x_60 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_postponeIsLevelDefEq___spec__2(x_59, x_5, x_6, x_7, x_8, x_58); -x_61 = lean_ctor_get(x_60, 0); -lean_inc(x_61); -x_62 = lean_ctor_get(x_60, 1); -lean_inc(x_62); -lean_dec(x_60); -x_63 = lean_unbox(x_61); -lean_dec(x_61); -x_41 = x_63; -x_42 = x_62; -goto block_51; -} -block_40: -{ -lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15; -x_11 = lean_ctor_get(x_7, 0); -lean_inc(x_11); +lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15; x_12 = lean_unsigned_to_nat(1u); x_13 = 0; x_14 = lean_alloc_ctor(0, 6, 1); -lean_ctor_set(x_14, 0, x_3); +lean_ctor_set(x_14, 0, x_1); lean_ctor_set(x_14, 1, x_12); -lean_ctor_set(x_14, 2, x_11); -lean_ctor_set(x_14, 3, x_4); -lean_ctor_set(x_14, 4, x_1); -lean_ctor_set(x_14, 5, x_2); +lean_ctor_set(x_14, 2, x_5); +lean_ctor_set(x_14, 3, x_2); +lean_ctor_set(x_14, 4, x_3); +lean_ctor_set(x_14, 5, x_4); lean_ctor_set_uint8(x_14, sizeof(void*)*6, x_13); +lean_inc(x_10); +lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -x_15 = l_Lean_PrettyPrinter_Delaborator_delab(x_14, x_5, x_6, x_7, x_8, x_10); +x_15 = l_Lean_PrettyPrinter_Delaborator_delab(x_14, x_7, x_8, x_9, x_10, x_11); if (lean_obj_tag(x_15) == 0) { +lean_dec(x_10); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); return x_15; } else @@ -9952,10 +10844,10 @@ lean_inc(x_16); if (lean_obj_tag(x_16) == 0) { uint8_t x_17; +lean_dec(x_10); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); x_17 = !lean_is_exclusive(x_15); if (x_17 == 0) { @@ -9993,10 +10885,10 @@ x_26 = lean_nat_dec_eq(x_25, x_24); lean_dec(x_24); if (x_26 == 0) { +lean_dec(x_10); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); return x_15; } else @@ -10005,9 +10897,9 @@ lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_free_object(x_15); lean_dec(x_16); x_27 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solveSelfMax___closed__1; -x_28 = l_Lean_PrettyPrinter_delab___closed__2; +x_28 = l_Lean_PrettyPrinter_delab___lambda__1___closed__2; x_29 = lean_panic_fn(x_27, x_28); -x_30 = lean_apply_5(x_29, x_5, x_6, x_7, x_8, x_22); +x_30 = lean_apply_5(x_29, x_7, x_8, x_9, x_10, x_22); return x_30; } } @@ -10025,10 +10917,10 @@ lean_dec(x_32); if (x_34 == 0) { lean_object* x_35; +lean_dec(x_10); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); x_35 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_35, 0, x_16); lean_ctor_set(x_35, 1, x_31); @@ -10039,51 +10931,236 @@ else lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_dec(x_16); x_36 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solveSelfMax___closed__1; -x_37 = l_Lean_PrettyPrinter_delab___closed__2; +x_37 = l_Lean_PrettyPrinter_delab___lambda__1___closed__2; x_38 = lean_panic_fn(x_36, x_37); -x_39 = lean_apply_5(x_38, x_5, x_6, x_7, x_8, x_31); +x_39 = lean_apply_5(x_38, x_7, x_8, x_9, x_10, x_31); return x_39; } } } } } -block_51: +} +static lean_object* _init_l_Lean_PrettyPrinter_delab___closed__1() { +_start: { -if (x_41 == 0) +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__2___closed__4; +x_2 = l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute___closed__3; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_delab___closed__2() { +_start: { -x_10 = x_42; -goto block_40; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_PrettyPrinter_delab___closed__1; +x_2 = l_Lean_PrettyPrinter_format___closed__3; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +lean_object* l_Lean_PrettyPrinter_delab(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; uint8_t x_39; lean_object* x_40; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53; +x_50 = lean_st_ref_get(x_8, x_9); +x_51 = lean_ctor_get(x_50, 0); +lean_inc(x_51); +x_52 = lean_ctor_get(x_51, 3); +lean_inc(x_52); +lean_dec(x_51); +x_53 = lean_ctor_get_uint8(x_52, sizeof(void*)*1); +lean_dec(x_52); +if (x_53 == 0) +{ +lean_object* x_54; uint8_t x_55; +x_54 = lean_ctor_get(x_50, 1); +lean_inc(x_54); +lean_dec(x_50); +x_55 = 0; +x_39 = x_55; +x_40 = x_54; +goto block_49; } else { -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; lean_object* x_50; -x_43 = l_Std_fmt___at_Lean_ppExpr___spec__3(x_3); -x_44 = lean_alloc_ctor(0, 1, 0); +lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61; +x_56 = lean_ctor_get(x_50, 1); +lean_inc(x_56); +lean_dec(x_50); +x_57 = l_Lean_PrettyPrinter_delab___closed__2; +x_58 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_postponeIsLevelDefEq___spec__2(x_57, x_5, x_6, x_7, x_8, x_56); +x_59 = lean_ctor_get(x_58, 0); +lean_inc(x_59); +x_60 = lean_ctor_get(x_58, 1); +lean_inc(x_60); +lean_dec(x_58); +x_61 = lean_unbox(x_59); +lean_dec(x_59); +x_39 = x_61; +x_40 = x_60; +goto block_49; +} +block_38: +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; +x_11 = lean_ctor_get(x_7, 0); +lean_inc(x_11); +x_12 = l_Lean_pp_proofs; +x_13 = l_Lean_Option_get_x3f___at_Lean_PrettyPrinter_delab___spec__1(x_11, x_12); +x_14 = lean_box(0); +x_15 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_671____at_Lean_PrettyPrinter_delab___spec__2(x_13, x_14); +lean_dec(x_13); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; +x_16 = lean_box(0); +x_17 = l_Lean_PrettyPrinter_delab___lambda__1(x_3, x_4, x_1, x_2, x_11, x_16, x_5, x_6, x_7, x_8, x_10); +return x_17; +} +else +{ +lean_object* x_18; +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_3); +x_18 = l_Lean_Meta_inferType(x_3, x_5, x_6, x_7, x_8, x_10); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +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); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_21 = l_Lean_Meta_isProp(x_19, x_5, x_6, x_7, x_8, x_20); +if (lean_obj_tag(x_21) == 0) +{ +lean_object* x_22; uint8_t x_23; +x_22 = lean_ctor_get(x_21, 0); +lean_inc(x_22); +x_23 = lean_unbox(x_22); +lean_dec(x_22); +if (x_23 == 0) +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_21, 1); +lean_inc(x_24); +lean_dec(x_21); +x_25 = lean_box(0); +x_26 = l_Lean_PrettyPrinter_delab___lambda__1(x_3, x_4, x_1, x_2, x_11, x_25, x_5, x_6, x_7, x_8, x_24); +return x_26; +} +else +{ +lean_object* x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_27 = lean_ctor_get(x_21, 1); +lean_inc(x_27); +lean_dec(x_21); +x_28 = 1; +x_29 = l_Lean_Option_set___at_Lean_Meta_withPPInaccessibleNames___spec__2(x_11, x_12, x_28); +x_30 = lean_box(0); +x_31 = l_Lean_PrettyPrinter_delab___lambda__1(x_3, x_4, x_1, x_2, x_29, x_30, x_5, x_6, x_7, x_8, x_27); +return x_31; +} +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_21, 1); +lean_inc(x_32); +lean_dec(x_21); +x_33 = lean_box(0); +x_34 = l_Lean_PrettyPrinter_delab___lambda__1(x_3, x_4, x_1, x_2, x_11, x_33, x_5, x_6, x_7, x_8, x_32); +return x_34; +} +} +else +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_18, 1); +lean_inc(x_35); +lean_dec(x_18); +x_36 = lean_box(0); +x_37 = l_Lean_PrettyPrinter_delab___lambda__1(x_3, x_4, x_1, x_2, x_11, x_36, x_5, x_6, x_7, x_8, x_35); +return x_37; +} +} +} +block_49: +{ +if (x_39 == 0) +{ +x_10 = x_40; +goto block_38; +} +else +{ +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; +x_41 = l_Std_fmt___at_Lean_ppExpr___spec__3(x_3); +x_42 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_42, 0, x_41); +x_43 = l_Lean_KernelException_toMessageData___closed__15; +x_44 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_44, 0, x_43); -x_45 = l_Lean_KernelException_toMessageData___closed__15; -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 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_47, 0, x_46); -lean_ctor_set(x_47, 1, x_45); -x_48 = l_Lean_PrettyPrinter_delab___closed__4; -x_49 = l_Lean_addTrace___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_postponeIsLevelDefEq___spec__1(x_48, x_47, x_5, x_6, x_7, x_8, x_42); -x_50 = lean_ctor_get(x_49, 1); -lean_inc(x_50); -lean_dec(x_49); -x_10 = x_50; -goto block_40; +lean_ctor_set(x_44, 1, x_42); +x_45 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_45, 0, x_44); +lean_ctor_set(x_45, 1, x_43); +x_46 = l_Lean_PrettyPrinter_delab___closed__2; +x_47 = l_Lean_addTrace___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_postponeIsLevelDefEq___spec__1(x_46, x_45, x_5, x_6, x_7, x_8, x_40); +x_48 = lean_ctor_get(x_47, 1); +lean_inc(x_48); +lean_dec(x_47); +x_10 = x_48; +goto block_38; } } } } -lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_2152_(lean_object* x_1) { +lean_object* l_Lean_Option_get_x3f___at_Lean_PrettyPrinter_delab___spec__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Option_get_x3f___at_Lean_PrettyPrinter_delab___spec__1(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +return x_3; +} +} +lean_object* l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_671____at_Lean_PrettyPrinter_delab___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_671____at_Lean_PrettyPrinter_delab___spec__2(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +lean_object* l_Lean_PrettyPrinter_delab___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) { +_start: +{ +lean_object* x_12; +x_12 = l_Lean_PrettyPrinter_delab___lambda__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_6); +return x_12; +} +} +lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_2893_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_PrettyPrinter_delab___closed__3; +x_2 = l_Lean_PrettyPrinter_delab___closed__1; x_3 = l_Lean_registerTraceClass(x_2, x_1); return x_3; } @@ -10267,16 +11344,42 @@ if (lean_io_result_is_error(res)) return res; l_Lean_pp_safe__shadowing = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_pp_safe__shadowing); lean_dec_ref(res); +l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__1 = _init_l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__1(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__1); +l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__2 = _init_l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__2(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__2); +l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__3 = _init_l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__3(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__3); +l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__4 = _init_l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__4(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358____closed__4); +res = l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_358_(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +l_Lean_pp_proofs = lean_io_result_get_value(res); +lean_mark_persistent(l_Lean_pp_proofs); +lean_dec_ref(res); +l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__1 = _init_l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__1(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__1); +l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__2 = _init_l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__2(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__2); +l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__3 = _init_l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__3(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__3); +l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__4 = _init_l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__4(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387____closed__4); +res = l_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_387_(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +l_Lean_pp_proofs_withType = lean_io_result_get_value(res); +lean_mark_persistent(l_Lean_pp_proofs_withType); +lean_dec_ref(res); l_Lean_getPPUnicode___closed__1 = _init_l_Lean_getPPUnicode___closed__1(); lean_mark_persistent(l_Lean_getPPUnicode___closed__1); l_Lean_PrettyPrinter_Delaborator_Context_pos___default = _init_l_Lean_PrettyPrinter_Delaborator_Context_pos___default(); lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_Context_pos___default); l_Lean_PrettyPrinter_Delaborator_Context_inPattern___default = _init_l_Lean_PrettyPrinter_Delaborator_Context_inPattern___default(); -l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_482____closed__1 = _init_l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_482____closed__1(); -lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_482____closed__1); -l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_482____closed__2 = _init_l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_482____closed__2(); -lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_482____closed__2); -res = l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_482_(lean_io_mk_world()); +l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_556____closed__1 = _init_l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_556____closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_556____closed__1); +l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_556____closed__2 = _init_l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_556____closed__2(); +lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_556____closed__2); +res = l_Lean_PrettyPrinter_Delaborator_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_556_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_PrettyPrinter_Delaborator_delabFailureId = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delabFailureId); @@ -10386,10 +11489,18 @@ l_Lean_PrettyPrinter_Delaborator_getUnusedName___closed__1 = _init_l_Lean_Pretty lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_getUnusedName___closed__1); l_Lean_PrettyPrinter_Delaborator_getUnusedName___closed__2 = _init_l_Lean_PrettyPrinter_Delaborator_getUnusedName___closed__2(); lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_getUnusedName___closed__2); +l_Lean_PrettyPrinter_Delaborator_delab___lambda__1___closed__1 = _init_l_Lean_PrettyPrinter_Delaborator_delab___lambda__1___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delab___lambda__1___closed__1); +l_Lean_PrettyPrinter_Delaborator_delab___lambda__1___closed__2 = _init_l_Lean_PrettyPrinter_Delaborator_delab___lambda__1___closed__2(); +lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delab___lambda__1___closed__2); l_Lean_PrettyPrinter_Delaborator_delab___closed__1 = _init_l_Lean_PrettyPrinter_Delaborator_delab___closed__1(); lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delab___closed__1); l_Lean_PrettyPrinter_Delaborator_delab___closed__2 = _init_l_Lean_PrettyPrinter_Delaborator_delab___closed__2(); lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delab___closed__2); +l_Lean_PrettyPrinter_Delaborator_delab___closed__3 = _init_l_Lean_PrettyPrinter_Delaborator_delab___closed__3(); +lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delab___closed__3); +l_Lean_PrettyPrinter_Delaborator_delab___closed__4 = _init_l_Lean_PrettyPrinter_Delaborator_delab___closed__4(); +lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delab___closed__4); l_Lean_PrettyPrinter_Delaborator_mkAppUnexpanderAttribute___closed__1 = _init_l_Lean_PrettyPrinter_Delaborator_mkAppUnexpanderAttribute___closed__1(); lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_mkAppUnexpanderAttribute___closed__1); l_Lean_PrettyPrinter_Delaborator_mkAppUnexpanderAttribute___closed__2 = _init_l_Lean_PrettyPrinter_Delaborator_mkAppUnexpanderAttribute___closed__2(); @@ -10411,15 +11522,15 @@ if (lean_io_result_is_error(res)) return res; l_Lean_PrettyPrinter_Delaborator_appUnexpanderAttribute = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_appUnexpanderAttribute); lean_dec_ref(res); +l_Lean_PrettyPrinter_delab___lambda__1___closed__1 = _init_l_Lean_PrettyPrinter_delab___lambda__1___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_delab___lambda__1___closed__1); +l_Lean_PrettyPrinter_delab___lambda__1___closed__2 = _init_l_Lean_PrettyPrinter_delab___lambda__1___closed__2(); +lean_mark_persistent(l_Lean_PrettyPrinter_delab___lambda__1___closed__2); l_Lean_PrettyPrinter_delab___closed__1 = _init_l_Lean_PrettyPrinter_delab___closed__1(); lean_mark_persistent(l_Lean_PrettyPrinter_delab___closed__1); l_Lean_PrettyPrinter_delab___closed__2 = _init_l_Lean_PrettyPrinter_delab___closed__2(); lean_mark_persistent(l_Lean_PrettyPrinter_delab___closed__2); -l_Lean_PrettyPrinter_delab___closed__3 = _init_l_Lean_PrettyPrinter_delab___closed__3(); -lean_mark_persistent(l_Lean_PrettyPrinter_delab___closed__3); -l_Lean_PrettyPrinter_delab___closed__4 = _init_l_Lean_PrettyPrinter_delab___closed__4(); -lean_mark_persistent(l_Lean_PrettyPrinter_delab___closed__4); -res = l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_2152_(lean_io_mk_world()); +res = l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter_Delaborator_Basic___hyg_2893_(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/PrettyPrinter/Delaborator/Builtins.c b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c index ada5f3f68a..0a9865e865 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c @@ -14,7 +14,6 @@ extern "C" { #endif lean_object* l_Lean_PrettyPrinter_Delaborator_getParamKinds(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Level_dec(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_AppMatchState_moreArgs___default; lean_object* l_Lean_PrettyPrinter_Delaborator_delabProjectionApp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -55,7 +54,6 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_delabDIte___lambda__1___closed__2; extern lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_delabProjectionApp_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabLit_match__2___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_12692____closed__4; lean_object* l_Lean_PrettyPrinter_Delaborator_delabLam_match__1___rarg(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_anyMUnsafe_any___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -74,6 +72,7 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_delabDIte___lambda__1___boxed(lean lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppMatch___closed__6; lean_object* lean_name_mk_string(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabConst___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqRec___closed__1; lean_object* l_Array_eraseIdx___rarg(lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_inaccessible_x3f(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -97,8 +96,9 @@ lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabCoe___closed__1; lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_skippingBinders___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabDIte___closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_delabNil(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_SourceInfo_fromRef(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabSorryAx___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqRec___closed__2; +lean_object* l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___lambda__1___closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_delabDoElems___closed__2; lean_object* l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__8(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabFVar___closed__1; @@ -114,6 +114,7 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_delabNil___closed__2; lean_object* l_Array_mapIdxM_map___at___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabPatterns___spec__1___closed__1; extern lean_object* l_Lean_identKind___closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_delabProjectionApp___closed__2; +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; lean_object* l_Lean_PrettyPrinter_Delaborator_delabLetE___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Term_type___elambda__1___closed__2; extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_20311____closed__5; @@ -123,10 +124,12 @@ lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabAppMatch(lean_ob extern lean_object* l_myMacro____x40_Init_Notation___hyg_16268____closed__8; lean_object* l_Lean_PrettyPrinter_Delaborator_delabConst___closed__3; lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabMData___closed__1; +extern lean_object* l_Lean_Parser_Term_subst___elambda__1___closed__1; lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_skippingBinders(lean_object*); lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabNamedPattern___closed__1; lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_skippingBinders_loop___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabCoeFun(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabSort_match__2(lean_object*); @@ -189,7 +192,6 @@ extern lean_object* l_Lean_PrettyPrinter_Delaborator_withAppFn___rarg___closed__ uint8_t l_Lean_Name_isPrefixOf(lean_object*, lean_object*); lean_object* l_Lean_Expr_getOptParamDefault_x3f(lean_object*); lean_object* lean_string_utf8_extract(lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; lean_object* l_Lean_PrettyPrinter_Delaborator_delabMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabNil___closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_delabMVar___closed__4; @@ -274,9 +276,9 @@ lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabApp lean_object* l_Lean_PrettyPrinter_Delaborator_delabDo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabOfScientific___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabSort_match__1___rarg(lean_object*, lean_object*, lean_object*); +extern lean_object* l_myMacro____x40_Init_Notation___hyg_8668____closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_delabListToArray___closed__2; lean_object* l_Lean_Syntax_mkApp(lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Delaborator_delabDo___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabConst___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabTuple___closed__2; lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_skippingBinders_loop___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -324,12 +326,12 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_delabCoe___lambda__1___boxed(lean_ lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppExplicit_match__1(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabMData___closed__1; lean_object* l_Lean_getConstInfo___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Delaborator_delabSorryAx___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_myMacro____x40_Init_Notation___hyg_17039____closed__4; lean_object* l_Lean_PrettyPrinter_Delaborator_delabDo___closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_withAppFn___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabProjectionApp___closed__1; lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabTuple___closed__1; +lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___boxed(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Term_doLetArrow___elambda__1___closed__2; extern lean_object* l_stx___x3f___closed__3; extern lean_object* l_Lean_instQuoteProd___rarg___closed__1; @@ -358,6 +360,7 @@ lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabAppMatch___close lean_object* l_Lean_PrettyPrinter_Delaborator_delabSorryAx(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_skippingBinders___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabNamedPattern___closed__2; +lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqRec(lean_object*); extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18784____closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_delabStructureInstance(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabSorryAx___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -367,6 +370,7 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_delabOfScientific___closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_delabIte___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_instantiate_type_lparams(lean_object*, lean_object*); uint8_t l_Lean_Elab_Term_blockImplicitLambda(lean_object*); +lean_object* l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_15342____closed__3; lean_object* l_Lean_PrettyPrinter_Delaborator_delabDoElems___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabOfNat___closed__1; @@ -411,6 +415,7 @@ lean_object* l_Lean_getStructureFields(lean_object*, lean_object*); lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_shouldGroupWithNext___closed__2; lean_object* lean_array_to_list(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabDIte_delabBranch(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Name_isAtomic(lean_object*); extern lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__4; @@ -457,16 +462,17 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppMatch_match__2___rarg(lean lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_unresolveOpenDecls(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedSyntax; lean_object* l_Lean_PrettyPrinter_Delaborator_getUnusedName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Delaborator_delabEqRec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabSorryAx___closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___closed__7; lean_object* l_Lean_PrettyPrinter_Delaborator_delabStructureInstance___closed__3; -lean_object* l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabForall(lean_object*); lean_object* l_Lean_mkSepArray(lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabSort(lean_object*); lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_unresolveUsingNamespace_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabForall___closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_descend___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_delabOfNat___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppMatch_match__1___rarg(lean_object*, lean_object*, lean_object*); uint8_t l_Array_anyMUnsafe_any___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__3(lean_object*, lean_object*, size_t, size_t); @@ -477,7 +483,6 @@ lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabApp lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabAppExplicit___closed__1; extern lean_object* l_myMacro____x40_Init_Notation___hyg_14734____closed__13; lean_object* l_Lean_PrettyPrinter_Delaborator_delabSort___closed__1; -lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getConstInfo___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapIdxM_map___at___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabPatterns___spec__1___closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_delabDIte___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -505,17 +510,19 @@ lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_expandCoe___spec__7___rarg size_t l_USize_land(size_t, size_t); lean_object* l_Lean_PrettyPrinter_Delaborator_delabOfNat(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_projectionFnInfoExt; +lean_object* l_Lean_PrettyPrinter_Delaborator_delabEqNDRec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__1; lean_object* l_Array_mapIdxM_map___at___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabPatterns___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_getPPCoercions___boxed(lean_object*); extern lean_object* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__4; -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabDo___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_nullKind___closed__2; lean_object* l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___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_PrettyPrinter_Delaborator_delabFVar_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_NotationExtra___hyg_5248____closed__6; +extern lean_object* l_Lean_Meta_mkEqNDRec___closed__1; extern lean_object* l_myMacro____x40_Init_Notation___hyg_15152____closed__1; uint8_t l_Lean_Syntax_isNodeOf(lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabStructureInstance___spec__2(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); @@ -531,7 +538,6 @@ lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabApp lean_object* l_Lean_PrettyPrinter_Delaborator_delab(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabCoeFun(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_SMap_find_x3f___at_Lean_PrettyPrinter_Delaborator_delabAppWithUnexpander_go___spec__2___boxed(lean_object*, lean_object*); -lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(lean_object*, lean_object*, lean_object*); uint8_t l_List_elem___at_Lean_NameHashSet_insert___spec__2(lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Term_prop___elambda__1___closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_delabDoElems(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -544,7 +550,6 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_delabProj___closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_delabMVar___closed__1; lean_object* l_List_redLength___rarg(lean_object*); lean_object* l_Std_PersistentHashMap_findAux___at_Lean_PrettyPrinter_Delaborator_delabAppWithUnexpander_go___spec__4(lean_object*, size_t, lean_object*); -extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; lean_object* l_Lean_PrettyPrinter_Delaborator_delabStructureInstance___lambda__5___closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_delabOfNat___closed__2; lean_object* l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___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*); @@ -616,6 +621,7 @@ lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_getParam lean_object* lean_panic_fn(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabStructureInstance___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabConsList(lean_object*); +lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabDoElems___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_AppMatchState_rhss___default; lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabDIte(lean_object*); @@ -632,6 +638,7 @@ extern lean_object* l_Array_forInUnsafe_loop___at___private_Init_NotationExtra_0 lean_object* l_Lean_PrettyPrinter_Delaborator_delabLetE___closed__2; lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_getParamKinds___spec__1___closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_delabLit_match__2(lean_object*); +lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__3; lean_object* l_Lean_PrettyPrinter_Delaborator_delabIte___closed__1; extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_23499____closed__8; lean_object* l_Std_AssocList_find_x3f___at_Lean_PrettyPrinter_Delaborator_delabAppWithUnexpander_go___spec__7(lean_object*, lean_object*); @@ -682,6 +689,7 @@ uint8_t l_Lean_Expr_hasLooseBVars(lean_object*); lean_object* l_Std_HashMapImp_find_x3f___at_Lean_PrettyPrinter_Delaborator_delabAppWithUnexpander_go___spec__6___boxed(lean_object*, lean_object*); lean_object* l_Lean_Meta_getMVarDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_termIfThenElse___closed__2; +extern lean_object* l_Lean_PrettyPrinter_Delaborator_delab___closed__4; lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_skippingBinders_loop(lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_16821____closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_delabStructureInstance_match__2___rarg(lean_object*, lean_object*, lean_object*); @@ -716,11 +724,13 @@ lean_object* l_Std_PersistentHashMap_findAux___at_Lean_PrettyPrinter_Delaborator lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabAppWithUnexpander(lean_object*); extern lean_object* l_Lean_Parser_Term_doLet___elambda__1___closed__2; extern lean_object* l_myMacro____x40_Init_Notation___hyg_2278____closed__4; +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_termDepIfThenElse___closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_prec_x28___x29___closed__3; lean_object* l_Lean_MapDeclarationExtension_find_x3f___at_Lean_Environment_getProjectionFnInfo_x3f___spec__1(lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_21281____closed__3; lean_object* lean_mk_syntax_ident(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppImplicit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabProjectionApp___closed__1; @@ -730,7 +740,6 @@ lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_2526____closed__1; lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabBVar___closed__1; extern lean_object* l_Lean_mkOptionalNode___closed__2; -lean_object* l_Lean_PrettyPrinter_Delaborator_delabDo___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__5; lean_object* l_Std_RBNode_insert___at_Lean_PrettyPrinter_Delaborator_delabMData___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabDoElems___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -739,7 +748,6 @@ lean_object* l_Lean_Expr_getAppFn(lean_object*); extern lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__9; extern lean_object* l_Lean_Parser_Term_doPatDecl___elambda__1___closed__2; lean_object* l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_PrettyPrinter_Delaborator_delabDo___lambda__2___closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppWithUnexpander___closed__1; lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_expandExplicitBindersAux_loop___closed__4; @@ -764,6 +772,7 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2___boxed(le lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabDo___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Tactic_rwRule___closed__3; lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__2; lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabBinders___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isProp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -784,6 +793,7 @@ lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyP extern lean_object* l_myMacro____x40_Init_Notation___hyg_14734____closed__8; lean_object* l_Lean_Expr_isConstructorApp_x3f(lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabStructureInstance_match__1(lean_object*); +lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__1; lean_object* l_Lean_mkConst(lean_object*, lean_object*); lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabPatterns___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabOfScientific___closed__2; @@ -827,14 +837,13 @@ extern lean_object* l_myMacro____x40_Init_Notation___hyg_14734____closed__10; lean_object* l_Lean_PrettyPrinter_Delaborator_AppMatchState_varNames___default; lean_object* l_Lean_PrettyPrinter_Delaborator_delabNamedPattern(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabNil(lean_object*); -lean_object* l_Lean_PrettyPrinter_Delaborator_delabSorryAx___lambda__2___closed__1; uint8_t lean_string_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_Syntax_mkLit(lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); +extern lean_object* l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; lean_object* l_Lean_PrettyPrinter_Delaborator_delabStructureInstance___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_isIdent(lean_object*); lean_object* l_Lean_getPPBinderTypes___boxed(lean_object*); -lean_object* l_Lean_PrettyPrinter_Delaborator_delabSorryAx___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabFVar_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { @@ -1215,26 +1224,6 @@ x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_delabMVar_matc return x_2; } } -lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_4 = lean_ctor_get(x_1, 3); -x_5 = l_Lean_SourceInfo_fromRef(x_4); -x_6 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_6, 0, x_5); -lean_ctor_set(x_6, 1, x_3); -return x_6; -} -} -lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = lean_alloc_closure((void*)(l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg___boxed), 3, 0); -return x_4; -} -} static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabMVar___closed__1() { _start: { @@ -1305,7 +1294,7 @@ lean_dec(x_24); x_27 = lean_ctor_get(x_25, 0); lean_inc(x_27); lean_dec(x_25); -x_28 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_4, x_5, x_26); +x_28 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_4, x_5, x_26); lean_dec(x_5); lean_dec(x_4); if (lean_obj_tag(x_27) == 0) @@ -1400,27 +1389,6 @@ return x_18; } } } -lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_1, x_2, x_3); -lean_dec(x_2); -lean_dec(x_1); -return x_4; -} -} -lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1(x_1, x_2, x_3); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -return x_4; -} -} static lean_object* _init_l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabMVar___closed__1() { _start: { @@ -1610,7 +1578,7 @@ lean_dec(x_9); x_10 = lean_ctor_get(x_7, 1); lean_inc(x_10); lean_dec(x_7); -x_11 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_4, x_5, x_10); +x_11 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_4, x_5, x_10); lean_dec(x_5); lean_dec(x_4); x_12 = !lean_is_exclusive(x_11); @@ -1668,7 +1636,7 @@ lean_dec(x_9); x_30 = lean_ctor_get(x_7, 1); lean_inc(x_30); lean_dec(x_7); -x_31 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_4, x_5, x_30); +x_31 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_4, x_5, x_30); lean_dec(x_5); lean_dec(x_4); x_32 = !lean_is_exclusive(x_31); @@ -1728,7 +1696,7 @@ x_54 = l_Lean_Level_dec(x_9); if (lean_obj_tag(x_54) == 0) { lean_object* x_55; uint8_t x_56; -x_55 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_4, x_5, x_53); +x_55 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_4, x_5, x_53); lean_dec(x_5); lean_dec(x_4); x_56 = !lean_is_exclusive(x_55); @@ -1796,7 +1764,7 @@ lean_dec(x_9); x_85 = lean_ctor_get(x_54, 0); lean_inc(x_85); lean_dec(x_54); -x_86 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_4, x_5, x_53); +x_86 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_4, x_5, x_53); lean_dec(x_5); lean_dec(x_4); x_87 = !lean_is_exclusive(x_86); @@ -1869,7 +1837,7 @@ x_117 = l_Lean_Level_dec(x_9); if (lean_obj_tag(x_117) == 0) { lean_object* x_118; uint8_t x_119; -x_118 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_4, x_5, x_116); +x_118 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_4, x_5, x_116); lean_dec(x_5); lean_dec(x_4); x_119 = !lean_is_exclusive(x_118); @@ -1937,7 +1905,7 @@ lean_dec(x_9); x_148 = lean_ctor_get(x_117, 0); lean_inc(x_148); lean_dec(x_117); -x_149 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_4, x_5, x_116); +x_149 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_4, x_5, x_116); lean_dec(x_5); lean_dec(x_4); x_150 = !lean_is_exclusive(x_149); @@ -2981,7 +2949,7 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_1); -x_32 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_8, x_9, x_14); +x_32 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_8, x_9, x_14); lean_dec(x_9); lean_dec(x_8); x_33 = !lean_is_exclusive(x_32); @@ -4304,7 +4272,7 @@ return x_21; else { 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; -x_22 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_6, x_7, x_10); +x_22 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_6, x_7, x_10); x_23 = lean_ctor_get(x_22, 0); lean_inc(x_23); x_24 = lean_ctor_get(x_22, 1); @@ -8468,7 +8436,7 @@ lean_inc(x_18); x_19 = lean_ctor_get(x_17, 1); lean_inc(x_19); lean_dec(x_17); -x_20 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_6, x_7, x_19); +x_20 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_6, x_7, x_19); lean_dec(x_7); lean_dec(x_6); x_21 = !lean_is_exclusive(x_20); @@ -8682,7 +8650,7 @@ lean_inc(x_113); x_114 = lean_ctor_get(x_112, 1); lean_inc(x_114); lean_dec(x_112); -x_115 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_6, x_7, x_114); +x_115 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_6, x_7, x_114); lean_dec(x_7); lean_dec(x_6); x_116 = !lean_is_exclusive(x_115); @@ -8868,7 +8836,7 @@ lean_dec(x_4); lean_dec(x_3); x_203 = lean_array_fget(x_9, x_110); lean_dec(x_9); -x_204 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_6, x_7, x_8); +x_204 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_6); x_205 = !lean_is_exclusive(x_204); @@ -11834,14 +11802,6 @@ x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_delab), 6, 0); -return x_1; -} -} lean_object* l_Lean_PrettyPrinter_Delaborator_delabMData(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { @@ -11906,7 +11866,7 @@ x_31 = lean_ctor_get(x_22, 1); lean_inc(x_31); lean_dec(x_22); lean_ctor_set(x_1, 3, x_30); -x_32 = l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; +x_32 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; x_33 = l_Lean_PrettyPrinter_Delaborator_withMDataExpr___rarg(x_32, x_1, x_2, x_3, x_4, x_5, x_31); return x_33; } @@ -11927,7 +11887,7 @@ lean_ctor_set(x_36, 3, x_34); lean_ctor_set(x_36, 4, x_19); lean_ctor_set(x_36, 5, x_20); lean_ctor_set_uint8(x_36, sizeof(void*)*6, x_21); -x_37 = l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; +x_37 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; x_38 = l_Lean_PrettyPrinter_Delaborator_withMDataExpr___rarg(x_37, x_36, x_2, x_3, x_4, x_5, x_35); return x_38; } @@ -11950,7 +11910,7 @@ else { lean_object* x_44; lean_object* x_45; lean_dec(x_10); -x_44 = l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; +x_44 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; lean_inc(x_5); lean_inc(x_4); lean_inc(x_1); @@ -11992,7 +11952,7 @@ lean_inc(x_51); x_52 = lean_ctor_get(x_45, 1); lean_inc(x_52); lean_dec(x_45); -x_53 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_4, x_5, x_52); +x_53 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_4, x_5, x_52); lean_dec(x_5); lean_dec(x_4); x_54 = !lean_is_exclusive(x_53); @@ -13548,7 +13508,7 @@ x_10 = l_Lean_Syntax_isOfKind(x_1, x_9); if (x_10 == 0) { lean_object* x_11; uint8_t x_12; -x_11 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_6, x_7, x_8); +x_11 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_6, x_7, x_8); x_12 = !lean_is_exclusive(x_11); if (x_12 == 0) { @@ -13637,7 +13597,7 @@ if (x_52 == 0) { lean_object* x_53; uint8_t x_54; lean_dec(x_50); -x_53 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_6, x_7, x_8); +x_53 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_6, x_7, x_8); x_54 = !lean_is_exclusive(x_53); if (x_54 == 0) { @@ -13723,7 +13683,7 @@ x_92 = l_Lean_Syntax_getArg(x_50, x_91); lean_dec(x_50); x_93 = l_Lean_Syntax_getArgs(x_90); lean_dec(x_90); -x_94 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_6, x_7, x_8); +x_94 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_6, x_7, x_8); x_95 = !lean_is_exclusive(x_94); if (x_95 == 0) { @@ -13809,7 +13769,7 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__2(lean_object* _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; 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_34; lean_object* x_35; -x_10 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_7, x_8, x_9); +x_10 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_7, x_8, x_9); x_11 = lean_ctor_get(x_10, 0); lean_inc(x_11); x_12 = lean_ctor_get(x_10, 1); @@ -13888,7 +13848,7 @@ lean_inc(x_10); x_11 = lean_ctor_get(x_9, 1); lean_inc(x_11); lean_dec(x_9); -x_12 = l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; +x_12 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); @@ -14083,7 +14043,7 @@ return x_38; else { 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; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_39 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_6, x_7, x_24); +x_39 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_6, x_7, x_24); x_40 = lean_ctor_get(x_39, 1); lean_inc(x_40); lean_dec(x_39); @@ -14119,7 +14079,7 @@ if (x_54 == 0) { 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; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_dec(x_14); -x_55 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_6, x_7, x_24); +x_55 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_6, x_7, x_24); x_56 = lean_ctor_get(x_55, 0); lean_inc(x_56); x_57 = lean_ctor_get(x_55, 1); @@ -14161,7 +14121,7 @@ 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; -x_74 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_6, x_7, x_24); +x_74 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_6, x_7, x_24); x_75 = lean_ctor_get(x_74, 0); lean_inc(x_75); x_76 = lean_ctor_get(x_74, 1); @@ -14215,7 +14175,7 @@ case 3: 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_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_dec(x_26); lean_dec(x_18); -x_97 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_6, x_7, x_24); +x_97 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_6, x_7, x_24); x_98 = lean_ctor_get(x_97, 0); lean_inc(x_98); x_99 = lean_ctor_get(x_97, 1); @@ -14501,7 +14461,7 @@ return x_162; else { lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; -x_163 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_6, x_7, x_148); +x_163 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_6, x_7, x_148); x_164 = lean_ctor_get(x_163, 1); lean_inc(x_164); lean_dec(x_163); @@ -14537,7 +14497,7 @@ if (x_178 == 0) { lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_dec(x_14); -x_179 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_6, x_7, x_148); +x_179 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_6, x_7, x_148); x_180 = lean_ctor_get(x_179, 0); lean_inc(x_180); x_181 = lean_ctor_get(x_179, 1); @@ -14579,7 +14539,7 @@ return x_197; else { lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; -x_198 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_6, x_7, x_148); +x_198 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_6, x_7, x_148); x_199 = lean_ctor_get(x_198, 0); lean_inc(x_199); x_200 = lean_ctor_get(x_198, 1); @@ -14633,7 +14593,7 @@ case 3: lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_dec(x_150); lean_dec(x_18); -x_221 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_6, x_7, x_148); +x_221 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_6, x_7, x_148); x_222 = lean_ctor_get(x_221, 0); lean_inc(x_222); x_223 = lean_ctor_get(x_221, 1); @@ -14908,7 +14868,7 @@ if (x_12 == 0) size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; x_13 = 1; x_14 = x_3 - x_13; -x_15 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_9, x_10, x_11); +x_15 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_9, x_10, x_11); x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); x_17 = lean_ctor_get(x_15, 1); @@ -14953,7 +14913,7 @@ if (x_12 == 0) size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; x_13 = 1; x_14 = x_3 - x_13; -x_15 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_9, x_10, x_11); +x_15 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_9, x_10, x_11); x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); x_17 = lean_ctor_get(x_15, 1); @@ -15034,7 +14994,7 @@ if (x_12 == 0) size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; x_13 = 1; x_14 = x_3 - x_13; -x_15 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_9, x_10, x_11); +x_15 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_9, x_10, x_11); x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); x_17 = lean_ctor_get(x_15, 1); @@ -15079,7 +15039,7 @@ if (x_12 == 0) size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; x_13 = 1; x_14 = x_3 - x_13; -x_15 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_9, x_10, x_11); +x_15 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_9, x_10, x_11); x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); x_17 = lean_ctor_get(x_15, 1); @@ -15160,7 +15120,7 @@ if (x_12 == 0) size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; x_13 = 1; x_14 = x_3 - x_13; -x_15 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_9, x_10, x_11); +x_15 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_9, x_10, x_11); x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); x_17 = lean_ctor_get(x_15, 1); @@ -15205,7 +15165,7 @@ if (x_12 == 0) size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; x_13 = 1; x_14 = x_3 - x_13; -x_15 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_9, x_10, x_11); +x_15 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_9, x_10, x_11); x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); x_17 = lean_ctor_get(x_15, 1); @@ -15282,7 +15242,7 @@ _start: if (x_1 == 0) { lean_object* x_10; uint8_t x_11; -x_10 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_7, x_8, x_9); +x_10 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_7, x_8, x_9); x_11 = !lean_is_exclusive(x_10); if (x_11 == 0) { @@ -15338,7 +15298,7 @@ x_33 = l_Lean_Syntax_isOfKind(x_2, x_32); if (x_33 == 0) { lean_object* x_34; uint8_t x_35; -x_34 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_7, x_8, x_9); +x_34 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_7, x_8, x_9); x_35 = !lean_is_exclusive(x_34); if (x_35 == 0) { @@ -15415,7 +15375,7 @@ x_69 = l_Lean_Syntax_getArg(x_2, x_68); lean_dec(x_2); x_70 = l_Lean_Syntax_getArgs(x_67); lean_dec(x_67); -x_71 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_7, x_8, x_9); +x_71 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_7, x_8, x_9); x_72 = !lean_is_exclusive(x_71); if (x_72 == 0) { @@ -15493,7 +15453,7 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2(lean_objec _start: { lean_object* x_11; lean_object* x_12; -x_11 = l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; +x_11 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); @@ -15587,7 +15547,7 @@ lean_dec(x_13); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_83 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_8, x_9, x_53); +x_83 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_8, x_9, x_53); lean_dec(x_9); lean_dec(x_8); x_84 = !lean_is_exclusive(x_83); @@ -15692,7 +15652,7 @@ block_80: { 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; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; 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_dec(x_54); -x_55 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_8, x_9, x_53); +x_55 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_8, x_9, x_53); x_56 = lean_ctor_get(x_55, 0); lean_inc(x_56); x_57 = lean_ctor_get(x_55, 1); @@ -15869,7 +15829,7 @@ case 1: { 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; lean_object* x_153; lean_object* x_154; lean_dec(x_15); -x_132 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_8, x_9, x_14); +x_132 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_8, x_9, x_14); x_133 = lean_ctor_get(x_132, 0); lean_inc(x_133); x_134 = lean_ctor_get(x_132, 1); @@ -15986,7 +15946,7 @@ lean_dec(x_13); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_221 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_8, x_9, x_191); +x_221 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_8, x_9, x_191); lean_dec(x_9); lean_dec(x_8); x_222 = !lean_is_exclusive(x_221); @@ -16091,7 +16051,7 @@ block_218: { lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_dec(x_192); -x_193 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_8, x_9, x_191); +x_193 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_8, x_9, x_191); x_194 = lean_ctor_get(x_193, 0); lean_inc(x_194); x_195 = lean_ctor_get(x_193, 1); @@ -16268,7 +16228,7 @@ case 3: { lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_dec(x_15); -x_270 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_8, x_9, x_14); +x_270 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_8, x_9, x_14); x_271 = lean_ctor_get(x_270, 0); lean_inc(x_271); x_272 = lean_ctor_get(x_270, 1); @@ -16382,7 +16342,7 @@ lean_dec(x_13); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_358 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_8, x_9, x_328); +x_358 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_8, x_9, x_328); lean_dec(x_9); lean_dec(x_8); x_359 = !lean_is_exclusive(x_358); @@ -16487,7 +16447,7 @@ block_355: { lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_dec(x_329); -x_330 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_8, x_9, x_328); +x_330 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_8, x_9, x_328); x_331 = lean_ctor_get(x_330, 0); lean_inc(x_331); x_332 = lean_ctor_get(x_330, 1); @@ -17067,7 +17027,7 @@ _start: lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; x_9 = lean_expr_instantiate1(x_1, x_2); x_10 = lean_unsigned_to_nat(2u); -x_11 = l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; +x_11 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; x_12 = l_Lean_PrettyPrinter_Delaborator_descend___rarg(x_9, x_10, x_11, x_3, x_4, x_5, x_6, x_7, x_8); return x_12; } @@ -17125,7 +17085,7 @@ x_16 = lean_ctor_get(x_14, 1); lean_inc(x_16); lean_dec(x_14); x_17 = lean_unsigned_to_nat(0u); -x_18 = l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; +x_18 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); @@ -17171,7 +17131,7 @@ lean_inc(x_28); x_29 = lean_ctor_get(x_27, 1); lean_inc(x_29); lean_dec(x_27); -x_30 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_4, x_5, x_29); +x_30 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_4, x_5, x_29); lean_dec(x_5); lean_dec(x_4); x_31 = !lean_is_exclusive(x_30); @@ -19010,7 +18970,7 @@ lean_dec(x_7); x_10 = lean_ctor_get(x_8, 1); lean_inc(x_10); lean_dec(x_8); -x_11 = l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; +x_11 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; lean_inc(x_5); lean_inc(x_4); x_12 = l_Lean_PrettyPrinter_Delaborator_withProj___rarg(x_11, x_1, x_2, x_3, x_4, x_5, x_9); @@ -19029,7 +18989,7 @@ x_17 = l_Nat_repr(x_16); x_18 = l_Lean_fieldIdxKind; x_19 = lean_box(2); x_20 = l_Lean_Syntax_mkLit(x_18, x_17, x_19); -x_21 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_4, x_5, x_14); +x_21 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_4, x_5, x_14); lean_dec(x_5); lean_dec(x_4); x_22 = !lean_is_exclusive(x_21); @@ -19368,7 +19328,7 @@ lean_dec(x_23); x_29 = lean_ctor_get(x_26, 1); lean_inc(x_29); lean_dec(x_26); -x_30 = l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; +x_30 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; lean_inc(x_6); lean_inc(x_5); x_31 = l_Lean_PrettyPrinter_Delaborator_withAppArg___rarg(x_30, x_2, x_3, x_4, x_5, x_6, x_29); @@ -19380,7 +19340,7 @@ lean_inc(x_32); x_33 = lean_ctor_get(x_31, 1); lean_inc(x_33); lean_dec(x_31); -x_34 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_5, x_6, x_33); +x_34 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_5, x_6, x_33); lean_dec(x_6); lean_dec(x_5); x_35 = !lean_is_exclusive(x_34); @@ -19501,7 +19461,7 @@ return x_72; else { lean_object* x_73; lean_object* x_74; -x_73 = l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; +x_73 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; lean_inc(x_6); lean_inc(x_5); x_74 = l_Lean_PrettyPrinter_Delaborator_withAppArg___rarg(x_73, x_2, x_3, x_4, x_5, x_6, x_66); @@ -19513,7 +19473,7 @@ lean_inc(x_75); x_76 = lean_ctor_get(x_74, 1); lean_inc(x_76); lean_dec(x_74); -x_77 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_5, x_6, x_76); +x_77 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_5, x_6, x_76); lean_dec(x_6); lean_dec(x_5); x_78 = !lean_is_exclusive(x_77); @@ -19974,7 +19934,7 @@ lean_inc(x_17); x_18 = lean_ctor_get(x_16, 1); lean_inc(x_18); lean_dec(x_16); -x_19 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_8, x_9, x_18); +x_19 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_8, x_9, x_18); lean_dec(x_9); lean_dec(x_8); x_20 = !lean_is_exclusive(x_19); @@ -20139,7 +20099,7 @@ lean_inc(x_77); x_78 = lean_ctor_get(x_76, 1); lean_inc(x_78); lean_dec(x_76); -x_79 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_8, x_9, x_78); +x_79 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_8, x_9, x_78); lean_dec(x_9); lean_dec(x_8); x_80 = lean_ctor_get(x_79, 0); @@ -20255,7 +20215,7 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_delabStructureInstance___lambda__3 _start: { lean_object* x_11; uint8_t x_12; -x_11 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_8, x_9, x_10); +x_11 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_8, x_9, x_10); x_12 = !lean_is_exclusive(x_11); if (x_12 == 0) { @@ -20475,7 +20435,7 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_delabStructureInstance___lambda__4 _start: { lean_object* x_11; uint8_t x_12; -x_11 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_8, x_9, x_10); +x_11 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_8, x_9, x_10); x_12 = !lean_is_exclusive(x_11); if (x_12 == 0) { @@ -20944,7 +20904,7 @@ x_47 = lean_ctor_get(x_45, 1); lean_inc(x_47); lean_dec(x_45); x_48 = lean_unsigned_to_nat(2u); -x_49 = l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; +x_49 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); @@ -21212,7 +21172,7 @@ static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabTuple___lambda__ _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; +x_1 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_withAppArg___rarg), 7, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -21278,7 +21238,7 @@ lean_inc(x_11); x_12 = lean_ctor_get(x_10, 1); lean_inc(x_12); lean_dec(x_10); -x_13 = l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; +x_13 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; lean_inc(x_6); lean_inc(x_5); x_14 = l_Lean_PrettyPrinter_Delaborator_withAppArg___rarg(x_13, x_2, x_3, x_4, x_5, x_6, x_12); @@ -21296,7 +21256,7 @@ x_18 = l_Lean_Syntax_isOfKind(x_15, x_17); if (x_18 == 0) { lean_object* x_19; uint8_t x_20; -x_19 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_5, x_6, x_16); +x_19 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_5, x_6, x_16); lean_dec(x_6); lean_dec(x_5); x_20 = !lean_is_exclusive(x_19); @@ -21416,7 +21376,7 @@ if (x_75 == 0) { lean_object* x_76; uint8_t x_77; lean_dec(x_72); -x_76 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_5, x_6, x_16); +x_76 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_5, x_6, x_16); lean_dec(x_6); lean_dec(x_5); x_77 = !lean_is_exclusive(x_76); @@ -21537,7 +21497,7 @@ if (x_131 == 0) lean_object* x_132; uint8_t x_133; lean_dec(x_130); lean_dec(x_129); -x_132 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_5, x_6, x_16); +x_132 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_5, x_6, x_16); lean_dec(x_6); lean_dec(x_5); x_133 = !lean_is_exclusive(x_132); @@ -21657,7 +21617,7 @@ if (x_186 == 0) lean_object* x_187; uint8_t x_188; lean_dec(x_184); lean_dec(x_129); -x_187 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_5, x_6, x_16); +x_187 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_5, x_6, x_16); lean_dec(x_6); lean_dec(x_5); x_188 = !lean_is_exclusive(x_187); @@ -21770,7 +21730,7 @@ x_237 = l_Lean_Syntax_getArg(x_184, x_71); lean_dec(x_184); x_238 = l_Lean_Syntax_getArgs(x_237); lean_dec(x_237); -x_239 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_5, x_6, x_16); +x_239 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_5, x_6, x_16); lean_dec(x_6); lean_dec(x_5); x_240 = !lean_is_exclusive(x_239); @@ -22106,7 +22066,7 @@ lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_free_object(x_9); x_20 = l_Lean_Syntax_getArgs(x_17); lean_dec(x_17); -x_21 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_5, x_6, x_12); +x_21 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_5, x_6, x_12); lean_dec(x_6); lean_dec(x_5); x_22 = !lean_is_exclusive(x_21); @@ -22209,7 +22169,7 @@ if (x_58 == 0) lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; 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; x_59 = l_Lean_Syntax_getArgs(x_56); lean_dec(x_56); -x_60 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_5, x_6, x_51); +x_60 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_5, x_6, x_51); lean_dec(x_6); lean_dec(x_5); x_61 = lean_ctor_get(x_60, 1); @@ -22430,7 +22390,7 @@ return x_16; else { lean_object* x_17; uint8_t x_18; -x_17 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_5, x_6, x_7); +x_17 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_5, x_6, x_7); x_18 = !lean_is_exclusive(x_17); if (x_18 == 0) { @@ -22634,7 +22594,7 @@ lean_inc(x_11); x_12 = lean_ctor_get(x_10, 1); lean_inc(x_12); lean_dec(x_10); -x_13 = l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; +x_13 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; lean_inc(x_6); lean_inc(x_5); x_14 = l_Lean_PrettyPrinter_Delaborator_withAppArg___rarg(x_13, x_2, x_3, x_4, x_5, x_6, x_12); @@ -22674,7 +22634,7 @@ if (x_24 == 0) lean_object* x_25; lean_object* x_26; uint8_t x_27; x_25 = l_Lean_Syntax_getArgs(x_21); lean_dec(x_21); -x_26 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_5, x_6, x_16); +x_26 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_5, x_6, x_16); lean_dec(x_6); lean_dec(x_5); x_27 = !lean_is_exclusive(x_26); @@ -22761,7 +22721,7 @@ else { lean_object* x_64; uint8_t x_65; lean_dec(x_21); -x_64 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_5, x_6, x_16); +x_64 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_5, x_6, x_16); lean_dec(x_6); lean_dec(x_5); x_65 = !lean_is_exclusive(x_64); @@ -22999,7 +22959,7 @@ goto block_55; block_55: { lean_object* x_9; lean_object* x_10; -x_9 = l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; +x_9 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; lean_inc(x_6); lean_inc(x_5); x_10 = l_Lean_PrettyPrinter_Delaborator_withAppArg___rarg(x_9, x_2, x_3, x_4, x_5, x_6, x_8); @@ -23031,7 +22991,7 @@ x_17 = l_Lean_Syntax_getArg(x_11, x_16); lean_dec(x_11); x_18 = l_Lean_Syntax_getArgs(x_17); lean_dec(x_17); -x_19 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_5, x_6, x_12); +x_19 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_5, x_6, x_12); lean_dec(x_6); lean_dec(x_5); x_20 = !lean_is_exclusive(x_19); @@ -23301,7 +23261,7 @@ lean_inc(x_15); x_16 = lean_ctor_get(x_14, 1); lean_inc(x_16); lean_dec(x_14); -x_17 = l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; +x_17 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; lean_inc(x_6); lean_inc(x_5); x_18 = l_Lean_PrettyPrinter_Delaborator_withAppArg___rarg(x_17, x_2, x_3, x_4, x_5, x_6, x_16); @@ -23313,7 +23273,7 @@ lean_inc(x_19); x_20 = lean_ctor_get(x_18, 1); lean_inc(x_20); lean_dec(x_18); -x_21 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_5, x_6, x_20); +x_21 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_5, x_6, x_20); lean_dec(x_6); lean_dec(x_5); x_22 = !lean_is_exclusive(x_21); @@ -23720,7 +23680,7 @@ lean_object* x_19; lean_object* x_20; lean_object* x_21; x_19 = lean_ctor_get(x_1, 0); lean_inc(x_19); lean_dec(x_1); -x_20 = l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; +x_20 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; lean_inc(x_19); x_21 = l_Lean_PrettyPrinter_Delaborator_withBindingBody___rarg(x_19, x_20, x_2, x_3, x_4, x_5, x_6, x_10); if (lean_obj_tag(x_21) == 0) @@ -23909,7 +23869,7 @@ lean_dec(x_21); x_24 = lean_ctor_get(x_22, 0); lean_inc(x_24); lean_dec(x_22); -x_25 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_5, x_6, x_23); +x_25 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_5, x_6, x_23); lean_dec(x_6); lean_dec(x_5); x_26 = !lean_is_exclusive(x_25); @@ -24222,7 +24182,7 @@ lean_inc(x_10); x_11 = lean_ctor_get(x_9, 1); lean_inc(x_11); lean_dec(x_9); -x_12 = l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; +x_12 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; lean_inc(x_5); lean_inc(x_4); x_13 = l_Lean_PrettyPrinter_Delaborator_withAppArg___rarg(x_12, x_1, x_2, x_3, x_4, x_5, x_11); @@ -24265,7 +24225,7 @@ return x_21; else { lean_object* x_22; uint8_t x_23; -x_22 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_4, x_5, x_15); +x_22 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_4, x_5, x_15); lean_dec(x_5); lean_dec(x_4); x_23 = !lean_is_exclusive(x_22); @@ -24602,7 +24562,7 @@ static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabDoElems___lambda _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___boxed), 3, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___boxed), 3, 0); return x_1; } } @@ -24632,7 +24592,7 @@ _start: lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; x_9 = l_Array_empty___closed__1; x_10 = lean_array_push(x_9, x_1); -x_11 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_11 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_12 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_12, 0, x_11); lean_ctor_set(x_12, 1, x_10); @@ -24794,7 +24754,7 @@ lean_inc(x_15); x_16 = lean_ctor_get(x_14, 1); lean_inc(x_16); lean_dec(x_14); -x_17 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_4, x_5, x_16); +x_17 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_4, x_5, x_16); lean_dec(x_5); lean_dec(x_4); x_18 = !lean_is_exclusive(x_17); @@ -24805,7 +24765,7 @@ x_19 = lean_ctor_get(x_17, 0); lean_dec(x_19); x_20 = l_Array_empty___closed__1; x_21 = lean_array_push(x_20, x_15); -x_22 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_22 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_23 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_23, 0, x_22); lean_ctor_set(x_23, 1, x_21); @@ -24824,7 +24784,7 @@ lean_inc(x_26); lean_dec(x_17); x_27 = l_Array_empty___closed__1; x_28 = lean_array_push(x_27, x_15); -x_29 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__13; +x_29 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__13; x_30 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_30, 0, x_29); lean_ctor_set(x_30, 1, x_28); @@ -24894,7 +24854,7 @@ x_47 = lean_ctor_get(x_45, 1); lean_inc(x_47); lean_dec(x_45); x_48 = lean_unsigned_to_nat(0u); -x_49 = l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3; +x_49 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); @@ -25153,7 +25113,7 @@ 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 = x_13; -x_17 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_7, x_8, x_9); +x_17 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_7, x_8, x_9); x_18 = lean_ctor_get(x_17, 1); lean_inc(x_18); lean_dec(x_17); @@ -25161,7 +25121,7 @@ x_19 = l_Array_empty___closed__1; x_20 = lean_array_push(x_19, x_16); x_21 = l_myMacro____x40_Init_Notation___hyg_1481____closed__8; x_22 = lean_array_push(x_20, x_21); -x_23 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__11; +x_23 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__11; x_24 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_24, 0, x_23); lean_ctor_set(x_24, 1, x_22); @@ -25188,228 +25148,215 @@ return x_2; lean_object* l_Lean_PrettyPrinter_Delaborator_delabDo___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_8; lean_object* x_66; lean_object* x_67; uint8_t x_68; +x_66 = l_myMacro____x40_Init_Notation___hyg_13436____closed__7; +x_67 = lean_unsigned_to_nat(6u); +x_68 = l_Lean_Expr_isAppOfArity(x_1, x_66, x_67); +if (x_68 == 0) +{ +lean_object* x_69; uint8_t x_70; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_69 = l_Lean_PrettyPrinter_Delaborator_failure___rarg(x_7); +x_70 = !lean_is_exclusive(x_69); +if (x_70 == 0) +{ +return x_69; +} +else +{ +lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_71 = lean_ctor_get(x_69, 0); +x_72 = lean_ctor_get(x_69, 1); +lean_inc(x_72); +lean_inc(x_71); +lean_dec(x_69); +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 +{ +x_8 = x_7; +goto block_65; +} +block_65: +{ +lean_object* x_9; lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_8 = l_Lean_PrettyPrinter_Delaborator_delabDoElems(x_2, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_8) == 0) +x_9 = l_Lean_PrettyPrinter_Delaborator_delabDoElems(x_2, x_3, x_4, x_5, x_6, x_8); +if (lean_obj_tag(x_9) == 0) { -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; size_t 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; -x_9 = lean_ctor_get(x_8, 0); -lean_inc(x_9); -x_10 = lean_ctor_get(x_8, 1); +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; size_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; +x_10 = lean_ctor_get(x_9, 0); lean_inc(x_10); -lean_dec(x_8); -x_11 = l_List_redLength___rarg(x_9); -x_12 = lean_mk_empty_array_with_capacity(x_11); -lean_dec(x_11); -x_13 = l_List_toArrayAux___rarg(x_9, x_12); -x_14 = lean_array_get_size(x_13); -x_15 = lean_usize_of_nat(x_14); -lean_dec(x_14); -x_16 = x_13; -x_17 = lean_box_usize(x_15); -x_18 = l_Lean_PrettyPrinter_Delaborator_delabDo___lambda__1___boxed__const__1; -x_19 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabDo___spec__1___boxed), 9, 3); -lean_closure_set(x_19, 0, x_17); -lean_closure_set(x_19, 1, x_18); -lean_closure_set(x_19, 2, x_16); -x_20 = x_19; +x_11 = lean_ctor_get(x_9, 1); +lean_inc(x_11); +lean_dec(x_9); +x_12 = l_List_redLength___rarg(x_10); +x_13 = lean_mk_empty_array_with_capacity(x_12); +lean_dec(x_12); +x_14 = l_List_toArrayAux___rarg(x_10, x_13); +x_15 = lean_array_get_size(x_14); +x_16 = lean_usize_of_nat(x_15); +lean_dec(x_15); +x_17 = x_14; +x_18 = lean_box_usize(x_16); +x_19 = l_Lean_PrettyPrinter_Delaborator_delabDo___lambda__1___boxed__const__1; +x_20 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabDo___spec__1___boxed), 9, 3); +lean_closure_set(x_20, 0, x_18); +lean_closure_set(x_20, 1, x_19); +lean_closure_set(x_20, 2, x_17); +x_21 = x_20; lean_inc(x_6); lean_inc(x_5); -x_21 = lean_apply_6(x_20, x_2, x_3, x_4, x_5, x_6, x_10); -if (lean_obj_tag(x_21) == 0) +x_22 = lean_apply_6(x_21, x_2, x_3, x_4, x_5, x_6, x_11); +if (lean_obj_tag(x_22) == 0) { -lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; -x_22 = lean_ctor_get(x_21, 0); -lean_inc(x_22); -x_23 = lean_ctor_get(x_21, 1); +lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; +x_23 = lean_ctor_get(x_22, 0); lean_inc(x_23); -lean_dec(x_21); -x_24 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_5, x_6, x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +x_25 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_5, x_6, x_24); lean_dec(x_6); lean_dec(x_5); -x_25 = !lean_is_exclusive(x_24); -if (x_25 == 0) +x_26 = !lean_is_exclusive(x_25); +if (x_26 == 0) { -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; -x_26 = lean_ctor_get(x_24, 0); -x_27 = l_Lean_Parser_myMacro____x40_Lean_Parser_Extra___hyg_276____closed__1; -x_28 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -x_29 = l_Array_empty___closed__1; -x_30 = lean_array_push(x_29, x_28); -x_31 = l_Array_appendCore___rarg(x_29, x_22); -lean_dec(x_22); -x_32 = l_Lean_nullKind___closed__2; -x_33 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_33, 0, x_32); -lean_ctor_set(x_33, 1, x_31); -x_34 = lean_array_push(x_29, x_33); -x_35 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; -x_36 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_36, 0, x_35); -lean_ctor_set(x_36, 1, x_34); -x_37 = lean_array_push(x_30, x_36); -x_38 = l_Lean_Parser_myMacro____x40_Lean_Parser_Extra___hyg_276____closed__2; -x_39 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -lean_ctor_set(x_24, 0, x_39); -return x_24; +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; +x_27 = lean_ctor_get(x_25, 0); +x_28 = l_Lean_Parser_myMacro____x40_Lean_Parser_Extra___hyg_276____closed__1; +x_29 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +x_30 = l_Array_empty___closed__1; +x_31 = lean_array_push(x_30, x_29); +x_32 = l_Array_appendCore___rarg(x_30, x_23); +lean_dec(x_23); +x_33 = l_Lean_nullKind___closed__2; +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_33); +lean_ctor_set(x_34, 1, x_32); +x_35 = lean_array_push(x_30, x_34); +x_36 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; +x_37 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_37, 0, x_36); +lean_ctor_set(x_37, 1, x_35); +x_38 = lean_array_push(x_31, x_37); +x_39 = l_Lean_Parser_myMacro____x40_Lean_Parser_Extra___hyg_276____closed__2; +x_40 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +lean_ctor_set(x_25, 0, x_40); +return x_25; } 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_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_40 = lean_ctor_get(x_24, 0); -x_41 = lean_ctor_get(x_24, 1); +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; 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_41 = lean_ctor_get(x_25, 0); +x_42 = lean_ctor_get(x_25, 1); +lean_inc(x_42); lean_inc(x_41); -lean_inc(x_40); -lean_dec(x_24); -x_42 = l_Lean_Parser_myMacro____x40_Lean_Parser_Extra___hyg_276____closed__1; -x_43 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_43, 0, x_40); -lean_ctor_set(x_43, 1, x_42); -x_44 = l_Array_empty___closed__1; -x_45 = lean_array_push(x_44, x_43); -x_46 = l_Array_appendCore___rarg(x_44, x_22); -lean_dec(x_22); -x_47 = l_Lean_nullKind___closed__2; -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_47); -lean_ctor_set(x_48, 1, x_46); -x_49 = lean_array_push(x_44, x_48); -x_50 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_894____closed__9; -x_51 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_51, 0, x_50); -lean_ctor_set(x_51, 1, x_49); -x_52 = lean_array_push(x_45, x_51); -x_53 = l_Lean_Parser_myMacro____x40_Lean_Parser_Extra___hyg_276____closed__2; -x_54 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_54, 0, x_53); -lean_ctor_set(x_54, 1, x_52); -x_55 = lean_alloc_ctor(0, 2, 0); +lean_dec(x_25); +x_43 = l_Lean_Parser_myMacro____x40_Lean_Parser_Extra___hyg_276____closed__1; +x_44 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_44, 0, x_41); +lean_ctor_set(x_44, 1, x_43); +x_45 = l_Array_empty___closed__1; +x_46 = lean_array_push(x_45, x_44); +x_47 = l_Array_appendCore___rarg(x_45, x_23); +lean_dec(x_23); +x_48 = l_Lean_nullKind___closed__2; +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_48); +lean_ctor_set(x_49, 1, x_47); +x_50 = lean_array_push(x_45, x_49); +x_51 = l_Lean_Option_myMacro____x40_Lean_Data_Options___hyg_932____closed__9; +x_52 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_52, 0, x_51); +lean_ctor_set(x_52, 1, x_50); +x_53 = lean_array_push(x_46, x_52); +x_54 = l_Lean_Parser_myMacro____x40_Lean_Parser_Extra___hyg_276____closed__2; +x_55 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_55, 0, x_54); -lean_ctor_set(x_55, 1, x_41); -return x_55; +lean_ctor_set(x_55, 1, x_53); +x_56 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_56, 0, x_55); +lean_ctor_set(x_56, 1, x_42); +return x_56; } } else { -uint8_t x_56; +uint8_t x_57; lean_dec(x_6); lean_dec(x_5); -x_56 = !lean_is_exclusive(x_21); -if (x_56 == 0) +x_57 = !lean_is_exclusive(x_22); +if (x_57 == 0) { -return x_21; +return x_22; } else { -lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_57 = lean_ctor_get(x_21, 0); -x_58 = lean_ctor_get(x_21, 1); +lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_58 = lean_ctor_get(x_22, 0); +x_59 = lean_ctor_get(x_22, 1); +lean_inc(x_59); lean_inc(x_58); -lean_inc(x_57); -lean_dec(x_21); -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; +lean_dec(x_22); +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; } } } else { -uint8_t x_60; +uint8_t x_61; lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_60 = !lean_is_exclusive(x_8); -if (x_60 == 0) +x_61 = !lean_is_exclusive(x_9); +if (x_61 == 0) { -return x_8; +return x_9; } else { -lean_object* x_61; lean_object* x_62; lean_object* x_63; -x_61 = lean_ctor_get(x_8, 0); -x_62 = lean_ctor_get(x_8, 1); +lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_62 = lean_ctor_get(x_9, 0); +x_63 = lean_ctor_get(x_9, 1); +lean_inc(x_63); lean_inc(x_62); -lean_inc(x_61); -lean_dec(x_8); -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; +lean_dec(x_9); +x_64 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_64, 0, x_62); +lean_ctor_set(x_64, 1, x_63); +return x_64; } } } } -static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabDo___lambda__2___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_delabDo___lambda__1___boxed), 7, 0); -return x_1; -} -} -lean_object* l_Lean_PrettyPrinter_Delaborator_delabDo___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) { -_start: -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; -x_8 = l_Lean_PrettyPrinter_Delaborator_delabDo___lambda__2___closed__1; -x_9 = l_myMacro____x40_Init_Notation___hyg_13436____closed__7; -x_10 = lean_unsigned_to_nat(6u); -x_11 = l_Lean_Expr_isAppOfArity(x_1, x_9, x_10); -if (x_11 == 0) -{ -lean_object* x_12; uint8_t x_13; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_12 = l_Lean_PrettyPrinter_Delaborator_failure___rarg(x_7); -x_13 = !lean_is_exclusive(x_12); -if (x_13 == 0) -{ -return x_12; -} -else -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = lean_ctor_get(x_12, 0); -x_15 = lean_ctor_get(x_12, 1); -lean_inc(x_15); -lean_inc(x_14); -lean_dec(x_12); -x_16 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_16, 0, x_14); -lean_ctor_set(x_16, 1, x_15); -return x_16; -} -} -else -{ -lean_object* x_17; lean_object* x_18; -x_17 = lean_box(0); -x_18 = lean_apply_7(x_8, x_17, x_2, x_3, x_4, x_5, x_6, x_7); -return x_18; -} -} } static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabDo___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_delabDo___lambda__2___boxed), 7, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_delabDo___lambda__1___boxed), 7, 0); return x_1; } } @@ -25461,15 +25408,6 @@ lean_dec(x_1); return x_8; } } -lean_object* l_Lean_PrettyPrinter_Delaborator_delabDo___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) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_PrettyPrinter_Delaborator_delabDo___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -lean_dec(x_1); -return x_8; -} -} static lean_object* _init_l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabDo___closed__1() { _start: { @@ -25512,37 +25450,45 @@ return x_5; lean_object* l_Lean_PrettyPrinter_Delaborator_delabSorryAx___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; uint8_t x_9; -x_8 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delabMVar___spec__1___rarg(x_5, x_6, x_7); -x_9 = !lean_is_exclusive(x_8); -if (x_9 == 0) +lean_object* x_8; lean_object* x_9; uint8_t x_10; +x_8 = l_Lean_Expr_hasSorry___closed__1; +x_9 = lean_unsigned_to_nat(2u); +x_10 = l_Lean_Expr_isAppOfArity(x_1, x_8, x_9); +if (x_10 == 0) { -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_10 = lean_ctor_get(x_8, 0); -x_11 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18784____closed__1; -x_12 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_12, 0, x_10); -lean_ctor_set(x_12, 1, x_11); -x_13 = l_Array_empty___closed__1; -x_14 = lean_array_push(x_13, x_12); -x_15 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18784____closed__2; -x_16 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_16, 0, x_15); -lean_ctor_set(x_16, 1, x_14); -lean_ctor_set(x_8, 0, x_16); -return x_8; +lean_object* x_11; uint8_t x_12; +x_11 = l_Lean_PrettyPrinter_Delaborator_failure___rarg(x_7); +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) +{ +return x_11; } 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; lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_17 = lean_ctor_get(x_8, 0); -x_18 = lean_ctor_get(x_8, 1); -lean_inc(x_18); -lean_inc(x_17); -lean_dec(x_8); +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_11, 0); +x_14 = lean_ctor_get(x_11, 1); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_11); +x_15 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_15, 0, x_13); +lean_ctor_set(x_15, 1, x_14); +return x_15; +} +} +else +{ +lean_object* x_16; uint8_t x_17; +x_16 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_5, x_6, x_7); +x_17 = !lean_is_exclusive(x_16); +if (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; lean_object* x_24; +x_18 = lean_ctor_get(x_16, 0); x_19 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18784____closed__1; x_20 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_20, 0, x_17); +lean_ctor_set(x_20, 0, x_18); lean_ctor_set(x_20, 1, x_19); x_21 = l_Array_empty___closed__1; x_22 = lean_array_push(x_21, x_20); @@ -25550,63 +25496,32 @@ x_23 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18784____closed__ x_24 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_24, 0, x_23); lean_ctor_set(x_24, 1, x_22); -x_25 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_25, 0, x_24); -lean_ctor_set(x_25, 1, x_18); -return x_25; -} -} -} -static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabSorryAx___lambda__2___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_delabSorryAx___lambda__1___boxed), 7, 0); -return x_1; -} -} -lean_object* l_Lean_PrettyPrinter_Delaborator_delabSorryAx___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) { -_start: -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; -x_8 = l_Lean_PrettyPrinter_Delaborator_delabSorryAx___lambda__2___closed__1; -x_9 = l_Lean_Expr_hasSorry___closed__1; -x_10 = lean_unsigned_to_nat(2u); -x_11 = l_Lean_Expr_isAppOfArity(x_1, x_9, x_10); -if (x_11 == 0) -{ -lean_object* x_12; uint8_t x_13; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_12 = l_Lean_PrettyPrinter_Delaborator_failure___rarg(x_7); -x_13 = !lean_is_exclusive(x_12); -if (x_13 == 0) -{ -return x_12; -} -else -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = lean_ctor_get(x_12, 0); -x_15 = lean_ctor_get(x_12, 1); -lean_inc(x_15); -lean_inc(x_14); -lean_dec(x_12); -x_16 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_16, 0, x_14); -lean_ctor_set(x_16, 1, x_15); +lean_ctor_set(x_16, 0, x_24); return x_16; } -} else { -lean_object* x_17; lean_object* x_18; -x_17 = lean_box(0); -x_18 = lean_apply_7(x_8, x_17, x_2, x_3, x_4, x_5, x_6, x_7); -return x_18; +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_25 = lean_ctor_get(x_16, 0); +x_26 = lean_ctor_get(x_16, 1); +lean_inc(x_26); +lean_inc(x_25); +lean_dec(x_16); +x_27 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18784____closed__1; +x_28 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_28, 0, x_25); +lean_ctor_set(x_28, 1, x_27); +x_29 = l_Array_empty___closed__1; +x_30 = lean_array_push(x_29, x_28); +x_31 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18784____closed__2; +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_32, 1, x_30); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_32); +lean_ctor_set(x_33, 1, x_26); +return x_33; +} } } } @@ -25614,7 +25529,7 @@ static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabSorryAx___closed _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_delabSorryAx___lambda__2___boxed), 7, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_delabSorryAx___lambda__1___boxed), 7, 0); return x_1; } } @@ -25654,15 +25569,6 @@ lean_dec(x_1); return x_8; } } -lean_object* l_Lean_PrettyPrinter_Delaborator_delabSorryAx___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) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_PrettyPrinter_Delaborator_delabSorryAx___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -lean_dec(x_1); -return x_8; -} -} static lean_object* _init_l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabSorryAx___closed__1() { _start: { @@ -25692,6 +25598,318 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; } } +static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___lambda__1___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("▸"); +return x_1; +} +} +lean_object* l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___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_54; lean_object* x_55; lean_object* x_56; uint8_t x_57; +x_54 = lean_unsigned_to_nat(0u); +x_55 = l_Lean_Expr_getAppNumArgsAux(x_1, x_54); +x_56 = lean_unsigned_to_nat(6u); +x_57 = lean_nat_dec_eq(x_55, x_56); +lean_dec(x_55); +if (x_57 == 0) +{ +lean_object* x_58; uint8_t x_59; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_58 = l_Lean_PrettyPrinter_Delaborator_failure___rarg(x_7); +x_59 = !lean_is_exclusive(x_58); +if (x_59 == 0) +{ +return x_58; +} +else +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; +x_60 = lean_ctor_get(x_58, 0); +x_61 = lean_ctor_get(x_58, 1); +lean_inc(x_61); +lean_inc(x_60); +lean_dec(x_58); +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; +} +} +else +{ +x_8 = x_7; +goto block_53; +} +block_53: +{ +lean_object* x_9; lean_object* x_10; +x_9 = l_Lean_PrettyPrinter_Delaborator_delabIte___lambda__1___closed__1; +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_10 = l_Lean_PrettyPrinter_Delaborator_withAppFn___rarg(x_9, x_2, x_3, x_4, x_5, x_6, x_8); +if (lean_obj_tag(x_10) == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +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 = l_Lean_PrettyPrinter_Delaborator_delab___closed__4; +lean_inc(x_6); +lean_inc(x_5); +x_14 = l_Lean_PrettyPrinter_Delaborator_withAppArg___rarg(x_13, x_2, x_3, x_4, x_5, x_6, x_12); +if (lean_obj_tag(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_14, 0); +lean_inc(x_15); +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +x_17 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__2___rarg(x_5, x_6, x_16); +lean_dec(x_6); +lean_dec(x_5); +x_18 = !lean_is_exclusive(x_17); +if (x_18 == 0) +{ +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; +x_19 = lean_ctor_get(x_17, 0); +x_20 = l_Array_empty___closed__1; +x_21 = lean_array_push(x_20, x_15); +x_22 = l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___lambda__1___closed__1; +x_23 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_23, 0, x_19); +lean_ctor_set(x_23, 1, x_22); +x_24 = lean_array_push(x_21, x_23); +x_25 = lean_array_push(x_20, x_11); +x_26 = l_Lean_nullKind___closed__2; +x_27 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_27, 0, x_26); +lean_ctor_set(x_27, 1, x_25); +x_28 = lean_array_push(x_24, x_27); +x_29 = l_Lean_Parser_Term_subst___elambda__1___closed__1; +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_28); +lean_ctor_set(x_17, 0, x_30); +return x_17; +} +else +{ +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; +x_31 = lean_ctor_get(x_17, 0); +x_32 = lean_ctor_get(x_17, 1); +lean_inc(x_32); +lean_inc(x_31); +lean_dec(x_17); +x_33 = l_Array_empty___closed__1; +x_34 = lean_array_push(x_33, x_15); +x_35 = l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___lambda__1___closed__1; +x_36 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_36, 0, x_31); +lean_ctor_set(x_36, 1, x_35); +x_37 = lean_array_push(x_34, x_36); +x_38 = lean_array_push(x_33, x_11); +x_39 = l_Lean_nullKind___closed__2; +x_40 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +x_41 = lean_array_push(x_37, x_40); +x_42 = l_Lean_Parser_Term_subst___elambda__1___closed__1; +x_43 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_43, 0, x_42); +lean_ctor_set(x_43, 1, x_41); +x_44 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_44, 0, x_43); +lean_ctor_set(x_44, 1, x_32); +return x_44; +} +} +else +{ +uint8_t x_45; +lean_dec(x_11); +lean_dec(x_6); +lean_dec(x_5); +x_45 = !lean_is_exclusive(x_14); +if (x_45 == 0) +{ +return x_14; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_14, 0); +x_47 = lean_ctor_get(x_14, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_14); +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; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_49 = !lean_is_exclusive(x_10); +if (x_49 == 0) +{ +return x_10; +} +else +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_50 = lean_ctor_get(x_10, 0); +x_51 = lean_ctor_get(x_10, 1); +lean_inc(x_51); +lean_inc(x_50); +lean_dec(x_10); +x_52 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_52, 0, x_50); +lean_ctor_set(x_52, 1, x_51); +return x_52; +} +} +} +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___lambda__1___boxed), 7, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___closed__1; +x_2 = l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__1; +x_3 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_PrettyPrinter_Delaborator_delabAppExplicit___spec__2___rarg), 8, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +lean_object* l_Lean_PrettyPrinter_Delaborator_delabEqNDRec(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_7 = l_Lean_PrettyPrinter_Delaborator_delabAppWithUnexpander___closed__3; +x_8 = l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__2; +x_9 = l_Lean_PrettyPrinter_Delaborator_whenPPOption(x_7, x_8, x_1, x_2, x_3, x_4, x_5, x_6); +return x_9; +} +} +lean_object* l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___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) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_1); +return x_8; +} +} +static lean_object* _init_l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__5; +x_2 = l_myMacro____x40_Init_Notation___hyg_8668____closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__1; +x_2 = l_Lean_Meta_mkEqNDRec___closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_delabEqNDRec), 6, 0); +return x_1; +} +} +lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec(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_PrettyPrinter_Delaborator_delabAttribute; +x_3 = l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__2; +x_4 = l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__3; +x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); +return x_5; +} +} +lean_object* l_Lean_PrettyPrinter_Delaborator_delabEqRec(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_7 = l_Lean_PrettyPrinter_Delaborator_delabAppWithUnexpander___closed__3; +x_8 = l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__3; +x_9 = l_Lean_PrettyPrinter_Delaborator_whenPPOption(x_7, x_8, x_1, x_2, x_3, x_4, x_5, x_6); +return x_9; +} +} +static lean_object* _init_l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqRec___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__1; +x_2 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_21281____closed__3; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqRec___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_delabEqRec), 6, 0); +return x_1; +} +} +lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqRec(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_PrettyPrinter_Delaborator_delabAttribute; +x_3 = l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqRec___closed__1; +x_4 = l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqRec___closed__2; +x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); +return x_5; +} +} lean_object* initialize_Init(lean_object*); lean_object* initialize_Lean_PrettyPrinter_Delaborator_Basic(lean_object*); lean_object* initialize_Lean_Parser(lean_object*); @@ -25858,8 +26076,6 @@ l_Lean_PrettyPrinter_Delaborator_delabMData___closed__1 = _init_l_Lean_PrettyPri lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delabMData___closed__1); l_Lean_PrettyPrinter_Delaborator_delabMData___closed__2 = _init_l_Lean_PrettyPrinter_Delaborator_delabMData___closed__2(); lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delabMData___closed__2); -l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3 = _init_l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3(); -lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delabMData___closed__3); l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabMData___closed__1 = _init_l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabMData___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabMData___closed__1); res = l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabMData(lean_io_mk_world()); @@ -26093,8 +26309,6 @@ l_Lean_PrettyPrinter_Delaborator_delabDoElems___closed__2 = _init_l_Lean_PrettyP lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delabDoElems___closed__2); l_Lean_PrettyPrinter_Delaborator_delabDo___lambda__1___boxed__const__1 = _init_l_Lean_PrettyPrinter_Delaborator_delabDo___lambda__1___boxed__const__1(); lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delabDo___lambda__1___boxed__const__1); -l_Lean_PrettyPrinter_Delaborator_delabDo___lambda__2___closed__1 = _init_l_Lean_PrettyPrinter_Delaborator_delabDo___lambda__2___closed__1(); -lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delabDo___lambda__2___closed__1); l_Lean_PrettyPrinter_Delaborator_delabDo___closed__1 = _init_l_Lean_PrettyPrinter_Delaborator_delabDo___closed__1(); lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delabDo___closed__1); l_Lean_PrettyPrinter_Delaborator_delabDo___closed__2 = _init_l_Lean_PrettyPrinter_Delaborator_delabDo___closed__2(); @@ -26108,8 +26322,6 @@ lean_mark_persistent(l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabDo___clo res = l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabDo(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_PrettyPrinter_Delaborator_delabSorryAx___lambda__2___closed__1 = _init_l_Lean_PrettyPrinter_Delaborator_delabSorryAx___lambda__2___closed__1(); -lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delabSorryAx___lambda__2___closed__1); l_Lean_PrettyPrinter_Delaborator_delabSorryAx___closed__1 = _init_l_Lean_PrettyPrinter_Delaborator_delabSorryAx___closed__1(); lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delabSorryAx___closed__1); l_Lean_PrettyPrinter_Delaborator_delabSorryAx___closed__2 = _init_l_Lean_PrettyPrinter_Delaborator_delabSorryAx___closed__2(); @@ -26121,6 +26333,28 @@ lean_mark_persistent(l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabSorryAx_ res = l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabSorryAx(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___lambda__1___closed__1 = _init_l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___lambda__1___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___lambda__1___closed__1); +l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__1 = _init_l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__1(); +lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__1); +l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__2 = _init_l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__2(); +lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__2); +l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__1 = _init_l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__1); +l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__2 = _init_l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__2(); +lean_mark_persistent(l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__2); +l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__3 = _init_l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__3(); +lean_mark_persistent(l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec___closed__3); +res = l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqNDRec(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqRec___closed__1 = _init_l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqRec___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqRec___closed__1); +l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqRec___closed__2 = _init_l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqRec___closed__2(); +lean_mark_persistent(l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqRec___closed__2); +res = l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabEqRec(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/Server/FileWorker.c b/stage0/stdlib/Lean/Server/FileWorker.c index 35f29e5a35..78f3319fbe 100644 --- a/stage0/stdlib/Lean/Server/FileWorker.c +++ b/stage0/stdlib/Lean/Server/FileWorker.c @@ -48,7 +48,6 @@ lean_object* lean_io_prim_handle_get_line(lean_object*, lean_object*); lean_object* l___private_Lean_Data_Lsp_TextSync_0__Lean_Lsp_fromJsonDidOpenTextDocumentParams____x40_Lean_Data_Lsp_TextSync___hyg_92_(lean_object*); extern lean_object* l_myMacro____x40_Init_NotationExtra___hyg_5711____closed__24; lean_object* l_Lean_Server_FileWorker_handleHover___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_PersistentArray_mapMAux___at_Lean_Server_FileWorker_publishMessages___spec__2(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Syntax_mkAntiquotNode___closed__12; lean_object* l_Lean_Server_FileWorker_RequestError_fileChanged___closed__2; lean_object* l___private_Lean_Server_FileWorker_0__Lean_Server_FileWorker_logSnapContent___closed__1; @@ -194,15 +193,12 @@ lean_object* lean_io_getenv(lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_parseParams___at_Lean_Server_FileWorker_handleRequest___spec__16___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentArray_forInAux___at_Lean_Server_FileWorker_handlePlainGoal___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_handleDocumentSymbol_toDocumentSymbols_match__1___rarg(lean_object*, lean_object*); -lean_object* l_Lean_Json_toStructured_x3f___at_Lean_Server_FileWorker_publishDiagnostics___spec__2(lean_object*); extern lean_object* l_Std_instInhabitedPersistentArray___closed__1; lean_object* l_Lean_Server_FileWorker_handleDocumentSymbol___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_JsonRpc_instToJsonErrorCode___closed__24; lean_object* l_Lean_Server_FileWorker_handleHover_match__3___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_List_join___rarg(lean_object*); uint8_t l_USize_decLt(size_t, size_t); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__3(lean_object*, size_t, size_t, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_IO_FS_Stream_readRequestAs___at_Lean_Server_FileWorker_initAndRunWorker___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_FileWorker_handleHover___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* l_Lean_Option_get___at_Lean_initFn____x40_Lean_Util_PPExt___hyg_186____spec__1(lean_object*, lean_object*); @@ -267,7 +263,6 @@ extern lean_object* l_Lean_myMacro____x40_Init_NotationExtra___hyg_1354____close lean_object* l_IO_getStdin___at_Lean_Server_FileWorker_workerMain___spec__1(lean_object*); lean_object* lean_io_as_task(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_handleWaitForDiagnostics_waitLoop(lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_rangeOfSyntax_x21(lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_handleRequest___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_compileHeader___closed__2; @@ -290,7 +285,6 @@ lean_object* l_Lean_Server_FileWorker_mainLoop___closed__1; lean_object* l_Lean_Server_FileWorker_initAndRunWorker_match__1___rarg(lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_FileWorker_handleCompletion___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_InfoTree_goalsAt_x3f(lean_object*, lean_object*); -lean_object* l_Lean_Server_FileWorker_publishDiagnostics(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_handleCancelRequest___boxed(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Command_initialize___elambda__1___closed__1; lean_object* l_Lean_Server_FileWorker_handleWaitForDiagnostics___lambda__4___boxed(lean_object*); @@ -300,7 +294,6 @@ lean_object* l_Lean_Json_compress(lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Command_exit___elambda__1___closed__1; lean_object* l_Lean_Server_FileWorker_handleWaitForDiagnostics___closed__1; -lean_object* l_Std_PersistentArray_mapM___at_Lean_Server_FileWorker_publishMessages___spec__1___boxed__const__1; lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_handleRequest___spec__13___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_updateDocument_match__2(lean_object*); lean_object* l_EStateM_bind___rarg(lean_object*, lean_object*, lean_object*); @@ -329,7 +322,6 @@ lean_object* l_Lean_Server_FileWorker_leanpkgSetupSearchPath___closed__2; lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_FileWorker_handleSemanticTokens_highlightId___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* l_Lean_Server_Snapshots_reparseHeader(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_mapM___at_Lean_Server_FileWorker_handlePlainGoal___spec__4___closed__1; -lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__5(lean_object*, size_t, size_t, lean_object*, lean_object*); extern lean_object* l_Lean_JsonRpc_instToJsonMessage___closed__7; lean_object* l_List_mapM___at_Lean_Server_FileWorker_leanpkgSetupSearchPath___spec__2(lean_object*, lean_object*); lean_object* l_Lean_findDeclarationRangesCore_x3f___at_Lean_Server_FileWorker_handleDefinition___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -376,7 +368,6 @@ lean_object* l_Lean_Server_FileWorker_handleSemanticTokensFull___rarg___closed__ lean_object* l___private_Lean_Data_Lsp_LanguageFeatures_0__Lean_Lsp_fromJsonSemanticTokensRangeParams____x40_Lean_Data_Lsp_LanguageFeatures___hyg_1517_(lean_object*); extern lean_object* l___private_Init_Util_0__mkPanicMessage___closed__2; lean_object* l_Lean_Server_FileWorker_handleSemanticTokensFull(lean_object*); -extern lean_object* l_Lean_Lsp_Ipc_collectDiagnostics_loop_match__2___rarg___closed__1; lean_object* l_Lean_Server_FileWorker_handleWaitForDiagnostics___lambda__3___closed__5; lean_object* l_Lean_Server_FileWorker_initAndRunWorker___boxed__const__1; lean_object* l_Lean_Server_FileWorker_handleSemanticTokens_highlightId_match__3___rarg(lean_object*, lean_object*, lean_object*); @@ -458,7 +449,6 @@ lean_object* l_Lean_Server_FileWorker_handleCompletion___lambda__2___boxed(lean_ lean_object* l_List_takeWhile___rarg(lean_object*, lean_object*); lean_object* l_Lean_realPathNormalized(lean_object*, lean_object*); uint8_t l_Array_isEmpty___rarg(lean_object*); -lean_object* l___private_Lean_Data_Lsp_Diagnostics_0__Lean_Lsp_toJsonPublishDiagnosticsParams____x40_Lean_Data_Lsp_Diagnostics___hyg_991_(lean_object*); lean_object* l_Lean_Server_FileWorker_updateDocument___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_handleSemanticTokensFull___rarg(lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_updatePendingRequests___boxed(lean_object*, lean_object*, lean_object*); @@ -483,10 +473,8 @@ lean_object* l_IO_AsyncList_waitAll___at_Lean_Server_FileWorker_handleSemanticTo lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_FileWorker_handleDocumentHighlight_highlightReturn_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_handleDocumentSymbol_sectionLikeToDocumentSymbols_match__2(lean_object*); extern lean_object* l_Lean_Lsp_instToJsonWaitForDiagnostics___closed__1; -lean_object* l_Lean_Server_FileWorker_publishMessages(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_mainLoop(lean_object*, lean_object*); lean_object* l___private_Lean_Data_Lsp_LanguageFeatures_0__Lean_Lsp_fromJsonCompletionParams____x40_Lean_Data_Lsp_LanguageFeatures___hyg_307_(lean_object*); -lean_object* l_IO_FS_Stream_writeLspNotification___at_Lean_Server_FileWorker_publishDiagnostics___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentArray_forIn___at_Lean_Server_FileWorker_handleDefinition___spec__4(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_toJsonRange____x40_Lean_Data_Lsp_Basic___hyg_371____closed__1; extern lean_object* l_Task_Priority_default; @@ -494,7 +482,6 @@ lean_object* lean_io_has_finished(lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_handleDocumentSymbol_sectionLikeToDocumentSymbols_match__2___rarg(lean_object*, lean_object*); lean_object* l_List_mapM___at_Lean_Server_FileWorker_handlePlainGoal___spec__4(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_handleDocumentSymbol_toDocumentSymbols___lambda__1(lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__4(lean_object*, size_t, size_t, lean_object*, lean_object*); lean_object* l_Lean_isRec___at___private_Lean_Server_Completion_0__Lean_Server_Completion_isBlackListed___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); extern lean_object* l_Lean_nullKind___closed__1; @@ -502,6 +489,7 @@ lean_object* l_IO_AsyncList_waitFind_x3f___at_Lean_Server_FileWorker_withWaitFin lean_object* l_Std_PersistentArray_forIn___at_Lean_Server_FileWorker_handleCompletion___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_handleSemanticTokens_highlightKeyword_match__1(lean_object*); lean_object* l_Lean_Server_FileWorker_handleCompletion___closed__2; +lean_object* l_Lean_Server_publishDiagnostics(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_leanpkgSetupSearchPath_match__1(lean_object*); lean_object* l_Lean_Json_getObjValAs_x3f___at_Lean_Lsp_instFromJsonInitializeParams___spec__5(lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_handleDocumentSymbol_match__1(lean_object*); @@ -580,7 +568,6 @@ lean_object* l_Lean_Server_FileWorker_compileHeader_match__2(lean_object*); lean_object* l_IO_FS_Stream_writeLspResponse___at_Lean_Server_FileWorker_handleRequest___spec__12(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_parseParams___at_Lean_Server_FileWorker_handleRequest___spec__6(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_handleSemanticTokensFull___boxed(lean_object*); -lean_object* l_Lean_Lsp_msgToDiagnostic(lean_object*, lean_object*, lean_object*); lean_object* l_IO_AsyncList_finishedPrefix___rarg(lean_object*); extern lean_object* l_Lean_JsonRpc_instToJsonMessage___closed__12; lean_object* l_List_forIn_loop___at_Lean_Server_FileWorker_handleSemanticTokens___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -603,7 +590,6 @@ lean_object* l_Lean_Server_FileWorker_handleSemanticTokens___lambda__2(lean_obje lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_FileWorker_handleDefinition___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*); extern lean_object* l_Lean_JsonRpc_instToJsonErrorCode___closed__32; lean_object* l_IO_AsyncList_waitAll___at_Lean_Server_FileWorker_handleSemanticTokens___spec__1___lambda__2(lean_object*); -lean_object* l_Std_PersistentArray_toArray___rarg(lean_object*); lean_object* l_Lean_Elab_Info_tailPos_x3f(lean_object*); lean_object* l_Lean_Syntax_getArgs(lean_object*); lean_object* l_Lean_Server_FileWorker_handleRequest_match__2___rarg___closed__1; @@ -614,7 +600,6 @@ extern lean_object* l_Lean_JsonRpc_instToJsonErrorCode___closed__20; lean_object* l_IO_AsyncList_unfoldAsync_step___at_Lean_Server_FileWorker_unfoldCmdSnaps___spec__2(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_initAndRunWorker___closed__3; lean_object* l_List_mapM___at_Lean_Server_FileWorker_handlePlainGoal___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_PersistentArray_mapMAux___at_Lean_Server_FileWorker_publishMessages___spec__2___boxed__const__1; extern lean_object* l_myMacro____x40_Init_NotationExtra___hyg_5711____closed__21; lean_object* l_Lean_Server_FileWorker_workerMain_match__1(lean_object*); lean_object* l_Lean_Server_FileWorker_handleDocumentSymbol_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -697,7 +682,6 @@ lean_object* l_List_dropLast___rarg(lean_object*); lean_object* l_Lean_Server_FileWorker_compileHeader___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_handleRequest_match__2___rarg___closed__7; lean_object* l_IO_mkRef___at_Lean_Server_FileWorker_initializeWorker___spec__1(lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Environment_allImportedModuleNames(lean_object*); extern lean_object* l_IO_FS_Stream_readRequestAs___closed__4; uint8_t l_Lean_Server_FileWorker_updateDocument___lambda__1(lean_object*, lean_object*); @@ -741,6 +725,7 @@ lean_object* l_Lean_Server_FileWorker_CancelToken_set(lean_object*, lean_object* lean_object* l_Lean_Server_FileWorker_initAndRunWorker(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Array_contains___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__1(lean_object*, lean_object*); extern lean_object* l_Lean_myMacro____x40_Init_NotationExtra___hyg_36____closed__6; +lean_object* l_Lean_Server_publishMessages(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_hasRange___boxed(lean_object*); lean_object* l_Lean_Server_FileWorker_handleDefinition_match__3___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); @@ -807,7 +792,6 @@ lean_object* l_Lean_Server_FileWorker_handleRequest_match__1___rarg(lean_object* lean_object* l_Lean_Server_FileWorker_handleDocumentSymbol_toDocumentSymbols___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_handleSemanticTokens___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_handleRequest___spec__10___boxed(lean_object*, lean_object*, lean_object*); -lean_object* lean_nat_to_int(lean_object*); lean_object* l___private_Lean_Server_FileWorker_0__Lean_Server_FileWorker_nextCmdSnap___closed__1; lean_object* l_Lean_Server_FileWorker_handleCancelRequest(lean_object*, lean_object*, lean_object*); lean_object* lean_task_get_own(lean_object*); @@ -831,7 +815,6 @@ lean_object* l_List_getLastD___rarg(lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_handlePlainGoal___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_FileWorker_handleDefinition_match__4___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_Snapshots_compileNextCmd(lean_object*, lean_object*, lean_object*); -lean_object* l_Std_PersistentArray_mapM___at_Lean_Server_FileWorker_publishMessages___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_List_forIn_loop___at_Lean_Server_FileWorker_handleSemanticTokens___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_term_x5b___x5d___closed__3; lean_object* l_Lean_findModuleOf_x3f___at_Lean_Server_FileWorker_handleDefinition___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1162,899 +1145,6 @@ x_1 = l_Lean_Server_FileWorker_instInhabitedEditableDocument___closed__4; return x_1; } } -lean_object* l_Lean_Json_toStructured_x3f___at_Lean_Server_FileWorker_publishDiagnostics___spec__2(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_2 = l___private_Lean_Data_Lsp_Diagnostics_0__Lean_Lsp_toJsonPublishDiagnosticsParams____x40_Lean_Data_Lsp_Diagnostics___hyg_991_(x_1); -x_3 = lean_ctor_get(x_2, 0); -lean_inc(x_3); -lean_dec(x_2); -x_4 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_4, 0, x_3); -x_5 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_5, 0, x_4); -return x_5; -} -} -lean_object* l_IO_FS_Stream_writeLspNotification___at_Lean_Server_FileWorker_publishDiagnostics___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_4 = lean_ctor_get(x_2, 0); -lean_inc(x_4); -x_5 = lean_ctor_get(x_2, 1); -lean_inc(x_5); -lean_dec(x_2); -x_6 = l_Lean_Json_toStructured_x3f___at_Lean_Server_FileWorker_publishDiagnostics___spec__2(x_5); -x_7 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_7, 0, x_4); -lean_ctor_set(x_7, 1, x_6); -x_8 = l_IO_FS_Stream_writeLspMessage(x_1, x_7, x_3); -lean_dec(x_7); -return x_8; -} -} -lean_object* l_Lean_Server_FileWorker_publishDiagnostics(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; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_5 = lean_ctor_get(x_1, 0); -lean_inc(x_5); -x_6 = lean_ctor_get(x_1, 1); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_nat_to_int(x_6); -x_8 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_8, 0, x_7); -x_9 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_9, 0, x_5); -lean_ctor_set(x_9, 1, x_8); -lean_ctor_set(x_9, 2, x_2); -x_10 = l_Lean_Lsp_Ipc_collectDiagnostics_loop_match__2___rarg___closed__1; -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_10); -lean_ctor_set(x_11, 1, x_9); -x_12 = l_IO_FS_Stream_writeLspNotification___at_Lean_Server_FileWorker_publishDiagnostics___spec__1(x_3, x_11, x_4); -return x_12; -} -} -lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__3(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -uint8_t x_6; -x_6 = x_3 < x_2; -if (x_6 == 0) -{ -lean_object* x_7; lean_object* x_8; -lean_dec(x_1); -x_7 = x_4; -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_5); -return x_8; -} -else -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_9 = lean_array_uget(x_4, x_3); -x_10 = lean_unsigned_to_nat(0u); -x_11 = lean_array_uset(x_4, x_3, x_10); -x_12 = x_9; -lean_inc(x_1); -x_13 = l_Std_PersistentArray_mapMAux___at_Lean_Server_FileWorker_publishMessages___spec__2(x_1, x_12, x_5); -if (lean_obj_tag(x_13) == 0) -{ -lean_object* x_14; lean_object* x_15; size_t x_16; size_t x_17; lean_object* x_18; lean_object* x_19; -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 = 1; -x_17 = x_3 + x_16; -x_18 = x_14; -x_19 = lean_array_uset(x_11, x_3, x_18); -x_3 = x_17; -x_4 = x_19; -x_5 = x_15; -goto _start; -} -else -{ -uint8_t x_21; -lean_dec(x_11); -lean_dec(x_1); -x_21 = !lean_is_exclusive(x_13); -if (x_21 == 0) -{ -return x_13; -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_13, 0); -x_23 = lean_ctor_get(x_13, 1); -lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_13); -x_24 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; -} -} -} -} -} -lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__4(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; uint8_t x_7; -x_6 = lean_ctor_get(x_1, 2); -x_7 = x_3 < x_2; -if (x_7 == 0) -{ -lean_object* x_8; lean_object* x_9; -x_8 = x_4; -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_5); -return x_9; -} -else -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_10 = lean_array_uget(x_4, x_3); -x_11 = lean_unsigned_to_nat(0u); -x_12 = lean_array_uset(x_4, x_3, x_11); -x_13 = x_10; -x_14 = l_Lean_Lsp_msgToDiagnostic(x_6, x_13, x_5); -if (lean_obj_tag(x_14) == 0) -{ -lean_object* x_15; lean_object* x_16; size_t x_17; size_t x_18; lean_object* x_19; lean_object* x_20; -x_15 = lean_ctor_get(x_14, 0); -lean_inc(x_15); -x_16 = lean_ctor_get(x_14, 1); -lean_inc(x_16); -lean_dec(x_14); -x_17 = 1; -x_18 = x_3 + x_17; -x_19 = x_15; -x_20 = lean_array_uset(x_12, x_3, x_19); -x_3 = x_18; -x_4 = x_20; -x_5 = x_16; -goto _start; -} -else -{ -uint8_t x_22; -lean_dec(x_12); -x_22 = !lean_is_exclusive(x_14); -if (x_22 == 0) -{ -return x_14; -} -else -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_14, 0); -x_24 = lean_ctor_get(x_14, 1); -lean_inc(x_24); -lean_inc(x_23); -lean_dec(x_14); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -return x_25; -} -} -} -} -} -static lean_object* _init_l_Std_PersistentArray_mapMAux___at_Lean_Server_FileWorker_publishMessages___spec__2___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_object* l_Std_PersistentArray_mapMAux___at_Lean_Server_FileWorker_publishMessages___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -uint8_t x_4; -x_4 = !lean_is_exclusive(x_2); -if (x_4 == 0) -{ -lean_object* x_5; lean_object* 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; -x_5 = lean_ctor_get(x_2, 0); -x_6 = lean_array_get_size(x_5); -x_7 = lean_usize_of_nat(x_6); -lean_dec(x_6); -x_8 = x_5; -x_9 = lean_box_usize(x_7); -x_10 = l_Std_PersistentArray_mapMAux___at_Lean_Server_FileWorker_publishMessages___spec__2___boxed__const__1; -x_11 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__3___boxed), 5, 4); -lean_closure_set(x_11, 0, x_1); -lean_closure_set(x_11, 1, x_9); -lean_closure_set(x_11, 2, x_10); -lean_closure_set(x_11, 3, x_8); -x_12 = x_11; -x_13 = lean_apply_1(x_12, x_3); -if (lean_obj_tag(x_13) == 0) -{ -uint8_t x_14; -x_14 = !lean_is_exclusive(x_13); -if (x_14 == 0) -{ -lean_object* x_15; -x_15 = lean_ctor_get(x_13, 0); -lean_ctor_set(x_2, 0, x_15); -lean_ctor_set(x_13, 0, x_2); -return x_13; -} -else -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_16 = lean_ctor_get(x_13, 0); -x_17 = lean_ctor_get(x_13, 1); -lean_inc(x_17); -lean_inc(x_16); -lean_dec(x_13); -lean_ctor_set(x_2, 0, x_16); -x_18 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_18, 0, x_2); -lean_ctor_set(x_18, 1, x_17); -return x_18; -} -} -else -{ -uint8_t x_19; -lean_free_object(x_2); -x_19 = !lean_is_exclusive(x_13); -if (x_19 == 0) -{ -return x_13; -} -else -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_13, 0); -x_21 = lean_ctor_get(x_13, 1); -lean_inc(x_21); -lean_inc(x_20); -lean_dec(x_13); -x_22 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_22, 0, x_20); -lean_ctor_set(x_22, 1, x_21); -return x_22; -} -} -} -else -{ -lean_object* x_23; lean_object* x_24; size_t 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_23 = lean_ctor_get(x_2, 0); -lean_inc(x_23); -lean_dec(x_2); -x_24 = lean_array_get_size(x_23); -x_25 = lean_usize_of_nat(x_24); -lean_dec(x_24); -x_26 = x_23; -x_27 = lean_box_usize(x_25); -x_28 = l_Std_PersistentArray_mapMAux___at_Lean_Server_FileWorker_publishMessages___spec__2___boxed__const__1; -x_29 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__3___boxed), 5, 4); -lean_closure_set(x_29, 0, x_1); -lean_closure_set(x_29, 1, x_27); -lean_closure_set(x_29, 2, x_28); -lean_closure_set(x_29, 3, x_26); -x_30 = x_29; -x_31 = lean_apply_1(x_30, x_3); -if (lean_obj_tag(x_31) == 0) -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - lean_ctor_release(x_31, 1); - x_34 = x_31; -} else { - lean_dec_ref(x_31); - x_34 = lean_box(0); -} -x_35 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_35, 0, x_32); -if (lean_is_scalar(x_34)) { - x_36 = lean_alloc_ctor(0, 2, 0); -} else { - x_36 = x_34; -} -lean_ctor_set(x_36, 0, x_35); -lean_ctor_set(x_36, 1, x_33); -return x_36; -} -else -{ -lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_37 = lean_ctor_get(x_31, 0); -lean_inc(x_37); -x_38 = lean_ctor_get(x_31, 1); -lean_inc(x_38); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - lean_ctor_release(x_31, 1); - x_39 = x_31; -} else { - lean_dec_ref(x_31); - x_39 = lean_box(0); -} -if (lean_is_scalar(x_39)) { - x_40 = lean_alloc_ctor(1, 2, 0); -} else { - x_40 = x_39; -} -lean_ctor_set(x_40, 0, x_37); -lean_ctor_set(x_40, 1, x_38); -return x_40; -} -} -} -else -{ -uint8_t x_41; -x_41 = !lean_is_exclusive(x_2); -if (x_41 == 0) -{ -lean_object* x_42; lean_object* x_43; size_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; -x_42 = lean_ctor_get(x_2, 0); -x_43 = lean_array_get_size(x_42); -x_44 = lean_usize_of_nat(x_43); -lean_dec(x_43); -x_45 = x_42; -x_46 = lean_box_usize(x_44); -x_47 = l_Std_PersistentArray_mapMAux___at_Lean_Server_FileWorker_publishMessages___spec__2___boxed__const__1; -x_48 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__4___boxed), 5, 4); -lean_closure_set(x_48, 0, x_1); -lean_closure_set(x_48, 1, x_46); -lean_closure_set(x_48, 2, x_47); -lean_closure_set(x_48, 3, x_45); -x_49 = x_48; -x_50 = lean_apply_1(x_49, x_3); -if (lean_obj_tag(x_50) == 0) -{ -uint8_t x_51; -x_51 = !lean_is_exclusive(x_50); -if (x_51 == 0) -{ -lean_object* x_52; -x_52 = lean_ctor_get(x_50, 0); -lean_ctor_set(x_2, 0, x_52); -lean_ctor_set(x_50, 0, x_2); -return x_50; -} -else -{ -lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_53 = lean_ctor_get(x_50, 0); -x_54 = lean_ctor_get(x_50, 1); -lean_inc(x_54); -lean_inc(x_53); -lean_dec(x_50); -lean_ctor_set(x_2, 0, x_53); -x_55 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_55, 0, x_2); -lean_ctor_set(x_55, 1, x_54); -return x_55; -} -} -else -{ -uint8_t x_56; -lean_free_object(x_2); -x_56 = !lean_is_exclusive(x_50); -if (x_56 == 0) -{ -return x_50; -} -else -{ -lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_57 = lean_ctor_get(x_50, 0); -x_58 = lean_ctor_get(x_50, 1); -lean_inc(x_58); -lean_inc(x_57); -lean_dec(x_50); -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 -{ -lean_object* x_60; lean_object* x_61; size_t x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; -x_60 = lean_ctor_get(x_2, 0); -lean_inc(x_60); -lean_dec(x_2); -x_61 = lean_array_get_size(x_60); -x_62 = lean_usize_of_nat(x_61); -lean_dec(x_61); -x_63 = x_60; -x_64 = lean_box_usize(x_62); -x_65 = l_Std_PersistentArray_mapMAux___at_Lean_Server_FileWorker_publishMessages___spec__2___boxed__const__1; -x_66 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__4___boxed), 5, 4); -lean_closure_set(x_66, 0, x_1); -lean_closure_set(x_66, 1, x_64); -lean_closure_set(x_66, 2, x_65); -lean_closure_set(x_66, 3, x_63); -x_67 = x_66; -x_68 = lean_apply_1(x_67, x_3); -if (lean_obj_tag(x_68) == 0) -{ -lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; -x_69 = lean_ctor_get(x_68, 0); -lean_inc(x_69); -x_70 = lean_ctor_get(x_68, 1); -lean_inc(x_70); -if (lean_is_exclusive(x_68)) { - lean_ctor_release(x_68, 0); - lean_ctor_release(x_68, 1); - x_71 = x_68; -} else { - lean_dec_ref(x_68); - x_71 = lean_box(0); -} -x_72 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_72, 0, x_69); -if (lean_is_scalar(x_71)) { - x_73 = lean_alloc_ctor(0, 2, 0); -} else { - x_73 = x_71; -} -lean_ctor_set(x_73, 0, x_72); -lean_ctor_set(x_73, 1, x_70); -return x_73; -} -else -{ -lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_74 = lean_ctor_get(x_68, 0); -lean_inc(x_74); -x_75 = lean_ctor_get(x_68, 1); -lean_inc(x_75); -if (lean_is_exclusive(x_68)) { - lean_ctor_release(x_68, 0); - lean_ctor_release(x_68, 1); - x_76 = x_68; -} else { - lean_dec_ref(x_68); - x_76 = lean_box(0); -} -if (lean_is_scalar(x_76)) { - x_77 = lean_alloc_ctor(1, 2, 0); -} else { - x_77 = x_76; -} -lean_ctor_set(x_77, 0, x_74); -lean_ctor_set(x_77, 1, x_75); -return x_77; -} -} -} -} -} -lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__5(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; uint8_t x_7; -x_6 = lean_ctor_get(x_1, 2); -x_7 = x_3 < x_2; -if (x_7 == 0) -{ -lean_object* x_8; lean_object* x_9; -x_8 = x_4; -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_5); -return x_9; -} -else -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_10 = lean_array_uget(x_4, x_3); -x_11 = lean_unsigned_to_nat(0u); -x_12 = lean_array_uset(x_4, x_3, x_11); -x_13 = x_10; -x_14 = l_Lean_Lsp_msgToDiagnostic(x_6, x_13, x_5); -if (lean_obj_tag(x_14) == 0) -{ -lean_object* x_15; lean_object* x_16; size_t x_17; size_t x_18; lean_object* x_19; lean_object* x_20; -x_15 = lean_ctor_get(x_14, 0); -lean_inc(x_15); -x_16 = lean_ctor_get(x_14, 1); -lean_inc(x_16); -lean_dec(x_14); -x_17 = 1; -x_18 = x_3 + x_17; -x_19 = x_15; -x_20 = lean_array_uset(x_12, x_3, x_19); -x_3 = x_18; -x_4 = x_20; -x_5 = x_16; -goto _start; -} -else -{ -uint8_t x_22; -lean_dec(x_12); -x_22 = !lean_is_exclusive(x_14); -if (x_22 == 0) -{ -return x_14; -} -else -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_14, 0); -x_24 = lean_ctor_get(x_14, 1); -lean_inc(x_24); -lean_inc(x_23); -lean_dec(x_14); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -return x_25; -} -} -} -} -} -static lean_object* _init_l_Std_PersistentArray_mapM___at_Lean_Server_FileWorker_publishMessages___spec__1___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_object* l_Std_PersistentArray_mapM___at_Lean_Server_FileWorker_publishMessages___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -uint8_t x_4; -x_4 = !lean_is_exclusive(x_2); -if (x_4 == 0) -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; -x_5 = lean_ctor_get(x_2, 0); -x_6 = lean_ctor_get(x_2, 1); -x_7 = lean_ctor_get(x_2, 2); -x_8 = lean_ctor_get(x_2, 3); -lean_inc(x_1); -x_9 = l_Std_PersistentArray_mapMAux___at_Lean_Server_FileWorker_publishMessages___spec__2(x_1, x_5, x_3); -if (lean_obj_tag(x_9) == 0) -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; size_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_10 = lean_ctor_get(x_9, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_9, 1); -lean_inc(x_11); -lean_dec(x_9); -x_12 = lean_array_get_size(x_6); -x_13 = lean_usize_of_nat(x_12); -lean_dec(x_12); -x_14 = x_6; -x_15 = lean_box_usize(x_13); -x_16 = l_Std_PersistentArray_mapM___at_Lean_Server_FileWorker_publishMessages___spec__1___boxed__const__1; -x_17 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__5___boxed), 5, 4); -lean_closure_set(x_17, 0, x_1); -lean_closure_set(x_17, 1, x_15); -lean_closure_set(x_17, 2, x_16); -lean_closure_set(x_17, 3, x_14); -x_18 = x_17; -x_19 = lean_apply_1(x_18, x_11); -if (lean_obj_tag(x_19) == 0) -{ -uint8_t x_20; -x_20 = !lean_is_exclusive(x_19); -if (x_20 == 0) -{ -lean_object* x_21; -x_21 = lean_ctor_get(x_19, 0); -lean_ctor_set(x_2, 1, x_21); -lean_ctor_set(x_2, 0, x_10); -lean_ctor_set(x_19, 0, x_2); -return x_19; -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_19, 0); -x_23 = lean_ctor_get(x_19, 1); -lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_19); -lean_ctor_set(x_2, 1, x_22); -lean_ctor_set(x_2, 0, x_10); -x_24 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_24, 0, x_2); -lean_ctor_set(x_24, 1, x_23); -return x_24; -} -} -else -{ -uint8_t x_25; -lean_dec(x_10); -lean_free_object(x_2); -lean_dec(x_8); -lean_dec(x_7); -x_25 = !lean_is_exclusive(x_19); -if (x_25 == 0) -{ -return x_19; -} -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; -} -} -} -else -{ -uint8_t x_29; -lean_free_object(x_2); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_1); -x_29 = !lean_is_exclusive(x_9); -if (x_29 == 0) -{ -return x_9; -} -else -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_9, 0); -x_31 = lean_ctor_get(x_9, 1); -lean_inc(x_31); -lean_inc(x_30); -lean_dec(x_9); -x_32 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_32, 0, x_30); -lean_ctor_set(x_32, 1, x_31); -return x_32; -} -} -} -else -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; size_t x_36; lean_object* x_37; lean_object* x_38; -x_33 = lean_ctor_get(x_2, 0); -x_34 = lean_ctor_get(x_2, 1); -x_35 = lean_ctor_get(x_2, 2); -x_36 = lean_ctor_get_usize(x_2, 4); -x_37 = lean_ctor_get(x_2, 3); -lean_inc(x_37); -lean_inc(x_35); -lean_inc(x_34); -lean_inc(x_33); -lean_dec(x_2); -lean_inc(x_1); -x_38 = l_Std_PersistentArray_mapMAux___at_Lean_Server_FileWorker_publishMessages___spec__2(x_1, x_33, x_3); -if (lean_obj_tag(x_38) == 0) -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; size_t 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; -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -lean_dec(x_38); -x_41 = lean_array_get_size(x_34); -x_42 = lean_usize_of_nat(x_41); -lean_dec(x_41); -x_43 = x_34; -x_44 = lean_box_usize(x_42); -x_45 = l_Std_PersistentArray_mapM___at_Lean_Server_FileWorker_publishMessages___spec__1___boxed__const__1; -x_46 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__5___boxed), 5, 4); -lean_closure_set(x_46, 0, x_1); -lean_closure_set(x_46, 1, x_44); -lean_closure_set(x_46, 2, x_45); -lean_closure_set(x_46, 3, x_43); -x_47 = x_46; -x_48 = lean_apply_1(x_47, x_40); -if (lean_obj_tag(x_48) == 0) -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_49 = lean_ctor_get(x_48, 0); -lean_inc(x_49); -x_50 = lean_ctor_get(x_48, 1); -lean_inc(x_50); -if (lean_is_exclusive(x_48)) { - lean_ctor_release(x_48, 0); - lean_ctor_release(x_48, 1); - x_51 = x_48; -} else { - lean_dec_ref(x_48); - x_51 = lean_box(0); -} -x_52 = lean_alloc_ctor(0, 4, sizeof(size_t)*1); -lean_ctor_set(x_52, 0, x_39); -lean_ctor_set(x_52, 1, x_49); -lean_ctor_set(x_52, 2, x_35); -lean_ctor_set(x_52, 3, x_37); -lean_ctor_set_usize(x_52, 4, x_36); -if (lean_is_scalar(x_51)) { - x_53 = lean_alloc_ctor(0, 2, 0); -} else { - x_53 = x_51; -} -lean_ctor_set(x_53, 0, x_52); -lean_ctor_set(x_53, 1, x_50); -return x_53; -} -else -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; -lean_dec(x_39); -lean_dec(x_37); -lean_dec(x_35); -x_54 = lean_ctor_get(x_48, 0); -lean_inc(x_54); -x_55 = lean_ctor_get(x_48, 1); -lean_inc(x_55); -if (lean_is_exclusive(x_48)) { - lean_ctor_release(x_48, 0); - lean_ctor_release(x_48, 1); - x_56 = x_48; -} else { - lean_dec_ref(x_48); - x_56 = lean_box(0); -} -if (lean_is_scalar(x_56)) { - x_57 = lean_alloc_ctor(1, 2, 0); -} else { - x_57 = x_56; -} -lean_ctor_set(x_57, 0, x_54); -lean_ctor_set(x_57, 1, x_55); -return x_57; -} -} -else -{ -lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; -lean_dec(x_37); -lean_dec(x_35); -lean_dec(x_34); -lean_dec(x_1); -x_58 = lean_ctor_get(x_38, 0); -lean_inc(x_58); -x_59 = lean_ctor_get(x_38, 1); -lean_inc(x_59); -if (lean_is_exclusive(x_38)) { - lean_ctor_release(x_38, 0); - lean_ctor_release(x_38, 1); - x_60 = x_38; -} else { - lean_dec_ref(x_38); - x_60 = lean_box(0); -} -if (lean_is_scalar(x_60)) { - x_61 = lean_alloc_ctor(1, 2, 0); -} else { - x_61 = x_60; -} -lean_ctor_set(x_61, 0, x_58); -lean_ctor_set(x_61, 1, x_59); -return x_61; -} -} -} -} -lean_object* l_Lean_Server_FileWorker_publishMessages(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; -lean_inc(x_1); -x_5 = l_Std_PersistentArray_mapM___at_Lean_Server_FileWorker_publishMessages___spec__1(x_1, x_2, x_4); -if (lean_obj_tag(x_5) == 0) -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; -x_6 = lean_ctor_get(x_5, 0); -lean_inc(x_6); -x_7 = lean_ctor_get(x_5, 1); -lean_inc(x_7); -lean_dec(x_5); -x_8 = l_Std_PersistentArray_toArray___rarg(x_6); -lean_dec(x_6); -x_9 = l_Lean_Server_FileWorker_publishDiagnostics(x_1, x_8, x_3, x_7); -return x_9; -} -else -{ -uint8_t x_10; -lean_dec(x_3); -lean_dec(x_1); -x_10 = !lean_is_exclusive(x_5); -if (x_10 == 0) -{ -return x_5; -} -else -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_11 = lean_ctor_get(x_5, 0); -x_12 = lean_ctor_get(x_5, 1); -lean_inc(x_12); -lean_inc(x_11); -lean_dec(x_5); -x_13 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_13, 0, x_11); -lean_ctor_set(x_13, 1, x_12); -return x_13; -} -} -} -} -lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -size_t x_6; size_t x_7; lean_object* x_8; -x_6 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_7 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_8 = l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__3(x_1, x_6, x_7, x_4, x_5); -return x_8; -} -} -lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -size_t x_6; size_t x_7; lean_object* x_8; -x_6 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_7 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_8 = l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__4(x_1, x_6, x_7, x_4, x_5); -lean_dec(x_1); -return x_8; -} -} -lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -size_t x_6; size_t x_7; lean_object* x_8; -x_6 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_7 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_8 = l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_publishMessages___spec__5(x_1, x_6, x_7, x_4, x_5); -lean_dec(x_1); -return x_8; -} -} lean_object* l___private_Lean_Server_FileWorker_0__Lean_Server_FileWorker_nextCmdSnap_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { @@ -2383,7 +1473,7 @@ lean_ctor_set(x_47, 4, x_46); lean_ctor_set_uint8(x_47, sizeof(void*)*5, x_44); x_48 = l_Lean_Server_Snapshots_Snapshot_msgLog(x_39); x_49 = l_Std_PersistentArray_push___rarg(x_48, x_47); -x_50 = l_Lean_Server_FileWorker_publishMessages(x_1, x_49, x_4, x_38); +x_50 = l_Lean_Server_publishMessages(x_1, x_49, x_4, x_38); if (lean_obj_tag(x_50) == 0) { uint8_t x_51; @@ -2446,7 +1536,7 @@ lean_dec(x_24); x_60 = lean_ctor_get(x_22, 0); lean_inc(x_60); lean_dec(x_22); -x_61 = l_Lean_Server_FileWorker_publishMessages(x_1, x_60, x_4, x_59); +x_61 = l_Lean_Server_publishMessages(x_1, x_60, x_4, x_59); if (lean_obj_tag(x_61) == 0) { uint8_t x_62; @@ -2527,7 +1617,7 @@ lean_ctor_set(x_81, 4, x_80); lean_ctor_set_uint8(x_81, sizeof(void*)*5, x_78); x_82 = l_Lean_Server_Snapshots_Snapshot_msgLog(x_73); x_83 = l_Std_PersistentArray_push___rarg(x_82, x_81); -x_84 = l_Lean_Server_FileWorker_publishMessages(x_1, x_83, x_4, x_72); +x_84 = l_Lean_Server_publishMessages(x_1, x_83, x_4, x_72); if (lean_obj_tag(x_84) == 0) { lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; @@ -2588,7 +1678,7 @@ lean_dec(x_24); x_94 = lean_ctor_get(x_22, 0); lean_inc(x_94); lean_dec(x_22); -x_95 = l_Lean_Server_FileWorker_publishMessages(x_1, x_94, x_4, x_93); +x_95 = l_Lean_Server_publishMessages(x_1, x_94, x_4, x_93); if (lean_obj_tag(x_95) == 0) { lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; @@ -3268,7 +2358,7 @@ x_19 = l_Lean_mkOptionalNode___closed__2; x_20 = lean_array_push(x_19, x_18); lean_inc(x_4); lean_inc(x_2); -x_21 = l_Lean_Server_FileWorker_publishDiagnostics(x_2, x_20, x_4, x_12); +x_21 = l_Lean_Server_publishDiagnostics(x_2, x_20, x_4, x_12); if (lean_obj_tag(x_21) == 0) { lean_object* x_22; lean_object* x_23; @@ -3347,7 +2437,7 @@ x_37 = l_Lean_mkOptionalNode___closed__2; x_38 = lean_array_push(x_37, x_36); lean_inc(x_4); lean_inc(x_2); -x_39 = l_Lean_Server_FileWorker_publishDiagnostics(x_2, x_38, x_4, x_30); +x_39 = l_Lean_Server_publishDiagnostics(x_2, x_38, x_4, x_30); if (lean_obj_tag(x_39) == 0) { lean_object* x_40; lean_object* x_41; @@ -5193,7 +4283,7 @@ lean_ctor_set_uint8(x_22, sizeof(void*)*5, x_20); x_23 = l_Lean_MessageLog_empty; x_24 = l_Std_PersistentArray_push___rarg(x_23, x_22); lean_inc(x_24); -x_25 = l_Lean_Server_FileWorker_publishMessages(x_4, x_24, x_5, x_13); +x_25 = l_Lean_Server_publishMessages(x_4, x_24, x_5, x_13); if (lean_obj_tag(x_25) == 0) { lean_object* x_26; uint32_t x_27; lean_object* x_28; @@ -28830,7 +27920,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_Server_FileWorker_handleWaitForDiagnostics___lambda__3___closed__2; x_2 = l_Lean_Server_FileWorker_handleWaitForDiagnostics___lambda__3___closed__3; -x_3 = lean_unsigned_to_nat(666u); +x_3 = lean_unsigned_to_nat(651u); x_4 = lean_unsigned_to_nat(26u); x_5 = l_Lean_Name_getString_x21___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -37958,7 +37048,7 @@ lean_ctor_set(x_36, 6, x_32); lean_ctor_set(x_36, 7, x_32); x_37 = l_Lean_mkOptionalNode___closed__2; x_38 = lean_array_push(x_37, x_36); -x_39 = l_Lean_Server_FileWorker_publishDiagnostics(x_27, x_38, x_13, x_31); +x_39 = l_Lean_Server_publishDiagnostics(x_27, x_38, x_13, x_31); if (lean_obj_tag(x_39) == 0) { uint8_t x_40; @@ -38496,10 +37586,6 @@ l_Lean_Server_FileWorker_instInhabitedEditableDocument___closed__4 = _init_l_Lea lean_mark_persistent(l_Lean_Server_FileWorker_instInhabitedEditableDocument___closed__4); l_Lean_Server_FileWorker_instInhabitedEditableDocument = _init_l_Lean_Server_FileWorker_instInhabitedEditableDocument(); lean_mark_persistent(l_Lean_Server_FileWorker_instInhabitedEditableDocument); -l_Std_PersistentArray_mapMAux___at_Lean_Server_FileWorker_publishMessages___spec__2___boxed__const__1 = _init_l_Std_PersistentArray_mapMAux___at_Lean_Server_FileWorker_publishMessages___spec__2___boxed__const__1(); -lean_mark_persistent(l_Std_PersistentArray_mapMAux___at_Lean_Server_FileWorker_publishMessages___spec__2___boxed__const__1); -l_Std_PersistentArray_mapM___at_Lean_Server_FileWorker_publishMessages___spec__1___boxed__const__1 = _init_l_Std_PersistentArray_mapM___at_Lean_Server_FileWorker_publishMessages___spec__1___boxed__const__1(); -lean_mark_persistent(l_Std_PersistentArray_mapM___at_Lean_Server_FileWorker_publishMessages___spec__1___boxed__const__1); l_Lean_Server_FileWorker_CancelToken_check___at___private_Lean_Server_FileWorker_0__Lean_Server_FileWorker_nextCmdSnap___spec__1___closed__1 = _init_l_Lean_Server_FileWorker_CancelToken_check___at___private_Lean_Server_FileWorker_0__Lean_Server_FileWorker_nextCmdSnap___spec__1___closed__1(); lean_mark_persistent(l_Lean_Server_FileWorker_CancelToken_check___at___private_Lean_Server_FileWorker_0__Lean_Server_FileWorker_nextCmdSnap___spec__1___closed__1); l___private_Lean_Server_FileWorker_0__Lean_Server_FileWorker_nextCmdSnap___closed__1 = _init_l___private_Lean_Server_FileWorker_0__Lean_Server_FileWorker_nextCmdSnap___closed__1(); diff --git a/stage0/stdlib/Lean/Server/Utils.c b/stage0/stdlib/Lean/Server/Utils.c index 066d88415f..b859c1108f 100644 --- a/stage0/stdlib/Lean/Server/Utils.c +++ b/stage0/stdlib/Lean/Server/Utils.c @@ -18,12 +18,17 @@ size_t l_USize_add(size_t, size_t); uint8_t l_Lean_Server_toFileUri___lambda__1(uint32_t); lean_object* l_IO_FS_Stream_chainLeft___elambda__4___boxed(lean_object*, lean_object*, lean_object*); extern uint8_t l_System_Platform_isWindows; +lean_object* l_Std_PersistentArray_mapM___at_Lean_Server_publishMessages___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_IO_FS_Stream_chainRight___elambda__6(lean_object*, lean_object*); +lean_object* l_IO_FS_Stream_writeLspNotification___at_Lean_Server_publishDiagnostics___spec__1(lean_object*, lean_object*, lean_object*); uint8_t l_USize_decEq(size_t, size_t); lean_object* lean_array_uget(lean_object*, size_t); lean_object* l_Lean_Server_foldDocumentChanges_match__1(lean_object*); +lean_object* lean_array_uset(lean_object*, size_t, lean_object*); lean_object* l_IO_FS_Stream_withPrefix___elambda__4(lean_object*, size_t, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__3(lean_object*, size_t, size_t, lean_object*, lean_object*); lean_object* l_System_mkFilePath(lean_object*); +lean_object* l_Std_PersistentArray_mapM___at_Lean_Server_publishMessages___spec__1___boxed__const__1; lean_object* l_IO_FS_Stream_chainLeft___elambda__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_toFileUri___closed__1; lean_object* l_List_takeWhile_match__1___rarg(lean_object*, lean_object*, lean_object*); @@ -33,6 +38,7 @@ lean_object* l_IO_FS_Handle_mk___at_Lean_Server_maybeTee___spec__1(lean_object*, extern lean_object* l_Lean_instInhabitedParserDescr___closed__1; lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Server_foldDocumentChanges___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*); extern lean_object* l_instInhabitedNat; +lean_object* l_Std_PersistentArray_mapMAux___at_Lean_Server_publishMessages___spec__2(lean_object*, lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* l_IO_FS_Stream_withPrefix___elambda__5(lean_object*, lean_object*); lean_object* lean_string_append(lean_object*, lean_object*); @@ -43,6 +49,7 @@ lean_object* l_IO_throwServerError___rarg(lean_object*, lean_object*); lean_object* l_String_dropWhile(lean_object*, lean_object*); lean_object* lean_string_utf8_byte_size(lean_object*); lean_object* lean_io_getenv(lean_object*, lean_object*); +uint8_t l_USize_decLt(size_t, size_t); lean_object* l_Lean_Server_foldDocumentChanges___closed__3; lean_object* l_IO_FS_Stream_chainLeft___elambda__5(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_instInhabitedDocumentMeta; @@ -56,15 +63,20 @@ lean_object* l_IO_FS_Stream_withPrefix___elambda__4___boxed(lean_object*, lean_o lean_object* l_Lean_Server_maybeTee___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_maybeTee___closed__1; lean_object* l_Lean_Server_foldDocumentChanges_match__2(lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_toFileUri___closed__2; lean_object* l_IO_FS_Stream_chainLeft(lean_object*, lean_object*, uint8_t); lean_object* l_IO_FS_Stream_chainRight___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_IO_FS_Stream_chainLeft___elambda__2(lean_object*, lean_object*); +extern lean_object* l_Lean_Lsp_Ipc_collectDiagnostics_loop_match__2___rarg___closed__1; lean_object* l_List_takeWhile_match__1(lean_object*, lean_object*); lean_object* l_IO_Prim_fopenFlags(uint8_t, uint8_t); lean_object* l_System_FilePath_normalizePath(lean_object*); +lean_object* l_IO_FS_Stream_writeLspMessage(lean_object*, lean_object*, lean_object*); lean_object* l_IO_FS_Stream_chainLeft___elambda__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_IO_FS_Stream_chainRight___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__4(lean_object*, size_t, size_t, lean_object*, lean_object*); +lean_object* l_Lean_Json_toStructured_x3f___at_Lean_Server_publishDiagnostics___spec__2(lean_object*); lean_object* lean_stream_of_handle(lean_object*); uint32_t lean_string_utf8_get(lean_object*, lean_object*); lean_object* l_Lean_Server_maybeTee_match__1___rarg(lean_object*, lean_object*, lean_object*); @@ -72,8 +84,11 @@ lean_object* l_IO_FS_Stream_chainLeft___elambda__1___boxed(lean_object*, lean_ob lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_takeWhile___rarg(lean_object*, lean_object*); uint8_t l_Array_isEmpty___rarg(lean_object*); +lean_object* l___private_Lean_Data_Lsp_Diagnostics_0__Lean_Lsp_toJsonPublishDiagnosticsParams____x40_Lean_Data_Lsp_Diagnostics___hyg_991_(lean_object*); lean_object* l_Lean_FileMap_ofString(lean_object*); +lean_object* l_Std_PersistentArray_mapMAux___at_Lean_Server_publishMessages___spec__2___boxed__const__1; size_t lean_usize_of_nat(lean_object*); +lean_object* l_Lean_Server_publishDiagnostics(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_IO_FS_Stream_withPrefix___elambda__2(lean_object*, lean_object*); lean_object* l_Lean_Server_replaceLspRange___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_replaceLspRange(lean_object*, lean_object*, lean_object*); @@ -81,8 +96,11 @@ lean_object* l_Lean_Server_foldDocumentChanges___closed__5; lean_object* l_Lean_Server_instInhabitedDocumentMeta___closed__1; lean_object* l_IO_FS_Stream_chainLeft___elambda__1(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); uint8_t l_UInt32_decEq(uint32_t, uint32_t); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Lsp_msgToDiagnostic(lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); lean_object* l_IO_FS_Stream_chainLeft___elambda__3(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_PersistentArray_toArray___rarg(lean_object*); lean_object* l_IO_FS_Stream_chainLeft___elambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); lean_object* l_IO_FS_Stream_chainRight___elambda__3(lean_object*, lean_object*, lean_object*); @@ -90,6 +108,7 @@ lean_object* l_Lean_Server_maybeTee_match__1(lean_object*); lean_object* l_IO_FS_Stream_chainLeft___elambda__3___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_toFileUri___lambda__1___boxed(lean_object*); extern lean_object* l_Lean_instInhabitedFileMap___closed__1; +lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__5(lean_object*, size_t, size_t, lean_object*, lean_object*); lean_object* l_IO_FS_Stream_chainRight(lean_object*, lean_object*, uint8_t); lean_object* l_Lean_Server_toFileUri(lean_object*); lean_object* l_Lean_Server_foldDocumentChanges_match__1___rarg(lean_object*, lean_object*, lean_object*); @@ -101,8 +120,11 @@ lean_object* l_IO_FS_Stream_withPrefix(lean_object*, lean_object*); lean_object* l_IO_FS_Stream_chainRight___elambda__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_foldDocumentChanges___closed__2; lean_object* l_Lean_Server_foldDocumentChanges___closed__4; +lean_object* l_Lean_Server_publishMessages(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_maybeTee(lean_object*, uint8_t, lean_object*, lean_object*); lean_object* l_IO_FS_Stream_withPrefix___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Nat_min(lean_object*, lean_object*); lean_object* l_IO_FS_Stream_chainLeft___elambda__4(lean_object*, size_t, lean_object*); lean_object* l_IO_FS_Stream_chainRight___elambda__5(lean_object*, lean_object*, lean_object*); @@ -112,6 +134,7 @@ uint8_t lean_string_utf8_at_end(lean_object*, lean_object*); lean_object* lean_io_prim_handle_mk(lean_object*, lean_object*, lean_object*); lean_object* l_List_takeWhile(lean_object*); lean_object* l_IO_FS_Stream_chainLeft___boxed(lean_object*, lean_object*, lean_object*); +lean_object* lean_nat_to_int(lean_object*); lean_object* l_IO_FS_Stream_chainRight___elambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedFileMap; lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Server_foldDocumentChanges___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1843,6 +1866,899 @@ lean_dec(x_1); return x_3; } } +lean_object* l_Lean_Json_toStructured_x3f___at_Lean_Server_publishDiagnostics___spec__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_2 = l___private_Lean_Data_Lsp_Diagnostics_0__Lean_Lsp_toJsonPublishDiagnosticsParams____x40_Lean_Data_Lsp_Diagnostics___hyg_991_(x_1); +x_3 = lean_ctor_get(x_2, 0); +lean_inc(x_3); +lean_dec(x_2); +x_4 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_4, 0, x_3); +x_5 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_5, 0, x_4); +return x_5; +} +} +lean_object* l_IO_FS_Stream_writeLspNotification___at_Lean_Server_publishDiagnostics___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_4 = lean_ctor_get(x_2, 0); +lean_inc(x_4); +x_5 = lean_ctor_get(x_2, 1); +lean_inc(x_5); +lean_dec(x_2); +x_6 = l_Lean_Json_toStructured_x3f___at_Lean_Server_publishDiagnostics___spec__2(x_5); +x_7 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_7, 0, x_4); +lean_ctor_set(x_7, 1, x_6); +x_8 = l_IO_FS_Stream_writeLspMessage(x_1, x_7, x_3); +lean_dec(x_7); +return x_8; +} +} +lean_object* l_Lean_Server_publishDiagnostics(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; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_5 = lean_ctor_get(x_1, 0); +lean_inc(x_5); +x_6 = lean_ctor_get(x_1, 1); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_nat_to_int(x_6); +x_8 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_8, 0, x_7); +x_9 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_9, 0, x_5); +lean_ctor_set(x_9, 1, x_8); +lean_ctor_set(x_9, 2, x_2); +x_10 = l_Lean_Lsp_Ipc_collectDiagnostics_loop_match__2___rarg___closed__1; +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_9); +x_12 = l_IO_FS_Stream_writeLspNotification___at_Lean_Server_publishDiagnostics___spec__1(x_3, x_11, x_4); +return x_12; +} +} +lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__3(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +uint8_t x_6; +x_6 = x_3 < x_2; +if (x_6 == 0) +{ +lean_object* x_7; lean_object* x_8; +lean_dec(x_1); +x_7 = x_4; +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_5); +return x_8; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_9 = lean_array_uget(x_4, x_3); +x_10 = lean_unsigned_to_nat(0u); +x_11 = lean_array_uset(x_4, x_3, x_10); +x_12 = x_9; +lean_inc(x_1); +x_13 = l_Std_PersistentArray_mapMAux___at_Lean_Server_publishMessages___spec__2(x_1, x_12, x_5); +if (lean_obj_tag(x_13) == 0) +{ +lean_object* x_14; lean_object* x_15; size_t x_16; size_t x_17; lean_object* x_18; lean_object* x_19; +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 = 1; +x_17 = x_3 + x_16; +x_18 = x_14; +x_19 = lean_array_uset(x_11, x_3, x_18); +x_3 = x_17; +x_4 = x_19; +x_5 = x_15; +goto _start; +} +else +{ +uint8_t x_21; +lean_dec(x_11); +lean_dec(x_1); +x_21 = !lean_is_exclusive(x_13); +if (x_21 == 0) +{ +return x_13; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_13, 0); +x_23 = lean_ctor_get(x_13, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_13); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; +} +} +} +} +} +lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__4(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; uint8_t x_7; +x_6 = lean_ctor_get(x_1, 2); +x_7 = x_3 < x_2; +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; +x_8 = x_4; +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_5); +return x_9; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_10 = lean_array_uget(x_4, x_3); +x_11 = lean_unsigned_to_nat(0u); +x_12 = lean_array_uset(x_4, x_3, x_11); +x_13 = x_10; +x_14 = l_Lean_Lsp_msgToDiagnostic(x_6, x_13, x_5); +if (lean_obj_tag(x_14) == 0) +{ +lean_object* x_15; lean_object* x_16; size_t x_17; size_t x_18; lean_object* x_19; lean_object* x_20; +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +x_17 = 1; +x_18 = x_3 + x_17; +x_19 = x_15; +x_20 = lean_array_uset(x_12, x_3, x_19); +x_3 = x_18; +x_4 = x_20; +x_5 = x_16; +goto _start; +} +else +{ +uint8_t x_22; +lean_dec(x_12); +x_22 = !lean_is_exclusive(x_14); +if (x_22 == 0) +{ +return x_14; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_14, 0); +x_24 = lean_ctor_get(x_14, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_14); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +return x_25; +} +} +} +} +} +static lean_object* _init_l_Std_PersistentArray_mapMAux___at_Lean_Server_publishMessages___spec__2___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_object* l_Std_PersistentArray_mapMAux___at_Lean_Server_publishMessages___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_2); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* 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; +x_5 = lean_ctor_get(x_2, 0); +x_6 = lean_array_get_size(x_5); +x_7 = lean_usize_of_nat(x_6); +lean_dec(x_6); +x_8 = x_5; +x_9 = lean_box_usize(x_7); +x_10 = l_Std_PersistentArray_mapMAux___at_Lean_Server_publishMessages___spec__2___boxed__const__1; +x_11 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__3___boxed), 5, 4); +lean_closure_set(x_11, 0, x_1); +lean_closure_set(x_11, 1, x_9); +lean_closure_set(x_11, 2, x_10); +lean_closure_set(x_11, 3, x_8); +x_12 = x_11; +x_13 = lean_apply_1(x_12, x_3); +if (lean_obj_tag(x_13) == 0) +{ +uint8_t x_14; +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) +{ +lean_object* x_15; +x_15 = lean_ctor_get(x_13, 0); +lean_ctor_set(x_2, 0, x_15); +lean_ctor_set(x_13, 0, x_2); +return x_13; +} +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_16 = lean_ctor_get(x_13, 0); +x_17 = lean_ctor_get(x_13, 1); +lean_inc(x_17); +lean_inc(x_16); +lean_dec(x_13); +lean_ctor_set(x_2, 0, x_16); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_2); +lean_ctor_set(x_18, 1, x_17); +return x_18; +} +} +else +{ +uint8_t x_19; +lean_free_object(x_2); +x_19 = !lean_is_exclusive(x_13); +if (x_19 == 0) +{ +return x_13; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_13, 0); +x_21 = lean_ctor_get(x_13, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_13); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_21); +return x_22; +} +} +} +else +{ +lean_object* x_23; lean_object* x_24; size_t 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_23 = lean_ctor_get(x_2, 0); +lean_inc(x_23); +lean_dec(x_2); +x_24 = lean_array_get_size(x_23); +x_25 = lean_usize_of_nat(x_24); +lean_dec(x_24); +x_26 = x_23; +x_27 = lean_box_usize(x_25); +x_28 = l_Std_PersistentArray_mapMAux___at_Lean_Server_publishMessages___spec__2___boxed__const__1; +x_29 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__3___boxed), 5, 4); +lean_closure_set(x_29, 0, x_1); +lean_closure_set(x_29, 1, x_27); +lean_closure_set(x_29, 2, x_28); +lean_closure_set(x_29, 3, x_26); +x_30 = x_29; +x_31 = lean_apply_1(x_30, x_3); +if (lean_obj_tag(x_31) == 0) +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +if (lean_is_exclusive(x_31)) { + lean_ctor_release(x_31, 0); + lean_ctor_release(x_31, 1); + x_34 = x_31; +} else { + lean_dec_ref(x_31); + x_34 = lean_box(0); +} +x_35 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_35, 0, x_32); +if (lean_is_scalar(x_34)) { + x_36 = lean_alloc_ctor(0, 2, 0); +} else { + x_36 = x_34; +} +lean_ctor_set(x_36, 0, x_35); +lean_ctor_set(x_36, 1, x_33); +return x_36; +} +else +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_37 = lean_ctor_get(x_31, 0); +lean_inc(x_37); +x_38 = lean_ctor_get(x_31, 1); +lean_inc(x_38); +if (lean_is_exclusive(x_31)) { + lean_ctor_release(x_31, 0); + lean_ctor_release(x_31, 1); + x_39 = x_31; +} else { + lean_dec_ref(x_31); + x_39 = lean_box(0); +} +if (lean_is_scalar(x_39)) { + x_40 = lean_alloc_ctor(1, 2, 0); +} else { + x_40 = x_39; +} +lean_ctor_set(x_40, 0, x_37); +lean_ctor_set(x_40, 1, x_38); +return x_40; +} +} +} +else +{ +uint8_t x_41; +x_41 = !lean_is_exclusive(x_2); +if (x_41 == 0) +{ +lean_object* x_42; lean_object* x_43; size_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; +x_42 = lean_ctor_get(x_2, 0); +x_43 = lean_array_get_size(x_42); +x_44 = lean_usize_of_nat(x_43); +lean_dec(x_43); +x_45 = x_42; +x_46 = lean_box_usize(x_44); +x_47 = l_Std_PersistentArray_mapMAux___at_Lean_Server_publishMessages___spec__2___boxed__const__1; +x_48 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__4___boxed), 5, 4); +lean_closure_set(x_48, 0, x_1); +lean_closure_set(x_48, 1, x_46); +lean_closure_set(x_48, 2, x_47); +lean_closure_set(x_48, 3, x_45); +x_49 = x_48; +x_50 = lean_apply_1(x_49, x_3); +if (lean_obj_tag(x_50) == 0) +{ +uint8_t x_51; +x_51 = !lean_is_exclusive(x_50); +if (x_51 == 0) +{ +lean_object* x_52; +x_52 = lean_ctor_get(x_50, 0); +lean_ctor_set(x_2, 0, x_52); +lean_ctor_set(x_50, 0, x_2); +return x_50; +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_53 = lean_ctor_get(x_50, 0); +x_54 = lean_ctor_get(x_50, 1); +lean_inc(x_54); +lean_inc(x_53); +lean_dec(x_50); +lean_ctor_set(x_2, 0, x_53); +x_55 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_55, 0, x_2); +lean_ctor_set(x_55, 1, x_54); +return x_55; +} +} +else +{ +uint8_t x_56; +lean_free_object(x_2); +x_56 = !lean_is_exclusive(x_50); +if (x_56 == 0) +{ +return x_50; +} +else +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_50, 0); +x_58 = lean_ctor_get(x_50, 1); +lean_inc(x_58); +lean_inc(x_57); +lean_dec(x_50); +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 +{ +lean_object* x_60; lean_object* x_61; size_t x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; +x_60 = lean_ctor_get(x_2, 0); +lean_inc(x_60); +lean_dec(x_2); +x_61 = lean_array_get_size(x_60); +x_62 = lean_usize_of_nat(x_61); +lean_dec(x_61); +x_63 = x_60; +x_64 = lean_box_usize(x_62); +x_65 = l_Std_PersistentArray_mapMAux___at_Lean_Server_publishMessages___spec__2___boxed__const__1; +x_66 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__4___boxed), 5, 4); +lean_closure_set(x_66, 0, x_1); +lean_closure_set(x_66, 1, x_64); +lean_closure_set(x_66, 2, x_65); +lean_closure_set(x_66, 3, x_63); +x_67 = x_66; +x_68 = lean_apply_1(x_67, x_3); +if (lean_obj_tag(x_68) == 0) +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_69 = lean_ctor_get(x_68, 0); +lean_inc(x_69); +x_70 = lean_ctor_get(x_68, 1); +lean_inc(x_70); +if (lean_is_exclusive(x_68)) { + lean_ctor_release(x_68, 0); + lean_ctor_release(x_68, 1); + x_71 = x_68; +} else { + lean_dec_ref(x_68); + x_71 = lean_box(0); +} +x_72 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_72, 0, x_69); +if (lean_is_scalar(x_71)) { + x_73 = lean_alloc_ctor(0, 2, 0); +} else { + x_73 = x_71; +} +lean_ctor_set(x_73, 0, x_72); +lean_ctor_set(x_73, 1, x_70); +return x_73; +} +else +{ +lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; +x_74 = lean_ctor_get(x_68, 0); +lean_inc(x_74); +x_75 = lean_ctor_get(x_68, 1); +lean_inc(x_75); +if (lean_is_exclusive(x_68)) { + lean_ctor_release(x_68, 0); + lean_ctor_release(x_68, 1); + x_76 = x_68; +} else { + lean_dec_ref(x_68); + x_76 = lean_box(0); +} +if (lean_is_scalar(x_76)) { + x_77 = lean_alloc_ctor(1, 2, 0); +} else { + x_77 = x_76; +} +lean_ctor_set(x_77, 0, x_74); +lean_ctor_set(x_77, 1, x_75); +return x_77; +} +} +} +} +} +lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__5(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; uint8_t x_7; +x_6 = lean_ctor_get(x_1, 2); +x_7 = x_3 < x_2; +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; +x_8 = x_4; +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_5); +return x_9; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_10 = lean_array_uget(x_4, x_3); +x_11 = lean_unsigned_to_nat(0u); +x_12 = lean_array_uset(x_4, x_3, x_11); +x_13 = x_10; +x_14 = l_Lean_Lsp_msgToDiagnostic(x_6, x_13, x_5); +if (lean_obj_tag(x_14) == 0) +{ +lean_object* x_15; lean_object* x_16; size_t x_17; size_t x_18; lean_object* x_19; lean_object* x_20; +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +x_17 = 1; +x_18 = x_3 + x_17; +x_19 = x_15; +x_20 = lean_array_uset(x_12, x_3, x_19); +x_3 = x_18; +x_4 = x_20; +x_5 = x_16; +goto _start; +} +else +{ +uint8_t x_22; +lean_dec(x_12); +x_22 = !lean_is_exclusive(x_14); +if (x_22 == 0) +{ +return x_14; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_14, 0); +x_24 = lean_ctor_get(x_14, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_14); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +return x_25; +} +} +} +} +} +static lean_object* _init_l_Std_PersistentArray_mapM___at_Lean_Server_publishMessages___spec__1___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_object* l_Std_PersistentArray_mapM___at_Lean_Server_publishMessages___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_2); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_5 = lean_ctor_get(x_2, 0); +x_6 = lean_ctor_get(x_2, 1); +x_7 = lean_ctor_get(x_2, 2); +x_8 = lean_ctor_get(x_2, 3); +lean_inc(x_1); +x_9 = l_Std_PersistentArray_mapMAux___at_Lean_Server_publishMessages___spec__2(x_1, x_5, x_3); +if (lean_obj_tag(x_9) == 0) +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; size_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_9, 1); +lean_inc(x_11); +lean_dec(x_9); +x_12 = lean_array_get_size(x_6); +x_13 = lean_usize_of_nat(x_12); +lean_dec(x_12); +x_14 = x_6; +x_15 = lean_box_usize(x_13); +x_16 = l_Std_PersistentArray_mapM___at_Lean_Server_publishMessages___spec__1___boxed__const__1; +x_17 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__5___boxed), 5, 4); +lean_closure_set(x_17, 0, x_1); +lean_closure_set(x_17, 1, x_15); +lean_closure_set(x_17, 2, x_16); +lean_closure_set(x_17, 3, x_14); +x_18 = x_17; +x_19 = lean_apply_1(x_18, x_11); +if (lean_obj_tag(x_19) == 0) +{ +uint8_t x_20; +x_20 = !lean_is_exclusive(x_19); +if (x_20 == 0) +{ +lean_object* x_21; +x_21 = lean_ctor_get(x_19, 0); +lean_ctor_set(x_2, 1, x_21); +lean_ctor_set(x_2, 0, x_10); +lean_ctor_set(x_19, 0, x_2); +return x_19; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_19, 0); +x_23 = lean_ctor_get(x_19, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_19); +lean_ctor_set(x_2, 1, x_22); +lean_ctor_set(x_2, 0, x_10); +x_24 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_24, 0, x_2); +lean_ctor_set(x_24, 1, x_23); +return x_24; +} +} +else +{ +uint8_t x_25; +lean_dec(x_10); +lean_free_object(x_2); +lean_dec(x_8); +lean_dec(x_7); +x_25 = !lean_is_exclusive(x_19); +if (x_25 == 0) +{ +return x_19; +} +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; +} +} +} +else +{ +uint8_t x_29; +lean_free_object(x_2); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_29 = !lean_is_exclusive(x_9); +if (x_29 == 0) +{ +return x_9; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_9, 0); +x_31 = lean_ctor_get(x_9, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_9); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; +} +} +} +else +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; size_t x_36; lean_object* x_37; lean_object* x_38; +x_33 = lean_ctor_get(x_2, 0); +x_34 = lean_ctor_get(x_2, 1); +x_35 = lean_ctor_get(x_2, 2); +x_36 = lean_ctor_get_usize(x_2, 4); +x_37 = lean_ctor_get(x_2, 3); +lean_inc(x_37); +lean_inc(x_35); +lean_inc(x_34); +lean_inc(x_33); +lean_dec(x_2); +lean_inc(x_1); +x_38 = l_Std_PersistentArray_mapMAux___at_Lean_Server_publishMessages___spec__2(x_1, x_33, x_3); +if (lean_obj_tag(x_38) == 0) +{ +lean_object* x_39; lean_object* x_40; lean_object* x_41; size_t 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; +x_39 = lean_ctor_get(x_38, 0); +lean_inc(x_39); +x_40 = lean_ctor_get(x_38, 1); +lean_inc(x_40); +lean_dec(x_38); +x_41 = lean_array_get_size(x_34); +x_42 = lean_usize_of_nat(x_41); +lean_dec(x_41); +x_43 = x_34; +x_44 = lean_box_usize(x_42); +x_45 = l_Std_PersistentArray_mapM___at_Lean_Server_publishMessages___spec__1___boxed__const__1; +x_46 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__5___boxed), 5, 4); +lean_closure_set(x_46, 0, x_1); +lean_closure_set(x_46, 1, x_44); +lean_closure_set(x_46, 2, x_45); +lean_closure_set(x_46, 3, x_43); +x_47 = x_46; +x_48 = lean_apply_1(x_47, x_40); +if (lean_obj_tag(x_48) == 0) +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_49 = lean_ctor_get(x_48, 0); +lean_inc(x_49); +x_50 = lean_ctor_get(x_48, 1); +lean_inc(x_50); +if (lean_is_exclusive(x_48)) { + lean_ctor_release(x_48, 0); + lean_ctor_release(x_48, 1); + x_51 = x_48; +} else { + lean_dec_ref(x_48); + x_51 = lean_box(0); +} +x_52 = lean_alloc_ctor(0, 4, sizeof(size_t)*1); +lean_ctor_set(x_52, 0, x_39); +lean_ctor_set(x_52, 1, x_49); +lean_ctor_set(x_52, 2, x_35); +lean_ctor_set(x_52, 3, x_37); +lean_ctor_set_usize(x_52, 4, x_36); +if (lean_is_scalar(x_51)) { + x_53 = lean_alloc_ctor(0, 2, 0); +} else { + x_53 = x_51; +} +lean_ctor_set(x_53, 0, x_52); +lean_ctor_set(x_53, 1, x_50); +return x_53; +} +else +{ +lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; +lean_dec(x_39); +lean_dec(x_37); +lean_dec(x_35); +x_54 = lean_ctor_get(x_48, 0); +lean_inc(x_54); +x_55 = lean_ctor_get(x_48, 1); +lean_inc(x_55); +if (lean_is_exclusive(x_48)) { + lean_ctor_release(x_48, 0); + lean_ctor_release(x_48, 1); + x_56 = x_48; +} else { + lean_dec_ref(x_48); + x_56 = lean_box(0); +} +if (lean_is_scalar(x_56)) { + x_57 = lean_alloc_ctor(1, 2, 0); +} else { + x_57 = x_56; +} +lean_ctor_set(x_57, 0, x_54); +lean_ctor_set(x_57, 1, x_55); +return x_57; +} +} +else +{ +lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +lean_dec(x_37); +lean_dec(x_35); +lean_dec(x_34); +lean_dec(x_1); +x_58 = lean_ctor_get(x_38, 0); +lean_inc(x_58); +x_59 = lean_ctor_get(x_38, 1); +lean_inc(x_59); +if (lean_is_exclusive(x_38)) { + lean_ctor_release(x_38, 0); + lean_ctor_release(x_38, 1); + x_60 = x_38; +} else { + lean_dec_ref(x_38); + x_60 = lean_box(0); +} +if (lean_is_scalar(x_60)) { + x_61 = lean_alloc_ctor(1, 2, 0); +} else { + x_61 = x_60; +} +lean_ctor_set(x_61, 0, x_58); +lean_ctor_set(x_61, 1, x_59); +return x_61; +} +} +} +} +lean_object* l_Lean_Server_publishMessages(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +lean_inc(x_1); +x_5 = l_Std_PersistentArray_mapM___at_Lean_Server_publishMessages___spec__1(x_1, x_2, x_4); +if (lean_obj_tag(x_5) == 0) +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_5, 1); +lean_inc(x_7); +lean_dec(x_5); +x_8 = l_Std_PersistentArray_toArray___rarg(x_6); +lean_dec(x_6); +x_9 = l_Lean_Server_publishDiagnostics(x_1, x_8, x_3, x_7); +return x_9; +} +else +{ +uint8_t x_10; +lean_dec(x_3); +lean_dec(x_1); +x_10 = !lean_is_exclusive(x_5); +if (x_10 == 0) +{ +return x_5; +} +else +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_5, 0); +x_12 = lean_ctor_get(x_5, 1); +lean_inc(x_12); +lean_inc(x_11); +lean_dec(x_5); +x_13 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_12); +return x_13; +} +} +} +} +lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +size_t x_6; size_t x_7; lean_object* x_8; +x_6 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_7 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_8 = l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__3(x_1, x_6, x_7, x_4, x_5); +return x_8; +} +} +lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +size_t x_6; size_t x_7; lean_object* x_8; +x_6 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_7 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_8 = l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__4(x_1, x_6, x_7, x_4, x_5); +lean_dec(x_1); +return x_8; +} +} +lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +size_t x_6; size_t x_7; lean_object* x_8; +x_6 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_7 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_8 = l_Array_mapMUnsafe_map___at_Lean_Server_publishMessages___spec__5(x_1, x_6, x_7, x_4, x_5); +lean_dec(x_1); +return x_8; +} +} lean_object* l_List_takeWhile_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { @@ -2002,6 +2918,10 @@ l_Lean_Server_foldDocumentChanges___closed__4 = _init_l_Lean_Server_foldDocument lean_mark_persistent(l_Lean_Server_foldDocumentChanges___closed__4); l_Lean_Server_foldDocumentChanges___closed__5 = _init_l_Lean_Server_foldDocumentChanges___closed__5(); lean_mark_persistent(l_Lean_Server_foldDocumentChanges___closed__5); +l_Std_PersistentArray_mapMAux___at_Lean_Server_publishMessages___spec__2___boxed__const__1 = _init_l_Std_PersistentArray_mapMAux___at_Lean_Server_publishMessages___spec__2___boxed__const__1(); +lean_mark_persistent(l_Std_PersistentArray_mapMAux___at_Lean_Server_publishMessages___spec__2___boxed__const__1); +l_Std_PersistentArray_mapM___at_Lean_Server_publishMessages___spec__1___boxed__const__1 = _init_l_Std_PersistentArray_mapM___at_Lean_Server_publishMessages___spec__1___boxed__const__1(); +lean_mark_persistent(l_Std_PersistentArray_mapM___at_Lean_Server_publishMessages___spec__1___boxed__const__1); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/Server/Watchdog.c b/stage0/stdlib/Lean/Server/Watchdog.c index f5085c3c37..8a0f5e7d95 100644 --- a/stage0/stdlib/Lean/Server/Watchdog.c +++ b/stage0/stdlib/Lean/Server/Watchdog.c @@ -27,6 +27,7 @@ lean_object* l_Lean_Server_Watchdog_parseParams___at_Lean_Server_Watchdog_handle lean_object* lean_get_stdin(lean_object*); lean_object* l_Std_RBNode_insert___at_Lean_Server_Watchdog_updateFileWorkers___spec__1(lean_object*, lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); +lean_object* l_Lean_Server_Watchdog_startFileWorker___closed__8; lean_object* lean_io_mono_ms_now(lean_object*); lean_object* l___private_Lean_Data_Lsp_TextSync_0__Lean_Lsp_fromJsonDidOpenTextDocumentParams____x40_Lean_Data_Lsp_TextSync___hyg_92_(lean_object*); lean_object* l_Lean_Server_Watchdog_handleDidOpen(lean_object*, lean_object*, lean_object*); @@ -62,6 +63,7 @@ extern lean_object* l_Lean_JsonRpc_instToJsonMessage___closed__6; uint8_t l_Lean_Syntax_structEq(lean_object*, lean_object*); lean_object* l___private_Lean_Server_Watchdog_0__Lean_Server_Watchdog_forwardMessages_loop(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_Watchdog_handleEdits___closed__3; +extern lean_object* l_Lean_Lsp_instInhabitedRange___closed__1; extern lean_object* l_Array_empty___closed__1; extern lean_object* l_Lean_JsonRpc_instToJsonErrorCode___closed__16; lean_object* l_Lean_Server_Watchdog_parseParams___at_Lean_Server_Watchdog_handleRequest___spec__6___boxed(lean_object*, lean_object*, lean_object*); @@ -102,6 +104,7 @@ lean_object* l_Std_RBNode_forIn_visit___at_Lean_Server_Watchdog_mainLoop___spec_ lean_object* l_IO_FS_Stream_readNotificationAs___at_Lean_Server_Watchdog_initAndRunWatchdogAux___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_Watchdog_initAndRunWatchdogAux(lean_object*, lean_object*); lean_object* l_IO_sleep(uint32_t, lean_object*); +extern lean_object* l_Lean_Lsp_instFromJsonDiagnosticSeverity___closed__2; lean_object* l_Lean_Server_Watchdog_handleNotification___closed__2; lean_object* l_IO_throwServerError___rarg(lean_object*, lean_object*); lean_object* l_Lean_Server_Watchdog_mkLeanServerCapabilities___closed__8; @@ -271,6 +274,7 @@ lean_object* l_Lean_Server_Watchdog_parseParams___at_Lean_Server_Watchdog_handle lean_object* l_Lean_Server_Watchdog_handleEdits___closed__2; lean_object* l___private_Lean_Server_Watchdog_0__Lean_Server_Watchdog_forwardMessages_loop___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_Watchdog_tryWriteMessage(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*); +lean_object* l_Lean_Server_publishDiagnostics(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Json_getObjValAs_x3f___at_Lean_Lsp_instFromJsonInitializeParams___spec__5(lean_object*, lean_object*); lean_object* l_IO_FS_Stream_writeLspNotification___at_Lean_Server_Watchdog_startFileWorker___spec__5(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Json_toStructured_x3f___at_Lean_Server_Watchdog_handleEdits___spec__1(lean_object*); @@ -331,6 +335,7 @@ extern lean_object* l_Lean_JsonRpc_instToJsonErrorCode___closed__20; lean_object* l_Lean_Server_Watchdog_handleRequest(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_RBNode_forIn_visit___at_Lean_Server_Watchdog_shutdown___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_Watchdog_handleRequest_match__2___rarg___closed__5; +lean_object* l_Lean_Server_Watchdog_startFileWorker___closed__7; lean_object* l_Lean_Server_Watchdog_FileWorker_readMessage_match__2(lean_object*); lean_object* l_Lean_Server_Watchdog_runClientTask___lambda__2(lean_object*); lean_object* l_Std_RBNode_find___at_Lean_Server_Watchdog_findFileWorker___spec__1(lean_object*, lean_object*); @@ -425,6 +430,7 @@ lean_object* l_Lean_Server_Watchdog_handleNotification_match__1___rarg(lean_obje lean_object* l_Lean_Json_getObjValAs_x3f___at_Lean_Lsp_instFromJsonInitializeParams___spec__3(lean_object*, lean_object*); lean_object* l_Lean_Server_Watchdog_findFileWorker(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_Watchdog_parseParams___at_Lean_Server_Watchdog_handleNotification___spec__1(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Server_Watchdog_startFileWorker___closed__6; lean_object* l_Lean_Server_Watchdog_handleRequest_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Std_RBNode_ins___at_Lean_Server_Watchdog_handleRequest___spec__4(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_Watchdog_initAndRunWatchdog___lambda__2___closed__1; @@ -5179,21 +5185,59 @@ static lean_object* _init_l_Lean_Server_Watchdog_startFileWorker___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string("--worker"); +x_1 = lean_mk_string("starting new server for file..."); return x_1; } } static lean_object* _init_l_Lean_Server_Watchdog_startFileWorker___closed__2() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = lean_box(0); +x_2 = l_Lean_Lsp_instInhabitedRange___closed__1; +x_3 = l_Lean_Lsp_instFromJsonDiagnosticSeverity___closed__2; +x_4 = l_Lean_Server_Watchdog_startFileWorker___closed__1; +x_5 = lean_alloc_ctor(0, 8, 0); +lean_ctor_set(x_5, 0, x_2); +lean_ctor_set(x_5, 1, x_2); +lean_ctor_set(x_5, 2, x_3); +lean_ctor_set(x_5, 3, x_1); +lean_ctor_set(x_5, 4, x_1); +lean_ctor_set(x_5, 5, x_4); +lean_ctor_set(x_5, 6, x_1); +lean_ctor_set(x_5, 7, x_1); +return x_5; +} +} +static lean_object* _init_l_Lean_Server_Watchdog_startFileWorker___closed__3() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_mkOptionalNode___closed__2; -x_2 = l_Lean_Server_Watchdog_startFileWorker___closed__1; +x_2 = l_Lean_Server_Watchdog_startFileWorker___closed__2; x_3 = lean_array_push(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Server_Watchdog_startFileWorker___closed__3() { +static lean_object* _init_l_Lean_Server_Watchdog_startFileWorker___closed__4() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("--worker"); +return x_1; +} +} +static lean_object* _init_l_Lean_Server_Watchdog_startFileWorker___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_mkOptionalNode___closed__2; +x_2 = l_Lean_Server_Watchdog_startFileWorker___closed__4; +x_3 = lean_array_push(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Server_Watchdog_startFileWorker___closed__6() { _start: { lean_object* x_1; lean_object* x_2; @@ -5202,7 +5246,7 @@ x_2 = lean_task_pure(x_1); return x_2; } } -static lean_object* _init_l_Lean_Server_Watchdog_startFileWorker___closed__4() { +static lean_object* _init_l_Lean_Server_Watchdog_startFileWorker___closed__7() { _start: { lean_object* x_1; lean_object* x_2; @@ -5212,7 +5256,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Server_Watchdog_startFileWorker___closed__5() { +static lean_object* _init_l_Lean_Server_Watchdog_startFileWorker___closed__8() { _start: { lean_object* x_1; @@ -5223,187 +5267,169 @@ return x_1; lean_object* l_Lean_Server_Watchdog_startFileWorker(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { -lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_4 = lean_ctor_get(x_1, 0); -lean_inc(x_4); -x_5 = lean_ctor_get(x_1, 1); +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_4 = lean_box(0); +x_5 = lean_ctor_get(x_2, 1); lean_inc(x_5); -x_6 = lean_ctor_get(x_1, 2); -lean_inc(x_6); -x_7 = lean_ctor_get(x_6, 0); -lean_inc(x_7); -lean_dec(x_6); -lean_inc(x_7); -x_8 = l___private_Lean_Server_Watchdog_0__Lean_Server_Watchdog_parseHeaderAst(x_7, x_3); -if (lean_obj_tag(x_8) == 0) +x_6 = l_Lean_Server_Watchdog_startFileWorker___closed__3; +lean_inc(x_1); +x_7 = l_Lean_Server_publishDiagnostics(x_1, x_6, x_5, x_3); +if (lean_obj_tag(x_7) == 0) { -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_9 = lean_ctor_get(x_8, 0); +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_8 = lean_ctor_get(x_7, 1); +lean_inc(x_8); +lean_dec(x_7); +x_9 = lean_ctor_get(x_1, 0); lean_inc(x_9); -x_10 = lean_ctor_get(x_8, 1); +x_10 = lean_ctor_get(x_1, 1); lean_inc(x_10); -lean_dec(x_8); -x_11 = lean_ctor_get(x_2, 7); +x_11 = lean_ctor_get(x_1, 2); lean_inc(x_11); -x_12 = lean_ctor_get(x_2, 3); +x_12 = lean_ctor_get(x_11, 0); lean_inc(x_12); -x_13 = l_List_redLength___rarg(x_12); -x_14 = lean_mk_empty_array_with_capacity(x_13); -lean_dec(x_13); -x_15 = l_List_toArrayAux___rarg(x_12, x_14); -x_16 = l_Lean_Server_Watchdog_startFileWorker___closed__2; -x_17 = l_Array_append___rarg(x_16, x_15); -lean_dec(x_15); -x_18 = lean_box(0); -x_19 = l_Lean_Server_Watchdog_workerCfg; -x_20 = l_Array_empty___closed__1; -x_21 = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_11); -lean_ctor_set(x_21, 2, x_17); -lean_ctor_set(x_21, 3, x_18); -lean_ctor_set(x_21, 4, x_20); -x_22 = lean_io_process_spawn(x_21, x_10); -if (lean_obj_tag(x_22) == 0) +lean_dec(x_11); +lean_inc(x_12); +x_13 = l___private_Lean_Server_Watchdog_0__Lean_Server_Watchdog_parseHeaderAst(x_12, x_8); +if (lean_obj_tag(x_13) == 0) { -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; 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_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = lean_box(0); -x_26 = l_IO_mkRef___at_Lean_Server_Watchdog_startFileWorker___spec__1(x_25, x_2, x_24); +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; +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 = lean_ctor_get(x_2, 7); +lean_inc(x_16); +x_17 = lean_ctor_get(x_2, 3); +lean_inc(x_17); +x_18 = l_List_redLength___rarg(x_17); +x_19 = lean_mk_empty_array_with_capacity(x_18); +lean_dec(x_18); +x_20 = l_List_toArrayAux___rarg(x_17, x_19); +x_21 = l_Lean_Server_Watchdog_startFileWorker___closed__5; +x_22 = l_Array_append___rarg(x_21, x_20); +lean_dec(x_20); +x_23 = l_Lean_Server_Watchdog_workerCfg; +x_24 = l_Array_empty___closed__1; +x_25 = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_16); +lean_ctor_set(x_25, 2, x_22); +lean_ctor_set(x_25, 3, x_4); +lean_ctor_set(x_25, 4, x_24); +x_26 = lean_io_process_spawn(x_25, x_15); +if (lean_obj_tag(x_26) == 0) +{ +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; x_27 = lean_ctor_get(x_26, 0); lean_inc(x_27); x_28 = lean_ctor_get(x_26, 1); lean_inc(x_28); lean_dec(x_26); -x_29 = l_IO_mkRef___at_Lean_Server_Watchdog_startFileWorker___spec__2(x_18, x_2, x_28); -x_30 = lean_ctor_get(x_29, 0); -lean_inc(x_30); -x_31 = lean_ctor_get(x_29, 1); +x_29 = lean_box(0); +x_30 = l_IO_mkRef___at_Lean_Server_Watchdog_startFileWorker___spec__1(x_29, x_2, x_28); +x_31 = lean_ctor_get(x_30, 0); lean_inc(x_31); -lean_dec(x_29); -x_32 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_32, 0, x_1); -lean_ctor_set(x_32, 1, x_9); -x_33 = l_Lean_Server_Watchdog_startFileWorker___closed__3; -x_34 = lean_box(1); -lean_inc(x_30); -lean_inc(x_27); -lean_inc(x_23); +x_32 = lean_ctor_get(x_30, 1); lean_inc(x_32); -x_35 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_35, 0, x_32); -lean_ctor_set(x_35, 1, x_23); -lean_ctor_set(x_35, 2, x_33); -lean_ctor_set(x_35, 3, x_34); -lean_ctor_set(x_35, 4, x_27); -lean_ctor_set(x_35, 5, x_30); -lean_inc(x_2); -x_36 = l___private_Lean_Server_Watchdog_0__Lean_Server_Watchdog_forwardMessages(x_35, x_2, x_31); -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; lean_object* x_45; -x_37 = lean_ctor_get(x_36, 0); -lean_inc(x_37); -x_38 = lean_ctor_get(x_36, 1); -lean_inc(x_38); -lean_dec(x_36); +lean_dec(x_30); +x_33 = l_IO_mkRef___at_Lean_Server_Watchdog_startFileWorker___spec__2(x_4, x_2, x_32); +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 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_36, 0, x_1); +lean_ctor_set(x_36, 1, x_14); +x_37 = l_Lean_Server_Watchdog_startFileWorker___closed__6; +x_38 = lean_box(1); +lean_inc(x_34); +lean_inc(x_31); +lean_inc(x_27); +lean_inc(x_36); x_39 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_39, 0, x_32); -lean_ctor_set(x_39, 1, x_23); +lean_ctor_set(x_39, 0, x_36); +lean_ctor_set(x_39, 1, x_27); lean_ctor_set(x_39, 2, x_37); -lean_ctor_set(x_39, 3, x_34); -lean_ctor_set(x_39, 4, x_27); -lean_ctor_set(x_39, 5, x_30); -lean_inc(x_39); -x_40 = l_Lean_Server_Watchdog_FileWorker_stdin(x_39); -x_41 = lean_ctor_get(x_2, 5); +lean_ctor_set(x_39, 3, x_38); +lean_ctor_set(x_39, 4, x_31); +lean_ctor_set(x_39, 5, x_34); +lean_inc(x_2); +x_40 = l___private_Lean_Server_Watchdog_0__Lean_Server_Watchdog_forwardMessages(x_39, x_2, x_35); +if (lean_obj_tag(x_40) == 0) +{ +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; +x_41 = lean_ctor_get(x_40, 0); lean_inc(x_41); -x_42 = l_Lean_Server_Watchdog_startFileWorker___closed__4; -x_43 = l_Lean_Parser_Command_initialize___elambda__1___closed__1; -x_44 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_44, 0, x_42); -lean_ctor_set(x_44, 1, x_43); -lean_ctor_set(x_44, 2, x_41); -lean_inc(x_40); -x_45 = l_IO_FS_Stream_writeLspRequest___at_Lean_Server_Watchdog_startFileWorker___spec__3(x_40, x_44, x_38); -if (lean_obj_tag(x_45) == 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; -x_46 = lean_ctor_get(x_45, 1); -lean_inc(x_46); -lean_dec(x_45); -x_47 = l_Lean_getBuiltinSearchPath___closed__3; -x_48 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_48, 0, x_4); +x_42 = lean_ctor_get(x_40, 1); +lean_inc(x_42); +lean_dec(x_40); +x_43 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_43, 0, x_36); +lean_ctor_set(x_43, 1, x_27); +lean_ctor_set(x_43, 2, x_41); +lean_ctor_set(x_43, 3, x_38); +lean_ctor_set(x_43, 4, x_31); +lean_ctor_set(x_43, 5, x_34); +lean_inc(x_43); +x_44 = l_Lean_Server_Watchdog_FileWorker_stdin(x_43); +x_45 = lean_ctor_get(x_2, 5); +lean_inc(x_45); +x_46 = l_Lean_Server_Watchdog_startFileWorker___closed__7; +x_47 = l_Lean_Parser_Command_initialize___elambda__1___closed__1; +x_48 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_48, 0, x_46); lean_ctor_set(x_48, 1, x_47); -lean_ctor_set(x_48, 2, x_5); -lean_ctor_set(x_48, 3, x_7); -x_49 = l_Lean_Server_Watchdog_startFileWorker___closed__5; -x_50 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_50, 0, x_49); -lean_ctor_set(x_50, 1, x_48); -x_51 = l_IO_FS_Stream_writeLspNotification___at_Lean_Server_Watchdog_startFileWorker___spec__5(x_40, x_50, x_46); -if (lean_obj_tag(x_51) == 0) +lean_ctor_set(x_48, 2, x_45); +lean_inc(x_44); +x_49 = l_IO_FS_Stream_writeLspRequest___at_Lean_Server_Watchdog_startFileWorker___spec__3(x_44, x_48, x_42); +if (lean_obj_tag(x_49) == 0) { -lean_object* x_52; lean_object* x_53; -x_52 = lean_ctor_get(x_51, 1); -lean_inc(x_52); -lean_dec(x_51); -x_53 = l_Lean_Server_Watchdog_updateFileWorkers(x_39, x_2, x_52); -lean_dec(x_2); -return x_53; -} -else +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_50 = lean_ctor_get(x_49, 1); +lean_inc(x_50); +lean_dec(x_49); +x_51 = l_Lean_getBuiltinSearchPath___closed__3; +x_52 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_52, 0, x_9); +lean_ctor_set(x_52, 1, x_51); +lean_ctor_set(x_52, 2, x_10); +lean_ctor_set(x_52, 3, x_12); +x_53 = l_Lean_Server_Watchdog_startFileWorker___closed__8; +x_54 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_54, 0, x_53); +lean_ctor_set(x_54, 1, x_52); +x_55 = l_IO_FS_Stream_writeLspNotification___at_Lean_Server_Watchdog_startFileWorker___spec__5(x_44, x_54, x_50); +if (lean_obj_tag(x_55) == 0) { -uint8_t x_54; -lean_dec(x_39); -lean_dec(x_2); -x_54 = !lean_is_exclusive(x_51); -if (x_54 == 0) -{ -return x_51; -} -else -{ -lean_object* x_55; lean_object* x_56; lean_object* x_57; -x_55 = lean_ctor_get(x_51, 0); -x_56 = lean_ctor_get(x_51, 1); +lean_object* x_56; lean_object* x_57; +x_56 = lean_ctor_get(x_55, 1); lean_inc(x_56); -lean_inc(x_55); -lean_dec(x_51); -x_57 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_57, 0, x_55); -lean_ctor_set(x_57, 1, x_56); +lean_dec(x_55); +x_57 = l_Lean_Server_Watchdog_updateFileWorkers(x_43, x_2, x_56); +lean_dec(x_2); return x_57; } -} -} else { uint8_t x_58; -lean_dec(x_40); -lean_dec(x_39); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); +lean_dec(x_43); lean_dec(x_2); -x_58 = !lean_is_exclusive(x_45); +x_58 = !lean_is_exclusive(x_55); if (x_58 == 0) { -return x_45; +return x_55; } else { lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_59 = lean_ctor_get(x_45, 0); -x_60 = lean_ctor_get(x_45, 1); +x_59 = lean_ctor_get(x_55, 0); +x_60 = lean_ctor_get(x_55, 1); lean_inc(x_60); lean_inc(x_59); -lean_dec(x_45); +lean_dec(x_55); x_61 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_61, 0, x_59); lean_ctor_set(x_61, 1, x_60); @@ -5414,27 +5440,25 @@ return x_61; else { uint8_t x_62; -lean_dec(x_32); -lean_dec(x_30); -lean_dec(x_27); -lean_dec(x_23); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); +lean_dec(x_44); +lean_dec(x_43); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); lean_dec(x_2); -x_62 = !lean_is_exclusive(x_36); +x_62 = !lean_is_exclusive(x_49); if (x_62 == 0) { -return x_36; +return x_49; } else { lean_object* x_63; lean_object* x_64; lean_object* x_65; -x_63 = lean_ctor_get(x_36, 0); -x_64 = lean_ctor_get(x_36, 1); +x_63 = lean_ctor_get(x_49, 0); +x_64 = lean_ctor_get(x_49, 1); lean_inc(x_64); lean_inc(x_63); -lean_dec(x_36); +lean_dec(x_49); x_65 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_65, 0, x_63); lean_ctor_set(x_65, 1, x_64); @@ -5445,25 +5469,27 @@ return x_65; else { uint8_t x_66; +lean_dec(x_36); +lean_dec(x_34); +lean_dec(x_31); +lean_dec(x_27); +lean_dec(x_12); +lean_dec(x_10); lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); lean_dec(x_2); -lean_dec(x_1); -x_66 = !lean_is_exclusive(x_22); +x_66 = !lean_is_exclusive(x_40); if (x_66 == 0) { -return x_22; +return x_40; } else { lean_object* x_67; lean_object* x_68; lean_object* x_69; -x_67 = lean_ctor_get(x_22, 0); -x_68 = lean_ctor_get(x_22, 1); +x_67 = lean_ctor_get(x_40, 0); +x_68 = lean_ctor_get(x_40, 1); lean_inc(x_68); lean_inc(x_67); -lean_dec(x_22); +lean_dec(x_40); x_69 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_69, 0, x_67); lean_ctor_set(x_69, 1, x_68); @@ -5474,24 +5500,25 @@ return x_69; else { uint8_t x_70; -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); lean_dec(x_2); lean_dec(x_1); -x_70 = !lean_is_exclusive(x_8); +x_70 = !lean_is_exclusive(x_26); if (x_70 == 0) { -return x_8; +return x_26; } else { lean_object* x_71; lean_object* x_72; lean_object* x_73; -x_71 = lean_ctor_get(x_8, 0); -x_72 = lean_ctor_get(x_8, 1); +x_71 = lean_ctor_get(x_26, 0); +x_72 = lean_ctor_get(x_26, 1); lean_inc(x_72); lean_inc(x_71); -lean_dec(x_8); +lean_dec(x_26); x_73 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_73, 0, x_71); lean_ctor_set(x_73, 1, x_72); @@ -5499,6 +5526,59 @@ return x_73; } } } +else +{ +uint8_t x_74; +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_2); +lean_dec(x_1); +x_74 = !lean_is_exclusive(x_13); +if (x_74 == 0) +{ +return x_13; +} +else +{ +lean_object* x_75; lean_object* x_76; lean_object* x_77; +x_75 = lean_ctor_get(x_13, 0); +x_76 = lean_ctor_get(x_13, 1); +lean_inc(x_76); +lean_inc(x_75); +lean_dec(x_13); +x_77 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_77, 0, x_75); +lean_ctor_set(x_77, 1, x_76); +return x_77; +} +} +} +else +{ +uint8_t x_78; +lean_dec(x_2); +lean_dec(x_1); +x_78 = !lean_is_exclusive(x_7); +if (x_78 == 0) +{ +return x_7; +} +else +{ +lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_79 = lean_ctor_get(x_7, 0); +x_80 = lean_ctor_get(x_7, 1); +lean_inc(x_80); +lean_inc(x_79); +lean_dec(x_7); +x_81 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_81, 0, x_79); +lean_ctor_set(x_81, 1, x_80); +return x_81; +} +} +} } lean_object* l_IO_mkRef___at_Lean_Server_Watchdog_startFileWorker___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: @@ -12573,7 +12653,7 @@ lean_object* l_Lean_Server_Watchdog_handleNotification_match__1___rarg(lean_obje _start: { lean_object* x_6; uint8_t x_7; -x_6 = l_Lean_Server_Watchdog_startFileWorker___closed__5; +x_6 = l_Lean_Server_Watchdog_startFileWorker___closed__8; x_7 = lean_string_dec_eq(x_1, x_6); if (x_7 == 0) { @@ -12749,7 +12829,7 @@ lean_object* l_Lean_Server_Watchdog_handleNotification(lean_object* x_1, lean_ob _start: { lean_object* x_5; uint8_t x_6; -x_5 = l_Lean_Server_Watchdog_startFileWorker___closed__5; +x_5 = l_Lean_Server_Watchdog_startFileWorker___closed__8; x_6 = lean_string_dec_eq(x_1, x_5); if (x_6 == 0) { @@ -19899,6 +19979,12 @@ l_Lean_Server_Watchdog_startFileWorker___closed__4 = _init_l_Lean_Server_Watchdo lean_mark_persistent(l_Lean_Server_Watchdog_startFileWorker___closed__4); l_Lean_Server_Watchdog_startFileWorker___closed__5 = _init_l_Lean_Server_Watchdog_startFileWorker___closed__5(); lean_mark_persistent(l_Lean_Server_Watchdog_startFileWorker___closed__5); +l_Lean_Server_Watchdog_startFileWorker___closed__6 = _init_l_Lean_Server_Watchdog_startFileWorker___closed__6(); +lean_mark_persistent(l_Lean_Server_Watchdog_startFileWorker___closed__6); +l_Lean_Server_Watchdog_startFileWorker___closed__7 = _init_l_Lean_Server_Watchdog_startFileWorker___closed__7(); +lean_mark_persistent(l_Lean_Server_Watchdog_startFileWorker___closed__7); +l_Lean_Server_Watchdog_startFileWorker___closed__8 = _init_l_Lean_Server_Watchdog_startFileWorker___closed__8(); +lean_mark_persistent(l_Lean_Server_Watchdog_startFileWorker___closed__8); l_Lean_Server_Watchdog_terminateFileWorker___closed__1 = _init_l_Lean_Server_Watchdog_terminateFileWorker___closed__1(); lean_mark_persistent(l_Lean_Server_Watchdog_terminateFileWorker___closed__1); l_Lean_Server_Watchdog_handleEdits___lambda__1___closed__1 = _init_l_Lean_Server_Watchdog_handleEdits___lambda__1___closed__1();