From a7d2edd33310ab1f8a1d70740dbbd5fc3501c58c Mon Sep 17 00:00:00 2001 From: Leonardo de Moura Date: Mon, 1 Feb 2021 18:04:28 -0800 Subject: [PATCH] chore: update stage0 --- stage0/src/Init/Notation.lean | 2 +- stage0/src/Lean/Elab/Tactic/Induction.lean | 10 +- stage0/src/Lean/Meta/Tactic/Cases.lean | 14 +- stage0/src/Lean/Meta/Tactic/Induction.lean | 14 +- stage0/src/Lean/Meta/Tactic/Intro.lean | 41 +- stage0/stdlib/Init/Notation.c | 266 ++- stage0/stdlib/Init/NotationExtra.c | 20 +- stage0/stdlib/Lean/Compiler/IR/CtorLayout.c | 4 +- .../Lean/Compiler/IR/ElimDeadBranches.c | 4 +- stage0/stdlib/Lean/Elab/Binders.c | 14 +- stage0/stdlib/Lean/Elab/BuiltinNotation.c | 4 +- stage0/stdlib/Lean/Elab/Deriving/BEq.c | 6 +- stage0/stdlib/Lean/Elab/Deriving/DecEq.c | 6 +- stage0/stdlib/Lean/Elab/Deriving/Inhabited.c | 4 +- stage0/stdlib/Lean/Elab/Deriving/Repr.c | 4 +- stage0/stdlib/Lean/Elab/Deriving/Util.c | 6 +- stage0/stdlib/Lean/Elab/Match.c | 6 +- stage0/stdlib/Lean/Elab/Quotation.c | 10 +- stage0/stdlib/Lean/Elab/Tactic/Basic.c | 6 +- stage0/stdlib/Lean/Elab/Tactic/Generalize.c | 157 +- stage0/stdlib/Lean/Elab/Tactic/Induction.c | 1450 ++++++------- stage0/stdlib/Lean/Meta/Match/Basic.c | 4 +- .../stdlib/Lean/Meta/Match/CaseArraySizes.c | 4 +- stage0/stdlib/Lean/Meta/Match/Match.c | 269 ++- stage0/stdlib/Lean/Meta/Tactic/Assert.c | 297 +-- stage0/stdlib/Lean/Meta/Tactic/Cases.c | 1263 ++++++------ stage0/stdlib/Lean/Meta/Tactic/Induction.c | 636 +++--- stage0/stdlib/Lean/Meta/Tactic/Intro.c | 1827 +++++++++-------- stage0/stdlib/Lean/Meta/Tactic/Replace.c | 806 ++++---- stage0/stdlib/Lean/Meta/Tactic/Subst.c | 1494 +++++++------- stage0/stdlib/Lean/Parser/Term.c | 40 +- .../Lean/PrettyPrinter/Delaborator/Builtins.c | 8 +- stage0/stdlib/Leanpkg/Resolve.c | 4 +- 33 files changed, 4436 insertions(+), 4264 deletions(-) diff --git a/stage0/src/Init/Notation.lean b/stage0/src/Init/Notation.lean index a0f95e5b61..8d06cf45d3 100644 --- a/stage0/src/Init/Notation.lean +++ b/stage0/src/Init/Notation.lean @@ -263,7 +263,7 @@ syntax (name := «let») "let " letDecl : tactic syntax (name := «let!») "let! " letDecl : tactic syntax (name := letrec) withPosition(atomic(group("let " &"rec ")) letRecDecls) : tactic -syntax inductionAlt := "| " (ident <|> "_") (ident <|> "_")* " => " (hole <|> syntheticHole <|> tacticSeq) +syntax inductionAlt := "| " (group("@"? ident) <|> "_") (ident <|> "_")* " => " (hole <|> syntheticHole <|> tacticSeq) syntax inductionAlts := "with " withPosition( (colGe inductionAlt)+) syntax (name := induction) "induction " term,+ (" using " ident)? ("generalizing " ident+)? (inductionAlts)? : tactic syntax casesTarget := atomic(ident " : ")? term diff --git a/stage0/src/Lean/Elab/Tactic/Induction.lean b/stage0/src/Lean/Elab/Tactic/Induction.lean index f925e836a9..46c7a99954 100644 --- a/stage0/src/Lean/Elab/Tactic/Induction.lean +++ b/stage0/src/Lean/Elab/Tactic/Induction.lean @@ -201,8 +201,7 @@ def evalAlts (elimInfo : ElimInfo) (alts : Array (Name × MVarId)) (altsSyntax : | some altStx => subgoals ← withRef altStx do let altVarNames := getAltVarNames altStx - /- TODO: version of introN that only uses altVarNames for explicit parameters -/ - let mut (_, altMVarId) ← introN altMVarId numFields altVarNames.toList + let mut (_, altMVarId) ← introN altMVarId numFields altVarNames.toList (useNamesForExplicitOnly := !altHasExplicitModifier altStx) match (← Cases.unifyEqs numEqs altMVarId {}) with | none => throwError! "alternative '{altName}' is not needed" | some (altMVarId, _) => @@ -443,8 +442,8 @@ private def generalizeTerm (term : Expr) : TacticM Expr := do if targets.size == 1 then let recInfo ← getRecInfo stx targets[0] let (mvarId, _) ← getMainGoal - /- TODO: ctorNames + recInfo ==> altVars -/ - let altVars := recInfo.alts.map fun alt => (getAltVarNames alt).toList + let altVars := recInfo.alts.map fun alt => + { explicit := altHasExplicitModifier alt, varNames := (getAltVarNames alt).toList : AltVarNames } let result ← Meta.induction mvarId targets[0].fvarId! recInfo.recName altVars processResult recInfo.alts result (numToIntro := n) else @@ -528,8 +527,7 @@ builtin_initialize registerTraceClass `Elab.cases def evalCasesOn (target : Expr) (optInductionAlts : Syntax) : TacticM Unit := do let (mvarId, _) ← getMainGoal let (recInfo, ctorNames) ← getRecInfoDefault target optInductionAlts (allowMissingAlts := true) - /- TODO: ctorNames + recInfo ==> altVars -/ - let altVars := recInfo.alts.map fun alt => (getAltVarNames alt).toList + let altVars := recInfo.alts.map fun alt => { explicit := altHasExplicitModifier alt, varNames := (getAltVarNames alt).toList : AltVarNames } let result ← Meta.cases mvarId target.fvarId! altVars trace[Elab.cases]! "recInfo.alts.size: #{recInfo.alts.size} {recInfo.alts.map getAltVarNames}" trace[Elab.cases]! "recInfo.alts: #{recInfo.alts.map toString}" diff --git a/stage0/src/Lean/Meta/Tactic/Cases.lean b/stage0/src/Lean/Meta/Tactic/Cases.lean index 0044e02f93..acdb7eed15 100644 --- a/stage0/src/Lean/Meta/Tactic/Cases.lean +++ b/stage0/src/Lean/Meta/Tactic/Cases.lean @@ -271,17 +271,17 @@ private def unifyCasesEqs (numEqs : Nat) (subgoals : Array CasesSubgoal) : MetaM fields := s.fields.map (subst.apply ·) } -private def inductionCasesOn (mvarId : MVarId) (majorFVarId : FVarId) (givenNames : Array (List Name)) (useUnusedNames : Bool) (ctx : Context) +private def inductionCasesOn (mvarId : MVarId) (majorFVarId : FVarId) (givenNames : Array AltVarNames) (ctx : Context) : MetaM (Array CasesSubgoal) := do withMVarContext mvarId do let majorType ← inferType (mkFVar majorFVarId) let (us, params) ← getInductiveUniverseAndParams majorType let casesOn := mkCasesOnName ctx.inductiveVal.name let ctors := ctx.inductiveVal.ctors.toArray - let s ← induction mvarId majorFVarId casesOn givenNames useUnusedNames + let s ← induction mvarId majorFVarId casesOn givenNames pure $ toCasesSubgoals s ctors majorFVarId us params -def cases (mvarId : MVarId) (majorFVarId : FVarId) (givenNames : Array (List Name) := #[]) (useUnusedNames := false) : MetaM (Array CasesSubgoal) := +def cases (mvarId : MVarId) (majorFVarId : FVarId) (givenNames : Array AltVarNames := #[]) : MetaM (Array CasesSubgoal) := withMVarContext mvarId do checkNotAssigned mvarId `cases let context? ← mkCasesContext? majorFVarId @@ -293,18 +293,18 @@ def cases (mvarId : MVarId) (majorFVarId : FVarId) (givenNames : Array (List Nam allow callers to specify whether they want the `FVarSubst` or not. -/ if ctx.inductiveVal.numIndices == 0 then -- Simple case - inductionCasesOn mvarId majorFVarId givenNames useUnusedNames ctx + inductionCasesOn mvarId majorFVarId givenNames ctx else let s₁ ← generalizeIndices mvarId majorFVarId trace[Meta.Tactic.cases]! "after generalizeIndices\n{MessageData.ofGoal s₁.mvarId}" - let s₂ ← inductionCasesOn s₁.mvarId s₁.fvarId givenNames useUnusedNames ctx + let s₂ ← inductionCasesOn s₁.mvarId s₁.fvarId givenNames ctx let s₂ ← elimAuxIndices s₁ s₂ unifyCasesEqs s₁.numEqs s₂ end Cases -def cases (mvarId : MVarId) (majorFVarId : FVarId) (givenNames : Array (List Name) := #[]) (useUnusedNames := false) : MetaM (Array CasesSubgoal) := - Cases.cases mvarId majorFVarId givenNames useUnusedNames +def cases (mvarId : MVarId) (majorFVarId : FVarId) (givenNames : Array AltVarNames := #[]) : MetaM (Array CasesSubgoal) := + Cases.cases mvarId majorFVarId givenNames builtin_initialize registerTraceClass `Meta.Tactic.cases diff --git a/stage0/src/Lean/Meta/Tactic/Induction.lean b/stage0/src/Lean/Meta/Tactic/Induction.lean index d60cf0fee1..e399acb292 100644 --- a/stage0/src/Lean/Meta/Tactic/Induction.lean +++ b/stage0/src/Lean/Meta/Tactic/Induction.lean @@ -47,8 +47,13 @@ private def getTypeBody (mvarId : MVarId) (type : Expr) (x : Expr) : MetaM Expr | Expr.forallE _ _ b _ => pure $ b.instantiate1 x | _ => throwTacticEx `induction mvarId "ill-formed recursor" +structure AltVarNames where + explicit : Bool := false -- true if `@` modifier was used + varNames : List Name := [] + deriving Inhabited + private partial def finalize - (mvarId : MVarId) (givenNames : Array (List Name)) (recursorInfo : RecursorInfo) + (mvarId : MVarId) (givenNames : Array AltVarNames) (recursorInfo : RecursorInfo) (reverted : Array FVarId) (major : Expr) (indices : Array Expr) (baseSubst : FVarSubst) (recursor : Expr) : MetaM (Array InductionSubgoal) := do let target ← getMVarType mvarId @@ -91,13 +96,13 @@ private partial def finalize if arity < initialArity then throwTacticEx `induction mvarId "ill-formed recursor" let nparams := arity - initialArity -- number of fields due to minor premise let nextra := reverted.size - indices.size - 1 -- extra dependencies that have been reverted - let minorGivenNames := if h : minorIdx < givenNames.size then givenNames.get ⟨minorIdx, h⟩ else [] + let minorGivenNames := if h : minorIdx < givenNames.size then givenNames.get ⟨minorIdx, h⟩ else {} let mvar ← mkFreshExprSyntheticOpaqueMVar d (tag ++ n) let recursor := mkApp recursor mvar let recursorType ← getTypeBody mvarId recursorType mvar -- Try to clear major premise from new goal let mvarId' ← tryClear mvar.mvarId! major.fvarId! - let (fields, mvarId') ← introN mvarId' nparams minorGivenNames + let (fields, mvarId') ← introN mvarId' nparams minorGivenNames.varNames (useNamesForExplicitOnly := !minorGivenNames.explicit) let (extra, mvarId') ← introNP mvarId' nextra let subst := reverted.size.fold (init := baseSubst) fun i (subst : FVarSubst) => if i < indices.size + 1 then subst @@ -117,8 +122,7 @@ private partial def finalize private def throwUnexpectedMajorType {α} (mvarId : MVarId) (majorType : Expr) : MetaM α := throwTacticEx `induction mvarId m!"unexpected major premise type{indentExpr majorType}" -def induction (mvarId : MVarId) (majorFVarId : FVarId) (recursorName : Name) (givenNames : Array (List Name) := #[]) (useUnusedNames := false) : - MetaM (Array InductionSubgoal) := +def induction (mvarId : MVarId) (majorFVarId : FVarId) (recursorName : Name) (givenNames : Array AltVarNames := #[]) : MetaM (Array InductionSubgoal) := withMVarContext mvarId do checkNotAssigned mvarId `induction let majorLocalDecl ← getLocalDecl majorFVarId diff --git a/stage0/src/Lean/Meta/Tactic/Intro.lean b/stage0/src/Lean/Meta/Tactic/Intro.lean index 36930ce308..51be4d32e1 100644 --- a/stage0/src/Lean/Meta/Tactic/Intro.lean +++ b/stage0/src/Lean/Meta/Tactic/Intro.lean @@ -7,7 +7,7 @@ import Lean.Meta.Tactic.Util namespace Lean.Meta -@[inline] private partial def introNImp {σ} (mvarId : MVarId) (n : Nat) (mkName : LocalContext → Name → σ → MetaM (Name × σ)) (s : σ) +@[inline] private partial def introNImp {σ} (mvarId : MVarId) (n : Nat) (mkName : LocalContext → Name → Bool → σ → MetaM (Name × σ)) (s : σ) : MetaM (Array FVarId × MVarId) := withMVarContext mvarId do checkNotAssigned mvarId `introN let mvarType ← getMVarType mvarId @@ -29,7 +29,7 @@ namespace Lean.Meta let type := type.headBeta let val := val.instantiateRevRange j fvars.size fvars let fvarId ← mkFreshId - let (n, s) ← mkName lctx n s + let (n, s) ← mkName lctx n true s let lctx := lctx.mkLetDecl fvarId n type val let fvar := mkFVar fvarId let fvars := fvars.push fvar @@ -38,7 +38,7 @@ namespace Lean.Meta let type := type.instantiateRevRange j fvars.size fvars let type := type.headBeta let fvarId ← mkFreshId - let (n, s) ← mkName lctx n s + let (n, s) ← mkName lctx n c.binderInfo.isExplicit s let lctx := lctx.mkLocalDecl fvarId n type c.binderInfo let fvar := mkFVar fvarId let fvars := fvars.push fvar @@ -64,19 +64,19 @@ register_builtin_option hygienicIntro : Bool := { def getHygienicIntro : MetaM Bool := do return hygienicIntro.get (← getOptions) -private def mkAuxNameImp (preserveBinderNames : Bool) (hygienic : Bool) (lctx : LocalContext) (binderName : Name) : List Name → MetaM (Name × List Name) - | [] => do - if preserveBinderNames then - pure (binderName, []) - else if hygienic then do - let binderName ← mkFreshUserName binderName; - pure (binderName, []) - else - pure (lctx.getUnusedName binderName, []) +private def mkAuxNameImp (preserveBinderNames : Bool) (hygienic : Bool) (useNamesForExplicitOnly : Bool) + (lctx : LocalContext) (binderName : Name) (isExplicit : Bool) : List Name → MetaM (Name × List Name) + | [] => mkAuxNameWithoutGivenName [] | n :: rest => do - if n != Name.mkSimple "_" then + if useNamesForExplicitOnly && !isExplicit then + mkAuxNameWithoutGivenName (n :: rest) + else if n != Name.mkSimple "_" then pure (n, rest) - else if preserveBinderNames then + else + mkAuxNameWithoutGivenName rest +where + mkAuxNameWithoutGivenName (rest : List Name) : MetaM (Name × List Name) := do + if preserveBinderNames then pure (binderName, rest) else if hygienic then let binderName ← mkFreshUserName binderName @@ -84,25 +84,26 @@ private def mkAuxNameImp (preserveBinderNames : Bool) (hygienic : Bool) (lctx : else pure (lctx.getUnusedName binderName, rest) -def introNCore (mvarId : MVarId) (n : Nat) (givenNames : List Name) (preserveBinderNames : Bool) : MetaM (Array FVarId × MVarId) := do +def introNCore (mvarId : MVarId) (n : Nat) (givenNames : List Name) (useNamesForExplicitOnly : Bool) (preserveBinderNames : Bool) + : MetaM (Array FVarId × MVarId) := do let hygienic ← getHygienicIntro if n == 0 then pure (#[], mvarId) else - introNImp mvarId n (mkAuxNameImp preserveBinderNames hygienic) givenNames + introNImp mvarId n (mkAuxNameImp preserveBinderNames hygienic useNamesForExplicitOnly) givenNames -abbrev introN (mvarId : MVarId) (n : Nat) (givenNames : List Name := []) : MetaM (Array FVarId × MVarId) := - introNCore mvarId n givenNames false +abbrev introN (mvarId : MVarId) (n : Nat) (givenNames : List Name := []) (useNamesForExplicitOnly := false) : MetaM (Array FVarId × MVarId) := + introNCore mvarId n givenNames (useNamesForExplicitOnly := useNamesForExplicitOnly) (preserveBinderNames := false) abbrev introNP (mvarId : MVarId) (n : Nat) : MetaM (Array FVarId × MVarId) := - introNCore mvarId n [] true + introNCore mvarId n [] (useNamesForExplicitOnly := false) (preserveBinderNames := true) def intro (mvarId : MVarId) (name : Name) : MetaM (FVarId × MVarId) := do let (fvarIds, mvarId) ← introN mvarId 1 [name] pure (fvarIds.get! 0, mvarId) def intro1Core (mvarId : MVarId) (preserveBinderNames : Bool) : MetaM (FVarId × MVarId) := do - let (fvarIds, mvarId) ← introNCore mvarId 1 [] preserveBinderNames + let (fvarIds, mvarId) ← introNCore mvarId 1 [] (useNamesForExplicitOnly := false) preserveBinderNames pure (fvarIds.get! 0, mvarId) abbrev intro1 (mvarId : MVarId) : MetaM (FVarId × MVarId) := diff --git a/stage0/stdlib/Init/Notation.c b/stage0/stdlib/Init/Notation.c index cd824f3fab..93c5fe705f 100644 --- a/stage0/stdlib/Init/Notation.c +++ b/stage0/stdlib/Init/Notation.c @@ -98,6 +98,7 @@ lean_object* l_term___u2264_____closed__2; lean_object* l_Lean_Parser_Tactic_intro___closed__9; lean_object* l_term___x3d_x3d_____closed__6; lean_object* l_term___u2227_____closed__3; +lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__19; lean_object* l_term_x5b___x5d___closed__9; lean_object* l_Lean_Parser_Tactic_failIfSuccess___closed__6; lean_object* l_myMacro____x40_Init_Notation___hyg_1398____closed__5; @@ -221,6 +222,7 @@ lean_object* l_term___x3e_x3e_x3d_____closed__7; lean_object* l_prio_x28___x29___closed__6; lean_object* l_myMacro____x40_Init_Notation___hyg_2964____closed__6; lean_object* l_termIfThenElse___closed__9; +lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18042____boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Attr_simp___closed__2; lean_object* l_myMacro____x40_Init_Notation___hyg_1162____closed__2; lean_object* l_Lean_Parser_Tactic_skip___closed__3; @@ -287,6 +289,7 @@ lean_object* l_prioLow___closed__3; lean_object* l_Lean_Parser_Tactic_clear___closed__6; lean_object* l_myMacro____x40_Init_Notation___hyg_12938____closed__1; lean_object* l___private_Init_Notation_0__Lean_Parser_Tactic_withCheapRefl___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18042____closed__1; lean_object* l_myMacro____x40_Init_Notation___hyg_2191____closed__7; lean_object* l_term_x2d_____closed__6; lean_object* l_myMacro____x40_Init_Notation___hyg_9946____closed__9; @@ -446,7 +449,6 @@ lean_object* l_myMacro____x40_Init_Notation___hyg_958____closed__4; lean_object* l_stx_x21_____closed__2; lean_object* l_Lean_Parser_Tactic_tacticHave_____x3a_x3d_____closed__1; lean_object* l_myMacro____x40_Init_Notation___hyg_3482____closed__3; -lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18030____boxed(lean_object*, lean_object*, lean_object*); lean_object* l_myMacro____x40_Init_Notation___hyg_10982____closed__9; lean_object* l_Lean_Parser_Tactic_intros___closed__3; lean_object* l_Lean_Parser_Tactic_rwRule___closed__2; @@ -667,6 +669,7 @@ lean_object* l_myMacro____x40_Init_Notation___hyg_11241____closed__4; lean_object* l_term___x3e_x3d_____closed__3; lean_object* l_term_x7b_____x3a___x2f_x2f___x7d___closed__2; lean_object* l_term___x2a_____closed__7; +lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__20; lean_object* l_term___x24_______closed__9; lean_object* l_Lean_Parser_Tactic_rw; lean_object* l_Lean_Parser_Tactic_changeWith___closed__8; @@ -913,6 +916,7 @@ lean_object* l_myMacro____x40_Init_Notation___hyg_2964____closed__8; lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__3; lean_object* l_myMacro____x40_Init_Notation___hyg_6045____closed__5; lean_object* l_Lean_Parser_Tactic_expandRw___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__18; lean_object* l_myMacro____x40_Init_Notation___hyg_9946____closed__5; lean_object* l_term_x25_x5b___x7c___x5d___closed__10; lean_object* l_myMacro____x40_Init_Notation___hyg_10205____closed__6; @@ -1113,6 +1117,7 @@ lean_object* l_Lean_Parser_Tactic_tactic___x3c_x3b_x3e_____closed__8; lean_object* l_stx___x2a___closed__5; lean_object* l_term___x3c_x3d_____closed__5; lean_object* l_Lean_Parser_Tactic_intros___closed__9; +lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__22; lean_object* l_Lean_Parser_Tactic_location___closed__9; lean_object* l_termDepIfThenElse___closed__33; lean_object* l_term___x2a_____closed__6; @@ -1121,8 +1126,8 @@ lean_object* l_term_x2d_____closed__3; lean_object* l_myMacro____x40_Init_Notation___hyg_4000____closed__8; lean_object* l_precMin___closed__4; lean_object* l_Lean_Parser_Tactic_existsIntro___closed__6; -lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18030_(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846_(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18042_(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858_(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_16349_(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_16223_(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_16094_(lean_object*, lean_object*, lean_object*); @@ -1328,12 +1333,14 @@ lean_object* l_myMacro____x40_Init_Notation___hyg_775____boxed(lean_object*, lea lean_object* l_term_x5b___x5d___closed__8; lean_object* l_Lean_Parser_Tactic_rwRule___closed__1; lean_object* l_myMacro____x40_Init_Notation___hyg_6301____closed__9; +lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__23; lean_object* l_myMacro____x40_Init_Notation___hyg_12336____closed__11; lean_object* l_term___x3c_x3d_____closed__7; lean_object* l_myMacro____x40_Init_Notation___hyg_11500____closed__4; lean_object* l_myMacro____x40_Init_Notation___hyg_10464____closed__4; lean_object* l_myMacro____x40_Init_Notation___hyg_1398____boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_tacticHave_____x3a_x3d_____closed__2; +lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__2; lean_object* l_myMacro____x40_Init_Notation___hyg_12938____closed__11; lean_object* l_myMacro____x40_Init_Notation___hyg_5017____closed__4; lean_object* l_Lean_Parser_Tactic_intro___closed__6; @@ -1355,6 +1362,7 @@ lean_object* l_Lean_Parser_Tactic_simpPost; lean_object* l_Lean_Parser_Tactic_done; lean_object* l_term_x5b___x5d___closed__4; lean_object* l_Lean_Parser_Tactic_intros; +lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__21; lean_object* l_Lean_Parser_Tactic_rewriteSeq___closed__3; lean_object* l_Lean_Parser_Tactic_tactic___x3c_x3b_x3e_____closed__6; lean_object* l_term___x3c_____closed__6; @@ -1398,11 +1406,13 @@ lean_object* l_prioMid___closed__5; lean_object* l_Lean_Parser_Tactic_apply___closed__1; lean_object* l_stx___x2a; lean_object* l_Lean_Parser_Tactic_rewrite___closed__3; +lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__1; lean_object* l_term___x2f__; lean_object* l_termDepIfThenElse___closed__4; lean_object* l_myMacro____x40_Init_Notation___hyg_3482____closed__4; lean_object* l_Lean_Parser_Tactic_locationTarget; lean_object* l_termIfThenElse___closed__2; +lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____boxed(lean_object*, lean_object*, lean_object*); lean_object* l_stx___x2c_x2b_x2c_x3f___closed__5; lean_object* l_myMacro____x40_Init_Notation___hyg_775____closed__1; lean_object* l_myMacro____x40_Init_Notation___hyg_2054____closed__4; @@ -1460,7 +1470,6 @@ lean_object* l_Lean_Parser_Tactic_focus___closed__3; lean_object* l_Lean_Parser_Tactic_rwSeq___closed__2; lean_object* l_Lean_Parser_Tactic_changeWith___closed__3; lean_object* l_myMacro____x40_Init_Notation___hyg_9459____closed__4; -lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__2; lean_object* l_myMacro____x40_Init_Notation___hyg_8971____closed__3; lean_object* l_prec_x28___x29; lean_object* l_rawNatLit___closed__6; @@ -1469,14 +1478,12 @@ lean_object* l_myMacro____x40_Init_Notation___hyg_11500____closed__7; lean_object* l_Lean_Parser_Tactic_simpLemma___closed__2; lean_object* l_myMacro____x40_Init_Notation___hyg_1398____closed__2; lean_object* l_Lean_Parser_Tactic_tactic___x3c_x3b_x3e_____closed__5; -lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____boxed(lean_object*, lean_object*, lean_object*); lean_object* l_term___u2245_____closed__3; lean_object* l_myMacro____x40_Init_Notation___hyg_1264____closed__7; lean_object* l_myMacro____x40_Init_Notation___hyg_8971____closed__5; lean_object* l_Lean_Parser_Tactic_expandERwSeq___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_myMacro____x40_Init_Notation___hyg_268____boxed(lean_object*, lean_object*, lean_object*); lean_object* l_termDepIfThenElse___closed__2; -lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18030____closed__1; lean_object* l_termIfThenElse___closed__6; lean_object* l_term___x3e_x3e_____closed__7; lean_object* l_term_x7b_____x3a___x2f_x2f___x7d___closed__10; @@ -1501,7 +1508,6 @@ lean_object* l_Lean_Parser_Tactic_rewrite___closed__7; lean_object* l_precMin1; lean_object* l_term___u2265__; lean_object* l_Lean_Parser_Tactic_allGoals___closed__4; -lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__1; lean_object* l_Lean_Parser_Tactic_tacticDecide_x21___closed__5; lean_object* l_prioMid___closed__1; lean_object* l_Lean_Parser_Tactic_intro___closed__1; @@ -30534,41 +30540,31 @@ return x_2; static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__5() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Syntax_addPrec___closed__10; -x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__4; -x_3 = l_Lean_Parser_Tactic_intros___closed__6; -x_4 = lean_alloc_ctor(2, 3, 0); -lean_ctor_set(x_4, 0, x_1); -lean_ctor_set(x_4, 1, x_2); -lean_ctor_set(x_4, 2, x_3); -return x_4; +lean_object* x_1; +x_1 = lean_mk_string("@"); +return x_1; } } static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__6() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_myMacro____x40_Init_Notation___hyg_1060____closed__4; -x_2 = l_Lean_Parser_Tactic_intros___closed__6; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__5; +x_2 = lean_alloc_ctor(5, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; } } static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__7() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Syntax_addPrec___closed__10; -x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__5; -x_3 = l_Lean_Parser_Tactic_inductionAlt___closed__6; -x_4 = lean_alloc_ctor(2, 3, 0); -lean_ctor_set(x_4, 0, x_1); -lean_ctor_set(x_4, 1, x_2); -lean_ctor_set(x_4, 2, x_3); -return x_4; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_myMacro____x40_Init_Notation___hyg_1162____closed__4; +x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__6; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; } } static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__8() { @@ -30577,7 +30573,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Syntax_addPrec___closed__10; x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__7; -x_3 = l_Lean_Parser_Tactic_case___closed__7; +x_3 = l_termDepIfThenElse___closed__9; x_4 = lean_alloc_ctor(2, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -30589,57 +30585,75 @@ static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_myMacro____x40_Init_Notation___hyg_12938____closed__12; -x_3 = lean_name_mk_string(x_1, x_2); +x_1 = l_Lean_Parser_Tactic_letrec___closed__4; +x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__8; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__10() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__9; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_myMacro____x40_Init_Notation___hyg_1264____closed__6; +x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__9; +x_3 = l_Lean_Parser_Tactic_intros___closed__5; +x_4 = lean_alloc_ctor(2, 3, 0); +lean_ctor_set(x_4, 0, x_1); +lean_ctor_set(x_4, 1, x_2); +lean_ctor_set(x_4, 2, x_3); +return x_4; } } static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__11() { _start: { -lean_object* x_1; -x_1 = lean_mk_string("syntheticHole"); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Syntax_addPrec___closed__10; +x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__4; +x_3 = l_Lean_Parser_Tactic_inductionAlt___closed__10; +x_4 = lean_alloc_ctor(2, 3, 0); +lean_ctor_set(x_4, 0, x_1); +lean_ctor_set(x_4, 1, x_2); +lean_ctor_set(x_4, 2, x_3); +return x_4; } } static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__11; -x_3 = lean_name_mk_string(x_1, x_2); +x_1 = l_myMacro____x40_Init_Notation___hyg_1060____closed__4; +x_2 = l_Lean_Parser_Tactic_intros___closed__6; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__13() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__12; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Syntax_addPrec___closed__10; +x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__11; +x_3 = l_Lean_Parser_Tactic_inductionAlt___closed__12; +x_4 = lean_alloc_ctor(2, 3, 0); +lean_ctor_set(x_4, 0, x_1); +lean_ctor_set(x_4, 1, x_2); +lean_ctor_set(x_4, 2, x_3); +return x_4; } } static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_myMacro____x40_Init_Notation___hyg_1264____closed__6; +x_1 = l_Lean_Parser_Syntax_addPrec___closed__10; x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__13; -x_3 = l_Lean_Parser_Tactic_case___closed__11; +x_3 = l_Lean_Parser_Tactic_case___closed__7; x_4 = lean_alloc_ctor(2, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -30650,24 +30664,58 @@ return x_4; static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__15() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_myMacro____x40_Init_Notation___hyg_1264____closed__6; -x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__10; -x_3 = l_Lean_Parser_Tactic_inductionAlt___closed__14; -x_4 = lean_alloc_ctor(2, 3, 0); -lean_ctor_set(x_4, 0, x_1); -lean_ctor_set(x_4, 1, x_2); -lean_ctor_set(x_4, 2, x_3); -return x_4; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_myMacro____x40_Init_Notation___hyg_12938____closed__12; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; } } static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__16() { _start: { +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__15; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__17() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("syntheticHole"); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__18() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__17; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__19() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__18; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__20() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Syntax_addPrec___closed__10; -x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__8; -x_3 = l_Lean_Parser_Tactic_inductionAlt___closed__15; +x_1 = l_myMacro____x40_Init_Notation___hyg_1264____closed__6; +x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__19; +x_3 = l_Lean_Parser_Tactic_case___closed__11; x_4 = lean_alloc_ctor(2, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -30675,13 +30723,41 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__17() { +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__21() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_myMacro____x40_Init_Notation___hyg_1264____closed__6; +x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__16; +x_3 = l_Lean_Parser_Tactic_inductionAlt___closed__20; +x_4 = lean_alloc_ctor(2, 3, 0); +lean_ctor_set(x_4, 0, x_1); +lean_ctor_set(x_4, 1, x_2); +lean_ctor_set(x_4, 2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__22() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Syntax_addPrec___closed__10; +x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__14; +x_3 = l_Lean_Parser_Tactic_inductionAlt___closed__21; +x_4 = lean_alloc_ctor(2, 3, 0); +lean_ctor_set(x_4, 0, x_1); +lean_ctor_set(x_4, 1, x_2); +lean_ctor_set(x_4, 2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__23() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__1; x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__2; -x_3 = l_Lean_Parser_Tactic_inductionAlt___closed__16; +x_3 = l_Lean_Parser_Tactic_inductionAlt___closed__22; x_4 = lean_alloc_ctor(9, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -30693,7 +30769,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__17; +x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__23; return x_1; } } @@ -31419,7 +31495,7 @@ x_1 = l_Lean_Parser_Tactic_tacticHave_____x3a_x3d_____closed__7; return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__1() { +static lean_object* _init_l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__1() { _start: { lean_object* x_1; @@ -31427,17 +31503,17 @@ x_1 = lean_mk_string("haveAssign"); return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__2() { +static lean_object* _init_l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_myMacro____x40_Init_Notation___hyg_2191____closed__2; -x_2 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__1; +x_2 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; uint8_t x_5; @@ -31504,7 +31580,7 @@ lean_ctor_set(x_33, 0, x_14); lean_ctor_set(x_33, 1, x_32); x_34 = lean_array_push(x_17, x_33); x_35 = lean_array_push(x_34, x_11); -x_36 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__2; +x_36 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__2; x_37 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_37, 0, x_36); lean_ctor_set(x_37, 1, x_35); @@ -31569,7 +31645,7 @@ lean_ctor_set(x_66, 0, x_46); lean_ctor_set(x_66, 1, x_65); x_67 = lean_array_push(x_50, x_66); x_68 = lean_array_push(x_67, x_11); -x_69 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__2; +x_69 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__2; x_70 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_70, 0, x_69); lean_ctor_set(x_70, 1, x_68); @@ -31595,11 +31671,11 @@ return x_79; } } } -lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; -x_4 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846_(x_1, x_2, x_3); +x_4 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858_(x_1, x_2, x_3); lean_dec(x_2); return x_4; } @@ -31678,7 +31754,7 @@ x_1 = l_Lean_Parser_Tactic_tacticRepeat_____closed__6; return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18030____closed__1() { +static lean_object* _init_l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18042____closed__1() { _start: { lean_object* x_1; @@ -31686,7 +31762,7 @@ x_1 = lean_mk_string("repeat"); return x_1; } } -lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18030_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18042_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; uint8_t x_5; @@ -31781,7 +31857,7 @@ x_43 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_43, 0, x_40); lean_ctor_set(x_43, 1, x_42); x_44 = lean_array_push(x_21, x_43); -x_45 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18030____closed__1; +x_45 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18042____closed__1; lean_inc(x_18); x_46 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_46, 0, x_18); @@ -31909,7 +31985,7 @@ x_109 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_109, 0, x_106); lean_ctor_set(x_109, 1, x_108); x_110 = lean_array_push(x_87, x_109); -x_111 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18030____closed__1; +x_111 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18042____closed__1; lean_inc(x_83); x_112 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_112, 0, x_83); @@ -31988,11 +32064,11 @@ return x_149; } } } -lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18030____boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18042____boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; -x_4 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18030_(x_1, x_2, x_3); +x_4 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18042_(x_1, x_2, x_3); lean_dec(x_2); return x_4; } @@ -34936,6 +35012,18 @@ l_Lean_Parser_Tactic_inductionAlt___closed__16 = _init_l_Lean_Parser_Tactic_indu lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___closed__16); l_Lean_Parser_Tactic_inductionAlt___closed__17 = _init_l_Lean_Parser_Tactic_inductionAlt___closed__17(); lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___closed__17); +l_Lean_Parser_Tactic_inductionAlt___closed__18 = _init_l_Lean_Parser_Tactic_inductionAlt___closed__18(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___closed__18); +l_Lean_Parser_Tactic_inductionAlt___closed__19 = _init_l_Lean_Parser_Tactic_inductionAlt___closed__19(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___closed__19); +l_Lean_Parser_Tactic_inductionAlt___closed__20 = _init_l_Lean_Parser_Tactic_inductionAlt___closed__20(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___closed__20); +l_Lean_Parser_Tactic_inductionAlt___closed__21 = _init_l_Lean_Parser_Tactic_inductionAlt___closed__21(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___closed__21); +l_Lean_Parser_Tactic_inductionAlt___closed__22 = _init_l_Lean_Parser_Tactic_inductionAlt___closed__22(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___closed__22); +l_Lean_Parser_Tactic_inductionAlt___closed__23 = _init_l_Lean_Parser_Tactic_inductionAlt___closed__23(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___closed__23); l_Lean_Parser_Tactic_inductionAlt = _init_l_Lean_Parser_Tactic_inductionAlt(); lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt); l_Lean_Parser_Tactic_inductionAlts___closed__1 = _init_l_Lean_Parser_Tactic_inductionAlts___closed__1(); @@ -35066,10 +35154,10 @@ l_Lean_Parser_Tactic_tacticHave_____x3a_x3d_____closed__7 = _init_l_Lean_Parser_ lean_mark_persistent(l_Lean_Parser_Tactic_tacticHave_____x3a_x3d_____closed__7); l_Lean_Parser_Tactic_tacticHave_____x3a_x3d__ = _init_l_Lean_Parser_Tactic_tacticHave_____x3a_x3d__(); lean_mark_persistent(l_Lean_Parser_Tactic_tacticHave_____x3a_x3d__); -l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__1 = _init_l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__1(); -lean_mark_persistent(l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__1); -l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__2 = _init_l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__2(); -lean_mark_persistent(l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__2); +l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__1 = _init_l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__1(); +lean_mark_persistent(l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__1); +l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__2 = _init_l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__2(); +lean_mark_persistent(l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__2); l_Lean_Parser_Tactic_tacticRepeat_____closed__1 = _init_l_Lean_Parser_Tactic_tacticRepeat_____closed__1(); lean_mark_persistent(l_Lean_Parser_Tactic_tacticRepeat_____closed__1); l_Lean_Parser_Tactic_tacticRepeat_____closed__2 = _init_l_Lean_Parser_Tactic_tacticRepeat_____closed__2(); @@ -35084,8 +35172,8 @@ l_Lean_Parser_Tactic_tacticRepeat_____closed__6 = _init_l_Lean_Parser_Tactic_tac lean_mark_persistent(l_Lean_Parser_Tactic_tacticRepeat_____closed__6); l_Lean_Parser_Tactic_tacticRepeat__ = _init_l_Lean_Parser_Tactic_tacticRepeat__(); lean_mark_persistent(l_Lean_Parser_Tactic_tacticRepeat__); -l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18030____closed__1 = _init_l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18030____closed__1(); -lean_mark_persistent(l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18030____closed__1); +l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18042____closed__1 = _init_l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18042____closed__1(); +lean_mark_persistent(l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_18042____closed__1); l_Lean_Parser_Attr_simp___closed__1 = _init_l_Lean_Parser_Attr_simp___closed__1(); lean_mark_persistent(l_Lean_Parser_Attr_simp___closed__1); l_Lean_Parser_Attr_simp___closed__2 = _init_l_Lean_Parser_Attr_simp___closed__2(); diff --git a/stage0/stdlib/Init/NotationExtra.c b/stage0/stdlib/Init/NotationExtra.c index 1560c4e49c..f72d9a098d 100644 --- a/stage0/stdlib/Init/NotationExtra.c +++ b/stage0/stdlib/Init/NotationExtra.c @@ -118,7 +118,6 @@ lean_object* l_Array_mapMUnsafe_map___at_myMacro____x40_Init_NotationExtra___hyg lean_object* l_tacticFunext_______closed__3; lean_object* l_commandClassAbbrev_______x3a_x3d_____x2c___closed__1; lean_object* l_Lean_bracketedExplicitBinders___closed__3; -lean_object* l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; lean_object* l_tacticSolve_x7c___x7c___closed__3; lean_object* l_Lean_explicitBinders___closed__1; lean_object* l_commandClassAbbrev_______x3a_x3d_____x2c___closed__4; @@ -296,6 +295,7 @@ lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); lean_object* l_tacticFunext____; lean_object* l_commandClassAbbrev_______x3a_x3d_____x2c___closed__15; lean_object* l_Lean_bracketedExplicitBinders___closed__1; +extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_object* l_Lean_myMacro____x40_Init_NotationExtra___hyg_1128____closed__1; lean_object* l_Lean_bracketedExplicitBinders___closed__8; lean_object* l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__18; @@ -7468,14 +7468,6 @@ x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("@"); -return x_1; -} -} lean_object* l_myMacro____x40_Init_NotationExtra___hyg_3363_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { @@ -7733,7 +7725,7 @@ x_127 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_127, 0, x_73); lean_ctor_set(x_127, 1, x_126); x_128 = lean_array_push(x_30, x_127); -x_129 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_129 = l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_inc(x_73); x_130 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_130, 0, x_73); @@ -7906,7 +7898,7 @@ x_224 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_224, 0, x_169); lean_ctor_set(x_224, 1, x_223); x_225 = lean_array_push(x_30, x_224); -x_226 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_226 = l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_inc(x_169); x_227 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_227, 0, x_169); @@ -8110,7 +8102,7 @@ x_333 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_333, 0, x_277); lean_ctor_set(x_333, 1, x_332); x_334 = lean_array_push(x_30, x_333); -x_335 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_335 = l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_inc(x_277); x_336 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_336, 0, x_277); @@ -8374,7 +8366,7 @@ x_465 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_465, 0, x_409); lean_ctor_set(x_465, 1, x_464); x_466 = lean_array_push(x_30, x_465); -x_467 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_467 = l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_inc(x_409); x_468 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_468, 0, x_409); @@ -9585,8 +9577,6 @@ l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__33 = _init_l_myMacro__ lean_mark_persistent(l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__33); l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__34 = _init_l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__34(); lean_mark_persistent(l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__34); -l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35 = _init_l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35(); -lean_mark_persistent(l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35); l_tacticSolve_x7c___x7c___closed__1 = _init_l_tacticSolve_x7c___x7c___closed__1(); lean_mark_persistent(l_tacticSolve_x7c___x7c___closed__1); l_tacticSolve_x7c___x7c___closed__2 = _init_l_tacticSolve_x7c___x7c___closed__2(); diff --git a/stage0/stdlib/Lean/Compiler/IR/CtorLayout.c b/stage0/stdlib/Lean/Compiler/IR/CtorLayout.c index 15220012a0..7331604a98 100644 --- a/stage0/stdlib/Lean/Compiler/IR/CtorLayout.c +++ b/stage0/stdlib/Lean/Compiler/IR/CtorLayout.c @@ -16,7 +16,6 @@ extern "C" { lean_object* l_Lean_IR_CtorFieldInfo_format___closed__7; lean_object* l_Std_fmt___at_Lean_Position_instToFormatPosition___spec__1(lean_object*); extern lean_object* l_Std_Format_join___closed__1; -extern lean_object* l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; lean_object* l_Lean_IR_CtorFieldInfo_format_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_IR_CtorFieldInfo_format___closed__6; extern lean_object* l_myMacro____x40_Init_Notation___hyg_13855____closed__9; @@ -24,6 +23,7 @@ lean_object* l_Std_fmt___at_Lean_IR_CtorFieldInfo_format___spec__1(lean_object*) lean_object* l_Lean_IR_CtorFieldInfo_format___closed__5; extern lean_object* l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatArg___closed__2; lean_object* l_Lean_IR_CtorFieldInfo_format(lean_object*); +extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_object* l_Lean_IR_CtorFieldInfo_format___closed__3; lean_object* l_Lean_IR_CtorFieldInfo_format___closed__1; lean_object* l_Lean_IR_CtorFieldInfo_format___closed__8; @@ -166,7 +166,7 @@ static lean_object* _init_l_Lean_IR_CtorFieldInfo_format___closed__7() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__5; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; diff --git a/stage0/stdlib/Lean/Compiler/IR/ElimDeadBranches.c b/stage0/stdlib/Lean/Compiler/IR/ElimDeadBranches.c index 060324d47a..2263a56f20 100644 --- a/stage0/stdlib/Lean/Compiler/IR/ElimDeadBranches.c +++ b/stage0/stdlib/Lean/Compiler/IR/ElimDeadBranches.c @@ -94,7 +94,6 @@ lean_object* l_Lean_IR_UnreachableBranches_Value_format_match__1(lean_object*); lean_object* l_Std_mkPersistentArray___rarg(lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_IR_UnreachableBranches_initFn____x40_Lean_Compiler_IR_ElimDeadBranches___hyg_540____spec__3(lean_object*, size_t, size_t, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_IR_UnreachableBranches_initFn____x40_Lean_Compiler_IR_ElimDeadBranches___hyg_540____spec__14(lean_object*, size_t, size_t, lean_object*); -extern lean_object* l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; lean_object* l_Array_foldlMUnsafe_fold___at_Lean_IR_UnreachableBranches_interpFnBody___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Std_Format_sbracket___closed__4; lean_object* l_Lean_IR_UnreachableBranches_Value_instToStringValue___closed__1; @@ -226,6 +225,7 @@ extern lean_object* l_Std_Format_sbracket___closed__3; lean_object* l_Lean_IR_UnreachableBranches_functionSummariesExt___elambda__4___boxed(lean_object*, lean_object*); lean_object* l_Lean_IR_UnreachableBranches_interpExpr_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_IR_UnreachableBranches_initFn____x40_Lean_Compiler_IR_ElimDeadBranches___hyg_540____spec__18(lean_object*, lean_object*); +extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_object* l_Lean_PersistentEnvExtension_addEntry___rarg(lean_object*, lean_object*, lean_object*); size_t l_USize_land(size_t, size_t); lean_object* l_Lean_IR_UnreachableBranches_Value_instBEqValue; @@ -1754,7 +1754,7 @@ static lean_object* _init_l_Lean_IR_UnreachableBranches_Value_format___closed__5 _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__5; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; diff --git a/stage0/stdlib/Lean/Elab/Binders.c b/stage0/stdlib/Lean/Elab/Binders.c index a195e4c5e0..a28d789678 100644 --- a/stage0/stdlib/Lean/Elab/Binders.c +++ b/stage0/stdlib/Lean/Elab/Binders.c @@ -136,7 +136,6 @@ lean_object* l_Lean_Meta_forallTelescope___at___private_Lean_Elab_Term_0__Lean_E lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Elab_Term_elabFun(lean_object*); lean_object* l___private_Lean_Elab_Binders_0__Lean_Elab_Term_expandMatchAltsIntoMatchAux_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; lean_object* l_Lean_Elab_Term_elabLetDeclCore_match__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_quoteAutoTactic___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_declareTacticSyntax___closed__3; @@ -329,6 +328,7 @@ lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_mkArrow___closed__1; lean_object* l_Lean_throwError___at_Lean_Elab_Term_quoteAutoTactic___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe___closed__1; +extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_object* l_Lean_Elab_Term_elabBinders___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Binders_0__Lean_Elab_Term_getFunBinderIds_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_DiscrTree_Trie_format___rarg___closed__1; @@ -19427,7 +19427,7 @@ if (x_28 == 0) { lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; 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; x_29 = lean_ctor_get(x_27, 0); -x_30 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_30 = l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_inc(x_29); x_31 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_31, 0, x_29); @@ -19477,7 +19477,7 @@ x_54 = lean_ctor_get(x_27, 1); lean_inc(x_54); lean_inc(x_53); lean_dec(x_27); -x_55 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_55 = l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_inc(x_53); x_56 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_56, 0, x_53); @@ -19684,7 +19684,7 @@ if (lean_is_exclusive(x_143)) { lean_dec_ref(x_143); x_146 = lean_box(0); } -x_147 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_147 = l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_inc(x_144); x_148 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_148, 0, x_144); @@ -20305,7 +20305,7 @@ if (x_28 == 0) { lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; 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; x_29 = lean_ctor_get(x_27, 0); -x_30 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_30 = l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_inc(x_29); x_31 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_31, 0, x_29); @@ -20355,7 +20355,7 @@ x_54 = lean_ctor_get(x_27, 1); lean_inc(x_54); lean_inc(x_53); lean_dec(x_27); -x_55 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_55 = l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_inc(x_53); x_56 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_56, 0, x_53); @@ -20490,7 +20490,7 @@ if (lean_is_exclusive(x_101)) { lean_dec_ref(x_101); x_104 = lean_box(0); } -x_105 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_105 = l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_inc(x_102); x_106 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_106, 0, x_102); diff --git a/stage0/stdlib/Lean/Elab/BuiltinNotation.c b/stage0/stdlib/Lean/Elab/BuiltinNotation.c index 36fbe0fd70..1f60fe8abb 100644 --- a/stage0/stdlib/Lean/Elab/BuiltinNotation.c +++ b/stage0/stdlib/Lean/Elab/BuiltinNotation.c @@ -460,6 +460,7 @@ extern lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda lean_object* l_Lean_Elab_Term_elabSubst___closed__4; uint8_t l_Lean_Expr_hasLooseBVars(lean_object*); lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabClosedTerm___closed__1; +extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__1; lean_object* l_Lean_Elab_Term_elabSubst___closed__9; lean_object* l_Lean_Elab_Term_elabPanic___closed__9; extern lean_object* l_termIfThenElse___closed__2; @@ -500,7 +501,6 @@ lean_object* l_Lean_Elab_Term_expandAssert___closed__3; lean_object* l_Lean_Elab_Term_expandSuffices___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___regBuiltin_Lean_Elab_Term_expandUnreachable(lean_object*); lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__4; -extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__1; extern lean_object* l_Lean_Parser_Tactic_intro___closed__1; extern lean_object* l_Lean_Parser_Term_nativeRefl___elambda__1___closed__2; lean_object* l_Lean_Elab_Term_elabSubst___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1930,7 +1930,7 @@ x_16 = l_Lean_Syntax_isOfKind(x_13, x_15); if (x_16 == 0) { lean_object* x_17; lean_object* x_18; uint8_t x_19; -x_17 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__1; +x_17 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__1; lean_inc(x_2); x_18 = lean_name_mk_string(x_2, x_17); lean_inc(x_13); diff --git a/stage0/stdlib/Lean/Elab/Deriving/BEq.c b/stage0/stdlib/Lean/Elab/Deriving/BEq.c index ffc5d03ab5..6cbebbd3db 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/BEq.c +++ b/stage0/stdlib/Lean/Elab/Deriving/BEq.c @@ -55,7 +55,6 @@ lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_BEq_mkMatch_mkAlts__ lean_object* l_Lean_MessageData_ofList(lean_object*); lean_object* l_Lean_Elab_Deriving_BEq_mkMatch_mkAlts_match__3(lean_object*); extern lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Util_Trace_0__Lean_withNestedTracesFinalizer___spec__5___closed__1; -extern lean_object* l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; lean_object* l_Lean_Elab_Deriving_BEq_mkMatch_mkAlts_match__2___rarg(lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__1; lean_object* lean_string_utf8_byte_size(lean_object*); @@ -131,6 +130,7 @@ size_t lean_usize_of_nat(lean_object*); 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_Meta_forallTelescopeReducing___at_Lean_Elab_Deriving_BEq_mkMatch_mkAlts___spec__5(lean_object*); +extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__5; extern lean_object* l_Lean_nullKind___closed__2; lean_object* l_Lean_Elab_Deriving_BEq_mkMutualBlock___closed__8; lean_object* l_Lean_Elab_Deriving_BEq_mkMatch_mkAlts(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -2162,7 +2162,7 @@ x_65 = l_Lean_Elab_Term_getMainModule___rarg(x_13, x_64); x_66 = lean_ctor_get(x_65, 1); lean_inc(x_66); lean_dec(x_65); -x_67 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_67 = l_Lean_Parser_Tactic_inductionAlt___closed__5; x_68 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_68, 0, x_61); lean_ctor_set(x_68, 1, x_67); @@ -2422,7 +2422,7 @@ x_171 = l_Lean_Elab_Term_getMainModule___rarg(x_13, x_170); x_172 = lean_ctor_get(x_171, 1); lean_inc(x_172); lean_dec(x_171); -x_173 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_173 = l_Lean_Parser_Tactic_inductionAlt___closed__5; x_174 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_174, 0, x_167); lean_ctor_set(x_174, 1, x_173); diff --git a/stage0/stdlib/Lean/Elab/Deriving/DecEq.c b/stage0/stdlib/Lean/Elab/Deriving/DecEq.c index f9f8cb2e82..84dc81384f 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/DecEq.c +++ b/stage0/stdlib/Lean/Elab/Deriving/DecEq.c @@ -74,7 +74,6 @@ lean_object* l_Lean_MessageData_ofList(lean_object*); lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts_match__1(lean_object*); extern lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Util_Trace_0__Lean_withNestedTracesFinalizer___spec__5___closed__1; -extern lean_object* l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqHeader___boxed(lean_object*); lean_object* lean_string_utf8_byte_size(lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_12336____closed__8; @@ -161,6 +160,7 @@ lean_object* l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_pos lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___closed__20; lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___closed__10; extern lean_object* l_Lean_nullKind___closed__2; lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts_match__2(lean_object*); @@ -3892,7 +3892,7 @@ x_48 = l_Lean_Elab_Term_getMainModule___rarg(x_15, x_47); x_49 = lean_ctor_get(x_48, 1); lean_inc(x_49); lean_dec(x_48); -x_50 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_50 = l_Lean_Parser_Tactic_inductionAlt___closed__5; x_51 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_51, 0, x_44); lean_ctor_set(x_51, 1, x_50); @@ -4163,7 +4163,7 @@ x_159 = l_Lean_Elab_Term_getMainModule___rarg(x_15, x_158); x_160 = lean_ctor_get(x_159, 1); lean_inc(x_160); lean_dec(x_159); -x_161 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_161 = l_Lean_Parser_Tactic_inductionAlt___closed__5; x_162 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_162, 0, x_155); lean_ctor_set(x_162, 1, x_161); diff --git a/stage0/stdlib/Lean/Elab/Deriving/Inhabited.c b/stage0/stdlib/Lean/Elab/Deriving/Inhabited.c index dad2e1db5d..273de7e079 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/Inhabited.c +++ b/stage0/stdlib/Lean/Elab/Deriving/Inhabited.c @@ -63,7 +63,6 @@ lean_object* l_Lean_MessageData_ofList(lean_object*); lean_object* l_Lean_Meta_isTypeCorrect(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_mkInstanceCmd_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*); extern lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Util_Trace_0__Lean_withNestedTracesFinalizer___spec__5___closed__1; -extern lean_object* l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; lean_object* l___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_mkInstanceCmd_x3f___lambda__2(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getConstInfoInduct___at___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_mkInstanceCmdWith___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_string_utf8_byte_size(lean_object*); @@ -159,6 +158,7 @@ lean_object* l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_pos lean_object* l___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_addLocalInstancesForParamsAux___rarg___lambda__1___closed__2; +extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_object* l___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_addLocalInstancesForParamsAux___rarg___lambda__1___closed__1; extern lean_object* l_Lean_nullKind___closed__2; lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_mkInstanceCmd_x3f___spec__1___closed__10; @@ -5422,7 +5422,7 @@ x_47 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_47, 0, x_31); lean_ctor_set(x_47, 1, x_46); x_48 = lean_array_push(x_23, x_47); -x_49 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_49 = l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_inc(x_31); x_50 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_50, 0, x_31); diff --git a/stage0/stdlib/Lean/Elab/Deriving/Repr.c b/stage0/stdlib/Lean/Elab/Deriving/Repr.c index c4fce5e810..c3eb39877e 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/Repr.c +++ b/stage0/stdlib/Lean/Elab/Deriving/Repr.c @@ -66,7 +66,6 @@ lean_object* l_Lean_Meta_forallTelescope___at___private_Lean_Elab_Term_0__Lean_E lean_object* l_Lean_MessageData_ofList(lean_object*); lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__4___lambda__1___closed__23; extern lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Util_Trace_0__Lean_withNestedTracesFinalizer___spec__5___closed__1; -extern lean_object* l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__4___lambda__1___closed__1; lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -167,6 +166,7 @@ lean_object* l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_pos lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Deriving_Repr_mkReprInstanceHandler___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts_match__1___rarg(lean_object*, lean_object*); +extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__2___boxed(lean_object**); extern lean_object* l_Lean_nullKind___closed__2; lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__4___lambda__1___closed__3; @@ -3857,7 +3857,7 @@ x_70 = l_Lean_Elab_Term_getMainModule___rarg(x_14, x_69); x_71 = lean_ctor_get(x_70, 1); lean_inc(x_71); lean_dec(x_70); -x_72 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_72 = l_Lean_Parser_Tactic_inductionAlt___closed__5; x_73 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_73, 0, x_66); lean_ctor_set(x_73, 1, x_72); diff --git a/stage0/stdlib/Lean/Elab/Deriving/Util.c b/stage0/stdlib/Lean/Elab/Deriving/Util.c index 114d157b36..8878042ed5 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/Util.c +++ b/stage0/stdlib/Lean/Elab/Deriving/Util.c @@ -65,7 +65,6 @@ lean_object* l_Lean_MessageData_ofList(lean_object*); lean_object* l_Lean_Meta_isTypeCorrect(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Deriving_mkContext___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Util_Trace_0__Lean_withNestedTracesFinalizer___spec__5___closed__1; -extern lean_object* l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; lean_object* l_Lean_throwError___at_Lean_Elab_Deriving_mkContext___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getConstInfoInduct___at_Lean_Elab_Deriving_mkContext___spec__1(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_3363____closed__27; @@ -135,6 +134,7 @@ lean_object* l_Lean_Elab_Deriving_mkInductArgNames___closed__1; size_t lean_usize_of_nat(lean_object*); 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_Elab_Deriving_mkImplicitBinders___boxed__const__1; +extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__5; extern lean_object* l_Lean_nullKind___closed__2; lean_object* l_Lean_Elab_Deriving_mkInstanceCmds___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_myMacro____x40_Init_NotationExtra___hyg_3363____closed__31; @@ -564,7 +564,7 @@ if (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_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_26 = lean_ctor_get(x_24, 0); lean_dec(x_26); -x_27 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_27 = l_Lean_Parser_Tactic_inductionAlt___closed__5; x_28 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_28, 0, x_20); lean_ctor_set(x_28, 1, x_27); @@ -596,7 +596,7 @@ lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean x_41 = lean_ctor_get(x_24, 1); lean_inc(x_41); lean_dec(x_24); -x_42 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_42 = l_Lean_Parser_Tactic_inductionAlt___closed__5; x_43 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_43, 0, x_20); lean_ctor_set(x_43, 1, x_42); diff --git a/stage0/stdlib/Lean/Elab/Match.c b/stage0/stdlib/Lean/Elab/Match.c index 4de50cebb5..f0a43d6998 100644 --- a/stage0/stdlib/Lean/Elab/Match.c +++ b/stage0/stdlib/Lean/Elab/Match.c @@ -202,7 +202,6 @@ lean_object* l_Lean_throwError___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__1(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_Expr_getAppArgs___closed__1; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_getNumExplicitCtorParams(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_3363____closed__35; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_tryPostponeIfDiscrTypeIsMVar_match__2(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_CollectPatternVars_CtorApp_processCtorApp___lambda__1(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_mkAuxName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -517,6 +516,7 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withPatternVars_loop_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__5___rarg(lean_object*); lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_expandNonAtomicDiscrs_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabAtomicDiscr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_fvarId(lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_tryPostponeIfDiscrTypeIsMVar___spec__1___closed__2; @@ -4888,7 +4888,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; x_25 = lean_ctor_get(x_23, 0); lean_dec(x_25); -x_26 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_26 = l_Lean_Parser_Tactic_inductionAlt___closed__5; x_27 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_27, 0, x_19); lean_ctor_set(x_27, 1, x_26); @@ -4914,7 +4914,7 @@ lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean x_36 = lean_ctor_get(x_23, 1); lean_inc(x_36); lean_dec(x_23); -x_37 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_37 = l_Lean_Parser_Tactic_inductionAlt___closed__5; x_38 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_38, 0, x_19); lean_ctor_set(x_38, 1, x_37); diff --git a/stage0/stdlib/Lean/Elab/Quotation.c b/stage0/stdlib/Lean/Elab/Quotation.c index 0cdbdfd8fa..bc355bcbd4 100644 --- a/stage0/stdlib/Lean/Elab/Quotation.c +++ b/stage0/stdlib/Lean/Elab/Quotation.c @@ -235,7 +235,6 @@ lean_object* l_Lean_Elab_Term_Quotation_myMacro____x40_Lean_Elab_Quotation___hyg lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__15___closed__4; extern lean_object* l_myMacro____x40_Init_Notation___hyg_1162____closed__1; lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__13___closed__11; -extern lean_object* l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; extern lean_object* l_Std_Format_sbracket___closed__4; lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__11___closed__23; extern lean_object* l_myMacro____x40_Init_Notation___hyg_5277____closed__4; @@ -614,6 +613,7 @@ extern lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUn lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__22; lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo_match__12___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_Quotation_match__syntax_expand___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -8849,7 +8849,7 @@ x_179 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_179, 0, x_160); lean_ctor_set(x_179, 1, x_178); x_180 = lean_array_push(x_175, x_179); -x_181 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_181 = l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_inc(x_160); x_182 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_182, 0, x_160); @@ -8961,7 +8961,7 @@ x_231 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_231, 0, x_160); lean_ctor_set(x_231, 1, x_230); x_232 = lean_array_push(x_227, x_231); -x_233 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_233 = l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_inc(x_160); x_234 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_234, 0, x_160); @@ -23776,7 +23776,7 @@ x_52 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_52, 0, x_35); lean_ctor_set(x_52, 1, x_51); x_53 = lean_array_push(x_50, x_52); -x_54 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_54 = l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_inc(x_35); x_55 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_55, 0, x_35); @@ -23918,7 +23918,7 @@ x_127 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_127, 0, x_35); lean_ctor_set(x_127, 1, x_126); x_128 = lean_array_push(x_125, x_127); -x_129 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_129 = l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_inc(x_35); x_130 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_130, 0, x_35); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Basic.c b/stage0/stdlib/Lean/Elab/Tactic/Basic.c index 3d7201abf9..496eb38aa1 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Basic.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Basic.c @@ -352,7 +352,7 @@ lean_object* l_Lean_Elab_Tactic_evalCase_match__1___rarg(lean_object*, lean_obje extern lean_object* l_Lean_instInhabitedSyntax; lean_object* l_Lean_Meta_withMVarContext___at_Lean_Elab_Tactic_evalClear___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_assumption(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_getIntrosSize(lean_object*); lean_object* l_Lean_Elab_Tactic_evalRevert_match__2___rarg(lean_object*, lean_object*); lean_object* l_Lean_Elab_mkElabAttribute___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -14184,7 +14184,7 @@ x_16 = l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalIntros___spec__1(x_13, x x_17 = x_16; x_18 = lean_array_to_list(lean_box(0), x_17); x_19 = 0; -x_20 = l_Lean_Meta_introNCore(x_2, x_12, x_18, x_19, x_7, x_8, x_9, x_10, x_11); +x_20 = l_Lean_Meta_introNCore(x_2, x_12, x_18, x_19, x_19, x_7, x_8, x_9, x_10, x_11); if (lean_obj_tag(x_20) == 0) { uint8_t x_21; @@ -14318,7 +14318,7 @@ x_17 = l___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_getIntrosSize(x_15 lean_dec(x_15); x_18 = lean_box(0); x_19 = 0; -x_20 = l_Lean_Meta_introNCore(x_1, x_17, x_18, x_19, x_6, x_7, x_8, x_9, x_16); +x_20 = l_Lean_Meta_introNCore(x_1, x_17, x_18, x_19, x_19, x_6, x_7, x_8, x_9, x_16); if (lean_obj_tag(x_20) == 0) { uint8_t x_21; diff --git a/stage0/stdlib/Lean/Elab/Tactic/Generalize.c b/stage0/stdlib/Lean/Elab/Tactic/Generalize.c index da6c65ebff..84897e4cc2 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Generalize.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Generalize.c @@ -43,7 +43,7 @@ lean_object* l_Lean_Elab_Tactic_getMainGoal(lean_object*, lean_object*, lean_obj lean_object* l___private_Lean_Elab_Tactic_Generalize_0__Lean_Elab_Tactic_evalGeneralizeWithEq___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___private_Lean_Elab_Tactic_Generalize_0__Lean_Elab_Tactic_evalGeneralizeFallback(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_evalGeneralize___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_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_evalGeneralize(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_Tactic_tacticElabAttribute; lean_object* l___private_Lean_Elab_Tactic_Generalize_0__Lean_Elab_Tactic_evalGeneralizeFinalize_match__1(lean_object*); @@ -193,7 +193,7 @@ lean_inc(x_13); x_15 = l_Lean_Meta_getLevel(x_13, x_4, x_5, x_6, x_7, x_14); if (lean_obj_tag(x_15) == 0) { -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; 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; uint8_t x_31; lean_object* x_32; +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; uint8_t x_31; uint8_t x_32; lean_object* x_33; x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); x_17 = lean_ctor_get(x_15, 1); @@ -223,71 +223,72 @@ lean_dec(x_27); x_29 = l_Lean_Expr_mvarId_x21(x_19); lean_dec(x_19); x_30 = lean_unsigned_to_nat(2u); -x_31 = 1; -x_32 = l_Lean_Meta_introNCore(x_29, x_30, x_21, x_31, x_4, x_5, x_6, x_7, x_28); -if (lean_obj_tag(x_32) == 0) +x_31 = 0; +x_32 = 1; +x_33 = l_Lean_Meta_introNCore(x_29, x_30, x_21, x_31, x_32, x_4, x_5, x_6, x_7, x_28); +if (lean_obj_tag(x_33) == 0) { -uint8_t x_33; -x_33 = !lean_is_exclusive(x_32); -if (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; lean_object* x_36; -x_34 = lean_ctor_get(x_32, 0); -x_35 = lean_ctor_get(x_34, 1); -lean_inc(x_35); -lean_dec(x_34); -x_36 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_36, 0, x_35); -lean_ctor_set(x_36, 1, x_21); -lean_ctor_set(x_32, 0, x_36); -return x_32; +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_33, 0); +x_36 = lean_ctor_get(x_35, 1); +lean_inc(x_36); +lean_dec(x_35); +x_37 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_37, 0, x_36); +lean_ctor_set(x_37, 1, x_21); +lean_ctor_set(x_33, 0, x_37); +return x_33; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_37 = lean_ctor_get(x_32, 0); -x_38 = lean_ctor_get(x_32, 1); -lean_inc(x_38); -lean_inc(x_37); -lean_dec(x_32); -x_39 = lean_ctor_get(x_37, 1); +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_33, 0); +x_39 = lean_ctor_get(x_33, 1); lean_inc(x_39); -lean_dec(x_37); -x_40 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_21); -x_41 = lean_alloc_ctor(0, 2, 0); +lean_inc(x_38); +lean_dec(x_33); +x_40 = lean_ctor_get(x_38, 1); +lean_inc(x_40); +lean_dec(x_38); +x_41 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_41, 0, x_40); -lean_ctor_set(x_41, 1, x_38); -return x_41; +lean_ctor_set(x_41, 1, x_21); +x_42 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_42, 0, x_41); +lean_ctor_set(x_42, 1, x_39); +return x_42; } } else { -uint8_t x_42; -x_42 = !lean_is_exclusive(x_32); -if (x_42 == 0) +uint8_t x_43; +x_43 = !lean_is_exclusive(x_33); +if (x_43 == 0) { -return x_32; +return x_33; } else { -lean_object* x_43; lean_object* x_44; lean_object* x_45; -x_43 = lean_ctor_get(x_32, 0); -x_44 = lean_ctor_get(x_32, 1); +lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_44 = lean_ctor_get(x_33, 0); +x_45 = lean_ctor_get(x_33, 1); +lean_inc(x_45); lean_inc(x_44); -lean_inc(x_43); -lean_dec(x_32); -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; +lean_dec(x_33); +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_46; +uint8_t x_47; lean_dec(x_13); lean_dec(x_10); lean_dec(x_7); @@ -297,29 +298,29 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_46 = !lean_is_exclusive(x_15); -if (x_46 == 0) +x_47 = !lean_is_exclusive(x_15); +if (x_47 == 0) { return x_15; } else { -lean_object* x_47; lean_object* x_48; lean_object* x_49; -x_47 = lean_ctor_get(x_15, 0); -x_48 = lean_ctor_get(x_15, 1); +lean_object* x_48; lean_object* x_49; lean_object* x_50; +x_48 = lean_ctor_get(x_15, 0); +x_49 = lean_ctor_get(x_15, 1); +lean_inc(x_49); lean_inc(x_48); -lean_inc(x_47); lean_dec(x_15); -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_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 { -uint8_t x_50; +uint8_t x_51; lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); @@ -328,29 +329,29 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_50 = !lean_is_exclusive(x_12); -if (x_50 == 0) +x_51 = !lean_is_exclusive(x_12); +if (x_51 == 0) { return x_12; } else { -lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_51 = lean_ctor_get(x_12, 0); -x_52 = lean_ctor_get(x_12, 1); +lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_52 = lean_ctor_get(x_12, 0); +x_53 = lean_ctor_get(x_12, 1); +lean_inc(x_53); lean_inc(x_52); -lean_inc(x_51); lean_dec(x_12); -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_54 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_54, 0, x_52); +lean_ctor_set(x_54, 1, x_53); +return x_54; } } } else { -uint8_t x_54; +uint8_t x_55; lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -358,23 +359,23 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_54 = !lean_is_exclusive(x_9); -if (x_54 == 0) +x_55 = !lean_is_exclusive(x_9); +if (x_55 == 0) { return x_9; } else { -lean_object* x_55; lean_object* x_56; lean_object* x_57; -x_55 = lean_ctor_get(x_9, 0); -x_56 = lean_ctor_get(x_9, 1); +lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_56 = lean_ctor_get(x_9, 0); +x_57 = lean_ctor_get(x_9, 1); +lean_inc(x_57); lean_inc(x_56); -lean_inc(x_55); lean_dec(x_9); -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_58 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_58, 0, x_56); +lean_ctor_set(x_58, 1, x_57); +return x_58; } } } diff --git a/stage0/stdlib/Lean/Elab/Tactic/Induction.c b/stage0/stdlib/Lean/Elab/Tactic/Induction.c index 5d708e275f..64334a13f4 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Induction.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Induction.c @@ -30,7 +30,7 @@ lean_object* lean_erase_macro_scopes(lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalInduction___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkCasesResult_loop___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_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_getAltNumFields___spec__2___closed__1; -lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5105_(lean_object*); +lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5116_(lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getGeneralizingFVarIds___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_checkAltNames___spec__4___lambda__1___closed__2; @@ -193,6 +193,7 @@ uint8_t l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__ lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_getRecFromUsing___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult___spec__2(lean_object*); lean_object* l_Lean_Elab_Tactic_ElimApp_mkElimApp_loop_match__2(lean_object*); +lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5116____closed__1; lean_object* l_Lean_Elab_Tactic_evalInduction___lambda__3(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_object*, lean_object*); lean_object* l_Std_PersistentArray_forInAux___at_Lean_Elab_Term_addAutoBoundImplicits___spec__3___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_evalInduction___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -345,7 +346,7 @@ lean_object* l_Lean_LocalDecl_toExpr(lean_object*); extern lean_object* l_Lean_instInhabitedSyntax; lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkCasesResult(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_withMVarContext___at_Lean_Elab_Tactic_evalClear___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_evalCases___lambda__2___closed__3; lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generalizeVars___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_checkAltNames___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -415,14 +416,13 @@ lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_ lean_object* l_List_redLength___rarg(lean_object*); lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__2___closed__6; -lean_object* l_Lean_Meta_Cases_cases(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_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_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getSepArgs(lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_elabTargets___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo_match__5(lean_object*); extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__19; -lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5105____closed__1; lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecFromUsingLoop_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames_match__1___boxed(lean_object*, lean_object*); extern lean_object* l_Lean_resolveGlobalConstNoOverload___rarg___lambda__1___closed__2; @@ -613,7 +613,7 @@ lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0_ lean_object* l_Lean_Elab_Tactic_ElimApp_setMotiveArg___lambda__1(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_Tactic_evalInduction___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__5___boxed(lean_object**); -lean_object* l_Lean_Meta_induction(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +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_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getTargetTerm(lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Tactic_evalCasesOn___spec__2(lean_object*, size_t, size_t, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__5___closed__1; @@ -5292,7 +5292,7 @@ lean_inc(x_19); lean_inc(x_18); lean_inc(x_17); lean_inc(x_16); -x_23 = l_Lean_Meta_introNCore(x_1, x_2, x_21, x_22, x_16, x_17, x_18, x_19, x_20); +x_23 = l_Lean_Meta_introNCore(x_1, x_2, x_21, x_22, x_22, x_16, x_17, x_18, x_19, x_20); 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; @@ -5392,7 +5392,7 @@ lean_inc(x_19); lean_inc(x_18); lean_inc(x_17); lean_inc(x_16); -x_49 = l_Lean_Meta_introNCore(x_44, x_5, x_21, x_48, x_16, x_17, x_18, x_19, x_43); +x_49 = l_Lean_Meta_introNCore(x_44, x_5, x_21, x_22, x_48, x_16, x_17, x_18, x_19, x_43); if (lean_obj_tag(x_49) == 0) { lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; size_t x_54; size_t x_55; lean_object* x_56; @@ -5751,66 +5751,84 @@ return x_126; } else { -lean_object* x_127; lean_object* x_128; lean_object* x_129; uint8_t x_130; +lean_object* x_127; lean_object* x_128; lean_object* x_129; uint8_t x_130; uint8_t x_276; x_127 = lean_ctor_get(x_11, 0); x_128 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltVarNames(x_127); x_129 = lean_array_to_list(lean_box(0), x_128); -x_130 = !lean_is_exclusive(x_18); -if (x_130 == 0) +x_276 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_altHasExplicitModifier(x_127); +if (x_276 == 0) { -lean_object* x_131; lean_object* x_132; uint8_t x_133; lean_object* x_134; -x_131 = lean_ctor_get(x_18, 3); -x_132 = l_Lean_replaceRef(x_127, x_131); -lean_dec(x_131); -lean_ctor_set(x_18, 3, x_132); -x_133 = 0; +uint8_t x_277; +x_277 = 1; +x_130 = x_277; +goto block_275; +} +else +{ +uint8_t x_278; +x_278 = 0; +x_130 = x_278; +goto block_275; +} +block_275: +{ +uint8_t x_131; +x_131 = !lean_is_exclusive(x_18); +if (x_131 == 0) +{ +lean_object* x_132; lean_object* x_133; uint8_t x_134; lean_object* x_135; +x_132 = lean_ctor_get(x_18, 3); +x_133 = l_Lean_replaceRef(x_127, x_132); +lean_dec(x_132); +lean_ctor_set(x_18, 3, x_133); +x_134 = 0; lean_inc(x_19); lean_inc(x_18); lean_inc(x_17); lean_inc(x_16); -x_134 = l_Lean_Meta_introNCore(x_1, x_2, x_129, x_133, x_16, x_17, x_18, x_19, x_20); -if (lean_obj_tag(x_134) == 0) +x_135 = l_Lean_Meta_introNCore(x_1, x_2, x_129, x_130, x_134, x_16, x_17, x_18, x_19, x_20); +if (lean_obj_tag(x_135) == 0) { -lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; -x_135 = lean_ctor_get(x_134, 0); -lean_inc(x_135); -x_136 = lean_ctor_get(x_134, 1); +lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; +x_136 = lean_ctor_get(x_135, 0); lean_inc(x_136); -lean_dec(x_134); x_137 = lean_ctor_get(x_135, 1); lean_inc(x_137); lean_dec(x_135); -x_138 = lean_box(0); +x_138 = lean_ctor_get(x_136, 1); +lean_inc(x_138); +lean_dec(x_136); +x_139 = lean_box(0); lean_inc(x_19); lean_inc(x_18); lean_inc(x_17); lean_inc(x_16); -x_139 = l_Lean_Meta_Cases_unifyEqs(x_3, x_137, x_138, x_16, x_17, x_18, x_19, x_136); -if (lean_obj_tag(x_139) == 0) -{ -lean_object* x_140; -x_140 = lean_ctor_get(x_139, 0); -lean_inc(x_140); +x_140 = l_Lean_Meta_Cases_unifyEqs(x_3, x_138, x_139, x_16, x_17, x_18, x_19, x_137); if (lean_obj_tag(x_140) == 0) { -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; uint8_t x_148; +lean_object* x_141; +x_141 = lean_ctor_get(x_140, 0); +lean_inc(x_141); +if (lean_obj_tag(x_141) == 0) +{ +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; uint8_t x_149; lean_dec(x_9); lean_dec(x_8); lean_dec(x_5); -x_141 = lean_ctor_get(x_139, 1); -lean_inc(x_141); -lean_dec(x_139); -x_142 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_142, 0, x_7); -x_143 = l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__5___lambda__1___closed__4; -x_144 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_144, 0, x_143); -lean_ctor_set(x_144, 1, x_142); -x_145 = l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__5___lambda__1___closed__8; -x_146 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_146, 0, x_144); -lean_ctor_set(x_146, 1, x_145); -x_147 = l_Lean_throwError___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__4(x_146, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_141); +x_142 = lean_ctor_get(x_140, 1); +lean_inc(x_142); +lean_dec(x_140); +x_143 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_143, 0, x_7); +x_144 = l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__5___lambda__1___closed__4; +x_145 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_145, 0, x_144); +lean_ctor_set(x_145, 1, x_143); +x_146 = l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__5___lambda__1___closed__8; +x_147 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_147, 0, x_145); +lean_ctor_set(x_147, 1, x_146); +x_148 = l_Lean_throwError___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__4(x_147, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_142); lean_dec(x_19); lean_dec(x_18); lean_dec(x_17); @@ -5819,144 +5837,144 @@ lean_dec(x_15); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); -x_148 = !lean_is_exclusive(x_147); -if (x_148 == 0) +x_149 = !lean_is_exclusive(x_148); +if (x_149 == 0) { -return x_147; +return x_148; } else { -lean_object* x_149; lean_object* x_150; lean_object* x_151; -x_149 = lean_ctor_get(x_147, 0); -x_150 = lean_ctor_get(x_147, 1); +lean_object* x_150; lean_object* x_151; lean_object* x_152; +x_150 = lean_ctor_get(x_148, 0); +x_151 = lean_ctor_get(x_148, 1); +lean_inc(x_151); lean_inc(x_150); -lean_inc(x_149); -lean_dec(x_147); -x_151 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_151, 0, x_149); -lean_ctor_set(x_151, 1, x_150); -return x_151; +lean_dec(x_148); +x_152 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_152, 0, x_150); +lean_ctor_set(x_152, 1, x_151); +return x_152; } } else { -lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; uint8_t x_156; lean_object* x_157; +lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; uint8_t x_157; lean_object* x_158; lean_dec(x_7); -x_152 = lean_ctor_get(x_140, 0); -lean_inc(x_152); -lean_dec(x_140); -x_153 = lean_ctor_get(x_139, 1); +x_153 = lean_ctor_get(x_141, 0); lean_inc(x_153); -lean_dec(x_139); -x_154 = lean_ctor_get(x_152, 0); +lean_dec(x_141); +x_154 = lean_ctor_get(x_140, 1); lean_inc(x_154); -lean_dec(x_152); -x_155 = lean_box(0); -x_156 = 1; +lean_dec(x_140); +x_155 = lean_ctor_get(x_153, 0); +lean_inc(x_155); +lean_dec(x_153); +x_156 = lean_box(0); +x_157 = 1; lean_inc(x_19); lean_inc(x_18); lean_inc(x_17); lean_inc(x_16); -x_157 = l_Lean_Meta_introNCore(x_154, x_5, x_155, x_156, x_16, x_17, x_18, x_19, x_153); -if (lean_obj_tag(x_157) == 0) +x_158 = l_Lean_Meta_introNCore(x_155, x_5, x_156, x_134, x_157, x_16, x_17, x_18, x_19, x_154); +if (lean_obj_tag(x_158) == 0) { -lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; size_t x_162; size_t x_163; lean_object* x_164; -x_158 = lean_ctor_get(x_157, 0); -lean_inc(x_158); -x_159 = lean_ctor_get(x_157, 1); +lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; size_t x_163; size_t x_164; lean_object* x_165; +x_159 = lean_ctor_get(x_158, 0); lean_inc(x_159); -lean_dec(x_157); x_160 = lean_ctor_get(x_158, 1); lean_inc(x_160); lean_dec(x_158); -x_161 = lean_array_get_size(x_6); -x_162 = lean_usize_of_nat(x_161); -lean_dec(x_161); -x_163 = 0; +x_161 = lean_ctor_get(x_159, 1); +lean_inc(x_161); +lean_dec(x_159); +x_162 = lean_array_get_size(x_6); +x_163 = lean_usize_of_nat(x_162); +lean_dec(x_162); +x_164 = 0; lean_inc(x_19); lean_inc(x_18); lean_inc(x_17); lean_inc(x_16); -x_164 = l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__1(x_6, x_162, x_163, x_160, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_159); -if (lean_obj_tag(x_164) == 0) +x_165 = l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__1(x_6, x_163, x_164, x_161, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_160); +if (lean_obj_tag(x_165) == 0) { -lean_object* x_165; lean_object* x_166; lean_object* x_167; -x_165 = lean_ctor_get(x_164, 0); -lean_inc(x_165); -x_166 = lean_ctor_get(x_164, 1); +lean_object* x_166; lean_object* x_167; lean_object* x_168; +x_166 = lean_ctor_get(x_165, 0); lean_inc(x_166); -lean_dec(x_164); -x_167 = l_Lean_Elab_Tactic_evalAlt(x_165, x_127, x_8, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_166); -if (lean_obj_tag(x_167) == 0) +x_167 = lean_ctor_get(x_165, 1); +lean_inc(x_167); +lean_dec(x_165); +x_168 = l_Lean_Elab_Tactic_evalAlt(x_166, x_127, x_8, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_167); +if (lean_obj_tag(x_168) == 0) { -uint8_t x_168; -x_168 = !lean_is_exclusive(x_167); -if (x_168 == 0) +uint8_t x_169; +x_169 = !lean_is_exclusive(x_168); +if (x_169 == 0) { -lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; -x_169 = lean_ctor_get(x_167, 0); -x_170 = lean_box(x_10); -x_171 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_171, 0, x_9); -lean_ctor_set(x_171, 1, x_170); +lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; +x_170 = lean_ctor_get(x_168, 0); +x_171 = lean_box(x_10); x_172 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_172, 0, x_169); +lean_ctor_set(x_172, 0, x_9); lean_ctor_set(x_172, 1, x_171); -x_173 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_173, 0, x_172); -lean_ctor_set(x_167, 0, x_173); -return x_167; +x_173 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_173, 0, x_170); +lean_ctor_set(x_173, 1, x_172); +x_174 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_174, 0, x_173); +lean_ctor_set(x_168, 0, x_174); +return x_168; } else { -lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; -x_174 = lean_ctor_get(x_167, 0); -x_175 = lean_ctor_get(x_167, 1); +lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; +x_175 = lean_ctor_get(x_168, 0); +x_176 = lean_ctor_get(x_168, 1); +lean_inc(x_176); lean_inc(x_175); -lean_inc(x_174); -lean_dec(x_167); -x_176 = lean_box(x_10); -x_177 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_177, 0, x_9); -lean_ctor_set(x_177, 1, x_176); +lean_dec(x_168); +x_177 = lean_box(x_10); x_178 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_178, 0, x_174); +lean_ctor_set(x_178, 0, x_9); lean_ctor_set(x_178, 1, x_177); -x_179 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_179, 0, x_178); -x_180 = lean_alloc_ctor(0, 2, 0); +x_179 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_179, 0, x_175); +lean_ctor_set(x_179, 1, x_178); +x_180 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_180, 0, x_179); -lean_ctor_set(x_180, 1, x_175); -return x_180; +x_181 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_181, 0, x_180); +lean_ctor_set(x_181, 1, x_176); +return x_181; } } else { -uint8_t x_181; +uint8_t x_182; lean_dec(x_9); -x_181 = !lean_is_exclusive(x_167); -if (x_181 == 0) +x_182 = !lean_is_exclusive(x_168); +if (x_182 == 0) { -return x_167; +return x_168; } else { -lean_object* x_182; lean_object* x_183; lean_object* x_184; -x_182 = lean_ctor_get(x_167, 0); -x_183 = lean_ctor_get(x_167, 1); +lean_object* x_183; lean_object* x_184; lean_object* x_185; +x_183 = lean_ctor_get(x_168, 0); +x_184 = lean_ctor_get(x_168, 1); +lean_inc(x_184); lean_inc(x_183); -lean_inc(x_182); -lean_dec(x_167); -x_184 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_184, 0, x_182); -lean_ctor_set(x_184, 1, x_183); -return x_184; +lean_dec(x_168); +x_185 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_185, 0, x_183); +lean_ctor_set(x_185, 1, x_184); +return x_185; } } } else { -uint8_t x_185; +uint8_t x_186; lean_dec(x_18); lean_dec(x_19); lean_dec(x_17); @@ -5967,29 +5985,29 @@ lean_dec(x_13); lean_dec(x_12); lean_dec(x_9); lean_dec(x_8); -x_185 = !lean_is_exclusive(x_164); -if (x_185 == 0) +x_186 = !lean_is_exclusive(x_165); +if (x_186 == 0) { -return x_164; +return x_165; } else { -lean_object* x_186; lean_object* x_187; lean_object* x_188; -x_186 = lean_ctor_get(x_164, 0); -x_187 = lean_ctor_get(x_164, 1); +lean_object* x_187; lean_object* x_188; lean_object* x_189; +x_187 = lean_ctor_get(x_165, 0); +x_188 = lean_ctor_get(x_165, 1); +lean_inc(x_188); lean_inc(x_187); -lean_inc(x_186); -lean_dec(x_164); -x_188 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_188, 0, x_186); -lean_ctor_set(x_188, 1, x_187); -return x_188; +lean_dec(x_165); +x_189 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_189, 0, x_187); +lean_ctor_set(x_189, 1, x_188); +return x_189; } } } else { -uint8_t x_189; +uint8_t x_190; lean_dec(x_18); lean_dec(x_19); lean_dec(x_17); @@ -6000,30 +6018,30 @@ lean_dec(x_13); lean_dec(x_12); lean_dec(x_9); lean_dec(x_8); -x_189 = !lean_is_exclusive(x_157); -if (x_189 == 0) +x_190 = !lean_is_exclusive(x_158); +if (x_190 == 0) { -return x_157; +return x_158; } else { -lean_object* x_190; lean_object* x_191; lean_object* x_192; -x_190 = lean_ctor_get(x_157, 0); -x_191 = lean_ctor_get(x_157, 1); +lean_object* x_191; lean_object* x_192; lean_object* x_193; +x_191 = lean_ctor_get(x_158, 0); +x_192 = lean_ctor_get(x_158, 1); +lean_inc(x_192); lean_inc(x_191); -lean_inc(x_190); -lean_dec(x_157); -x_192 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_192, 0, x_190); -lean_ctor_set(x_192, 1, x_191); -return x_192; +lean_dec(x_158); +x_193 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_193, 0, x_191); +lean_ctor_set(x_193, 1, x_192); +return x_193; } } } } else { -uint8_t x_193; +uint8_t x_194; lean_dec(x_18); lean_dec(x_19); lean_dec(x_17); @@ -6036,29 +6054,29 @@ lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_5); -x_193 = !lean_is_exclusive(x_139); -if (x_193 == 0) +x_194 = !lean_is_exclusive(x_140); +if (x_194 == 0) { -return x_139; +return x_140; } else { -lean_object* x_194; lean_object* x_195; lean_object* x_196; -x_194 = lean_ctor_get(x_139, 0); -x_195 = lean_ctor_get(x_139, 1); +lean_object* x_195; lean_object* x_196; lean_object* x_197; +x_195 = lean_ctor_get(x_140, 0); +x_196 = lean_ctor_get(x_140, 1); +lean_inc(x_196); lean_inc(x_195); -lean_inc(x_194); -lean_dec(x_139); -x_196 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_196, 0, x_194); -lean_ctor_set(x_196, 1, x_195); -return x_196; +lean_dec(x_140); +x_197 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_197, 0, x_195); +lean_ctor_set(x_197, 1, x_196); +return x_197; } } } else { -uint8_t x_197; +uint8_t x_198; lean_dec(x_18); lean_dec(x_19); lean_dec(x_17); @@ -6072,37 +6090,38 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_5); lean_dec(x_3); -x_197 = !lean_is_exclusive(x_134); -if (x_197 == 0) +x_198 = !lean_is_exclusive(x_135); +if (x_198 == 0) { -return x_134; +return x_135; } else { -lean_object* x_198; lean_object* x_199; lean_object* x_200; -x_198 = lean_ctor_get(x_134, 0); -x_199 = lean_ctor_get(x_134, 1); +lean_object* x_199; lean_object* x_200; lean_object* x_201; +x_199 = lean_ctor_get(x_135, 0); +x_200 = lean_ctor_get(x_135, 1); +lean_inc(x_200); lean_inc(x_199); -lean_inc(x_198); -lean_dec(x_134); -x_200 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_200, 0, x_198); -lean_ctor_set(x_200, 1, x_199); -return x_200; +lean_dec(x_135); +x_201 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_201, 0, x_199); +lean_ctor_set(x_201, 1, x_200); +return x_201; } } } else { -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; uint8_t x_211; lean_object* x_212; -x_201 = lean_ctor_get(x_18, 0); -x_202 = lean_ctor_get(x_18, 1); -x_203 = lean_ctor_get(x_18, 2); -x_204 = lean_ctor_get(x_18, 3); -x_205 = lean_ctor_get(x_18, 4); -x_206 = lean_ctor_get(x_18, 5); -x_207 = lean_ctor_get(x_18, 6); -x_208 = lean_ctor_get(x_18, 7); +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; uint8_t x_212; lean_object* x_213; +x_202 = lean_ctor_get(x_18, 0); +x_203 = lean_ctor_get(x_18, 1); +x_204 = lean_ctor_get(x_18, 2); +x_205 = lean_ctor_get(x_18, 3); +x_206 = lean_ctor_get(x_18, 4); +x_207 = lean_ctor_get(x_18, 5); +x_208 = lean_ctor_get(x_18, 6); +x_209 = lean_ctor_get(x_18, 7); +lean_inc(x_209); lean_inc(x_208); lean_inc(x_207); lean_inc(x_206); @@ -6110,208 +6129,207 @@ lean_inc(x_205); lean_inc(x_204); lean_inc(x_203); lean_inc(x_202); -lean_inc(x_201); lean_dec(x_18); -x_209 = l_Lean_replaceRef(x_127, x_204); -lean_dec(x_204); -x_210 = lean_alloc_ctor(0, 8, 0); -lean_ctor_set(x_210, 0, x_201); -lean_ctor_set(x_210, 1, x_202); -lean_ctor_set(x_210, 2, x_203); -lean_ctor_set(x_210, 3, x_209); -lean_ctor_set(x_210, 4, x_205); -lean_ctor_set(x_210, 5, x_206); -lean_ctor_set(x_210, 6, x_207); -lean_ctor_set(x_210, 7, x_208); -x_211 = 0; +x_210 = l_Lean_replaceRef(x_127, x_205); +lean_dec(x_205); +x_211 = lean_alloc_ctor(0, 8, 0); +lean_ctor_set(x_211, 0, x_202); +lean_ctor_set(x_211, 1, x_203); +lean_ctor_set(x_211, 2, x_204); +lean_ctor_set(x_211, 3, x_210); +lean_ctor_set(x_211, 4, x_206); +lean_ctor_set(x_211, 5, x_207); +lean_ctor_set(x_211, 6, x_208); +lean_ctor_set(x_211, 7, x_209); +x_212 = 0; lean_inc(x_19); -lean_inc(x_210); +lean_inc(x_211); lean_inc(x_17); lean_inc(x_16); -x_212 = l_Lean_Meta_introNCore(x_1, x_2, x_129, x_211, x_16, x_17, x_210, x_19, x_20); -if (lean_obj_tag(x_212) == 0) +x_213 = l_Lean_Meta_introNCore(x_1, x_2, x_129, x_130, x_212, x_16, x_17, x_211, x_19, x_20); +if (lean_obj_tag(x_213) == 0) { -lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; -x_213 = lean_ctor_get(x_212, 0); -lean_inc(x_213); -x_214 = lean_ctor_get(x_212, 1); +lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; +x_214 = lean_ctor_get(x_213, 0); lean_inc(x_214); -lean_dec(x_212); x_215 = lean_ctor_get(x_213, 1); lean_inc(x_215); lean_dec(x_213); -x_216 = lean_box(0); +x_216 = lean_ctor_get(x_214, 1); +lean_inc(x_216); +lean_dec(x_214); +x_217 = lean_box(0); lean_inc(x_19); -lean_inc(x_210); +lean_inc(x_211); lean_inc(x_17); lean_inc(x_16); -x_217 = l_Lean_Meta_Cases_unifyEqs(x_3, x_215, x_216, x_16, x_17, x_210, x_19, x_214); -if (lean_obj_tag(x_217) == 0) -{ -lean_object* x_218; -x_218 = lean_ctor_get(x_217, 0); -lean_inc(x_218); +x_218 = l_Lean_Meta_Cases_unifyEqs(x_3, x_216, x_217, x_16, x_17, x_211, x_19, x_215); if (lean_obj_tag(x_218) == 0) { -lean_object* x_219; lean_object* x_220; 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_219; +x_219 = lean_ctor_get(x_218, 0); +lean_inc(x_219); +if (lean_obj_tag(x_219) == 0) +{ +lean_object* x_220; 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_dec(x_9); lean_dec(x_8); lean_dec(x_5); -x_219 = lean_ctor_get(x_217, 1); -lean_inc(x_219); -lean_dec(x_217); -x_220 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_220, 0, x_7); -x_221 = l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__5___lambda__1___closed__4; -x_222 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_222, 0, x_221); -lean_ctor_set(x_222, 1, x_220); -x_223 = l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__5___lambda__1___closed__8; -x_224 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_224, 0, x_222); -lean_ctor_set(x_224, 1, x_223); -x_225 = l_Lean_throwError___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__4(x_224, x_12, x_13, x_14, x_15, x_16, x_17, x_210, x_19, x_219); +x_220 = lean_ctor_get(x_218, 1); +lean_inc(x_220); +lean_dec(x_218); +x_221 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_221, 0, x_7); +x_222 = l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__5___lambda__1___closed__4; +x_223 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_223, 0, x_222); +lean_ctor_set(x_223, 1, x_221); +x_224 = l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__5___lambda__1___closed__8; +x_225 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_225, 0, x_223); +lean_ctor_set(x_225, 1, x_224); +x_226 = l_Lean_throwError___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__4(x_225, x_12, x_13, x_14, x_15, x_16, x_17, x_211, x_19, x_220); lean_dec(x_19); -lean_dec(x_210); +lean_dec(x_211); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); -x_226 = lean_ctor_get(x_225, 0); -lean_inc(x_226); -x_227 = lean_ctor_get(x_225, 1); +x_227 = lean_ctor_get(x_226, 0); lean_inc(x_227); -if (lean_is_exclusive(x_225)) { - lean_ctor_release(x_225, 0); - lean_ctor_release(x_225, 1); - x_228 = x_225; +x_228 = lean_ctor_get(x_226, 1); +lean_inc(x_228); +if (lean_is_exclusive(x_226)) { + lean_ctor_release(x_226, 0); + lean_ctor_release(x_226, 1); + x_229 = x_226; } else { - lean_dec_ref(x_225); - x_228 = lean_box(0); + lean_dec_ref(x_226); + x_229 = lean_box(0); } -if (lean_is_scalar(x_228)) { - x_229 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_229)) { + x_230 = lean_alloc_ctor(1, 2, 0); } else { - x_229 = x_228; + x_230 = x_229; } -lean_ctor_set(x_229, 0, x_226); -lean_ctor_set(x_229, 1, x_227); -return x_229; +lean_ctor_set(x_230, 0, x_227); +lean_ctor_set(x_230, 1, x_228); +return x_230; } else { -lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; uint8_t x_234; lean_object* x_235; +lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; uint8_t x_235; lean_object* x_236; lean_dec(x_7); -x_230 = lean_ctor_get(x_218, 0); -lean_inc(x_230); -lean_dec(x_218); -x_231 = lean_ctor_get(x_217, 1); +x_231 = lean_ctor_get(x_219, 0); lean_inc(x_231); -lean_dec(x_217); -x_232 = lean_ctor_get(x_230, 0); +lean_dec(x_219); +x_232 = lean_ctor_get(x_218, 1); lean_inc(x_232); -lean_dec(x_230); -x_233 = lean_box(0); -x_234 = 1; +lean_dec(x_218); +x_233 = lean_ctor_get(x_231, 0); +lean_inc(x_233); +lean_dec(x_231); +x_234 = lean_box(0); +x_235 = 1; lean_inc(x_19); -lean_inc(x_210); +lean_inc(x_211); lean_inc(x_17); lean_inc(x_16); -x_235 = l_Lean_Meta_introNCore(x_232, x_5, x_233, x_234, x_16, x_17, x_210, x_19, x_231); -if (lean_obj_tag(x_235) == 0) +x_236 = l_Lean_Meta_introNCore(x_233, x_5, x_234, x_212, x_235, x_16, x_17, x_211, x_19, x_232); +if (lean_obj_tag(x_236) == 0) { -lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; size_t x_240; size_t x_241; lean_object* x_242; -x_236 = lean_ctor_get(x_235, 0); -lean_inc(x_236); -x_237 = lean_ctor_get(x_235, 1); +lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; size_t x_241; size_t x_242; lean_object* x_243; +x_237 = lean_ctor_get(x_236, 0); lean_inc(x_237); -lean_dec(x_235); x_238 = lean_ctor_get(x_236, 1); lean_inc(x_238); lean_dec(x_236); -x_239 = lean_array_get_size(x_6); -x_240 = lean_usize_of_nat(x_239); -lean_dec(x_239); -x_241 = 0; +x_239 = lean_ctor_get(x_237, 1); +lean_inc(x_239); +lean_dec(x_237); +x_240 = lean_array_get_size(x_6); +x_241 = lean_usize_of_nat(x_240); +lean_dec(x_240); +x_242 = 0; lean_inc(x_19); -lean_inc(x_210); +lean_inc(x_211); lean_inc(x_17); lean_inc(x_16); -x_242 = l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__1(x_6, x_240, x_241, x_238, x_12, x_13, x_14, x_15, x_16, x_17, x_210, x_19, x_237); -if (lean_obj_tag(x_242) == 0) +x_243 = l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__1(x_6, x_241, x_242, x_239, x_12, x_13, x_14, x_15, x_16, x_17, x_211, x_19, x_238); +if (lean_obj_tag(x_243) == 0) { -lean_object* x_243; lean_object* x_244; lean_object* x_245; -x_243 = lean_ctor_get(x_242, 0); -lean_inc(x_243); -x_244 = lean_ctor_get(x_242, 1); +lean_object* x_244; lean_object* x_245; lean_object* x_246; +x_244 = lean_ctor_get(x_243, 0); lean_inc(x_244); -lean_dec(x_242); -x_245 = l_Lean_Elab_Tactic_evalAlt(x_243, x_127, x_8, x_12, x_13, x_14, x_15, x_16, x_17, x_210, x_19, x_244); -if (lean_obj_tag(x_245) == 0) +x_245 = lean_ctor_get(x_243, 1); +lean_inc(x_245); +lean_dec(x_243); +x_246 = l_Lean_Elab_Tactic_evalAlt(x_244, x_127, x_8, x_12, x_13, x_14, x_15, x_16, x_17, x_211, x_19, x_245); +if (lean_obj_tag(x_246) == 0) { -lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; -x_246 = lean_ctor_get(x_245, 0); -lean_inc(x_246); -x_247 = lean_ctor_get(x_245, 1); +lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; +x_247 = lean_ctor_get(x_246, 0); lean_inc(x_247); -if (lean_is_exclusive(x_245)) { - lean_ctor_release(x_245, 0); - lean_ctor_release(x_245, 1); - x_248 = x_245; +x_248 = lean_ctor_get(x_246, 1); +lean_inc(x_248); +if (lean_is_exclusive(x_246)) { + lean_ctor_release(x_246, 0); + lean_ctor_release(x_246, 1); + x_249 = x_246; } else { - lean_dec_ref(x_245); - x_248 = lean_box(0); + lean_dec_ref(x_246); + x_249 = lean_box(0); } -x_249 = lean_box(x_10); -x_250 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_250, 0, x_9); -lean_ctor_set(x_250, 1, x_249); +x_250 = lean_box(x_10); x_251 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_251, 0, x_246); +lean_ctor_set(x_251, 0, x_9); lean_ctor_set(x_251, 1, x_250); -x_252 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_252, 0, x_251); -if (lean_is_scalar(x_248)) { - x_253 = lean_alloc_ctor(0, 2, 0); -} else { - x_253 = x_248; -} +x_252 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_252, 0, x_247); +lean_ctor_set(x_252, 1, x_251); +x_253 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_253, 0, x_252); -lean_ctor_set(x_253, 1, x_247); -return x_253; +if (lean_is_scalar(x_249)) { + x_254 = lean_alloc_ctor(0, 2, 0); +} else { + x_254 = x_249; +} +lean_ctor_set(x_254, 0, x_253); +lean_ctor_set(x_254, 1, x_248); +return x_254; } else { -lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; +lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_dec(x_9); -x_254 = lean_ctor_get(x_245, 0); -lean_inc(x_254); -x_255 = lean_ctor_get(x_245, 1); +x_255 = lean_ctor_get(x_246, 0); lean_inc(x_255); -if (lean_is_exclusive(x_245)) { - lean_ctor_release(x_245, 0); - lean_ctor_release(x_245, 1); - x_256 = x_245; +x_256 = lean_ctor_get(x_246, 1); +lean_inc(x_256); +if (lean_is_exclusive(x_246)) { + lean_ctor_release(x_246, 0); + lean_ctor_release(x_246, 1); + x_257 = x_246; } else { - lean_dec_ref(x_245); - x_256 = lean_box(0); + lean_dec_ref(x_246); + x_257 = lean_box(0); } -if (lean_is_scalar(x_256)) { - x_257 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_257)) { + x_258 = lean_alloc_ctor(1, 2, 0); } else { - x_257 = x_256; + x_258 = x_257; } -lean_ctor_set(x_257, 0, x_254); -lean_ctor_set(x_257, 1, x_255); -return x_257; +lean_ctor_set(x_258, 0, x_255); +lean_ctor_set(x_258, 1, x_256); +return x_258; } } else { -lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; -lean_dec(x_210); +lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; +lean_dec(x_211); lean_dec(x_19); lean_dec(x_17); lean_dec(x_16); @@ -6321,32 +6339,32 @@ lean_dec(x_13); lean_dec(x_12); lean_dec(x_9); lean_dec(x_8); -x_258 = lean_ctor_get(x_242, 0); -lean_inc(x_258); -x_259 = lean_ctor_get(x_242, 1); +x_259 = lean_ctor_get(x_243, 0); lean_inc(x_259); -if (lean_is_exclusive(x_242)) { - lean_ctor_release(x_242, 0); - lean_ctor_release(x_242, 1); - x_260 = x_242; +x_260 = lean_ctor_get(x_243, 1); +lean_inc(x_260); +if (lean_is_exclusive(x_243)) { + lean_ctor_release(x_243, 0); + lean_ctor_release(x_243, 1); + x_261 = x_243; } else { - lean_dec_ref(x_242); - x_260 = lean_box(0); + lean_dec_ref(x_243); + x_261 = lean_box(0); } -if (lean_is_scalar(x_260)) { - x_261 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_261)) { + x_262 = lean_alloc_ctor(1, 2, 0); } else { - x_261 = x_260; + x_262 = x_261; } -lean_ctor_set(x_261, 0, x_258); -lean_ctor_set(x_261, 1, x_259); -return x_261; +lean_ctor_set(x_262, 0, x_259); +lean_ctor_set(x_262, 1, x_260); +return x_262; } } else { -lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; -lean_dec(x_210); +lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; +lean_dec(x_211); lean_dec(x_19); lean_dec(x_17); lean_dec(x_16); @@ -6356,33 +6374,33 @@ lean_dec(x_13); lean_dec(x_12); lean_dec(x_9); lean_dec(x_8); -x_262 = lean_ctor_get(x_235, 0); -lean_inc(x_262); -x_263 = lean_ctor_get(x_235, 1); +x_263 = lean_ctor_get(x_236, 0); lean_inc(x_263); -if (lean_is_exclusive(x_235)) { - lean_ctor_release(x_235, 0); - lean_ctor_release(x_235, 1); - x_264 = x_235; +x_264 = lean_ctor_get(x_236, 1); +lean_inc(x_264); +if (lean_is_exclusive(x_236)) { + lean_ctor_release(x_236, 0); + lean_ctor_release(x_236, 1); + x_265 = x_236; } else { - lean_dec_ref(x_235); - x_264 = lean_box(0); + lean_dec_ref(x_236); + x_265 = lean_box(0); } -if (lean_is_scalar(x_264)) { - x_265 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_265)) { + x_266 = lean_alloc_ctor(1, 2, 0); } else { - x_265 = x_264; + x_266 = x_265; } -lean_ctor_set(x_265, 0, x_262); -lean_ctor_set(x_265, 1, x_263); -return x_265; +lean_ctor_set(x_266, 0, x_263); +lean_ctor_set(x_266, 1, x_264); +return x_266; } } } else { -lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; -lean_dec(x_210); +lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; +lean_dec(x_211); lean_dec(x_19); lean_dec(x_17); lean_dec(x_16); @@ -6394,32 +6412,32 @@ lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_5); -x_266 = lean_ctor_get(x_217, 0); -lean_inc(x_266); -x_267 = lean_ctor_get(x_217, 1); +x_267 = lean_ctor_get(x_218, 0); lean_inc(x_267); -if (lean_is_exclusive(x_217)) { - lean_ctor_release(x_217, 0); - lean_ctor_release(x_217, 1); - x_268 = x_217; +x_268 = lean_ctor_get(x_218, 1); +lean_inc(x_268); +if (lean_is_exclusive(x_218)) { + lean_ctor_release(x_218, 0); + lean_ctor_release(x_218, 1); + x_269 = x_218; } else { - lean_dec_ref(x_217); - x_268 = lean_box(0); + lean_dec_ref(x_218); + x_269 = lean_box(0); } -if (lean_is_scalar(x_268)) { - x_269 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_269)) { + x_270 = lean_alloc_ctor(1, 2, 0); } else { - x_269 = x_268; + x_270 = x_269; } -lean_ctor_set(x_269, 0, x_266); -lean_ctor_set(x_269, 1, x_267); -return x_269; +lean_ctor_set(x_270, 0, x_267); +lean_ctor_set(x_270, 1, x_268); +return x_270; } } else { -lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; -lean_dec(x_210); +lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; +lean_dec(x_211); lean_dec(x_19); lean_dec(x_17); lean_dec(x_16); @@ -6432,26 +6450,27 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_5); lean_dec(x_3); -x_270 = lean_ctor_get(x_212, 0); -lean_inc(x_270); -x_271 = lean_ctor_get(x_212, 1); +x_271 = lean_ctor_get(x_213, 0); lean_inc(x_271); -if (lean_is_exclusive(x_212)) { - lean_ctor_release(x_212, 0); - lean_ctor_release(x_212, 1); - x_272 = x_212; +x_272 = lean_ctor_get(x_213, 1); +lean_inc(x_272); +if (lean_is_exclusive(x_213)) { + lean_ctor_release(x_213, 0); + lean_ctor_release(x_213, 1); + x_273 = x_213; } else { - lean_dec_ref(x_212); - x_272 = lean_box(0); + lean_dec_ref(x_213); + x_273 = lean_box(0); } -if (lean_is_scalar(x_272)) { - x_273 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_273)) { + x_274 = lean_alloc_ctor(1, 2, 0); } else { - x_273 = x_272; + x_274 = x_273; +} +lean_ctor_set(x_274, 0, x_271); +lean_ctor_set(x_274, 1, x_272); +return x_274; } -lean_ctor_set(x_273, 0, x_270); -lean_ctor_set(x_273, 1, x_271); -return x_273; } } } @@ -14184,27 +14203,28 @@ return x_44; } else { -lean_object* x_45; uint8_t x_46; lean_object* x_47; +lean_object* x_45; uint8_t x_46; uint8_t x_47; lean_object* x_48; x_45 = lean_box(0); -x_46 = 1; +x_46 = 0; +x_47 = 1; lean_inc(x_15); lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); lean_inc(x_3); -x_47 = l_Lean_Meta_introNCore(x_25, x_3, x_45, x_46, x_12, x_13, x_14, x_15, x_16); -if (lean_obj_tag(x_47) == 0) +x_48 = l_Lean_Meta_introNCore(x_25, x_3, x_45, x_46, x_47, x_12, x_13, x_14, x_15, x_16); +if (lean_obj_tag(x_48) == 0) { -lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_48 = lean_ctor_get(x_47, 0); -lean_inc(x_48); -x_49 = lean_ctor_get(x_47, 1); +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); -lean_dec(x_47); x_50 = lean_ctor_get(x_48, 1); lean_inc(x_50); lean_dec(x_48); -x_51 = lean_box(0); +x_51 = lean_ctor_get(x_49, 1); +lean_inc(x_51); +lean_dec(x_49); +x_52 = lean_box(0); lean_inc(x_15); lean_inc(x_14); lean_inc(x_13); @@ -14213,15 +14233,15 @@ lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_52 = l_Std_Range_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult___spec__1___lambda__1(x_1, x_6, x_7, x_50, x_51, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_49); -if (lean_obj_tag(x_52) == 0) -{ -lean_object* x_53; -x_53 = lean_ctor_get(x_52, 0); -lean_inc(x_53); +x_53 = l_Std_Range_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult___spec__1___lambda__1(x_1, x_6, x_7, x_51, x_52, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_50); if (lean_obj_tag(x_53) == 0) { -uint8_t x_54; +lean_object* x_54; +x_54 = lean_ctor_get(x_53, 0); +lean_inc(x_54); +if (lean_obj_tag(x_54) == 0) +{ +uint8_t x_55; lean_dec(x_22); lean_dec(x_15); lean_dec(x_14); @@ -14233,55 +14253,55 @@ lean_dec(x_9); lean_dec(x_8); lean_dec(x_6); lean_dec(x_3); -x_54 = !lean_is_exclusive(x_52); -if (x_54 == 0) +x_55 = !lean_is_exclusive(x_53); +if (x_55 == 0) { -lean_object* x_55; lean_object* x_56; -x_55 = lean_ctor_get(x_52, 0); -lean_dec(x_55); +lean_object* x_56; lean_object* x_57; x_56 = lean_ctor_get(x_53, 0); -lean_inc(x_56); -lean_dec(x_53); -lean_ctor_set(x_52, 0, x_56); -return x_52; +lean_dec(x_56); +x_57 = lean_ctor_get(x_54, 0); +lean_inc(x_57); +lean_dec(x_54); +lean_ctor_set(x_53, 0, x_57); +return x_53; } 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); -x_58 = lean_ctor_get(x_53, 0); +lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_58 = lean_ctor_get(x_53, 1); lean_inc(x_58); lean_dec(x_53); -x_59 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_59, 0, x_58); -lean_ctor_set(x_59, 1, x_57); -return x_59; +x_59 = lean_ctor_get(x_54, 0); +lean_inc(x_59); +lean_dec(x_54); +x_60 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_60, 0, x_59); +lean_ctor_set(x_60, 1, x_58); +return x_60; } } else { -lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; -x_60 = lean_ctor_get(x_52, 1); -lean_inc(x_60); -lean_dec(x_52); -x_61 = lean_ctor_get(x_53, 0); +lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_61 = lean_ctor_get(x_53, 1); lean_inc(x_61); lean_dec(x_53); -x_62 = lean_ctor_get(x_4, 2); -x_63 = lean_nat_add(x_6, x_62); +x_62 = lean_ctor_get(x_54, 0); +lean_inc(x_62); +lean_dec(x_54); +x_63 = lean_ctor_get(x_4, 2); +x_64 = lean_nat_add(x_6, x_63); lean_dec(x_6); x_5 = x_22; -x_6 = x_63; -x_7 = x_61; -x_16 = x_60; +x_6 = x_64; +x_7 = x_62; +x_16 = x_61; goto _start; } } else { -uint8_t x_65; +uint8_t x_66; lean_dec(x_22); lean_dec(x_15); lean_dec(x_14); @@ -14293,29 +14313,29 @@ lean_dec(x_9); lean_dec(x_8); lean_dec(x_6); lean_dec(x_3); -x_65 = !lean_is_exclusive(x_52); -if (x_65 == 0) +x_66 = !lean_is_exclusive(x_53); +if (x_66 == 0) { -return x_52; +return x_53; } else { -lean_object* x_66; lean_object* x_67; lean_object* x_68; -x_66 = lean_ctor_get(x_52, 0); -x_67 = lean_ctor_get(x_52, 1); +lean_object* x_67; lean_object* x_68; lean_object* x_69; +x_67 = lean_ctor_get(x_53, 0); +x_68 = lean_ctor_get(x_53, 1); +lean_inc(x_68); lean_inc(x_67); -lean_inc(x_66); -lean_dec(x_52); -x_68 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_68, 0, x_66); -lean_ctor_set(x_68, 1, x_67); -return x_68; +lean_dec(x_53); +x_69 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_69, 0, x_67); +lean_ctor_set(x_69, 1, x_68); +return x_69; } } } else { -uint8_t x_69; +uint8_t x_70; lean_dec(x_22); lean_dec(x_15); lean_dec(x_14); @@ -14328,47 +14348,27 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); -x_69 = !lean_is_exclusive(x_47); -if (x_69 == 0) +x_70 = !lean_is_exclusive(x_48); +if (x_70 == 0) { -return x_47; +return x_48; } else { -lean_object* x_70; lean_object* x_71; lean_object* x_72; -x_70 = lean_ctor_get(x_47, 0); -x_71 = lean_ctor_get(x_47, 1); +lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_71 = lean_ctor_get(x_48, 0); +x_72 = lean_ctor_get(x_48, 1); +lean_inc(x_72); lean_inc(x_71); -lean_inc(x_70); -lean_dec(x_47); -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; -} -} -} -} -else -{ -lean_object* x_73; -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -x_73 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_73, 0, x_7); -lean_ctor_set(x_73, 1, x_16); +lean_dec(x_48); +x_73 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_73, 0, x_71); +lean_ctor_set(x_73, 1, x_72); return x_73; } } +} +} else { lean_object* x_74; @@ -14389,6 +14389,26 @@ lean_ctor_set(x_74, 1, x_16); return x_74; } } +else +{ +lean_object* x_75; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +x_75 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_75, 0, x_7); +lean_ctor_set(x_75, 1, x_16); +return x_75; +} +} } lean_object* l_List_map___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult___spec__2(lean_object* x_1) { _start: @@ -15291,20 +15311,24 @@ return x_5; } else { -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; size_t x_12; size_t x_13; lean_object* x_14; lean_object* x_15; +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; size_t x_14; size_t x_15; lean_object* x_16; lean_object* x_17; x_6 = lean_array_uget(x_3, x_2); x_7 = lean_unsigned_to_nat(0u); x_8 = lean_array_uset(x_3, x_2, x_7); x_9 = x_6; -x_10 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltVarNames(x_9); +x_10 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_altHasExplicitModifier(x_9); +x_11 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltVarNames(x_9); lean_dec(x_9); -x_11 = lean_array_to_list(lean_box(0), x_10); -x_12 = 1; -x_13 = x_2 + x_12; -x_14 = x_11; -x_15 = lean_array_uset(x_8, x_2, x_14); -x_2 = x_13; -x_3 = x_15; +x_12 = lean_array_to_list(lean_box(0), x_11); +x_13 = lean_alloc_ctor(0, 1, 1); +lean_ctor_set(x_13, 0, x_12); +lean_ctor_set_uint8(x_13, sizeof(void*)*1, x_10); +x_14 = 1; +x_15 = x_2 + x_14; +x_16 = x_13; +x_17 = lean_array_uset(x_8, x_2, x_16); +x_2 = x_15; +x_3 = x_17; goto _start; } } @@ -15900,7 +15924,7 @@ lean_dec(x_34); x_37 = l_Lean_Elab_Tactic_getMainGoal(x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_36); if (lean_obj_tag(x_37) == 0) { -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; size_t x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50; +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; size_t 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_38 = lean_ctor_get(x_37, 0); lean_inc(x_38); x_39 = lean_ctor_get(x_37, 1); @@ -15923,27 +15947,26 @@ lean_dec(x_33); x_48 = lean_ctor_get(x_35, 0); lean_inc(x_48); lean_dec(x_35); -x_49 = 0; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -x_50 = l_Lean_Meta_induction(x_40, x_47, x_48, x_46, x_49, x_9, x_10, x_11, x_12, x_39); -if (lean_obj_tag(x_50) == 0) +x_49 = l_Lean_Meta_induction(x_40, x_47, x_48, x_46, x_9, x_10, x_11, x_12, x_39); +if (lean_obj_tag(x_49) == 0) { -lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_51 = lean_ctor_get(x_50, 0); +lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_50 = lean_ctor_get(x_49, 0); +lean_inc(x_50); +x_51 = lean_ctor_get(x_49, 1); lean_inc(x_51); -x_52 = lean_ctor_get(x_50, 1); -lean_inc(x_52); -lean_dec(x_50); -x_53 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult(x_41, x_51, x_15, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_52); +lean_dec(x_49); +x_52 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult(x_41, x_50, x_15, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_51); lean_dec(x_41); -return x_53; +return x_52; } else { -uint8_t x_54; +uint8_t x_53; lean_dec(x_41); lean_dec(x_15); lean_dec(x_12); @@ -15954,29 +15977,29 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_54 = !lean_is_exclusive(x_50); -if (x_54 == 0) +x_53 = !lean_is_exclusive(x_49); +if (x_53 == 0) { -return x_50; +return x_49; } else { -lean_object* x_55; lean_object* x_56; lean_object* x_57; -x_55 = lean_ctor_get(x_50, 0); -x_56 = lean_ctor_get(x_50, 1); -lean_inc(x_56); +lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_54 = lean_ctor_get(x_49, 0); +x_55 = lean_ctor_get(x_49, 1); lean_inc(x_55); -lean_dec(x_50); -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_inc(x_54); +lean_dec(x_49); +x_56 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_56, 0, x_54); +lean_ctor_set(x_56, 1, x_55); +return x_56; } } } else { -uint8_t x_58; +uint8_t x_57; lean_dec(x_35); lean_dec(x_33); lean_dec(x_15); @@ -15988,29 +16011,29 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_58 = !lean_is_exclusive(x_37); -if (x_58 == 0) +x_57 = !lean_is_exclusive(x_37); +if (x_57 == 0) { return x_37; } else { -lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_59 = lean_ctor_get(x_37, 0); -x_60 = lean_ctor_get(x_37, 1); -lean_inc(x_60); +lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_58 = lean_ctor_get(x_37, 0); +x_59 = lean_ctor_get(x_37, 1); lean_inc(x_59); +lean_inc(x_58); lean_dec(x_37); -x_61 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_61, 0, x_59); -lean_ctor_set(x_61, 1, x_60); -return x_61; +x_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_62; +uint8_t x_61; lean_dec(x_33); lean_dec(x_15); lean_dec(x_12); @@ -16021,30 +16044,30 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_62 = !lean_is_exclusive(x_34); -if (x_62 == 0) +x_61 = !lean_is_exclusive(x_34); +if (x_61 == 0) { return x_34; } else { -lean_object* x_63; lean_object* x_64; lean_object* x_65; -x_63 = lean_ctor_get(x_34, 0); -x_64 = lean_ctor_get(x_34, 1); -lean_inc(x_64); +lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_62 = lean_ctor_get(x_34, 0); +x_63 = lean_ctor_get(x_34, 1); lean_inc(x_63); +lean_inc(x_62); lean_dec(x_34); -x_65 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_65, 0, x_63); -lean_ctor_set(x_65, 1, x_64); -return x_65; +x_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; } } } } else { -uint8_t x_66; +uint8_t x_65; lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); @@ -16056,23 +16079,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -x_66 = !lean_is_exclusive(x_14); -if (x_66 == 0) +x_65 = !lean_is_exclusive(x_14); +if (x_65 == 0) { return x_14; } else { -lean_object* x_67; lean_object* x_68; lean_object* x_69; -x_67 = lean_ctor_get(x_14, 0); -x_68 = lean_ctor_get(x_14, 1); -lean_inc(x_68); +lean_object* x_66; lean_object* x_67; lean_object* x_68; +x_66 = lean_ctor_get(x_14, 0); +x_67 = lean_ctor_get(x_14, 1); lean_inc(x_67); +lean_inc(x_66); lean_dec(x_14); -x_69 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_69, 0, x_67); -lean_ctor_set(x_69, 1, x_68); -return x_69; +x_68 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_68, 0, x_66); +lean_ctor_set(x_68, 1, x_67); +return x_68; } } } @@ -17228,7 +17251,7 @@ x_15 = l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_elabTargets___spec__1(x_13, return x_15; } } -static lean_object* _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5105____closed__1() { +static lean_object* _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5116____closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -17238,11 +17261,11 @@ x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5105_(lean_object* x_1) { +lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5116_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5105____closed__1; +x_2 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5116____closed__1; x_3 = l_Lean_registerTraceClass(x_2, x_1); return x_3; } @@ -17615,7 +17638,7 @@ lean_inc(x_1); x_17 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault(x_1, x_2, x_16, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_14); 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; size_t x_24; size_t x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30; lean_object* x_31; +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; size_t 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; x_18 = lean_ctor_get(x_17, 0); lean_inc(x_18); x_19 = lean_ctor_get(x_17, 1); @@ -17639,21 +17662,20 @@ x_27 = l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalInduction___spec__4(x_24 x_28 = x_27; x_29 = l_Lean_Expr_fvarId_x21(x_1); lean_dec(x_1); -x_30 = 0; lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -x_31 = l_Lean_Meta_Cases_cases(x_15, x_29, x_28, x_30, x_7, x_8, x_9, x_10, x_19); -if (lean_obj_tag(x_31) == 0) +x_30 = l_Lean_Meta_Cases_cases(x_15, x_29, x_28, x_7, x_8, x_9, x_10, x_19); +if (lean_obj_tag(x_30) == 0) { -lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_57; lean_object* x_58; lean_object* x_72; uint8_t x_85; lean_object* x_86; lean_object* x_105; lean_object* x_106; lean_object* x_107; uint8_t x_108; -x_32 = lean_ctor_get(x_31, 0); +lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_56; lean_object* x_57; lean_object* x_71; uint8_t x_85; lean_object* x_86; lean_object* x_105; lean_object* x_106; lean_object* x_107; uint8_t x_108; +x_31 = lean_ctor_get(x_30, 0); +lean_inc(x_31); +x_32 = lean_ctor_get(x_30, 1); lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -lean_dec(x_31); -x_105 = lean_st_ref_get(x_10, x_33); +lean_dec(x_30); +x_105 = lean_st_ref_get(x_10, x_32); x_106 = lean_ctor_get(x_105, 0); lean_inc(x_106); x_107 = lean_ctor_get(x_106, 3); @@ -17663,90 +17685,91 @@ x_108 = lean_ctor_get_uint8(x_107, sizeof(void*)*1); lean_dec(x_107); if (x_108 == 0) { -lean_object* x_109; +lean_object* x_109; uint8_t x_110; x_109 = lean_ctor_get(x_105, 1); lean_inc(x_109); lean_dec(x_105); -x_85 = x_30; +x_110 = 0; +x_85 = x_110; x_86 = x_109; goto block_104; } else { -lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; uint8_t x_115; -x_110 = lean_ctor_get(x_105, 1); -lean_inc(x_110); +lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; uint8_t x_116; +x_111 = lean_ctor_get(x_105, 1); +lean_inc(x_111); lean_dec(x_105); -x_111 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5105____closed__1; -x_112 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__3(x_111, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_110); -x_113 = lean_ctor_get(x_112, 0); -lean_inc(x_113); -x_114 = lean_ctor_get(x_112, 1); +x_112 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5116____closed__1; +x_113 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__3(x_112, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_111); +x_114 = lean_ctor_get(x_113, 0); lean_inc(x_114); -lean_dec(x_112); -x_115 = lean_unbox(x_113); +x_115 = lean_ctor_get(x_113, 1); +lean_inc(x_115); lean_dec(x_113); -x_85 = x_115; -x_86 = x_114; +x_116 = lean_unbox(x_114); +lean_dec(x_114); +x_85 = x_116; +x_86 = x_115; goto block_104; } -block_56: +block_55: { -lean_object* x_35; -x_35 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkCasesResult(x_32, x_21, x_22, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_34); +lean_object* x_34; +x_34 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkCasesResult(x_31, x_21, x_22, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_33); lean_dec(x_21); -if (lean_obj_tag(x_35) == 0) +if (lean_obj_tag(x_34) == 0) { -lean_object* x_36; lean_object* x_37; size_t x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43; -x_36 = lean_ctor_get(x_35, 1); -lean_inc(x_36); -lean_dec(x_35); -x_37 = lean_array_get_size(x_32); -x_38 = lean_usize_of_nat(x_37); -lean_dec(x_37); -x_39 = x_32; -x_40 = l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalCasesOn___spec__1(x_38, x_25, x_39); -x_41 = x_40; -x_42 = lean_unsigned_to_nat(0u); -x_43 = lean_nat_dec_lt(x_42, x_23); -if (x_43 == 0) +lean_object* x_35; lean_object* x_36; size_t x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; uint8_t x_42; +x_35 = lean_ctor_get(x_34, 1); +lean_inc(x_35); +lean_dec(x_34); +x_36 = lean_array_get_size(x_31); +x_37 = lean_usize_of_nat(x_36); +lean_dec(x_36); +x_38 = x_31; +x_39 = l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalCasesOn___spec__1(x_37, x_25, x_38); +x_40 = x_39; +x_41 = lean_unsigned_to_nat(0u); +x_42 = lean_nat_dec_lt(x_41, x_23); +if (x_42 == 0) { -lean_object* x_44; lean_object* x_45; +lean_object* x_43; lean_object* x_44; lean_dec(x_23); lean_dec(x_22); -x_44 = l_Array_empty___closed__1; -x_45 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult(x_44, x_41, x_42, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_36); -return x_45; +x_43 = l_Array_empty___closed__1; +x_44 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult(x_43, x_40, x_41, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_35); +return x_44; } else { -uint8_t x_46; -x_46 = lean_nat_dec_le(x_23, x_23); +uint8_t x_45; +x_45 = lean_nat_dec_le(x_23, x_23); lean_dec(x_23); -if (x_46 == 0) +if (x_45 == 0) { -lean_object* x_47; lean_object* x_48; +lean_object* x_46; lean_object* x_47; lean_dec(x_22); -x_47 = l_Array_empty___closed__1; -x_48 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult(x_47, x_41, x_42, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_36); -return x_48; +x_46 = l_Array_empty___closed__1; +x_47 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult(x_46, x_40, x_41, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_35); +return x_47; } else { -lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_49 = l_Array_empty___closed__1; -x_50 = l_Array_foldlMUnsafe_fold___at_Lean_Elab_Tactic_evalCasesOn___spec__2(x_22, x_25, x_24, x_49); +lean_object* x_48; lean_object* x_49; lean_object* x_50; +x_48 = l_Array_empty___closed__1; +x_49 = l_Array_foldlMUnsafe_fold___at_Lean_Elab_Tactic_evalCasesOn___spec__2(x_22, x_25, x_24, x_48); lean_dec(x_22); -x_51 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult(x_50, x_41, x_42, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_36); -lean_dec(x_50); -return x_51; +x_50 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult(x_49, x_40, x_41, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_35); +lean_dec(x_49); +return x_50; } } } else { -uint8_t x_52; -lean_dec(x_32); +uint8_t x_51; +lean_dec(x_31); lean_dec(x_23); lean_dec(x_22); lean_dec(x_10); @@ -17757,88 +17780,89 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_52 = !lean_is_exclusive(x_35); -if (x_52 == 0) +x_51 = !lean_is_exclusive(x_34); +if (x_51 == 0) { -return x_35; +return x_34; } else { -lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_53 = lean_ctor_get(x_35, 0); -x_54 = lean_ctor_get(x_35, 1); -lean_inc(x_54); +lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_52 = lean_ctor_get(x_34, 0); +x_53 = lean_ctor_get(x_34, 1); lean_inc(x_53); -lean_dec(x_35); -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; +lean_inc(x_52); +lean_dec(x_34); +x_54 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_54, 0, x_52); +lean_ctor_set(x_54, 1, x_53); +return x_54; } } } -block_71: +block_70: { -if (x_57 == 0) +if (x_56 == 0) { lean_dec(x_26); -x_34 = x_58; -goto block_56; +x_33 = x_57; +goto block_55; } else { -lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_59 = l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalCasesOn___spec__3(x_24, x_25, x_26); -x_60 = x_59; -x_61 = lean_array_to_list(lean_box(0), x_60); -x_62 = l_List_map___at_Lean_Elab_Tactic_evalCasesOn___spec__4(x_61); -x_63 = l_Lean_MessageData_ofList(x_62); -lean_dec(x_62); -x_64 = l_Lean_Elab_Tactic_evalCasesOn___closed__2; -x_65 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_65, 0, x_64); -lean_ctor_set(x_65, 1, x_63); -x_66 = l_Lean_KernelException_toMessageData___closed__15; -x_67 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_67, 0, x_65); -lean_ctor_set(x_67, 1, x_66); -x_68 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5105____closed__1; -x_69 = l_Lean_addTrace___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__2(x_68, x_67, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_58); -x_70 = lean_ctor_get(x_69, 1); -lean_inc(x_70); -lean_dec(x_69); -x_34 = x_70; -goto block_56; +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; +x_58 = l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalCasesOn___spec__3(x_24, x_25, x_26); +x_59 = x_58; +x_60 = lean_array_to_list(lean_box(0), x_59); +x_61 = l_List_map___at_Lean_Elab_Tactic_evalCasesOn___spec__4(x_60); +x_62 = l_Lean_MessageData_ofList(x_61); +lean_dec(x_61); +x_63 = l_Lean_Elab_Tactic_evalCasesOn___closed__2; +x_64 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_64, 0, x_63); +lean_ctor_set(x_64, 1, x_62); +x_65 = l_Lean_KernelException_toMessageData___closed__15; +x_66 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_66, 0, x_64); +lean_ctor_set(x_66, 1, x_65); +x_67 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5116____closed__1; +x_68 = l_Lean_addTrace___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__2(x_67, x_66, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_57); +x_69 = lean_ctor_get(x_68, 1); +lean_inc(x_69); +lean_dec(x_68); +x_33 = x_69; +goto block_55; } } block_84: { -lean_object* x_73; lean_object* x_74; lean_object* x_75; uint8_t x_76; -x_73 = lean_st_ref_get(x_10, x_72); -x_74 = lean_ctor_get(x_73, 0); +lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; +x_72 = lean_st_ref_get(x_10, x_71); +x_73 = lean_ctor_get(x_72, 0); +lean_inc(x_73); +x_74 = lean_ctor_get(x_73, 3); lean_inc(x_74); -x_75 = lean_ctor_get(x_74, 3); -lean_inc(x_75); -lean_dec(x_74); -x_76 = lean_ctor_get_uint8(x_75, sizeof(void*)*1); -lean_dec(x_75); -if (x_76 == 0) -{ -lean_object* x_77; -x_77 = lean_ctor_get(x_73, 1); -lean_inc(x_77); lean_dec(x_73); -x_57 = x_30; -x_58 = x_77; -goto block_71; +x_75 = lean_ctor_get_uint8(x_74, sizeof(void*)*1); +lean_dec(x_74); +if (x_75 == 0) +{ +lean_object* x_76; uint8_t x_77; +x_76 = lean_ctor_get(x_72, 1); +lean_inc(x_76); +lean_dec(x_72); +x_77 = 0; +x_56 = x_77; +x_57 = x_76; +goto block_70; } else { lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; uint8_t x_83; -x_78 = lean_ctor_get(x_73, 1); +x_78 = lean_ctor_get(x_72, 1); lean_inc(x_78); -lean_dec(x_73); -x_79 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5105____closed__1; +lean_dec(x_72); +x_79 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5116____closed__1; x_80 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__3(x_79, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_78); x_81 = lean_ctor_get(x_80, 0); lean_inc(x_81); @@ -17847,16 +17871,16 @@ lean_inc(x_82); lean_dec(x_80); x_83 = lean_unbox(x_81); lean_dec(x_81); -x_57 = x_83; -x_58 = x_82; -goto block_71; +x_56 = x_83; +x_57 = x_82; +goto block_70; } } block_104: { if (x_85 == 0) { -x_72 = x_86; +x_71 = x_86; goto block_84; } else @@ -17888,19 +17912,19 @@ x_99 = l_Lean_KernelException_toMessageData___closed__15; x_100 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_100, 0, x_98); lean_ctor_set(x_100, 1, x_99); -x_101 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5105____closed__1; +x_101 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5116____closed__1; x_102 = l_Lean_addTrace___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__2(x_101, x_100, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_86); x_103 = lean_ctor_get(x_102, 1); lean_inc(x_103); lean_dec(x_102); -x_72 = x_103; +x_71 = x_103; goto block_84; } } } else { -uint8_t x_116; +uint8_t x_117; lean_dec(x_26); lean_dec(x_23); lean_dec(x_22); @@ -17913,29 +17937,29 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_116 = !lean_is_exclusive(x_31); -if (x_116 == 0) +x_117 = !lean_is_exclusive(x_30); +if (x_117 == 0) { -return x_31; +return x_30; } else { -lean_object* x_117; lean_object* x_118; lean_object* x_119; -x_117 = lean_ctor_get(x_31, 0); -x_118 = lean_ctor_get(x_31, 1); +lean_object* x_118; lean_object* x_119; lean_object* x_120; +x_118 = lean_ctor_get(x_30, 0); +x_119 = lean_ctor_get(x_30, 1); +lean_inc(x_119); lean_inc(x_118); -lean_inc(x_117); -lean_dec(x_31); -x_119 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_119, 0, x_117); -lean_ctor_set(x_119, 1, x_118); -return x_119; +lean_dec(x_30); +x_120 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_120, 0, x_118); +lean_ctor_set(x_120, 1, x_119); +return x_120; } } } else { -uint8_t x_120; +uint8_t x_121; lean_dec(x_15); lean_dec(x_10); lean_dec(x_9); @@ -17946,29 +17970,29 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_120 = !lean_is_exclusive(x_17); -if (x_120 == 0) +x_121 = !lean_is_exclusive(x_17); +if (x_121 == 0) { return x_17; } else { -lean_object* x_121; lean_object* x_122; lean_object* x_123; -x_121 = lean_ctor_get(x_17, 0); -x_122 = lean_ctor_get(x_17, 1); +lean_object* x_122; lean_object* x_123; lean_object* x_124; +x_122 = lean_ctor_get(x_17, 0); +x_123 = lean_ctor_get(x_17, 1); +lean_inc(x_123); lean_inc(x_122); -lean_inc(x_121); lean_dec(x_17); -x_123 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_123, 0, x_121); -lean_ctor_set(x_123, 1, x_122); -return x_123; +x_124 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_124, 0, x_122); +lean_ctor_set(x_124, 1, x_123); +return x_124; } } } else { -uint8_t x_124; +uint8_t x_125; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -17978,23 +18002,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_124 = !lean_is_exclusive(x_12); -if (x_124 == 0) +x_125 = !lean_is_exclusive(x_12); +if (x_125 == 0) { return x_12; } else { -lean_object* x_125; lean_object* x_126; lean_object* x_127; -x_125 = lean_ctor_get(x_12, 0); -x_126 = lean_ctor_get(x_12, 1); +lean_object* x_126; lean_object* x_127; lean_object* x_128; +x_126 = lean_ctor_get(x_12, 0); +x_127 = lean_ctor_get(x_12, 1); +lean_inc(x_127); lean_inc(x_126); -lean_inc(x_125); lean_dec(x_12); -x_127 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_127, 0, x_125); -lean_ctor_set(x_127, 1, x_126); -return x_127; +x_128 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_128, 0, x_126); +lean_ctor_set(x_128, 1, x_127); +return x_128; } } } @@ -18304,7 +18328,7 @@ lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_42); -x_45 = l_Lean_Meta_introNCore(x_40, x_42, x_43, x_44, x_9, x_10, x_11, x_12, x_41); +x_45 = l_Lean_Meta_introNCore(x_40, x_42, x_43, x_44, x_44, x_9, x_10, x_11, x_12, x_41); 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; lean_object* x_52; lean_object* x_53; lean_object* x_54; @@ -19216,9 +19240,9 @@ l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_elabTaggedTerm___lamb lean_mark_persistent(l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_elabTaggedTerm___lambda__1___closed__3); l_Lean_Elab_Tactic_elabTargets___boxed__const__1 = _init_l_Lean_Elab_Tactic_elabTargets___boxed__const__1(); lean_mark_persistent(l_Lean_Elab_Tactic_elabTargets___boxed__const__1); -l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5105____closed__1 = _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5105____closed__1(); -lean_mark_persistent(l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5105____closed__1); -res = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5105_(lean_io_mk_world()); +l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5116____closed__1 = _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5116____closed__1(); +lean_mark_persistent(l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5116____closed__1); +res = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_5116_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Elab_Tactic_evalCasesOn___closed__1 = _init_l_Lean_Elab_Tactic_evalCasesOn___closed__1(); diff --git a/stage0/stdlib/Lean/Meta/Match/Basic.c b/stage0/stdlib/Lean/Meta/Match/Basic.c index fb564e6572..86092fe7b9 100644 --- a/stage0/stdlib/Lean/Meta/Match/Basic.c +++ b/stage0/stdlib/Lean/Meta/Match/Basic.c @@ -62,7 +62,6 @@ lean_object* l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg(l extern lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Util_Trace_0__Lean_withNestedTracesFinalizer___spec__5___closed__1; lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId_match__2(lean_object*); lean_object* l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1(lean_object*, lean_object*); -extern lean_object* l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; lean_object* l_Lean_Meta_Match_Alt_applyFVarSubst___boxed(lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Example_replaceFVarId___boxed(lean_object*, lean_object*, lean_object*); @@ -141,6 +140,7 @@ lean_object* l_Lean_replaceFVarIdAtLocalDecl(lean_object*, lean_object*, lean_ob lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__3___closed__1; lean_object* l_Lean_Meta_Match_counterExampleToMessageData(lean_object*); lean_object* l_Lean_Expr_replaceFVarId(lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit___closed__3; lean_object* l_Lean_LocalDecl_fvarId(lean_object*); lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__1; @@ -523,7 +523,7 @@ static lean_object* _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__7() _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__5; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } diff --git a/stage0/stdlib/Lean/Meta/Match/CaseArraySizes.c b/stage0/stdlib/Lean/Meta/Match/CaseArraySizes.c index 0e7b673c8d..c0b2a5a0f3 100644 --- a/stage0/stdlib/Lean/Meta/Match/CaseArraySizes.c +++ b/stage0/stdlib/Lean/Meta/Match/CaseArraySizes.c @@ -76,7 +76,7 @@ lean_object* lean_array_to_list(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkDecideProof(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isAppOfArity(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_KernelException_toMessageData___closed__15; -lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_CaseArraySizes_0__Lean_Meta_mkArrayGetLit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_caseArraySizes_match__2___rarg(lean_object*, lean_object*); lean_object* l_Lean_mkFVar(lean_object*); @@ -1288,7 +1288,7 @@ lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_18 = l_Lean_Meta_introNCore(x_14, x_3, x_16, x_17, x_8, x_9, x_10, x_11, x_15); +x_18 = l_Lean_Meta_introNCore(x_14, x_3, x_16, x_17, x_17, x_8, x_9, x_10, x_11, x_15); if (lean_obj_tag(x_18) == 0) { lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; diff --git a/stage0/stdlib/Lean/Meta/Match/Match.c b/stage0/stdlib/Lean/Meta/Match/Match.c index b7dac53603..f05b157673 100644 --- a/stage0/stdlib/Lean/Meta/Match/Match.c +++ b/stage0/stdlib/Lean/Meta/Match/Match.c @@ -320,6 +320,7 @@ lean_object* l_Lean_Meta_getInductiveUniverseAndParams(lean_object*, lean_object lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasRecursiveType_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_562____closed__2; +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_List_replace___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf___spec__5___boxed(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop_match__1(lean_object*); lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___lambda__1___closed__2; @@ -720,7 +721,6 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwNonSuppor uint8_t lean_nat_dec_lt(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___lambda__2___closed__1; -lean_object* l_Lean_Meta_cases___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_Match_Match_0__Lean_Meta_updateAlts___closed__1; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNatValueTransition_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -10397,196 +10397,193 @@ return x_36; lean_object* l_Lean_Meta_commitWhenSome_x3f___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___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: { -lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_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_35; +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_33; x_8 = lean_ctor_get(x_1, 0); lean_inc(x_8); x_9 = l_Lean_Expr_fvarId_x21(x_2); x_10 = l_Array_empty___closed__1; -x_11 = 0; -x_12 = lean_box(x_11); -x_13 = lean_alloc_closure((void*)(l_Lean_Meta_cases___boxed), 9, 4); -lean_closure_set(x_13, 0, x_8); -lean_closure_set(x_13, 1, x_9); -lean_closure_set(x_13, 2, x_10); -lean_closure_set(x_13, 3, x_12); -x_14 = lean_alloc_closure((void*)(l_Lean_Meta_commitWhenSome_x3f___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__1___lambda__1), 9, 3); -lean_closure_set(x_14, 0, x_1); -lean_closure_set(x_14, 1, x_2); -lean_closure_set(x_14, 2, x_10); -x_15 = lean_st_ref_get(x_6, x_7); -x_16 = lean_ctor_get(x_15, 0); +x_11 = lean_alloc_closure((void*)(l_Lean_Meta_cases), 8, 3); +lean_closure_set(x_11, 0, x_8); +lean_closure_set(x_11, 1, x_9); +lean_closure_set(x_11, 2, x_10); +x_12 = lean_alloc_closure((void*)(l_Lean_Meta_commitWhenSome_x3f___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__1___lambda__1), 9, 3); +lean_closure_set(x_12, 0, x_1); +lean_closure_set(x_12, 1, x_2); +lean_closure_set(x_12, 2, x_10); +x_13 = lean_st_ref_get(x_6, x_7); +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_14, 0); lean_inc(x_16); -x_17 = lean_ctor_get(x_15, 1); -lean_inc(x_17); -lean_dec(x_15); -x_18 = lean_ctor_get(x_16, 0); +lean_dec(x_14); +x_17 = lean_st_ref_get(x_6, x_15); +x_18 = lean_ctor_get(x_17, 1); lean_inc(x_18); -lean_dec(x_16); -x_19 = lean_st_ref_get(x_6, x_17); -x_20 = lean_ctor_get(x_19, 1); +lean_dec(x_17); +x_19 = lean_st_ref_get(x_4, x_18); +x_20 = lean_ctor_get(x_19, 0); lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); lean_dec(x_19); -x_21 = lean_st_ref_get(x_4, x_20); -x_22 = lean_ctor_get(x_21, 0); +x_22 = lean_ctor_get(x_20, 0); lean_inc(x_22); -x_23 = lean_ctor_get(x_21, 1); -lean_inc(x_23); -lean_dec(x_21); -x_24 = lean_ctor_get(x_22, 0); -lean_inc(x_24); -lean_dec(x_22); +lean_dec(x_20); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_35 = l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg(x_13, x_14, x_3, x_4, x_5, x_6, x_23); -if (lean_obj_tag(x_35) == 0) +x_33 = l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg(x_11, x_12, x_3, x_4, x_5, x_6, x_21); +if (lean_obj_tag(x_33) == 0) { -lean_object* x_36; -x_36 = lean_ctor_get(x_35, 0); -lean_inc(x_36); -if (lean_obj_tag(x_36) == 0) +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) { -lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; -x_37 = lean_ctor_get(x_35, 1); +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; +x_35 = lean_ctor_get(x_33, 1); +lean_inc(x_35); +lean_dec(x_33); +x_36 = l_Lean_setEnv___at_Lean_Meta_orelse___spec__1(x_16, x_3, x_4, x_5, x_6, x_35); +x_37 = lean_ctor_get(x_36, 1); lean_inc(x_37); -lean_dec(x_35); -x_38 = l_Lean_setEnv___at_Lean_Meta_orelse___spec__1(x_18, x_3, x_4, x_5, x_6, x_37); -x_39 = lean_ctor_get(x_38, 1); -lean_inc(x_39); -lean_dec(x_38); -x_40 = l_Lean_Meta_setMCtx(x_24, x_3, x_4, x_5, x_6, x_39); +lean_dec(x_36); +x_38 = l_Lean_Meta_setMCtx(x_22, x_3, x_4, x_5, x_6, x_37); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_41 = !lean_is_exclusive(x_40); -if (x_41 == 0) +x_39 = !lean_is_exclusive(x_38); +if (x_39 == 0) { -lean_object* x_42; lean_object* x_43; -x_42 = lean_ctor_get(x_40, 0); -lean_dec(x_42); -x_43 = lean_box(0); -lean_ctor_set(x_40, 0, x_43); -return x_40; -} -else -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; -x_44 = lean_ctor_get(x_40, 1); -lean_inc(x_44); +lean_object* x_40; lean_object* x_41; +x_40 = lean_ctor_get(x_38, 0); lean_dec(x_40); -x_45 = lean_box(0); -x_46 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_46, 0, x_45); -lean_ctor_set(x_46, 1, x_44); -return x_46; +x_41 = lean_box(0); +lean_ctor_set(x_38, 0, x_41); +return x_38; +} +else +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_42 = lean_ctor_get(x_38, 1); +lean_inc(x_42); +lean_dec(x_38); +x_43 = lean_box(0); +x_44 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_44, 0, x_43); +lean_ctor_set(x_44, 1, x_42); +return x_44; } } else { -uint8_t x_47; -lean_dec(x_24); -lean_dec(x_18); +uint8_t x_45; +lean_dec(x_22); +lean_dec(x_16); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_47 = !lean_is_exclusive(x_35); +x_45 = !lean_is_exclusive(x_33); +if (x_45 == 0) +{ +lean_object* x_46; uint8_t x_47; +x_46 = lean_ctor_get(x_33, 0); +lean_dec(x_46); +x_47 = !lean_is_exclusive(x_34); if (x_47 == 0) { -lean_object* x_48; uint8_t x_49; -x_48 = lean_ctor_get(x_35, 0); -lean_dec(x_48); -x_49 = !lean_is_exclusive(x_36); -if (x_49 == 0) -{ -return x_35; +return x_33; } else { -lean_object* x_50; lean_object* x_51; -x_50 = lean_ctor_get(x_36, 0); +lean_object* x_48; lean_object* x_49; +x_48 = lean_ctor_get(x_34, 0); +lean_inc(x_48); +lean_dec(x_34); +x_49 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_49, 0, x_48); +lean_ctor_set(x_33, 0, x_49); +return x_33; +} +} +else +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_50 = lean_ctor_get(x_33, 1); lean_inc(x_50); -lean_dec(x_36); -x_51 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_51, 0, x_50); -lean_ctor_set(x_35, 0, x_51); -return x_35; -} -} -else -{ -lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; -x_52 = lean_ctor_get(x_35, 1); -lean_inc(x_52); -lean_dec(x_35); -x_53 = lean_ctor_get(x_36, 0); -lean_inc(x_53); -if (lean_is_exclusive(x_36)) { - lean_ctor_release(x_36, 0); - x_54 = x_36; +lean_dec(x_33); +x_51 = lean_ctor_get(x_34, 0); +lean_inc(x_51); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + x_52 = x_34; } else { - lean_dec_ref(x_36); - x_54 = lean_box(0); + lean_dec_ref(x_34); + x_52 = lean_box(0); } -if (lean_is_scalar(x_54)) { - x_55 = lean_alloc_ctor(1, 1, 0); +if (lean_is_scalar(x_52)) { + x_53 = lean_alloc_ctor(1, 1, 0); } else { - x_55 = x_54; + x_53 = x_52; } -lean_ctor_set(x_55, 0, 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_52); -return x_56; +lean_ctor_set(x_53, 0, x_51); +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_57; lean_object* x_58; -x_57 = lean_ctor_get(x_35, 0); -lean_inc(x_57); -x_58 = lean_ctor_get(x_35, 1); -lean_inc(x_58); -lean_dec(x_35); -x_25 = x_57; -x_26 = x_58; -goto block_34; +lean_object* x_55; lean_object* x_56; +x_55 = lean_ctor_get(x_33, 0); +lean_inc(x_55); +x_56 = lean_ctor_get(x_33, 1); +lean_inc(x_56); +lean_dec(x_33); +x_23 = x_55; +x_24 = x_56; +goto block_32; } -block_34: +block_32: { -lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30; -x_27 = l_Lean_setEnv___at_Lean_Meta_orelse___spec__1(x_18, x_3, x_4, x_5, x_6, x_26); -x_28 = lean_ctor_get(x_27, 1); -lean_inc(x_28); -lean_dec(x_27); -x_29 = l_Lean_Meta_setMCtx(x_24, x_3, x_4, x_5, x_6, x_28); +lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; +x_25 = l_Lean_setEnv___at_Lean_Meta_orelse___spec__1(x_16, x_3, x_4, x_5, x_6, x_24); +x_26 = lean_ctor_get(x_25, 1); +lean_inc(x_26); +lean_dec(x_25); +x_27 = l_Lean_Meta_setMCtx(x_22, x_3, x_4, x_5, x_6, x_26); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_30 = !lean_is_exclusive(x_29); -if (x_30 == 0) +x_28 = !lean_is_exclusive(x_27); +if (x_28 == 0) { -lean_object* x_31; -x_31 = lean_ctor_get(x_29, 0); -lean_dec(x_31); -lean_ctor_set_tag(x_29, 1); -lean_ctor_set(x_29, 0, x_25); -return x_29; +lean_object* x_29; +x_29 = lean_ctor_get(x_27, 0); +lean_dec(x_29); +lean_ctor_set_tag(x_27, 1); +lean_ctor_set(x_27, 0, x_23); +return x_27; } else { -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(1, 2, 0); -lean_ctor_set(x_33, 0, x_25); -lean_ctor_set(x_33, 1, x_32); -return x_33; +lean_object* x_30; lean_object* x_31; +x_30 = lean_ctor_get(x_27, 1); +lean_inc(x_30); +lean_dec(x_27); +x_31 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_31, 0, x_23); +lean_ctor_set(x_31, 1, x_30); +return x_31; } } } diff --git a/stage0/stdlib/Lean/Meta/Tactic/Assert.c b/stage0/stdlib/Lean/Meta/Tactic/Assert.c index 4aa42a9869..834465be13 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Assert.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Assert.c @@ -66,7 +66,7 @@ lean_object* l_Lean_Meta_assert___lambda__1(lean_object*, lean_object*, lean_obj size_t l_USize_shiftLeft(size_t, size_t); lean_object* l_Lean_Meta_define___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getLocalInstances(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_assertAfter___spec__5(lean_object*, size_t, size_t, lean_object*); lean_object* l_Lean_mkFVar(lean_object*); size_t lean_usize_of_nat(lean_object*); @@ -1325,28 +1325,28 @@ if (x_42 == 0) { lean_inc(x_21); x_45 = x_21; -goto block_102; +goto block_103; } else { -uint8_t x_103; -x_103 = lean_nat_dec_le(x_30, x_30); -if (x_103 == 0) +uint8_t x_104; +x_104 = lean_nat_dec_le(x_30, x_30); +if (x_104 == 0) { lean_inc(x_21); x_45 = x_21; -goto block_102; +goto block_103; } else { -lean_object* x_104; +lean_object* x_105; lean_inc(x_21); -x_104 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_assertAfter___spec__10(x_29, x_32, x_31, x_21); -x_45 = x_104; -goto block_102; +x_105 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_assertAfter___spec__10(x_29, x_32, x_31, x_21); +x_45 = x_105; +goto block_103; } } -block_102: +block_103: { lean_object* x_46; if (x_44 == 0) @@ -1354,31 +1354,31 @@ if (x_44 == 0) lean_dec(x_43); lean_dec(x_23); x_46 = x_28; -goto block_98; +goto block_99; } else { -uint8_t x_99; -x_99 = lean_nat_dec_le(x_43, x_43); -if (x_99 == 0) +uint8_t x_100; +x_100 = lean_nat_dec_le(x_43, x_43); +if (x_100 == 0) { lean_dec(x_43); lean_dec(x_23); x_46 = x_28; -goto block_98; +goto block_99; } else { -size_t x_100; lean_object* x_101; -x_100 = lean_usize_of_nat(x_43); +size_t x_101; lean_object* x_102; +x_101 = lean_usize_of_nat(x_43); lean_dec(x_43); -x_101 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_assertAfter___spec__9(x_29, x_23, x_32, x_100, x_28); +x_102 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_assertAfter___spec__9(x_29, x_23, x_32, x_101, x_28); lean_dec(x_23); -x_46 = x_101; -goto block_98; +x_46 = x_102; +goto block_99; } } -block_98: +block_99: { uint8_t 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_47 = 2; @@ -1394,27 +1394,27 @@ if (x_42 == 0) { lean_dec(x_21); x_53 = x_28; -goto block_95; +goto block_96; } else { -uint8_t x_96; -x_96 = lean_nat_dec_le(x_30, x_30); -if (x_96 == 0) +uint8_t x_97; +x_97 = lean_nat_dec_le(x_30, x_30); +if (x_97 == 0) { lean_dec(x_21); x_53 = x_28; -goto block_95; +goto block_96; } else { -lean_object* x_97; -x_97 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_assertAfter___spec__8(x_21, x_29, x_32, x_31, x_28); -x_53 = x_97; -goto block_95; +lean_object* x_98; +x_98 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_assertAfter___spec__8(x_21, x_29, x_32, x_31, x_28); +x_53 = x_98; +goto block_96; } } -block_95: +block_96: { lean_object* x_54; size_t x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64; lean_object* x_65; x_54 = lean_array_get_size(x_53); @@ -1442,7 +1442,7 @@ lean_inc(x_7); x_65 = l_Lean_Meta_intro1Core(x_63, x_64, x_7, x_8, x_9, x_10, x_62); 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; +lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; lean_object* x_72; x_66 = lean_ctor_get(x_65, 0); lean_inc(x_66); x_67 = lean_ctor_get(x_65, 1); @@ -1454,115 +1454,116 @@ x_69 = lean_ctor_get(x_66, 1); lean_inc(x_69); lean_dec(x_66); x_70 = lean_box(0); +x_71 = 0; lean_inc(x_30); -x_71 = l_Lean_Meta_introNCore(x_69, x_30, x_70, x_64, x_7, x_8, x_9, x_10, x_67); -if (lean_obj_tag(x_71) == 0) +x_72 = l_Lean_Meta_introNCore(x_69, x_30, x_70, x_71, x_64, x_7, x_8, x_9, x_10, x_67); +if (lean_obj_tag(x_72) == 0) { -uint8_t x_72; -x_72 = !lean_is_exclusive(x_71); -if (x_72 == 0) +uint8_t x_73; +x_73 = !lean_is_exclusive(x_72); +if (x_73 == 0) { -lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; -x_73 = lean_ctor_get(x_71, 0); -x_74 = lean_ctor_get(x_73, 0); -lean_inc(x_74); -x_75 = lean_ctor_get(x_73, 1); +lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; +x_74 = lean_ctor_get(x_72, 0); +x_75 = lean_ctor_get(x_74, 0); lean_inc(x_75); -lean_dec(x_73); -x_76 = lean_box(0); -lean_inc(x_30); -x_77 = l_Nat_foldAux___at_Lean_Meta_assertAfter___spec__7(x_29, x_74, x_30, x_30, x_76); -lean_dec(x_30); +x_76 = lean_ctor_get(x_74, 1); +lean_inc(x_76); lean_dec(x_74); -lean_dec(x_29); -x_78 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_78, 0, x_68); -lean_ctor_set(x_78, 1, x_75); -lean_ctor_set(x_78, 2, x_77); -lean_ctor_set(x_71, 0, x_78); -return x_71; -} -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_object* x_86; -x_79 = lean_ctor_get(x_71, 0); -x_80 = lean_ctor_get(x_71, 1); -lean_inc(x_80); -lean_inc(x_79); -lean_dec(x_71); -x_81 = lean_ctor_get(x_79, 0); -lean_inc(x_81); -x_82 = lean_ctor_get(x_79, 1); -lean_inc(x_82); -lean_dec(x_79); -x_83 = lean_box(0); +x_77 = lean_box(0); lean_inc(x_30); -x_84 = l_Nat_foldAux___at_Lean_Meta_assertAfter___spec__7(x_29, x_81, x_30, x_30, x_83); +x_78 = l_Nat_foldAux___at_Lean_Meta_assertAfter___spec__7(x_29, x_75, x_30, x_30, x_77); lean_dec(x_30); -lean_dec(x_81); +lean_dec(x_75); lean_dec(x_29); -x_85 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_85, 0, x_68); -lean_ctor_set(x_85, 1, x_82); -lean_ctor_set(x_85, 2, x_84); -x_86 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_86, 0, x_85); -lean_ctor_set(x_86, 1, x_80); -return x_86; +x_79 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_79, 0, x_68); +lean_ctor_set(x_79, 1, x_76); +lean_ctor_set(x_79, 2, x_78); +lean_ctor_set(x_72, 0, x_79); +return x_72; +} +else +{ +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; +x_80 = lean_ctor_get(x_72, 0); +x_81 = lean_ctor_get(x_72, 1); +lean_inc(x_81); +lean_inc(x_80); +lean_dec(x_72); +x_82 = lean_ctor_get(x_80, 0); +lean_inc(x_82); +x_83 = lean_ctor_get(x_80, 1); +lean_inc(x_83); +lean_dec(x_80); +x_84 = lean_box(0); +lean_inc(x_30); +x_85 = l_Nat_foldAux___at_Lean_Meta_assertAfter___spec__7(x_29, x_82, x_30, x_30, x_84); +lean_dec(x_30); +lean_dec(x_82); +lean_dec(x_29); +x_86 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_86, 0, x_68); +lean_ctor_set(x_86, 1, x_83); +lean_ctor_set(x_86, 2, x_85); +x_87 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_87, 0, x_86); +lean_ctor_set(x_87, 1, x_81); +return x_87; } } else { -uint8_t x_87; +uint8_t x_88; lean_dec(x_68); lean_dec(x_30); lean_dec(x_29); -x_87 = !lean_is_exclusive(x_71); -if (x_87 == 0) +x_88 = !lean_is_exclusive(x_72); +if (x_88 == 0) { -return x_71; +return x_72; } else { -lean_object* x_88; lean_object* x_89; lean_object* x_90; -x_88 = lean_ctor_get(x_71, 0); -x_89 = lean_ctor_get(x_71, 1); +lean_object* x_89; lean_object* x_90; lean_object* x_91; +x_89 = lean_ctor_get(x_72, 0); +x_90 = lean_ctor_get(x_72, 1); +lean_inc(x_90); lean_inc(x_89); -lean_inc(x_88); -lean_dec(x_71); -x_90 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_90, 0, x_88); -lean_ctor_set(x_90, 1, x_89); -return x_90; +lean_dec(x_72); +x_91 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_91, 0, x_89); +lean_ctor_set(x_91, 1, x_90); +return x_91; } } } else { -uint8_t x_91; +uint8_t x_92; lean_dec(x_30); lean_dec(x_29); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -x_91 = !lean_is_exclusive(x_65); -if (x_91 == 0) +x_92 = !lean_is_exclusive(x_65); +if (x_92 == 0) { return x_65; } else { -lean_object* x_92; lean_object* x_93; lean_object* x_94; -x_92 = lean_ctor_get(x_65, 0); -x_93 = lean_ctor_get(x_65, 1); +lean_object* x_93; lean_object* x_94; lean_object* x_95; +x_93 = lean_ctor_get(x_65, 0); +x_94 = lean_ctor_get(x_65, 1); +lean_inc(x_94); lean_inc(x_93); -lean_inc(x_92); lean_dec(x_65); -x_94 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_94, 0, x_92); -lean_ctor_set(x_94, 1, x_93); -return x_94; +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; } } } @@ -1571,7 +1572,7 @@ return x_94; } else { -uint8_t x_105; +uint8_t x_106; lean_dec(x_30); lean_dec(x_29); lean_dec(x_23); @@ -1585,29 +1586,29 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_105 = !lean_is_exclusive(x_36); -if (x_105 == 0) +x_106 = !lean_is_exclusive(x_36); +if (x_106 == 0) { return x_36; } else { -lean_object* x_106; lean_object* x_107; lean_object* x_108; -x_106 = lean_ctor_get(x_36, 0); -x_107 = lean_ctor_get(x_36, 1); +lean_object* x_107; lean_object* x_108; lean_object* x_109; +x_107 = lean_ctor_get(x_36, 0); +x_108 = lean_ctor_get(x_36, 1); +lean_inc(x_108); lean_inc(x_107); -lean_inc(x_106); lean_dec(x_36); -x_108 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_108, 0, x_106); -lean_ctor_set(x_108, 1, x_107); -return x_108; +x_109 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_109, 0, x_107); +lean_ctor_set(x_109, 1, x_108); +return x_109; } } } else { -uint8_t x_109; +uint8_t x_110; lean_dec(x_16); lean_dec(x_13); lean_dec(x_10); @@ -1618,29 +1619,29 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_109 = !lean_is_exclusive(x_18); -if (x_109 == 0) +x_110 = !lean_is_exclusive(x_18); +if (x_110 == 0) { return x_18; } else { -lean_object* x_110; lean_object* x_111; lean_object* x_112; -x_110 = lean_ctor_get(x_18, 0); -x_111 = lean_ctor_get(x_18, 1); +lean_object* x_111; lean_object* x_112; lean_object* x_113; +x_111 = lean_ctor_get(x_18, 0); +x_112 = lean_ctor_get(x_18, 1); +lean_inc(x_112); lean_inc(x_111); -lean_inc(x_110); lean_dec(x_18); -x_112 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_112, 0, x_110); -lean_ctor_set(x_112, 1, x_111); -return x_112; +x_113 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_113, 0, x_111); +lean_ctor_set(x_113, 1, x_112); +return x_113; } } } else { -uint8_t x_113; +uint8_t x_114; lean_dec(x_13); lean_dec(x_10); lean_dec(x_9); @@ -1651,29 +1652,29 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_113 = !lean_is_exclusive(x_15); -if (x_113 == 0) +x_114 = !lean_is_exclusive(x_15); +if (x_114 == 0) { return x_15; } else { -lean_object* x_114; lean_object* x_115; lean_object* x_116; -x_114 = lean_ctor_get(x_15, 0); -x_115 = lean_ctor_get(x_15, 1); +lean_object* x_115; lean_object* x_116; lean_object* x_117; +x_115 = lean_ctor_get(x_15, 0); +x_116 = lean_ctor_get(x_15, 1); +lean_inc(x_116); lean_inc(x_115); -lean_inc(x_114); lean_dec(x_15); -x_116 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_116, 0, x_114); -lean_ctor_set(x_116, 1, x_115); -return x_116; +x_117 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_117, 0, x_115); +lean_ctor_set(x_117, 1, x_116); +return x_117; } } } else { -uint8_t x_117; +uint8_t x_118; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -1683,23 +1684,23 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_117 = !lean_is_exclusive(x_12); -if (x_117 == 0) +x_118 = !lean_is_exclusive(x_12); +if (x_118 == 0) { return x_12; } else { -lean_object* x_118; lean_object* x_119; lean_object* x_120; -x_118 = lean_ctor_get(x_12, 0); -x_119 = lean_ctor_get(x_12, 1); +lean_object* x_119; lean_object* x_120; lean_object* x_121; +x_119 = lean_ctor_get(x_12, 0); +x_120 = lean_ctor_get(x_12, 1); +lean_inc(x_120); lean_inc(x_119); -lean_inc(x_118); lean_dec(x_12); -x_120 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_120, 0, x_118); -lean_ctor_set(x_120, 1, x_119); -return x_120; +x_121 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_121, 0, x_119); +lean_ctor_set(x_121, 1, x_120); +return x_121; } } } diff --git a/stage0/stdlib/Lean/Meta/Tactic/Cases.c b/stage0/stdlib/Lean/Meta/Tactic/Cases.c index 361adb6ce3..667eb0fc7c 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Cases.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Cases.c @@ -43,7 +43,6 @@ lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1__ uint8_t l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__12(lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__40___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__36___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Cases_cases___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_name_mk_string(lean_object*, lean_object*); lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_dep_visit___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__37___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_USize_decEq(size_t, size_t); @@ -58,7 +57,7 @@ lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_de 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*); lean_object* l_Lean_Meta_generalizeIndices_match__3(lean_object*); lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_withNewEqs_loop(lean_object*); -lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn___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_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); 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*); @@ -73,7 +72,7 @@ lean_object* l_Array_extract___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__42___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_withNewEqs_loop___rarg___closed__1; lean_object* l_Lean_MetavarContext_getExprAssignment_x3f(lean_object*, lean_object*); -lean_object* l_Lean_Meta_Cases_cases___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Cases_cases___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_Expr_withAppAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_mkCasesContext_x3f___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___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); 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*); @@ -188,7 +187,7 @@ lean_object* l_Lean_Meta_clear(lean_object*, lean_object*, lean_object*, lean_ob 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_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*, uint8_t, 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___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_withNewEqs_loop___rarg___closed__2; @@ -224,7 +223,7 @@ uint8_t l_Array_isEmpty___rarg(lean_object*); lean_object* l_Lean_Meta_generalizeIndices___closed__1; lean_object* l_Lean_LocalDecl_toExpr(lean_object*); lean_object* l_Lean_Meta_getLocalInstances(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, 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__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); 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*); @@ -238,7 +237,7 @@ size_t lean_usize_of_nat(lean_object*); lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_mkCasesContext_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); 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_2706_(lean_object*); +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Cases___hyg_2689_(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_throwError___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeExpected___spec__1(lean_object*); @@ -253,12 +252,11 @@ lean_object* l_Lean_Meta_Cases_cases___lambda__1___closed__2; 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_Lean_Meta_FVarSubst_get(lean_object*, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeExpected___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Cases_cases___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_Cases_cases___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Cases_Context_nminors___default___boxed(lean_object*); lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___lambda__6___closed__3; lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Cases_unifyEqs_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn___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_assignExprMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_elimAuxIndices___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_Std_HashSet_instInhabitedHashSet___closed__1; @@ -266,7 +264,7 @@ lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Tactic_Cases_0__Lea lean_object* l_List_redLength___rarg(lean_object*); lean_object* l_Lean_Meta_Cases_Context_nminors___default(lean_object*); lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_heqToEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Cases_cases(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_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_Expr_getAppNumArgsAux(lean_object*, lean_object*); @@ -317,7 +315,6 @@ extern lean_object* l_Lean_Meta_instMonadLCtxMetaM___closed__2; 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___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn___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_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*); @@ -387,13 +384,12 @@ 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*); 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*, uint8_t, lean_object*, lean_object*, 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*); lean_object* l_Lean_Meta_Cases_unifyEqs_match__2___rarg(lean_object*, lean_object*, lean_object*); uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__13(lean_object*, lean_object*, lean_object*, size_t, size_t); 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*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_cases___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_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_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: @@ -1855,7 +1851,7 @@ lean_inc(x_4); x_31 = l_Lean_Meta_mkForallFVars(x_4, x_29, x_11, x_12, x_13, x_14, x_30); if (lean_obj_tag(x_31) == 0) { -lean_object* x_32; lean_object* x_33; uint8_t x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; lean_object* x_48; +lean_object* x_32; lean_object* x_33; uint8_t x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; uint8_t x_48; lean_object* x_49; x_32 = lean_ctor_get(x_31, 0); lean_inc(x_32); x_33 = lean_ctor_get(x_31, 1); @@ -1882,131 +1878,132 @@ lean_dec(x_37); x_45 = lean_array_get_size(x_4); lean_dec(x_4); x_46 = lean_box(0); -x_47 = 1; +x_47 = 0; +x_48 = 1; lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); -x_48 = l_Lean_Meta_introNCore(x_44, x_45, x_46, x_47, x_11, x_12, x_13, x_14, x_43); -if (lean_obj_tag(x_48) == 0) +x_49 = l_Lean_Meta_introNCore(x_44, x_45, x_46, x_47, x_48, x_11, x_12, x_13, x_14, x_43); +if (lean_obj_tag(x_49) == 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_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_50 = lean_ctor_get(x_49, 0); lean_inc(x_50); -lean_dec(x_48); -x_51 = lean_ctor_get(x_49, 0); +x_51 = lean_ctor_get(x_49, 1); lean_inc(x_51); -x_52 = lean_ctor_get(x_49, 1); -lean_inc(x_52); lean_dec(x_49); -x_53 = l_Lean_Meta_intro1Core(x_52, x_47, x_11, x_12, x_13, x_14, x_50); -if (lean_obj_tag(x_53) == 0) +x_52 = lean_ctor_get(x_50, 0); +lean_inc(x_52); +x_53 = lean_ctor_get(x_50, 1); +lean_inc(x_53); +lean_dec(x_50); +x_54 = l_Lean_Meta_intro1Core(x_53, x_48, x_11, x_12, x_13, x_14, x_51); +if (lean_obj_tag(x_54) == 0) { -uint8_t x_54; -x_54 = !lean_is_exclusive(x_53); -if (x_54 == 0) +uint8_t x_55; +x_55 = !lean_is_exclusive(x_54); +if (x_55 == 0) { -lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_55 = lean_ctor_get(x_53, 0); -x_56 = lean_ctor_get(x_55, 0); -lean_inc(x_56); -x_57 = lean_ctor_get(x_55, 1); +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_54, 0); +x_57 = lean_ctor_get(x_56, 0); lean_inc(x_57); -lean_dec(x_55); -x_58 = lean_array_get_size(x_16); +x_58 = lean_ctor_get(x_56, 1); +lean_inc(x_58); +lean_dec(x_56); +x_59 = lean_array_get_size(x_16); lean_dec(x_16); -x_59 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_59, 0, x_57); -lean_ctor_set(x_59, 1, x_51); -lean_ctor_set(x_59, 2, x_56); -lean_ctor_set(x_59, 3, x_58); -lean_ctor_set(x_53, 0, x_59); -return x_53; +x_60 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_60, 0, x_58); +lean_ctor_set(x_60, 1, x_52); +lean_ctor_set(x_60, 2, x_57); +lean_ctor_set(x_60, 3, x_59); +lean_ctor_set(x_54, 0, x_60); +return x_54; } else { -lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_60 = lean_ctor_get(x_53, 0); -x_61 = lean_ctor_get(x_53, 1); -lean_inc(x_61); -lean_inc(x_60); -lean_dec(x_53); -x_62 = lean_ctor_get(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; +x_61 = lean_ctor_get(x_54, 0); +x_62 = lean_ctor_get(x_54, 1); lean_inc(x_62); -x_63 = lean_ctor_get(x_60, 1); +lean_inc(x_61); +lean_dec(x_54); +x_63 = lean_ctor_get(x_61, 0); lean_inc(x_63); -lean_dec(x_60); -x_64 = lean_array_get_size(x_16); +x_64 = lean_ctor_get(x_61, 1); +lean_inc(x_64); +lean_dec(x_61); +x_65 = lean_array_get_size(x_16); lean_dec(x_16); -x_65 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_65, 0, x_63); -lean_ctor_set(x_65, 1, x_51); -lean_ctor_set(x_65, 2, x_62); -lean_ctor_set(x_65, 3, x_64); -x_66 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_66, 0, x_65); -lean_ctor_set(x_66, 1, x_61); -return x_66; +x_66 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_66, 0, x_64); +lean_ctor_set(x_66, 1, x_52); +lean_ctor_set(x_66, 2, x_63); +lean_ctor_set(x_66, 3, x_65); +x_67 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_67, 0, x_66); +lean_ctor_set(x_67, 1, x_62); +return x_67; } } else { -uint8_t x_67; -lean_dec(x_51); +uint8_t x_68; +lean_dec(x_52); lean_dec(x_16); -x_67 = !lean_is_exclusive(x_53); -if (x_67 == 0) +x_68 = !lean_is_exclusive(x_54); +if (x_68 == 0) { -return x_53; +return x_54; } else { -lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_68 = lean_ctor_get(x_53, 0); -x_69 = lean_ctor_get(x_53, 1); +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_54, 0); +x_70 = lean_ctor_get(x_54, 1); +lean_inc(x_70); lean_inc(x_69); -lean_inc(x_68); -lean_dec(x_53); -x_70 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_70, 0, x_68); -lean_ctor_set(x_70, 1, x_69); -return x_70; +lean_dec(x_54); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; } } } else { -uint8_t x_71; +uint8_t x_72; lean_dec(x_16); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); -x_71 = !lean_is_exclusive(x_48); -if (x_71 == 0) +x_72 = !lean_is_exclusive(x_49); +if (x_72 == 0) { -return x_48; +return x_49; } else { -lean_object* x_72; lean_object* x_73; lean_object* x_74; -x_72 = lean_ctor_get(x_48, 0); -x_73 = lean_ctor_get(x_48, 1); +lean_object* x_73; lean_object* x_74; lean_object* x_75; +x_73 = lean_ctor_get(x_49, 0); +x_74 = lean_ctor_get(x_49, 1); +lean_inc(x_74); lean_inc(x_73); -lean_inc(x_72); -lean_dec(x_48); -x_74 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_74, 0, x_72); -lean_ctor_set(x_74, 1, x_73); -return x_74; +lean_dec(x_49); +x_75 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_75, 0, x_73); +lean_ctor_set(x_75, 1, x_74); +return x_75; } } } else { -uint8_t x_75; +uint8_t x_76; lean_dec(x_21); lean_dec(x_16); lean_dec(x_14); @@ -2018,29 +2015,29 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); -x_75 = !lean_is_exclusive(x_31); -if (x_75 == 0) +x_76 = !lean_is_exclusive(x_31); +if (x_76 == 0) { return x_31; } else { -lean_object* x_76; lean_object* x_77; lean_object* x_78; -x_76 = lean_ctor_get(x_31, 0); -x_77 = lean_ctor_get(x_31, 1); +lean_object* x_77; lean_object* x_78; lean_object* x_79; +x_77 = lean_ctor_get(x_31, 0); +x_78 = lean_ctor_get(x_31, 1); +lean_inc(x_78); lean_inc(x_77); -lean_inc(x_76); lean_dec(x_31); -x_78 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_78, 0, x_76); -lean_ctor_set(x_78, 1, x_77); -return x_78; +x_79 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_79, 0, x_77); +lean_ctor_set(x_79, 1, x_78); +return x_79; } } } else { -uint8_t x_79; +uint8_t x_80; lean_dec(x_21); lean_dec(x_16); lean_dec(x_14); @@ -2052,29 +2049,29 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); -x_79 = !lean_is_exclusive(x_28); -if (x_79 == 0) +x_80 = !lean_is_exclusive(x_28); +if (x_80 == 0) { return x_28; } else { -lean_object* x_80; lean_object* x_81; lean_object* x_82; -x_80 = lean_ctor_get(x_28, 0); -x_81 = lean_ctor_get(x_28, 1); +lean_object* x_81; lean_object* x_82; lean_object* x_83; +x_81 = lean_ctor_get(x_28, 0); +x_82 = lean_ctor_get(x_28, 1); +lean_inc(x_82); lean_inc(x_81); -lean_inc(x_80); lean_dec(x_28); -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; +x_83 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_83, 0, x_81); +lean_ctor_set(x_83, 1, x_82); +return x_83; } } } else { -uint8_t x_83; +uint8_t x_84; lean_dec(x_21); lean_dec(x_16); lean_dec(x_14); @@ -2087,29 +2084,29 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_83 = !lean_is_exclusive(x_23); -if (x_83 == 0) +x_84 = !lean_is_exclusive(x_23); +if (x_84 == 0) { return x_23; } else { -lean_object* x_84; lean_object* x_85; lean_object* x_86; -x_84 = lean_ctor_get(x_23, 0); -x_85 = lean_ctor_get(x_23, 1); +lean_object* x_85; lean_object* x_86; lean_object* x_87; +x_85 = lean_ctor_get(x_23, 0); +x_86 = lean_ctor_get(x_23, 1); +lean_inc(x_86); lean_inc(x_85); -lean_inc(x_84); lean_dec(x_23); -x_86 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_86, 0, x_84); -lean_ctor_set(x_86, 1, x_85); -return x_86; +x_87 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_87, 0, x_85); +lean_ctor_set(x_87, 1, x_86); +return x_87; } } } else { -uint8_t x_87; +uint8_t x_88; lean_dec(x_18); lean_dec(x_16); lean_dec(x_14); @@ -2122,29 +2119,29 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_87 = !lean_is_exclusive(x_20); -if (x_87 == 0) +x_88 = !lean_is_exclusive(x_20); +if (x_88 == 0) { return x_20; } else { -lean_object* x_88; lean_object* x_89; lean_object* x_90; -x_88 = lean_ctor_get(x_20, 0); -x_89 = lean_ctor_get(x_20, 1); +lean_object* x_89; lean_object* x_90; lean_object* x_91; +x_89 = lean_ctor_get(x_20, 0); +x_90 = lean_ctor_get(x_20, 1); +lean_inc(x_90); lean_inc(x_89); -lean_inc(x_88); lean_dec(x_20); -x_90 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_90, 0, x_88); -lean_ctor_set(x_90, 1, x_89); -return x_90; +x_91 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_91, 0, x_89); +lean_ctor_set(x_91, 1, x_90); +return x_91; } } } else { -uint8_t x_91; +uint8_t x_92; lean_dec(x_16); lean_dec(x_14); lean_dec(x_13); @@ -2156,23 +2153,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_91 = !lean_is_exclusive(x_17); -if (x_91 == 0) +x_92 = !lean_is_exclusive(x_17); +if (x_92 == 0) { return x_17; } else { -lean_object* x_92; lean_object* x_93; lean_object* x_94; -x_92 = lean_ctor_get(x_17, 0); -x_93 = lean_ctor_get(x_17, 1); +lean_object* x_93; lean_object* x_94; lean_object* x_95; +x_93 = lean_ctor_get(x_17, 0); +x_94 = lean_ctor_get(x_17, 1); +lean_inc(x_94); lean_inc(x_93); -lean_inc(x_92); lean_dec(x_17); -x_94 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_94, 0, x_92); -lean_ctor_set(x_94, 1, x_93); -return x_94; +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; } } } @@ -12713,180 +12710,158 @@ x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta return x_2; } } -lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn___lambda__1(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* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn___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_12; -lean_inc(x_10); +lean_object* x_11; lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -x_12 = l_Lean_Meta_getInductiveUniverseAndParams(x_6, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_12) == 0) +lean_inc(x_6); +x_11 = l_Lean_Meta_getInductiveUniverseAndParams(x_5, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_11) == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_13 = lean_ctor_get(x_12, 0); +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; +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_11, 1); lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); +lean_dec(x_11); +x_14 = lean_ctor_get(x_12, 0); lean_inc(x_14); -lean_dec(x_12); -x_15 = lean_ctor_get(x_13, 0); +x_15 = lean_ctor_get(x_12, 1); lean_inc(x_15); -x_16 = lean_ctor_get(x_13, 1); +lean_dec(x_12); +x_16 = lean_ctor_get(x_1, 0); lean_inc(x_16); -lean_dec(x_13); -x_17 = lean_ctor_get(x_1, 0); -lean_inc(x_17); lean_dec(x_1); +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); x_18 = lean_ctor_get(x_17, 0); lean_inc(x_18); -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -lean_dec(x_18); -x_20 = l_Lean_casesOnSuffix; -x_21 = lean_name_mk_string(x_19, x_20); -x_22 = lean_ctor_get(x_17, 4); -lean_inc(x_22); lean_dec(x_17); -x_23 = l_List_redLength___rarg(x_22); -x_24 = lean_mk_empty_array_with_capacity(x_23); -lean_dec(x_23); -x_25 = l_List_toArrayAux___rarg(x_22, x_24); +x_19 = l_Lean_casesOnSuffix; +x_20 = lean_name_mk_string(x_18, x_19); +x_21 = lean_ctor_get(x_16, 4); +lean_inc(x_21); +lean_dec(x_16); +x_22 = l_List_redLength___rarg(x_21); +x_23 = lean_mk_empty_array_with_capacity(x_22); +lean_dec(x_22); +x_24 = l_List_toArrayAux___rarg(x_21, x_23); lean_inc(x_3); -x_26 = l_Lean_Meta_induction(x_2, x_3, x_21, x_4, x_5, x_7, x_8, x_9, x_10, x_14); -if (lean_obj_tag(x_26) == 0) +x_25 = l_Lean_Meta_induction(x_2, x_3, x_20, x_4, x_6, x_7, x_8, x_9, x_13); +if (lean_obj_tag(x_25) == 0) { -uint8_t x_27; -x_27 = !lean_is_exclusive(x_26); -if (x_27 == 0) +uint8_t x_26; +x_26 = !lean_is_exclusive(x_25); +if (x_26 == 0) { -lean_object* x_28; lean_object* x_29; -x_28 = lean_ctor_get(x_26, 0); -x_29 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_toCasesSubgoals(x_28, x_25, x_3, x_15, x_16); -lean_dec(x_16); -lean_dec(x_25); -lean_dec(x_28); -lean_ctor_set(x_26, 0, x_29); -return x_26; -} -else -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_30 = lean_ctor_get(x_26, 0); -x_31 = lean_ctor_get(x_26, 1); -lean_inc(x_31); -lean_inc(x_30); -lean_dec(x_26); -x_32 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_toCasesSubgoals(x_30, x_25, x_3, x_15, x_16); -lean_dec(x_16); -lean_dec(x_25); -lean_dec(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_31); -return x_33; -} -} -else -{ -uint8_t x_34; -lean_dec(x_25); -lean_dec(x_16); +lean_object* x_27; lean_object* x_28; +x_27 = lean_ctor_get(x_25, 0); +x_28 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_toCasesSubgoals(x_27, x_24, x_3, x_14, x_15); lean_dec(x_15); +lean_dec(x_24); +lean_dec(x_27); +lean_ctor_set(x_25, 0, x_28); +return x_25; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_29 = lean_ctor_get(x_25, 0); +x_30 = lean_ctor_get(x_25, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_25); +x_31 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_toCasesSubgoals(x_29, x_24, x_3, x_14, x_15); +lean_dec(x_15); +lean_dec(x_24); +lean_dec(x_29); +x_32 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_32, 1, x_30); +return x_32; +} +} +else +{ +uint8_t x_33; +lean_dec(x_24); +lean_dec(x_15); +lean_dec(x_14); lean_dec(x_3); -x_34 = !lean_is_exclusive(x_26); -if (x_34 == 0) +x_33 = !lean_is_exclusive(x_25); +if (x_33 == 0) { -return x_26; +return x_25; } else { -lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_35 = lean_ctor_get(x_26, 0); -x_36 = lean_ctor_get(x_26, 1); -lean_inc(x_36); +lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_34 = lean_ctor_get(x_25, 0); +x_35 = lean_ctor_get(x_25, 1); lean_inc(x_35); -lean_dec(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_inc(x_34); +lean_dec(x_25); +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_38; -lean_dec(x_10); +uint8_t x_37; lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); +lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_38 = !lean_is_exclusive(x_12); -if (x_38 == 0) +x_37 = !lean_is_exclusive(x_11); +if (x_37 == 0) { -return x_12; +return x_11; } else { -lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_39 = lean_ctor_get(x_12, 0); -x_40 = lean_ctor_get(x_12, 1); -lean_inc(x_40); +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_11, 0); +x_39 = lean_ctor_get(x_11, 1); lean_inc(x_39); -lean_dec(x_12); -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_inc(x_38); +lean_dec(x_11); +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___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn(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* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_inc(x_2); -x_11 = l_Lean_mkFVar(x_2); -x_12 = lean_alloc_closure((void*)(l_Lean_Meta_inferType), 6, 1); -lean_closure_set(x_12, 0, x_11); -x_13 = lean_box(x_4); +x_10 = l_Lean_mkFVar(x_2); +x_11 = lean_alloc_closure((void*)(l_Lean_Meta_inferType), 6, 1); +lean_closure_set(x_11, 0, x_10); lean_inc(x_1); -x_14 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn___lambda__1___boxed), 11, 5); -lean_closure_set(x_14, 0, x_5); -lean_closure_set(x_14, 1, x_1); -lean_closure_set(x_14, 2, x_2); -lean_closure_set(x_14, 3, x_3); -lean_closure_set(x_14, 4, x_13); -x_15 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); -lean_closure_set(x_15, 0, x_12); -lean_closure_set(x_15, 1, x_14); -x_16 = l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__1___rarg(x_1, x_15, x_6, x_7, x_8, x_9, x_10); -return x_16; -} -} -lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn___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: -{ -uint8_t x_12; lean_object* x_13; -x_12 = lean_unbox(x_5); -lean_dec(x_5); -x_13 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn___lambda__1(x_1, x_2, x_3, x_4, x_12, x_6, x_7, x_8, x_9, x_10, x_11); -return x_13; -} -} -lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn___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: -{ -uint8_t x_11; lean_object* x_12; -x_11 = lean_unbox(x_4); -lean_dec(x_4); -x_12 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn(x_1, x_2, x_3, x_11, x_5, x_6, x_7, x_8, x_9, x_10); -return x_12; +x_12 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn___lambda__1), 10, 4); +lean_closure_set(x_12, 0, x_4); +lean_closure_set(x_12, 1, x_1); +lean_closure_set(x_12, 2, x_2); +lean_closure_set(x_12, 3, x_3); +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_5, x_6, x_7, x_8, x_9); +return x_14; } } lean_object* l_Lean_Meta_Cases_cases_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { @@ -12975,388 +12950,388 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -lean_object* l_Lean_Meta_Cases_cases___lambda__1(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* l_Lean_Meta_Cases_cases___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_12; -lean_inc(x_10); +lean_object* x_11; lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); +lean_inc(x_6); lean_inc(x_1); -x_12 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_mkCasesContext_x3f(x_1, x_7, x_8, x_9, x_10, x_11); +x_11 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_mkCasesContext_x3f(x_1, x_6, x_7, x_8, x_9, 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) { -lean_object* x_13; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -if (lean_obj_tag(x_13) == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_dec(x_4); lean_dec(x_1); -x_14 = lean_ctor_get(x_12, 1); -lean_inc(x_14); -lean_dec(x_12); -x_15 = l_Lean_Meta_Cases_cases___lambda__1___closed__3; -x_16 = lean_box(0); -x_17 = l_Lean_Meta_throwTacticEx___rarg(x_2, x_3, x_15, x_16, x_7, x_8, x_9, x_10, x_14); -lean_dec(x_10); +x_13 = lean_ctor_get(x_11, 1); +lean_inc(x_13); +lean_dec(x_11); +x_14 = l_Lean_Meta_Cases_cases___lambda__1___closed__3; +x_15 = lean_box(0); +x_16 = l_Lean_Meta_throwTacticEx___rarg(x_2, x_3, x_14, x_15, x_6, x_7, x_8, x_9, x_13); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -return x_17; +lean_dec(x_6); +return x_16; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_dec(x_2); -x_18 = lean_ctor_get(x_12, 1); +x_17 = lean_ctor_get(x_11, 1); +lean_inc(x_17); +lean_dec(x_11); +x_18 = lean_ctor_get(x_12, 0); lean_inc(x_18); lean_dec(x_12); -x_19 = lean_ctor_get(x_13, 0); +x_19 = lean_ctor_get(x_18, 0); lean_inc(x_19); -lean_dec(x_13); -x_20 = lean_ctor_get(x_19, 0); +x_20 = lean_ctor_get(x_19, 2); lean_inc(x_20); -x_21 = lean_ctor_get(x_20, 2); -lean_inc(x_21); -lean_dec(x_20); -x_22 = lean_unsigned_to_nat(0u); -x_23 = lean_nat_dec_eq(x_21, x_22); -lean_dec(x_21); -if (x_23 == 0) -{ -lean_object* x_24; -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_24 = l_Lean_Meta_generalizeIndices(x_3, x_1, x_7, x_8, x_9, x_10, x_18); -if (lean_obj_tag(x_24) == 0) -{ -lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28; lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77; -x_25 = lean_ctor_get(x_24, 0); -lean_inc(x_25); -x_26 = lean_ctor_get(x_24, 1); -lean_inc(x_26); -lean_dec(x_24); -x_74 = lean_st_ref_get(x_10, x_26); -x_75 = lean_ctor_get(x_74, 0); -lean_inc(x_75); -x_76 = lean_ctor_get(x_75, 3); -lean_inc(x_76); -lean_dec(x_75); -x_77 = lean_ctor_get_uint8(x_76, sizeof(void*)*1); -lean_dec(x_76); -if (x_77 == 0) -{ -lean_object* x_78; uint8_t x_79; -x_78 = lean_ctor_get(x_74, 1); -lean_inc(x_78); -lean_dec(x_74); -x_79 = 0; -x_27 = x_79; -x_28 = x_78; -goto block_73; -} -else -{ -lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; uint8_t x_85; -x_80 = lean_ctor_get(x_74, 1); -lean_inc(x_80); -lean_dec(x_74); -x_81 = l_Lean_Meta_Cases_cases___lambda__1___closed__4; -x_82 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_81, x_7, x_8, x_9, x_10, x_80); -x_83 = lean_ctor_get(x_82, 0); -lean_inc(x_83); -x_84 = lean_ctor_get(x_82, 1); -lean_inc(x_84); -lean_dec(x_82); -x_85 = lean_unbox(x_83); -lean_dec(x_83); -x_27 = x_85; -x_28 = x_84; -goto block_73; -} -block_73: -{ -if (x_27 == 0) -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_25, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_25, 2); -lean_inc(x_30); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_31 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn(x_29, x_30, x_4, x_5, x_19, x_7, x_8, x_9, x_10, x_28); -if (lean_obj_tag(x_31) == 0) -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -lean_dec(x_31); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_25); -x_34 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_elimAuxIndices(x_25, x_32, x_7, x_8, x_9, x_10, x_33); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -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_ctor_get(x_25, 3); -lean_inc(x_37); -lean_dec(x_25); -x_38 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyCasesEqs(x_37, x_35, x_7, x_8, x_9, x_10, x_36); -lean_dec(x_35); -return x_38; -} -else -{ -uint8_t x_39; -lean_dec(x_25); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -x_39 = !lean_is_exclusive(x_34); -if (x_39 == 0) -{ -return x_34; -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_40 = lean_ctor_get(x_34, 0); -x_41 = lean_ctor_get(x_34, 1); -lean_inc(x_41); -lean_inc(x_40); -lean_dec(x_34); -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 -{ -uint8_t x_43; -lean_dec(x_25); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -x_43 = !lean_is_exclusive(x_31); -if (x_43 == 0) -{ -return x_31; -} -else -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; -x_44 = lean_ctor_get(x_31, 0); -x_45 = lean_ctor_get(x_31, 1); -lean_inc(x_45); -lean_inc(x_44); -lean_dec(x_31); -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; lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_47 = lean_ctor_get(x_25, 0); -lean_inc(x_47); -x_48 = lean_ctor_get(x_25, 2); -lean_inc(x_48); -x_49 = lean_ctor_get(x_25, 3); -lean_inc(x_49); -lean_inc(x_47); -x_50 = lean_alloc_ctor(5, 1, 0); -lean_ctor_set(x_50, 0, x_47); -x_51 = l_Lean_Meta_Cases_cases___lambda__1___closed__6; -x_52 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_52, 0, x_51); -lean_ctor_set(x_52, 1, x_50); -x_53 = l_Lean_KernelException_toMessageData___closed__15; -x_54 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_54, 0, x_52); -lean_ctor_set(x_54, 1, x_53); -x_55 = l_Lean_Meta_Cases_cases___lambda__1___closed__4; -x_56 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_55, x_54, x_7, x_8, x_9, x_10, x_28); -x_57 = lean_ctor_get(x_56, 1); -lean_inc(x_57); -lean_dec(x_56); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_58 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn(x_47, x_48, x_4, x_5, x_19, x_7, x_8, x_9, x_10, x_57); -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, 0); -lean_inc(x_59); -x_60 = lean_ctor_get(x_58, 1); -lean_inc(x_60); -lean_dec(x_58); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_61 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_elimAuxIndices(x_25, x_59, x_7, x_8, x_9, x_10, x_60); -if (lean_obj_tag(x_61) == 0) -{ -lean_object* x_62; lean_object* x_63; lean_object* x_64; -x_62 = lean_ctor_get(x_61, 0); -lean_inc(x_62); -x_63 = lean_ctor_get(x_61, 1); -lean_inc(x_63); -lean_dec(x_61); -x_64 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyCasesEqs(x_49, x_62, x_7, x_8, x_9, x_10, x_63); -lean_dec(x_62); -return x_64; -} -else -{ -uint8_t x_65; -lean_dec(x_49); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -x_65 = !lean_is_exclusive(x_61); -if (x_65 == 0) -{ -return x_61; -} -else -{ -lean_object* x_66; lean_object* x_67; lean_object* x_68; -x_66 = lean_ctor_get(x_61, 0); -x_67 = lean_ctor_get(x_61, 1); -lean_inc(x_67); -lean_inc(x_66); -lean_dec(x_61); -x_68 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_68, 0, x_66); -lean_ctor_set(x_68, 1, x_67); -return x_68; -} -} -} -else -{ -uint8_t x_69; -lean_dec(x_49); -lean_dec(x_25); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -x_69 = !lean_is_exclusive(x_58); -if (x_69 == 0) -{ -return x_58; -} -else -{ -lean_object* x_70; lean_object* x_71; lean_object* x_72; -x_70 = lean_ctor_get(x_58, 0); -x_71 = lean_ctor_get(x_58, 1); -lean_inc(x_71); -lean_inc(x_70); -lean_dec(x_58); -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; -} -} -} -} -} -else -{ -uint8_t x_86; lean_dec(x_19); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_4); -x_86 = !lean_is_exclusive(x_24); -if (x_86 == 0) +x_21 = lean_unsigned_to_nat(0u); +x_22 = lean_nat_dec_eq(x_20, x_21); +lean_dec(x_20); +if (x_22 == 0) { -return x_24; +lean_object* x_23; +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_23 = l_Lean_Meta_generalizeIndices(x_3, x_1, x_6, x_7, x_8, x_9, x_17); +if (lean_obj_tag(x_23) == 0) +{ +lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_27; lean_object* x_73; lean_object* x_74; lean_object* x_75; uint8_t x_76; +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_73 = lean_st_ref_get(x_9, x_25); +x_74 = lean_ctor_get(x_73, 0); +lean_inc(x_74); +x_75 = lean_ctor_get(x_74, 3); +lean_inc(x_75); +lean_dec(x_74); +x_76 = lean_ctor_get_uint8(x_75, sizeof(void*)*1); +lean_dec(x_75); +if (x_76 == 0) +{ +lean_object* x_77; uint8_t x_78; +x_77 = lean_ctor_get(x_73, 1); +lean_inc(x_77); +lean_dec(x_73); +x_78 = 0; +x_26 = x_78; +x_27 = x_77; +goto block_72; } else { -lean_object* x_87; lean_object* x_88; lean_object* x_89; -x_87 = lean_ctor_get(x_24, 0); -x_88 = lean_ctor_get(x_24, 1); -lean_inc(x_88); -lean_inc(x_87); +lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; uint8_t x_84; +x_79 = lean_ctor_get(x_73, 1); +lean_inc(x_79); +lean_dec(x_73); +x_80 = l_Lean_Meta_Cases_cases___lambda__1___closed__4; +x_81 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_80, x_6, x_7, x_8, x_9, x_79); +x_82 = lean_ctor_get(x_81, 0); +lean_inc(x_82); +x_83 = lean_ctor_get(x_81, 1); +lean_inc(x_83); +lean_dec(x_81); +x_84 = lean_unbox(x_82); +lean_dec(x_82); +x_26 = x_84; +x_27 = x_83; +goto block_72; +} +block_72: +{ +if (x_26 == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_24, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_24, 2); +lean_inc(x_29); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_30 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn(x_28, x_29, x_4, x_18, x_6, x_7, x_8, x_9, x_27); +if (lean_obj_tag(x_30) == 0) +{ +lean_object* x_31; lean_object* x_32; lean_object* x_33; +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_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_24); +x_33 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_elimAuxIndices(x_24, x_31, x_6, x_7, x_8, x_9, x_32); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; +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_ctor_get(x_24, 3); +lean_inc(x_36); lean_dec(x_24); -x_89 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_89, 0, x_87); -lean_ctor_set(x_89, 1, x_88); +x_37 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyCasesEqs(x_36, x_34, x_6, x_7, x_8, x_9, x_35); +lean_dec(x_34); +return x_37; +} +else +{ +uint8_t x_38; +lean_dec(x_24); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_38 = !lean_is_exclusive(x_33); +if (x_38 == 0) +{ +return x_33; +} +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; +} +} +} +else +{ +uint8_t x_42; +lean_dec(x_24); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_42 = !lean_is_exclusive(x_30); +if (x_42 == 0) +{ +return x_30; +} +else +{ +lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_43 = lean_ctor_get(x_30, 0); +x_44 = lean_ctor_get(x_30, 1); +lean_inc(x_44); +lean_inc(x_43); +lean_dec(x_30); +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_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; +x_46 = lean_ctor_get(x_24, 0); +lean_inc(x_46); +x_47 = lean_ctor_get(x_24, 2); +lean_inc(x_47); +x_48 = lean_ctor_get(x_24, 3); +lean_inc(x_48); +lean_inc(x_46); +x_49 = lean_alloc_ctor(5, 1, 0); +lean_ctor_set(x_49, 0, x_46); +x_50 = l_Lean_Meta_Cases_cases___lambda__1___closed__6; +x_51 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_51, 0, x_50); +lean_ctor_set(x_51, 1, x_49); +x_52 = l_Lean_KernelException_toMessageData___closed__15; +x_53 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_53, 0, x_51); +lean_ctor_set(x_53, 1, x_52); +x_54 = l_Lean_Meta_Cases_cases___lambda__1___closed__4; +x_55 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_54, x_53, x_6, x_7, x_8, x_9, x_27); +x_56 = lean_ctor_get(x_55, 1); +lean_inc(x_56); +lean_dec(x_55); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_57 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn(x_46, x_47, x_4, x_18, x_6, x_7, x_8, x_9, x_56); +if (lean_obj_tag(x_57) == 0) +{ +lean_object* x_58; lean_object* x_59; lean_object* x_60; +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); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_60 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_elimAuxIndices(x_24, x_58, x_6, x_7, x_8, x_9, x_59); +if (lean_obj_tag(x_60) == 0) +{ +lean_object* x_61; lean_object* x_62; lean_object* x_63; +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 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyCasesEqs(x_48, x_61, x_6, x_7, x_8, x_9, x_62); +lean_dec(x_61); +return x_63; +} +else +{ +uint8_t x_64; +lean_dec(x_48); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_64 = !lean_is_exclusive(x_60); +if (x_64 == 0) +{ +return x_60; +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_ctor_get(x_60, 0); +x_66 = lean_ctor_get(x_60, 1); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_60); +x_67 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_67, 0, x_65); +lean_ctor_set(x_67, 1, x_66); +return x_67; +} +} +} +else +{ +uint8_t x_68; +lean_dec(x_48); +lean_dec(x_24); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_68 = !lean_is_exclusive(x_57); +if (x_68 == 0) +{ +return x_57; +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_57, 0); +x_70 = lean_ctor_get(x_57, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_57); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; +} +} +} +} +} +else +{ +uint8_t x_85; +lean_dec(x_18); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +x_85 = !lean_is_exclusive(x_23); +if (x_85 == 0) +{ +return x_23; +} +else +{ +lean_object* x_86; lean_object* x_87; lean_object* x_88; +x_86 = lean_ctor_get(x_23, 0); +x_87 = lean_ctor_get(x_23, 1); +lean_inc(x_87); +lean_inc(x_86); +lean_dec(x_23); +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; +} +} +} +else +{ +lean_object* x_89; +x_89 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn(x_3, x_1, x_4, x_18, x_6, x_7, x_8, x_9, x_17); return x_89; } } } else { -lean_object* x_90; -x_90 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCasesOn(x_3, x_1, x_4, x_5, x_19, x_7, x_8, x_9, x_10, x_18); -return x_90; -} -} -} -else -{ -uint8_t x_91; -lean_dec(x_10); +uint8_t x_90; lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); +lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_91 = !lean_is_exclusive(x_12); -if (x_91 == 0) +x_90 = !lean_is_exclusive(x_11); +if (x_90 == 0) { -return x_12; +return x_11; } else { -lean_object* x_92; lean_object* x_93; lean_object* x_94; -x_92 = lean_ctor_get(x_12, 0); -x_93 = lean_ctor_get(x_12, 1); -lean_inc(x_93); +lean_object* x_91; lean_object* x_92; lean_object* x_93; +x_91 = lean_ctor_get(x_11, 0); +x_92 = lean_ctor_get(x_11, 1); lean_inc(x_92); -lean_dec(x_12); -x_94 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_94, 0, x_92); -lean_ctor_set(x_94, 1, x_93); -return x_94; +lean_inc(x_91); +lean_dec(x_11); +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; } } } @@ -13371,70 +13346,46 @@ x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -lean_object* l_Lean_Meta_Cases_cases(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* l_Lean_Meta_Cases_cases(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_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_10 = l_Lean_Meta_Cases_cases___closed__1; +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_9 = l_Lean_Meta_Cases_cases___closed__1; lean_inc(x_1); -x_11 = lean_alloc_closure((void*)(l_Lean_Meta_checkNotAssigned___boxed), 7, 2); -lean_closure_set(x_11, 0, x_1); -lean_closure_set(x_11, 1, x_10); -x_12 = lean_box(x_4); +x_10 = lean_alloc_closure((void*)(l_Lean_Meta_checkNotAssigned___boxed), 7, 2); +lean_closure_set(x_10, 0, x_1); +lean_closure_set(x_10, 1, x_9); lean_inc(x_1); -x_13 = lean_alloc_closure((void*)(l_Lean_Meta_Cases_cases___lambda__1___boxed), 11, 5); -lean_closure_set(x_13, 0, x_2); -lean_closure_set(x_13, 1, x_10); -lean_closure_set(x_13, 2, x_1); -lean_closure_set(x_13, 3, x_3); -lean_closure_set(x_13, 4, x_12); -x_14 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); -lean_closure_set(x_14, 0, x_11); -lean_closure_set(x_14, 1, x_13); -x_15 = l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__1___rarg(x_1, x_14, x_5, x_6, x_7, x_8, x_9); -return x_15; -} -} -lean_object* l_Lean_Meta_Cases_cases___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: -{ -uint8_t x_12; lean_object* x_13; -x_12 = lean_unbox(x_5); -lean_dec(x_5); -x_13 = l_Lean_Meta_Cases_cases___lambda__1(x_1, x_2, x_3, x_4, x_12, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_6); +x_11 = lean_alloc_closure((void*)(l_Lean_Meta_Cases_cases___lambda__1___boxed), 10, 4); +lean_closure_set(x_11, 0, x_2); +lean_closure_set(x_11, 1, x_9); +lean_closure_set(x_11, 2, x_1); +lean_closure_set(x_11, 3, x_3); +x_12 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); +lean_closure_set(x_12, 0, x_10); +lean_closure_set(x_12, 1, x_11); +x_13 = l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__1___rarg(x_1, x_12, x_4, x_5, x_6, x_7, x_8); return x_13; } } -lean_object* l_Lean_Meta_Cases_cases___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_Lean_Meta_Cases_cases___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: { -uint8_t x_10; lean_object* x_11; -x_10 = lean_unbox(x_4); -lean_dec(x_4); -x_11 = l_Lean_Meta_Cases_cases(x_1, x_2, x_3, x_10, x_5, x_6, x_7, x_8, x_9); +lean_object* x_11; +x_11 = l_Lean_Meta_Cases_cases___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); return x_11; } } -lean_object* l_Lean_Meta_cases(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* l_Lean_Meta_cases(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_10; -x_10 = l_Lean_Meta_Cases_cases(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -return x_10; +lean_object* x_9; +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_cases___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: -{ -uint8_t x_10; lean_object* x_11; -x_10 = lean_unbox(x_4); -lean_dec(x_4); -x_11 = l_Lean_Meta_cases(x_1, x_2, x_3, x_10, x_5, x_6, x_7, x_8, x_9); -return x_11; -} -} -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Cases___hyg_2706_(lean_object* x_1) { +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Cases___hyg_2689_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -13532,7 +13483,7 @@ 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_2706_(lean_io_mk_world()); +res = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Cases___hyg_2689_(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/Induction.c b/stage0/stdlib/Lean/Meta/Tactic/Induction.c index 79ac6f983d..06e43dee2a 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Induction.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Induction.c @@ -15,7 +15,6 @@ extern "C" { #endif lean_object* l_Nat_forM_loop___at_Lean_Meta_induction___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Tactic_induction___closed__1; -lean_object* l_Lean_Meta_induction___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop___spec__2(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_withMVarContext___at_Lean_Meta_induction___spec__8___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -69,7 +68,7 @@ lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_addRecParams(le lean_object* l_Array_mapMUnsafe_map___at_Lean_LocalContext_getFVars___spec__1(size_t, size_t, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_addRecParams___closed__4; lean_object* l_Lean_Meta_induction_match__8(lean_object*); -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Induction___hyg_2427_(lean_object*); +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Induction___hyg_2441_(lean_object*); uint8_t l_USize_decLt(size_t, size_t); lean_object* l_Lean_Meta_checkNotAssigned___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_addRecParams_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -104,6 +103,7 @@ lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(lean_objec extern lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solveSelfMax___closed__1; lean_object* l_Nat_forM_loop___at_Lean_Meta_induction___spec__3___closed__1; lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__9___lambda__2___closed__4; +lean_object* l_Lean_Meta_instInhabitedAltVarNames; lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_addRecParams_match__2(lean_object*); lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__7___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* l_Lean_Meta_induction_match__5___rarg(lean_object*, lean_object*); @@ -131,6 +131,7 @@ lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__9___lambda_ lean_object* l_Lean_Meta_induction_match__2___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop_match__5(lean_object*); lean_object* lean_array_to_list(lean_object*, lean_object*); +lean_object* l_Lean_Meta_instInhabitedAltVarNames___closed__1; lean_object* l_Lean_Meta_induction_match__11___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_addRecParams_match__1(lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_induction___spec__4___lambda__2___closed__2; @@ -142,7 +143,7 @@ lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_addRecParams___ lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_KernelException_toMessageData___closed__15; uint8_t l_Array_isEmpty___rarg(lean_object*); -lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_synthInstance_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__7___boxed(lean_object**); lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__7___closed__1; @@ -163,6 +164,7 @@ lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop_m lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop_match__2___rarg(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkRecursorInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__7___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* l_Lean_Meta_AltVarNames_varNames___default; lean_object* l_Lean_LocalDecl_type(lean_object*); lean_object* l_Lean_MetavarContext_exprDependsOn(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_addRecParams___closed__5; @@ -250,8 +252,9 @@ lean_object* l_Lean_Meta_induction_match__11(lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_induction___spec__4___lambda__2___closed__1; lean_object* l_Lean_Meta_whnfUntil(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_induction___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Lean_Meta_AltVarNames_explicit___default; lean_object* l_Lean_Meta_induction_match__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_induction(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +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_List_foldlM___at_Lean_Meta_induction___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*); extern lean_object* l_Lean_instInhabitedLevel; lean_object* l_List_foldlM___at_Lean_Meta_induction___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -945,6 +948,42 @@ lean_dec(x_3); return x_9; } } +static uint8_t _init_l_Lean_Meta_AltVarNames_explicit___default() { +_start: +{ +uint8_t x_1; +x_1 = 0; +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_AltVarNames_varNames___default() { +_start: +{ +lean_object* x_1; +x_1 = lean_box(0); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_instInhabitedAltVarNames___closed__1() { +_start: +{ +lean_object* x_1; uint8_t x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = 0; +x_3 = lean_alloc_ctor(0, 1, 1); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Meta_instInhabitedAltVarNames() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Meta_instInhabitedAltVarNames___closed__1; +return x_1; +} +} lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop_match__1___rarg(lean_object* x_1, lean_object* x_2) { _start: { @@ -1327,7 +1366,7 @@ return x_14; lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, uint8_t x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19, lean_object* x_20, lean_object* x_21, lean_object* x_22, lean_object* x_23, lean_object* x_24, lean_object* x_25) { _start: { -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_86; uint8_t x_87; lean_object* x_88; lean_object* x_89; +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_92; uint8_t x_93; lean_object* x_94; lean_object* x_95; x_26 = lean_nat_sub(x_1, x_2); x_27 = lean_array_get_size(x_3); x_28 = lean_array_get_size(x_4); @@ -1335,41 +1374,41 @@ x_29 = lean_nat_sub(x_27, x_28); x_30 = lean_unsigned_to_nat(1u); x_31 = lean_nat_sub(x_29, x_30); lean_dec(x_29); -x_86 = lean_array_get_size(x_13); -x_87 = lean_nat_dec_lt(x_11, x_86); -lean_dec(x_86); -x_88 = l_Lean_Name_append(x_17, x_18); +x_92 = lean_array_get_size(x_13); +x_93 = lean_nat_dec_lt(x_11, x_92); +lean_dec(x_92); +x_94 = l_Lean_Name_append(x_17, x_18); lean_inc(x_21); -x_89 = l_Lean_Meta_mkFreshExprSyntheticOpaqueMVar(x_19, x_88, x_21, x_22, x_23, x_24, x_25); -if (x_87 == 0) +x_95 = l_Lean_Meta_mkFreshExprSyntheticOpaqueMVar(x_19, x_94, x_21, x_22, x_23, x_24, x_25); +if (x_93 == 0) { -lean_object* x_90; lean_object* x_91; lean_object* x_92; -x_90 = lean_ctor_get(x_89, 0); -lean_inc(x_90); -x_91 = lean_ctor_get(x_89, 1); -lean_inc(x_91); -lean_dec(x_89); -x_92 = lean_box(0); -x_32 = x_92; -x_33 = x_90; -x_34 = x_91; -goto block_85; +lean_object* x_96; lean_object* x_97; lean_object* x_98; +x_96 = lean_ctor_get(x_95, 0); +lean_inc(x_96); +x_97 = lean_ctor_get(x_95, 1); +lean_inc(x_97); +lean_dec(x_95); +x_98 = l_Lean_Meta_instInhabitedAltVarNames___closed__1; +x_32 = x_98; +x_33 = x_96; +x_34 = x_97; +goto block_91; } else { -lean_object* x_93; lean_object* x_94; lean_object* x_95; -x_93 = lean_ctor_get(x_89, 0); -lean_inc(x_93); -x_94 = lean_ctor_get(x_89, 1); -lean_inc(x_94); -lean_dec(x_89); -x_95 = lean_array_fget(x_13, x_11); -x_32 = x_95; -x_33 = x_93; -x_34 = x_94; -goto block_85; +lean_object* x_99; lean_object* x_100; lean_object* x_101; +x_99 = lean_ctor_get(x_95, 0); +lean_inc(x_99); +x_100 = lean_ctor_get(x_95, 1); +lean_inc(x_100); +lean_dec(x_95); +x_101 = lean_array_fget(x_13, x_11); +x_32 = x_101; +x_33 = x_99; +x_34 = x_100; +goto block_91; } -block_85: +block_91: { lean_object* x_35; lean_object* x_36; lean_inc(x_33); @@ -1398,79 +1437,100 @@ lean_inc(x_21); x_41 = l_Lean_Meta_tryClear(x_39, x_40, x_21, x_22, x_23, x_24, x_38); if (lean_obj_tag(x_41) == 0) { -lean_object* x_42; lean_object* x_43; uint8_t x_44; lean_object* x_45; +lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; uint8_t x_80; x_42 = lean_ctor_get(x_41, 0); lean_inc(x_42); x_43 = lean_ctor_get(x_41, 1); lean_inc(x_43); lean_dec(x_41); -x_44 = 0; -lean_inc(x_24); -lean_inc(x_23); -lean_inc(x_22); -lean_inc(x_21); -x_45 = l_Lean_Meta_introNCore(x_42, x_26, x_32, x_44, x_21, x_22, x_23, x_24, x_43); -if (lean_obj_tag(x_45) == 0) +x_44 = lean_ctor_get(x_32, 0); +lean_inc(x_44); +x_80 = lean_ctor_get_uint8(x_32, sizeof(void*)*1); +lean_dec(x_32); +if (x_80 == 0) { -lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51; lean_object* x_52; -x_46 = lean_ctor_get(x_45, 0); -lean_inc(x_46); -x_47 = lean_ctor_get(x_45, 1); -lean_inc(x_47); -lean_dec(x_45); -x_48 = lean_ctor_get(x_46, 0); -lean_inc(x_48); -x_49 = lean_ctor_get(x_46, 1); -lean_inc(x_49); -lean_dec(x_46); -x_50 = lean_box(0); -x_51 = 1; -lean_inc(x_24); -lean_inc(x_23); -lean_inc(x_22); -lean_inc(x_21); -x_52 = l_Lean_Meta_introNCore(x_49, x_31, x_50, x_51, x_21, x_22, x_23, x_24, x_47); -if (lean_obj_tag(x_52) == 0) -{ -lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; size_t x_59; size_t 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; -x_53 = lean_ctor_get(x_52, 0); -lean_inc(x_53); -x_54 = lean_ctor_get(x_52, 1); -lean_inc(x_54); -lean_dec(x_52); -x_55 = lean_ctor_get(x_53, 0); -lean_inc(x_55); -x_56 = lean_ctor_get(x_53, 1); -lean_inc(x_56); -lean_dec(x_53); -lean_inc(x_9); -lean_inc(x_27); -x_57 = l_Nat_foldAux___at___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop___spec__1(x_3, x_4, x_28, x_55, x_27, x_27, x_9); -lean_dec(x_27); -lean_dec(x_55); -lean_dec(x_28); -x_58 = lean_array_get_size(x_48); -x_59 = lean_usize_of_nat(x_58); -lean_dec(x_58); -x_60 = 0; -x_61 = x_48; -x_62 = l_Array_mapMUnsafe_map___at_Lean_LocalContext_getFVars___spec__1(x_59, x_60, x_61); -x_63 = x_62; -x_64 = lean_nat_add(x_10, x_30); -x_65 = lean_nat_add(x_11, x_30); -x_66 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_66, 0, x_56); -lean_ctor_set(x_66, 1, x_63); -lean_ctor_set(x_66, 2, x_57); -x_67 = lean_array_push(x_12, x_66); -x_68 = l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop(x_6, x_13, x_14, x_3, x_8, x_4, x_9, x_2, x_15, x_64, x_65, x_35, x_37, x_16, x_67, x_21, x_22, x_23, x_24, x_54); -lean_dec(x_65); -return x_68; +uint8_t x_81; +x_81 = 1; +x_45 = x_81; +goto block_79; } else { -uint8_t x_69; +uint8_t x_82; +x_82 = 0; +x_45 = x_82; +goto block_79; +} +block_79: +{ +uint8_t x_46; lean_object* x_47; +x_46 = 0; +lean_inc(x_24); +lean_inc(x_23); +lean_inc(x_22); +lean_inc(x_21); +x_47 = l_Lean_Meta_introNCore(x_42, x_26, x_44, x_45, x_46, x_21, x_22, x_23, x_24, x_43); +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; uint8_t x_53; lean_object* x_54; +x_48 = lean_ctor_get(x_47, 0); +lean_inc(x_48); +x_49 = lean_ctor_get(x_47, 1); +lean_inc(x_49); +lean_dec(x_47); +x_50 = lean_ctor_get(x_48, 0); +lean_inc(x_50); +x_51 = lean_ctor_get(x_48, 1); +lean_inc(x_51); lean_dec(x_48); +x_52 = lean_box(0); +x_53 = 1; +lean_inc(x_24); +lean_inc(x_23); +lean_inc(x_22); +lean_inc(x_21); +x_54 = l_Lean_Meta_introNCore(x_51, x_31, x_52, x_46, x_53, x_21, x_22, x_23, x_24, x_49); +if (lean_obj_tag(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; size_t 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; lean_object* x_69; lean_object* x_70; +x_55 = lean_ctor_get(x_54, 0); +lean_inc(x_55); +x_56 = lean_ctor_get(x_54, 1); +lean_inc(x_56); +lean_dec(x_54); +x_57 = lean_ctor_get(x_55, 0); +lean_inc(x_57); +x_58 = lean_ctor_get(x_55, 1); +lean_inc(x_58); +lean_dec(x_55); +lean_inc(x_9); +lean_inc(x_27); +x_59 = l_Nat_foldAux___at___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop___spec__1(x_3, x_4, x_28, x_57, x_27, x_27, x_9); +lean_dec(x_27); +lean_dec(x_57); +lean_dec(x_28); +x_60 = lean_array_get_size(x_50); +x_61 = lean_usize_of_nat(x_60); +lean_dec(x_60); +x_62 = 0; +x_63 = x_50; +x_64 = l_Array_mapMUnsafe_map___at_Lean_LocalContext_getFVars___spec__1(x_61, x_62, x_63); +x_65 = x_64; +x_66 = lean_nat_add(x_10, x_30); +x_67 = lean_nat_add(x_11, x_30); +x_68 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_68, 0, x_58); +lean_ctor_set(x_68, 1, x_65); +lean_ctor_set(x_68, 2, x_59); +x_69 = lean_array_push(x_12, x_68); +x_70 = l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop(x_6, x_13, x_14, x_3, x_8, x_4, x_9, x_2, x_15, x_66, x_67, x_35, x_37, x_16, x_69, x_21, x_22, x_23, x_24, x_56); +lean_dec(x_67); +return x_70; +} +else +{ +uint8_t x_71; +lean_dec(x_50); lean_dec(x_37); lean_dec(x_35); lean_dec(x_28); @@ -1483,29 +1543,29 @@ lean_dec(x_12); lean_dec(x_9); lean_dec(x_8); lean_dec(x_6); -x_69 = !lean_is_exclusive(x_52); -if (x_69 == 0) +x_71 = !lean_is_exclusive(x_54); +if (x_71 == 0) { -return x_52; +return x_54; } else { -lean_object* x_70; lean_object* x_71; lean_object* x_72; -x_70 = lean_ctor_get(x_52, 0); -x_71 = lean_ctor_get(x_52, 1); -lean_inc(x_71); -lean_inc(x_70); -lean_dec(x_52); -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; +lean_object* x_72; lean_object* x_73; lean_object* x_74; +x_72 = lean_ctor_get(x_54, 0); +x_73 = lean_ctor_get(x_54, 1); +lean_inc(x_73); +lean_inc(x_72); +lean_dec(x_54); +x_74 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_74, 0, x_72); +lean_ctor_set(x_74, 1, x_73); +return x_74; } } } else { -uint8_t x_73; +uint8_t x_75; lean_dec(x_37); lean_dec(x_35); lean_dec(x_31); @@ -1519,29 +1579,30 @@ lean_dec(x_12); lean_dec(x_9); lean_dec(x_8); lean_dec(x_6); -x_73 = !lean_is_exclusive(x_45); -if (x_73 == 0) +x_75 = !lean_is_exclusive(x_47); +if (x_75 == 0) { -return x_45; +return x_47; } else { -lean_object* x_74; lean_object* x_75; lean_object* x_76; -x_74 = lean_ctor_get(x_45, 0); -x_75 = lean_ctor_get(x_45, 1); -lean_inc(x_75); -lean_inc(x_74); -lean_dec(x_45); -x_76 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_76, 0, x_74); -lean_ctor_set(x_76, 1, x_75); -return x_76; +lean_object* x_76; lean_object* x_77; lean_object* x_78; +x_76 = lean_ctor_get(x_47, 0); +x_77 = lean_ctor_get(x_47, 1); +lean_inc(x_77); +lean_inc(x_76); +lean_dec(x_47); +x_78 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_78, 0, x_76); +lean_ctor_set(x_78, 1, x_77); +return x_78; +} } } } else { -uint8_t x_77; +uint8_t x_83; lean_dec(x_37); lean_dec(x_35); lean_dec(x_32); @@ -1557,29 +1618,29 @@ lean_dec(x_12); lean_dec(x_9); lean_dec(x_8); lean_dec(x_6); -x_77 = !lean_is_exclusive(x_41); -if (x_77 == 0) +x_83 = !lean_is_exclusive(x_41); +if (x_83 == 0) { return x_41; } else { -lean_object* x_78; lean_object* x_79; lean_object* x_80; -x_78 = lean_ctor_get(x_41, 0); -x_79 = lean_ctor_get(x_41, 1); -lean_inc(x_79); -lean_inc(x_78); +lean_object* x_84; lean_object* x_85; lean_object* x_86; +x_84 = lean_ctor_get(x_41, 0); +x_85 = lean_ctor_get(x_41, 1); +lean_inc(x_85); +lean_inc(x_84); lean_dec(x_41); -x_80 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_80, 0, x_78); -lean_ctor_set(x_80, 1, x_79); -return x_80; +x_86 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_86, 0, x_84); +lean_ctor_set(x_86, 1, x_85); +return x_86; } } } else { -uint8_t x_81; +uint8_t x_87; lean_dec(x_35); lean_dec(x_33); lean_dec(x_32); @@ -1595,23 +1656,23 @@ lean_dec(x_12); lean_dec(x_9); lean_dec(x_8); lean_dec(x_6); -x_81 = !lean_is_exclusive(x_36); -if (x_81 == 0) +x_87 = !lean_is_exclusive(x_36); +if (x_87 == 0) { return x_36; } else { -lean_object* x_82; lean_object* x_83; lean_object* x_84; -x_82 = lean_ctor_get(x_36, 0); -x_83 = lean_ctor_get(x_36, 1); -lean_inc(x_83); -lean_inc(x_82); +lean_object* x_88; lean_object* x_89; lean_object* x_90; +x_88 = lean_ctor_get(x_36, 0); +x_89 = lean_ctor_get(x_36, 1); +lean_inc(x_89); +lean_inc(x_88); lean_dec(x_36); -x_84 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_84, 0, x_82); -lean_ctor_set(x_84, 1, x_83); -return x_84; +x_90 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_90, 0, x_88); +lean_ctor_set(x_90, 1, x_89); +return x_90; } } } @@ -1639,7 +1700,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_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop___lambda__3___closed__1; x_2 = l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop___lambda__3___closed__2; -x_3 = lean_unsigned_to_nat(110u); +x_3 = lean_unsigned_to_nat(115u); x_4 = lean_unsigned_to_nat(15u); 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); @@ -5010,7 +5071,7 @@ lean_inc(x_12); x_24 = l_Lean_Meta_revert(x_4, x_22, x_23, x_12, x_13, x_14, x_15, x_16); 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_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30; lean_object* x_31; x_25 = lean_ctor_get(x_24, 0); lean_inc(x_25); x_26 = lean_ctor_get(x_24, 1); @@ -5022,73 +5083,73 @@ x_28 = lean_ctor_get(x_25, 1); lean_inc(x_28); lean_dec(x_25); x_29 = lean_box(0); +x_30 = 0; lean_inc(x_15); lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); -x_30 = l_Lean_Meta_introNCore(x_28, x_17, x_29, x_23, x_12, x_13, x_14, x_15, x_26); -if (lean_obj_tag(x_30) == 0) +x_31 = l_Lean_Meta_introNCore(x_28, x_17, x_29, x_30, x_23, x_12, x_13, x_14, x_15, x_26); +if (lean_obj_tag(x_31) == 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_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); -lean_dec(x_30); -x_33 = lean_ctor_get(x_31, 0); +x_33 = lean_ctor_get(x_31, 1); lean_inc(x_33); -x_34 = lean_ctor_get(x_31, 1); -lean_inc(x_34); lean_dec(x_31); +x_34 = lean_ctor_get(x_32, 0); +lean_inc(x_34); +x_35 = lean_ctor_get(x_32, 1); +lean_inc(x_35); +lean_dec(x_32); lean_inc(x_15); lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); -x_35 = l_Lean_Meta_intro1Core(x_34, x_23, x_12, x_13, x_14, x_15, x_32); -if (lean_obj_tag(x_35) == 0) +x_36 = l_Lean_Meta_intro1Core(x_35, x_23, x_12, x_13, x_14, x_15, x_33); +if (lean_obj_tag(x_36) == 0) { -lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_55; lean_object* x_56; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; -x_36 = lean_ctor_get(x_35, 0); -lean_inc(x_36); -x_37 = lean_ctor_get(x_35, 1); +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_56; lean_object* x_57; lean_object* x_67; lean_object* x_68; lean_object* x_69; uint8_t x_70; +x_37 = lean_ctor_get(x_36, 0); lean_inc(x_37); -lean_dec(x_35); -x_38 = lean_ctor_get(x_36, 0); +x_38 = lean_ctor_get(x_36, 1); lean_inc(x_38); -x_39 = lean_ctor_get(x_36, 1); -lean_inc(x_39); lean_dec(x_36); -x_40 = l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__9___lambda__2___closed__1; -x_41 = l_Array_forInUnsafe_loop___at_Lean_Meta_induction___spec__5(x_33, x_1, x_18, x_2, x_40); +x_39 = lean_ctor_get(x_37, 0); +lean_inc(x_39); +x_40 = lean_ctor_get(x_37, 1); +lean_inc(x_40); +lean_dec(x_37); +x_41 = l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__9___lambda__2___closed__1; +x_42 = l_Array_forInUnsafe_loop___at_Lean_Meta_induction___spec__5(x_34, x_1, x_18, x_2, x_41); lean_dec(x_1); -x_42 = lean_ctor_get(x_41, 0); -lean_inc(x_42); -lean_dec(x_41); -x_66 = lean_st_ref_get(x_15, x_37); -x_67 = lean_ctor_get(x_66, 0); -lean_inc(x_67); -x_68 = lean_ctor_get(x_67, 3); +x_43 = lean_ctor_get(x_42, 0); +lean_inc(x_43); +lean_dec(x_42); +x_67 = lean_st_ref_get(x_15, x_38); +x_68 = lean_ctor_get(x_67, 0); lean_inc(x_68); -lean_dec(x_67); -x_69 = lean_ctor_get_uint8(x_68, sizeof(void*)*1); +x_69 = lean_ctor_get(x_68, 3); +lean_inc(x_69); lean_dec(x_68); -if (x_69 == 0) +x_70 = lean_ctor_get_uint8(x_69, sizeof(void*)*1); +lean_dec(x_69); +if (x_70 == 0) { -lean_object* x_70; uint8_t x_71; -x_70 = lean_ctor_get(x_66, 1); -lean_inc(x_70); -lean_dec(x_66); -x_71 = 0; -x_55 = x_71; -x_56 = x_70; -goto block_65; +lean_object* x_71; +x_71 = lean_ctor_get(x_67, 1); +lean_inc(x_71); +lean_dec(x_67); +x_56 = x_30; +x_57 = x_71; +goto block_66; } else { lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77; -x_72 = lean_ctor_get(x_66, 1); +x_72 = lean_ctor_get(x_67, 1); lean_inc(x_72); -lean_dec(x_66); +lean_dec(x_67); x_73 = l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__9___lambda__2___closed__2; x_74 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_73, x_12, x_13, x_14, x_15, x_72); x_75 = lean_ctor_get(x_74, 0); @@ -5098,79 +5159,79 @@ lean_inc(x_76); lean_dec(x_74); x_77 = lean_unbox(x_75); lean_dec(x_75); -x_55 = x_77; -x_56 = x_76; -goto block_65; +x_56 = x_77; +x_57 = x_76; +goto block_66; } -block_54: +block_55: { -lean_object* x_44; size_t x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_44 = lean_array_get_size(x_33); -x_45 = lean_usize_of_nat(x_44); -lean_dec(x_44); -x_46 = x_33; -x_47 = l_Array_mapMUnsafe_map___at_Lean_LocalContext_getFVars___spec__1(x_45, x_2, x_46); -x_48 = x_47; -lean_inc(x_38); -x_49 = l_Lean_mkFVar(x_38); +lean_object* x_45; size_t 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; +x_45 = lean_array_get_size(x_34); +x_46 = lean_usize_of_nat(x_45); +lean_dec(x_45); +x_47 = x_34; +x_48 = l_Array_mapMUnsafe_map___at_Lean_LocalContext_getFVars___spec__1(x_46, x_2, x_47); +x_49 = x_48; lean_inc(x_39); -x_50 = lean_alloc_closure((void*)(l_Lean_Meta_getMVarType___boxed), 6, 1); -lean_closure_set(x_50, 0, x_39); -lean_inc(x_39); -x_51 = lean_alloc_closure((void*)(l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__9___lambda__1___boxed), 18, 12); -lean_closure_set(x_51, 0, x_38); -lean_closure_set(x_51, 1, x_5); -lean_closure_set(x_51, 2, x_39); -lean_closure_set(x_51, 3, x_6); -lean_closure_set(x_51, 4, x_7); -lean_closure_set(x_51, 5, x_8); -lean_closure_set(x_51, 6, x_9); -lean_closure_set(x_51, 7, x_10); -lean_closure_set(x_51, 8, x_27); -lean_closure_set(x_51, 9, x_42); -lean_closure_set(x_51, 10, x_48); -lean_closure_set(x_51, 11, x_49); -x_52 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); -lean_closure_set(x_52, 0, x_50); -lean_closure_set(x_52, 1, x_51); -x_53 = l_Lean_Meta_withMVarContext___at_Lean_Meta_induction___spec__8___rarg(x_39, x_52, x_12, x_13, x_14, x_15, x_43); -return x_53; +x_50 = l_Lean_mkFVar(x_39); +lean_inc(x_40); +x_51 = lean_alloc_closure((void*)(l_Lean_Meta_getMVarType___boxed), 6, 1); +lean_closure_set(x_51, 0, x_40); +lean_inc(x_40); +x_52 = lean_alloc_closure((void*)(l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__9___lambda__1___boxed), 18, 12); +lean_closure_set(x_52, 0, x_39); +lean_closure_set(x_52, 1, x_5); +lean_closure_set(x_52, 2, x_40); +lean_closure_set(x_52, 3, x_6); +lean_closure_set(x_52, 4, x_7); +lean_closure_set(x_52, 5, x_8); +lean_closure_set(x_52, 6, x_9); +lean_closure_set(x_52, 7, x_10); +lean_closure_set(x_52, 8, x_27); +lean_closure_set(x_52, 9, x_43); +lean_closure_set(x_52, 10, x_49); +lean_closure_set(x_52, 11, x_50); +x_53 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); +lean_closure_set(x_53, 0, x_51); +lean_closure_set(x_53, 1, x_52); +x_54 = l_Lean_Meta_withMVarContext___at_Lean_Meta_induction___spec__8___rarg(x_40, x_53, x_12, x_13, x_14, x_15, x_44); +return x_54; } -block_65: +block_66: { -if (x_55 == 0) +if (x_56 == 0) { -x_43 = x_56; -goto block_54; +x_44 = x_57; +goto block_55; } else { -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_inc(x_39); -x_57 = lean_alloc_ctor(5, 1, 0); -lean_ctor_set(x_57, 0, x_39); -x_58 = l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__9___lambda__2___closed__4; -x_59 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_59, 0, x_58); -lean_ctor_set(x_59, 1, x_57); -x_60 = l_Lean_KernelException_toMessageData___closed__15; -x_61 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_61, 0, x_59); -lean_ctor_set(x_61, 1, x_60); -x_62 = l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__9___lambda__2___closed__2; -x_63 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_62, x_61, x_12, x_13, x_14, x_15, x_56); -x_64 = lean_ctor_get(x_63, 1); -lean_inc(x_64); -lean_dec(x_63); -x_43 = x_64; -goto block_54; +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_inc(x_40); +x_58 = lean_alloc_ctor(5, 1, 0); +lean_ctor_set(x_58, 0, x_40); +x_59 = l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__9___lambda__2___closed__4; +x_60 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_60, 0, x_59); +lean_ctor_set(x_60, 1, x_58); +x_61 = l_Lean_KernelException_toMessageData___closed__15; +x_62 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_62, 0, x_60); +lean_ctor_set(x_62, 1, x_61); +x_63 = l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__9___lambda__2___closed__2; +x_64 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_63, x_62, x_12, x_13, x_14, x_15, x_57); +x_65 = lean_ctor_get(x_64, 1); +lean_inc(x_65); +lean_dec(x_64); +x_44 = x_65; +goto block_55; } } } else { uint8_t x_78; -lean_dec(x_33); +lean_dec(x_34); lean_dec(x_27); lean_dec(x_15); lean_dec(x_14); @@ -5183,19 +5244,19 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_1); -x_78 = !lean_is_exclusive(x_35); +x_78 = !lean_is_exclusive(x_36); if (x_78 == 0) { -return x_35; +return x_36; } else { lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_79 = lean_ctor_get(x_35, 0); -x_80 = lean_ctor_get(x_35, 1); +x_79 = lean_ctor_get(x_36, 0); +x_80 = lean_ctor_get(x_36, 1); lean_inc(x_80); lean_inc(x_79); -lean_dec(x_35); +lean_dec(x_36); x_81 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_81, 0, x_79); lean_ctor_set(x_81, 1, x_80); @@ -5218,19 +5279,19 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_1); -x_82 = !lean_is_exclusive(x_30); +x_82 = !lean_is_exclusive(x_31); if (x_82 == 0) { -return x_30; +return x_31; } else { lean_object* x_83; lean_object* x_84; lean_object* x_85; -x_83 = lean_ctor_get(x_30, 0); -x_84 = lean_ctor_get(x_30, 1); +x_83 = lean_ctor_get(x_31, 0); +x_84 = lean_ctor_get(x_31, 1); lean_inc(x_84); lean_inc(x_83); -lean_dec(x_30); +lean_dec(x_31); x_85 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_85, 0, x_83); lean_ctor_set(x_85, 1, x_84); @@ -5772,27 +5833,27 @@ return x_45; } } } -lean_object* l_Lean_Meta_induction(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* l_Lean_Meta_induction(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_11 = l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_addRecParams___closed__1; +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_10 = l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_addRecParams___closed__1; lean_inc(x_1); -x_12 = lean_alloc_closure((void*)(l_Lean_Meta_checkNotAssigned___boxed), 7, 2); -lean_closure_set(x_12, 0, x_1); -lean_closure_set(x_12, 1, x_11); +x_11 = lean_alloc_closure((void*)(l_Lean_Meta_checkNotAssigned___boxed), 7, 2); +lean_closure_set(x_11, 0, x_1); +lean_closure_set(x_11, 1, x_10); lean_inc(x_1); -x_13 = lean_alloc_closure((void*)(l_Lean_Meta_induction___lambda__1___boxed), 11, 5); -lean_closure_set(x_13, 0, x_2); -lean_closure_set(x_13, 1, x_3); -lean_closure_set(x_13, 2, x_1); -lean_closure_set(x_13, 3, x_4); -lean_closure_set(x_13, 4, x_11); -x_14 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); -lean_closure_set(x_14, 0, x_12); -lean_closure_set(x_14, 1, x_13); -x_15 = l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__1___rarg(x_1, x_14, x_6, x_7, x_8, x_9, x_10); -return x_15; +x_12 = lean_alloc_closure((void*)(l_Lean_Meta_induction___lambda__1___boxed), 11, 5); +lean_closure_set(x_12, 0, x_2); +lean_closure_set(x_12, 1, x_3); +lean_closure_set(x_12, 2, x_1); +lean_closure_set(x_12, 3, x_4); +lean_closure_set(x_12, 4, x_10); +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_5, x_6, x_7, x_8, x_9); +return x_14; } } lean_object* l_List_forM___at_Lean_Meta_induction___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) { @@ -6084,17 +6145,7 @@ lean_dec(x_6); return x_12; } } -lean_object* l_Lean_Meta_induction___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: -{ -uint8_t x_11; lean_object* x_12; -x_11 = lean_unbox(x_5); -lean_dec(x_5); -x_12 = l_Lean_Meta_induction(x_1, x_2, x_3, x_4, x_11, x_6, x_7, x_8, x_9, x_10); -return x_12; -} -} -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Induction___hyg_2427_(lean_object* x_1) { +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Induction___hyg_2441_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -6162,6 +6213,13 @@ l_Lean_Meta_instInhabitedInductionSubgoal___closed__1 = _init_l_Lean_Meta_instIn lean_mark_persistent(l_Lean_Meta_instInhabitedInductionSubgoal___closed__1); l_Lean_Meta_instInhabitedInductionSubgoal = _init_l_Lean_Meta_instInhabitedInductionSubgoal(); lean_mark_persistent(l_Lean_Meta_instInhabitedInductionSubgoal); +l_Lean_Meta_AltVarNames_explicit___default = _init_l_Lean_Meta_AltVarNames_explicit___default(); +l_Lean_Meta_AltVarNames_varNames___default = _init_l_Lean_Meta_AltVarNames_varNames___default(); +lean_mark_persistent(l_Lean_Meta_AltVarNames_varNames___default); +l_Lean_Meta_instInhabitedAltVarNames___closed__1 = _init_l_Lean_Meta_instInhabitedAltVarNames___closed__1(); +lean_mark_persistent(l_Lean_Meta_instInhabitedAltVarNames___closed__1); +l_Lean_Meta_instInhabitedAltVarNames = _init_l_Lean_Meta_instInhabitedAltVarNames(); +lean_mark_persistent(l_Lean_Meta_instInhabitedAltVarNames); l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop___lambda__3___closed__1 = _init_l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop___lambda__3___closed__1(); lean_mark_persistent(l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop___lambda__3___closed__1); l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop___lambda__3___closed__2 = _init_l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop___lambda__3___closed__2(); @@ -6226,7 +6284,7 @@ l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__9___closed__2 = _init_l_ lean_mark_persistent(l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__9___closed__2); l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__9___boxed__const__1 = _init_l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__9___boxed__const__1(); lean_mark_persistent(l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__9___boxed__const__1); -res = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Induction___hyg_2427_(lean_io_mk_world()); +res = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Induction___hyg_2441_(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/Intro.c b/stage0/stdlib/Lean/Meta/Tactic/Intro.c index 6107b804cd..0fe0873de8 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Intro.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Intro.c @@ -15,14 +15,14 @@ extern "C" { #endif lean_object* l_Lean_Meta_withNewLocalInstances___at_Lean_Meta_introNCore___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop_match__1(lean_object*, lean_object*); +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__4; size_t l_USize_add(size_t, size_t); -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__1; lean_object* l_Lean_Expr_mvarId_x21(lean_object*); lean_object* l_Lean_Meta_intro1Core___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, 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* lean_local_ctx_get_unused_name(lean_object*, lean_object*); extern lean_object* l_Std_Format_format_unicode___closed__1; -lean_object* l_Lean_Meta_introN(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_introN(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_name_mk_string(lean_object*, lean_object*); lean_object* lean_array_uget(lean_object*, size_t); lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___lambda__1___closed__4; @@ -35,28 +35,27 @@ lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Tactic_Intro_0__Lea lean_object* l_Lean_Meta_getHygienicIntro___rarg___boxed(lean_object*, lean_object*, lean_object*); extern lean_object* l_Array_empty___closed__1; uint8_t lean_name_eq(lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__3; -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__4; lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop_match__2(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*); -lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1___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* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__1; +lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1___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_Tactic_Intro_0__Lean_Meta_introNImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_USize_decLt(size_t, size_t); -lean_object* l_Lean_Meta_introNCore___lambda__1(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_introNCore___lambda__1(lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, 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* lean_nat_add(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___lambda__1___closed__5; lean_object* l_Lean_Meta_intro_match__1___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp(lean_object*); lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___closed__1; -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575_(lean_object*); +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580_(lean_object*); extern lean_object* l_Lean_Meta_commitWhenSome_x3f___rarg___closed__1; lean_object* l_Lean_Meta_intro(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__3; lean_object* l_Lean_Meta_withNewLocalInstances___rarg(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___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(lean_object*, lean_object*, lean_object*, lean_object*); @@ -67,7 +66,7 @@ lean_object* l_Lean_Meta_introNP(lean_object*, lean_object*, lean_object*, lean_ lean_object* l_Lean_Meta_getMVarType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); -lean_object* l_Lean_Meta_introNCore___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_introNCore___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_monadNameGeneratorLift___rarg(lean_object*, lean_object*); lean_object* l_Lean_Expr_headBeta(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*); @@ -76,9 +75,10 @@ lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop(lean lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkFreshId___rarg(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkLambdaFVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp___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_Expr_fvarId_x21(lean_object*); lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop_match__1___rarg(lean_object*, lean_object*); +lean_object* l_Lean_Meta_introN___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_Tactic_Intro_0__Lean_Meta_introNImp_loop_match__2___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___lambda__1___closed__1; lean_object* l_Lean_Meta_intro1P(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -86,25 +86,29 @@ lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___ra lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___lambda__1___closed__3; extern lean_object* l_Lean_Core_instMonadNameGeneratorCoreM; extern lean_object* l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__2; +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__3; lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp___rarg___lambda__1(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_mkSimpleThunk___closed__1; -lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp(uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isForall(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_Tactic_Intro_0__Lean_Meta_introNImp_match__1(lean_object*); +lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp_mkAuxNameWithoutGivenName___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_mkFVar(lean_object*); uint8_t l_Lean_Expr_Data_binderInfo(uint64_t); size_t lean_usize_of_nat(lean_object*); +lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp_mkAuxNameWithoutGivenName(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_local_ctx_mk_local_decl(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); 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_Lean_Meta_assignExprMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop_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* l_Lean_Meta_withNewLocalInstances___at_Lean_Meta_introNCore___spec__2(lean_object*); +uint8_t l_Lean_BinderInfo_isExplicit(uint8_t); lean_object* l_Lean_Meta_intro_match__1(lean_object*); lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___closed__3; -lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1___lambda__1(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1___lambda__1(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getHygienicIntro___boxed(lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp___spec__1(size_t, size_t, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImpAux___at_Lean_Meta_withNewLocalInstances___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -114,17 +118,17 @@ lean_object* l_Lean_Meta_getHygienicIntro(lean_object*, lean_object*); lean_object* l_Lean_Meta_intro1Core_match__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_Meta_intro1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop_match__3___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__2; lean_object* l_Lean_Meta_hygienicIntro; lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop_match__3(lean_object*, lean_object*); -lean_object* l_Lean_Meta_introNCore___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_introNCore___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Tactic_tactic___x3c_x3b_x3e_____closed__5; lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_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*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp_match__1(lean_object*); lean_object* l_Lean_Meta_intro1Core_match__1(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_unsafeCast(lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__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*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1(uint8_t, uint8_t, 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_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__2; lean_object* l_Lean_Meta_getMVarTag___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkFreshId___at_Lean_Meta_mkFreshExprMVarAt___spec__1___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___closed__2; @@ -519,48 +523,50 @@ lean_inc(x_9); x_28 = lean_apply_5(x_27, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_28) == 0) { -lean_object* x_29; lean_object* x_30; lean_object* x_31; +lean_object* x_29; lean_object* x_30; uint8_t x_31; uint8_t x_32; lean_object* x_33; lean_object* x_34; x_29 = lean_ctor_get(x_28, 0); lean_inc(x_29); x_30 = lean_ctor_get(x_28, 1); lean_inc(x_30); lean_dec(x_28); +x_31 = (uint8_t)((x_21 << 24) >> 61); +x_32 = l_Lean_BinderInfo_isExplicit(x_31); +x_33 = lean_box(x_32); lean_inc(x_2); lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_4); -x_31 = lean_apply_8(x_2, x_4, x_18, x_7, x_9, x_10, x_11, x_12, x_30); -if (lean_obj_tag(x_31) == 0) +x_34 = lean_apply_9(x_2, x_4, x_18, x_33, x_7, x_9, x_10, x_11, x_12, x_30); +if (lean_obj_tag(x_34) == 0) { -lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -lean_dec(x_31); -x_34 = lean_ctor_get(x_32, 0); -lean_inc(x_34); -x_35 = lean_ctor_get(x_32, 1); +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); -lean_dec(x_32); -x_36 = (uint8_t)((x_21 << 24) >> 61); +x_36 = lean_ctor_get(x_34, 1); +lean_inc(x_36); +lean_dec(x_34); +x_37 = lean_ctor_get(x_35, 0); +lean_inc(x_37); +x_38 = lean_ctor_get(x_35, 1); +lean_inc(x_38); +lean_dec(x_35); lean_inc(x_29); -x_37 = lean_local_ctx_mk_local_decl(x_4, x_29, x_34, x_24, x_36); -x_38 = l_Lean_mkFVar(x_29); -x_39 = lean_array_push(x_5, x_38); +x_39 = lean_local_ctx_mk_local_decl(x_4, x_29, x_37, x_24, x_31); +x_40 = l_Lean_mkFVar(x_29); +x_41 = lean_array_push(x_5, x_40); x_3 = x_17; -x_4 = x_37; -x_5 = x_39; -x_7 = x_35; +x_4 = x_39; +x_5 = x_41; +x_7 = x_38; x_8 = x_20; -x_13 = x_33; +x_13 = x_36; goto _start; } else { -uint8_t x_41; +uint8_t x_43; lean_dec(x_29); lean_dec(x_24); lean_dec(x_20); @@ -574,29 +580,29 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -x_41 = !lean_is_exclusive(x_31); -if (x_41 == 0) +x_43 = !lean_is_exclusive(x_34); +if (x_43 == 0) { -return x_31; +return x_34; } else { -lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_42 = lean_ctor_get(x_31, 0); -x_43 = lean_ctor_get(x_31, 1); -lean_inc(x_43); -lean_inc(x_42); -lean_dec(x_31); -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; +lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_44 = lean_ctor_get(x_34, 0); +x_45 = lean_ctor_get(x_34, 1); +lean_inc(x_45); +lean_inc(x_44); +lean_dec(x_34); +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_45; +uint8_t x_47; lean_dec(x_24); lean_dec(x_20); lean_dec(x_18); @@ -611,162 +617,126 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_28); -if (x_45 == 0) +x_47 = !lean_is_exclusive(x_28); +if (x_47 == 0) { return x_28; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_28, 0); -x_47 = lean_ctor_get(x_28, 1); -lean_inc(x_47); -lean_inc(x_46); +lean_object* x_48; lean_object* x_49; lean_object* x_50; +x_48 = lean_ctor_get(x_28, 0); +x_49 = lean_ctor_get(x_28, 1); +lean_inc(x_49); +lean_inc(x_48); lean_dec(x_28); -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; +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; } } } case 8: { -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_49 = lean_ctor_get(x_8, 0); -lean_inc(x_49); -x_50 = lean_ctor_get(x_8, 1); -lean_inc(x_50); -x_51 = lean_ctor_get(x_8, 2); +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; +x_51 = lean_ctor_get(x_8, 0); lean_inc(x_51); -x_52 = lean_ctor_get(x_8, 3); +x_52 = lean_ctor_get(x_8, 1); lean_inc(x_52); +x_53 = lean_ctor_get(x_8, 2); +lean_inc(x_53); +x_54 = lean_ctor_get(x_8, 3); +lean_inc(x_54); lean_dec(x_8); -x_53 = lean_array_get_size(x_5); -x_54 = lean_expr_instantiate_rev_range(x_50, x_6, x_53, x_5); -lean_dec(x_50); -x_55 = l_Lean_Expr_headBeta(x_54); -x_56 = lean_expr_instantiate_rev_range(x_51, x_6, x_53, x_5); +x_55 = lean_array_get_size(x_5); +x_56 = lean_expr_instantiate_rev_range(x_52, x_6, x_55, x_5); +lean_dec(x_52); +x_57 = l_Lean_Expr_headBeta(x_56); +x_58 = lean_expr_instantiate_rev_range(x_53, x_6, x_55, x_5); +lean_dec(x_55); lean_dec(x_53); -lean_dec(x_51); -x_57 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__3; -x_58 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___closed__3; -x_59 = l_Lean_mkFreshId___rarg(x_57, x_58); +x_59 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__3; +x_60 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___closed__3; +x_61 = l_Lean_mkFreshId___rarg(x_59, x_60); lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -x_60 = lean_apply_5(x_59, x_9, x_10, x_11, x_12, x_13); -if (lean_obj_tag(x_60) == 0) +x_62 = lean_apply_5(x_61, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_62) == 0) { -lean_object* x_61; lean_object* x_62; lean_object* x_63; -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); +lean_object* x_63; lean_object* x_64; uint8_t x_65; lean_object* x_66; lean_object* x_67; +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 = 1; +x_66 = lean_box(x_65); lean_inc(x_2); lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_4); -x_63 = lean_apply_8(x_2, x_4, x_49, x_7, x_9, x_10, x_11, x_12, x_62); -if (lean_obj_tag(x_63) == 0) +x_67 = lean_apply_9(x_2, x_4, x_51, x_66, x_7, x_9, x_10, x_11, x_12, x_64); +if (lean_obj_tag(x_67) == 0) { -lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; -x_64 = lean_ctor_get(x_63, 0); -lean_inc(x_64); -x_65 = lean_ctor_get(x_63, 1); -lean_inc(x_65); -lean_dec(x_63); -x_66 = lean_ctor_get(x_64, 0); -lean_inc(x_66); -x_67 = lean_ctor_get(x_64, 1); -lean_inc(x_67); -lean_dec(x_64); -x_68 = 0; -lean_inc(x_61); -x_69 = lean_local_ctx_mk_let_decl(x_4, x_61, x_66, x_55, x_56, x_68); -x_70 = l_Lean_mkFVar(x_61); -x_71 = lean_array_push(x_5, x_70); +lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; +x_68 = lean_ctor_get(x_67, 0); +lean_inc(x_68); +x_69 = lean_ctor_get(x_67, 1); +lean_inc(x_69); +lean_dec(x_67); +x_70 = lean_ctor_get(x_68, 0); +lean_inc(x_70); +x_71 = lean_ctor_get(x_68, 1); +lean_inc(x_71); +lean_dec(x_68); +x_72 = 0; +lean_inc(x_63); +x_73 = lean_local_ctx_mk_let_decl(x_4, x_63, x_70, x_57, x_58, x_72); +x_74 = l_Lean_mkFVar(x_63); +x_75 = lean_array_push(x_5, x_74); x_3 = x_17; -x_4 = x_69; -x_5 = x_71; -x_7 = x_67; -x_8 = x_52; -x_13 = x_65; +x_4 = x_73; +x_5 = x_75; +x_7 = x_71; +x_8 = x_54; +x_13 = x_69; goto _start; } else { -uint8_t x_73; -lean_dec(x_61); -lean_dec(x_56); -lean_dec(x_55); -lean_dec(x_52); -lean_dec(x_17); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -lean_dec(x_1); -x_73 = !lean_is_exclusive(x_63); -if (x_73 == 0) -{ -return x_63; -} -else -{ -lean_object* x_74; lean_object* x_75; lean_object* x_76; -x_74 = lean_ctor_get(x_63, 0); -x_75 = lean_ctor_get(x_63, 1); -lean_inc(x_75); -lean_inc(x_74); -lean_dec(x_63); -x_76 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_76, 0, x_74); -lean_ctor_set(x_76, 1, x_75); -return x_76; -} -} -} -else -{ uint8_t x_77; -lean_dec(x_56); -lean_dec(x_55); -lean_dec(x_52); -lean_dec(x_49); +lean_dec(x_63); +lean_dec(x_58); +lean_dec(x_57); +lean_dec(x_54); lean_dec(x_17); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); -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_77 = !lean_is_exclusive(x_60); +x_77 = !lean_is_exclusive(x_67); if (x_77 == 0) { -return x_60; +return x_67; } else { lean_object* x_78; lean_object* x_79; lean_object* x_80; -x_78 = lean_ctor_get(x_60, 0); -x_79 = lean_ctor_get(x_60, 1); +x_78 = lean_ctor_get(x_67, 0); +x_79 = lean_ctor_get(x_67, 1); lean_inc(x_79); lean_inc(x_78); -lean_dec(x_60); +lean_dec(x_67); x_80 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_80, 0, x_78); lean_ctor_set(x_80, 1, x_79); @@ -774,120 +744,158 @@ return x_80; } } } +else +{ +uint8_t x_81; +lean_dec(x_58); +lean_dec(x_57); +lean_dec(x_54); +lean_dec(x_51); +lean_dec(x_17); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +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_81 = !lean_is_exclusive(x_62); +if (x_81 == 0) +{ +return x_62; +} +else +{ +lean_object* x_82; lean_object* x_83; lean_object* x_84; +x_82 = lean_ctor_get(x_62, 0); +x_83 = lean_ctor_get(x_62, 1); +lean_inc(x_83); +lean_inc(x_82); +lean_dec(x_62); +x_84 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_84, 0, x_82); +lean_ctor_set(x_84, 1, x_83); +return x_84; +} +} +} default: { -lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; uint8_t x_87; -x_81 = lean_array_get_size(x_5); -x_82 = lean_expr_instantiate_rev_range(x_8, x_6, x_81, x_5); +lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; uint8_t x_91; +x_85 = lean_array_get_size(x_5); +x_86 = lean_expr_instantiate_rev_range(x_8, x_6, x_85, x_5); lean_dec(x_8); -x_83 = lean_alloc_closure((void*)(l_Lean_Meta_whnf), 6, 1); -lean_closure_set(x_83, 0, x_82); +x_87 = lean_alloc_closure((void*)(l_Lean_Meta_whnf), 6, 1); +lean_closure_set(x_87, 0, x_86); lean_inc(x_5); lean_inc(x_4); -x_84 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___lambda__1___boxed), 13, 7); -lean_closure_set(x_84, 0, x_1); -lean_closure_set(x_84, 1, x_17); -lean_closure_set(x_84, 2, x_2); -lean_closure_set(x_84, 3, x_4); -lean_closure_set(x_84, 4, x_5); -lean_closure_set(x_84, 5, x_81); -lean_closure_set(x_84, 6, x_7); -x_85 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__2; -x_86 = lean_alloc_closure((void*)(l_ReaderT_bind___rarg), 6, 5); -lean_closure_set(x_86, 0, x_85); -lean_closure_set(x_86, 1, lean_box(0)); -lean_closure_set(x_86, 2, lean_box(0)); -lean_closure_set(x_86, 3, x_83); -lean_closure_set(x_86, 4, x_84); -x_87 = !lean_is_exclusive(x_9); -if (x_87 == 0) +x_88 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___lambda__1___boxed), 13, 7); +lean_closure_set(x_88, 0, x_1); +lean_closure_set(x_88, 1, x_17); +lean_closure_set(x_88, 2, x_2); +lean_closure_set(x_88, 3, x_4); +lean_closure_set(x_88, 4, x_5); +lean_closure_set(x_88, 5, x_85); +lean_closure_set(x_88, 6, x_7); +x_89 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__2; +x_90 = lean_alloc_closure((void*)(l_ReaderT_bind___rarg), 6, 5); +lean_closure_set(x_90, 0, x_89); +lean_closure_set(x_90, 1, lean_box(0)); +lean_closure_set(x_90, 2, lean_box(0)); +lean_closure_set(x_90, 3, x_87); +lean_closure_set(x_90, 4, x_88); +x_91 = !lean_is_exclusive(x_9); +if (x_91 == 0) { -lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; -x_88 = lean_ctor_get(x_9, 1); -lean_dec(x_88); +lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; +x_92 = lean_ctor_get(x_9, 1); +lean_dec(x_92); lean_ctor_set(x_9, 1, x_4); -x_89 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___closed__1; -x_90 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__3; -x_91 = l_Lean_Meta_withNewLocalInstances___rarg(x_89, x_90, lean_box(0), x_5, x_6, x_86); -x_92 = lean_apply_5(x_91, x_9, x_10, x_11, x_12, x_13); -return x_92; +x_93 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___closed__1; +x_94 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__3; +x_95 = l_Lean_Meta_withNewLocalInstances___rarg(x_93, x_94, lean_box(0), x_5, x_6, x_90); +x_96 = lean_apply_5(x_95, x_9, x_10, x_11, x_12, x_13); +return x_96; } else { -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; -x_93 = lean_ctor_get(x_9, 0); -x_94 = lean_ctor_get(x_9, 2); -lean_inc(x_94); -lean_inc(x_93); +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; +x_97 = lean_ctor_get(x_9, 0); +x_98 = lean_ctor_get(x_9, 2); +lean_inc(x_98); +lean_inc(x_97); lean_dec(x_9); -x_95 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_95, 0, x_93); -lean_ctor_set(x_95, 1, x_4); -lean_ctor_set(x_95, 2, x_94); -x_96 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___closed__1; -x_97 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__3; -x_98 = l_Lean_Meta_withNewLocalInstances___rarg(x_96, x_97, lean_box(0), x_5, x_6, x_86); -x_99 = lean_apply_5(x_98, x_95, x_10, x_11, x_12, x_13); -return x_99; +x_99 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_99, 0, x_97); +lean_ctor_set(x_99, 1, x_4); +lean_ctor_set(x_99, 2, x_98); +x_100 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___closed__1; +x_101 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__3; +x_102 = l_Lean_Meta_withNewLocalInstances___rarg(x_100, x_101, lean_box(0), x_5, x_6, x_90); +x_103 = lean_apply_5(x_102, x_99, x_10, x_11, x_12, x_13); +return x_103; } } } } else { -lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106; +lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; uint8_t x_110; lean_dec(x_7); lean_dec(x_3); lean_dec(x_2); -x_100 = lean_array_get_size(x_5); -x_101 = lean_expr_instantiate_rev_range(x_8, x_6, x_100, x_5); -lean_dec(x_100); +x_104 = lean_array_get_size(x_5); +x_105 = lean_expr_instantiate_rev_range(x_8, x_6, x_104, x_5); +lean_dec(x_104); lean_dec(x_8); lean_inc(x_1); -x_102 = lean_alloc_closure((void*)(l_Lean_Meta_getMVarTag___boxed), 6, 1); -lean_closure_set(x_102, 0, x_1); +x_106 = lean_alloc_closure((void*)(l_Lean_Meta_getMVarTag___boxed), 6, 1); +lean_closure_set(x_106, 0, x_1); lean_inc(x_5); -x_103 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___lambda__2___boxed), 9, 3); -lean_closure_set(x_103, 0, x_101); -lean_closure_set(x_103, 1, x_5); -lean_closure_set(x_103, 2, x_1); -x_104 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__2; -x_105 = lean_alloc_closure((void*)(l_ReaderT_bind___rarg), 6, 5); -lean_closure_set(x_105, 0, x_104); -lean_closure_set(x_105, 1, lean_box(0)); -lean_closure_set(x_105, 2, lean_box(0)); -lean_closure_set(x_105, 3, x_102); -lean_closure_set(x_105, 4, x_103); -x_106 = !lean_is_exclusive(x_9); -if (x_106 == 0) +x_107 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___lambda__2___boxed), 9, 3); +lean_closure_set(x_107, 0, x_105); +lean_closure_set(x_107, 1, x_5); +lean_closure_set(x_107, 2, x_1); +x_108 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__2; +x_109 = lean_alloc_closure((void*)(l_ReaderT_bind___rarg), 6, 5); +lean_closure_set(x_109, 0, x_108); +lean_closure_set(x_109, 1, lean_box(0)); +lean_closure_set(x_109, 2, lean_box(0)); +lean_closure_set(x_109, 3, x_106); +lean_closure_set(x_109, 4, x_107); +x_110 = !lean_is_exclusive(x_9); +if (x_110 == 0) { -lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; -x_107 = lean_ctor_get(x_9, 1); -lean_dec(x_107); +lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; +x_111 = lean_ctor_get(x_9, 1); +lean_dec(x_111); lean_ctor_set(x_9, 1, x_4); -x_108 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___closed__1; -x_109 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__3; -x_110 = l_Lean_Meta_withNewLocalInstances___rarg(x_108, x_109, lean_box(0), x_5, x_6, x_105); -x_111 = lean_apply_5(x_110, x_9, x_10, x_11, x_12, x_13); -return x_111; +x_112 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___closed__1; +x_113 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__3; +x_114 = l_Lean_Meta_withNewLocalInstances___rarg(x_112, x_113, lean_box(0), x_5, x_6, x_109); +x_115 = lean_apply_5(x_114, x_9, x_10, x_11, x_12, x_13); +return x_115; } else { -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_112 = lean_ctor_get(x_9, 0); -x_113 = lean_ctor_get(x_9, 2); -lean_inc(x_113); -lean_inc(x_112); +lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; +x_116 = lean_ctor_get(x_9, 0); +x_117 = lean_ctor_get(x_9, 2); +lean_inc(x_117); +lean_inc(x_116); lean_dec(x_9); -x_114 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_114, 0, x_112); -lean_ctor_set(x_114, 1, x_4); -lean_ctor_set(x_114, 2, x_113); -x_115 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___closed__1; -x_116 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__3; -x_117 = l_Lean_Meta_withNewLocalInstances___rarg(x_115, x_116, lean_box(0), x_5, x_6, x_105); -x_118 = lean_apply_5(x_117, x_114, x_10, x_11, x_12, x_13); -return x_118; +x_118 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_118, 0, x_116); +lean_ctor_set(x_118, 1, x_4); +lean_ctor_set(x_118, 2, x_117); +x_119 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___closed__1; +x_120 = l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__3; +x_121 = l_Lean_Meta_withNewLocalInstances___rarg(x_119, x_120, lean_box(0), x_5, x_6, x_109); +x_122 = lean_apply_5(x_121, x_118, x_10, x_11, x_12, x_13); +return x_122; } } } @@ -1160,7 +1168,7 @@ lean_dec(x_5); return x_11; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__1() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__1() { _start: { lean_object* x_1; @@ -1168,17 +1176,17 @@ x_1 = lean_mk_string("hygienicIntro"); return x_1; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__2() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__1; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__3() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__3() { _start: { lean_object* x_1; @@ -1186,13 +1194,13 @@ x_1 = lean_mk_string("make sure 'intro'-like tactics are hygienic"); return x_1; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__4() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____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_Parser_Tactic_tactic___x3c_x3b_x3e_____closed__5; -x_3 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__3; +x_3 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__3; x_4 = lean_box(x_1); x_5 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_5, 0, x_4); @@ -1201,12 +1209,12 @@ lean_ctor_set(x_5, 2, x_3); return x_5; } } -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575_(lean_object* x_1) { +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580_(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_Tactic_Intro___hyg_575____closed__2; -x_3 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__4; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__2; +x_3 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____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; } @@ -1286,169 +1294,72 @@ x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta return x_2; } } -lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp(uint8_t 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* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp_mkAuxNameWithoutGivenName(uint8_t 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) { _start: { -if (lean_obj_tag(x_5) == 0) -{ if (x_1 == 0) { if (x_2 == 0) { -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +lean_object* x_11; lean_object* x_12; lean_object* x_13; x_11 = lean_local_ctx_get_unused_name(x_3, x_4); -x_12 = lean_box(0); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_5); x_13 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_13, 0, x_11); -lean_ctor_set(x_13, 1, x_12); -x_14 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_14, 0, x_13); -lean_ctor_set(x_14, 1, x_10); +lean_ctor_set(x_13, 0, x_12); +lean_ctor_set(x_13, 1, x_10); +return x_13; +} +else +{ +lean_object* x_14; uint8_t x_15; +lean_dec(x_3); +x_14 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_4, x_8, x_9, x_10); +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; +x_16 = lean_ctor_get(x_14, 0); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_5); +lean_ctor_set(x_14, 0, x_17); return x_14; } else { -lean_object* x_15; uint8_t x_16; -lean_dec(x_3); -x_15 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_4, x_8, x_9, x_10); -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_15, 0); -x_18 = lean_box(0); -x_19 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_19, 0, x_17); -lean_ctor_set(x_19, 1, x_18); -lean_ctor_set(x_15, 0, x_19); -return x_15; +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_18 = lean_ctor_get(x_14, 0); +x_19 = lean_ctor_get(x_14, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_14); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_18); +lean_ctor_set(x_20, 1, x_5); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_21, 1, x_19); +return x_21; +} +} } else { -lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; -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_dec(x_15); -x_22 = lean_box(0); +lean_object* x_22; lean_object* x_23; +lean_dec(x_3); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_4); +lean_ctor_set(x_22, 1, x_5); x_23 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_23, 0, x_20); -lean_ctor_set(x_23, 1, 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_21); -return x_24; +lean_ctor_set(x_23, 0, x_22); +lean_ctor_set(x_23, 1, x_10); +return x_23; } } } -else -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; -lean_dec(x_3); -x_25 = lean_box(0); -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_4); -lean_ctor_set(x_26, 1, x_25); -x_27 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_27, 0, x_26); -lean_ctor_set(x_27, 1, x_10); -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_5, 0); -x_29 = lean_ctor_get(x_5, 1); -x_30 = l_Lean_mkSimpleThunk___closed__1; -x_31 = lean_name_eq(x_28, x_30); -if (x_31 == 0) -{ -lean_object* x_32; lean_object* x_33; -lean_dec(x_4); -lean_dec(x_3); -lean_inc(x_29); -lean_inc(x_28); -x_32 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_32, 0, x_28); -lean_ctor_set(x_32, 1, x_29); -x_33 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_33, 0, x_32); -lean_ctor_set(x_33, 1, x_10); -return x_33; -} -else -{ -if (x_1 == 0) -{ -if (x_2 == 0) -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_local_ctx_get_unused_name(x_3, x_4); -lean_inc(x_29); -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_34); -lean_ctor_set(x_35, 1, 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_10); -return x_36; -} -else -{ -lean_object* x_37; uint8_t x_38; -lean_dec(x_3); -x_37 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_4, x_8, x_9, x_10); -x_38 = !lean_is_exclusive(x_37); -if (x_38 == 0) -{ -lean_object* x_39; lean_object* x_40; -x_39 = lean_ctor_get(x_37, 0); -lean_inc(x_29); -x_40 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_29); -lean_ctor_set(x_37, 0, x_40); -return x_37; -} -else -{ -lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_41 = lean_ctor_get(x_37, 0); -x_42 = lean_ctor_get(x_37, 1); -lean_inc(x_42); -lean_inc(x_41); -lean_dec(x_37); -lean_inc(x_29); -x_43 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_43, 0, x_41); -lean_ctor_set(x_43, 1, x_29); -x_44 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_44, 0, x_43); -lean_ctor_set(x_44, 1, x_42); -return x_44; -} -} -} -else -{ -lean_object* x_45; lean_object* x_46; -lean_dec(x_3); -lean_inc(x_29); -x_45 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_45, 0, x_4); -lean_ctor_set(x_45, 1, x_29); -x_46 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_46, 0, x_45); -lean_ctor_set(x_46, 1, x_10); -return x_46; -} -} -} -} -} -lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp_mkAuxNameWithoutGivenName___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: { uint8_t x_11; uint8_t x_12; lean_object* x_13; @@ -1456,15 +1367,139 @@ x_11 = lean_unbox(x_1); lean_dec(x_1); x_12 = lean_unbox(x_2); lean_dec(x_2); -x_13 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp(x_11, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_13 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp_mkAuxNameWithoutGivenName(x_11, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); return x_13; } } +lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp(uint8_t x_1, uint8_t x_2, uint8_t 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) { +_start: +{ +if (lean_obj_tag(x_7) == 0) +{ +lean_object* x_13; lean_object* x_14; +x_13 = lean_box(0); +x_14 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp_mkAuxNameWithoutGivenName(x_1, x_2, x_4, x_5, x_13, x_8, x_9, x_10, x_11, x_12); +return x_14; +} +else +{ +if (x_3 == 0) +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; +x_15 = lean_ctor_get(x_7, 0); +lean_inc(x_15); +x_16 = lean_ctor_get(x_7, 1); +lean_inc(x_16); +lean_dec(x_7); +x_17 = l_Lean_mkSimpleThunk___closed__1; +x_18 = lean_name_eq(x_15, x_17); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; +lean_dec(x_5); +lean_dec(x_4); +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_15); +lean_ctor_set(x_19, 1, x_16); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_12); +return x_20; +} +else +{ +lean_object* x_21; +lean_dec(x_15); +x_21 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp_mkAuxNameWithoutGivenName(x_1, x_2, x_4, x_5, x_16, x_8, x_9, x_10, x_11, x_12); +return x_21; +} +} +else +{ +if (x_6 == 0) +{ +uint8_t x_22; +x_22 = !lean_is_exclusive(x_7); +if (x_22 == 0) +{ +lean_object* x_23; +x_23 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp_mkAuxNameWithoutGivenName(x_1, x_2, x_4, x_5, x_7, x_8, x_9, x_10, x_11, x_12); +return x_23; +} +else +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_24 = lean_ctor_get(x_7, 0); +x_25 = lean_ctor_get(x_7, 1); +lean_inc(x_25); +lean_inc(x_24); +lean_dec(x_7); +x_26 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_26, 0, x_24); +lean_ctor_set(x_26, 1, x_25); +x_27 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp_mkAuxNameWithoutGivenName(x_1, x_2, x_4, x_5, x_26, x_8, x_9, x_10, x_11, x_12); +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_7, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_7, 1); +lean_inc(x_29); +lean_dec(x_7); +x_30 = l_Lean_mkSimpleThunk___closed__1; +x_31 = lean_name_eq(x_28, x_30); +if (x_31 == 0) +{ +lean_object* x_32; lean_object* x_33; +lean_dec(x_5); +lean_dec(x_4); +x_32 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_32, 0, x_28); +lean_ctor_set(x_32, 1, x_29); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_32); +lean_ctor_set(x_33, 1, x_12); +return x_33; +} +else +{ +lean_object* x_34; +lean_dec(x_28); +x_34 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp_mkAuxNameWithoutGivenName(x_1, x_2, x_4, x_5, x_29, x_8, x_9, x_10, x_11, x_12); +return x_34; +} +} +} +} +} +} +lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +uint8_t x_13; uint8_t x_14; uint8_t x_15; uint8_t x_16; lean_object* x_17; +x_13 = lean_unbox(x_1); +lean_dec(x_1); +x_14 = lean_unbox(x_2); +lean_dec(x_2); +x_15 = lean_unbox(x_3); +lean_dec(x_3); +x_16 = lean_unbox(x_6); +lean_dec(x_6); +x_17 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp(x_13, x_14, x_15, x_4, x_5, x_16, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +return x_17; +} +} lean_object* l_Lean_Meta_withNewLocalInstances___at_Lean_Meta_introNCore___spec__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { @@ -1524,582 +1559,607 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withNewLocalInstances___at_Lean_Met return x_2; } } -lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, uint8_t x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, uint8_t x_3, uint8_t 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* x_13, lean_object* x_14, lean_object* x_15) { _start: { -uint8_t x_15; -x_15 = l_Lean_Expr_isForall(x_9); -if (x_15 == 0) +uint8_t x_16; +x_16 = l_Lean_Expr_isForall(x_10); +if (x_16 == 0) { -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +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_16 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___lambda__1___closed__2; -x_17 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___lambda__1___closed__5; -x_18 = lean_box(0); -x_19 = l_Lean_Meta_throwTacticEx___rarg(x_16, x_1, x_17, x_18, x_10, x_11, x_12, x_13, x_14); +x_17 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___lambda__1___closed__2; +x_18 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___lambda__1___closed__5; +x_19 = lean_box(0); +x_20 = l_Lean_Meta_throwTacticEx___rarg(x_17, x_1, x_18, x_19, x_11, x_12, x_13, x_14, x_15); +lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); -lean_dec(x_10); -return x_19; +return x_20; } else { -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_unsigned_to_nat(1u); -x_21 = lean_nat_add(x_2, x_20); -x_22 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1(x_3, x_4, x_1, x_21, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); -return x_22; +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_unsigned_to_nat(1u); +x_22 = lean_nat_add(x_2, x_21); +x_23 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1(x_3, x_4, x_5, x_1, x_22, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +return x_23; } } } -lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1(uint8_t 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_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1(uint8_t x_1, uint8_t 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* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { _start: { -lean_object* x_15; uint8_t x_16; -x_15 = lean_unsigned_to_nat(0u); -x_16 = lean_nat_dec_eq(x_4, x_15); -if (x_16 == 0) +lean_object* x_16; uint8_t x_17; +x_16 = lean_unsigned_to_nat(0u); +x_17 = lean_nat_dec_eq(x_5, x_16); +if (x_17 == 0) { -lean_object* x_17; lean_object* x_18; -x_17 = lean_unsigned_to_nat(1u); -x_18 = lean_nat_sub(x_4, x_17); -lean_dec(x_4); -switch (lean_obj_tag(x_9)) { +lean_object* x_18; lean_object* x_19; +x_18 = lean_unsigned_to_nat(1u); +x_19 = lean_nat_sub(x_5, x_18); +lean_dec(x_5); +switch (lean_obj_tag(x_10)) { case 7: { -lean_object* x_19; lean_object* x_20; lean_object* x_21; uint64_t 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; uint8_t x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_19 = lean_ctor_get(x_9, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_9, 1); +lean_object* x_20; lean_object* x_21; lean_object* x_22; uint64_t x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30; uint8_t x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_20 = lean_ctor_get(x_10, 0); lean_inc(x_20); -x_21 = lean_ctor_get(x_9, 2); +x_21 = lean_ctor_get(x_10, 1); lean_inc(x_21); -x_22 = lean_ctor_get_uint64(x_9, sizeof(void*)*3); -lean_dec(x_9); -x_23 = lean_array_get_size(x_6); -x_24 = lean_expr_instantiate_rev_range(x_20, x_7, x_23, x_6); -lean_dec(x_23); -lean_dec(x_20); -x_25 = l_Lean_Expr_headBeta(x_24); -x_26 = l_Lean_mkFreshId___at_Lean_Meta_mkFreshExprMVarAt___spec__1___rarg(x_13, x_14); -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); +x_22 = lean_ctor_get(x_10, 2); +lean_inc(x_22); +x_23 = lean_ctor_get_uint64(x_10, sizeof(void*)*3); +lean_dec(x_10); +x_24 = lean_array_get_size(x_7); +x_25 = lean_expr_instantiate_rev_range(x_21, x_8, x_24, x_7); +lean_dec(x_24); +lean_dec(x_21); +x_26 = l_Lean_Expr_headBeta(x_25); +x_27 = l_Lean_mkFreshId___at_Lean_Meta_mkFreshExprMVarAt___spec__1___rarg(x_14, x_15); +x_28 = lean_ctor_get(x_27, 0); lean_inc(x_28); -lean_dec(x_26); -lean_inc(x_5); -x_29 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp(x_1, x_2, x_5, x_19, x_8, x_10, x_11, x_12, x_13, x_28); -lean_dec(x_8); -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); -x_33 = lean_ctor_get(x_30, 1); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = (uint8_t)((x_23 << 24) >> 61); +x_31 = l_Lean_BinderInfo_isExplicit(x_30); +lean_inc(x_6); +x_32 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp(x_2, x_3, x_1, x_6, x_20, x_31, x_9, x_11, x_12, x_13, x_14, x_29); +x_33 = lean_ctor_get(x_32, 0); lean_inc(x_33); -lean_dec(x_30); -x_34 = (uint8_t)((x_22 << 24) >> 61); -lean_inc(x_27); -x_35 = lean_local_ctx_mk_local_decl(x_5, x_27, x_32, x_25, x_34); -x_36 = l_Lean_mkFVar(x_27); -x_37 = lean_array_push(x_6, x_36); -x_4 = x_18; -x_5 = x_35; +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = lean_ctor_get(x_33, 0); +lean_inc(x_35); +x_36 = lean_ctor_get(x_33, 1); +lean_inc(x_36); +lean_dec(x_33); +lean_inc(x_28); +x_37 = lean_local_ctx_mk_local_decl(x_6, x_28, x_35, x_26, x_30); +x_38 = l_Lean_mkFVar(x_28); +x_39 = lean_array_push(x_7, x_38); +x_5 = x_19; x_6 = x_37; -x_8 = x_33; -x_9 = x_21; -x_14 = x_31; +x_7 = x_39; +x_9 = x_36; +x_10 = x_22; +x_15 = x_34; goto _start; } case 8: { -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; uint8_t x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_39 = lean_ctor_get(x_9, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_9, 1); -lean_inc(x_40); -x_41 = lean_ctor_get(x_9, 2); +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; uint8_t x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; uint8_t x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_41 = lean_ctor_get(x_10, 0); lean_inc(x_41); -x_42 = lean_ctor_get(x_9, 3); +x_42 = lean_ctor_get(x_10, 1); lean_inc(x_42); -lean_dec(x_9); -x_43 = lean_array_get_size(x_6); -x_44 = lean_expr_instantiate_rev_range(x_40, x_7, x_43, x_6); -lean_dec(x_40); -x_45 = l_Lean_Expr_headBeta(x_44); -x_46 = lean_expr_instantiate_rev_range(x_41, x_7, x_43, x_6); +x_43 = lean_ctor_get(x_10, 2); +lean_inc(x_43); +x_44 = lean_ctor_get(x_10, 3); +lean_inc(x_44); +lean_dec(x_10); +x_45 = lean_array_get_size(x_7); +x_46 = lean_expr_instantiate_rev_range(x_42, x_8, x_45, x_7); +lean_dec(x_42); +x_47 = l_Lean_Expr_headBeta(x_46); +x_48 = lean_expr_instantiate_rev_range(x_43, x_8, x_45, x_7); +lean_dec(x_45); lean_dec(x_43); -lean_dec(x_41); -x_47 = l_Lean_mkFreshId___at_Lean_Meta_mkFreshExprMVarAt___spec__1___rarg(x_13, x_14); -x_48 = lean_ctor_get(x_47, 0); -lean_inc(x_48); -x_49 = lean_ctor_get(x_47, 1); -lean_inc(x_49); -lean_dec(x_47); -lean_inc(x_5); -x_50 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp(x_1, x_2, x_5, x_39, x_8, x_10, x_11, x_12, x_13, x_49); -lean_dec(x_8); -x_51 = lean_ctor_get(x_50, 0); +x_49 = l_Lean_mkFreshId___at_Lean_Meta_mkFreshExprMVarAt___spec__1___rarg(x_14, x_15); +x_50 = lean_ctor_get(x_49, 0); +lean_inc(x_50); +x_51 = lean_ctor_get(x_49, 1); lean_inc(x_51); -x_52 = lean_ctor_get(x_50, 1); -lean_inc(x_52); -lean_dec(x_50); -x_53 = lean_ctor_get(x_51, 0); -lean_inc(x_53); -x_54 = lean_ctor_get(x_51, 1); +lean_dec(x_49); +x_52 = 1; +lean_inc(x_6); +x_53 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_mkAuxNameImp(x_2, x_3, x_1, x_6, x_41, x_52, x_9, x_11, x_12, x_13, x_14, x_51); +x_54 = lean_ctor_get(x_53, 0); lean_inc(x_54); -lean_dec(x_51); -x_55 = 0; -lean_inc(x_48); -x_56 = lean_local_ctx_mk_let_decl(x_5, x_48, x_53, x_45, x_46, x_55); -x_57 = l_Lean_mkFVar(x_48); -x_58 = lean_array_push(x_6, x_57); -x_4 = x_18; -x_5 = x_56; -x_6 = x_58; -x_8 = x_54; -x_9 = x_42; -x_14 = x_52; +x_55 = lean_ctor_get(x_53, 1); +lean_inc(x_55); +lean_dec(x_53); +x_56 = lean_ctor_get(x_54, 0); +lean_inc(x_56); +x_57 = lean_ctor_get(x_54, 1); +lean_inc(x_57); +lean_dec(x_54); +x_58 = 0; +lean_inc(x_50); +x_59 = lean_local_ctx_mk_let_decl(x_6, x_50, x_56, x_47, x_48, x_58); +x_60 = l_Lean_mkFVar(x_50); +x_61 = lean_array_push(x_7, x_60); +x_5 = x_19; +x_6 = x_59; +x_7 = x_61; +x_9 = x_57; +x_10 = x_44; +x_15 = x_55; goto _start; } default: { -lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; uint8_t x_67; -x_60 = lean_array_get_size(x_6); -x_61 = lean_expr_instantiate_rev_range(x_9, x_7, x_60, x_6); -lean_dec(x_9); -x_62 = lean_alloc_closure((void*)(l_Lean_Meta_whnf), 6, 1); -lean_closure_set(x_62, 0, x_61); -x_63 = lean_box(x_1); -x_64 = lean_box(x_2); -lean_inc(x_6); -lean_inc(x_5); -x_65 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1___lambda__1___boxed), 14, 8); -lean_closure_set(x_65, 0, x_3); -lean_closure_set(x_65, 1, x_18); -lean_closure_set(x_65, 2, x_63); -lean_closure_set(x_65, 3, x_64); -lean_closure_set(x_65, 4, x_5); -lean_closure_set(x_65, 5, x_6); -lean_closure_set(x_65, 6, x_60); -lean_closure_set(x_65, 7, x_8); -x_66 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); -lean_closure_set(x_66, 0, x_62); -lean_closure_set(x_66, 1, x_65); -x_67 = !lean_is_exclusive(x_10); -if (x_67 == 0) -{ -lean_object* x_68; lean_object* x_69; -x_68 = lean_ctor_get(x_10, 1); -lean_dec(x_68); -lean_ctor_set(x_10, 1, x_5); -x_69 = l_Lean_Meta_withNewLocalInstances___at_Lean_Meta_introNCore___spec__2___rarg(x_6, x_7, x_66, x_10, x_11, x_12, x_13, x_14); -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_10, 0); -x_71 = lean_ctor_get(x_10, 2); -lean_inc(x_71); -lean_inc(x_70); +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; uint8_t x_71; +x_63 = lean_array_get_size(x_7); +x_64 = lean_expr_instantiate_rev_range(x_10, x_8, x_63, x_7); lean_dec(x_10); -x_72 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_72, 0, x_70); -lean_ctor_set(x_72, 1, x_5); -lean_ctor_set(x_72, 2, x_71); -x_73 = l_Lean_Meta_withNewLocalInstances___at_Lean_Meta_introNCore___spec__2___rarg(x_6, x_7, x_66, x_72, x_11, x_12, x_13, x_14); +x_65 = lean_alloc_closure((void*)(l_Lean_Meta_whnf), 6, 1); +lean_closure_set(x_65, 0, x_64); +x_66 = lean_box(x_1); +x_67 = lean_box(x_2); +x_68 = lean_box(x_3); +lean_inc(x_7); +lean_inc(x_6); +x_69 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1___lambda__1___boxed), 15, 9); +lean_closure_set(x_69, 0, x_4); +lean_closure_set(x_69, 1, x_19); +lean_closure_set(x_69, 2, x_66); +lean_closure_set(x_69, 3, x_67); +lean_closure_set(x_69, 4, x_68); +lean_closure_set(x_69, 5, x_6); +lean_closure_set(x_69, 6, x_7); +lean_closure_set(x_69, 7, x_63); +lean_closure_set(x_69, 8, x_9); +x_70 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); +lean_closure_set(x_70, 0, x_65); +lean_closure_set(x_70, 1, x_69); +x_71 = !lean_is_exclusive(x_11); +if (x_71 == 0) +{ +lean_object* x_72; lean_object* x_73; +x_72 = lean_ctor_get(x_11, 1); +lean_dec(x_72); +lean_ctor_set(x_11, 1, x_6); +x_73 = l_Lean_Meta_withNewLocalInstances___at_Lean_Meta_introNCore___spec__2___rarg(x_7, x_8, x_70, x_11, x_12, x_13, x_14, x_15); 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_11, 0); +x_75 = lean_ctor_get(x_11, 2); +lean_inc(x_75); +lean_inc(x_74); +lean_dec(x_11); +x_76 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_76, 0, x_74); +lean_ctor_set(x_76, 1, x_6); +lean_ctor_set(x_76, 2, x_75); +x_77 = l_Lean_Meta_withNewLocalInstances___at_Lean_Meta_introNCore___spec__2___rarg(x_7, x_8, x_70, x_76, x_12, x_13, x_14, x_15); +return x_77; +} } } } else { -lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; uint8_t x_79; -lean_dec(x_8); -lean_dec(x_4); -x_74 = lean_array_get_size(x_6); -x_75 = lean_expr_instantiate_rev_range(x_9, x_7, x_74, x_6); -lean_dec(x_74); +lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; uint8_t x_83; lean_dec(x_9); -lean_inc(x_3); -x_76 = lean_alloc_closure((void*)(l_Lean_Meta_getMVarTag___boxed), 6, 1); -lean_closure_set(x_76, 0, x_3); -lean_inc(x_6); -x_77 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___lambda__2___boxed), 9, 3); -lean_closure_set(x_77, 0, x_75); -lean_closure_set(x_77, 1, x_6); -lean_closure_set(x_77, 2, x_3); -x_78 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); -lean_closure_set(x_78, 0, x_76); -lean_closure_set(x_78, 1, x_77); -x_79 = !lean_is_exclusive(x_10); -if (x_79 == 0) -{ -lean_object* x_80; lean_object* x_81; -x_80 = lean_ctor_get(x_10, 1); -lean_dec(x_80); -lean_ctor_set(x_10, 1, x_5); -x_81 = l_Lean_Meta_withNewLocalInstances___at_Lean_Meta_introNCore___spec__2___rarg(x_6, x_7, x_78, x_10, x_11, x_12, x_13, x_14); -return x_81; -} -else -{ -lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; -x_82 = lean_ctor_get(x_10, 0); -x_83 = lean_ctor_get(x_10, 2); -lean_inc(x_83); -lean_inc(x_82); +lean_dec(x_5); +x_78 = lean_array_get_size(x_7); +x_79 = lean_expr_instantiate_rev_range(x_10, x_8, x_78, x_7); +lean_dec(x_78); lean_dec(x_10); -x_84 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_84, 0, x_82); -lean_ctor_set(x_84, 1, x_5); -lean_ctor_set(x_84, 2, x_83); -x_85 = l_Lean_Meta_withNewLocalInstances___at_Lean_Meta_introNCore___spec__2___rarg(x_6, x_7, x_78, x_84, x_11, x_12, x_13, x_14); +lean_inc(x_4); +x_80 = lean_alloc_closure((void*)(l_Lean_Meta_getMVarTag___boxed), 6, 1); +lean_closure_set(x_80, 0, x_4); +lean_inc(x_7); +x_81 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___lambda__2___boxed), 9, 3); +lean_closure_set(x_81, 0, x_79); +lean_closure_set(x_81, 1, x_7); +lean_closure_set(x_81, 2, x_4); +x_82 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); +lean_closure_set(x_82, 0, x_80); +lean_closure_set(x_82, 1, x_81); +x_83 = !lean_is_exclusive(x_11); +if (x_83 == 0) +{ +lean_object* x_84; lean_object* x_85; +x_84 = lean_ctor_get(x_11, 1); +lean_dec(x_84); +lean_ctor_set(x_11, 1, x_6); +x_85 = l_Lean_Meta_withNewLocalInstances___at_Lean_Meta_introNCore___spec__2___rarg(x_7, x_8, x_82, x_11, x_12, x_13, x_14, x_15); return x_85; } +else +{ +lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_86 = lean_ctor_get(x_11, 0); +x_87 = lean_ctor_get(x_11, 2); +lean_inc(x_87); +lean_inc(x_86); +lean_dec(x_11); +x_88 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_88, 0, x_86); +lean_ctor_set(x_88, 1, x_6); +lean_ctor_set(x_88, 2, x_87); +x_89 = l_Lean_Meta_withNewLocalInstances___at_Lean_Meta_introNCore___spec__2___rarg(x_7, x_8, x_82, x_88, x_12, x_13, x_14, x_15); +return x_89; } } } -lean_object* l_Lean_Meta_introNCore___lambda__1(lean_object* x_1, uint8_t 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_Lean_Meta_introNCore___lambda__1(lean_object* x_1, uint8_t x_2, uint8_t x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -lean_object* x_12; +lean_object* x_13; lean_inc(x_1); -x_12 = l_Lean_Meta_getMVarType(x_1, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_12) == 0) +x_13 = l_Lean_Meta_getMVarType(x_1, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_13) == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); +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_13, 0); lean_inc(x_14); -lean_dec(x_12); -x_15 = lean_ctor_get(x_7, 1); +x_15 = lean_ctor_get(x_13, 1); lean_inc(x_15); -x_16 = l_Array_empty___closed__1; -x_17 = lean_unsigned_to_nat(0u); -x_18 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1(x_2, x_3, x_1, x_4, x_15, x_16, x_17, x_5, x_13, x_7, x_8, x_9, x_10, x_14); -if (lean_obj_tag(x_18) == 0) +lean_dec(x_13); +x_16 = lean_ctor_get(x_8, 1); +lean_inc(x_16); +x_17 = l_Array_empty___closed__1; +x_18 = lean_unsigned_to_nat(0u); +x_19 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1(x_2, x_3, x_4, x_1, x_5, x_16, x_17, x_18, x_6, x_14, x_8, x_9, x_10, x_11, x_15); +if (lean_obj_tag(x_19) == 0) { -uint8_t x_19; -x_19 = !lean_is_exclusive(x_18); -if (x_19 == 0) +uint8_t x_20; +x_20 = !lean_is_exclusive(x_19); +if (x_20 == 0) { -lean_object* x_20; uint8_t x_21; -x_20 = lean_ctor_get(x_18, 0); -x_21 = !lean_is_exclusive(x_20); -if (x_21 == 0) +lean_object* x_21; uint8_t x_22; +x_21 = lean_ctor_get(x_19, 0); +x_22 = !lean_is_exclusive(x_21); +if (x_22 == 0) { -lean_object* x_22; lean_object* x_23; size_t x_24; size_t x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_22 = lean_ctor_get(x_20, 0); -x_23 = lean_array_get_size(x_22); -x_24 = lean_usize_of_nat(x_23); -lean_dec(x_23); -x_25 = 0; -x_26 = x_22; -x_27 = l_Array_mapMUnsafe_map___at___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp___spec__1(x_24, x_25, x_26); -x_28 = x_27; -lean_ctor_set(x_20, 0, x_28); -return x_18; +lean_object* x_23; lean_object* x_24; size_t x_25; size_t x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_23 = lean_ctor_get(x_21, 0); +x_24 = lean_array_get_size(x_23); +x_25 = lean_usize_of_nat(x_24); +lean_dec(x_24); +x_26 = 0; +x_27 = x_23; +x_28 = l_Array_mapMUnsafe_map___at___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp___spec__1(x_25, x_26, x_27); +x_29 = x_28; +lean_ctor_set(x_21, 0, x_29); +return x_19; } else { -lean_object* x_29; lean_object* x_30; lean_object* x_31; size_t x_32; size_t x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_29 = lean_ctor_get(x_20, 0); -x_30 = lean_ctor_get(x_20, 1); +lean_object* x_30; lean_object* x_31; lean_object* x_32; size_t x_33; size_t x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_30 = lean_ctor_get(x_21, 0); +x_31 = lean_ctor_get(x_21, 1); +lean_inc(x_31); lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_20); -x_31 = lean_array_get_size(x_29); -x_32 = lean_usize_of_nat(x_31); -lean_dec(x_31); -x_33 = 0; -x_34 = x_29; -x_35 = l_Array_mapMUnsafe_map___at___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp___spec__1(x_32, x_33, x_34); -x_36 = x_35; -x_37 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_37, 0, x_36); -lean_ctor_set(x_37, 1, x_30); -lean_ctor_set(x_18, 0, x_37); -return x_18; +lean_dec(x_21); +x_32 = lean_array_get_size(x_30); +x_33 = lean_usize_of_nat(x_32); +lean_dec(x_32); +x_34 = 0; +x_35 = x_30; +x_36 = l_Array_mapMUnsafe_map___at___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp___spec__1(x_33, x_34, x_35); +x_37 = x_36; +x_38 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_38, 0, x_37); +lean_ctor_set(x_38, 1, x_31); +lean_ctor_set(x_19, 0, x_38); +return x_19; } } 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; size_t x_44; size_t x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; -x_38 = lean_ctor_get(x_18, 0); -x_39 = lean_ctor_get(x_18, 1); -lean_inc(x_39); -lean_inc(x_38); -lean_dec(x_18); -x_40 = lean_ctor_get(x_38, 0); +lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; size_t x_45; size_t x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_39 = lean_ctor_get(x_19, 0); +x_40 = lean_ctor_get(x_19, 1); lean_inc(x_40); -x_41 = lean_ctor_get(x_38, 1); +lean_inc(x_39); +lean_dec(x_19); +x_41 = lean_ctor_get(x_39, 0); lean_inc(x_41); -if (lean_is_exclusive(x_38)) { - lean_ctor_release(x_38, 0); - lean_ctor_release(x_38, 1); - x_42 = x_38; +x_42 = lean_ctor_get(x_39, 1); +lean_inc(x_42); +if (lean_is_exclusive(x_39)) { + lean_ctor_release(x_39, 0); + lean_ctor_release(x_39, 1); + x_43 = x_39; } else { - lean_dec_ref(x_38); - x_42 = lean_box(0); + lean_dec_ref(x_39); + x_43 = lean_box(0); } -x_43 = lean_array_get_size(x_40); -x_44 = lean_usize_of_nat(x_43); -lean_dec(x_43); -x_45 = 0; -x_46 = x_40; -x_47 = l_Array_mapMUnsafe_map___at___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp___spec__1(x_44, x_45, x_46); -x_48 = x_47; -if (lean_is_scalar(x_42)) { - x_49 = lean_alloc_ctor(0, 2, 0); +x_44 = lean_array_get_size(x_41); +x_45 = lean_usize_of_nat(x_44); +lean_dec(x_44); +x_46 = 0; +x_47 = x_41; +x_48 = l_Array_mapMUnsafe_map___at___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp___spec__1(x_45, x_46, x_47); +x_49 = x_48; +if (lean_is_scalar(x_43)) { + x_50 = lean_alloc_ctor(0, 2, 0); } else { - x_49 = x_42; + x_50 = x_43; } -lean_ctor_set(x_49, 0, x_48); -lean_ctor_set(x_49, 1, x_41); -x_50 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_50, 0, x_49); -lean_ctor_set(x_50, 1, x_39); -return x_50; +lean_ctor_set(x_50, 1, x_42); +x_51 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_51, 0, x_50); +lean_ctor_set(x_51, 1, x_40); +return x_51; } } else { -uint8_t x_51; -x_51 = !lean_is_exclusive(x_18); -if (x_51 == 0) +uint8_t x_52; +x_52 = !lean_is_exclusive(x_19); +if (x_52 == 0) { -return x_18; +return x_19; } else { -lean_object* x_52; lean_object* x_53; lean_object* x_54; -x_52 = lean_ctor_get(x_18, 0); -x_53 = lean_ctor_get(x_18, 1); +lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_53 = lean_ctor_get(x_19, 0); +x_54 = lean_ctor_get(x_19, 1); +lean_inc(x_54); lean_inc(x_53); -lean_inc(x_52); -lean_dec(x_18); -x_54 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_54, 0, x_52); -lean_ctor_set(x_54, 1, x_53); -return x_54; +lean_dec(x_19); +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_55; +uint8_t x_56; +lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); +lean_dec(x_6); lean_dec(x_5); -lean_dec(x_4); lean_dec(x_1); -x_55 = !lean_is_exclusive(x_12); -if (x_55 == 0) +x_56 = !lean_is_exclusive(x_13); +if (x_56 == 0) { -return x_12; +return x_13; } else { -lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_56 = lean_ctor_get(x_12, 0); -x_57 = lean_ctor_get(x_12, 1); +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_13, 0); +x_58 = lean_ctor_get(x_13, 1); +lean_inc(x_58); lean_inc(x_57); -lean_inc(x_56); -lean_dec(x_12); -x_58 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_58, 0, x_56); -lean_ctor_set(x_58, 1, x_57); -return x_58; +lean_dec(x_13); +x_59 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_59, 0, x_57); +lean_ctor_set(x_59, 1, x_58); +return x_59; } } } } -lean_object* l_Lean_Meta_introNCore(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* l_Lean_Meta_introNCore(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t 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) { _start: { -lean_object* x_10; uint8_t x_11; -x_10 = l_Lean_Meta_getHygienicIntro___rarg(x_7, x_8, x_9); -x_11 = !lean_is_exclusive(x_10); -if (x_11 == 0) +lean_object* x_11; uint8_t x_12; +x_11 = l_Lean_Meta_getHygienicIntro___rarg(x_8, x_9, x_10); +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) { -lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; -x_12 = lean_ctor_get(x_10, 0); -x_13 = lean_ctor_get(x_10, 1); -x_14 = lean_unsigned_to_nat(0u); -x_15 = lean_nat_dec_eq(x_2, x_14); -if (x_15 == 0) +lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; +x_13 = lean_ctor_get(x_11, 0); +x_14 = lean_ctor_get(x_11, 1); +x_15 = lean_unsigned_to_nat(0u); +x_16 = lean_nat_dec_eq(x_2, x_15); +if (x_16 == 0) { -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; -lean_free_object(x_10); -x_16 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___lambda__1___closed__2; +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_free_object(x_11); +x_17 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___lambda__1___closed__2; lean_inc(x_1); -x_17 = lean_alloc_closure((void*)(l_Lean_Meta_checkNotAssigned___boxed), 7, 2); -lean_closure_set(x_17, 0, x_1); -lean_closure_set(x_17, 1, x_16); -x_18 = lean_box(x_4); +x_18 = lean_alloc_closure((void*)(l_Lean_Meta_checkNotAssigned___boxed), 7, 2); +lean_closure_set(x_18, 0, x_1); +lean_closure_set(x_18, 1, x_17); +x_19 = lean_box(x_4); +x_20 = lean_box(x_5); lean_inc(x_1); -x_19 = lean_alloc_closure((void*)(l_Lean_Meta_introNCore___lambda__1___boxed), 11, 5); -lean_closure_set(x_19, 0, x_1); -lean_closure_set(x_19, 1, x_18); -lean_closure_set(x_19, 2, x_12); -lean_closure_set(x_19, 3, x_2); -lean_closure_set(x_19, 4, x_3); -x_20 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); -lean_closure_set(x_20, 0, x_17); -lean_closure_set(x_20, 1, x_19); -x_21 = l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__1___rarg(x_1, x_20, x_5, x_6, x_7, x_8, x_13); -return x_21; +x_21 = lean_alloc_closure((void*)(l_Lean_Meta_introNCore___lambda__1___boxed), 12, 6); +lean_closure_set(x_21, 0, x_1); +lean_closure_set(x_21, 1, x_19); +lean_closure_set(x_21, 2, x_20); +lean_closure_set(x_21, 3, x_13); +lean_closure_set(x_21, 4, x_2); +lean_closure_set(x_21, 5, x_3); +x_22 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); +lean_closure_set(x_22, 0, x_18); +lean_closure_set(x_22, 1, x_21); +x_23 = l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__1___rarg(x_1, x_22, x_6, x_7, x_8, x_9, x_14); +return x_23; } else { -lean_object* x_22; lean_object* x_23; -lean_dec(x_12); +lean_object* x_24; lean_object* x_25; +lean_dec(x_13); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); -x_22 = l_Array_empty___closed__1; -x_23 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_23, 0, x_22); -lean_ctor_set(x_23, 1, x_1); -lean_ctor_set(x_10, 0, x_23); -return x_10; +x_24 = l_Array_empty___closed__1; +x_25 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_25, 0, x_24); +lean_ctor_set(x_25, 1, x_1); +lean_ctor_set(x_11, 0, x_25); +return x_11; } } else { -lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; -x_24 = lean_ctor_get(x_10, 0); -x_25 = lean_ctor_get(x_10, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_10); -x_26 = lean_unsigned_to_nat(0u); -x_27 = lean_nat_dec_eq(x_2, x_26); -if (x_27 == 0) +lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; +x_26 = lean_ctor_get(x_11, 0); +x_27 = lean_ctor_get(x_11, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_11); +x_28 = lean_unsigned_to_nat(0u); +x_29 = lean_nat_dec_eq(x_2, x_28); +if (x_29 == 0) { -lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_28 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___lambda__1___closed__2; +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_30 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___lambda__1___closed__2; lean_inc(x_1); -x_29 = lean_alloc_closure((void*)(l_Lean_Meta_checkNotAssigned___boxed), 7, 2); -lean_closure_set(x_29, 0, x_1); -lean_closure_set(x_29, 1, x_28); -x_30 = lean_box(x_4); -lean_inc(x_1); -x_31 = lean_alloc_closure((void*)(l_Lean_Meta_introNCore___lambda__1___boxed), 11, 5); +x_31 = lean_alloc_closure((void*)(l_Lean_Meta_checkNotAssigned___boxed), 7, 2); lean_closure_set(x_31, 0, x_1); lean_closure_set(x_31, 1, x_30); -lean_closure_set(x_31, 2, x_24); -lean_closure_set(x_31, 3, x_2); -lean_closure_set(x_31, 4, x_3); -x_32 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); -lean_closure_set(x_32, 0, x_29); -lean_closure_set(x_32, 1, x_31); -x_33 = l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__1___rarg(x_1, x_32, x_5, x_6, x_7, x_8, x_25); -return x_33; +x_32 = lean_box(x_4); +x_33 = lean_box(x_5); +lean_inc(x_1); +x_34 = lean_alloc_closure((void*)(l_Lean_Meta_introNCore___lambda__1___boxed), 12, 6); +lean_closure_set(x_34, 0, x_1); +lean_closure_set(x_34, 1, x_32); +lean_closure_set(x_34, 2, x_33); +lean_closure_set(x_34, 3, x_26); +lean_closure_set(x_34, 4, x_2); +lean_closure_set(x_34, 5, x_3); +x_35 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); +lean_closure_set(x_35, 0, x_31); +lean_closure_set(x_35, 1, x_34); +x_36 = l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__1___rarg(x_1, x_35, x_6, x_7, x_8, x_9, x_27); +return x_36; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; -lean_dec(x_24); +lean_object* x_37; lean_object* x_38; lean_object* x_39; +lean_dec(x_26); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); -x_34 = l_Array_empty___closed__1; -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_34); -lean_ctor_set(x_35, 1, x_1); -x_36 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_36, 0, x_35); -lean_ctor_set(x_36, 1, x_25); -return x_36; +x_37 = l_Array_empty___closed__1; +x_38 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_38, 0, x_37); +lean_ctor_set(x_38, 1, x_1); +x_39 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_27); +return x_39; } } } } -lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1___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* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1___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_15; uint8_t x_16; lean_object* x_17; -x_15 = lean_unbox(x_3); +uint8_t x_16; uint8_t x_17; uint8_t x_18; lean_object* x_19; +x_16 = lean_unbox(x_3); lean_dec(x_3); -x_16 = lean_unbox(x_4); +x_17 = lean_unbox(x_4); lean_dec(x_4); -x_17 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1___lambda__1(x_1, x_2, x_15, x_16, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +x_18 = lean_unbox(x_5); +lean_dec(x_5); +x_19 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1___lambda__1(x_1, x_2, x_16, x_17, x_18, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); lean_dec(x_2); -return x_17; +return x_19; } } -lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___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, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___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, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { _start: { -uint8_t x_15; uint8_t x_16; lean_object* x_17; -x_15 = lean_unbox(x_1); +uint8_t x_16; uint8_t x_17; uint8_t x_18; lean_object* x_19; +x_16 = lean_unbox(x_1); lean_dec(x_1); -x_16 = lean_unbox(x_2); +x_17 = lean_unbox(x_2); lean_dec(x_2); -x_17 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1(x_15, x_16, 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_17; +x_18 = lean_unbox(x_3); +lean_dec(x_3); +x_19 = l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___at_Lean_Meta_introNCore___spec__1(x_16, x_17, x_18, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +return x_19; } } -lean_object* l_Lean_Meta_introNCore___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* l_Lean_Meta_introNCore___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -uint8_t x_12; uint8_t x_13; lean_object* x_14; -x_12 = lean_unbox(x_2); +uint8_t x_13; uint8_t x_14; uint8_t x_15; lean_object* x_16; +x_13 = lean_unbox(x_2); lean_dec(x_2); -x_13 = lean_unbox(x_3); +x_14 = lean_unbox(x_3); lean_dec(x_3); -x_14 = l_Lean_Meta_introNCore___lambda__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); -return x_14; +x_15 = lean_unbox(x_4); +lean_dec(x_4); +x_16 = l_Lean_Meta_introNCore___lambda__1(x_1, x_13, x_14, x_15, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_7); +return x_16; } } -lean_object* l_Lean_Meta_introNCore___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_Lean_Meta_introNCore___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: +{ +uint8_t x_11; uint8_t x_12; lean_object* x_13; +x_11 = lean_unbox(x_4); +lean_dec(x_4); +x_12 = lean_unbox(x_5); +lean_dec(x_5); +x_13 = l_Lean_Meta_introNCore(x_1, x_2, x_3, x_11, x_12, x_6, x_7, x_8, x_9, x_10); +return x_13; +} +} +lean_object* l_Lean_Meta_introN(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +uint8_t x_10; lean_object* x_11; +x_10 = 0; +x_11 = l_Lean_Meta_introNCore(x_1, x_2, x_3, x_4, x_10, x_5, x_6, x_7, x_8, x_9); +return x_11; +} +} +lean_object* l_Lean_Meta_introN___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: { uint8_t x_10; lean_object* x_11; x_10 = lean_unbox(x_4); lean_dec(x_4); -x_11 = l_Lean_Meta_introNCore(x_1, x_2, x_3, x_10, x_5, x_6, x_7, x_8, x_9); +x_11 = l_Lean_Meta_introN(x_1, x_2, x_3, x_10, x_5, x_6, x_7, x_8, x_9); return x_11; } } -lean_object* l_Lean_Meta_introN(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: -{ -uint8_t x_9; lean_object* x_10; -x_9 = 0; -x_10 = l_Lean_Meta_introNCore(x_1, x_2, x_3, x_9, x_4, x_5, x_6, x_7, x_8); -return x_10; -} -} lean_object* l_Lean_Meta_introNP(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; lean_object* x_10; +lean_object* x_8; uint8_t x_9; uint8_t x_10; lean_object* x_11; x_8 = lean_box(0); -x_9 = 1; -x_10 = l_Lean_Meta_introNCore(x_1, x_2, x_8, x_9, x_3, x_4, x_5, x_6, x_7); -return x_10; +x_9 = 0; +x_10 = 1; +x_11 = l_Lean_Meta_introNCore(x_1, x_2, x_8, x_9, x_10, x_3, x_4, x_5, x_6, x_7); +return x_11; } } lean_object* l_Lean_Meta_intro_match__1___rarg(lean_object* x_1, lean_object* x_2) { @@ -2133,7 +2193,7 @@ lean_ctor_set(x_9, 0, x_2); lean_ctor_set(x_9, 1, x_8); x_10 = lean_unsigned_to_nat(1u); x_11 = 0; -x_12 = l_Lean_Meta_introNCore(x_1, x_10, x_9, x_11, x_3, x_4, x_5, x_6, x_7); +x_12 = l_Lean_Meta_introNCore(x_1, x_10, x_9, x_11, x_11, x_3, x_4, x_5, x_6, x_7); if (lean_obj_tag(x_12) == 0) { uint8_t x_13; @@ -2258,106 +2318,107 @@ return x_2; lean_object* l_Lean_Meta_intro1Core(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_8; lean_object* x_9; uint8_t x_10; lean_object* x_11; x_8 = lean_box(0); x_9 = lean_unsigned_to_nat(1u); -x_10 = l_Lean_Meta_introNCore(x_1, x_9, x_8, x_2, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_10) == 0) +x_10 = 0; +x_11 = l_Lean_Meta_introNCore(x_1, x_9, x_8, x_10, x_2, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_11) == 0) { -uint8_t x_11; -x_11 = !lean_is_exclusive(x_10); -if (x_11 == 0) +uint8_t x_12; +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) { -lean_object* x_12; uint8_t x_13; -x_12 = lean_ctor_get(x_10, 0); -x_13 = !lean_is_exclusive(x_12); -if (x_13 == 0) +lean_object* x_13; uint8_t x_14; +x_13 = lean_ctor_get(x_11, 0); +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) { -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_14 = lean_ctor_get(x_12, 0); -x_15 = l_Lean_instInhabitedName; -x_16 = lean_unsigned_to_nat(0u); -x_17 = lean_array_get(x_15, x_14, x_16); -lean_dec(x_14); -lean_ctor_set(x_12, 0, x_17); -return x_10; +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_15 = lean_ctor_get(x_13, 0); +x_16 = l_Lean_instInhabitedName; +x_17 = lean_unsigned_to_nat(0u); +x_18 = lean_array_get(x_16, x_15, x_17); +lean_dec(x_15); +lean_ctor_set(x_13, 0, x_18); +return x_11; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_18 = lean_ctor_get(x_12, 0); -x_19 = lean_ctor_get(x_12, 1); +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_19 = lean_ctor_get(x_13, 0); +x_20 = lean_ctor_get(x_13, 1); +lean_inc(x_20); lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_12); -x_20 = l_Lean_instInhabitedName; -x_21 = lean_unsigned_to_nat(0u); -x_22 = lean_array_get(x_20, x_18, x_21); -lean_dec(x_18); -x_23 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_23, 0, x_22); -lean_ctor_set(x_23, 1, x_19); -lean_ctor_set(x_10, 0, x_23); -return x_10; +lean_dec(x_13); +x_21 = l_Lean_instInhabitedName; +x_22 = lean_unsigned_to_nat(0u); +x_23 = lean_array_get(x_21, x_19, x_22); +lean_dec(x_19); +x_24 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_24, 0, x_23); +lean_ctor_set(x_24, 1, x_20); +lean_ctor_set(x_11, 0, x_24); +return x_11; } } else { -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_24 = lean_ctor_get(x_10, 0); -x_25 = lean_ctor_get(x_10, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_10); -x_26 = lean_ctor_get(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; +x_25 = lean_ctor_get(x_11, 0); +x_26 = lean_ctor_get(x_11, 1); lean_inc(x_26); -x_27 = lean_ctor_get(x_24, 1); +lean_inc(x_25); +lean_dec(x_11); +x_27 = lean_ctor_get(x_25, 0); lean_inc(x_27); -if (lean_is_exclusive(x_24)) { - lean_ctor_release(x_24, 0); - lean_ctor_release(x_24, 1); - x_28 = x_24; +x_28 = lean_ctor_get(x_25, 1); +lean_inc(x_28); +if (lean_is_exclusive(x_25)) { + lean_ctor_release(x_25, 0); + lean_ctor_release(x_25, 1); + x_29 = x_25; } else { - lean_dec_ref(x_24); - x_28 = lean_box(0); + lean_dec_ref(x_25); + x_29 = lean_box(0); } -x_29 = l_Lean_instInhabitedName; -x_30 = lean_unsigned_to_nat(0u); -x_31 = lean_array_get(x_29, x_26, x_30); -lean_dec(x_26); -if (lean_is_scalar(x_28)) { - x_32 = lean_alloc_ctor(0, 2, 0); +x_30 = l_Lean_instInhabitedName; +x_31 = lean_unsigned_to_nat(0u); +x_32 = lean_array_get(x_30, x_27, x_31); +lean_dec(x_27); +if (lean_is_scalar(x_29)) { + x_33 = lean_alloc_ctor(0, 2, 0); } else { - x_32 = x_28; + x_33 = x_29; } -lean_ctor_set(x_32, 0, x_31); -lean_ctor_set(x_32, 1, x_27); -x_33 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_33, 0, x_32); -lean_ctor_set(x_33, 1, x_25); -return x_33; +lean_ctor_set(x_33, 1, x_28); +x_34 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_34, 0, x_33); +lean_ctor_set(x_34, 1, x_26); +return x_34; } } else { -uint8_t x_34; -x_34 = !lean_is_exclusive(x_10); -if (x_34 == 0) +uint8_t x_35; +x_35 = !lean_is_exclusive(x_11); +if (x_35 == 0) { -return x_10; +return x_11; } else { -lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_35 = lean_ctor_get(x_10, 0); -x_36 = lean_ctor_get(x_10, 1); +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_ctor_get(x_11, 0); +x_37 = lean_ctor_get(x_11, 1); +lean_inc(x_37); lean_inc(x_36); -lean_inc(x_35); -lean_dec(x_10); -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_dec(x_11); +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; } } } @@ -2419,15 +2480,15 @@ l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___closed__ lean_mark_persistent(l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___closed__2); l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___closed__3 = _init_l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___closed__3(); lean_mark_persistent(l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___closed__3); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__1 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__1(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__1); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__2 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__2(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__2); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__3 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__3(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__3); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__4 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__4(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575____closed__4); -res = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_575_(lean_io_mk_world()); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__1 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__1(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__1); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__2 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__2(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__2); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__3 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__3(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__3); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__4 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__4(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580____closed__4); +res = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_580_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_Meta_hygienicIntro = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_Meta_hygienicIntro); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Replace.c b/stage0/stdlib/Lean/Meta/Tactic/Replace.c index 34dda577e8..b2472483eb 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Replace.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Replace.c @@ -56,7 +56,7 @@ lean_object* l_Lean_Meta_revert(lean_object*, lean_object*, uint8_t, lean_object lean_object* l_Lean_Meta_change___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_replaceTargetEq___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_KernelException_toMessageData___closed__15; -lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_mkEqMPR___closed__2; lean_object* l_Lean_mkFVar(lean_object*); uint8_t l_Lean_Expr_Data_binderInfo(uint64_t); @@ -1410,191 +1410,192 @@ x_14 = lean_ctor_get_uint64(x_5, sizeof(void*)*3); lean_dec(x_5); if (x_4 == 0) { -uint8_t x_40; lean_object* x_41; lean_object* x_42; +uint8_t x_41; lean_object* x_42; lean_object* x_43; lean_dec(x_12); -x_40 = (uint8_t)((x_14 << 24) >> 61); -x_41 = l_Lean_mkForall(x_11, x_40, x_2, x_13); +x_41 = (uint8_t)((x_14 << 24) >> 61); +x_42 = l_Lean_mkForall(x_11, x_41, x_2, x_13); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -x_42 = l_Lean_Meta_replaceTargetDefEq(x_1, x_41, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_42) == 0) +x_43 = l_Lean_Meta_replaceTargetDefEq(x_1, x_42, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_43) == 0) { -lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46; lean_object* x_47; -x_43 = lean_ctor_get(x_42, 0); -lean_inc(x_43); -x_44 = lean_ctor_get(x_42, 1); +lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; uint8_t x_48; lean_object* x_49; +x_44 = lean_ctor_get(x_43, 0); lean_inc(x_44); -lean_dec(x_42); -x_45 = lean_box(0); -x_46 = 1; -x_47 = l_Lean_Meta_introNCore(x_43, x_3, x_45, x_46, x_6, x_7, x_8, x_9, x_44); -if (lean_obj_tag(x_47) == 0) +x_45 = lean_ctor_get(x_43, 1); +lean_inc(x_45); +lean_dec(x_43); +x_46 = lean_box(0); +x_47 = 0; +x_48 = 1; +x_49 = l_Lean_Meta_introNCore(x_44, x_3, x_46, x_47, x_48, x_6, x_7, x_8, x_9, x_45); +if (lean_obj_tag(x_49) == 0) { -uint8_t x_48; -x_48 = !lean_is_exclusive(x_47); -if (x_48 == 0) +uint8_t x_50; +x_50 = !lean_is_exclusive(x_49); +if (x_50 == 0) { -lean_object* x_49; lean_object* x_50; -x_49 = lean_ctor_get(x_47, 0); -x_50 = lean_ctor_get(x_49, 1); -lean_inc(x_50); -lean_dec(x_49); -lean_ctor_set(x_47, 0, x_50); -return x_47; -} -else -{ -lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; -x_51 = lean_ctor_get(x_47, 0); -x_52 = lean_ctor_get(x_47, 1); +lean_object* x_51; lean_object* x_52; +x_51 = lean_ctor_get(x_49, 0); +x_52 = lean_ctor_get(x_51, 1); lean_inc(x_52); -lean_inc(x_51); -lean_dec(x_47); -x_53 = lean_ctor_get(x_51, 1); -lean_inc(x_53); lean_dec(x_51); -x_54 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_54, 0, x_53); -lean_ctor_set(x_54, 1, x_52); -return x_54; +lean_ctor_set(x_49, 0, x_52); +return x_49; +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_53 = lean_ctor_get(x_49, 0); +x_54 = lean_ctor_get(x_49, 1); +lean_inc(x_54); +lean_inc(x_53); +lean_dec(x_49); +x_55 = lean_ctor_get(x_53, 1); +lean_inc(x_55); +lean_dec(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_54); +return x_56; } } else { -uint8_t x_55; -x_55 = !lean_is_exclusive(x_47); -if (x_55 == 0) +uint8_t x_57; +x_57 = !lean_is_exclusive(x_49); +if (x_57 == 0) { -return x_47; +return x_49; } else { -lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_56 = lean_ctor_get(x_47, 0); -x_57 = lean_ctor_get(x_47, 1); -lean_inc(x_57); -lean_inc(x_56); -lean_dec(x_47); -x_58 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_58, 0, x_56); -lean_ctor_set(x_58, 1, x_57); -return x_58; +lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_58 = lean_ctor_get(x_49, 0); +x_59 = lean_ctor_get(x_49, 1); +lean_inc(x_59); +lean_inc(x_58); +lean_dec(x_49); +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_59; +uint8_t x_61; lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); -x_59 = !lean_is_exclusive(x_42); -if (x_59 == 0) +x_61 = !lean_is_exclusive(x_43); +if (x_61 == 0) { -return x_42; +return x_43; } else { -lean_object* x_60; lean_object* x_61; lean_object* x_62; -x_60 = lean_ctor_get(x_42, 0); -x_61 = lean_ctor_get(x_42, 1); -lean_inc(x_61); -lean_inc(x_60); -lean_dec(x_42); -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; +lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_62 = lean_ctor_get(x_43, 0); +x_63 = lean_ctor_get(x_43, 1); +lean_inc(x_63); +lean_inc(x_62); +lean_dec(x_43); +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; } } } else { -lean_object* x_63; +lean_object* x_65; lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_12); lean_inc(x_2); -x_63 = l_Lean_Meta_isExprDefEq(x_2, x_12, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_63) == 0) +x_65 = l_Lean_Meta_isExprDefEq(x_2, x_12, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_65) == 0) { -lean_object* x_64; uint8_t x_65; -x_64 = lean_ctor_get(x_63, 0); -lean_inc(x_64); -x_65 = lean_unbox(x_64); -lean_dec(x_64); -if (x_65 == 0) +lean_object* x_66; uint8_t x_67; +x_66 = lean_ctor_get(x_65, 0); +lean_inc(x_66); +x_67 = lean_unbox(x_66); +lean_dec(x_66); +if (x_67 == 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; 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; uint8_t x_79; +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; uint8_t x_81; lean_dec(x_13); lean_dec(x_11); lean_dec(x_3); -x_66 = lean_ctor_get(x_63, 1); -lean_inc(x_66); -lean_dec(x_63); -x_67 = l_Lean_indentExpr(x_2); -x_68 = l_Lean_Meta_change___lambda__2___closed__2; -x_69 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_69, 0, x_68); -lean_ctor_set(x_69, 1, x_67); -x_70 = l_Lean_Meta_synthInstance_x3f___lambda__4___closed__4; +x_68 = lean_ctor_get(x_65, 1); +lean_inc(x_68); +lean_dec(x_65); +x_69 = l_Lean_indentExpr(x_2); +x_70 = l_Lean_Meta_change___lambda__2___closed__2; x_71 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_71, 0, x_69); -lean_ctor_set(x_71, 1, x_70); -x_72 = l_Lean_indentExpr(x_12); +lean_ctor_set(x_71, 0, x_70); +lean_ctor_set(x_71, 1, x_69); +x_72 = l_Lean_Meta_synthInstance_x3f___lambda__4___closed__4; x_73 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_73, 0, x_71); lean_ctor_set(x_73, 1, x_72); -x_74 = l_Lean_KernelException_toMessageData___closed__15; +x_74 = l_Lean_indentExpr(x_12); x_75 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_75, 0, x_73); lean_ctor_set(x_75, 1, x_74); -x_76 = l_Lean_Meta_changeLocalDecl___lambda__1___closed__2; -x_77 = lean_box(0); -x_78 = l_Lean_Meta_throwTacticEx___rarg(x_76, x_1, x_75, x_77, x_6, x_7, x_8, x_9, x_66); +x_76 = l_Lean_KernelException_toMessageData___closed__15; +x_77 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_77, 0, x_75); +lean_ctor_set(x_77, 1, x_76); +x_78 = l_Lean_Meta_changeLocalDecl___lambda__1___closed__2; +x_79 = lean_box(0); +x_80 = l_Lean_Meta_throwTacticEx___rarg(x_78, x_1, x_77, x_79, x_6, x_7, x_8, x_9, x_68); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -x_79 = !lean_is_exclusive(x_78); -if (x_79 == 0) +x_81 = !lean_is_exclusive(x_80); +if (x_81 == 0) { -return x_78; +return x_80; } else { -lean_object* x_80; lean_object* x_81; lean_object* x_82; -x_80 = lean_ctor_get(x_78, 0); -x_81 = lean_ctor_get(x_78, 1); -lean_inc(x_81); -lean_inc(x_80); -lean_dec(x_78); -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_dec(x_12); -x_83 = lean_ctor_get(x_63, 1); +lean_object* x_82; lean_object* x_83; lean_object* x_84; +x_82 = lean_ctor_get(x_80, 0); +x_83 = lean_ctor_get(x_80, 1); lean_inc(x_83); -lean_dec(x_63); -x_15 = x_83; -goto block_39; +lean_inc(x_82); +lean_dec(x_80); +x_84 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_84, 0, x_82); +lean_ctor_set(x_84, 1, x_83); +return x_84; } } else { -uint8_t x_84; +lean_object* x_85; +lean_dec(x_12); +x_85 = lean_ctor_get(x_65, 1); +lean_inc(x_85); +lean_dec(x_65); +x_15 = x_85; +goto block_40; +} +} +else +{ +uint8_t x_86; lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); @@ -1605,27 +1606,27 @@ lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_84 = !lean_is_exclusive(x_63); -if (x_84 == 0) +x_86 = !lean_is_exclusive(x_65); +if (x_86 == 0) { -return x_63; +return x_65; } else { -lean_object* x_85; lean_object* x_86; lean_object* x_87; -x_85 = lean_ctor_get(x_63, 0); -x_86 = lean_ctor_get(x_63, 1); -lean_inc(x_86); -lean_inc(x_85); -lean_dec(x_63); -x_87 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_87, 0, x_85); -lean_ctor_set(x_87, 1, x_86); -return x_87; +lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_87 = lean_ctor_get(x_65, 0); +x_88 = lean_ctor_get(x_65, 1); +lean_inc(x_88); +lean_inc(x_87); +lean_dec(x_65); +x_89 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_89, 0, x_87); +lean_ctor_set(x_89, 1, x_88); +return x_89; } } } -block_39: +block_40: { uint8_t x_16; lean_object* x_17; lean_object* x_18; x_16 = (uint8_t)((x_14 << 24) >> 61); @@ -1637,302 +1638,303 @@ lean_inc(x_6); x_18 = l_Lean_Meta_replaceTargetDefEq(x_1, x_17, x_6, x_7, x_8, x_9, x_15); if (lean_obj_tag(x_18) == 0) { -lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_object* x_23; +lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; uint8_t x_23; lean_object* x_24; x_19 = lean_ctor_get(x_18, 0); lean_inc(x_19); x_20 = lean_ctor_get(x_18, 1); lean_inc(x_20); lean_dec(x_18); x_21 = lean_box(0); -x_22 = 1; -x_23 = l_Lean_Meta_introNCore(x_19, x_3, x_21, x_22, x_6, x_7, x_8, x_9, x_20); -if (lean_obj_tag(x_23) == 0) +x_22 = 0; +x_23 = 1; +x_24 = l_Lean_Meta_introNCore(x_19, x_3, x_21, x_22, x_23, x_6, x_7, x_8, x_9, x_20); +if (lean_obj_tag(x_24) == 0) { -uint8_t x_24; -x_24 = !lean_is_exclusive(x_23); -if (x_24 == 0) +uint8_t x_25; +x_25 = !lean_is_exclusive(x_24); +if (x_25 == 0) { -lean_object* x_25; lean_object* x_26; -x_25 = lean_ctor_get(x_23, 0); -x_26 = lean_ctor_get(x_25, 1); -lean_inc(x_26); -lean_dec(x_25); -lean_ctor_set(x_23, 0, x_26); -return x_23; -} -else -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_27 = lean_ctor_get(x_23, 0); -x_28 = lean_ctor_get(x_23, 1); -lean_inc(x_28); +lean_object* x_26; lean_object* x_27; +x_26 = lean_ctor_get(x_24, 0); +x_27 = lean_ctor_get(x_26, 1); lean_inc(x_27); -lean_dec(x_23); -x_29 = lean_ctor_get(x_27, 1); +lean_dec(x_26); +lean_ctor_set(x_24, 0, x_27); +return x_24; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_28 = lean_ctor_get(x_24, 0); +x_29 = lean_ctor_get(x_24, 1); lean_inc(x_29); -lean_dec(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_28); -return x_30; +lean_inc(x_28); +lean_dec(x_24); +x_30 = lean_ctor_get(x_28, 1); +lean_inc(x_30); +lean_dec(x_28); +x_31 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_31, 0, x_30); +lean_ctor_set(x_31, 1, x_29); +return x_31; } } else { -uint8_t x_31; -x_31 = !lean_is_exclusive(x_23); -if (x_31 == 0) +uint8_t x_32; +x_32 = !lean_is_exclusive(x_24); +if (x_32 == 0) { -return x_23; +return x_24; } else { -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_23, 0); -x_33 = lean_ctor_get(x_23, 1); +lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_33 = lean_ctor_get(x_24, 0); +x_34 = lean_ctor_get(x_24, 1); +lean_inc(x_34); lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_23); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; +lean_dec(x_24); +x_35 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_35, 0, x_33); +lean_ctor_set(x_35, 1, x_34); +return x_35; } } } else { -uint8_t x_35; +uint8_t x_36; lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); -x_35 = !lean_is_exclusive(x_18); -if (x_35 == 0) +x_36 = !lean_is_exclusive(x_18); +if (x_36 == 0) { return x_18; } else { -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_18, 0); -x_37 = lean_ctor_get(x_18, 1); +lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_37 = lean_ctor_get(x_18, 0); +x_38 = lean_ctor_get(x_18, 1); +lean_inc(x_38); lean_inc(x_37); -lean_inc(x_36); lean_dec(x_18); -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; +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; } } } } case 8: { -lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; -x_88 = lean_ctor_get(x_5, 0); -lean_inc(x_88); -x_89 = lean_ctor_get(x_5, 1); -lean_inc(x_89); -x_90 = lean_ctor_get(x_5, 2); +lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; +x_90 = lean_ctor_get(x_5, 0); lean_inc(x_90); -x_91 = lean_ctor_get(x_5, 3); +x_91 = lean_ctor_get(x_5, 1); lean_inc(x_91); +x_92 = lean_ctor_get(x_5, 2); +lean_inc(x_92); +x_93 = lean_ctor_get(x_5, 3); +lean_inc(x_93); lean_dec(x_5); if (x_4 == 0) { -uint8_t x_117; lean_object* x_118; lean_object* x_119; -lean_dec(x_89); -x_117 = 0; -x_118 = l_Lean_mkLet(x_88, x_2, x_90, x_91, x_117); +uint8_t x_119; lean_object* x_120; lean_object* x_121; +lean_dec(x_91); +x_119 = 0; +x_120 = l_Lean_mkLet(x_90, x_2, x_92, x_93, x_119); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -x_119 = l_Lean_Meta_replaceTargetDefEq(x_1, x_118, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_119) == 0) +x_121 = l_Lean_Meta_replaceTargetDefEq(x_1, x_120, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_121) == 0) { -lean_object* x_120; lean_object* x_121; lean_object* x_122; uint8_t x_123; lean_object* x_124; -x_120 = lean_ctor_get(x_119, 0); -lean_inc(x_120); -x_121 = lean_ctor_get(x_119, 1); -lean_inc(x_121); -lean_dec(x_119); -x_122 = lean_box(0); -x_123 = 1; -x_124 = l_Lean_Meta_introNCore(x_120, x_3, x_122, x_123, x_6, x_7, x_8, x_9, x_121); -if (lean_obj_tag(x_124) == 0) +lean_object* x_122; lean_object* x_123; lean_object* x_124; uint8_t x_125; lean_object* x_126; +x_122 = lean_ctor_get(x_121, 0); +lean_inc(x_122); +x_123 = lean_ctor_get(x_121, 1); +lean_inc(x_123); +lean_dec(x_121); +x_124 = lean_box(0); +x_125 = 1; +x_126 = l_Lean_Meta_introNCore(x_122, x_3, x_124, x_119, x_125, x_6, x_7, x_8, x_9, x_123); +if (lean_obj_tag(x_126) == 0) { -uint8_t x_125; -x_125 = !lean_is_exclusive(x_124); -if (x_125 == 0) +uint8_t x_127; +x_127 = !lean_is_exclusive(x_126); +if (x_127 == 0) { -lean_object* x_126; lean_object* x_127; -x_126 = lean_ctor_get(x_124, 0); -x_127 = lean_ctor_get(x_126, 1); -lean_inc(x_127); -lean_dec(x_126); -lean_ctor_set(x_124, 0, x_127); -return x_124; -} -else -{ -lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; -x_128 = lean_ctor_get(x_124, 0); -x_129 = lean_ctor_get(x_124, 1); +lean_object* x_128; lean_object* x_129; +x_128 = lean_ctor_get(x_126, 0); +x_129 = lean_ctor_get(x_128, 1); lean_inc(x_129); -lean_inc(x_128); -lean_dec(x_124); -x_130 = lean_ctor_get(x_128, 1); -lean_inc(x_130); lean_dec(x_128); -x_131 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_131, 0, x_130); -lean_ctor_set(x_131, 1, x_129); -return x_131; +lean_ctor_set(x_126, 0, x_129); +return x_126; +} +else +{ +lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; +x_130 = lean_ctor_get(x_126, 0); +x_131 = lean_ctor_get(x_126, 1); +lean_inc(x_131); +lean_inc(x_130); +lean_dec(x_126); +x_132 = lean_ctor_get(x_130, 1); +lean_inc(x_132); +lean_dec(x_130); +x_133 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_133, 0, x_132); +lean_ctor_set(x_133, 1, x_131); +return x_133; } } else { -uint8_t x_132; -x_132 = !lean_is_exclusive(x_124); -if (x_132 == 0) +uint8_t x_134; +x_134 = !lean_is_exclusive(x_126); +if (x_134 == 0) { -return x_124; +return x_126; } else { -lean_object* x_133; lean_object* x_134; lean_object* x_135; -x_133 = lean_ctor_get(x_124, 0); -x_134 = lean_ctor_get(x_124, 1); -lean_inc(x_134); -lean_inc(x_133); -lean_dec(x_124); -x_135 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_135, 0, x_133); -lean_ctor_set(x_135, 1, x_134); -return x_135; +lean_object* x_135; lean_object* x_136; lean_object* x_137; +x_135 = lean_ctor_get(x_126, 0); +x_136 = lean_ctor_get(x_126, 1); +lean_inc(x_136); +lean_inc(x_135); +lean_dec(x_126); +x_137 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_137, 0, x_135); +lean_ctor_set(x_137, 1, x_136); +return x_137; } } } else { -uint8_t x_136; +uint8_t x_138; lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); -x_136 = !lean_is_exclusive(x_119); -if (x_136 == 0) +x_138 = !lean_is_exclusive(x_121); +if (x_138 == 0) { -return x_119; +return x_121; } else { -lean_object* x_137; lean_object* x_138; lean_object* x_139; -x_137 = lean_ctor_get(x_119, 0); -x_138 = lean_ctor_get(x_119, 1); -lean_inc(x_138); -lean_inc(x_137); -lean_dec(x_119); -x_139 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_139, 0, x_137); -lean_ctor_set(x_139, 1, x_138); -return x_139; +lean_object* x_139; lean_object* x_140; lean_object* x_141; +x_139 = lean_ctor_get(x_121, 0); +x_140 = lean_ctor_get(x_121, 1); +lean_inc(x_140); +lean_inc(x_139); +lean_dec(x_121); +x_141 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_141, 0, x_139); +lean_ctor_set(x_141, 1, x_140); +return x_141; } } } else { -lean_object* x_140; +lean_object* x_142; lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -lean_inc(x_89); +lean_inc(x_91); lean_inc(x_2); -x_140 = l_Lean_Meta_isExprDefEq(x_2, x_89, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_140) == 0) +x_142 = l_Lean_Meta_isExprDefEq(x_2, x_91, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_142) == 0) { -lean_object* x_141; uint8_t x_142; -x_141 = lean_ctor_get(x_140, 0); -lean_inc(x_141); -x_142 = lean_unbox(x_141); -lean_dec(x_141); -if (x_142 == 0) -{ -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_object* x_155; uint8_t x_156; -lean_dec(x_91); -lean_dec(x_90); -lean_dec(x_88); -lean_dec(x_3); -x_143 = lean_ctor_get(x_140, 1); +lean_object* x_143; uint8_t x_144; +x_143 = lean_ctor_get(x_142, 0); lean_inc(x_143); -lean_dec(x_140); -x_144 = l_Lean_indentExpr(x_2); -x_145 = l_Lean_Meta_change___lambda__2___closed__2; -x_146 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_146, 0, x_145); -lean_ctor_set(x_146, 1, x_144); -x_147 = l_Lean_Meta_synthInstance_x3f___lambda__4___closed__4; +x_144 = lean_unbox(x_143); +lean_dec(x_143); +if (x_144 == 0) +{ +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_object* x_155; lean_object* x_156; lean_object* x_157; uint8_t x_158; +lean_dec(x_93); +lean_dec(x_92); +lean_dec(x_90); +lean_dec(x_3); +x_145 = lean_ctor_get(x_142, 1); +lean_inc(x_145); +lean_dec(x_142); +x_146 = l_Lean_indentExpr(x_2); +x_147 = l_Lean_Meta_change___lambda__2___closed__2; x_148 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_148, 0, x_146); -lean_ctor_set(x_148, 1, x_147); -x_149 = l_Lean_indentExpr(x_89); +lean_ctor_set(x_148, 0, x_147); +lean_ctor_set(x_148, 1, x_146); +x_149 = l_Lean_Meta_synthInstance_x3f___lambda__4___closed__4; x_150 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_150, 0, x_148); lean_ctor_set(x_150, 1, x_149); -x_151 = l_Lean_KernelException_toMessageData___closed__15; +x_151 = l_Lean_indentExpr(x_91); x_152 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_152, 0, x_150); lean_ctor_set(x_152, 1, x_151); -x_153 = l_Lean_Meta_changeLocalDecl___lambda__1___closed__2; -x_154 = lean_box(0); -x_155 = l_Lean_Meta_throwTacticEx___rarg(x_153, x_1, x_152, x_154, x_6, x_7, x_8, x_9, x_143); +x_153 = l_Lean_KernelException_toMessageData___closed__15; +x_154 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_154, 0, x_152); +lean_ctor_set(x_154, 1, x_153); +x_155 = l_Lean_Meta_changeLocalDecl___lambda__1___closed__2; +x_156 = lean_box(0); +x_157 = l_Lean_Meta_throwTacticEx___rarg(x_155, x_1, x_154, x_156, x_6, x_7, x_8, x_9, x_145); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -x_156 = !lean_is_exclusive(x_155); -if (x_156 == 0) +x_158 = !lean_is_exclusive(x_157); +if (x_158 == 0) { -return x_155; +return x_157; } else { -lean_object* x_157; lean_object* x_158; lean_object* x_159; -x_157 = lean_ctor_get(x_155, 0); -x_158 = lean_ctor_get(x_155, 1); -lean_inc(x_158); -lean_inc(x_157); -lean_dec(x_155); -x_159 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_159, 0, x_157); -lean_ctor_set(x_159, 1, x_158); -return x_159; -} -} -else -{ -lean_object* x_160; -lean_dec(x_89); -x_160 = lean_ctor_get(x_140, 1); +lean_object* x_159; lean_object* x_160; lean_object* x_161; +x_159 = lean_ctor_get(x_157, 0); +x_160 = lean_ctor_get(x_157, 1); lean_inc(x_160); -lean_dec(x_140); -x_92 = x_160; -goto block_116; +lean_inc(x_159); +lean_dec(x_157); +x_161 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_161, 0, x_159); +lean_ctor_set(x_161, 1, x_160); +return x_161; } } else { -uint8_t x_161; +lean_object* x_162; +lean_dec(x_91); +x_162 = lean_ctor_get(x_142, 1); +lean_inc(x_162); +lean_dec(x_142); +x_94 = x_162; +goto block_118; +} +} +else +{ +uint8_t x_163; +lean_dec(x_93); +lean_dec(x_92); lean_dec(x_91); lean_dec(x_90); -lean_dec(x_89); -lean_dec(x_88); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -1940,145 +1942,145 @@ lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_161 = !lean_is_exclusive(x_140); -if (x_161 == 0) +x_163 = !lean_is_exclusive(x_142); +if (x_163 == 0) { -return x_140; +return x_142; } else { -lean_object* x_162; lean_object* x_163; lean_object* x_164; -x_162 = lean_ctor_get(x_140, 0); -x_163 = lean_ctor_get(x_140, 1); -lean_inc(x_163); -lean_inc(x_162); -lean_dec(x_140); -x_164 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_164, 0, x_162); -lean_ctor_set(x_164, 1, x_163); -return x_164; +lean_object* x_164; lean_object* x_165; lean_object* x_166; +x_164 = lean_ctor_get(x_142, 0); +x_165 = lean_ctor_get(x_142, 1); +lean_inc(x_165); +lean_inc(x_164); +lean_dec(x_142); +x_166 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_166, 0, x_164); +lean_ctor_set(x_166, 1, x_165); +return x_166; } } } -block_116: +block_118: { -uint8_t x_93; lean_object* x_94; lean_object* x_95; -x_93 = 0; -x_94 = l_Lean_mkLet(x_88, x_2, x_90, x_91, x_93); +uint8_t x_95; lean_object* x_96; lean_object* x_97; +x_95 = 0; +x_96 = l_Lean_mkLet(x_90, x_2, x_92, x_93, x_95); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -x_95 = l_Lean_Meta_replaceTargetDefEq(x_1, x_94, x_6, x_7, x_8, x_9, x_92); -if (lean_obj_tag(x_95) == 0) +x_97 = l_Lean_Meta_replaceTargetDefEq(x_1, x_96, x_6, x_7, x_8, x_9, x_94); +if (lean_obj_tag(x_97) == 0) { -lean_object* x_96; lean_object* x_97; lean_object* x_98; uint8_t x_99; lean_object* x_100; -x_96 = lean_ctor_get(x_95, 0); -lean_inc(x_96); -x_97 = lean_ctor_get(x_95, 1); -lean_inc(x_97); -lean_dec(x_95); -x_98 = lean_box(0); -x_99 = 1; -x_100 = l_Lean_Meta_introNCore(x_96, x_3, x_98, x_99, x_6, x_7, x_8, x_9, x_97); -if (lean_obj_tag(x_100) == 0) +lean_object* x_98; lean_object* x_99; lean_object* x_100; uint8_t x_101; lean_object* x_102; +x_98 = lean_ctor_get(x_97, 0); +lean_inc(x_98); +x_99 = lean_ctor_get(x_97, 1); +lean_inc(x_99); +lean_dec(x_97); +x_100 = lean_box(0); +x_101 = 1; +x_102 = l_Lean_Meta_introNCore(x_98, x_3, x_100, x_95, x_101, x_6, x_7, x_8, x_9, x_99); +if (lean_obj_tag(x_102) == 0) { -uint8_t x_101; -x_101 = !lean_is_exclusive(x_100); -if (x_101 == 0) +uint8_t x_103; +x_103 = !lean_is_exclusive(x_102); +if (x_103 == 0) { -lean_object* x_102; lean_object* x_103; -x_102 = lean_ctor_get(x_100, 0); -x_103 = lean_ctor_get(x_102, 1); -lean_inc(x_103); -lean_dec(x_102); -lean_ctor_set(x_100, 0, x_103); -return x_100; -} -else -{ -lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; -x_104 = lean_ctor_get(x_100, 0); -x_105 = lean_ctor_get(x_100, 1); +lean_object* x_104; lean_object* x_105; +x_104 = lean_ctor_get(x_102, 0); +x_105 = lean_ctor_get(x_104, 1); lean_inc(x_105); -lean_inc(x_104); -lean_dec(x_100); -x_106 = lean_ctor_get(x_104, 1); -lean_inc(x_106); lean_dec(x_104); -x_107 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_107, 0, x_106); -lean_ctor_set(x_107, 1, x_105); -return x_107; +lean_ctor_set(x_102, 0, x_105); +return x_102; +} +else +{ +lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; +x_106 = lean_ctor_get(x_102, 0); +x_107 = lean_ctor_get(x_102, 1); +lean_inc(x_107); +lean_inc(x_106); +lean_dec(x_102); +x_108 = lean_ctor_get(x_106, 1); +lean_inc(x_108); +lean_dec(x_106); +x_109 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_109, 0, x_108); +lean_ctor_set(x_109, 1, x_107); +return x_109; } } else { -uint8_t x_108; -x_108 = !lean_is_exclusive(x_100); -if (x_108 == 0) +uint8_t x_110; +x_110 = !lean_is_exclusive(x_102); +if (x_110 == 0) { -return x_100; +return x_102; } else { -lean_object* x_109; lean_object* x_110; lean_object* x_111; -x_109 = lean_ctor_get(x_100, 0); -x_110 = lean_ctor_get(x_100, 1); -lean_inc(x_110); -lean_inc(x_109); -lean_dec(x_100); -x_111 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_111, 0, x_109); -lean_ctor_set(x_111, 1, x_110); -return x_111; +lean_object* x_111; lean_object* x_112; lean_object* x_113; +x_111 = lean_ctor_get(x_102, 0); +x_112 = lean_ctor_get(x_102, 1); +lean_inc(x_112); +lean_inc(x_111); +lean_dec(x_102); +x_113 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_113, 0, x_111); +lean_ctor_set(x_113, 1, x_112); +return x_113; } } } else { -uint8_t x_112; +uint8_t x_114; lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); -x_112 = !lean_is_exclusive(x_95); -if (x_112 == 0) +x_114 = !lean_is_exclusive(x_97); +if (x_114 == 0) { -return x_95; +return x_97; } else { -lean_object* x_113; lean_object* x_114; lean_object* x_115; -x_113 = lean_ctor_get(x_95, 0); -x_114 = lean_ctor_get(x_95, 1); -lean_inc(x_114); -lean_inc(x_113); -lean_dec(x_95); -x_115 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_115, 0, x_113); -lean_ctor_set(x_115, 1, x_114); -return x_115; +lean_object* x_115; lean_object* x_116; lean_object* x_117; +x_115 = lean_ctor_get(x_97, 0); +x_116 = lean_ctor_get(x_97, 1); +lean_inc(x_116); +lean_inc(x_115); +lean_dec(x_97); +x_117 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_117, 0, x_115); +lean_ctor_set(x_117, 1, x_116); +return x_117; } } } } default: { -lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; +lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); -x_165 = l_Lean_Meta_changeLocalDecl___lambda__1___closed__2; -x_166 = l_Lean_Meta_changeLocalDecl___lambda__1___closed__5; -x_167 = lean_box(0); -x_168 = l_Lean_Meta_throwTacticEx___rarg(x_165, x_1, x_166, x_167, x_6, x_7, x_8, x_9, x_10); +x_167 = l_Lean_Meta_changeLocalDecl___lambda__1___closed__2; +x_168 = l_Lean_Meta_changeLocalDecl___lambda__1___closed__5; +x_169 = lean_box(0); +x_170 = l_Lean_Meta_throwTacticEx___rarg(x_167, x_1, x_168, x_169, x_6, x_7, x_8, x_9, x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -return x_168; +return x_170; } } } diff --git a/stage0/stdlib/Lean/Meta/Tactic/Subst.c b/stage0/stdlib/Lean/Meta/Tactic/Subst.c index a07b8477c2..3350981fff 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Subst.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Subst.c @@ -120,7 +120,7 @@ lean_object* l_Lean_Meta_substCore___lambda__10___boxed(lean_object**); lean_object* l_Lean_Meta_substCore___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_KernelException_toMessageData___closed__15; -lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_substCore___lambda__11(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, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_substCore___lambda__13___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_subst_match__3(lean_object*); @@ -697,63 +697,63 @@ return x_2; lean_object* l_Lean_Meta_substCore___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { _start: { -lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; lean_object* x_21; +lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; uint8_t x_21; lean_object* x_22; x_17 = lean_array_get_size(x_1); x_18 = lean_unsigned_to_nat(2u); x_19 = lean_nat_sub(x_17, x_18); lean_dec(x_17); -x_20 = 1; +x_20 = 0; +x_21 = 1; lean_inc(x_15); lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); lean_inc(x_19); -x_21 = l_Lean_Meta_introNCore(x_11, x_19, x_2, x_20, x_12, x_13, x_14, x_15, x_16); -if (lean_obj_tag(x_21) == 0) +x_22 = l_Lean_Meta_introNCore(x_11, x_19, x_2, x_20, x_21, x_12, x_13, x_14, x_15, x_16); +if (lean_obj_tag(x_22) == 0) { -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_53; lean_object* x_54; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; -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; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_54; lean_object* x_55; lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72; +x_23 = lean_ctor_get(x_22, 0); lean_inc(x_23); -lean_dec(x_21); -x_24 = lean_ctor_get(x_22, 0); +x_24 = lean_ctor_get(x_22, 1); lean_inc(x_24); -x_25 = lean_ctor_get(x_22, 1); +lean_dec(x_22); +x_25 = lean_ctor_get(x_23, 0); lean_inc(x_25); -if (lean_is_exclusive(x_22)) { - lean_ctor_release(x_22, 0); - lean_ctor_release(x_22, 1); - x_26 = x_22; +x_26 = lean_ctor_get(x_23, 1); +lean_inc(x_26); +if (lean_is_exclusive(x_23)) { + lean_ctor_release(x_23, 0); + lean_ctor_release(x_23, 1); + x_27 = x_23; } else { - lean_dec_ref(x_22); - x_26 = lean_box(0); + lean_dec_ref(x_23); + x_27 = lean_box(0); } -x_68 = lean_st_ref_get(x_15, x_23); -x_69 = lean_ctor_get(x_68, 0); -lean_inc(x_69); -x_70 = lean_ctor_get(x_69, 3); +x_69 = lean_st_ref_get(x_15, x_24); +x_70 = lean_ctor_get(x_69, 0); lean_inc(x_70); -lean_dec(x_69); -x_71 = lean_ctor_get_uint8(x_70, sizeof(void*)*1); +x_71 = lean_ctor_get(x_70, 3); +lean_inc(x_71); lean_dec(x_70); -if (x_71 == 0) +x_72 = lean_ctor_get_uint8(x_71, sizeof(void*)*1); +lean_dec(x_71); +if (x_72 == 0) { -lean_object* x_72; uint8_t x_73; -x_72 = lean_ctor_get(x_68, 1); -lean_inc(x_72); -lean_dec(x_68); -x_73 = 0; -x_53 = x_73; -x_54 = x_72; -goto block_67; +lean_object* x_73; +x_73 = lean_ctor_get(x_69, 1); +lean_inc(x_73); +lean_dec(x_69); +x_54 = x_20; +x_55 = x_73; +goto block_68; } else { lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; uint8_t x_78; -x_74 = lean_ctor_get(x_68, 1); +x_74 = lean_ctor_get(x_69, 1); lean_inc(x_74); -lean_dec(x_68); +lean_dec(x_69); lean_inc(x_10); x_75 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_10, x_12, x_13, x_14, x_15, x_74); x_76 = lean_ctor_get(x_75, 0); @@ -763,150 +763,150 @@ lean_inc(x_77); lean_dec(x_75); x_78 = lean_unbox(x_76); lean_dec(x_76); -x_53 = x_78; -x_54 = x_77; -goto block_67; +x_54 = x_78; +x_55 = x_77; +goto block_68; } -block_52: +block_53: { -lean_object* x_28; lean_object* x_29; -x_28 = lean_array_get_size(x_24); -lean_inc(x_28); -x_29 = l_Nat_foldM_loop___at_Lean_Meta_substCore___spec__1(x_1, x_24, x_28, x_28, x_3, x_12, x_13, x_14, x_15, x_27); +lean_object* x_29; lean_object* x_30; +x_29 = lean_array_get_size(x_25); +lean_inc(x_29); +x_30 = l_Nat_foldM_loop___at_Lean_Meta_substCore___spec__1(x_1, x_25, x_29, x_29, x_3, x_12, x_13, x_14, x_15, x_28); lean_dec(x_15); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); -lean_dec(x_28); -lean_dec(x_24); +lean_dec(x_29); +lean_dec(x_25); if (x_4 == 0) { -uint8_t x_30; +uint8_t x_31; lean_dec(x_9); -x_30 = !lean_is_exclusive(x_29); -if (x_30 == 0) +x_31 = !lean_is_exclusive(x_30); +if (x_31 == 0) { -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 = l_Lean_Meta_FVarSubst_insert(x_31, x_5, x_6); -x_33 = l_Lean_Meta_FVarSubst_insert(x_32, x_7, x_8); -if (lean_is_scalar(x_26)) { - x_34 = lean_alloc_ctor(0, 2, 0); +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_32 = lean_ctor_get(x_30, 0); +x_33 = l_Lean_Meta_FVarSubst_insert(x_32, x_5, x_6); +x_34 = l_Lean_Meta_FVarSubst_insert(x_33, x_7, x_8); +if (lean_is_scalar(x_27)) { + x_35 = lean_alloc_ctor(0, 2, 0); } else { - x_34 = x_26; + x_35 = x_27; } -lean_ctor_set(x_34, 0, x_33); -lean_ctor_set(x_34, 1, x_25); -lean_ctor_set(x_29, 0, x_34); -return x_29; +lean_ctor_set(x_35, 0, x_34); +lean_ctor_set(x_35, 1, x_26); +lean_ctor_set(x_30, 0, x_35); +return x_30; } else { -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_35 = lean_ctor_get(x_29, 0); -x_36 = lean_ctor_get(x_29, 1); +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_36 = lean_ctor_get(x_30, 0); +x_37 = lean_ctor_get(x_30, 1); +lean_inc(x_37); lean_inc(x_36); -lean_inc(x_35); -lean_dec(x_29); -x_37 = l_Lean_Meta_FVarSubst_insert(x_35, x_5, x_6); -x_38 = l_Lean_Meta_FVarSubst_insert(x_37, x_7, x_8); -if (lean_is_scalar(x_26)) { - x_39 = lean_alloc_ctor(0, 2, 0); +lean_dec(x_30); +x_38 = l_Lean_Meta_FVarSubst_insert(x_36, x_5, x_6); +x_39 = l_Lean_Meta_FVarSubst_insert(x_38, x_7, x_8); +if (lean_is_scalar(x_27)) { + x_40 = lean_alloc_ctor(0, 2, 0); } else { - x_39 = x_26; + x_40 = x_27; } -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_25); -x_40 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_36); -return x_40; +lean_ctor_set(x_40, 1, x_26); +x_41 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_41, 0, x_40); +lean_ctor_set(x_41, 1, x_37); +return x_41; } } else { -uint8_t x_41; +uint8_t x_42; lean_dec(x_6); -x_41 = !lean_is_exclusive(x_29); -if (x_41 == 0) +x_42 = !lean_is_exclusive(x_30); +if (x_42 == 0) { -lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; -x_42 = lean_ctor_get(x_29, 0); -x_43 = l_Lean_Meta_FVarSubst_insert(x_42, x_5, x_9); -x_44 = l_Lean_Meta_FVarSubst_insert(x_43, x_7, x_8); -if (lean_is_scalar(x_26)) { - x_45 = lean_alloc_ctor(0, 2, 0); +lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_43 = lean_ctor_get(x_30, 0); +x_44 = l_Lean_Meta_FVarSubst_insert(x_43, x_5, x_9); +x_45 = l_Lean_Meta_FVarSubst_insert(x_44, x_7, x_8); +if (lean_is_scalar(x_27)) { + x_46 = lean_alloc_ctor(0, 2, 0); } else { - x_45 = x_26; + x_46 = x_27; } -lean_ctor_set(x_45, 0, x_44); -lean_ctor_set(x_45, 1, x_25); -lean_ctor_set(x_29, 0, x_45); -return x_29; +lean_ctor_set(x_46, 0, x_45); +lean_ctor_set(x_46, 1, x_26); +lean_ctor_set(x_30, 0, x_46); +return x_30; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_46 = lean_ctor_get(x_29, 0); -x_47 = lean_ctor_get(x_29, 1); +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_47 = lean_ctor_get(x_30, 0); +x_48 = lean_ctor_get(x_30, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_29); -x_48 = l_Lean_Meta_FVarSubst_insert(x_46, x_5, x_9); -x_49 = l_Lean_Meta_FVarSubst_insert(x_48, x_7, x_8); -if (lean_is_scalar(x_26)) { - x_50 = lean_alloc_ctor(0, 2, 0); +lean_dec(x_30); +x_49 = l_Lean_Meta_FVarSubst_insert(x_47, x_5, x_9); +x_50 = l_Lean_Meta_FVarSubst_insert(x_49, x_7, x_8); +if (lean_is_scalar(x_27)) { + x_51 = lean_alloc_ctor(0, 2, 0); } else { - x_50 = x_26; + x_51 = x_27; } -lean_ctor_set(x_50, 0, x_49); -lean_ctor_set(x_50, 1, x_25); -x_51 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_51, 0, x_50); -lean_ctor_set(x_51, 1, x_47); -return x_51; +lean_ctor_set(x_51, 1, x_26); +x_52 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_52, 0, x_51); +lean_ctor_set(x_52, 1, x_48); +return x_52; } } } -block_67: +block_68: { -if (x_53 == 0) +if (x_54 == 0) { lean_dec(x_19); lean_dec(x_10); -x_27 = x_54; -goto block_52; +x_28 = x_55; +goto block_53; } else { -lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_55 = l_Std_fmt___at_Lean_Position_instToFormatPosition___spec__1(x_19); -x_56 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_56, 0, x_55); -x_57 = l_Lean_Meta_substCore___lambda__1___closed__2; -x_58 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_58, 0, x_57); -lean_ctor_set(x_58, 1, x_56); -x_59 = l_Lean_Meta_substCore___lambda__1___closed__3; -x_60 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_60, 0, x_58); -lean_ctor_set(x_60, 1, x_59); -lean_inc(x_25); -x_61 = lean_alloc_ctor(5, 1, 0); -lean_ctor_set(x_61, 0, x_25); -x_62 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_62, 0, x_60); -lean_ctor_set(x_62, 1, x_61); -x_63 = l_Lean_KernelException_toMessageData___closed__15; -x_64 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_64, 0, x_62); -lean_ctor_set(x_64, 1, x_63); -x_65 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_10, x_64, x_12, x_13, x_14, x_15, x_54); -x_66 = lean_ctor_get(x_65, 1); -lean_inc(x_66); -lean_dec(x_65); -x_27 = x_66; -goto block_52; +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; +x_56 = l_Std_fmt___at_Lean_Position_instToFormatPosition___spec__1(x_19); +x_57 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_57, 0, x_56); +x_58 = l_Lean_Meta_substCore___lambda__1___closed__2; +x_59 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_59, 0, x_58); +lean_ctor_set(x_59, 1, x_57); +x_60 = l_Lean_Meta_substCore___lambda__1___closed__3; +x_61 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_61, 0, x_59); +lean_ctor_set(x_61, 1, x_60); +lean_inc(x_26); +x_62 = lean_alloc_ctor(5, 1, 0); +lean_ctor_set(x_62, 0, x_26); +x_63 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_63, 0, x_61); +lean_ctor_set(x_63, 1, x_62); +x_64 = l_Lean_KernelException_toMessageData___closed__15; +x_65 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_65, 0, x_63); +lean_ctor_set(x_65, 1, x_64); +x_66 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_10, x_65, x_12, x_13, x_14, x_15, x_55); +x_67 = lean_ctor_get(x_66, 1); +lean_inc(x_67); +lean_dec(x_66); +x_28 = x_67; +goto block_53; } } } @@ -925,19 +925,19 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_3); -x_79 = !lean_is_exclusive(x_21); +x_79 = !lean_is_exclusive(x_22); if (x_79 == 0) { -return x_21; +return x_22; } else { lean_object* x_80; lean_object* x_81; lean_object* x_82; -x_80 = lean_ctor_get(x_21, 0); -x_81 = lean_ctor_get(x_21, 1); +x_80 = lean_ctor_get(x_22, 0); +x_81 = lean_ctor_get(x_22, 1); lean_inc(x_81); lean_inc(x_80); -lean_dec(x_21); +lean_dec(x_22); x_82 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_82, 0, x_80); lean_ctor_set(x_82, 1, x_81); @@ -1200,63 +1200,63 @@ return x_21; lean_object* l_Lean_Meta_substCore___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { _start: { -lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; lean_object* x_21; +lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; uint8_t x_21; lean_object* x_22; x_17 = lean_array_get_size(x_1); x_18 = lean_unsigned_to_nat(2u); x_19 = lean_nat_sub(x_17, x_18); lean_dec(x_17); -x_20 = 1; +x_20 = 0; +x_21 = 1; lean_inc(x_15); lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); lean_inc(x_19); -x_21 = l_Lean_Meta_introNCore(x_11, x_19, x_2, x_20, x_12, x_13, x_14, x_15, x_16); -if (lean_obj_tag(x_21) == 0) +x_22 = l_Lean_Meta_introNCore(x_11, x_19, x_2, x_20, x_21, x_12, x_13, x_14, x_15, x_16); +if (lean_obj_tag(x_22) == 0) { -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_53; lean_object* x_54; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; -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; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_54; lean_object* x_55; lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72; +x_23 = lean_ctor_get(x_22, 0); lean_inc(x_23); -lean_dec(x_21); -x_24 = lean_ctor_get(x_22, 0); +x_24 = lean_ctor_get(x_22, 1); lean_inc(x_24); -x_25 = lean_ctor_get(x_22, 1); +lean_dec(x_22); +x_25 = lean_ctor_get(x_23, 0); lean_inc(x_25); -if (lean_is_exclusive(x_22)) { - lean_ctor_release(x_22, 0); - lean_ctor_release(x_22, 1); - x_26 = x_22; +x_26 = lean_ctor_get(x_23, 1); +lean_inc(x_26); +if (lean_is_exclusive(x_23)) { + lean_ctor_release(x_23, 0); + lean_ctor_release(x_23, 1); + x_27 = x_23; } else { - lean_dec_ref(x_22); - x_26 = lean_box(0); + lean_dec_ref(x_23); + x_27 = lean_box(0); } -x_68 = lean_st_ref_get(x_15, x_23); -x_69 = lean_ctor_get(x_68, 0); -lean_inc(x_69); -x_70 = lean_ctor_get(x_69, 3); +x_69 = lean_st_ref_get(x_15, x_24); +x_70 = lean_ctor_get(x_69, 0); lean_inc(x_70); -lean_dec(x_69); -x_71 = lean_ctor_get_uint8(x_70, sizeof(void*)*1); +x_71 = lean_ctor_get(x_70, 3); +lean_inc(x_71); lean_dec(x_70); -if (x_71 == 0) +x_72 = lean_ctor_get_uint8(x_71, sizeof(void*)*1); +lean_dec(x_71); +if (x_72 == 0) { -lean_object* x_72; uint8_t x_73; -x_72 = lean_ctor_get(x_68, 1); -lean_inc(x_72); -lean_dec(x_68); -x_73 = 0; -x_53 = x_73; -x_54 = x_72; -goto block_67; +lean_object* x_73; +x_73 = lean_ctor_get(x_69, 1); +lean_inc(x_73); +lean_dec(x_69); +x_54 = x_20; +x_55 = x_73; +goto block_68; } else { lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; uint8_t x_78; -x_74 = lean_ctor_get(x_68, 1); +x_74 = lean_ctor_get(x_69, 1); lean_inc(x_74); -lean_dec(x_68); +lean_dec(x_69); lean_inc(x_10); x_75 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_10, x_12, x_13, x_14, x_15, x_74); x_76 = lean_ctor_get(x_75, 0); @@ -1266,150 +1266,150 @@ lean_inc(x_77); lean_dec(x_75); x_78 = lean_unbox(x_76); lean_dec(x_76); -x_53 = x_78; -x_54 = x_77; -goto block_67; +x_54 = x_78; +x_55 = x_77; +goto block_68; } -block_52: +block_53: { -lean_object* x_28; lean_object* x_29; -x_28 = lean_array_get_size(x_24); -lean_inc(x_28); -x_29 = l_Nat_foldM_loop___at_Lean_Meta_substCore___spec__3(x_1, x_24, x_28, x_28, x_3, x_12, x_13, x_14, x_15, x_27); +lean_object* x_29; lean_object* x_30; +x_29 = lean_array_get_size(x_25); +lean_inc(x_29); +x_30 = l_Nat_foldM_loop___at_Lean_Meta_substCore___spec__3(x_1, x_25, x_29, x_29, x_3, x_12, x_13, x_14, x_15, x_28); lean_dec(x_15); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); -lean_dec(x_28); -lean_dec(x_24); +lean_dec(x_29); +lean_dec(x_25); if (x_4 == 0) { -uint8_t x_30; +uint8_t x_31; lean_dec(x_9); -x_30 = !lean_is_exclusive(x_29); -if (x_30 == 0) +x_31 = !lean_is_exclusive(x_30); +if (x_31 == 0) { -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 = l_Lean_Meta_FVarSubst_insert(x_31, x_5, x_6); -x_33 = l_Lean_Meta_FVarSubst_insert(x_32, x_7, x_8); -if (lean_is_scalar(x_26)) { - x_34 = lean_alloc_ctor(0, 2, 0); +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_32 = lean_ctor_get(x_30, 0); +x_33 = l_Lean_Meta_FVarSubst_insert(x_32, x_5, x_6); +x_34 = l_Lean_Meta_FVarSubst_insert(x_33, x_7, x_8); +if (lean_is_scalar(x_27)) { + x_35 = lean_alloc_ctor(0, 2, 0); } else { - x_34 = x_26; + x_35 = x_27; } -lean_ctor_set(x_34, 0, x_33); -lean_ctor_set(x_34, 1, x_25); -lean_ctor_set(x_29, 0, x_34); -return x_29; +lean_ctor_set(x_35, 0, x_34); +lean_ctor_set(x_35, 1, x_26); +lean_ctor_set(x_30, 0, x_35); +return x_30; } else { -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_35 = lean_ctor_get(x_29, 0); -x_36 = lean_ctor_get(x_29, 1); +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_36 = lean_ctor_get(x_30, 0); +x_37 = lean_ctor_get(x_30, 1); +lean_inc(x_37); lean_inc(x_36); -lean_inc(x_35); -lean_dec(x_29); -x_37 = l_Lean_Meta_FVarSubst_insert(x_35, x_5, x_6); -x_38 = l_Lean_Meta_FVarSubst_insert(x_37, x_7, x_8); -if (lean_is_scalar(x_26)) { - x_39 = lean_alloc_ctor(0, 2, 0); +lean_dec(x_30); +x_38 = l_Lean_Meta_FVarSubst_insert(x_36, x_5, x_6); +x_39 = l_Lean_Meta_FVarSubst_insert(x_38, x_7, x_8); +if (lean_is_scalar(x_27)) { + x_40 = lean_alloc_ctor(0, 2, 0); } else { - x_39 = x_26; + x_40 = x_27; } -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_25); -x_40 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_36); -return x_40; +lean_ctor_set(x_40, 1, x_26); +x_41 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_41, 0, x_40); +lean_ctor_set(x_41, 1, x_37); +return x_41; } } else { -uint8_t x_41; +uint8_t x_42; lean_dec(x_6); -x_41 = !lean_is_exclusive(x_29); -if (x_41 == 0) +x_42 = !lean_is_exclusive(x_30); +if (x_42 == 0) { -lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; -x_42 = lean_ctor_get(x_29, 0); -x_43 = l_Lean_Meta_FVarSubst_insert(x_42, x_5, x_9); -x_44 = l_Lean_Meta_FVarSubst_insert(x_43, x_7, x_8); -if (lean_is_scalar(x_26)) { - x_45 = lean_alloc_ctor(0, 2, 0); +lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_43 = lean_ctor_get(x_30, 0); +x_44 = l_Lean_Meta_FVarSubst_insert(x_43, x_5, x_9); +x_45 = l_Lean_Meta_FVarSubst_insert(x_44, x_7, x_8); +if (lean_is_scalar(x_27)) { + x_46 = lean_alloc_ctor(0, 2, 0); } else { - x_45 = x_26; + x_46 = x_27; } -lean_ctor_set(x_45, 0, x_44); -lean_ctor_set(x_45, 1, x_25); -lean_ctor_set(x_29, 0, x_45); -return x_29; +lean_ctor_set(x_46, 0, x_45); +lean_ctor_set(x_46, 1, x_26); +lean_ctor_set(x_30, 0, x_46); +return x_30; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_46 = lean_ctor_get(x_29, 0); -x_47 = lean_ctor_get(x_29, 1); +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_47 = lean_ctor_get(x_30, 0); +x_48 = lean_ctor_get(x_30, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_29); -x_48 = l_Lean_Meta_FVarSubst_insert(x_46, x_5, x_9); -x_49 = l_Lean_Meta_FVarSubst_insert(x_48, x_7, x_8); -if (lean_is_scalar(x_26)) { - x_50 = lean_alloc_ctor(0, 2, 0); +lean_dec(x_30); +x_49 = l_Lean_Meta_FVarSubst_insert(x_47, x_5, x_9); +x_50 = l_Lean_Meta_FVarSubst_insert(x_49, x_7, x_8); +if (lean_is_scalar(x_27)) { + x_51 = lean_alloc_ctor(0, 2, 0); } else { - x_50 = x_26; + x_51 = x_27; } -lean_ctor_set(x_50, 0, x_49); -lean_ctor_set(x_50, 1, x_25); -x_51 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_51, 0, x_50); -lean_ctor_set(x_51, 1, x_47); -return x_51; +lean_ctor_set(x_51, 1, x_26); +x_52 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_52, 0, x_51); +lean_ctor_set(x_52, 1, x_48); +return x_52; } } } -block_67: +block_68: { -if (x_53 == 0) +if (x_54 == 0) { lean_dec(x_19); lean_dec(x_10); -x_27 = x_54; -goto block_52; +x_28 = x_55; +goto block_53; } else { -lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_55 = l_Std_fmt___at_Lean_Position_instToFormatPosition___spec__1(x_19); -x_56 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_56, 0, x_55); -x_57 = l_Lean_Meta_substCore___lambda__1___closed__2; -x_58 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_58, 0, x_57); -lean_ctor_set(x_58, 1, x_56); -x_59 = l_Lean_Meta_substCore___lambda__1___closed__3; -x_60 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_60, 0, x_58); -lean_ctor_set(x_60, 1, x_59); -lean_inc(x_25); -x_61 = lean_alloc_ctor(5, 1, 0); -lean_ctor_set(x_61, 0, x_25); -x_62 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_62, 0, x_60); -lean_ctor_set(x_62, 1, x_61); -x_63 = l_Lean_KernelException_toMessageData___closed__15; -x_64 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_64, 0, x_62); -lean_ctor_set(x_64, 1, x_63); -x_65 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_10, x_64, x_12, x_13, x_14, x_15, x_54); -x_66 = lean_ctor_get(x_65, 1); -lean_inc(x_66); -lean_dec(x_65); -x_27 = x_66; -goto block_52; +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; +x_56 = l_Std_fmt___at_Lean_Position_instToFormatPosition___spec__1(x_19); +x_57 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_57, 0, x_56); +x_58 = l_Lean_Meta_substCore___lambda__1___closed__2; +x_59 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_59, 0, x_58); +lean_ctor_set(x_59, 1, x_57); +x_60 = l_Lean_Meta_substCore___lambda__1___closed__3; +x_61 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_61, 0, x_59); +lean_ctor_set(x_61, 1, x_60); +lean_inc(x_26); +x_62 = lean_alloc_ctor(5, 1, 0); +lean_ctor_set(x_62, 0, x_26); +x_63 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_63, 0, x_61); +lean_ctor_set(x_63, 1, x_62); +x_64 = l_Lean_KernelException_toMessageData___closed__15; +x_65 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_65, 0, x_63); +lean_ctor_set(x_65, 1, x_64); +x_66 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_10, x_65, x_12, x_13, x_14, x_15, x_55); +x_67 = lean_ctor_get(x_66, 1); +lean_inc(x_67); +lean_dec(x_66); +x_28 = x_67; +goto block_53; } } } @@ -1428,19 +1428,19 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_3); -x_79 = !lean_is_exclusive(x_21); +x_79 = !lean_is_exclusive(x_22); if (x_79 == 0) { -return x_21; +return x_22; } else { lean_object* x_80; lean_object* x_81; lean_object* x_82; -x_80 = lean_ctor_get(x_21, 0); -x_81 = lean_ctor_get(x_21, 1); +x_80 = lean_ctor_get(x_22, 0); +x_81 = lean_ctor_get(x_22, 1); lean_inc(x_81); lean_inc(x_80); -lean_dec(x_21); +lean_dec(x_22); x_82 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_82, 0, x_80); lean_ctor_set(x_82, 1, x_81); @@ -1643,63 +1643,63 @@ return x_33; lean_object* l_Lean_Meta_substCore___lambda__8(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* x_14, lean_object* x_15, lean_object* x_16) { _start: { -lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; lean_object* x_21; +lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; uint8_t x_21; lean_object* x_22; x_17 = lean_array_get_size(x_1); x_18 = lean_unsigned_to_nat(2u); x_19 = lean_nat_sub(x_17, x_18); lean_dec(x_17); -x_20 = 1; +x_20 = 0; +x_21 = 1; lean_inc(x_15); lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); lean_inc(x_19); -x_21 = l_Lean_Meta_introNCore(x_11, x_19, x_2, x_20, x_12, x_13, x_14, x_15, x_16); -if (lean_obj_tag(x_21) == 0) +x_22 = l_Lean_Meta_introNCore(x_11, x_19, x_2, x_20, x_21, x_12, x_13, x_14, x_15, x_16); +if (lean_obj_tag(x_22) == 0) { -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_53; lean_object* x_54; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; -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; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_54; lean_object* x_55; lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72; +x_23 = lean_ctor_get(x_22, 0); lean_inc(x_23); -lean_dec(x_21); -x_24 = lean_ctor_get(x_22, 0); +x_24 = lean_ctor_get(x_22, 1); lean_inc(x_24); -x_25 = lean_ctor_get(x_22, 1); +lean_dec(x_22); +x_25 = lean_ctor_get(x_23, 0); lean_inc(x_25); -if (lean_is_exclusive(x_22)) { - lean_ctor_release(x_22, 0); - lean_ctor_release(x_22, 1); - x_26 = x_22; +x_26 = lean_ctor_get(x_23, 1); +lean_inc(x_26); +if (lean_is_exclusive(x_23)) { + lean_ctor_release(x_23, 0); + lean_ctor_release(x_23, 1); + x_27 = x_23; } else { - lean_dec_ref(x_22); - x_26 = lean_box(0); + lean_dec_ref(x_23); + x_27 = lean_box(0); } -x_68 = lean_st_ref_get(x_15, x_23); -x_69 = lean_ctor_get(x_68, 0); -lean_inc(x_69); -x_70 = lean_ctor_get(x_69, 3); +x_69 = lean_st_ref_get(x_15, x_24); +x_70 = lean_ctor_get(x_69, 0); lean_inc(x_70); -lean_dec(x_69); -x_71 = lean_ctor_get_uint8(x_70, sizeof(void*)*1); +x_71 = lean_ctor_get(x_70, 3); +lean_inc(x_71); lean_dec(x_70); -if (x_71 == 0) +x_72 = lean_ctor_get_uint8(x_71, sizeof(void*)*1); +lean_dec(x_71); +if (x_72 == 0) { -lean_object* x_72; uint8_t x_73; -x_72 = lean_ctor_get(x_68, 1); -lean_inc(x_72); -lean_dec(x_68); -x_73 = 0; -x_53 = x_73; -x_54 = x_72; -goto block_67; +lean_object* x_73; +x_73 = lean_ctor_get(x_69, 1); +lean_inc(x_73); +lean_dec(x_69); +x_54 = x_20; +x_55 = x_73; +goto block_68; } else { lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; uint8_t x_78; -x_74 = lean_ctor_get(x_68, 1); +x_74 = lean_ctor_get(x_69, 1); lean_inc(x_74); -lean_dec(x_68); +lean_dec(x_69); lean_inc(x_10); x_75 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_10, x_12, x_13, x_14, x_15, x_74); x_76 = lean_ctor_get(x_75, 0); @@ -1709,150 +1709,150 @@ lean_inc(x_77); lean_dec(x_75); x_78 = lean_unbox(x_76); lean_dec(x_76); -x_53 = x_78; -x_54 = x_77; -goto block_67; +x_54 = x_78; +x_55 = x_77; +goto block_68; } -block_52: +block_53: { -lean_object* x_28; lean_object* x_29; -x_28 = lean_array_get_size(x_24); -lean_inc(x_28); -x_29 = l_Nat_foldM_loop___at_Lean_Meta_substCore___spec__4(x_1, x_24, x_28, x_28, x_3, x_12, x_13, x_14, x_15, x_27); +lean_object* x_29; lean_object* x_30; +x_29 = lean_array_get_size(x_25); +lean_inc(x_29); +x_30 = l_Nat_foldM_loop___at_Lean_Meta_substCore___spec__4(x_1, x_25, x_29, x_29, x_3, x_12, x_13, x_14, x_15, x_28); lean_dec(x_15); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); -lean_dec(x_28); -lean_dec(x_24); +lean_dec(x_29); +lean_dec(x_25); if (x_4 == 0) { -uint8_t x_30; +uint8_t x_31; lean_dec(x_9); -x_30 = !lean_is_exclusive(x_29); -if (x_30 == 0) +x_31 = !lean_is_exclusive(x_30); +if (x_31 == 0) { -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 = l_Lean_Meta_FVarSubst_insert(x_31, x_5, x_6); -x_33 = l_Lean_Meta_FVarSubst_insert(x_32, x_7, x_8); -if (lean_is_scalar(x_26)) { - x_34 = lean_alloc_ctor(0, 2, 0); +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_32 = lean_ctor_get(x_30, 0); +x_33 = l_Lean_Meta_FVarSubst_insert(x_32, x_5, x_6); +x_34 = l_Lean_Meta_FVarSubst_insert(x_33, x_7, x_8); +if (lean_is_scalar(x_27)) { + x_35 = lean_alloc_ctor(0, 2, 0); } else { - x_34 = x_26; + x_35 = x_27; } -lean_ctor_set(x_34, 0, x_33); -lean_ctor_set(x_34, 1, x_25); -lean_ctor_set(x_29, 0, x_34); -return x_29; +lean_ctor_set(x_35, 0, x_34); +lean_ctor_set(x_35, 1, x_26); +lean_ctor_set(x_30, 0, x_35); +return x_30; } else { -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_35 = lean_ctor_get(x_29, 0); -x_36 = lean_ctor_get(x_29, 1); +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_36 = lean_ctor_get(x_30, 0); +x_37 = lean_ctor_get(x_30, 1); +lean_inc(x_37); lean_inc(x_36); -lean_inc(x_35); -lean_dec(x_29); -x_37 = l_Lean_Meta_FVarSubst_insert(x_35, x_5, x_6); -x_38 = l_Lean_Meta_FVarSubst_insert(x_37, x_7, x_8); -if (lean_is_scalar(x_26)) { - x_39 = lean_alloc_ctor(0, 2, 0); +lean_dec(x_30); +x_38 = l_Lean_Meta_FVarSubst_insert(x_36, x_5, x_6); +x_39 = l_Lean_Meta_FVarSubst_insert(x_38, x_7, x_8); +if (lean_is_scalar(x_27)) { + x_40 = lean_alloc_ctor(0, 2, 0); } else { - x_39 = x_26; + x_40 = x_27; } -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_25); -x_40 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_36); -return x_40; +lean_ctor_set(x_40, 1, x_26); +x_41 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_41, 0, x_40); +lean_ctor_set(x_41, 1, x_37); +return x_41; } } else { -uint8_t x_41; +uint8_t x_42; lean_dec(x_6); -x_41 = !lean_is_exclusive(x_29); -if (x_41 == 0) +x_42 = !lean_is_exclusive(x_30); +if (x_42 == 0) { -lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; -x_42 = lean_ctor_get(x_29, 0); -x_43 = l_Lean_Meta_FVarSubst_insert(x_42, x_5, x_9); -x_44 = l_Lean_Meta_FVarSubst_insert(x_43, x_7, x_8); -if (lean_is_scalar(x_26)) { - x_45 = lean_alloc_ctor(0, 2, 0); +lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_43 = lean_ctor_get(x_30, 0); +x_44 = l_Lean_Meta_FVarSubst_insert(x_43, x_5, x_9); +x_45 = l_Lean_Meta_FVarSubst_insert(x_44, x_7, x_8); +if (lean_is_scalar(x_27)) { + x_46 = lean_alloc_ctor(0, 2, 0); } else { - x_45 = x_26; + x_46 = x_27; } -lean_ctor_set(x_45, 0, x_44); -lean_ctor_set(x_45, 1, x_25); -lean_ctor_set(x_29, 0, x_45); -return x_29; +lean_ctor_set(x_46, 0, x_45); +lean_ctor_set(x_46, 1, x_26); +lean_ctor_set(x_30, 0, x_46); +return x_30; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_46 = lean_ctor_get(x_29, 0); -x_47 = lean_ctor_get(x_29, 1); +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_47 = lean_ctor_get(x_30, 0); +x_48 = lean_ctor_get(x_30, 1); +lean_inc(x_48); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_29); -x_48 = l_Lean_Meta_FVarSubst_insert(x_46, x_5, x_9); -x_49 = l_Lean_Meta_FVarSubst_insert(x_48, x_7, x_8); -if (lean_is_scalar(x_26)) { - x_50 = lean_alloc_ctor(0, 2, 0); +lean_dec(x_30); +x_49 = l_Lean_Meta_FVarSubst_insert(x_47, x_5, x_9); +x_50 = l_Lean_Meta_FVarSubst_insert(x_49, x_7, x_8); +if (lean_is_scalar(x_27)) { + x_51 = lean_alloc_ctor(0, 2, 0); } else { - x_50 = x_26; + x_51 = x_27; } -lean_ctor_set(x_50, 0, x_49); -lean_ctor_set(x_50, 1, x_25); -x_51 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_51, 0, x_50); -lean_ctor_set(x_51, 1, x_47); -return x_51; +lean_ctor_set(x_51, 1, x_26); +x_52 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_52, 0, x_51); +lean_ctor_set(x_52, 1, x_48); +return x_52; } } } -block_67: +block_68: { -if (x_53 == 0) +if (x_54 == 0) { lean_dec(x_19); lean_dec(x_10); -x_27 = x_54; -goto block_52; +x_28 = x_55; +goto block_53; } else { -lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_55 = l_Std_fmt___at_Lean_Position_instToFormatPosition___spec__1(x_19); -x_56 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_56, 0, x_55); -x_57 = l_Lean_Meta_substCore___lambda__1___closed__2; -x_58 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_58, 0, x_57); -lean_ctor_set(x_58, 1, x_56); -x_59 = l_Lean_Meta_substCore___lambda__1___closed__3; -x_60 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_60, 0, x_58); -lean_ctor_set(x_60, 1, x_59); -lean_inc(x_25); -x_61 = lean_alloc_ctor(5, 1, 0); -lean_ctor_set(x_61, 0, x_25); -x_62 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_62, 0, x_60); -lean_ctor_set(x_62, 1, x_61); -x_63 = l_Lean_KernelException_toMessageData___closed__15; -x_64 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_64, 0, x_62); -lean_ctor_set(x_64, 1, x_63); -x_65 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_10, x_64, x_12, x_13, x_14, x_15, x_54); -x_66 = lean_ctor_get(x_65, 1); -lean_inc(x_66); -lean_dec(x_65); -x_27 = x_66; -goto block_52; +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; +x_56 = l_Std_fmt___at_Lean_Position_instToFormatPosition___spec__1(x_19); +x_57 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_57, 0, x_56); +x_58 = l_Lean_Meta_substCore___lambda__1___closed__2; +x_59 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_59, 0, x_58); +lean_ctor_set(x_59, 1, x_57); +x_60 = l_Lean_Meta_substCore___lambda__1___closed__3; +x_61 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_61, 0, x_59); +lean_ctor_set(x_61, 1, x_60); +lean_inc(x_26); +x_62 = lean_alloc_ctor(5, 1, 0); +lean_ctor_set(x_62, 0, x_26); +x_63 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_63, 0, x_61); +lean_ctor_set(x_63, 1, x_62); +x_64 = l_Lean_KernelException_toMessageData___closed__15; +x_65 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_65, 0, x_63); +lean_ctor_set(x_65, 1, x_64); +x_66 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_10, x_65, x_12, x_13, x_14, x_15, x_55); +x_67 = lean_ctor_get(x_66, 1); +lean_inc(x_67); +lean_dec(x_66); +x_28 = x_67; +goto block_53; } } } @@ -1871,19 +1871,19 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_3); -x_79 = !lean_is_exclusive(x_21); +x_79 = !lean_is_exclusive(x_22); if (x_79 == 0) { -return x_21; +return x_22; } else { lean_object* x_80; lean_object* x_81; lean_object* x_82; -x_80 = lean_ctor_get(x_21, 0); -x_81 = lean_ctor_get(x_21, 1); +x_80 = lean_ctor_get(x_22, 0); +x_81 = lean_ctor_get(x_22, 1); lean_inc(x_81); lean_inc(x_80); -lean_dec(x_21); +lean_dec(x_22); x_82 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_82, 0, x_80); lean_ctor_set(x_82, 1, x_81); @@ -3001,7 +3001,7 @@ lean_inc(x_3); x_21 = l_Lean_Meta_revert(x_3, x_19, x_20, x_10, x_11, x_12, x_13, x_16); if (lean_obj_tag(x_21) == 0) { -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_120; lean_object* x_121; lean_object* x_130; lean_object* x_131; lean_object* x_132; uint8_t x_133; +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_116; lean_object* x_117; lean_object* x_126; lean_object* x_127; lean_object* x_128; uint8_t x_129; x_22 = lean_ctor_get(x_21, 0); lean_inc(x_22); x_23 = lean_ctor_get(x_21, 1); @@ -3012,231 +3012,228 @@ lean_inc(x_24); x_25 = lean_ctor_get(x_22, 1); lean_inc(x_25); lean_dec(x_22); -x_130 = lean_st_ref_get(x_13, x_23); -x_131 = lean_ctor_get(x_130, 0); -lean_inc(x_131); -x_132 = lean_ctor_get(x_131, 3); -lean_inc(x_132); -lean_dec(x_131); -x_133 = lean_ctor_get_uint8(x_132, sizeof(void*)*1); -lean_dec(x_132); -if (x_133 == 0) +x_126 = lean_st_ref_get(x_13, x_23); +x_127 = lean_ctor_get(x_126, 0); +lean_inc(x_127); +x_128 = lean_ctor_get(x_127, 3); +lean_inc(x_128); +lean_dec(x_127); +x_129 = lean_ctor_get_uint8(x_128, sizeof(void*)*1); +lean_dec(x_128); +if (x_129 == 0) { -lean_object* x_134; uint8_t x_135; -x_134 = lean_ctor_get(x_130, 1); -lean_inc(x_134); -lean_dec(x_130); -x_135 = 0; -x_120 = x_135; -x_121 = x_134; -goto block_129; +lean_object* x_130; uint8_t x_131; +x_130 = lean_ctor_get(x_126, 1); +lean_inc(x_130); +lean_dec(x_126); +x_131 = 0; +x_116 = x_131; +x_117 = x_130; +goto block_125; } else { -lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; uint8_t x_140; -x_136 = lean_ctor_get(x_130, 1); -lean_inc(x_136); -lean_dec(x_130); +lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; uint8_t x_136; +x_132 = lean_ctor_get(x_126, 1); +lean_inc(x_132); +lean_dec(x_126); lean_inc(x_7); -x_137 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_7, x_10, x_11, x_12, x_13, x_136); -x_138 = lean_ctor_get(x_137, 0); -lean_inc(x_138); -x_139 = lean_ctor_get(x_137, 1); -lean_inc(x_139); -lean_dec(x_137); -x_140 = lean_unbox(x_138); -lean_dec(x_138); -x_120 = x_140; -x_121 = x_139; -goto block_129; +x_133 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_7, x_10, x_11, x_12, x_13, x_132); +x_134 = lean_ctor_get(x_133, 0); +lean_inc(x_134); +x_135 = lean_ctor_get(x_133, 1); +lean_inc(x_135); +lean_dec(x_133); +x_136 = lean_unbox(x_134); +lean_dec(x_134); +x_116 = x_136; +x_117 = x_135; +goto block_125; } -block_119: +block_115: { -lean_object* x_27; lean_object* x_28; lean_object* x_29; +lean_object* x_27; lean_object* x_28; uint8_t x_29; lean_object* x_30; x_27 = lean_box(0); x_28 = lean_unsigned_to_nat(2u); +x_29 = 0; lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -x_29 = l_Lean_Meta_introNCore(x_25, x_28, x_27, x_20, x_10, x_11, x_12, x_13, x_26); -if (lean_obj_tag(x_29) == 0) +x_30 = l_Lean_Meta_introNCore(x_25, x_28, x_27, x_29, x_20, x_10, x_11, x_12, x_13, x_26); +if (lean_obj_tag(x_30) == 0) { -lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_94; lean_object* x_95; lean_object* x_104; lean_object* x_105; lean_object* x_106; uint8_t x_107; -x_30 = lean_ctor_get(x_29, 0); -lean_inc(x_30); -x_31 = lean_ctor_get(x_29, 1); +lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_91; lean_object* x_92; lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104; +x_31 = lean_ctor_get(x_30, 0); lean_inc(x_31); -lean_dec(x_29); -x_32 = lean_ctor_get(x_30, 0); +x_32 = lean_ctor_get(x_30, 1); lean_inc(x_32); -x_33 = lean_ctor_get(x_30, 1); -lean_inc(x_33); lean_dec(x_30); -x_104 = lean_st_ref_get(x_13, x_31); -x_105 = lean_ctor_get(x_104, 0); -lean_inc(x_105); -x_106 = lean_ctor_get(x_105, 3); -lean_inc(x_106); -lean_dec(x_105); -x_107 = lean_ctor_get_uint8(x_106, sizeof(void*)*1); -lean_dec(x_106); -if (x_107 == 0) -{ -lean_object* x_108; uint8_t x_109; -x_108 = lean_ctor_get(x_104, 1); -lean_inc(x_108); -lean_dec(x_104); -x_109 = 0; -x_94 = x_109; -x_95 = x_108; -goto block_103; -} -else -{ -lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; uint8_t x_114; -x_110 = lean_ctor_get(x_104, 1); -lean_inc(x_110); -lean_dec(x_104); -lean_inc(x_7); -x_111 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_7, x_10, x_11, x_12, x_13, x_110); -x_112 = lean_ctor_get(x_111, 0); -lean_inc(x_112); -x_113 = lean_ctor_get(x_111, 1); -lean_inc(x_113); -lean_dec(x_111); -x_114 = lean_unbox(x_112); -lean_dec(x_112); -x_94 = x_114; -x_95 = x_113; -goto block_103; -} -block_93: -{ -lean_object* x_35; uint8_t x_70; lean_object* x_71; lean_object* x_82; lean_object* x_83; lean_object* x_84; uint8_t x_85; -x_82 = lean_st_ref_get(x_13, x_34); -x_83 = lean_ctor_get(x_82, 0); -lean_inc(x_83); -x_84 = lean_ctor_get(x_83, 3); -lean_inc(x_84); -lean_dec(x_83); -x_85 = lean_ctor_get_uint8(x_84, sizeof(void*)*1); -lean_dec(x_84); -if (x_85 == 0) -{ -lean_object* x_86; uint8_t x_87; -x_86 = lean_ctor_get(x_82, 1); -lean_inc(x_86); -lean_dec(x_82); -x_87 = 0; -x_70 = x_87; -x_71 = x_86; -goto block_81; -} -else -{ -lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; uint8_t x_92; -x_88 = lean_ctor_get(x_82, 1); -lean_inc(x_88); -lean_dec(x_82); -lean_inc(x_7); -x_89 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_7, x_10, x_11, x_12, x_13, x_88); -x_90 = lean_ctor_get(x_89, 0); -lean_inc(x_90); -x_91 = lean_ctor_get(x_89, 1); -lean_inc(x_91); -lean_dec(x_89); -x_92 = lean_unbox(x_90); -lean_dec(x_90); -x_70 = x_92; -x_71 = x_91; -goto block_81; -} -block_69: -{ -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; uint8_t x_44; -x_36 = l_Lean_instInhabitedName; -x_37 = lean_unsigned_to_nat(0u); -x_38 = lean_array_get(x_36, x_32, x_37); -lean_inc(x_38); -x_39 = l_Lean_mkFVar(x_38); -x_40 = lean_unsigned_to_nat(1u); -x_41 = lean_array_get(x_36, x_32, x_40); -lean_dec(x_32); -lean_inc(x_41); -x_42 = l_Lean_mkFVar(x_41); -x_43 = lean_array_get_size(x_24); -x_44 = lean_nat_dec_eq(x_43, x_28); -lean_dec(x_43); -if (x_44 == 0) -{ -lean_object* x_45; +x_33 = lean_ctor_get(x_31, 0); lean_inc(x_33); -x_45 = l_Lean_Meta_getMVarType(x_33, x_10, x_11, x_12, x_13, x_35); -if (lean_obj_tag(x_45) == 0) +x_34 = lean_ctor_get(x_31, 1); +lean_inc(x_34); +lean_dec(x_31); +x_101 = lean_st_ref_get(x_13, x_32); +x_102 = lean_ctor_get(x_101, 0); +lean_inc(x_102); +x_103 = lean_ctor_get(x_102, 3); +lean_inc(x_103); +lean_dec(x_102); +x_104 = lean_ctor_get_uint8(x_103, sizeof(void*)*1); +lean_dec(x_103); +if (x_104 == 0) { -lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; uint8_t x_55; -x_46 = lean_ctor_get(x_45, 0); -lean_inc(x_46); -x_47 = lean_ctor_get(x_45, 1); +lean_object* x_105; +x_105 = lean_ctor_get(x_101, 1); +lean_inc(x_105); +lean_dec(x_101); +x_91 = x_29; +x_92 = x_105; +goto block_100; +} +else +{ +lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; uint8_t x_110; +x_106 = lean_ctor_get(x_101, 1); +lean_inc(x_106); +lean_dec(x_101); +lean_inc(x_7); +x_107 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_7, x_10, x_11, x_12, x_13, x_106); +x_108 = lean_ctor_get(x_107, 0); +lean_inc(x_108); +x_109 = lean_ctor_get(x_107, 1); +lean_inc(x_109); +lean_dec(x_107); +x_110 = lean_unbox(x_108); +lean_dec(x_108); +x_91 = x_110; +x_92 = x_109; +goto block_100; +} +block_90: +{ +lean_object* x_36; uint8_t x_68; lean_object* x_69; lean_object* x_80; lean_object* x_81; lean_object* x_82; uint8_t x_83; +x_80 = lean_st_ref_get(x_13, x_35); +x_81 = lean_ctor_get(x_80, 0); +lean_inc(x_81); +x_82 = lean_ctor_get(x_81, 3); +lean_inc(x_82); +lean_dec(x_81); +x_83 = lean_ctor_get_uint8(x_82, sizeof(void*)*1); +lean_dec(x_82); +if (x_83 == 0) +{ +lean_object* x_84; +x_84 = lean_ctor_get(x_80, 1); +lean_inc(x_84); +lean_dec(x_80); +x_68 = x_29; +x_69 = x_84; +goto block_79; +} +else +{ +lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; uint8_t x_89; +x_85 = lean_ctor_get(x_80, 1); +lean_inc(x_85); +lean_dec(x_80); +lean_inc(x_7); +x_86 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_7, x_10, x_11, x_12, x_13, x_85); +x_87 = lean_ctor_get(x_86, 0); +lean_inc(x_87); +x_88 = lean_ctor_get(x_86, 1); +lean_inc(x_88); +lean_dec(x_86); +x_89 = lean_unbox(x_87); +lean_dec(x_87); +x_68 = x_89; +x_69 = x_88; +goto block_79; +} +block_67: +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; +x_37 = l_Lean_instInhabitedName; +x_38 = lean_unsigned_to_nat(0u); +x_39 = lean_array_get(x_37, x_33, x_38); +lean_inc(x_39); +x_40 = l_Lean_mkFVar(x_39); +x_41 = lean_unsigned_to_nat(1u); +x_42 = lean_array_get(x_37, x_33, x_41); +lean_dec(x_33); +lean_inc(x_42); +x_43 = l_Lean_mkFVar(x_42); +x_44 = lean_array_get_size(x_24); +x_45 = lean_nat_dec_eq(x_44, x_28); +lean_dec(x_44); +if (x_45 == 0) +{ +lean_object* x_46; +lean_inc(x_34); +x_46 = l_Lean_Meta_getMVarType(x_34, x_10, x_11, x_12, x_13, x_36); +if (lean_obj_tag(x_46) == 0) +{ +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; uint8_t x_56; +x_47 = lean_ctor_get(x_46, 0); lean_inc(x_47); -lean_dec(x_45); -x_48 = lean_st_ref_get(x_13, x_47); -x_49 = lean_ctor_get(x_48, 1); -lean_inc(x_49); -lean_dec(x_48); -x_50 = lean_st_ref_get(x_11, x_49); -x_51 = lean_ctor_get(x_50, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_50, 1); +x_48 = lean_ctor_get(x_46, 1); +lean_inc(x_48); +lean_dec(x_46); +x_49 = lean_st_ref_get(x_13, x_48); +x_50 = lean_ctor_get(x_49, 1); +lean_inc(x_50); +lean_dec(x_49); +x_51 = lean_st_ref_get(x_11, x_50); +x_52 = lean_ctor_get(x_51, 0); lean_inc(x_52); -lean_dec(x_50); -x_53 = lean_ctor_get(x_51, 0); +x_53 = lean_ctor_get(x_51, 1); lean_inc(x_53); lean_dec(x_51); -lean_inc(x_46); -lean_inc(x_53); -x_54 = l_Lean_MetavarContext_exprDependsOn(x_53, x_46, x_38); -x_55 = lean_unbox(x_54); -lean_dec(x_54); -if (x_55 == 0) +x_54 = lean_ctor_get(x_52, 0); +lean_inc(x_54); +lean_dec(x_52); +lean_inc(x_47); +lean_inc(x_54); +x_55 = l_Lean_MetavarContext_exprDependsOn(x_54, x_47, x_39); +x_56 = lean_unbox(x_55); +lean_dec(x_55); +if (x_56 == 0) { -lean_object* x_56; uint8_t x_57; -x_56 = l_Lean_MetavarContext_exprDependsOn(x_53, x_46, x_41); -x_57 = lean_unbox(x_56); -lean_dec(x_56); -if (x_57 == 0) +lean_object* x_57; uint8_t x_58; +x_57 = l_Lean_MetavarContext_exprDependsOn(x_54, x_47, x_42); +x_58 = lean_unbox(x_57); +lean_dec(x_57); +if (x_58 == 0) { -lean_object* x_58; -x_58 = l_Lean_Meta_substCore___lambda__12(x_33, x_41, x_39, x_4, x_24, x_27, x_5, x_6, x_1, x_2, x_42, x_7, x_38, x_8, x_17, x_3, x_20, x_10, x_11, x_12, x_13, x_52); -return x_58; +lean_object* x_59; +x_59 = l_Lean_Meta_substCore___lambda__12(x_34, x_42, x_40, x_4, x_24, x_27, x_5, x_6, x_1, x_2, x_43, x_7, x_39, x_8, x_17, x_3, x_20, x_10, x_11, x_12, x_13, x_53); +return x_59; } else { -uint8_t x_59; lean_object* x_60; -x_59 = 0; -x_60 = l_Lean_Meta_substCore___lambda__12(x_33, x_41, x_39, x_4, x_24, x_27, x_5, x_6, x_1, x_2, x_42, x_7, x_38, x_8, x_17, x_3, x_59, x_10, x_11, x_12, x_13, x_52); +lean_object* x_60; +x_60 = l_Lean_Meta_substCore___lambda__12(x_34, x_42, x_40, x_4, x_24, x_27, x_5, x_6, x_1, x_2, x_43, x_7, x_39, x_8, x_17, x_3, x_29, x_10, x_11, x_12, x_13, x_53); return x_60; } } else { -uint8_t x_61; lean_object* x_62; -lean_dec(x_53); -lean_dec(x_46); -x_61 = 0; -x_62 = l_Lean_Meta_substCore___lambda__12(x_33, x_41, x_39, x_4, x_24, x_27, x_5, x_6, x_1, x_2, x_42, x_7, x_38, x_8, x_17, x_3, x_61, x_10, x_11, x_12, x_13, x_52); -return x_62; +lean_object* x_61; +lean_dec(x_54); +lean_dec(x_47); +x_61 = l_Lean_Meta_substCore___lambda__12(x_34, x_42, x_40, x_4, x_24, x_27, x_5, x_6, x_1, x_2, x_43, x_7, x_39, x_8, x_17, x_3, x_29, x_10, x_11, x_12, x_13, x_53); +return x_61; } } else { -uint8_t x_63; +uint8_t x_62; +lean_dec(x_43); lean_dec(x_42); -lean_dec(x_41); +lean_dec(x_40); lean_dec(x_39); -lean_dec(x_38); -lean_dec(x_33); +lean_dec(x_34); lean_dec(x_24); lean_dec(x_13); lean_dec(x_12); @@ -3248,101 +3245,100 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_63 = !lean_is_exclusive(x_45); -if (x_63 == 0) +x_62 = !lean_is_exclusive(x_46); +if (x_62 == 0) { -return x_45; +return x_46; } else { -lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_45, 0); -x_65 = lean_ctor_get(x_45, 1); -lean_inc(x_65); +lean_object* x_63; lean_object* x_64; lean_object* x_65; +x_63 = lean_ctor_get(x_46, 0); +x_64 = lean_ctor_get(x_46, 1); lean_inc(x_64); -lean_dec(x_45); -x_66 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_66, 0, x_64); -lean_ctor_set(x_66, 1, x_65); +lean_inc(x_63); +lean_dec(x_46); +x_65 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_65, 0, x_63); +lean_ctor_set(x_65, 1, x_64); +return x_65; +} +} +} +else +{ +lean_object* x_66; +x_66 = l_Lean_Meta_substCore___lambda__12(x_34, x_42, x_40, x_4, x_24, x_27, x_5, x_6, x_1, x_2, x_43, x_7, x_39, x_8, x_17, x_3, x_29, x_10, x_11, x_12, x_13, x_36); return x_66; } } +block_79: +{ +if (x_68 == 0) +{ +x_36 = x_69; +goto block_67; } else { -uint8_t x_67; lean_object* x_68; -x_67 = 0; -x_68 = l_Lean_Meta_substCore___lambda__12(x_33, x_41, x_39, x_4, x_24, x_27, x_5, x_6, x_1, x_2, x_42, x_7, x_38, x_8, x_17, x_3, x_67, x_10, x_11, x_12, x_13, x_35); -return x_68; -} -} -block_81: -{ -if (x_70 == 0) -{ -x_35 = x_71; -goto block_69; -} -else -{ -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_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_inc(x_24); -x_72 = lean_array_to_list(lean_box(0), x_24); -x_73 = l_List_map___at_Lean_Meta_substCore___spec__6(x_72); -x_74 = l_Lean_MessageData_ofList(x_73); -lean_dec(x_73); -x_75 = l_Lean_Meta_substCore___lambda__13___closed__2; +x_70 = lean_array_to_list(lean_box(0), x_24); +x_71 = l_List_map___at_Lean_Meta_substCore___spec__6(x_70); +x_72 = l_Lean_MessageData_ofList(x_71); +lean_dec(x_71); +x_73 = l_Lean_Meta_substCore___lambda__13___closed__2; +x_74 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_74, 0, x_73); +lean_ctor_set(x_74, 1, x_72); +x_75 = l_Lean_KernelException_toMessageData___closed__15; x_76 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_76, 0, x_75); -lean_ctor_set(x_76, 1, x_74); -x_77 = l_Lean_KernelException_toMessageData___closed__15; -x_78 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_78, 0, x_76); -lean_ctor_set(x_78, 1, x_77); +lean_ctor_set(x_76, 0, x_74); +lean_ctor_set(x_76, 1, x_75); lean_inc(x_7); -x_79 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_7, x_78, x_10, x_11, x_12, x_13, x_71); -x_80 = lean_ctor_get(x_79, 1); -lean_inc(x_80); -lean_dec(x_79); -x_35 = x_80; -goto block_69; +x_77 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_7, x_76, x_10, x_11, x_12, x_13, x_69); +x_78 = lean_ctor_get(x_77, 1); +lean_inc(x_78); +lean_dec(x_77); +x_36 = x_78; +goto block_67; } } } -block_103: +block_100: { -if (x_94 == 0) +if (x_91 == 0) { -x_34 = x_95; -goto block_93; +x_35 = x_92; +goto block_90; } else { -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_inc(x_33); -x_96 = lean_alloc_ctor(5, 1, 0); -lean_ctor_set(x_96, 0, x_33); -x_97 = l_Lean_Meta_substCore___lambda__13___closed__4; -x_98 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_98, 0, x_97); -lean_ctor_set(x_98, 1, x_96); -x_99 = l_Lean_KernelException_toMessageData___closed__15; -x_100 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_100, 0, x_98); -lean_ctor_set(x_100, 1, x_99); +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_inc(x_34); +x_93 = lean_alloc_ctor(5, 1, 0); +lean_ctor_set(x_93, 0, x_34); +x_94 = l_Lean_Meta_substCore___lambda__13___closed__4; +x_95 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_95, 0, x_94); +lean_ctor_set(x_95, 1, x_93); +x_96 = l_Lean_KernelException_toMessageData___closed__15; +x_97 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_97, 0, x_95); +lean_ctor_set(x_97, 1, x_96); lean_inc(x_7); -x_101 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_7, x_100, x_10, x_11, x_12, x_13, x_95); -x_102 = lean_ctor_get(x_101, 1); -lean_inc(x_102); -lean_dec(x_101); -x_34 = x_102; -goto block_93; +x_98 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_7, x_97, x_10, x_11, x_12, x_13, x_92); +x_99 = lean_ctor_get(x_98, 1); +lean_inc(x_99); +lean_dec(x_98); +x_35 = x_99; +goto block_90; } } } else { -uint8_t x_115; +uint8_t x_111; lean_dec(x_24); lean_dec(x_13); lean_dec(x_12); @@ -3354,54 +3350,87 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_115 = !lean_is_exclusive(x_29); -if (x_115 == 0) +x_111 = !lean_is_exclusive(x_30); +if (x_111 == 0) { -return x_29; +return x_30; } else { -lean_object* x_116; lean_object* x_117; lean_object* x_118; -x_116 = lean_ctor_get(x_29, 0); -x_117 = lean_ctor_get(x_29, 1); -lean_inc(x_117); -lean_inc(x_116); -lean_dec(x_29); -x_118 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_118, 0, x_116); -lean_ctor_set(x_118, 1, x_117); -return x_118; +lean_object* x_112; lean_object* x_113; lean_object* x_114; +x_112 = lean_ctor_get(x_30, 0); +x_113 = lean_ctor_get(x_30, 1); +lean_inc(x_113); +lean_inc(x_112); +lean_dec(x_30); +x_114 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_114, 0, x_112); +lean_ctor_set(x_114, 1, x_113); +return x_114; } } } -block_129: +block_125: { -if (x_120 == 0) +if (x_116 == 0) { -x_26 = x_121; -goto block_119; +x_26 = x_117; +goto block_115; } else { -lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; +lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_inc(x_25); -x_122 = lean_alloc_ctor(5, 1, 0); -lean_ctor_set(x_122, 0, x_25); -x_123 = l_Lean_Meta_substCore___lambda__13___closed__6; -x_124 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_124, 0, x_123); -lean_ctor_set(x_124, 1, x_122); -x_125 = l_Lean_KernelException_toMessageData___closed__15; -x_126 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_126, 0, x_124); -lean_ctor_set(x_126, 1, x_125); +x_118 = lean_alloc_ctor(5, 1, 0); +lean_ctor_set(x_118, 0, x_25); +x_119 = l_Lean_Meta_substCore___lambda__13___closed__6; +x_120 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_120, 0, x_119); +lean_ctor_set(x_120, 1, x_118); +x_121 = l_Lean_KernelException_toMessageData___closed__15; +x_122 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_122, 0, x_120); +lean_ctor_set(x_122, 1, x_121); lean_inc(x_7); -x_127 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_7, x_126, x_10, x_11, x_12, x_13, x_121); -x_128 = lean_ctor_get(x_127, 1); -lean_inc(x_128); -lean_dec(x_127); -x_26 = x_128; -goto block_119; +x_123 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_7, x_122, x_10, x_11, x_12, x_13, x_117); +x_124 = lean_ctor_get(x_123, 1); +lean_inc(x_124); +lean_dec(x_123); +x_26 = x_124; +goto block_115; +} +} +} +else +{ +uint8_t x_137; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_137 = !lean_is_exclusive(x_21); +if (x_137 == 0) +{ +return x_21; +} +else +{ +lean_object* x_138; lean_object* x_139; lean_object* x_140; +x_138 = lean_ctor_get(x_21, 0); +x_139 = lean_ctor_get(x_21, 1); +lean_inc(x_139); +lean_inc(x_138); +lean_dec(x_21); +x_140 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_140, 0, x_138); +lean_ctor_set(x_140, 1, x_139); +return x_140; } } } @@ -3418,56 +3447,23 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_141 = !lean_is_exclusive(x_21); +x_141 = !lean_is_exclusive(x_15); if (x_141 == 0) { -return x_21; -} -else -{ -lean_object* x_142; lean_object* x_143; lean_object* x_144; -x_142 = lean_ctor_get(x_21, 0); -x_143 = lean_ctor_get(x_21, 1); -lean_inc(x_143); -lean_inc(x_142); -lean_dec(x_21); -x_144 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_144, 0, x_142); -lean_ctor_set(x_144, 1, x_143); -return x_144; -} -} -} -else -{ -uint8_t x_145; -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_145 = !lean_is_exclusive(x_15); -if (x_145 == 0) -{ return x_15; } else { -lean_object* x_146; lean_object* x_147; lean_object* x_148; -x_146 = lean_ctor_get(x_15, 0); -x_147 = lean_ctor_get(x_15, 1); -lean_inc(x_147); -lean_inc(x_146); +lean_object* x_142; lean_object* x_143; lean_object* x_144; +x_142 = lean_ctor_get(x_15, 0); +x_143 = lean_ctor_get(x_15, 1); +lean_inc(x_143); +lean_inc(x_142); lean_dec(x_15); -x_148 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_148, 0, x_146); -lean_ctor_set(x_148, 1, x_147); -return x_148; +x_144 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_144, 0, x_142); +lean_ctor_set(x_144, 1, x_143); +return x_144; } } } diff --git a/stage0/stdlib/Lean/Parser/Term.c b/stage0/stdlib/Lean/Parser/Term.c index 0fe8add33c..17c36d41bb 100644 --- a/stage0/stdlib/Lean/Parser/Term.c +++ b/stage0/stdlib/Lean/Parser/Term.c @@ -142,7 +142,6 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_categoryParser_parenthesizer(lea lean_object* l_Lean_Parser_Term_unreachable_formatter___closed__3; lean_object* l_Lean_Parser_Term_structInstLVal_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_structInstField___elambda__1(lean_object*, lean_object*); -extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__11; lean_object* l_Lean_Parser_Term_optEllipsis___elambda__1___closed__4; lean_object* l_Lean_Parser_Term_structInstLVal_formatter___closed__10; lean_object* l_Lean_Parser_Term_optIdent___closed__3; @@ -839,7 +838,6 @@ lean_object* l_Lean_Parser_Term_optExprPrecedence_formatter___closed__1; lean_object* l_Lean_Parser_Term_sorry_formatter___closed__1; lean_object* l___regBuiltin_Lean_Parser_Term_let_x21_parenthesizer(lean_object*); lean_object* l_Lean_Parser_Term_binderType_parenthesizer(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; lean_object* l_Lean_Parser_Tactic_tacticSeq_parenthesizer___closed__2; lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter___closed__1; lean_object* l_Lean_Parser_Term_parser_x21_formatter___closed__2; @@ -1608,7 +1606,6 @@ lean_object* l_Lean_Parser_Term_stateRefT___elambda__1___closed__10; lean_object* l_Lean_Parser_Term_macroDollarArg___elambda__1___closed__1; lean_object* l_Lean_Parser_Term_nativeRefl___closed__6; lean_object* l_Lean_Parser_Term_quotedName___elambda__1___closed__4; -extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__12; lean_object* l_Lean_Parser_Term_stateRefT___closed__4; lean_object* l___regBuiltin_Lean_Parser_Level_quot_formatter___closed__1; lean_object* l_Lean_Parser_Term_instBinder___elambda__1___closed__6; @@ -2049,6 +2046,7 @@ lean_object* l_Lean_Parser_Term_structInstLVal_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_quot___elambda__1___closed__9; lean_object* l_Lean_Parser_Term_explicitBinder___boxed(lean_object*); lean_object* l_Lean_Parser_Term_dynamicQuot___closed__5; +extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__18; lean_object* l___regBuiltin_Lean_Parser_Term_doubleQuotedName_parenthesizer(lean_object*); lean_object* l_Lean_Parser_Term_binrel_formatter___closed__1; lean_object* l_Lean_Parser_Term_show___closed__5; @@ -2062,6 +2060,7 @@ lean_object* l_Lean_Parser_Term_char___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_funBinder_quot_formatter___closed__2; lean_object* l_Lean_PrettyPrinter_Formatter_lookahead_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_parserOfStack(lean_object*, lean_object*); +extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__15; lean_object* l_Lean_Parser_Term_let_x2a___closed__5; lean_object* l___regBuiltin_Lean_Parser_Term_anonymousCtor_formatter___closed__1; extern lean_object* l_Lean_Parser_Tactic_suffices___closed__1; @@ -2398,6 +2397,7 @@ lean_object* l_Lean_Parser_Term_explicit___elambda__1___closed__5; lean_object* l_Lean_Parser_Term_funImplicitBinder___closed__5; lean_object* l_Lean_Parser_Term_letDecl___closed__4; lean_object* l___regBuiltin_Lean_Parser_Term_let_x21_formatter(lean_object*); +extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__10; lean_object* l_Lean_Parser_Term_whereDecls_formatter___closed__4; lean_object* l_Lean_Parser_Term_haveAssign___elambda__1___closed__4; @@ -2777,6 +2777,7 @@ lean_object* l_Lean_Parser_Term_attr_quot_parenthesizer___closed__5; lean_object* l_Lean_Parser_Tactic_tacticSeq___closed__2; lean_object* l_Lean_Parser_Term_letIdLhs___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_forall___closed__2; +extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__17; lean_object* l___regBuiltinParser_Lean_Parser_Term_dynamicQuot(lean_object*); lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_quotSeq_parenthesizer___closed__5; @@ -2935,7 +2936,6 @@ lean_object* l_Lean_Parser_Term_app___elambda__1___closed__2; lean_object* l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__4; lean_object* l_Lean_Parser_Term_emptyC___closed__3; lean_object* l_Lean_Parser_Term_dynamicQuot_parenthesizer___closed__6; -extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__9; lean_object* l_Lean_Parser_Term_tparser_x21___closed__7; lean_object* l_Lean_Parser_Term_prop___elambda__1___closed__5; lean_object* l_Lean_Parser_Term_binrel_formatter___closed__5; @@ -3115,6 +3115,7 @@ lean_object* l_Lean_Parser_Term_typeAscription_formatter___closed__1; lean_object* l_Lean_Parser_Term_letPatDecl_formatter___closed__4; lean_object* l_Lean_Parser_Term_matchDiscr_quot_formatter___closed__2; lean_object* l_Lean_Parser_Term_match_parenthesizer___closed__3; +extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__2; extern lean_object* l_myMacro____x40_Init_Notation___hyg_12938____closed__11; lean_object* l_Lean_Parser_Term_letDecl___closed__12; lean_object* l_Lean_Parser_Term_binderDefault___elambda__1___closed__1; @@ -3272,6 +3273,7 @@ lean_object* l_Lean_Parser_Term_arrow_parenthesizer(lean_object*, lean_object*, lean_object* l_Lean_Parser_Term_ellipsis_parenthesizer___closed__2; lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12; lean_object* l_Lean_Parser_Term_implicitBinder___boxed(lean_object*); +extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__1; lean_object* l_Lean_Parser_Term_nativeRefl___elambda__1(lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Parser_Term_noindex_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_matchDiscr_formatter___closed__1; @@ -3427,7 +3429,6 @@ lean_object* l_Lean_Parser_Term_ensureExpectedType_parenthesizer___closed__2; lean_object* l_Lean_Parser_Term_typeSpec___elambda__1___closed__1; lean_object* l_Lean_Parser_Command_docComment_parenthesizer___closed__2; extern lean_object* l_Lean_Parser_Tactic_changeWith___closed__3; -extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__2; lean_object* l_Lean_Parser_Term_forall___closed__5; lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___closed__6; lean_object* l_Lean_Parser_Term_app_formatter___closed__7; @@ -3547,7 +3548,6 @@ extern lean_object* l_Lean_expandExplicitBindersAux_loop___closed__2; lean_object* l_Lean_Parser_Term_attrInstance___elambda__1___closed__1; lean_object* l_Lean_Parser_Term_depArrow___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_app___elambda__1___closed__5; -extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__1; lean_object* l_Lean_PrettyPrinter_Formatter_interpolatedStr_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_typeSpec___elambda__1___closed__2; lean_object* l_Lean_Parser_Term_letrec___closed__6; @@ -8564,7 +8564,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_myMacro____x40_Init_Notation___hyg_2191____closed__2; -x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__11; +x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__17; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } @@ -8583,7 +8583,7 @@ static lean_object* _init_l_Lean_Parser_Term_syntheticHole___elambda__1___closed _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__11; +x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__17; x_2 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__2; x_3 = 1; x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3); @@ -8752,7 +8752,7 @@ static lean_object* _init_l_Lean_Parser_Term_syntheticHole_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_Parser_Tactic_inductionAlt___closed__11; +x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__17; x_2 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__2; x_3 = 1; x_4 = lean_box(x_3); @@ -12298,7 +12298,7 @@ static lean_object* _init_l_Lean_Parser_Term_haveAssign___elambda__1___closed__1 _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__2; +x_1 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__2; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; @@ -12308,7 +12308,7 @@ static lean_object* _init_l_Lean_Parser_Term_haveAssign___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_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__1; +x_1 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__1; x_2 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__1; x_3 = 1; x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3); @@ -12360,7 +12360,7 @@ static lean_object* _init_l_Lean_Parser_Term_haveAssign___elambda__1___closed__7 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__2; +x_1 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__2; x_2 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__6; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -12418,7 +12418,7 @@ static lean_object* _init_l_Lean_Parser_Term_haveAssign___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__2; +x_1 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__2; x_2 = l_Lean_Parser_Term_haveAssign___closed__2; x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); return x_3; @@ -13202,7 +13202,7 @@ static lean_object* _init_l_Lean_Parser_Term_haveAssign_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_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__1; +x_1 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__1; x_2 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__1; x_3 = 1; x_4 = lean_box(x_3); @@ -13239,7 +13239,7 @@ static lean_object* _init_l_Lean_Parser_Term_haveAssign_formatter___closed__4() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__2; +x_1 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__2; x_2 = lean_unsigned_to_nat(1024u); x_3 = l_Lean_Parser_Term_haveAssign_formatter___closed__3; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); @@ -13574,7 +13574,7 @@ static lean_object* _init_l_Lean_Parser_Term_haveAssign_parenthesizer___closed__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17846____closed__2; +x_1 = l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_17858____closed__2; x_2 = lean_unsigned_to_nat(1024u); x_3 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__2; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3); @@ -17709,7 +17709,7 @@ static lean_object* _init_l_Lean_Parser_Term_explicit___elambda__1___closed__3() _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__5; x_2 = l_String_trim(x_1); return x_2; } @@ -17918,7 +17918,7 @@ static lean_object* _init_l_Lean_Parser_Term_explicit_formatter___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__5; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -48438,7 +48438,7 @@ lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; x_44 = lean_ctor_get(x_43, 1); lean_inc(x_44); lean_dec(x_43); -x_45 = l_Lean_Parser_Tactic_inductionAlt___closed__9; +x_45 = l_Lean_Parser_Tactic_inductionAlt___closed__15; x_46 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_3880____closed__13; x_47 = l_Lean_Parser_registerAliasCore___rarg(x_2, x_45, x_46, x_44); if (lean_obj_tag(x_47) == 0) @@ -48463,7 +48463,7 @@ lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; x_54 = lean_ctor_get(x_53, 1); lean_inc(x_54); lean_dec(x_53); -x_55 = l_Lean_Parser_Tactic_inductionAlt___closed__12; +x_55 = l_Lean_Parser_Tactic_inductionAlt___closed__18; x_56 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_3880____closed__16; x_57 = l_Lean_Parser_registerAliasCore___rarg(x_2, x_55, x_56, x_54); if (lean_obj_tag(x_57) == 0) diff --git a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c index 64a435eb79..da39129435 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c @@ -188,7 +188,6 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_delabMVar(lean_object*, lean_objec lean_object* l_Lean_PrettyPrinter_Delaborator_delabNil___closed__1; lean_object* l_Lean_PrettyPrinter_Delaborator_delabMVar___closed__4; lean_object* l_Lean_PrettyPrinter_Delaborator_delabStructureInstance___closed__4; -extern lean_object* l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabListToArray(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabConsList___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_delabDIte_match__1(lean_object*); @@ -491,6 +490,7 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_withBindingBodyUnusedName___rarg(l lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppWithUnexpander_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_skippingBinders_loop_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabListToArray___closed__1; +extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_object* l_Lean_PrettyPrinter_Delaborator_getParamKinds___lambda__1(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_Lean_PrettyPrinter_Delaborator_delabOfNat(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -4334,7 +4334,7 @@ lean_inc(x_23); x_24 = lean_ctor_get(x_22, 1); lean_inc(x_24); lean_dec(x_22); -x_25 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_25 = l_Lean_Parser_Tactic_inductionAlt___closed__5; x_26 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_26, 0, x_23); lean_ctor_set(x_26, 1, x_25); @@ -23525,7 +23525,7 @@ lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean x_24 = lean_ctor_get(x_22, 0); x_25 = l_Array_empty___closed__1; x_26 = lean_array_push(x_25, x_10); -x_27 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_27 = l_Lean_Parser_Tactic_inductionAlt___closed__5; x_28 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_28, 0, x_24); lean_ctor_set(x_28, 1, x_27); @@ -23548,7 +23548,7 @@ lean_inc(x_33); lean_dec(x_22); x_35 = l_Array_empty___closed__1; x_36 = lean_array_push(x_35, x_10); -x_37 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_37 = l_Lean_Parser_Tactic_inductionAlt___closed__5; x_38 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_38, 0, x_33); lean_ctor_set(x_38, 1, x_37); diff --git a/stage0/stdlib/Leanpkg/Resolve.c b/stage0/stdlib/Leanpkg/Resolve.c index 05ac16efa8..93c5387617 100644 --- a/stage0/stdlib/Leanpkg/Resolve.c +++ b/stage0/stdlib/Leanpkg/Resolve.c @@ -41,7 +41,6 @@ lean_object* lean_string_append(lean_object*, lean_object*); lean_object* l_Leanpkg_constructPath_match__1(lean_object*); lean_object* l_Leanpkg_constructPath_match__1___rarg(lean_object*, lean_object*); lean_object* l_Leanpkg_notYetAssigned___boxed(lean_object*, lean_object*, lean_object*); -extern lean_object* l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; lean_object* l_Leanpkg_Assignment_fold_match__1(lean_object*); lean_object* l_Leanpkg_Assignment_fold_match__1___rarg(lean_object*, lean_object*); lean_object* l_Leanpkg_materialize___lambda__1___closed__4; @@ -85,6 +84,7 @@ lean_object* l_List_forIn_loop___at_Leanpkg_solveDepsCore___spec__3(lean_object* extern lean_object* l_Lean_Syntax_mkAntiquotNode___closed__9; lean_object* l_List_forIn_loop___at_Leanpkg_solveDepsCore___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Leanpkg_materialize___lambda__1___closed__2; +extern lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__5; lean_object* l_List_forIn_loop___at_Leanpkg_solveDepsCore___spec__3___closed__2; lean_object* l_IO_isDir___at_Leanpkg_materialize___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Leanpkg_solveDepsCore_match__3(lean_object*); @@ -1130,7 +1130,7 @@ lean_object* x_122; lean_object* x_123; lean_object* x_124; x_122 = lean_ctor_get(x_32, 0); lean_inc(x_122); lean_dec(x_32); -x_123 = l_myMacro____x40_Init_NotationExtra___hyg_3363____closed__35; +x_123 = l_Lean_Parser_Tactic_inductionAlt___closed__5; x_124 = lean_string_append(x_123, x_122); lean_dec(x_122); x_86 = x_124;