From f17193e16245a22716b63fb93b024e6048e4b44e Mon Sep 17 00:00:00 2001 From: Leonardo de Moura Date: Tue, 17 Nov 2020 11:49:53 -0800 Subject: [PATCH] chore: update stage0 --- stage0/src/Lean/Elab/Tactic/Induction.lean | 79 +- stage0/src/Lean/Parser/Syntax.lean | 2 +- stage0/src/Lean/Parser/Tactic.lean | 11 +- stage0/stdlib/Lean/Elab/Tactic/Induction.c | 1520 +++++++++--------- stage0/stdlib/Lean/Parser/Syntax.c | 124 +- stage0/stdlib/Lean/Parser/Tactic.c | 1660 ++++++++++++-------- 6 files changed, 1942 insertions(+), 1454 deletions(-) diff --git a/stage0/src/Lean/Elab/Tactic/Induction.lean b/stage0/src/Lean/Elab/Tactic/Induction.lean index c374496ed9..7d03636afd 100644 --- a/stage0/src/Lean/Elab/Tactic/Induction.lean +++ b/stage0/src/Lean/Elab/Tactic/Induction.lean @@ -217,7 +217,7 @@ end ElimApp Recall that ``` generalizingVars := optional (" generalizing " >> many1 ident) - «induction» := parser! nonReservedSymbol "induction " >> majorPremise >> usingRec >> generalizingVars >> withAlts + «induction» := parser! nonReservedSymbol "induction " >> majorPremise >> usingRec >> generalizingVars >> optional inductionAlts ``` `stx` is syntax for `induction`. -/ private def getGeneralizingFVarIds (stx : Syntax) : TacticM (Array FVarId) := @@ -239,22 +239,26 @@ private def generalizeVars (stx : Syntax) (targets : Array Expr) : TacticM Nat : Meta.throwTacticEx `induction mvarId "major premise depends on variable being generalized" pure (fvarIds.size, [mvarId']) -private def getAlts (withAlts : Syntax) : Array Syntax := - withAlts[1].getSepArgs +private def getAltsOfInductionAlts (inductionAlts : Syntax) : Array Syntax := + inductionAlts[1].getSepArgs + +private def getAltsOfOptInductionAlts (optInductionAlts : Syntax) : Array Syntax := + if optInductionAlts.isNone then #[] else getAltsOfInductionAlts optInductionAlts[0] /- We may have at most one `| _ => ...` (wildcard alternative), and it must not set variable names. The idea is to make sure users do not write unstructured tactics. -/ -private def checkAlts (withAlts : Syntax) : TacticM Unit := do - let mut found := false - for alt in getAlts withAlts do - let n := getAltName alt - if n == `_ then - unless (getAltVarNames alt).isEmpty do - throwErrorAt! alt "wildcard alternative must not specify variable names" - if found then - throwErrorAt! alt "more than one wildcard alternative '| _ => ...' used" - found := true +private def checkAltsOfOptInductionAlts (optInductionAlts : Syntax) : TacticM Unit := + unless optInductionAlts.isNone do + let mut found := false + for alt in getAltsOfInductionAlts optInductionAlts[0] do + let n := getAltName alt + if n == `_ then + unless (getAltVarNames alt).isEmpty do + throwErrorAt! alt "wildcard alternative must not specify variable names" + if found then + throwErrorAt! alt "more than one wildcard alternative '| _ => ...' used" + found := true /- Given alts of the form @@ -314,17 +318,17 @@ def getRecFromUsing (major : Expr) (baseRecName : Name) : TacticM Meta.RecursorI throwError! "invalid recursor name '{baseRecName}'" /- Create `RecInfo` assuming builtin recursor -/ -private def getRecInfoDefault (major : Expr) (withAlts : Syntax) (allowMissingAlts : Bool) : TacticM (RecInfo × Array Name) := do +private def getRecInfoDefault (major : Expr) (optInductionAlts : Syntax) (allowMissingAlts : Bool) : TacticM (RecInfo × Array Name) := do let indVal ← getInductiveValFromMajor major let recName := mkRecName indVal.name - if withAlts.isNone then + if optInductionAlts.isNone then pure ({ recName := recName }, #[]) else let ctorNames := indVal.ctors - let alts := getAlts withAlts + let alts := getAltsOfInductionAlts optInductionAlts[0] checkAltCtorNames alts ctorNames let mut altsNew := #[] - -- This code can be simplified if we decide to keep `checkAlts` + -- This code can be simplified if we decide to keep `checkAltsOfOptInductionAlts` let mut remainingAlts := alts let mut prevAnonymousAlt? := none for ctorName in ctorNames do @@ -354,27 +358,28 @@ private def getRecInfoDefault (major : Expr) (withAlts : Syntax) (allowMissingAl /- Recall that ``` - inductionAlt : Parser := - nodeWithAntiquot "inductionAlt" `Lean.Parser.Tactic.inductionAlt $ ident' >> many ident' >> darrow >> (hole <|> syntheticHole <|> tacticParser) - inductionAlts : Parser := withPosition $ fun pos => "|" >> sepBy1 inductionAlt (checkColGe pos.column "alternatives must be indented" >> "|") - withAlts : Parser := optional (" with " >> inductionAlts) + altRHS := Term.hole <|> Term.syntheticHole <|> tacticSeq + inductionAlt : Parser := parser! ident' >> many ident' >> darrow >> altRHS + inductionAlts : Parser := parser! withPosition ("| " >> sepBy1 inductionAlt (checkColGe "alternatives must be indented" >> "|")) usingRec : Parser := optional (" using " >> ident) + generalizingVars := optional (" generalizing " >> many1 ident) + induction := parser! nonReservedSymbol "induction " >> sepBy1 termParser ", " >> usingRec >> generalizingVars >> optional inductionAlts ``` -/ private def getRecInfo (stx : Syntax) (major : Expr) : TacticM RecInfo := withRef stx $ withMainMVarContext do let usingRecStx := stx[2] - let withAlts := stx[4] - checkAlts withAlts + let optInductionAlts := stx[4] + checkAltsOfOptInductionAlts optInductionAlts if usingRecStx.isNone then - let (rinfo, _) ← getRecInfoDefault major withAlts false + let (rinfo, _) ← getRecInfoDefault major optInductionAlts false pure rinfo else let baseRecName := usingRecStx.getIdAt 1 $.eraseMacroScopes let recInfo ← getRecFromUsing major baseRecName let recName := recInfo.recursorName - if withAlts.isNone then + if optInductionAlts.isNone then pure { recName := recName } else - let alts := getAlts withAlts + let alts := getAltsOfInductionAlts optInductionAlts[0] let paramNames ← liftMetaMAtMain fun _ => getParamNames recInfo.recursorName let mut remainingAlts := alts let mut prevAnonymousAlt? := none @@ -451,8 +456,8 @@ private def generalizeTerm (term : Expr) : TacticM Expr := do let targets ← elimInfo.targetsPos.mapM fun i => instantiateMVars elimArgs[i] let targetFVarIds := targets.map (·.fvarId!) ElimApp.setMotiveArg mvarId elimArgs[elimInfo.motivePos].mvarId! targetFVarIds - let withAlts := stx[4] - ElimApp.evalAlts elimInfo result.alts (getAlts withAlts) (numGeneralized := n) (toClear := targetFVarIds) + let optInductionAlts := stx[4] + ElimApp.evalAlts elimInfo result.alts (getAltsOfOptInductionAlts optInductionAlts) (numGeneralized := n) (toClear := targetFVarIds) private partial def checkCasesResult (casesResult : Array Meta.CasesSubgoal) (ctorNames : Array Name) (alts : Array Syntax) : TacticM Unit := do let rec loop (i j : Nat) : TacticM Unit := @@ -513,9 +518,9 @@ def elabTargets (targets : Array Syntax) : TacticM (Array Expr) := builtin_initialize registerTraceClass `Elab.cases /- Default `cases` tactic that uses `casesOn` eliminator -/ -def evalCasesOn (target : Expr) (withAlts : Syntax) : TacticM Unit := do +def evalCasesOn (target : Expr) (optInductionAlts : Syntax) : TacticM Unit := do let (mvarId, _) ← getMainGoal - let (recInfo, ctorNames) ← getRecInfoDefault target withAlts true + let (recInfo, ctorNames) ← getRecInfoDefault target optInductionAlts (allowMissingAlts := true) let altVars := recInfo.alts.map fun alt => (getAltVarNames alt).toList let result ← Meta.cases mvarId target.fvarId! altVars trace[Elab.cases]! "recInfo.alts.size: #{recInfo.alts.size} {recInfo.alts.map getAltVarNames}" @@ -525,7 +530,7 @@ def evalCasesOn (target : Expr) (withAlts : Syntax) : TacticM Unit := do let alts := recInfo.alts.filter fun stx => !stx.isMissing processResult alts result -def evalCasesUsing (elimId : Syntax) (targetRef : Syntax) (targets : Array Expr) (withAlts : Syntax) : TacticM Unit := do +def evalCasesUsing (elimId : Syntax) (targetRef : Syntax) (targets : Array Expr) (optInductionAlts : Syntax) : TacticM Unit := do let elimName := elimId.getId let elimInfo ← withRef elimId do getElimInfo elimName let (mvarId, _) ← getMainGoal @@ -540,18 +545,18 @@ def evalCasesUsing (elimId : Syntax) (targetRef : Syntax) (targets : Array Expr) withMVarContext mvarId do ElimApp.setMotiveArg mvarId elimArgs[elimInfo.motivePos].mvarId! targetsNew assignExprMVar mvarId result.elimApp - ElimApp.evalAlts elimInfo result.alts (getAlts withAlts) (numEqs := targets.size) + ElimApp.evalAlts elimInfo result.alts (getAltsOfOptInductionAlts optInductionAlts) (numEqs := targets.size) @[builtinTactic Lean.Parser.Tactic.cases] def evalCases : Tactic := fun stx => focusAux do - -- parser! nonReservedSymbol "cases " >> sepBy1 (group majorPremise) ", " >> usingRec >> withAlts + -- parser! nonReservedSymbol "cases " >> sepBy1 (group majorPremise) ", " >> usingRec >> optInductionAlts let targets ← elabTargets stx[1].getSepArgs - let withAlts := stx[3] - checkAlts withAlts + let optInductionAlts := stx[3] + checkAltsOfOptInductionAlts optInductionAlts if stx[2].isNone then unless targets.size == 1 do throwErrorAt stx[1] "multiple targets are only supported when a user-defined eliminator is provided with 'using'" - evalCasesOn targets[0] withAlts + evalCasesOn targets[0] optInductionAlts else - evalCasesUsing stx[2][1] (targetRef := stx[1]) targets withAlts + evalCasesUsing stx[2][1] (targetRef := stx[1]) targets optInductionAlts end Lean.Elab.Tactic diff --git a/stage0/src/Lean/Parser/Syntax.lean b/stage0/src/Lean/Parser/Syntax.lean index 8dcf6336a0..c2e3323936 100644 --- a/stage0/src/Lean/Parser/Syntax.lean +++ b/stage0/src/Lean/Parser/Syntax.lean @@ -30,7 +30,7 @@ namespace Syntax @[builtinSyntaxParser] def unary := parser! ident >> checkNoWsBefore >> "(" >> many1 syntaxParser >> ")" @[builtinSyntaxParser] def binary := parser! ident >> checkNoWsBefore >> "(" >> many1 syntaxParser >> ", " >> many1 syntaxParser >> ")" @[builtinSyntaxParser] def atom := parser! strLit -@[builtinSyntaxParser] def nonReserved := parser! "!" >> strLit +@[builtinSyntaxParser] def nonReserved := parser! "&" >> strLit end Syntax diff --git a/stage0/src/Lean/Parser/Tactic.lean b/stage0/src/Lean/Parser/Tactic.lean index 4b93a6b792..1fac74bed1 100644 --- a/stage0/src/Lean/Parser/Tactic.lean +++ b/stage0/src/Lean/Parser/Tactic.lean @@ -48,14 +48,13 @@ def rwRuleSeq := parser! "[" >> sepBy1 rwRule ", " true >> "]" @[builtinTacticParser 1] def «rewriteSeq» := parser! (nonReservedSymbol "rewrite" <|> nonReservedSymbol "rw") >> rwRuleSeq >> optional location def altRHS := Term.hole <|> Term.syntheticHole <|> tacticSeq -def inductionAlt : Parser := nodeWithAntiquot "inductionAlt" `Lean.Parser.Tactic.inductionAlt $ ident' >> many ident' >> darrow >> altRHS -def inductionAlts : Parser := withPosition $ "| " >> sepBy1 inductionAlt (checkColGe "alternatives must be indented" >> "|") -def withAlts : Parser := optional inductionAlts +def inductionAlt : Parser := parser! ident' >> many ident' >> darrow >> altRHS +def inductionAlts : Parser := parser! withPosition ("| " >> sepBy1 inductionAlt (checkColGe "alternatives must be indented" >> "|")) def usingRec : Parser := optional (" using " >> ident) def generalizingVars := optional (" generalizing " >> many1 ident) -@[builtinTacticParser] def «induction» := parser! nonReservedSymbol "induction " >> sepBy1 termParser ", " >> usingRec >> generalizingVars >> withAlts -def majorPremise := parser! optional (atomic (ident >> " : ")) >> termParser -@[builtinTacticParser] def «cases» := parser! nonReservedSymbol "cases " >> sepBy1 majorPremise ", " >> usingRec >> withAlts +@[builtinTacticParser] def «induction» := parser! nonReservedSymbol "induction " >> sepBy1 termParser ", " >> usingRec >> generalizingVars >> optional inductionAlts +def casesTarget := parser! optional (atomic (ident >> " : ")) >> termParser +@[builtinTacticParser] def «cases» := parser! nonReservedSymbol "cases " >> sepBy1 casesTarget ", " >> usingRec >> optional inductionAlts def matchAlt : Parser := parser! sepBy1 termParser ", " >> darrow >> altRHS def matchAlts : Parser := parser! withPosition $ "| " >> sepBy1 matchAlt (checkColGe "alternatives must be indented" >> "| ") diff --git a/stage0/stdlib/Lean/Elab/Tactic/Induction.c b/stage0/stdlib/Lean/Elab/Tactic/Induction.c index a3691df150..bcdf851f98 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Induction.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Induction.c @@ -30,7 +30,7 @@ lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*); 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_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4415_(lean_object*); +lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438_(lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___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_mk_empty_array_with_capacity(lean_object*); @@ -70,7 +70,9 @@ lean_object* l_Lean_throwError___at___private_Lean_Elab_Tactic_Basic_0__Lean_Ela lean_object* l_List_map___at_Lean_Elab_Tactic_evalCasesOn___spec__7(lean_object*); extern lean_object* l___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_sortFVarIds___closed__4; lean_object* l_Lean_Format_pretty(lean_object*, lean_object*); +lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1(lean_object*, size_t, size_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_ElimApp_evalAlts_match__7___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfOptInductionAlts(lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_getBindingName___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getIdAt(lean_object*, lean_object*); lean_object* l_Lean_Meta_getElimInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -87,7 +89,6 @@ lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generali lean_object* l_Lean_Elab_Tactic_evalCases___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_evalCasesUsing_match__1___rarg(lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__5___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAlts___boxed(lean_object*); lean_object* l_Lean_mkMVar(lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecFromUsingLoop_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalCasesOn___spec__1___boxed(lean_object*, lean_object*, lean_object*); @@ -110,7 +111,6 @@ lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__4_ extern lean_object* l_Lean_Init_Prelude___instance__68; lean_object* l_Lean_Elab_Tactic_evalCasesUsing(lean_object*, 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 lean_name_eq(lean_object*, lean_object*); -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___closed__2; uint8_t l_Lean_Meta_RecursorInfo_isMinor(lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_ElimApp_evalAlts_match__1(lean_object*); lean_object* l_Lean_Elab_Tactic_ElimApp_setMotiveArg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -118,6 +118,7 @@ lean_object* l_Lean_Elab_Tactic_evalCasesUsing___lambda__1___boxed(lean_object*, lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltVarNames(lean_object*); lean_object* l_Lean_Meta_whnf___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_getFType___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getParamNamesImp(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_checkAltsOfOptInductionAlts___spec__1___lambda__2___closed__1; lean_object* l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_ReaderT_lift___rarg___boxed(lean_object*, lean_object*); lean_object* lean_local_ctx_find_from_user_name(lean_object*, lean_object*); @@ -146,8 +147,10 @@ lean_object* l_Lean_addTrace___at___private_Lean_Elab_Tactic_Induction_0__Lean_E lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecFromUsingLoop___closed__1; lean_object* l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_995____spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_getInductiveValFromMajor___lambda__1___closed__1; +lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2___closed__2; lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_synthesizeAppInstMVars(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_checkAltsOfOptInductionAlts___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* l_Lean_Elab_Tactic_evalCasesOn_match__1(lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo_match__3___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_ElimApp_State_instMVars___default; @@ -172,7 +175,6 @@ uint8_t l_Lean_Elab_Tactic_isHoleRHS(lean_object*); uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generalizeVars___spec__1(lean_object*, lean_object*, size_t, size_t); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalCasesOn___spec__5(size_t, size_t, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getGeneralizingFVarIds___closed__5; -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2(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___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_elabTaggedTerm_match__1(lean_object*); lean_object* l_Lean_Meta_appendTag(lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_evalInduction___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -184,6 +186,7 @@ extern lean_object* l_Lean_throwUnknownConstant___rarg___closed__2; lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecFromUsingLoop_match__3(lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult_match__1___rarg(lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalInduction___spec__7(size_t, size_t, lean_object*); +lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___closed__2; lean_object* l_Lean_Elab_Tactic_evalCasesUsing_match__2___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo_match__2(lean_object*); uint8_t l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__5___lambda__2(lean_object*, lean_object*); @@ -200,7 +203,6 @@ lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltRH lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_getArgExpectedType___boxed(lean_object*); lean_object* l_StateRefT_x27_lift___rarg___boxed(lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_evalInduction___lambda__4___closed__1; -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__1___closed__1; lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); lean_object* l_List_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___spec__1___closed__4; lean_object* l_Lean_Elab_Tactic_ElimApp_setMotiveArg___closed__1; @@ -210,7 +212,6 @@ lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getGener lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__4___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_intro1Core(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecFromUsingLoop___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_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___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* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault_match__4(lean_object*); lean_object* l_Lean_Elab_Tactic_ElimApp_setMotiveArg___closed__4; lean_object* l_Lean_Elab_Tactic_ElimApp_evalAlts_match__8___rarg(lean_object*, lean_object*); @@ -239,6 +240,7 @@ lean_object* l_Lean_Elab_Tactic_ElimApp_evalAlts_match__4(lean_object*); lean_object* l_ReaderT_Init_Prelude___instance__51___rarg(lean_object*); lean_object* l_Lean_Meta_withMVarContext___at_Lean_Elab_Tactic_evalInduction___spec__6___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getGeneralizingFVarIds(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_checkAltsOfOptInductionAlts(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_ElimApp_evalAlts_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_getRecFromUsing___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_getRecFromUsing___spec__4(lean_object*); @@ -249,11 +251,12 @@ lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalInduction___spec__ lean_object* l_Lean_Meta_tryClear(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Elab_Tactic_evalCases___closed__2; lean_object* l_Lean_Elab_Tactic_closeUsingOrAdmit(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_checkAltsOfOptInductionAlts___spec__1___lambda__2(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___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult___closed__1; uint8_t l_List_foldr___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__1(lean_object*, uint8_t, lean_object*); lean_object* l_Lean_Elab_Tactic_evalAlt___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__5___lambda__1___boxed(lean_object**); -lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAlts(lean_object*); +lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getGeneralizingFVarIds___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getGeneralizingFVarIds___closed__4; lean_object* l_Lean_Elab_Tactic_getInductiveValFromMajor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -263,7 +266,6 @@ lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generali lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalCasesOn___spec__1(size_t, size_t, lean_object*); lean_object* l_Lean_replaceRef(lean_object*, lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1(lean_object*, size_t, size_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generalizeTerm_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_elabTaggedTerm(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_processResult___closed__2; @@ -277,7 +279,6 @@ lean_object* l_Lean_Elab_Tactic_evalInduction___lambda__2(lean_object*, lean_obj lean_object* l_Lean_Elab_Tactic_ElimApp_State_targetPos___default; lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_getRecFromUsing___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_List_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___spec__1___lambda__1(lean_object*, lean_object*); -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2___closed__3; lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltVarNames___boxed(lean_object*); lean_object* l_Lean_Meta_mkLambdaFVars___at_Lean_Meta_SynthInstance_tryResolveCore___spec__1(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_checkAltCtorNames___spec__4___closed__3; @@ -327,7 +328,7 @@ lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_ lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_getFType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_ElimApp_mkElimApp_loop___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_expr_dbg_to_string(lean_object*); -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__1(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_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2___closed__3; lean_object* l_List_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___spec__1___lambda__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_ElimApp_mkElimApp_loop_match__1___rarg(uint8_t, 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__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*); @@ -353,15 +354,15 @@ lean_object* l_Lean_Elab_Tactic_ElimApp_evalAlts_match__6___rarg(lean_object*, l lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_getAltNumFields_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_getRecFromUsing___spec__4___rarg(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_checkAltsOfOptInductionAlts___spec__1___closed__1; lean_object* l_Lean_Elab_Tactic_ElimApp_evalAlts_match__2(lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generalizeVars(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_checkAlts___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isForall(lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_getAltNumFields(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_checkAltsOfOptInductionAlts___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault_match__1(lean_object*); lean_object* l_Lean_mkFVar(lean_object*); -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___closed__1; uint8_t l_Lean_Expr_Data_binderInfo(uint64_t); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getGeneralizingFVarIds___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*); size_t lean_usize_of_nat(lean_object*); @@ -370,12 +371,12 @@ lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecFr lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalInduction___spec__5___boxed(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_Tactic_tacticElabAttribute; lean_object* l_Lean_Elab_Tactic_ElimApp_evalAlts_match__6(lean_object*); -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_instantiateMVars___at_Lean_Elab_Tactic_evalInduction___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_getAltNumFields___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* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalCasesUsing___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_ElimApp_mkElimApp_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_evalCasesUsing___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1; lean_object* l_Lean_Elab_Tactic_ElimApp_mkElimApp_loop___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* l_List_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___spec__1___closed__1; lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_getAltNumFields___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -412,6 +413,7 @@ lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Ela lean_object* l_Lean_Elab_Tactic_ElimApp_evalAlts___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___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___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*); extern lean_object* l_Lean_resolveGlobalConstNoOverload___rarg___lambda__1___closed__1; +lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__1(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_List_redLength___rarg(lean_object*); lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_5739____closed__21; @@ -434,6 +436,7 @@ lean_object* l_Lean_Elab_Tactic_evalCases___lambda__1___boxed(lean_object*, lean lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalCasesUsing___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_whnf___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_getFType___spec__2(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_getAltsOfOptInductionAlts___boxed(lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalInduction___spec__7___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_List_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___spec__1___closed__3; extern lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_839____closed__1; @@ -447,6 +450,7 @@ lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generali lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltName(lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult___closed__5; lean_object* l_Lean_Elab_Tactic_ElimApp_mkElimApp_loop___closed__2; +lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts___boxed(lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___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_Syntax_getArgs(lean_object*); lean_object* l_Lean_Name_append(lean_object*, lean_object*); @@ -540,20 +544,21 @@ lean_object* l_Lean_Elab_Tactic_evalCasesUsing___lambda__3___boxed__const__1; lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecFromUsingLoop___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalCasesOn___spec__5___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___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* l_Lean_Elab_Tactic_ElimApp_Result_alts___default; lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_foldr___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Elab_Tactic_evalCases(lean_object*); -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2___closed__2; +lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__1___closed__1; lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_getArgExpectedType___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_getRecFromUsing___closed__1; lean_object* l_Lean_Meta_mkFreshExprMVar___at_Lean_Elab_Tactic_ElimApp_mkElimApp_loop___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo___spec__2___closed__1; lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts(lean_object*); lean_object* l___regBuiltin_Lean_Elab_Tactic_evalInduction___closed__1; lean_object* l_Lean_Expr_getAppFn(lean_object*); -lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts(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_whnfForall___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_getFType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addTrace___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_CheckAssignment_checkFVar___closed__1; @@ -604,10 +609,8 @@ lean_object* l_Lean_mkConst(lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_elabTerm___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult_match__1(lean_object*); lean_object* l_Lean_Elab_Tactic_ElimApp_evalAlts_match__3___rarg(lean_object*, lean_object*); -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2___closed__1; extern lean_object* l_Lean_Meta_throwLetTypeMismatchMessage___rarg___closed__8; lean_object* l_Lean_Elab_Tactic_ElimApp_evalAlts_match__9___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___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* l_Lean_Elab_Tactic_liftMetaTacticAux___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Array_findSomeM_x3f___rarg___closed__1; lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*); @@ -617,7 +620,6 @@ lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_ 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___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_checkAltNames___spec__2___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_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4415____closed__1; lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__5___boxed(lean_object**); lean_object* l_Lean_Meta_mkFreshExprMVar___at_Lean_Elab_Tactic_ElimApp_mkElimApp_loop___spec__1(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_Meta_induction(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -8352,7 +8354,7 @@ lean_dec(x_1); return x_12; } } -lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAlts(lean_object* x_1) { +lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; @@ -8363,16 +8365,47 @@ lean_dec(x_3); return x_4; } } -lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAlts___boxed(lean_object* x_1) { +lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts___boxed(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAlts(x_1); +x_2 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts(x_1); lean_dec(x_1); return x_2; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__1___closed__1() { +lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfOptInductionAlts(lean_object* x_1) { +_start: +{ +uint8_t x_2; +x_2 = l_Lean_Syntax_isNone(x_1); +if (x_2 == 0) +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_3 = lean_unsigned_to_nat(0u); +x_4 = l_Lean_Syntax_getArg(x_1, x_3); +x_5 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts(x_4); +lean_dec(x_4); +return x_5; +} +else +{ +lean_object* x_6; +x_6 = l_Array_empty___closed__1; +return x_6; +} +} +} +lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfOptInductionAlts___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfOptInductionAlts(x_1); +lean_dec(x_1); +return x_2; +} +} +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__1___closed__1() { _start: { uint8_t x_1; lean_object* x_2; lean_object* x_3; @@ -8383,26 +8416,26 @@ lean_ctor_set(x_3, 0, x_2); return x_3; } } -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__1(uint8_t 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_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__1(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* x_13; -x_12 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__1___closed__1; +x_12 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__1___closed__1; x_13 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_13, 0, x_12); lean_ctor_set(x_13, 1, x_11); return x_13; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2___closed__1() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__1___boxed), 11, 0); +x_1 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__1___boxed), 11, 0); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2___closed__2() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2___closed__2() { _start: { lean_object* x_1; @@ -8410,20 +8443,20 @@ x_1 = lean_mk_string("more than one wildcard alternative '| _ => ...' used"); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2___closed__3() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2___closed__2; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2___closed__2; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { lean_object* x_13; -x_13 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2___closed__1; +x_13 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2___closed__1; if (x_2 == 0) { lean_object* x_14; lean_object* x_15; lean_object* x_16; @@ -8435,7 +8468,7 @@ return x_16; else { lean_object* x_17; lean_object* x_18; uint8_t x_19; -x_17 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2___closed__3; +x_17 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2___closed__3; x_18 = l_Lean_throwErrorAt___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__6___rarg(x_1, x_17, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_11); lean_dec(x_9); @@ -8465,7 +8498,7 @@ return x_22; } } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___closed__1() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___closed__1() { _start: { lean_object* x_1; @@ -8473,16 +8506,16 @@ x_1 = lean_mk_string("wildcard alternative must not specify variable names"); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___closed__2() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___closed__1; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1(lean_object* x_1, size_t x_2, size_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* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1(lean_object* x_1, size_t x_2, size_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) { _start: { uint8_t x_14; @@ -8530,7 +8563,7 @@ lean_dec(x_24); if (x_25 == 0) { lean_object* x_26; lean_object* x_27; uint8_t x_28; -x_26 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___closed__2; +x_26 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___closed__2; x_27 = l_Lean_throwErrorAt___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_evalTacticUsing_loop___spec__1___rarg(x_17, x_26, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); lean_dec(x_12); lean_dec(x_10); @@ -8571,7 +8604,7 @@ lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_33 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2(x_17, x_4, x_32, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_33 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2(x_17, x_4, x_32, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); lean_dec(x_17); if (lean_obj_tag(x_33) == 0) { @@ -8670,75 +8703,100 @@ return x_50; } } } -lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts(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_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { -lean_object* x_11; lean_object* x_12; size_t x_13; size_t x_14; uint8_t x_15; lean_object* x_16; -x_11 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAlts(x_1); -x_12 = lean_array_get_size(x_11); -x_13 = lean_usize_of_nat(x_12); -lean_dec(x_12); -x_14 = 0; -x_15 = 0; -x_16 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1(x_11, x_13, x_14, x_15, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_11); -if (lean_obj_tag(x_16) == 0) +uint8_t x_11; +x_11 = l_Lean_Syntax_isNone(x_1); +if (x_11 == 0) { -uint8_t x_17; -x_17 = !lean_is_exclusive(x_16); -if (x_17 == 0) +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; size_t x_16; size_t x_17; uint8_t x_18; lean_object* x_19; +x_12 = lean_unsigned_to_nat(0u); +x_13 = l_Lean_Syntax_getArg(x_1, x_12); +x_14 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts(x_13); +lean_dec(x_13); +x_15 = lean_array_get_size(x_14); +x_16 = lean_usize_of_nat(x_15); +lean_dec(x_15); +x_17 = 0; +x_18 = 0; +x_19 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1(x_14, x_16, x_17, x_18, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_14); +if (lean_obj_tag(x_19) == 0) { -lean_object* x_18; lean_object* x_19; -x_18 = lean_ctor_get(x_16, 0); -lean_dec(x_18); -x_19 = lean_box(0); -lean_ctor_set(x_16, 0, x_19); -return x_16; +uint8_t x_20; +x_20 = !lean_is_exclusive(x_19); +if (x_20 == 0) +{ +lean_object* x_21; lean_object* x_22; +x_21 = lean_ctor_get(x_19, 0); +lean_dec(x_21); +x_22 = lean_box(0); +lean_ctor_set(x_19, 0, x_22); +return x_19; } else { -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_16, 1); -lean_inc(x_20); -lean_dec(x_16); -x_21 = lean_box(0); -x_22 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_22, 0, x_21); -lean_ctor_set(x_22, 1, x_20); -return x_22; +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_19, 1); +lean_inc(x_23); +lean_dec(x_19); +x_24 = lean_box(0); +x_25 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_25, 0, x_24); +lean_ctor_set(x_25, 1, x_23); +return x_25; } } else { -uint8_t x_23; -x_23 = !lean_is_exclusive(x_16); -if (x_23 == 0) +uint8_t x_26; +x_26 = !lean_is_exclusive(x_19); +if (x_26 == 0) { -return x_16; +return x_19; } else { -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_16, 0); -x_25 = lean_ctor_get(x_16, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_16); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_19, 0); +x_28 = lean_ctor_get(x_19, 1); +lean_inc(x_28); +lean_inc(x_27); +lean_dec(x_19); +x_29 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +return x_29; } } } +else +{ +lean_object* x_30; lean_object* x_31; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_30 = lean_box(0); +x_31 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_31, 0, x_30); +lean_ctor_set(x_31, 1, x_10); +return x_31; } -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___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* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___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) { _start: { uint8_t x_12; lean_object* x_13; x_12 = lean_unbox(x_1); lean_dec(x_1); -x_13 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__1(x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_13 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__1(x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -8751,19 +8809,19 @@ lean_dec(x_2); return x_13; } } -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { uint8_t x_13; lean_object* x_14; x_13 = lean_unbox(x_2); lean_dec(x_2); -x_14 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2(x_1, x_13, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_14 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2(x_1, x_13, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_3); lean_dec(x_1); return x_14; } } -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___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* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___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) { _start: { size_t x_14; size_t x_15; uint8_t x_16; lean_object* x_17; @@ -8773,16 +8831,16 @@ x_15 = lean_unbox_usize(x_3); lean_dec(x_3); x_16 = lean_unbox(x_4); lean_dec(x_4); -x_17 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1(x_1, x_14, x_15, x_16, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_17 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1(x_1, x_14, x_15, x_16, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); lean_dec(x_1); return x_17; } } -lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___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_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; -x_11 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_1); return x_11; } @@ -11911,59 +11969,61 @@ x_20 = lean_name_mk_string(x_18, x_19); x_21 = l_Lean_Syntax_isNone(x_2); if (x_21 == 0) { -lean_object* x_22; lean_object* x_23; lean_object* x_24; +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_free_object(x_13); x_22 = lean_ctor_get(x_15, 4); lean_inc(x_22); lean_dec(x_15); -x_23 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAlts(x_2); -lean_inc(x_10); -x_24 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames(x_23, x_22, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, 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; -x_25 = lean_ctor_get(x_24, 1); -lean_inc(x_25); +x_23 = lean_unsigned_to_nat(0u); +x_24 = l_Lean_Syntax_getArg(x_2, x_23); +x_25 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts(x_24); lean_dec(x_24); -x_26 = lean_box(0); -x_27 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_27, 0, x_23); -lean_ctor_set(x_27, 1, x_26); -x_28 = l_Array_empty___closed__1; -x_29 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_29, 0, x_28); -lean_ctor_set(x_29, 1, x_27); -lean_inc(x_22); -x_30 = l_List_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___spec__1(x_3, x_22, x_29, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_25); -if (lean_obj_tag(x_30) == 0) +lean_inc(x_10); +x_26 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames(x_25, x_22, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_16); +if (lean_obj_tag(x_26) == 0) { -lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -x_32 = lean_ctor_get(x_31, 1); -lean_inc(x_32); -x_33 = lean_ctor_get(x_30, 1); +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_27 = lean_ctor_get(x_26, 1); +lean_inc(x_27); +lean_dec(x_26); +x_28 = lean_box(0); +x_29 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_29, 0, x_25); +lean_ctor_set(x_29, 1, x_28); +x_30 = l_Array_empty___closed__1; +x_31 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_31, 0, x_30); +lean_ctor_set(x_31, 1, x_29); +lean_inc(x_22); +x_32 = l_List_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___spec__1(x_3, x_22, x_31, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_27); +if (lean_obj_tag(x_32) == 0) +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; +x_33 = lean_ctor_get(x_32, 0); lean_inc(x_33); -lean_dec(x_30); -x_34 = lean_ctor_get(x_31, 0); +x_34 = lean_ctor_get(x_33, 1); lean_inc(x_34); -lean_dec(x_31); -x_35 = lean_ctor_get(x_32, 0); +x_35 = lean_ctor_get(x_32, 1); lean_inc(x_35); lean_dec(x_32); -x_36 = l_Array_isEmpty___rarg(x_35); -if (x_36 == 0) -{ -lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; uint8_t x_42; +x_36 = lean_ctor_get(x_33, 0); +lean_inc(x_36); +lean_dec(x_33); +x_37 = lean_ctor_get(x_34, 0); +lean_inc(x_37); lean_dec(x_34); +x_38 = l_Array_isEmpty___rarg(x_37); +if (x_38 == 0) +{ +lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43; +lean_dec(x_36); lean_dec(x_22); lean_dec(x_20); -x_37 = l_Lean_Init_Prelude___instance__73; -x_38 = lean_unsigned_to_nat(0u); -x_39 = lean_array_get(x_37, x_35, x_38); -lean_dec(x_35); -x_40 = l_Lean_Elab_Tactic_ElimApp_evalAlts___lambda__2___closed__3; -x_41 = l_Lean_throwErrorAt___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_evalTacticUsing_loop___spec__1___rarg(x_39, x_40, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_33); +x_39 = l_Lean_Init_Prelude___instance__73; +x_40 = lean_array_get(x_39, x_37, x_23); +lean_dec(x_37); +x_41 = l_Lean_Elab_Tactic_ElimApp_evalAlts___lambda__2___closed__3; +x_42 = l_Lean_throwErrorAt___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_evalTacticUsing_loop___spec__1___rarg(x_40, x_41, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_35); lean_dec(x_11); lean_dec(x_9); lean_dec(x_8); @@ -11971,32 +12031,32 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_39); -x_42 = !lean_is_exclusive(x_41); -if (x_42 == 0) +lean_dec(x_40); +x_43 = !lean_is_exclusive(x_42); +if (x_43 == 0) { -return x_41; +return x_42; } else { -lean_object* x_43; lean_object* x_44; lean_object* x_45; -x_43 = lean_ctor_get(x_41, 0); -x_44 = lean_ctor_get(x_41, 1); +lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_44 = lean_ctor_get(x_42, 0); +x_45 = lean_ctor_get(x_42, 1); +lean_inc(x_45); lean_inc(x_44); -lean_inc(x_43); -lean_dec(x_41); -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_42); +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_46; lean_object* x_47; -lean_dec(x_35); -x_46 = lean_box(0); -x_47 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___lambda__1(x_20, x_34, x_22, x_46, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_33); +lean_object* x_47; lean_object* x_48; +lean_dec(x_37); +x_47 = lean_box(0); +x_48 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___lambda__1(x_20, x_36, x_22, x_47, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_35); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -12005,12 +12065,12 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_47; +return x_48; } } else { -uint8_t x_48; +uint8_t x_49; lean_dec(x_22); lean_dec(x_20); lean_dec(x_11); @@ -12021,30 +12081,30 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_48 = !lean_is_exclusive(x_30); -if (x_48 == 0) +x_49 = !lean_is_exclusive(x_32); +if (x_49 == 0) { -return x_30; +return x_32; } else { -lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_49 = lean_ctor_get(x_30, 0); -x_50 = lean_ctor_get(x_30, 1); +lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_50 = lean_ctor_get(x_32, 0); +x_51 = lean_ctor_get(x_32, 1); +lean_inc(x_51); lean_inc(x_50); -lean_inc(x_49); -lean_dec(x_30); -x_51 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_51, 0, x_49); -lean_ctor_set(x_51, 1, x_50); -return x_51; +lean_dec(x_32); +x_52 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_52, 0, x_50); +lean_ctor_set(x_52, 1, x_51); +return x_52; } } } else { -uint8_t x_52; -lean_dec(x_23); +uint8_t x_53; +lean_dec(x_25); lean_dec(x_22); lean_dec(x_20); lean_dec(x_11); @@ -12055,29 +12115,29 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_52 = !lean_is_exclusive(x_24); -if (x_52 == 0) +x_53 = !lean_is_exclusive(x_26); +if (x_53 == 0) { -return x_24; +return x_26; } else { -lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_53 = lean_ctor_get(x_24, 0); -x_54 = lean_ctor_get(x_24, 1); +lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_54 = lean_ctor_get(x_26, 0); +x_55 = lean_ctor_get(x_26, 1); +lean_inc(x_55); lean_inc(x_54); -lean_inc(x_53); -lean_dec(x_24); -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_dec(x_26); +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 { -lean_object* x_56; lean_object* x_57; lean_object* x_58; +lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_dec(x_15); lean_dec(x_11); lean_dec(x_10); @@ -12087,138 +12147,124 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_56 = l_Array_empty___closed__1; -x_57 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_57, 0, x_20); -lean_ctor_set(x_57, 1, x_56); +x_57 = l_Array_empty___closed__1; x_58 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_58, 0, x_57); -lean_ctor_set(x_58, 1, x_56); -lean_ctor_set(x_13, 0, x_58); +lean_ctor_set(x_58, 0, x_20); +lean_ctor_set(x_58, 1, x_57); +x_59 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_59, 0, x_58); +lean_ctor_set(x_59, 1, x_57); +lean_ctor_set(x_13, 0, x_59); return x_13; } } 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; uint8_t x_65; -x_59 = lean_ctor_get(x_13, 0); -x_60 = lean_ctor_get(x_13, 1); -lean_inc(x_60); -lean_inc(x_59); -lean_dec(x_13); -x_61 = lean_ctor_get(x_59, 0); +lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; uint8_t x_66; +x_60 = lean_ctor_get(x_13, 0); +x_61 = lean_ctor_get(x_13, 1); lean_inc(x_61); -x_62 = lean_ctor_get(x_61, 0); +lean_inc(x_60); +lean_dec(x_13); +x_62 = lean_ctor_get(x_60, 0); lean_inc(x_62); -lean_dec(x_61); -x_63 = l_Lean_mkRecName___closed__1; -x_64 = lean_name_mk_string(x_62, x_63); -x_65 = l_Lean_Syntax_isNone(x_2); -if (x_65 == 0) +x_63 = lean_ctor_get(x_62, 0); +lean_inc(x_63); +lean_dec(x_62); +x_64 = l_Lean_mkRecName___closed__1; +x_65 = lean_name_mk_string(x_63, x_64); +x_66 = l_Lean_Syntax_isNone(x_2); +if (x_66 == 0) { -lean_object* x_66; lean_object* x_67; lean_object* x_68; -x_66 = lean_ctor_get(x_59, 4); -lean_inc(x_66); -lean_dec(x_59); -x_67 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAlts(x_2); +lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_67 = lean_ctor_get(x_60, 4); +lean_inc(x_67); +lean_dec(x_60); +x_68 = lean_unsigned_to_nat(0u); +x_69 = l_Lean_Syntax_getArg(x_2, x_68); +x_70 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts(x_69); +lean_dec(x_69); lean_inc(x_10); -x_68 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames(x_67, x_66, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_60); -if (lean_obj_tag(x_68) == 0) +x_71 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames(x_70, x_67, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_61); +if (lean_obj_tag(x_71) == 0) { -lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; -x_69 = lean_ctor_get(x_68, 1); -lean_inc(x_69); -lean_dec(x_68); -x_70 = lean_box(0); -x_71 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_71, 0, x_67); -lean_ctor_set(x_71, 1, x_70); -x_72 = l_Array_empty___closed__1; -x_73 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_73, 0, x_72); -lean_ctor_set(x_73, 1, x_71); -lean_inc(x_66); -x_74 = l_List_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___spec__1(x_3, x_66, x_73, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_69); -if (lean_obj_tag(x_74) == 0) +lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; +x_72 = lean_ctor_get(x_71, 1); +lean_inc(x_72); +lean_dec(x_71); +x_73 = lean_box(0); +x_74 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_74, 0, x_70); +lean_ctor_set(x_74, 1, x_73); +x_75 = l_Array_empty___closed__1; +x_76 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_76, 0, x_75); +lean_ctor_set(x_76, 1, x_74); +lean_inc(x_67); +x_77 = l_List_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___spec__1(x_3, x_67, x_76, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_72); +if (lean_obj_tag(x_77) == 0) { -lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; uint8_t x_80; -x_75 = lean_ctor_get(x_74, 0); -lean_inc(x_75); -x_76 = lean_ctor_get(x_75, 1); -lean_inc(x_76); -x_77 = lean_ctor_get(x_74, 1); -lean_inc(x_77); -lean_dec(x_74); -x_78 = lean_ctor_get(x_75, 0); +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_77, 0); lean_inc(x_78); -lean_dec(x_75); -x_79 = lean_ctor_get(x_76, 0); +x_79 = lean_ctor_get(x_78, 1); lean_inc(x_79); -lean_dec(x_76); -x_80 = l_Array_isEmpty___rarg(x_79); -if (x_80 == 0) -{ -lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_80 = lean_ctor_get(x_77, 1); +lean_inc(x_80); +lean_dec(x_77); +x_81 = lean_ctor_get(x_78, 0); +lean_inc(x_81); lean_dec(x_78); -lean_dec(x_66); -lean_dec(x_64); -x_81 = l_Lean_Init_Prelude___instance__73; -x_82 = lean_unsigned_to_nat(0u); -x_83 = lean_array_get(x_81, x_79, x_82); +x_82 = lean_ctor_get(x_79, 0); +lean_inc(x_82); lean_dec(x_79); -x_84 = l_Lean_Elab_Tactic_ElimApp_evalAlts___lambda__2___closed__3; -x_85 = l_Lean_throwErrorAt___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_evalTacticUsing_loop___spec__1___rarg(x_83, x_84, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_77); -lean_dec(x_11); -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_83); -x_86 = lean_ctor_get(x_85, 0); -lean_inc(x_86); -x_87 = lean_ctor_get(x_85, 1); -lean_inc(x_87); -if (lean_is_exclusive(x_85)) { - lean_ctor_release(x_85, 0); - lean_ctor_release(x_85, 1); - x_88 = x_85; -} else { - lean_dec_ref(x_85); - x_88 = lean_box(0); -} -if (lean_is_scalar(x_88)) { - x_89 = lean_alloc_ctor(1, 2, 0); -} else { - x_89 = x_88; -} -lean_ctor_set(x_89, 0, x_86); -lean_ctor_set(x_89, 1, x_87); -return x_89; -} -else +x_83 = l_Array_isEmpty___rarg(x_82); +if (x_83 == 0) { -lean_object* x_90; lean_object* x_91; -lean_dec(x_79); -x_90 = lean_box(0); -x_91 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___lambda__1(x_64, x_78, x_66, x_90, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_77); +lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; +lean_dec(x_81); +lean_dec(x_67); +lean_dec(x_65); +x_84 = l_Lean_Init_Prelude___instance__73; +x_85 = lean_array_get(x_84, x_82, x_68); +lean_dec(x_82); +x_86 = l_Lean_Elab_Tactic_ElimApp_evalAlts___lambda__2___closed__3; +x_87 = l_Lean_throwErrorAt___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_evalTacticUsing_loop___spec__1___rarg(x_85, x_86, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_80); 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_85); +x_88 = lean_ctor_get(x_87, 0); +lean_inc(x_88); +x_89 = lean_ctor_get(x_87, 1); +lean_inc(x_89); +if (lean_is_exclusive(x_87)) { + lean_ctor_release(x_87, 0); + lean_ctor_release(x_87, 1); + x_90 = x_87; +} else { + lean_dec_ref(x_87); + x_90 = lean_box(0); +} +if (lean_is_scalar(x_90)) { + x_91 = lean_alloc_ctor(1, 2, 0); +} else { + x_91 = x_90; +} +lean_ctor_set(x_91, 0, x_88); +lean_ctor_set(x_91, 1, x_89); return x_91; } -} else { -lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; -lean_dec(x_66); -lean_dec(x_64); +lean_object* x_92; lean_object* x_93; +lean_dec(x_82); +x_92 = lean_box(0); +x_93 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___lambda__1(x_65, x_81, x_67, x_92, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_80); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -12227,34 +12273,14 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_92 = lean_ctor_get(x_74, 0); -lean_inc(x_92); -x_93 = lean_ctor_get(x_74, 1); -lean_inc(x_93); -if (lean_is_exclusive(x_74)) { - lean_ctor_release(x_74, 0); - lean_ctor_release(x_74, 1); - x_94 = x_74; -} else { - lean_dec_ref(x_74); - x_94 = lean_box(0); -} -if (lean_is_scalar(x_94)) { - x_95 = lean_alloc_ctor(1, 2, 0); -} else { - x_95 = x_94; -} -lean_ctor_set(x_95, 0, x_92); -lean_ctor_set(x_95, 1, x_93); -return x_95; +return x_93; } } else { -lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; +lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_dec(x_67); -lean_dec(x_66); -lean_dec(x_64); +lean_dec(x_65); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -12263,32 +12289,34 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_96 = lean_ctor_get(x_68, 0); -lean_inc(x_96); -x_97 = lean_ctor_get(x_68, 1); -lean_inc(x_97); -if (lean_is_exclusive(x_68)) { - lean_ctor_release(x_68, 0); - lean_ctor_release(x_68, 1); - x_98 = x_68; +x_94 = lean_ctor_get(x_77, 0); +lean_inc(x_94); +x_95 = lean_ctor_get(x_77, 1); +lean_inc(x_95); +if (lean_is_exclusive(x_77)) { + lean_ctor_release(x_77, 0); + lean_ctor_release(x_77, 1); + x_96 = x_77; } else { - lean_dec_ref(x_68); - x_98 = lean_box(0); + lean_dec_ref(x_77); + x_96 = lean_box(0); } -if (lean_is_scalar(x_98)) { - x_99 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_96)) { + x_97 = lean_alloc_ctor(1, 2, 0); } else { - x_99 = x_98; + x_97 = x_96; } -lean_ctor_set(x_99, 0, x_96); -lean_ctor_set(x_99, 1, x_97); -return x_99; +lean_ctor_set(x_97, 0, x_94); +lean_ctor_set(x_97, 1, x_95); +return x_97; } } else { -lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; -lean_dec(x_59); +lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; +lean_dec(x_70); +lean_dec(x_67); +lean_dec(x_65); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -12297,23 +12325,57 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_100 = l_Array_empty___closed__1; -x_101 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_101, 0, x_64); -lean_ctor_set(x_101, 1, x_100); -x_102 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_102, 0, x_101); -lean_ctor_set(x_102, 1, x_100); +x_98 = lean_ctor_get(x_71, 0); +lean_inc(x_98); +x_99 = lean_ctor_get(x_71, 1); +lean_inc(x_99); +if (lean_is_exclusive(x_71)) { + lean_ctor_release(x_71, 0); + lean_ctor_release(x_71, 1); + x_100 = x_71; +} else { + lean_dec_ref(x_71); + x_100 = lean_box(0); +} +if (lean_is_scalar(x_100)) { + x_101 = lean_alloc_ctor(1, 2, 0); +} else { + x_101 = x_100; +} +lean_ctor_set(x_101, 0, x_98); +lean_ctor_set(x_101, 1, x_99); +return x_101; +} +} +else +{ +lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; +lean_dec(x_60); +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); +x_102 = l_Array_empty___closed__1; x_103 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_103, 0, x_102); -lean_ctor_set(x_103, 1, x_60); -return x_103; +lean_ctor_set(x_103, 0, x_65); +lean_ctor_set(x_103, 1, x_102); +x_104 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_104, 0, x_103); +lean_ctor_set(x_104, 1, x_102); +x_105 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_105, 0, x_104); +lean_ctor_set(x_105, 1, x_61); +return x_105; } } } else { -uint8_t x_104; +uint8_t x_106; lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -12322,23 +12384,23 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_104 = !lean_is_exclusive(x_13); -if (x_104 == 0) +x_106 = !lean_is_exclusive(x_13); +if (x_106 == 0) { return x_13; } else { -lean_object* x_105; lean_object* x_106; lean_object* x_107; -x_105 = lean_ctor_get(x_13, 0); -x_106 = lean_ctor_get(x_13, 1); -lean_inc(x_106); -lean_inc(x_105); +lean_object* x_107; lean_object* x_108; lean_object* x_109; +x_107 = lean_ctor_get(x_13, 0); +x_108 = lean_ctor_get(x_13, 1); +lean_inc(x_108); +lean_inc(x_107); lean_dec(x_13); -x_107 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_107, 0, x_105); -lean_ctor_set(x_107, 1, x_106); -return x_107; +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; } } } @@ -13223,26 +13285,29 @@ lean_inc(x_22); x_23 = l_Lean_Syntax_isNone(x_3); if (x_23 == 0) { -lean_object* x_24; lean_object* x_25; +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_free_object(x_18); -x_24 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAlts(x_3); -x_25 = l_Lean_Elab_Tactic_getMainGoal(x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_21); -if (lean_obj_tag(x_25) == 0) -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); -lean_inc(x_27); +x_24 = lean_unsigned_to_nat(0u); +x_25 = l_Lean_Syntax_getArg(x_3, x_24); +x_26 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts(x_25); lean_dec(x_25); -x_28 = lean_ctor_get(x_26, 0); +x_27 = l_Lean_Elab_Tactic_getMainGoal(x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_21); +if (lean_obj_tag(x_27) == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_28 = lean_ctor_get(x_27, 0); lean_inc(x_28); -lean_dec(x_26); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = lean_ctor_get(x_28, 0); +lean_inc(x_30); +lean_dec(x_28); lean_inc(x_22); -x_29 = lean_alloc_closure((void*)(l_Lean_Meta_getParamNames___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo___spec__1), 6, 1); -lean_closure_set(x_29, 0, x_22); -x_30 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_liftMetaM___rarg___boxed), 10, 1); -lean_closure_set(x_30, 0, x_29); +x_31 = lean_alloc_closure((void*)(l_Lean_Meta_getParamNames___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo___spec__1), 6, 1); +lean_closure_set(x_31, 0, x_22); +x_32 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_liftMetaM___rarg___boxed), 10, 1); +lean_closure_set(x_32, 0, x_31); lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); @@ -13251,61 +13316,60 @@ lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_31 = l_Lean_Meta_withMVarContext___at_Lean_Elab_Tactic_withMainMVarContext___spec__1___rarg(x_28, x_30, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_27); -if (lean_obj_tag(x_31) == 0) +x_33 = l_Lean_Meta_withMVarContext___at_Lean_Elab_Tactic_withMainMVarContext___spec__1___rarg(x_30, x_32, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_29); +if (lean_obj_tag(x_33) == 0) { -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; -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_box(0); -x_35 = lean_array_get_size(x_32); -x_36 = lean_unsigned_to_nat(0u); +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; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +x_35 = lean_ctor_get(x_33, 1); lean_inc(x_35); -x_37 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_37, 0, x_36); -lean_ctor_set(x_37, 1, x_35); -lean_ctor_set(x_37, 2, x_15); -x_38 = lean_alloc_ctor(0, 2, 0); +lean_dec(x_33); +x_36 = lean_box(0); +x_37 = lean_array_get_size(x_34); +lean_inc(x_37); +x_38 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_38, 0, x_24); -lean_ctor_set(x_38, 1, x_34); -x_39 = l_Array_empty___closed__1; -x_40 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_38); -x_41 = l_Std_Range_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo___spec__2(x_20, x_32, x_37, x_35, x_36, x_40, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_33); -lean_dec(x_37); -lean_dec(x_32); +lean_ctor_set(x_38, 1, x_37); +lean_ctor_set(x_38, 2, x_15); +x_39 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_39, 0, x_26); +lean_ctor_set(x_39, 1, x_36); +x_40 = l_Array_empty___closed__1; +x_41 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_41, 0, x_40); +lean_ctor_set(x_41, 1, x_39); +x_42 = l_Std_Range_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo___spec__2(x_20, x_34, x_38, x_37, x_24, x_41, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_35); +lean_dec(x_38); +lean_dec(x_34); lean_dec(x_20); -if (lean_obj_tag(x_41) == 0) +if (lean_obj_tag(x_42) == 0) { -lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; -x_42 = lean_ctor_get(x_41, 0); -lean_inc(x_42); -x_43 = lean_ctor_get(x_42, 1); +lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; uint8_t x_48; +x_43 = lean_ctor_get(x_42, 0); lean_inc(x_43); -x_44 = lean_ctor_get(x_41, 1); +x_44 = lean_ctor_get(x_43, 1); lean_inc(x_44); -lean_dec(x_41); -x_45 = lean_ctor_get(x_42, 0); +x_45 = lean_ctor_get(x_42, 1); lean_inc(x_45); lean_dec(x_42); x_46 = lean_ctor_get(x_43, 0); lean_inc(x_46); lean_dec(x_43); -x_47 = l_Array_isEmpty___rarg(x_46); -if (x_47 == 0) +x_47 = lean_ctor_get(x_44, 0); +lean_inc(x_47); +lean_dec(x_44); +x_48 = l_Array_isEmpty___rarg(x_47); +if (x_48 == 0) { -lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; -lean_dec(x_45); -lean_dec(x_22); -x_48 = l_Lean_Init_Prelude___instance__73; -x_49 = lean_array_get(x_48, x_46, x_36); +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53; lean_dec(x_46); -x_50 = l_Lean_Elab_Tactic_ElimApp_evalAlts___lambda__2___closed__3; -x_51 = l_Lean_throwErrorAt___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_evalTacticUsing_loop___spec__1___rarg(x_49, x_50, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_44); +lean_dec(x_22); +x_49 = l_Lean_Init_Prelude___instance__73; +x_50 = lean_array_get(x_49, x_47, x_24); +lean_dec(x_47); +x_51 = l_Lean_Elab_Tactic_ElimApp_evalAlts___lambda__2___closed__3; +x_52 = l_Lean_throwErrorAt___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_evalTacticUsing_loop___spec__1___rarg(x_50, x_51, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_45); lean_dec(x_12); lean_dec(x_10); lean_dec(x_9); @@ -13313,32 +13377,32 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -lean_dec(x_49); -x_52 = !lean_is_exclusive(x_51); -if (x_52 == 0) +lean_dec(x_50); +x_53 = !lean_is_exclusive(x_52); +if (x_53 == 0) { -return x_51; +return x_52; } else { -lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_53 = lean_ctor_get(x_51, 0); -x_54 = lean_ctor_get(x_51, 1); +lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_54 = lean_ctor_get(x_52, 0); +x_55 = lean_ctor_get(x_52, 1); +lean_inc(x_55); lean_inc(x_54); -lean_inc(x_53); -lean_dec(x_51); -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_dec(x_52); +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 { -lean_object* x_56; lean_object* x_57; -lean_dec(x_46); -x_56 = lean_box(0); -x_57 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo___lambda__1(x_22, x_45, x_56, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_44); +lean_object* x_57; lean_object* x_58; +lean_dec(x_47); +x_57 = lean_box(0); +x_58 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo___lambda__1(x_22, x_46, x_57, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_45); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); @@ -13347,12 +13411,12 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -return x_57; +return x_58; } } else { -uint8_t x_58; +uint8_t x_59; lean_dec(x_22); lean_dec(x_12); lean_dec(x_11); @@ -13362,30 +13426,30 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_58 = !lean_is_exclusive(x_41); -if (x_58 == 0) +x_59 = !lean_is_exclusive(x_42); +if (x_59 == 0) { -return x_41; +return x_42; } else { -lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_59 = lean_ctor_get(x_41, 0); -x_60 = lean_ctor_get(x_41, 1); +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_inc(x_59); -lean_dec(x_41); -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; +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; } } } else { -uint8_t x_62; -lean_dec(x_24); +uint8_t x_63; +lean_dec(x_26); lean_dec(x_22); lean_dec(x_20); lean_dec(x_12); @@ -13396,30 +13460,30 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_62 = !lean_is_exclusive(x_31); -if (x_62 == 0) +x_63 = !lean_is_exclusive(x_33); +if (x_63 == 0) { -return x_31; +return x_33; } else { -lean_object* x_63; lean_object* x_64; lean_object* x_65; -x_63 = lean_ctor_get(x_31, 0); -x_64 = lean_ctor_get(x_31, 1); +lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_64 = lean_ctor_get(x_33, 0); +x_65 = lean_ctor_get(x_33, 1); +lean_inc(x_65); lean_inc(x_64); -lean_inc(x_63); -lean_dec(x_31); -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; +lean_dec(x_33); +x_66 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_66, 0, x_64); +lean_ctor_set(x_66, 1, x_65); +return x_66; } } } else { -uint8_t x_66; -lean_dec(x_24); +uint8_t x_67; +lean_dec(x_26); lean_dec(x_22); lean_dec(x_20); lean_dec(x_12); @@ -13430,29 +13494,29 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_66 = !lean_is_exclusive(x_25); -if (x_66 == 0) +x_67 = !lean_is_exclusive(x_27); +if (x_67 == 0) { -return x_25; +return x_27; } else { -lean_object* x_67; lean_object* x_68; lean_object* x_69; -x_67 = lean_ctor_get(x_25, 0); -x_68 = lean_ctor_get(x_25, 1); +lean_object* x_68; lean_object* x_69; lean_object* x_70; +x_68 = lean_ctor_get(x_27, 0); +x_69 = lean_ctor_get(x_27, 1); +lean_inc(x_69); lean_inc(x_68); -lean_inc(x_67); -lean_dec(x_25); -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; +lean_dec(x_27); +x_70 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_70, 0, x_68); +lean_ctor_set(x_70, 1, x_69); +return x_70; } } } else { -lean_object* x_70; lean_object* x_71; +lean_object* x_71; lean_object* x_72; lean_dec(x_20); lean_dec(x_12); lean_dec(x_11); @@ -13462,46 +13526,49 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_70 = l_Array_empty___closed__1; -x_71 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_71, 0, x_22); -lean_ctor_set(x_71, 1, x_70); -lean_ctor_set(x_18, 0, x_71); +x_71 = l_Array_empty___closed__1; +x_72 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_72, 0, x_22); +lean_ctor_set(x_72, 1, x_71); +lean_ctor_set(x_18, 0, x_72); return x_18; } } else { -lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; -x_72 = lean_ctor_get(x_18, 0); -x_73 = lean_ctor_get(x_18, 1); +lean_object* x_73; lean_object* x_74; lean_object* x_75; uint8_t x_76; +x_73 = lean_ctor_get(x_18, 0); +x_74 = lean_ctor_get(x_18, 1); +lean_inc(x_74); lean_inc(x_73); -lean_inc(x_72); lean_dec(x_18); -x_74 = lean_ctor_get(x_72, 0); -lean_inc(x_74); -x_75 = l_Lean_Syntax_isNone(x_3); -if (x_75 == 0) +x_75 = lean_ctor_get(x_73, 0); +lean_inc(x_75); +x_76 = l_Lean_Syntax_isNone(x_3); +if (x_76 == 0) { -lean_object* x_76; lean_object* x_77; -x_76 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAlts(x_3); -x_77 = l_Lean_Elab_Tactic_getMainGoal(x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_73); -if (lean_obj_tag(x_77) == 0) -{ -lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; -x_78 = lean_ctor_get(x_77, 0); -lean_inc(x_78); -x_79 = lean_ctor_get(x_77, 1); -lean_inc(x_79); -lean_dec(x_77); -x_80 = lean_ctor_get(x_78, 0); -lean_inc(x_80); +lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; +x_77 = lean_unsigned_to_nat(0u); +x_78 = l_Lean_Syntax_getArg(x_3, x_77); +x_79 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts(x_78); lean_dec(x_78); -lean_inc(x_74); -x_81 = lean_alloc_closure((void*)(l_Lean_Meta_getParamNames___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo___spec__1), 6, 1); -lean_closure_set(x_81, 0, x_74); -x_82 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_liftMetaM___rarg___boxed), 10, 1); -lean_closure_set(x_82, 0, x_81); +x_80 = l_Lean_Elab_Tactic_getMainGoal(x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_74); +if (lean_obj_tag(x_80) == 0) +{ +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_81 = lean_ctor_get(x_80, 0); +lean_inc(x_81); +x_82 = lean_ctor_get(x_80, 1); +lean_inc(x_82); +lean_dec(x_80); +x_83 = lean_ctor_get(x_81, 0); +lean_inc(x_83); +lean_dec(x_81); +lean_inc(x_75); +x_84 = lean_alloc_closure((void*)(l_Lean_Meta_getParamNames___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo___spec__1), 6, 1); +lean_closure_set(x_84, 0, x_75); +x_85 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_liftMetaM___rarg___boxed), 10, 1); +lean_closure_set(x_85, 0, x_84); lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); @@ -13510,111 +13577,95 @@ lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_83 = l_Lean_Meta_withMVarContext___at_Lean_Elab_Tactic_withMainMVarContext___spec__1___rarg(x_80, x_82, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_79); -if (lean_obj_tag(x_83) == 0) +x_86 = l_Lean_Meta_withMVarContext___at_Lean_Elab_Tactic_withMainMVarContext___spec__1___rarg(x_83, x_85, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_82); +if (lean_obj_tag(x_86) == 0) { -lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; -x_84 = lean_ctor_get(x_83, 0); -lean_inc(x_84); -x_85 = lean_ctor_get(x_83, 1); -lean_inc(x_85); -lean_dec(x_83); -x_86 = lean_box(0); -x_87 = lean_array_get_size(x_84); -x_88 = lean_unsigned_to_nat(0u); +lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; +x_87 = lean_ctor_get(x_86, 0); lean_inc(x_87); -x_89 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_89, 0, x_88); -lean_ctor_set(x_89, 1, x_87); -lean_ctor_set(x_89, 2, x_15); -x_90 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_90, 0, x_76); -lean_ctor_set(x_90, 1, x_86); -x_91 = l_Array_empty___closed__1; +x_88 = lean_ctor_get(x_86, 1); +lean_inc(x_88); +lean_dec(x_86); +x_89 = lean_box(0); +x_90 = lean_array_get_size(x_87); +lean_inc(x_90); +x_91 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_91, 0, x_77); +lean_ctor_set(x_91, 1, x_90); +lean_ctor_set(x_91, 2, x_15); x_92 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_92, 0, x_91); -lean_ctor_set(x_92, 1, x_90); -x_93 = l_Std_Range_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo___spec__2(x_72, x_84, x_89, x_87, x_88, x_92, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_85); -lean_dec(x_89); -lean_dec(x_84); -lean_dec(x_72); -if (lean_obj_tag(x_93) == 0) +lean_ctor_set(x_92, 0, x_79); +lean_ctor_set(x_92, 1, x_89); +x_93 = l_Array_empty___closed__1; +x_94 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_94, 0, x_93); +lean_ctor_set(x_94, 1, x_92); +x_95 = l_Std_Range_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo___spec__2(x_73, x_87, x_91, x_90, x_77, x_94, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_88); +lean_dec(x_91); +lean_dec(x_87); +lean_dec(x_73); +if (lean_obj_tag(x_95) == 0) { -lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; uint8_t x_99; -x_94 = lean_ctor_get(x_93, 0); -lean_inc(x_94); -x_95 = lean_ctor_get(x_94, 1); -lean_inc(x_95); -x_96 = lean_ctor_get(x_93, 1); +lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; uint8_t x_101; +x_96 = lean_ctor_get(x_95, 0); lean_inc(x_96); -lean_dec(x_93); -x_97 = lean_ctor_get(x_94, 0); +x_97 = lean_ctor_get(x_96, 1); lean_inc(x_97); -lean_dec(x_94); -x_98 = lean_ctor_get(x_95, 0); +x_98 = lean_ctor_get(x_95, 1); lean_inc(x_98); lean_dec(x_95); -x_99 = l_Array_isEmpty___rarg(x_98); -if (x_99 == 0) -{ -lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; +x_99 = lean_ctor_get(x_96, 0); +lean_inc(x_99); +lean_dec(x_96); +x_100 = lean_ctor_get(x_97, 0); +lean_inc(x_100); lean_dec(x_97); -lean_dec(x_74); -x_100 = l_Lean_Init_Prelude___instance__73; -x_101 = lean_array_get(x_100, x_98, x_88); -lean_dec(x_98); -x_102 = l_Lean_Elab_Tactic_ElimApp_evalAlts___lambda__2___closed__3; -x_103 = l_Lean_throwErrorAt___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_evalTacticUsing_loop___spec__1___rarg(x_101, x_102, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_96); -lean_dec(x_12); -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_101); -x_104 = lean_ctor_get(x_103, 0); -lean_inc(x_104); -x_105 = lean_ctor_get(x_103, 1); -lean_inc(x_105); -if (lean_is_exclusive(x_103)) { - lean_ctor_release(x_103, 0); - lean_ctor_release(x_103, 1); - x_106 = x_103; -} else { - lean_dec_ref(x_103); - x_106 = lean_box(0); -} -if (lean_is_scalar(x_106)) { - x_107 = lean_alloc_ctor(1, 2, 0); -} else { - x_107 = x_106; -} -lean_ctor_set(x_107, 0, x_104); -lean_ctor_set(x_107, 1, x_105); -return x_107; -} -else +x_101 = l_Array_isEmpty___rarg(x_100); +if (x_101 == 0) { -lean_object* x_108; lean_object* x_109; -lean_dec(x_98); -x_108 = lean_box(0); -x_109 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo___lambda__1(x_74, x_97, x_108, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_96); +lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; +lean_dec(x_99); +lean_dec(x_75); +x_102 = l_Lean_Init_Prelude___instance__73; +x_103 = lean_array_get(x_102, x_100, x_77); +lean_dec(x_100); +x_104 = l_Lean_Elab_Tactic_ElimApp_evalAlts___lambda__2___closed__3; +x_105 = l_Lean_throwErrorAt___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_evalTacticUsing_loop___spec__1___rarg(x_103, x_104, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_98); lean_dec(x_12); -lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); +lean_dec(x_103); +x_106 = lean_ctor_get(x_105, 0); +lean_inc(x_106); +x_107 = lean_ctor_get(x_105, 1); +lean_inc(x_107); +if (lean_is_exclusive(x_105)) { + lean_ctor_release(x_105, 0); + lean_ctor_release(x_105, 1); + x_108 = x_105; +} else { + lean_dec_ref(x_105); + x_108 = lean_box(0); +} +if (lean_is_scalar(x_108)) { + x_109 = lean_alloc_ctor(1, 2, 0); +} else { + x_109 = x_108; +} +lean_ctor_set(x_109, 0, x_106); +lean_ctor_set(x_109, 1, x_107); return x_109; } -} else { -lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; -lean_dec(x_74); +lean_object* x_110; lean_object* x_111; +lean_dec(x_100); +x_110 = lean_box(0); +x_111 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo___lambda__1(x_75, x_99, x_110, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_98); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); @@ -13623,34 +13674,13 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_110 = lean_ctor_get(x_93, 0); -lean_inc(x_110); -x_111 = lean_ctor_get(x_93, 1); -lean_inc(x_111); -if (lean_is_exclusive(x_93)) { - lean_ctor_release(x_93, 0); - lean_ctor_release(x_93, 1); - x_112 = x_93; -} else { - lean_dec_ref(x_93); - x_112 = lean_box(0); -} -if (lean_is_scalar(x_112)) { - x_113 = lean_alloc_ctor(1, 2, 0); -} else { - x_113 = x_112; -} -lean_ctor_set(x_113, 0, x_110); -lean_ctor_set(x_113, 1, x_111); -return x_113; +return x_111; } } else { -lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; -lean_dec(x_76); -lean_dec(x_74); -lean_dec(x_72); +lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; +lean_dec(x_75); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); @@ -13659,34 +13689,34 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_114 = lean_ctor_get(x_83, 0); -lean_inc(x_114); -x_115 = lean_ctor_get(x_83, 1); -lean_inc(x_115); -if (lean_is_exclusive(x_83)) { - lean_ctor_release(x_83, 0); - lean_ctor_release(x_83, 1); - x_116 = x_83; +x_112 = lean_ctor_get(x_95, 0); +lean_inc(x_112); +x_113 = lean_ctor_get(x_95, 1); +lean_inc(x_113); +if (lean_is_exclusive(x_95)) { + lean_ctor_release(x_95, 0); + lean_ctor_release(x_95, 1); + x_114 = x_95; } else { - lean_dec_ref(x_83); - x_116 = lean_box(0); + lean_dec_ref(x_95); + x_114 = lean_box(0); } -if (lean_is_scalar(x_116)) { - x_117 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_114)) { + x_115 = lean_alloc_ctor(1, 2, 0); } else { - x_117 = x_116; + x_115 = x_114; } -lean_ctor_set(x_117, 0, x_114); -lean_ctor_set(x_117, 1, x_115); -return x_117; +lean_ctor_set(x_115, 0, x_112); +lean_ctor_set(x_115, 1, x_113); +return x_115; } } else { -lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; -lean_dec(x_76); -lean_dec(x_74); -lean_dec(x_72); +lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; +lean_dec(x_79); +lean_dec(x_75); +lean_dec(x_73); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); @@ -13695,32 +13725,34 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_118 = lean_ctor_get(x_77, 0); -lean_inc(x_118); -x_119 = lean_ctor_get(x_77, 1); -lean_inc(x_119); -if (lean_is_exclusive(x_77)) { - lean_ctor_release(x_77, 0); - lean_ctor_release(x_77, 1); - x_120 = x_77; +x_116 = lean_ctor_get(x_86, 0); +lean_inc(x_116); +x_117 = lean_ctor_get(x_86, 1); +lean_inc(x_117); +if (lean_is_exclusive(x_86)) { + lean_ctor_release(x_86, 0); + lean_ctor_release(x_86, 1); + x_118 = x_86; } else { - lean_dec_ref(x_77); - x_120 = lean_box(0); + lean_dec_ref(x_86); + x_118 = lean_box(0); } -if (lean_is_scalar(x_120)) { - x_121 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_118)) { + x_119 = lean_alloc_ctor(1, 2, 0); } else { - x_121 = x_120; + x_119 = x_118; } -lean_ctor_set(x_121, 0, x_118); -lean_ctor_set(x_121, 1, x_119); -return x_121; +lean_ctor_set(x_119, 0, x_116); +lean_ctor_set(x_119, 1, x_117); +return x_119; } } else { -lean_object* x_122; lean_object* x_123; lean_object* x_124; -lean_dec(x_72); +lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; +lean_dec(x_79); +lean_dec(x_75); +lean_dec(x_73); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); @@ -13729,20 +13761,32 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_122 = l_Array_empty___closed__1; -x_123 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_123, 0, x_74); -lean_ctor_set(x_123, 1, x_122); -x_124 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_124, 0, x_123); -lean_ctor_set(x_124, 1, x_73); -return x_124; +x_120 = lean_ctor_get(x_80, 0); +lean_inc(x_120); +x_121 = lean_ctor_get(x_80, 1); +lean_inc(x_121); +if (lean_is_exclusive(x_80)) { + lean_ctor_release(x_80, 0); + lean_ctor_release(x_80, 1); + x_122 = x_80; +} else { + lean_dec_ref(x_80); + x_122 = lean_box(0); } +if (lean_is_scalar(x_122)) { + x_123 = lean_alloc_ctor(1, 2, 0); +} else { + x_123 = x_122; +} +lean_ctor_set(x_123, 0, x_120); +lean_ctor_set(x_123, 1, x_121); +return x_123; } } else { -uint8_t x_125; +lean_object* x_124; lean_object* x_125; lean_object* x_126; +lean_dec(x_73); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); @@ -13751,82 +13795,104 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_125 = !lean_is_exclusive(x_18); -if (x_125 == 0) +x_124 = l_Array_empty___closed__1; +x_125 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_125, 0, x_75); +lean_ctor_set(x_125, 1, x_124); +x_126 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_126, 0, x_125); +lean_ctor_set(x_126, 1, x_74); +return x_126; +} +} +} +else +{ +uint8_t x_127; +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_127 = !lean_is_exclusive(x_18); +if (x_127 == 0) { return x_18; } else { -lean_object* x_126; lean_object* x_127; lean_object* x_128; -x_126 = lean_ctor_get(x_18, 0); -x_127 = lean_ctor_get(x_18, 1); -lean_inc(x_127); -lean_inc(x_126); +lean_object* x_128; lean_object* x_129; lean_object* x_130; +x_128 = lean_ctor_get(x_18, 0); +x_129 = lean_ctor_get(x_18, 1); +lean_inc(x_129); +lean_inc(x_128); lean_dec(x_18); -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; -} -} -} -else -{ -uint8_t x_129; lean_object* x_130; -x_129 = 0; -x_130 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault(x_2, x_3, x_129, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -if (lean_obj_tag(x_130) == 0) -{ -uint8_t x_131; -x_131 = !lean_is_exclusive(x_130); -if (x_131 == 0) -{ -lean_object* x_132; lean_object* x_133; -x_132 = lean_ctor_get(x_130, 0); -x_133 = lean_ctor_get(x_132, 0); -lean_inc(x_133); -lean_dec(x_132); -lean_ctor_set(x_130, 0, x_133); +x_130 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_130, 0, x_128); +lean_ctor_set(x_130, 1, x_129); return x_130; } +} +} else { -lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; -x_134 = lean_ctor_get(x_130, 0); -x_135 = lean_ctor_get(x_130, 1); +uint8_t x_131; lean_object* x_132; +x_131 = 0; +x_132 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault(x_2, x_3, x_131, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_132) == 0) +{ +uint8_t x_133; +x_133 = !lean_is_exclusive(x_132); +if (x_133 == 0) +{ +lean_object* x_134; lean_object* x_135; +x_134 = lean_ctor_get(x_132, 0); +x_135 = lean_ctor_get(x_134, 0); lean_inc(x_135); -lean_inc(x_134); -lean_dec(x_130); -x_136 = lean_ctor_get(x_134, 0); -lean_inc(x_136); lean_dec(x_134); -x_137 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_137, 0, x_136); -lean_ctor_set(x_137, 1, x_135); -return x_137; +lean_ctor_set(x_132, 0, x_135); +return x_132; +} +else +{ +lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; +x_136 = lean_ctor_get(x_132, 0); +x_137 = lean_ctor_get(x_132, 1); +lean_inc(x_137); +lean_inc(x_136); +lean_dec(x_132); +x_138 = lean_ctor_get(x_136, 0); +lean_inc(x_138); +lean_dec(x_136); +x_139 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_139, 0, x_138); +lean_ctor_set(x_139, 1, x_137); +return x_139; } } else { -uint8_t x_138; -x_138 = !lean_is_exclusive(x_130); -if (x_138 == 0) +uint8_t x_140; +x_140 = !lean_is_exclusive(x_132); +if (x_140 == 0) { -return x_130; +return x_132; } else { -lean_object* x_139; lean_object* x_140; lean_object* x_141; -x_139 = lean_ctor_get(x_130, 0); -x_140 = lean_ctor_get(x_130, 1); -lean_inc(x_140); -lean_inc(x_139); -lean_dec(x_130); -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; +lean_object* x_141; lean_object* x_142; lean_object* x_143; +x_141 = lean_ctor_get(x_132, 0); +x_142 = lean_ctor_get(x_132, 1); +lean_inc(x_142); +lean_inc(x_141); +lean_dec(x_132); +x_143 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_143, 0, x_141); +lean_ctor_set(x_143, 1, x_142); +return x_143; } } } @@ -13841,7 +13907,7 @@ x_13 = l_Lean_Syntax_getArg(x_1, x_12); x_14 = lean_unsigned_to_nat(4u); x_15 = l_Lean_Syntax_getArg(x_1, x_14); lean_inc(x_15); -x_16 = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___boxed), 10, 1); +x_16 = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___boxed), 10, 1); lean_closure_set(x_16, 0, x_15); x_17 = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo___lambda__2___boxed), 13, 3); lean_closure_set(x_17, 0, x_13); @@ -15566,7 +15632,7 @@ x_49 = l_Lean_Syntax_getArg(x_4, x_48); x_50 = lean_ctor_get(x_6, 1); lean_inc(x_50); lean_dec(x_6); -x_51 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAlts(x_49); +x_51 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfOptInductionAlts(x_49); lean_dec(x_49); x_52 = l_Lean_Elab_Tactic_ElimApp_evalAlts(x_2, x_50, x_51, x_19, x_5, x_41, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_47); lean_dec(x_41); @@ -17292,7 +17358,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_4415____closed__1() { +static lean_object* _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -17302,11 +17368,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_4415_(lean_object* x_1) { +lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438_(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_4415____closed__1; +x_2 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1; x_3 = l_Lean_registerTraceClass(x_2, x_1); return x_3; } @@ -17743,7 +17809,7 @@ lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; x_110 = lean_ctor_get(x_105, 1); lean_inc(x_110); lean_dec(x_105); -x_111 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4415____closed__1; +x_111 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1; x_112 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___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); @@ -17872,7 +17938,7 @@ x_66 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__ 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_4415____closed__1; +x_68 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1; x_69 = l_Lean_addTrace___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___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); @@ -17908,7 +17974,7 @@ lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean x_78 = lean_ctor_get(x_73, 1); lean_inc(x_78); lean_dec(x_73); -x_79 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4415____closed__1; +x_79 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1; x_80 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___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); @@ -17959,7 +18025,7 @@ x_99 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__ 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_4415____closed__1; +x_101 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1; x_102 = l_Lean_addTrace___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___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); @@ -18269,7 +18335,7 @@ lean_dec(x_17); x_19 = lean_ctor_get(x_3, 1); lean_inc(x_19); lean_dec(x_3); -x_20 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAlts(x_4); +x_20 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfOptInductionAlts(x_4); x_21 = lean_unsigned_to_nat(0u); x_22 = l_Array_empty___closed__1; x_23 = l_Lean_Elab_Tactic_ElimApp_evalAlts(x_5, x_19, x_20, x_6, x_21, x_22, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_18); @@ -18851,7 +18917,7 @@ lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_15 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts(x_14, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_15 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts(x_14, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); if (lean_obj_tag(x_15) == 0) { lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; @@ -19149,18 +19215,18 @@ l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generalizeVars___lamb lean_mark_persistent(l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generalizeVars___lambda__2___closed__2); l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generalizeVars___lambda__2___closed__3 = _init_l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generalizeVars___lambda__2___closed__3(); lean_mark_persistent(l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generalizeVars___lambda__2___closed__3); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__1___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__1___closed__1(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__1___closed__1); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2___closed__1(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2___closed__1); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2___closed__2(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2___closed__2); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2___closed__3 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2___closed__3(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___lambda__2___closed__3); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___closed__1(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___closed__1); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___closed__2(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAlts___spec__1___closed__2); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__1___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__1___closed__1(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__1___closed__1); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2___closed__1(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2___closed__1); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2___closed__2(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2___closed__2); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2___closed__3 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2___closed__3(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___lambda__2___closed__3); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___closed__1(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___closed__1); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___closed__2(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltsOfOptInductionAlts___spec__1___closed__2); l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__1(); lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__1); l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__2(); @@ -19232,9 +19298,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_4415____closed__1 = _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4415____closed__1(); -lean_mark_persistent(l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4415____closed__1); -res = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4415_(lean_io_mk_world()); +l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1 = _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1(); +lean_mark_persistent(l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1); +res = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438_(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/Parser/Syntax.c b/stage0/stdlib/Lean/Parser/Syntax.c index 7a107de743..97965beb7f 100644 --- a/stage0/stdlib/Lean/Parser/Syntax.c +++ b/stage0/stdlib/Lean/Parser/Syntax.c @@ -130,7 +130,6 @@ lean_object* l_Lean_Parser_Command_mixfix_formatter___closed__7; lean_object* l___regBuiltinParser_Lean_Parser_Command_elab__rules(lean_object*); lean_object* l_Lean_Parser_Syntax_paren___elambda__1___closed__5; lean_object* l_Lean_Parser_Command_macroHead; -extern lean_object* l_Lean_Parser_Term_bnot___closed__1; lean_object* l_Lean_Parser_Command_elabTail___elambda__1___closed__6; lean_object* l_Lean_Parser_Syntax_paren___closed__4; lean_object* l_Lean_Parser_Command_elab_parenthesizer___closed__10; @@ -310,7 +309,6 @@ lean_object* l_Lean_Parser_Syntax_nonReserved___closed__6; lean_object* l_Lean_Parser_precedence___elambda__1___closed__4; lean_object* l_Lean_Parser_optPrecedence; lean_object* l_Lean_Parser_Command_elab__rules___closed__10; -extern lean_object* l_Lean_Parser_Term_bnot___elambda__1___closed__6; lean_object* l_Lean_Parser_optPrecedence_formatter___closed__2; lean_object* l_Lean_Parser_Command_elab___closed__5; extern lean_object* l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__3; @@ -672,6 +670,7 @@ lean_object* l_Lean_Parser_Term_stx_quot___closed__1; lean_object* l_Lean_Parser_Command_parserKindPrio___closed__1; lean_object* l_Lean_Parser_Command_syntaxCat_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Syntax_nonReserved_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Syntax_nonReserved___closed__7; lean_object* l_Lean_Parser_Command_macroTailTactic; lean_object* l_Lean_Parser_Command_syntaxAbbrev_parenthesizer___closed__5; lean_object* l_Lean_Parser_Command_syntaxAbbrev___closed__6; @@ -724,6 +723,7 @@ lean_object* l_Lean_Parser_Command_macroTailCommand_formatter___closed__3; lean_object* l_Lean_Parser_Command_macro__rules_parenthesizer___closed__2; lean_object* l_Lean_Parser_Command_syntax_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_infix___closed__6; +lean_object* l_Lean_Parser_Syntax_nonReserved_formatter___closed__4; lean_object* l_Lean_Parser_Command_infixr___closed__3; lean_object* l_Lean_Parser_Command_elab_parenthesizer___closed__8; lean_object* l_Lean_Parser_Command_identPrec___elambda__1___closed__1; @@ -974,6 +974,7 @@ lean_object* l_Lean_Parser_Command_notationItem___elambda__1___closed__2; lean_object* l_Lean_Parser_Command_infixl_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_notation_parenthesizer___closed__5; lean_object* l___regBuiltin_Lean_Parser_Syntax_paren_formatter___closed__1; +lean_object* l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__10; lean_object* l_Lean_Parser_Syntax_atom___elambda__1___closed__2; lean_object* l_Lean_Parser_Command_notation___elambda__1___closed__4; lean_object* l_Lean_Parser_Command_infix___elambda__1___closed__2; @@ -1118,12 +1119,12 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_optional_parenthesizer(lean_obje lean_object* l_Lean_Parser_nodeFn(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_optKind_formatter___closed__2; lean_object* l_Lean_Parser_Syntax_binary_parenthesizer___closed__5; -extern lean_object* l_Lean_Parser_Term_bnot_formatter___closed__2; lean_object* l_Lean_Parser_Command_macroTailTactic___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_syntax___elambda__1___closed__8; lean_object* l_Lean_Parser_optionalFn(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_mixfixKind___closed__3; lean_object* l_Lean_Parser_Command_infixr___elambda__1___closed__1; +lean_object* l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__8; lean_object* l_Lean_Parser_Command_elab___elambda__1___closed__12; lean_object* l_Lean_Parser_Command_syntax_formatter___closed__7; lean_object* l_Lean_Parser_Command_optKind___closed__1; @@ -1174,6 +1175,7 @@ lean_object* l_Lean_Parser_mkAntiquot(lean_object*, lean_object*, uint8_t); lean_object* l_Lean_Parser_Term_stx_quot___elambda__1___closed__1; lean_object* l_Lean_Parser_Command_elab__rules___elambda__1___closed__5; lean_object* l___regBuiltin_Lean_Parser_Syntax_unary_formatter___closed__1; +lean_object* l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__9; lean_object* l_Lean_Parser_Command_macro_parenthesizer___closed__3; lean_object* l_Lean_Parser_Command_macro_formatter___closed__10; lean_object* l_Lean_Parser_Term_stx_quot___elambda__1___closed__2; @@ -4100,8 +4102,35 @@ return x_4; static lean_object* _init_l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__5() { _start: { +lean_object* x_1; +x_1 = lean_mk_string("&"); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__5; +x_2 = l_String_trim(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__6; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__8() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_bnot___elambda__1___closed__6; +x_1 = l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__7; x_2 = l_Lean_Parser_strLit___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -4109,24 +4138,24 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__6() { +static lean_object* _init_l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__2; -x_2 = l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__5; +x_2 = l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__7() { +static lean_object* _init_l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8; -x_2 = l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__6; +x_2 = l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__9; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -4140,7 +4169,7 @@ lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_3 = l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__4; x_4 = lean_ctor_get(x_3, 1); lean_inc(x_4); -x_5 = l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__7; +x_5 = l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__10; x_6 = 1; x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2); return x_7; @@ -4149,48 +4178,57 @@ return x_7; static lean_object* _init_l_Lean_Parser_Syntax_nonReserved___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_strLit; -x_2 = lean_ctor_get(x_1, 0); -lean_inc(x_2); -x_3 = l_Lean_Parser_Term_bnot___closed__1; -x_4 = l_Lean_Parser_andthenInfo(x_3, x_2); -return x_4; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__6; +x_2 = l_Lean_Parser_symbolInfo(x_1); +return x_2; } } static lean_object* _init_l_Lean_Parser_Syntax_nonReserved___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__2; -x_2 = l_Lean_Parser_Syntax_nonReserved___closed__1; -x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_strLit; +x_2 = lean_ctor_get(x_1, 0); +lean_inc(x_2); +x_3 = l_Lean_Parser_Syntax_nonReserved___closed__1; +x_4 = l_Lean_Parser_andthenInfo(x_3, x_2); +return x_4; } } static lean_object* _init_l_Lean_Parser_Syntax_nonReserved___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_epsilonInfo; +x_1 = l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__2; x_2 = l_Lean_Parser_Syntax_nonReserved___closed__2; -x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); return x_3; } } static lean_object* _init_l_Lean_Parser_Syntax_nonReserved___closed__4() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_epsilonInfo; +x_2 = l_Lean_Parser_Syntax_nonReserved___closed__3; +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Syntax_nonReserved___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_nonReserved___elambda__1___closed__4; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Syntax_nonReserved___closed__3; +x_3 = l_Lean_Parser_Syntax_nonReserved___closed__4; x_4 = l_Lean_Parser_orelseInfo(x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Syntax_nonReserved___closed__5() { +static lean_object* _init_l_Lean_Parser_Syntax_nonReserved___closed__6() { _start: { lean_object* x_1; @@ -4198,12 +4236,12 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Syntax_nonReserved___elambda__1), return x_1; } } -static lean_object* _init_l_Lean_Parser_Syntax_nonReserved___closed__6() { +static lean_object* _init_l_Lean_Parser_Syntax_nonReserved___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Syntax_nonReserved___closed__4; -x_2 = l_Lean_Parser_Syntax_nonReserved___closed__5; +x_1 = l_Lean_Parser_Syntax_nonReserved___closed__5; +x_2 = l_Lean_Parser_Syntax_nonReserved___closed__6; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); @@ -4214,7 +4252,7 @@ static lean_object* _init_l_Lean_Parser_Syntax_nonReserved() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Syntax_nonReserved___closed__6; +x_1 = l_Lean_Parser_Syntax_nonReserved___closed__7; return x_1; } } @@ -4249,8 +4287,18 @@ return x_5; static lean_object* _init_l_Lean_Parser_Syntax_nonReserved_formatter___closed__2() { _start: { +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__5; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Syntax_nonReserved_formatter___closed__3() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_bnot_formatter___closed__2; +x_1 = l_Lean_Parser_Syntax_nonReserved_formatter___closed__2; x_2 = l_Lean_Parser_Term_str_formatter___closed__1; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -4258,13 +4306,13 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Syntax_nonReserved_formatter___closed__3() { +static lean_object* _init_l_Lean_Parser_Syntax_nonReserved_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_Syntax_nonReserved___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Syntax_nonReserved_formatter___closed__2; +x_3 = l_Lean_Parser_Syntax_nonReserved_formatter___closed__3; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -4277,7 +4325,7 @@ _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_Syntax_nonReserved_formatter___closed__1; -x_7 = l_Lean_Parser_Syntax_nonReserved_formatter___closed__3; +x_7 = l_Lean_Parser_Syntax_nonReserved_formatter___closed__4; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -15274,6 +15322,12 @@ l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__6 = _init_l_Lean_Parser_ lean_mark_persistent(l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__6); l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__7 = _init_l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__7(); lean_mark_persistent(l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__7); +l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__8 = _init_l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__8(); +lean_mark_persistent(l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__8); +l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__9 = _init_l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__9(); +lean_mark_persistent(l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__9); +l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__10 = _init_l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__10(); +lean_mark_persistent(l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__10); l_Lean_Parser_Syntax_nonReserved___closed__1 = _init_l_Lean_Parser_Syntax_nonReserved___closed__1(); lean_mark_persistent(l_Lean_Parser_Syntax_nonReserved___closed__1); l_Lean_Parser_Syntax_nonReserved___closed__2 = _init_l_Lean_Parser_Syntax_nonReserved___closed__2(); @@ -15286,6 +15340,8 @@ l_Lean_Parser_Syntax_nonReserved___closed__5 = _init_l_Lean_Parser_Syntax_nonRes lean_mark_persistent(l_Lean_Parser_Syntax_nonReserved___closed__5); l_Lean_Parser_Syntax_nonReserved___closed__6 = _init_l_Lean_Parser_Syntax_nonReserved___closed__6(); lean_mark_persistent(l_Lean_Parser_Syntax_nonReserved___closed__6); +l_Lean_Parser_Syntax_nonReserved___closed__7 = _init_l_Lean_Parser_Syntax_nonReserved___closed__7(); +lean_mark_persistent(l_Lean_Parser_Syntax_nonReserved___closed__7); l_Lean_Parser_Syntax_nonReserved = _init_l_Lean_Parser_Syntax_nonReserved(); lean_mark_persistent(l_Lean_Parser_Syntax_nonReserved); res = l___regBuiltinParser_Lean_Parser_Syntax_nonReserved(lean_io_mk_world()); @@ -15297,6 +15353,8 @@ l_Lean_Parser_Syntax_nonReserved_formatter___closed__2 = _init_l_Lean_Parser_Syn lean_mark_persistent(l_Lean_Parser_Syntax_nonReserved_formatter___closed__2); l_Lean_Parser_Syntax_nonReserved_formatter___closed__3 = _init_l_Lean_Parser_Syntax_nonReserved_formatter___closed__3(); lean_mark_persistent(l_Lean_Parser_Syntax_nonReserved_formatter___closed__3); +l_Lean_Parser_Syntax_nonReserved_formatter___closed__4 = _init_l_Lean_Parser_Syntax_nonReserved_formatter___closed__4(); +lean_mark_persistent(l_Lean_Parser_Syntax_nonReserved_formatter___closed__4); l___regBuiltin_Lean_Parser_Syntax_nonReserved_formatter___closed__1 = _init_l___regBuiltin_Lean_Parser_Syntax_nonReserved_formatter___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_Syntax_nonReserved_formatter___closed__1); res = l___regBuiltin_Lean_Parser_Syntax_nonReserved_formatter(lean_io_mk_world()); diff --git a/stage0/stdlib/Lean/Parser/Tactic.c b/stage0/stdlib/Lean/Parser/Tactic.c index a0dddf248e..6c7a5fe523 100644 --- a/stage0/stdlib/Lean/Parser/Tactic.c +++ b/stage0/stdlib/Lean/Parser/Tactic.c @@ -25,7 +25,6 @@ lean_object* l_Lean_Parser_Tactic_let_x21___closed__4; lean_object* l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__3; lean_object* l_Lean_Parser_Tactic_locationWildcard_parenthesizer___closed__1; lean_object* l_Lean_Parser_Tactic_assumption_parenthesizer___closed__2; -lean_object* l_Lean_Parser_Tactic_withAlts___closed__2; extern lean_object* l_Lean_Parser_Term_tupleTail_parenthesizer___closed__2; lean_object* l_Lean_Parser_Tactic_refine___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_traceState___elambda__1___closed__7; @@ -57,6 +56,7 @@ lean_object* l_Lean_Parser_Tactic_show_formatter(lean_object*, lean_object*, lea lean_object* l_Lean_Parser_Tactic_done___elambda__1___closed__1; lean_object* l_Lean_Parser_Tactic_induction___elambda__1___closed__11; lean_object* l_Lean_Parser_Tactic_match___closed__7; +lean_object* l_Lean_Parser_Tactic_casesTarget_parenthesizer___closed__2; lean_object* l_Lean_Parser_Tactic_locationTarget_formatter___closed__2; lean_object* l_Lean_Parser_Tactic_injection_parenthesizer___closed__5; lean_object* l___regBuiltin_Lean_Parser_Tactic_match_formatter(lean_object*); @@ -78,7 +78,6 @@ lean_object* l_Lean_Parser_Tactic_rwRuleSeq___closed__6; lean_object* l_Lean_Parser_Tactic_generalize___closed__1; lean_object* l_Lean_Parser_Tactic_intro___closed__8; lean_object* l_Lean_Parser_Tactic_match; -lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__11; lean_object* l_Lean_Parser_Tactic_induction_parenthesizer___closed__6; lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1___closed__13; lean_object* l___regBuiltin_Lean_Parser_Tactic_letrec_parenthesizer___closed__1; @@ -100,6 +99,7 @@ lean_object* l_Lean_Parser_Tactic_change_parenthesizer___closed__6; lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__13; extern lean_object* l_Lean_Parser_Term_letrec_formatter___closed__7; lean_object* l_Lean_Parser_Tactic_induction_formatter___closed__10; +lean_object* l_Lean_Parser_Tactic_inductionAlts_formatter___closed__5; extern lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__5; lean_object* l_Lean_Parser_Tactic_cases_parenthesizer___closed__5; extern lean_object* l_Lean_Parser_Term_explicit___closed__2; @@ -123,7 +123,9 @@ lean_object* l_Lean_Parser_Tactic_allGoals___elambda__1(lean_object*, lean_objec lean_object* l_Lean_Parser_Tactic_locationWildcard_parenthesizer___closed__2; lean_object* l_Lean_Parser_Tactic_traceState_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_intros___elambda__1___closed__5; +lean_object* l_Lean_Parser_Tactic_casesTarget_parenthesizer___closed__1; lean_object* l_Lean_Parser_Tactic_intro___closed__9; +lean_object* l_Lean_Parser_Tactic_casesTarget___closed__6; lean_object* l_Lean_Parser_Tactic_intros___elambda__1___closed__3; lean_object* l_Lean_Parser_Tactic_change___elambda__1___closed__12; lean_object* l_Lean_Parser_Tactic_matchAlts_parenthesizer___closed__2; @@ -135,14 +137,12 @@ extern lean_object* l_Lean_Parser_Term_suffices___closed__2; extern lean_object* l_Lean_Parser_Term_explicit___elambda__1___closed__8; lean_object* l_Lean_Parser_Tactic_location___closed__7; lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1___closed__9; -lean_object* l_Lean_Parser_Tactic_majorPremise___closed__4; lean_object* l_Lean_Parser_Tactic_introMatch_parenthesizer___closed__1; lean_object* l_Lean_Parser_Tactic_generalize___closed__6; lean_object* l_Lean_Parser_Tactic_location_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2; lean_object* lean_name_mk_string(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_cases_parenthesizer___closed__7; -lean_object* l_Lean_Parser_Tactic_majorPremise___closed__1; extern lean_object* l_myMacro____x40_Init_Notation___hyg_5739____closed__7; lean_object* l_Lean_Parser_Tactic_have___closed__1; lean_object* l_Lean_Parser_Tactic_location___elambda__1___closed__2; @@ -165,7 +165,6 @@ lean_object* l_Lean_Parser_Tactic_have_formatter___closed__2; lean_object* l_Lean_Parser_Tactic_changeWith; lean_object* l_Lean_Parser_Tactic_revert___elambda__1___closed__6; lean_object* l_Lean_Parser_Tactic_case___elambda__1___closed__10; -lean_object* l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__3; lean_object* l_Lean_Parser_Tactic_paren_parenthesizer___closed__3; lean_object* l_Lean_Parser_Tactic_rwRuleSeq___closed__8; lean_object* l_Lean_Parser_Tactic_skip___closed__3; @@ -188,6 +187,7 @@ lean_object* l_Lean_Parser_Tactic_revert___closed__8; lean_object* l_Lean_Parser_Tactic_failIfSuccess___closed__1; extern lean_object* l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__2; lean_object* l_Lean_Parser_Tactic_generalizingVars___closed__5; +lean_object* l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__7; lean_object* l_Lean_Parser_Tactic_subst___elambda__1___closed__1; lean_object* l_Lean_Parser_Tactic_locationWildcard___closed__2; lean_object* l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__6; @@ -213,6 +213,7 @@ lean_object* l_Lean_Parser_Tactic_clear_parenthesizer(lean_object*, lean_object* lean_object* l___regBuiltin_Lean_Parser_Tactic_skip_parenthesizer___closed__1; lean_object* l_Lean_Parser_Tactic_intro_parenthesizer___closed__4; lean_object* l_Lean_Parser_Tactic_rwRuleSeq___closed__2; +lean_object* l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__1; extern lean_object* l_Lean_Parser_Term_match___elambda__1___closed__1; lean_object* l_Lean_Parser_Tactic_refine_x21___closed__7; lean_object* l_Lean_Parser_Tactic_refine_x21_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -227,10 +228,10 @@ lean_object* l_Lean_Parser_Tactic_rewrite___closed__6; lean_object* l_Lean_Parser_Tactic_location___closed__3; extern lean_object* l_Lean_Parser_Term_subst___elambda__1___closed__1; extern lean_object* l_Lean_Parser_Term_match___elambda__1___closed__8; -lean_object* l_Lean_Parser_Tactic_withAlts___closed__1; lean_object* l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__4; lean_object* l_Lean_Parser_Tactic_subst_parenthesizer___closed__1; extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed; +lean_object* l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__6; lean_object* l___regBuiltin_Lean_Parser_Tactic_case_parenthesizer(lean_object*); lean_object* l_Lean_Parser_Tactic_clear___closed__6; lean_object* l_Lean_Parser_Tactic_allGoals_parenthesizer___closed__3; @@ -280,6 +281,7 @@ lean_object* l_Lean_Parser_Tactic_focus___elambda__1___closed__3; lean_object* l_Lean_Parser_Tactic_letrec_parenthesizer___closed__1; lean_object* l_Lean_Parser_Tactic_allGoals___elambda__1___closed__6; extern lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__6; +lean_object* l_Lean_Parser_Tactic_casesTarget___closed__4; lean_object* l_Lean_Parser_Tactic_done_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltinParser_Lean_Parser_Tactic_unknown(lean_object*); lean_object* l_Lean_Parser_Tactic_exact___elambda__1___closed__6; @@ -316,6 +318,7 @@ lean_object* l_Lean_Parser_Tactic_traceState___elambda__1___closed__1; lean_object* l_Lean_Parser_Tactic_inductionAlt_formatter___closed__5; lean_object* l_Lean_Parser_orelseFn(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_injection___closed__4; +lean_object* l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__2; lean_object* l_Lean_Parser_Tactic_inductionAlt_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_rewrite___elambda__1___closed__5; lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__7; @@ -331,7 +334,6 @@ lean_object* l_Lean_Parser_Tactic_failIfSuccess_parenthesizer___closed__2; lean_object* l_Lean_Parser_Tactic_location_formatter___closed__5; lean_object* l_Lean_Parser_Tactic_rwRuleSeq___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_refine___closed__5; -lean_object* l_Lean_Parser_Tactic_majorPremise___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_rwRule_formatter___closed__5; lean_object* l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__1; lean_object* l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__4; @@ -430,7 +432,6 @@ lean_object* l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__6; lean_object* l_Lean_Parser_Tactic_refine___elambda__1___closed__8; lean_object* l___regBuiltin_Lean_Parser_Tactic_refine_x21_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_revert___closed__4; -lean_object* l_Lean_Parser_Tactic_majorPremise_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Tactics___hyg_31____closed__2; lean_object* l_Lean_Parser_Tactic_location___elambda__1___closed__9; @@ -438,7 +439,6 @@ lean_object* l_Lean_Parser_Tactic_ident_x27___elambda__1(lean_object*, lean_obje lean_object* l_Lean_Parser_Tactic_rwRule___closed__6; lean_object* l___regBuiltin_Lean_Parser_Tactic_generalize_formatter(lean_object*); lean_object* l_Lean_Parser_Tactic_nestedTactic_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_Tactic_majorPremise_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_location___closed__5; lean_object* l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_refine_x21_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -501,7 +501,6 @@ lean_object* l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__3; lean_object* l_Lean_Parser_Tactic_changeWith_parenthesizer___closed__5; lean_object* l_Lean_Parser_Tactic_case___closed__4; lean_object* l___regBuiltin_Lean_Parser_Tactic_generalize_formatter___closed__1; -lean_object* l_Lean_Parser_Tactic_majorPremise_formatter___closed__3; lean_object* l_Lean_Parser_Tactic_traceState_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_rwRule_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_matchAlts___elambda__1___closed__4; @@ -529,6 +528,7 @@ lean_object* l_Lean_Parser_registerAliasCore___rarg(lean_object*, lean_object*, lean_object* l_Lean_Parser_Tactic_have___elambda__1___closed__5; lean_object* l_Lean_Parser_Tactic_introMatch_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_locationWildcard___closed__4; +lean_object* l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__4; lean_object* l_Lean_Parser_Tactic_introMatch_parenthesizer___closed__3; lean_object* l_Lean_Parser_Tactic_intro_parenthesizer___closed__2; lean_object* l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__5; @@ -567,6 +567,7 @@ lean_object* l_Lean_Parser_Tactic_intros___elambda__1(lean_object*, lean_object* extern lean_object* l_Lean_Parser_Term_let___closed__2; lean_object* l_Lean_Parser_Tactic_cases___elambda__1___closed__1; lean_object* l_Lean_Parser_Tactic_subst___closed__2; +lean_object* l_Lean_Parser_Tactic_inductionAlts___closed__7; lean_object* l_Lean_Parser_Tactic_rewrite; lean_object* l___regBuiltin_Lean_Parser_Tactic_injection_parenthesizer(lean_object*); lean_object* l_Lean_Parser_Tactic_refine_x21_formatter___closed__2; @@ -583,9 +584,11 @@ lean_object* l_Lean_Parser_Tactic_failIfSuccess___closed__7; lean_object* l_Lean_Parser_Tactic_withIds_formatter___closed__2; extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4; lean_object* l_Lean_Parser_Tactic_inductionAlts___elambda__1(lean_object*, lean_object*); +lean_object* l_Lean_Parser_Tactic_casesTarget_parenthesizer___closed__3; lean_object* l_Lean_Parser_Tactic_failIfSuccess_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_cases___closed__9; lean_object* l_Lean_Parser_Tactic_focus___elambda__1___closed__6; +lean_object* l_Lean_Parser_Tactic_induction___closed__11; lean_object* l_Lean_Parser_Tactic_traceState___closed__5; lean_object* l___regBuiltin_Lean_Parser_Tactic_injection_parenthesizer___closed__1; extern lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__5; @@ -594,7 +597,6 @@ lean_object* l_Lean_Parser_Tactic_refine_formatter___closed__2; lean_object* l_Lean_Parser_Tactic_failIfSuccess_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_generalize_parenthesizer___closed__8; lean_object* l_Lean_Parser_Tactic_location_formatter___closed__6; -lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__10; lean_object* l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__2; lean_object* l_Lean_Parser_Tactic_location___closed__6; lean_object* l_Lean_Parser_Tactic_clear___closed__3; @@ -614,9 +616,9 @@ lean_object* l_Lean_Parser_Tactic_assumption___elambda__1___closed__4; lean_object* l_Lean_Parser_Tactic_skip___elambda__1___closed__3; lean_object* l_Lean_Parser_Tactic_refine_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_locationTarget___closed__6; +lean_object* l_Lean_Parser_Tactic_inductionAlt_formatter___closed__6; lean_object* l_Lean_Parser_Tactic_case___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_locationHyp___closed__3; -lean_object* l_Lean_Parser_Tactic_majorPremise_formatter___closed__2; extern lean_object* l_Lean_Parser_Term_structInst_formatter___closed__2; lean_object* l_Lean_Parser_Tactic_apply_parenthesizer___closed__2; lean_object* l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__7; @@ -636,6 +638,7 @@ lean_object* l_Lean_Parser_Tactic_failIfSuccess___closed__5; lean_object* l_Lean_Parser_Tactic_matchAlts_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_generalizingVars___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_unknown___elambda__1___closed__6; +lean_object* l_Lean_Parser_Tactic_casesTarget_formatter___closed__2; lean_object* l_Lean_Parser_Tactic_traceState___closed__3; extern lean_object* l_Lean_Parser_Term_suffices___elambda__1___closed__1; lean_object* l_Lean_Parser_Tactic_introMatch___closed__5; @@ -648,6 +651,7 @@ lean_object* l_Lean_Parser_Tactic_location___elambda__1___closed__3; lean_object* l_Lean_Parser_Tactic_clear___elambda__1___closed__10; lean_object* l___regBuiltin_Lean_Parser_Tactic_revert_formatter___closed__1; extern lean_object* l_myMacro____x40_Init_Tactics___hyg_726____closed__12; +lean_object* l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__11; lean_object* l_Lean_Parser_Tactic_injection___elambda__1___closed__5; lean_object* l_Lean_Parser_Tactic_traceState_formatter___closed__3; lean_object* l_Lean_Parser_Tactic_refine___closed__3; @@ -661,7 +665,6 @@ lean_object* l_Lean_Parser_Tactic_cases; lean_object* l_Lean_Parser_Tactic_introMatch___elambda__1___closed__2; lean_object* l___regBuiltin_Lean_Parser_Tactic_exact_parenthesizer(lean_object*); lean_object* l___regBuiltinParser_Lean_Parser_Tactic_case(lean_object*); -lean_object* l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__6; lean_object* l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__3; lean_object* l_Lean_Parser_Tactic_ident_x27___closed__2; lean_object* l___regBuiltin_Lean_Parser_Tactic_change_parenthesizer___closed__1; @@ -674,6 +677,7 @@ lean_object* l_Lean_Parser_Tactic_subst___closed__6; lean_object* l_Lean_Parser_Tactic_refine___elambda__1___closed__5; lean_object* l_Lean_Parser_Tactic_case___elambda__1___closed__5; lean_object* l_Lean_Parser_nodeInfo(lean_object*, lean_object*); +lean_object* l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__6; lean_object* l_Lean_Parser_Tactic_allGoals___elambda__1___closed__5; lean_object* l_Lean_Parser_Tactic_introMatch___closed__6; lean_object* l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__7; @@ -682,6 +686,7 @@ lean_object* l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__1; lean_object* l_Lean_Parser_Tactic_unknown___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_let_formatter___closed__2; lean_object* l_Lean_Parser_Tactic_assumption___closed__1; +lean_object* l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__5; lean_object* l_Lean_Parser_Tactic_generalize___closed__12; lean_object* l___regBuiltin_Lean_Parser_Tactic_skip_formatter(lean_object*); lean_object* l_Lean_Parser_Tactic_location___elambda__1___closed__5; @@ -694,7 +699,6 @@ lean_object* l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__5; lean_object* l_Lean_Parser_Tactic_locationHyp___closed__5; lean_object* l_Lean_Parser_Tactic_show___closed__6; lean_object* l_Lean_Parser_Tactic_location_formatter___closed__1; -lean_object* l_Lean_Parser_Tactic_withAlts_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_matchAlts___elambda__1___closed__7; lean_object* l_Lean_Parser_Tactic_rwRule_parenthesizer___closed__3; lean_object* l_Lean_Parser_Tactic_paren_formatter___closed__1; @@ -737,7 +741,6 @@ lean_object* l_Lean_Parser_Tactic_introMatch___elambda__1___closed__5; lean_object* l_Lean_Parser_Tactic_usingRec___elambda__1___closed__3; lean_object* l_Lean_Parser_Tactic_match___elambda__1___closed__2; lean_object* l_Lean_Parser_Tactic_traceState___closed__2; -lean_object* l_Lean_Parser_nodeWithAntiquot_formatter(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_ident_x27___closed__3; lean_object* l_Lean_Parser_Tactic_locationWildcard_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_location___closed__1; @@ -761,11 +764,9 @@ lean_object* l___regBuiltin_Lean_Parser_Tactic_cases_formatter(lean_object*); lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__6; lean_object* l_Lean_Parser_Tactic_case_formatter___closed__2; lean_object* l_Lean_Parser_Tactic_intros___closed__2; -lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__12; lean_object* l_Lean_Parser_Tactic_let_x21___closed__2; lean_object* l_Lean_Parser_Tactic_changeWith_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_matchAlt___closed__1; -lean_object* l_Lean_Parser_Tactic_majorPremise_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_focus___closed__6; lean_object* l_Lean_Parser_Tactic_generalize_formatter___closed__10; lean_object* l_Lean_Parser_Tactic_changeWith___closed__1; @@ -780,6 +781,7 @@ lean_object* l_Lean_Parser_Tactic_locationHyp_formatter___closed__1; lean_object* l_Lean_Parser_optionaInfo(lean_object*); lean_object* l_Lean_Parser_Tactic_cases___closed__2; lean_object* l_Lean_PrettyPrinter_Parenthesizer_sepBy1_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__10; lean_object* l_Lean_Parser_Tactic_generalize___elambda__1(lean_object*, lean_object*); extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2392____closed__30; lean_object* l___regBuiltin_Lean_Parser_Tactic_suffices_parenthesizer(lean_object*); @@ -808,6 +810,8 @@ lean_object* l_Lean_Parser_Tactic_withIds___closed__4; lean_object* l___regBuiltinParser_Lean_Parser_Tactic_apply(lean_object*); lean_object* l_Lean_Parser_Tactic_cases___elambda__1___closed__2; lean_object* l_Lean_Parser_Tactic_have_formatter___closed__1; +lean_object* l_Lean_Parser_Tactic_casesTarget_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__10; lean_object* l_Lean_Parser_Tactic_failIfSuccess_formatter___closed__3; lean_object* l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__4; lean_object* l_Lean_Parser_Tactic_introMatch___closed__2; @@ -855,7 +859,9 @@ lean_object* l_Lean_Parser_Tactic_match___closed__6; lean_object* l_Lean_Parser_Tactic_induction_parenthesizer___closed__2; lean_object* l_Lean_Parser_Tactic_cases_formatter___closed__2; lean_object* l___regBuiltin_Lean_Parser_Tactic_introMatch_parenthesizer___closed__1; +lean_object* l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__3; lean_object* l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__6; +lean_object* l_Lean_Parser_Tactic_casesTarget___closed__1; lean_object* l___regBuiltin_Lean_Parser_Tactic_nestedTactic_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_changeWith___closed__4; lean_object* l___regBuiltin_Lean_Parser_Tactic_case_formatter(lean_object*); @@ -864,7 +870,6 @@ lean_object* l_Lean_Parser_Tactic_letrec___closed__1; lean_object* l_Lean_Parser_Tactic_match_parenthesizer___closed__5; lean_object* l_Lean_Parser_Tactic_suffices_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_intro_formatter___closed__4; -lean_object* l_Lean_Parser_Tactic_majorPremise___closed__3; lean_object* l_Lean_Parser_Tactic_introMatch_formatter___closed__3; lean_object* l_Lean_Parser_Tactic_rwRuleSeq_parenthesizer___closed__2; extern lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_parenthesizer___closed__1; @@ -891,7 +896,6 @@ lean_object* l_Lean_Parser_Tactic_apply___elambda__1___closed__7; lean_object* l_Lean_Parser_Tactic_intro_formatter___closed__2; lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__10; lean_object* l_Lean_Parser_Tactic_rewriteSeq_formatter___closed__1; -lean_object* l_Lean_Parser_Tactic_majorPremise___closed__5; extern lean_object* l_Lean_Parser_Term_explicit_parenthesizer___closed__2; lean_object* l_Lean_Parser_Tactic_let___closed__1; lean_object* l_Lean_Parser_Tactic_cases_formatter___closed__4; @@ -948,6 +952,7 @@ extern lean_object* l_Lean_PrettyPrinter_formatterAttribute; lean_object* l_Lean_Parser_Tactic_match___closed__8; lean_object* l_Lean_Parser_Tactic_cases___elambda__1___closed__6; lean_object* l_Lean_Parser_Tactic_clear___elambda__1___closed__4; +lean_object* l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__4; lean_object* l_Lean_Parser_Tactic_changeWith___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_skip___elambda__1___closed__2; lean_object* l_Lean_Parser_Tactic_induction___closed__10; @@ -960,7 +965,6 @@ lean_object* l_Lean_Parser_Tactic_paren___closed__3; lean_object* l_Lean_Parser_Tactic_focus___elambda__1___closed__8; lean_object* l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__2; lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__3; -lean_object* l_Lean_Parser_Tactic_majorPremise___closed__2; lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__8; lean_object* l_Lean_Parser_Tactic_done___elambda__1___closed__7; lean_object* l_Lean_Parser_Tactic_show_parenthesizer___closed__2; @@ -970,14 +974,15 @@ lean_object* l_Lean_Parser_Tactic_intro___closed__7; extern lean_object* l_Lean_Parser_Term_simpleBinder_formatter___closed__2; lean_object* l_Lean_Parser_Tactic_location_parenthesizer___closed__4; lean_object* l_Lean_Parser_Tactic_induction___elambda__1___closed__5; -lean_object* l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2; lean_object* l_Lean_Parser_Tactic_suffices___closed__1; lean_object* l_Lean_Parser_Tactic_exact___elambda__1___closed__5; lean_object* l_Lean_Parser_Tactic_inductionAlt_formatter___closed__3; lean_object* l_Lean_Parser_Tactic_case_parenthesizer___closed__2; +lean_object* l_Lean_Parser_Tactic_inductionAlts_formatter___closed__8; lean_object* l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__3; lean_object* l_Lean_Parser_Tactic_show; lean_object* l_Lean_Parser_tacticParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Tactic_induction___elambda__1___closed__14; lean_object* l_Lean_Parser_Tactic_injection___closed__3; lean_object* l_Lean_Parser_Tactic_change___elambda__1___closed__6; lean_object* l_Lean_Parser_Tactic_clear___elambda__1___closed__9; @@ -999,6 +1004,7 @@ lean_object* l_Lean_Parser_Tactic_apply___elambda__1___closed__3; lean_object* l_Lean_Parser_Tactic_generalize_parenthesizer___closed__2; lean_object* l_Lean_Parser_Tactic_allGoals___elambda__1___closed__10; lean_object* l_Lean_Parser_Tactic_paren_formatter___closed__3; +lean_object* l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__8; lean_object* l_Lean_Parser_Tactic_focus___elambda__1___closed__4; lean_object* l_Lean_Parser_Tactic_refine___elambda__1___closed__7; lean_object* l___regBuiltin_Lean_Parser_Tactic_failIfSuccess_parenthesizer___closed__1; @@ -1070,6 +1076,7 @@ lean_object* l_Lean_Parser_Tactic_usingRec_parenthesizer(lean_object*, lean_obje lean_object* l_Lean_Parser_Tactic_focus_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_paren_parenthesizer___closed__4; lean_object* l_Lean_Parser_Tactic_subst_formatter___closed__2; +lean_object* l_Lean_Parser_Tactic_inductionAlt_formatter___closed__7; lean_object* l_Lean_Parser_Tactic_paren___elambda__1___closed__2; lean_object* l_Lean_Parser_Tactic_refine_x21___closed__1; lean_object* l_Lean_Parser_Tactic_unknown_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1089,8 +1096,9 @@ lean_object* l_Lean_Parser_Tactic_revert_formatter___closed__4; lean_object* l_Lean_Parser_Tactic_inductionAlts___closed__6; lean_object* l_Lean_Parser_Tactic_withIds_parenthesizer___closed__2; lean_object* l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__2; -lean_object* l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__7; lean_object* l_Lean_Parser_Tactic_subst_formatter___closed__1; +lean_object* l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__9; +lean_object* l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__6; lean_object* l_Lean_Parser_Tactic_case___closed__5; lean_object* l_Lean_Parser_Tactic_orelse___elambda__1___closed__2; lean_object* l_Lean_Parser_Tactic_done___elambda__1___closed__5; @@ -1137,13 +1145,16 @@ lean_object* l_Lean_Parser_Tactic_rewrite___elambda__1(lean_object*, lean_object lean_object* l_Lean_Parser_Tactic_matchAlt_parenthesizer___closed__1; lean_object* l_Lean_Parser_Tactic_unknown_formatter___closed__4; lean_object* l_Lean_Parser_Tactic_cases___elambda__1___closed__5; +lean_object* l_Lean_Parser_Tactic_casesTarget_formatter___closed__3; lean_object* l_Lean_PrettyPrinter_Formatter_many1_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_change___closed__6; lean_object* l___regBuiltin_Lean_Parser_Tactic_cases_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_refine_x21; lean_object* l_Lean_Parser_sepBy1Info(lean_object*, lean_object*); -lean_object* l_Lean_Parser_Tactic_withAlts_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltinParser_Lean_Parser_Tactic_match(lean_object*); +lean_object* l_Lean_Parser_Tactic_inductionAlts___elambda__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Tactic_casesTarget___closed__3; +lean_object* l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__3; lean_object* l_Lean_Parser_Tactic_usingRec___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_matchAlts___elambda__1___closed__6; lean_object* l_Lean_Parser_Tactic_clear_formatter___closed__3; @@ -1166,17 +1177,16 @@ lean_object* l_Lean_Parser_Tactic_induction___elambda__1___closed__6; lean_object* l___regBuiltin_Lean_Parser_Tactic_refine_formatter(lean_object*); lean_object* l_Lean_Parser_Tactic_intros___closed__9; lean_object* l_Lean_Parser_Tactic_withIds___elambda__1(lean_object*, lean_object*); +lean_object* l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__6; lean_object* l_Lean_Parser_Tactic_location___closed__9; extern lean_object* l_Lean_Parser_Term_let_formatter___closed__4; lean_object* l_Lean_Parser_Tactic_case_parenthesizer___closed__1; -lean_object* l_Lean_Parser_nodeWithAntiquot_parenthesizer___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_injection___elambda__1___closed__1; lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__7; lean_object* l_Lean_Parser_Tactic_match___closed__1; lean_object* l_Lean_Parser_Tactic_show___closed__5; lean_object* l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__8; lean_object* l_Lean_Parser_Tactic_induction_parenthesizer___closed__4; -lean_object* l_Lean_Parser_nodeWithAntiquot(lean_object*, lean_object*, lean_object*, uint8_t); lean_object* l_Lean_Parser_Tactic_locationWildcard_formatter___closed__1; lean_object* l___regBuiltinParser_Lean_Parser_Tactic_refine_x21(lean_object*); lean_object* l_Lean_Parser_Tactic_assumption___elambda__1___closed__8; @@ -1221,7 +1231,6 @@ lean_object* l_Lean_Parser_Tactic_cases___elambda__1___closed__9; lean_object* l_Lean_Parser_Tactic_focus_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_show___closed__3; lean_object* l_Lean_Parser_Tactic_location_formatter___closed__2; -lean_object* l_Lean_Parser_Tactic_majorPremise___closed__6; lean_object* l_Lean_Parser_Tactic_revert___elambda__1(lean_object*, lean_object*); extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1882____closed__23; extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__3; @@ -1259,11 +1268,11 @@ lean_object* l_Lean_Parser_Tactic_induction___closed__6; lean_object* l_Lean_Parser_Tactic_subst_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__17; lean_object* l_Lean_Parser_Tactic_letrec___closed__2; +lean_object* l_Lean_Parser_Tactic_inductionAlts_formatter___closed__6; extern lean_object* l___kind_tactic____x40_Init_Tactics___hyg_693____closed__5; lean_object* l_Lean_Parser_Tactic_orelse_formatter___closed__2; lean_object* l_Lean_Parser_Tactic_skip_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_introMatch_formatter___closed__2; -lean_object* l_Lean_Parser_Tactic_withAlts___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_match_parenthesizer___closed__6; lean_object* l_Lean_Parser_Tactic_altRHS_formatter___closed__1; lean_object* l___regBuiltinParser_Lean_Parser_Tactic_cases(lean_object*); @@ -1271,7 +1280,6 @@ lean_object* l_Lean_Parser_Tactic_match___elambda__1___closed__4; lean_object* l_Lean_Parser_Tactic_let_x21___elambda__1___closed__6; lean_object* l_Lean_Parser_Tactic_assumption_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_apply_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_Tactic_withAlts; lean_object* l___regBuiltin_Lean_Parser_Tactic_unknown_parenthesizer___closed__1; lean_object* l_Lean_Parser_Tactic_apply___closed__7; lean_object* l___regBuiltin_Lean_Parser_Tactic_subst_parenthesizer(lean_object*); @@ -1279,6 +1287,7 @@ lean_object* l_Lean_Parser_Tactic_location_parenthesizer___closed__5; extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6; lean_object* l_Lean_Parser_Tactic_refine___closed__4; lean_object* l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__4; +lean_object* l_Lean_Parser_Tactic_casesTarget___closed__5; lean_object* l___regBuiltin_Lean_Parser_Tactic_exact_formatter___closed__1; lean_object* l_Lean_Parser_categoryParser(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_exact; @@ -1297,18 +1306,20 @@ lean_object* l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__10; lean_object* l_Lean_Parser_Tactic_injection___elambda__1___closed__6; extern lean_object* l_Lean_Parser_Term_matchAlts_formatter___closed__4; lean_object* l_Lean_Parser_Tactic_intros_parenthesizer___closed__1; -lean_object* l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__1; lean_object* l_Lean_Parser_Tactic_suffices_formatter___closed__2; lean_object* l_Lean_Parser_Tactic_injection_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_revert_formatter___closed__5; lean_object* l_Lean_Parser_Tactic_change_formatter___closed__6; lean_object* l_Lean_Parser_Tactic_revert_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Tactic_induction_formatter___closed__11; lean_object* l_Lean_Parser_Tactic_traceState_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_generalize_formatter___closed__3; lean_object* l_Lean_Parser_Tactic_revert___closed__7; lean_object* l___regBuiltinParser_Lean_Parser_Tactic_letrec(lean_object*); +lean_object* l_Lean_Parser_Tactic_casesTarget___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_matchAlt_parenthesizer___closed__3; lean_object* l_Lean_Parser_Tactic_allGoals___closed__5; +lean_object* l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__5; lean_object* l_Lean_Parser_Tactic_match_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_paren___closed__6; lean_object* l_Lean_Parser_Tactic_generalize_formatter___closed__5; @@ -1320,6 +1331,7 @@ lean_object* l_Lean_Parser_Tactic_skip___elambda__1___closed__4; lean_object* l_Lean_Parser_Tactic_show_formatter___closed__3; lean_object* l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__1; lean_object* l_Lean_Parser_Tactic_rwRule_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__4; lean_object* l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__7; lean_object* l_Lean_Parser_Tactic_cases_parenthesizer___closed__1; extern lean_object* l_Lean_Parser_darrow___closed__2; @@ -1327,6 +1339,7 @@ lean_object* l_Lean_Parser_Tactic_failIfSuccess___closed__4; lean_object* l_Lean_Parser_Tactic_assumption_formatter___closed__2; extern lean_object* l_Lean_Parser_Term_letrec___elambda__1___closed__1; lean_object* l_Lean_Parser_Tactic_locationHyp___closed__4; +lean_object* l_Lean_Parser_Tactic_casesTarget_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_matchAlt_formatter___closed__3; lean_object* l_Lean_Parser_Tactic_usingRec_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_paren___elambda__1___closed__4; @@ -1340,6 +1353,7 @@ lean_object* l_Lean_Parser_Tactic_case___closed__9; lean_object* l_Lean_Parser_symbolInfo(lean_object*); lean_object* l_Lean_Parser_Tactic_show___closed__2; lean_object* l_Lean_Parser_Tactic_generalize_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Tactic_induction_parenthesizer___closed__10; extern lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_refine_x21___closed__2; lean_object* l_Lean_Parser_Tactic_induction___elambda__1___closed__12; @@ -1369,13 +1383,13 @@ lean_object* l_Lean_Parser_Tactic_assumption___closed__3; lean_object* l_Lean_Parser_Tactic_done___closed__1; lean_object* l_Lean_Parser_Tactic_locationWildcard___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_case___elambda__1___closed__7; +lean_object* l_Lean_Parser_Tactic_inductionAlts___elambda__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Parser_Tactic_show_parenthesizer(lean_object*); lean_object* l_Lean_Parser_Tactic_unknown_parenthesizer___closed__2; lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1___closed__11; extern lean_object* l_Lean_Parser_Term_typeAscription___closed__1; lean_object* l___regBuiltin_Lean_Parser_Tactic_changeWith_formatter(lean_object*); lean_object* l_Lean_Parser_Tactic_case_formatter___closed__5; -lean_object* l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__4; lean_object* l___regBuiltin_Lean_Parser_Tactic_focus_formatter(lean_object*); lean_object* l_Lean_Parser_Tactic_locationTarget___closed__5; lean_object* l_Lean_Parser_categoryParser___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*); @@ -1397,7 +1411,6 @@ extern lean_object* l_Lean_Parser_Term_let___elambda__1___closed__4; lean_object* l_Lean_Parser_Tactic_case___closed__2; lean_object* l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__2; extern lean_object* l_Lean_Parser_Term_depArrow_parenthesizer___closed__3; -lean_object* l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__2; lean_object* l___regBuiltin_Lean_Parser_Tactic_allGoals_parenthesizer___closed__1; lean_object* l_Lean_Parser_Tactic_change_parenthesizer___closed__1; lean_object* l_Lean_Parser_Tactic_generalize_formatter___closed__7; @@ -1428,7 +1441,6 @@ lean_object* l_Lean_Parser_Tactic_done; lean_object* l_Lean_Parser_Tactic_show_formatter___closed__2; lean_object* l___regBuiltin_Lean_Parser_Tactic_revert_parenthesizer___closed__1; lean_object* l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__5; -lean_object* l_Lean_Parser_Tactic_withAlts_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_intros; lean_object* l_Lean_Parser_Tactic_rewriteSeq___closed__3; lean_object* l_Lean_Parser_Tactic_matchAlt_formatter___closed__2; @@ -1451,6 +1463,7 @@ lean_object* l_Lean_Parser_Tactic_case___closed__7; extern lean_object* l_Lean_Parser_Term_hole; lean_object* l_Lean_Parser_Tactic_changeWith___elambda__1___closed__5; lean_object* l_Lean_Parser_Tactic_case_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Tactic_inductionAlts___closed__9; lean_object* l_Lean_Parser_Tactic_revert___elambda__1___closed__11; extern lean_object* l___regBuiltin_Lean_Parser_Term_hole_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_exact___closed__4; @@ -1489,6 +1502,7 @@ lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1___closed__5; lean_object* l___regBuiltinParser_Lean_Parser_Tactic_assumption(lean_object*); lean_object* l_Lean_Parser_optionalFn(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_show___closed__1; +lean_object* l_Lean_Parser_Tactic_casesTarget_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_letrec_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_induction_parenthesizer___closed__9; lean_object* l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__2; @@ -1500,6 +1514,7 @@ lean_object* l_Lean_Parser_Tactic_show___elambda__1___closed__1; lean_object* l_Lean_Parser_Tactic_generalize_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_change___elambda__1___closed__9; extern lean_object* l_Lean_Parser_Term_let_parenthesizer___closed__3; +lean_object* l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__5; lean_object* l___regBuiltin_Lean_Parser_Tactic_refine_parenthesizer___closed__1; lean_object* l_Lean_Parser_Tactic_letrec_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_injection_formatter___closed__4; @@ -1508,6 +1523,7 @@ lean_object* l_Lean_Parser_Tactic_case_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_induction_formatter___closed__4; lean_object* l_Lean_Parser_Tactic_rewrite___elambda__1___closed__8; extern lean_object* l_Lean_Parser_Term_matchAlt___closed__1; +lean_object* l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__7; lean_object* l_Lean_Parser_Tactic_unknown___closed__6; lean_object* l_Lean_Parser_Tactic_induction___closed__4; extern lean_object* l_Lean_Parser_Term_tupleTail_formatter___closed__2; @@ -1555,7 +1571,6 @@ lean_object* l_Lean_Parser_Tactic_changeWith___closed__3; lean_object* l_Lean_Parser_Tactic_cases___elambda__1___closed__11; lean_object* l___regBuiltin_Lean_Parser_Tactic_intros_formatter(lean_object*); lean_object* l___regBuiltin_Lean_Parser_Tactic_apply_formatter(lean_object*); -lean_object* l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__1; lean_object* l_Lean_Parser_mkAntiquot(lean_object*, lean_object*, uint8_t); lean_object* l_Lean_Parser_Tactic_suffices_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_induction_parenthesizer___closed__8; @@ -1612,6 +1627,7 @@ lean_object* l_Lean_Parser_Tactic_location_parenthesizer___closed__6; lean_object* l_Lean_Parser_Tactic_change___elambda__1___closed__1; lean_object* l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_clear_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__7; lean_object* l_Lean_Parser_Tactic_rewriteSeq___closed__7; lean_object* l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__5; lean_object* l_Lean_Parser_Tactic_cases_formatter___closed__5; @@ -1621,7 +1637,6 @@ lean_object* l_Lean_Parser_Tactic_inductionAlts___closed__4; lean_object* l_Lean_Parser_Tactic_match___elambda__1___closed__10; lean_object* l_Lean_Parser_Tactic_injection___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_generalizingVars___closed__3; -lean_object* l_Lean_Parser_Tactic_withAlts_parenthesizer___closed__1; lean_object* l___regBuiltin_Lean_Parser_Tactic_match_parenthesizer___closed__1; lean_object* l_Lean_Parser_Tactic_done_parenthesizer___closed__2; lean_object* l_Lean_Parser_Tactic_exact___elambda__1___closed__3; @@ -1645,7 +1660,6 @@ lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1(lean_object*, lean_object* lean_object* l_Lean_Parser_Tactic_generalize_formatter___closed__2; lean_object* l_Lean_Parser_Tactic_cases_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_intro___closed__3; -lean_object* l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__3; lean_object* l_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_rewriteSeq___closed__4; lean_object* l_Lean_Parser_Tactic_intros___elambda__1___closed__2; @@ -1664,6 +1678,7 @@ lean_object* l_Lean_Parser_Tactic_let_x21_parenthesizer(lean_object*, lean_objec lean_object* l_Lean_Parser_Tactic_orelse___closed__6; lean_object* l_Lean_Parser_Tactic_intro___closed__5; lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__1; +lean_object* l_Lean_Parser_Tactic_inductionAlts___closed__8; lean_object* l_Lean_Parser_Tactic_matchAlts_formatter___closed__3; lean_object* l_Lean_Parser_Tactic_exact___elambda__1___closed__7; lean_object* l_Lean_Parser_Tactic_inductionAlts_formatter___closed__3; @@ -1671,6 +1686,7 @@ lean_object* l_Lean_Parser_Tactic_rewriteSeq_parenthesizer___closed__2; lean_object* l_Lean_Parser_Tactic_allGoals_formatter___closed__4; lean_object* l___regBuiltinParser_Lean_Parser_Tactic_skip(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_many1_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Tactic_casesTarget; extern lean_object* l___kind_term____x40_Init_Notation___hyg_3____closed__16; lean_object* l_Lean_Parser_Tactic_paren_formatter___closed__4; lean_object* l_Lean_Parser_Tactic_letrec___closed__3; @@ -1687,11 +1703,13 @@ lean_object* l_Lean_Parser_Tactic_let___elambda__1___closed__6; lean_object* l_Lean_Parser_Tactic_locationHyp___closed__1; lean_object* l_Lean_Parser_Tactic_ident_x27_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Parser_Tactic_suffices_formatter___closed__1; +lean_object* l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__8; lean_object* l_Lean_Parser_Tactic_skip; lean_object* l_Lean_Parser_Tactic_intros___elambda__1___closed__8; lean_object* l_Lean_Parser_Tactic_apply___elambda__1___closed__8; lean_object* l_Lean_Parser_Tactic_rwRule___closed__3; lean_object* l_Lean_Parser_Tactic_subst___elambda__1___closed__9; +lean_object* l_Lean_Parser_Tactic_casesTarget___closed__2; lean_object* l_Lean_Parser_Tactic_inductionAlt_formatter___closed__4; lean_object* l_Lean_Parser_Tactic_assumption___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_matchAlts; @@ -1702,7 +1720,6 @@ lean_object* l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__9; lean_object* l_Lean_Parser_Tactic_matchAlts___elambda__1___closed__5; lean_object* l_Lean_Parser_Tactic_refine_x21_formatter___closed__3; lean_object* l_Lean_Parser_Tactic_revert___elambda__1___closed__2; -lean_object* l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__5; lean_object* l_Lean_Parser_Tactic_match_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_refine___elambda__1___closed__2; lean_object* l_Lean_Parser_Tactic_let_x21___closed__5; @@ -1713,6 +1730,7 @@ lean_object* l_Lean_Parser_Tactic_matchAlt___closed__5; lean_object* l_Lean_Parser_Tactic_intro_formatter___closed__3; lean_object* l_Lean_Parser_Tactic_intros___elambda__1___closed__9; lean_object* l___regBuiltinParser_Lean_Parser_Tactic_orelse(lean_object*); +lean_object* l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__2; lean_object* l_Lean_Parser_Tactic_rwRuleSeq_parenthesizer___closed__3; lean_object* l_Lean_Parser_Tactic_traceState___elambda__1___closed__2; lean_object* l_Lean_Parser_Tactic_injection___elambda__1___closed__2; @@ -1731,7 +1749,9 @@ lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1___closed__10; extern lean_object* l_Lean_ppGoal___closed__3; lean_object* l_Lean_Parser_Tactic_show_formatter___closed__1; lean_object* l_Lean_Parser_Tactic_let_x21___closed__3; +lean_object* l_Lean_Parser_Tactic_inductionAlts_formatter___closed__7; lean_object* l_Lean_Parser_Tactic_focus_parenthesizer___closed__2; +lean_object* l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__1; lean_object* l_Lean_Parser_Tactic_changeWith___elambda__1___closed__9; lean_object* l_Lean_Parser_Tactic_locationHyp_parenthesizer___closed__1; lean_object* l_Lean_Parser_Tactic_matchAlts_formatter___closed__4; @@ -1744,6 +1764,7 @@ lean_object* l_Lean_Parser_Tactic_have_parenthesizer___closed__1; lean_object* l_Lean_Parser_Tactic_introMatch___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_change_formatter___closed__7; lean_object* l_Lean_Parser_Tactic_locationTarget_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__7; lean_object* l_Lean_Parser_Tactic_match_formatter___closed__5; lean_object* l_Lean_Parser_Tactic_locationTarget___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_paren; @@ -1759,6 +1780,7 @@ lean_object* l_Lean_Parser_Tactic_intros_parenthesizer(lean_object*, lean_object lean_object* l_Lean_Parser_Tactic_rewrite_parenthesizer___closed__5; lean_object* l_Lean_Parser_Tactic_refine; extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__4; +lean_object* l_Lean_Parser_Tactic_inductionAlt___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_generalize___closed__14; extern lean_object* l_myMacro____x40_Init_Tactics___hyg_31____closed__5; lean_object* l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__6; @@ -1834,14 +1856,13 @@ lean_object* l_Lean_Parser_Tactic_cases___elambda__1___closed__13; lean_object* l_Lean_Parser_Tactic_match___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_let_parenthesizer___closed__1; lean_object* l_Lean_Parser_Tactic_rewriteSeq_parenthesizer___closed__1; -lean_object* l_Lean_Parser_Tactic_withAlts___closed__3; -lean_object* l_Lean_Parser_Tactic_majorPremise; lean_object* l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__5; lean_object* l___regBuiltinParser_Lean_Parser_Tactic_injection(lean_object*); lean_object* l_Lean_Parser_Tactic_introMatch_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1___closed__3; lean_object* l_Lean_Parser_Tactic_matchAlts___closed__6; lean_object* l_Lean_Parser_Tactic_rewrite_formatter___closed__8; +lean_object* l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__9; lean_object* l_Lean_Parser_andthenFn(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Parser_Tactic_paren_formatter(lean_object*); extern lean_object* l_Lean_Parser_Term_syntheticHole; @@ -13122,7 +13143,7 @@ x_1 = l_Lean_Parser_Tactic_altRHS___closed__4; return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__1() { +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__1() { _start: { lean_object* x_1; @@ -13130,17 +13151,121 @@ x_1 = lean_mk_string("inductionAlt"); return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__2() { +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_myMacro____x40_Init_Tactics___hyg_31____closed__2; -x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__1; +x_2 = l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__3() { +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__2; +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__1; +x_2 = l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__3; +x_3 = 1; +x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_ident_x27___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyFn), 3, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_darrow___closed__2; +x_2 = l_Lean_Parser_Tactic_altRHS___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__5; +x_2 = l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Tactic_ident_x27___closed__2; +x_2 = l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__7; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__2; +x_2 = l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__8; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__10() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8; +x_2 = l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__9; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +lean_object* l_Lean_Parser_Tactic_inductionAlt___elambda__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; +x_3 = l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__4; +x_4 = lean_ctor_get(x_3, 1); +lean_inc(x_4); +x_5 = l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__10; +x_6 = 1; +x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2); +return x_7; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -13151,17 +13276,7 @@ x_3 = l_Lean_Parser_noFirstTokenInfo(x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_ident_x27___closed__2; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyFn), 3, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__5() { +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; @@ -13175,111 +13290,268 @@ x_5 = l_Lean_Parser_andthenInfo(x_2, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__6() { +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_darrow___closed__2; -x_2 = l_Lean_Parser_Tactic_altRHS___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__7() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__3; -x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__5; +x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__1; +x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__2; x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__8() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__4; -x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__6; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__9() { +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___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_ident_x27; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Tactic_inductionAlt___closed__7; +x_3 = l_Lean_Parser_Tactic_inductionAlt___closed__3; x_4 = l_Lean_Parser_andthenInfo(x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__10() { +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_ident_x27___closed__2; -x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__8; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +x_1 = l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__2; +x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__4; +x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__11() { +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_Lean_Parser_Tactic_inductionAlt___closed__9; -x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__10; +x_1 = l_Lean_Parser_epsilonInfo; +x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__5; +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +return x_3; +} +} +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_Tactic_inductionAlt___elambda__1___closed__4; +x_2 = lean_ctor_get(x_1, 0); +lean_inc(x_2); +x_3 = l_Lean_Parser_Tactic_inductionAlt___closed__6; +x_4 = l_Lean_Parser_orelseInfo(x_2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__8() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_inductionAlt___elambda__1), 2, 0); +return x_1; +} +} +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 = l_Lean_Parser_Tactic_inductionAlt___closed__7; +x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__8; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt___closed__12() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; -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__11; -x_4 = 0; -x_5 = l_Lean_Parser_nodeWithAntiquot(x_1, x_2, x_3, x_4); -return x_5; -} -} static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__12; +x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__9; return x_1; } } +lean_object* l_Lean_Parser_Tactic_inductionAlts___elambda__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +uint8_t x_5; +x_5 = !lean_is_exclusive(x_3); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_6 = lean_ctor_get(x_3, 0); +x_7 = lean_ctor_get(x_3, 4); +lean_dec(x_7); +x_8 = !lean_is_exclusive(x_6); +if (x_8 == 0) +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_9 = lean_ctor_get(x_4, 1); +lean_inc(x_9); +x_10 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_3, 4, x_10); +x_11 = l_Init_Data_Repr___instance__15___closed__1; +x_12 = lean_string_append(x_11, x_1); +x_13 = lean_string_append(x_12, x_11); +lean_inc(x_3); +x_14 = l_Lean_Parser_symbolFnAux(x_1, x_13, x_3, x_4); +x_15 = lean_ctor_get(x_14, 3); +lean_inc(x_15); +if (lean_obj_tag(x_15) == 0) +{ +uint8_t x_16; lean_object* x_17; lean_object* x_18; +x_16 = 0; +x_17 = l_Lean_Parser_Tactic_inductionAlt___closed__8; +x_18 = l_Lean_Parser_sepBy1Fn(x_16, x_17, x_2, x_3, x_14); +return x_18; +} +else +{ +lean_dec(x_15); +lean_dec(x_3); +lean_dec(x_2); +return x_14; +} +} +else +{ +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; +x_19 = lean_ctor_get(x_6, 0); +x_20 = lean_ctor_get(x_6, 1); +x_21 = lean_ctor_get(x_6, 2); +lean_inc(x_21); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_6); +x_22 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_22, 0, x_19); +lean_ctor_set(x_22, 1, x_20); +lean_ctor_set(x_22, 2, x_21); +x_23 = lean_ctor_get(x_4, 1); +lean_inc(x_23); +x_24 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_24, 0, x_23); +lean_ctor_set(x_3, 4, x_24); +lean_ctor_set(x_3, 0, x_22); +x_25 = l_Init_Data_Repr___instance__15___closed__1; +x_26 = lean_string_append(x_25, x_1); +x_27 = lean_string_append(x_26, x_25); +lean_inc(x_3); +x_28 = l_Lean_Parser_symbolFnAux(x_1, x_27, x_3, x_4); +x_29 = lean_ctor_get(x_28, 3); +lean_inc(x_29); +if (lean_obj_tag(x_29) == 0) +{ +uint8_t x_30; lean_object* x_31; lean_object* x_32; +x_30 = 0; +x_31 = l_Lean_Parser_Tactic_inductionAlt___closed__8; +x_32 = l_Lean_Parser_sepBy1Fn(x_30, x_31, x_2, x_3, x_28); +return x_32; +} +else +{ +lean_dec(x_29); +lean_dec(x_3); +lean_dec(x_2); +return x_28; +} +} +} +else +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; uint8_t x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; 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_33 = lean_ctor_get(x_3, 0); +x_34 = lean_ctor_get(x_3, 1); +x_35 = lean_ctor_get(x_3, 2); +x_36 = lean_ctor_get(x_3, 3); +x_37 = lean_ctor_get_uint8(x_3, sizeof(void*)*6); +x_38 = lean_ctor_get_uint8(x_3, sizeof(void*)*6 + 1); +x_39 = lean_ctor_get(x_3, 5); +lean_inc(x_39); +lean_inc(x_36); +lean_inc(x_35); +lean_inc(x_34); +lean_inc(x_33); +lean_dec(x_3); +x_40 = lean_ctor_get(x_33, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_33, 1); +lean_inc(x_41); +x_42 = lean_ctor_get(x_33, 2); +lean_inc(x_42); +if (lean_is_exclusive(x_33)) { + lean_ctor_release(x_33, 0); + lean_ctor_release(x_33, 1); + lean_ctor_release(x_33, 2); + x_43 = x_33; +} else { + lean_dec_ref(x_33); + x_43 = lean_box(0); +} +if (lean_is_scalar(x_43)) { + x_44 = lean_alloc_ctor(0, 3, 0); +} else { + x_44 = x_43; +} +lean_ctor_set(x_44, 0, x_40); +lean_ctor_set(x_44, 1, x_41); +lean_ctor_set(x_44, 2, x_42); +x_45 = lean_ctor_get(x_4, 1); +lean_inc(x_45); +x_46 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_46, 0, x_45); +x_47 = lean_alloc_ctor(0, 6, 2); +lean_ctor_set(x_47, 0, x_44); +lean_ctor_set(x_47, 1, x_34); +lean_ctor_set(x_47, 2, x_35); +lean_ctor_set(x_47, 3, x_36); +lean_ctor_set(x_47, 4, x_46); +lean_ctor_set(x_47, 5, x_39); +lean_ctor_set_uint8(x_47, sizeof(void*)*6, x_37); +lean_ctor_set_uint8(x_47, sizeof(void*)*6 + 1, x_38); +x_48 = l_Init_Data_Repr___instance__15___closed__1; +x_49 = lean_string_append(x_48, x_1); +x_50 = lean_string_append(x_49, x_48); +lean_inc(x_47); +x_51 = l_Lean_Parser_symbolFnAux(x_1, x_50, x_47, x_4); +x_52 = lean_ctor_get(x_51, 3); +lean_inc(x_52); +if (lean_obj_tag(x_52) == 0) +{ +uint8_t x_53; lean_object* x_54; lean_object* x_55; +x_53 = 0; +x_54 = l_Lean_Parser_Tactic_inductionAlt___closed__8; +x_55 = l_Lean_Parser_sepBy1Fn(x_53, x_54, x_2, x_47, x_51); +return x_55; +} +else +{ +lean_dec(x_52); +lean_dec(x_47); +lean_dec(x_2); +return x_51; +} +} +} +} static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string("|"); +x_1 = lean_mk_string("inductionAlts"); return x_1; } } static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__1; -x_2 = l_String_trim(x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_myMacro____x40_Init_Tactics___hyg_31____closed__2; +x_2 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; } } static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__3() { @@ -13287,213 +13559,115 @@ _start: { lean_object* x_1; lean_object* x_2; x_1 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__2; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1); -lean_closure_set(x_2, 0, x_1); +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); return x_2; } } static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__4() { _start: { +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__1; +x_2 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__3; +x_3 = 1; +x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__5() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("|"); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__5; +x_2 = l_String_trim(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__6; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__8() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_matchAlts___closed__2; -x_2 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__3; +x_2 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__7; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__5() { +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Init_Data_Repr___instance__15___closed__1; -x_2 = l_Lean_Parser_Term_matchAlts___closed__4; -x_3 = lean_string_append(x_1, x_2); +x_1 = l_Lean_Parser_Term_matchAlts___closed__4; +x_2 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__8; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_inductionAlts___elambda__1___lambda__1___boxed), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__6() { +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__5; -x_2 = l_Init_Data_Repr___instance__15___closed__1; -x_3 = lean_string_append(x_1, x_2); +x_1 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__2; +x_2 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__9; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__11() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8; +x_2 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__10; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); return x_3; } } lean_object* l_Lean_Parser_Tactic_inductionAlts___elambda__1(lean_object* x_1, lean_object* x_2) { _start: { -lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; -x_3 = l_Lean_Parser_Tactic_inductionAlt; -x_4 = lean_ctor_get(x_1, 0); +lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; +x_3 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__4; +x_4 = lean_ctor_get(x_3, 1); lean_inc(x_4); -x_5 = lean_ctor_get(x_3, 1); -lean_inc(x_5); -x_6 = !lean_is_exclusive(x_1); -if (x_6 == 0) -{ -lean_object* x_7; lean_object* x_8; uint8_t x_9; -x_7 = lean_ctor_get(x_1, 4); -lean_dec(x_7); -x_8 = lean_ctor_get(x_1, 0); -lean_dec(x_8); -x_9 = !lean_is_exclusive(x_4); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_10 = lean_ctor_get(x_2, 1); -lean_inc(x_10); -x_11 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_11, 0, x_10); -lean_ctor_set(x_1, 4, x_11); -x_12 = l_Lean_Parser_Term_matchAlts___closed__4; -x_13 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__6; -lean_inc(x_1); -x_14 = l_Lean_Parser_symbolFnAux(x_12, x_13, x_1, x_2); -x_15 = lean_ctor_get(x_14, 3); -lean_inc(x_15); -if (lean_obj_tag(x_15) == 0) -{ -uint8_t x_16; lean_object* x_17; lean_object* x_18; -x_16 = 0; -x_17 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__4; -x_18 = l_Lean_Parser_sepBy1Fn(x_16, x_5, x_17, x_1, x_14); -return x_18; -} -else -{ -lean_dec(x_15); -lean_dec(x_1); -lean_dec(x_5); -return x_14; -} -} -else -{ -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; -x_19 = lean_ctor_get(x_4, 0); -x_20 = lean_ctor_get(x_4, 1); -x_21 = lean_ctor_get(x_4, 2); -lean_inc(x_21); -lean_inc(x_20); -lean_inc(x_19); -lean_dec(x_4); -x_22 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_22, 0, x_19); -lean_ctor_set(x_22, 1, x_20); -lean_ctor_set(x_22, 2, x_21); -x_23 = lean_ctor_get(x_2, 1); -lean_inc(x_23); -x_24 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_24, 0, x_23); -lean_ctor_set(x_1, 4, x_24); -lean_ctor_set(x_1, 0, x_22); -x_25 = l_Lean_Parser_Term_matchAlts___closed__4; -x_26 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__6; -lean_inc(x_1); -x_27 = l_Lean_Parser_symbolFnAux(x_25, x_26, x_1, x_2); -x_28 = lean_ctor_get(x_27, 3); -lean_inc(x_28); -if (lean_obj_tag(x_28) == 0) -{ -uint8_t x_29; lean_object* x_30; lean_object* x_31; -x_29 = 0; -x_30 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__4; -x_31 = l_Lean_Parser_sepBy1Fn(x_29, x_5, x_30, x_1, x_27); -return x_31; -} -else -{ -lean_dec(x_28); -lean_dec(x_1); -lean_dec(x_5); -return x_27; -} -} -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; uint8_t 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; -x_32 = lean_ctor_get(x_1, 1); -x_33 = lean_ctor_get(x_1, 2); -x_34 = lean_ctor_get(x_1, 3); -x_35 = lean_ctor_get_uint8(x_1, sizeof(void*)*6); -x_36 = lean_ctor_get_uint8(x_1, sizeof(void*)*6 + 1); -x_37 = lean_ctor_get(x_1, 5); -lean_inc(x_37); -lean_inc(x_34); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_1); -x_38 = lean_ctor_get(x_4, 0); -lean_inc(x_38); -x_39 = lean_ctor_get(x_4, 1); -lean_inc(x_39); -x_40 = lean_ctor_get(x_4, 2); -lean_inc(x_40); -if (lean_is_exclusive(x_4)) { - lean_ctor_release(x_4, 0); - lean_ctor_release(x_4, 1); - lean_ctor_release(x_4, 2); - x_41 = x_4; -} else { - lean_dec_ref(x_4); - x_41 = lean_box(0); -} -if (lean_is_scalar(x_41)) { - x_42 = lean_alloc_ctor(0, 3, 0); -} else { - x_42 = x_41; -} -lean_ctor_set(x_42, 0, x_38); -lean_ctor_set(x_42, 1, x_39); -lean_ctor_set(x_42, 2, x_40); -x_43 = lean_ctor_get(x_2, 1); -lean_inc(x_43); -x_44 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_44, 0, x_43); -x_45 = lean_alloc_ctor(0, 6, 2); -lean_ctor_set(x_45, 0, x_42); -lean_ctor_set(x_45, 1, x_32); -lean_ctor_set(x_45, 2, x_33); -lean_ctor_set(x_45, 3, x_34); -lean_ctor_set(x_45, 4, x_44); -lean_ctor_set(x_45, 5, x_37); -lean_ctor_set_uint8(x_45, sizeof(void*)*6, x_35); -lean_ctor_set_uint8(x_45, sizeof(void*)*6 + 1, x_36); -x_46 = l_Lean_Parser_Term_matchAlts___closed__4; -x_47 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__6; -lean_inc(x_45); -x_48 = l_Lean_Parser_symbolFnAux(x_46, x_47, x_45, x_2); -x_49 = lean_ctor_get(x_48, 3); -lean_inc(x_49); -if (lean_obj_tag(x_49) == 0) -{ -uint8_t x_50; lean_object* x_51; lean_object* x_52; -x_50 = 0; -x_51 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__4; -x_52 = l_Lean_Parser_sepBy1Fn(x_50, x_5, x_51, x_45, x_48); -return x_52; -} -else -{ -lean_dec(x_49); -lean_dec(x_45); -lean_dec(x_5); -return x_48; -} -} +x_5 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__11; +x_6 = 1; +x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2); +return x_7; } } static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___closed__1() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__2; +x_1 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__6; x_2 = l_Lean_Parser_symbolInfo(x_1); return x_2; } @@ -13533,17 +13707,49 @@ return x_3; static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___closed__5() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_inductionAlts___elambda__1), 2, 0); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__2; +x_2 = l_Lean_Parser_Tactic_inductionAlts___closed__4; +x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); +return x_3; } } static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_inductionAlts___closed__4; +x_1 = l_Lean_Parser_epsilonInfo; x_2 = l_Lean_Parser_Tactic_inductionAlts___closed__5; +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__4; +x_2 = lean_ctor_get(x_1, 0); +lean_inc(x_2); +x_3 = l_Lean_Parser_Tactic_inductionAlts___closed__6; +x_4 = l_Lean_Parser_orelseInfo(x_2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___closed__8() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_inductionAlts___elambda__1), 2, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Tactic_inductionAlts___closed__7; +x_2 = l_Lean_Parser_Tactic_inductionAlts___closed__8; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); @@ -13554,56 +13760,17 @@ static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Tactic_inductionAlts___closed__6; +x_1 = l_Lean_Parser_Tactic_inductionAlts___closed__9; return x_1; } } -lean_object* l_Lean_Parser_Tactic_withAlts___elambda__1(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Parser_Tactic_inductionAlts___elambda__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { -lean_object* x_3; lean_object* x_4; -x_3 = l_Lean_Parser_Tactic_inductionAlts___closed__5; -x_4 = l_Lean_Parser_optionalFn(x_3, x_1, x_2); -return x_4; -} -} -static lean_object* _init_l_Lean_Parser_Tactic_withAlts___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_inductionAlts; -x_2 = lean_ctor_get(x_1, 0); -lean_inc(x_2); -x_3 = l_Lean_Parser_optionaInfo(x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Tactic_withAlts___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_withAlts___elambda__1), 2, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_Tactic_withAlts___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_withAlts___closed__1; -x_2 = l_Lean_Parser_Tactic_withAlts___closed__2; -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Tactic_withAlts() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_Parser_Tactic_withAlts___closed__3; -return x_1; +lean_object* x_5; +x_5 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___lambda__1(x_1, x_2, x_3, x_4); +lean_dec(x_1); +return x_5; } } static lean_object* _init_l_Lean_Parser_Tactic_usingRec___elambda__1___closed__1() { @@ -13897,20 +14064,18 @@ return x_2; static lean_object* _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__8() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_generalizingVars___closed__4; -x_2 = l_Lean_Parser_Tactic_withAlts___closed__2; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_inductionAlts___closed__8; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } static lean_object* _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_usingRec___closed__4; +x_1 = l_Lean_Parser_Tactic_generalizingVars___closed__4; x_2 = l_Lean_Parser_Tactic_induction___elambda__1___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -13922,7 +14087,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__7; +x_1 = l_Lean_Parser_Tactic_usingRec___closed__4; x_2 = l_Lean_Parser_Tactic_induction___elambda__1___closed__9; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -13934,7 +14099,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_induction___elambda__1___closed__7; +x_1 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__7; x_2 = l_Lean_Parser_Tactic_induction___elambda__1___closed__10; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -13946,9 +14111,9 @@ static lean_object* _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_induction___elambda__1___closed__2; +x_1 = l_Lean_Parser_Tactic_induction___elambda__1___closed__7; x_2 = l_Lean_Parser_Tactic_induction___elambda__1___closed__11; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; @@ -13958,8 +14123,20 @@ static lean_object* _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8; +x_1 = l_Lean_Parser_Tactic_induction___elambda__1___closed__2; x_2 = l_Lean_Parser_Tactic_induction___elambda__1___closed__12; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__14() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8; +x_2 = l_Lean_Parser_Tactic_induction___elambda__1___closed__13; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -13973,7 +14150,7 @@ lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_3 = l_Lean_Parser_Tactic_induction___elambda__1___closed__4; x_4 = lean_ctor_get(x_3, 1); lean_inc(x_4); -x_5 = l_Lean_Parser_Tactic_induction___elambda__1___closed__13; +x_5 = l_Lean_Parser_Tactic_induction___elambda__1___closed__14; x_6 = 1; x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2); return x_7; @@ -13992,22 +14169,19 @@ return x_3; static lean_object* _init_l_Lean_Parser_Tactic_induction___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Tactic_generalizingVars; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Tactic_inductionAlts; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Tactic_withAlts; -x_4 = lean_ctor_get(x_3, 0); -lean_inc(x_4); -x_5 = l_Lean_Parser_andthenInfo(x_2, x_4); -return x_5; +x_3 = l_Lean_Parser_optionaInfo(x_2); +return x_3; } } static lean_object* _init_l_Lean_Parser_Tactic_induction___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Tactic_usingRec; +x_1 = l_Lean_Parser_Tactic_generalizingVars; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); x_3 = l_Lean_Parser_Tactic_induction___closed__2; @@ -14018,18 +14192,20 @@ return x_4; static lean_object* _init_l_Lean_Parser_Tactic_induction___closed__4() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_matchAlt___closed__3; -x_2 = l_Lean_Parser_Tactic_induction___closed__3; -x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Tactic_usingRec; +x_2 = lean_ctor_get(x_1, 0); +lean_inc(x_2); +x_3 = l_Lean_Parser_Tactic_induction___closed__3; +x_4 = l_Lean_Parser_andthenInfo(x_2, x_3); +return x_4; } } static lean_object* _init_l_Lean_Parser_Tactic_induction___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_induction___closed__1; +x_1 = l_Lean_Parser_Term_matchAlt___closed__3; x_2 = l_Lean_Parser_Tactic_induction___closed__4; x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); return x_3; @@ -14039,9 +14215,9 @@ static lean_object* _init_l_Lean_Parser_Tactic_induction___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_induction___elambda__1___closed__2; +x_1 = l_Lean_Parser_Tactic_induction___closed__1; x_2 = l_Lean_Parser_Tactic_induction___closed__5; -x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); return x_3; } } @@ -14049,25 +14225,35 @@ static lean_object* _init_l_Lean_Parser_Tactic_induction___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_epsilonInfo; +x_1 = l_Lean_Parser_Tactic_induction___elambda__1___closed__2; x_2 = l_Lean_Parser_Tactic_induction___closed__6; -x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); return x_3; } } static lean_object* _init_l_Lean_Parser_Tactic_induction___closed__8() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_epsilonInfo; +x_2 = l_Lean_Parser_Tactic_induction___closed__7; +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_induction___closed__9() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Tactic_induction___elambda__1___closed__4; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Tactic_induction___closed__7; +x_3 = l_Lean_Parser_Tactic_induction___closed__8; x_4 = l_Lean_Parser_orelseInfo(x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Tactic_induction___closed__9() { +static lean_object* _init_l_Lean_Parser_Tactic_induction___closed__10() { _start: { lean_object* x_1; @@ -14075,12 +14261,12 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_induction___elambda__1), 2 return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_induction___closed__10() { +static lean_object* _init_l_Lean_Parser_Tactic_induction___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_induction___closed__8; -x_2 = l_Lean_Parser_Tactic_induction___closed__9; +x_1 = l_Lean_Parser_Tactic_induction___closed__9; +x_2 = l_Lean_Parser_Tactic_induction___closed__10; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); @@ -14091,7 +14277,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_induction() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Tactic_induction___closed__10; +x_1 = l_Lean_Parser_Tactic_induction___closed__11; return x_1; } } @@ -14205,6 +14391,21 @@ return x_8; static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt_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___elambda__1___closed__1; +x_2 = l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__3; +x_3 = 1; +x_4 = lean_box(x_3); +x_5 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 8, 3); +lean_closure_set(x_5, 0, x_1); +lean_closure_set(x_5, 1, x_2); +lean_closure_set(x_5, 2, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt_formatter___closed__2() { +_start: +{ lean_object* x_1; lean_object* x_2; x_1 = l_Lean_Parser_Tactic_intros_formatter___closed__3; x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_many_formatter), 6, 1); @@ -14212,7 +14413,7 @@ lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt_formatter___closed__3() { _start: { lean_object* x_1; @@ -14220,23 +14421,11 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_altRHS_formatter), 5, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt_formatter___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_matchAlt_formatter___closed__1; -x_2 = l_Lean_Parser_Tactic_inductionAlt_formatter___closed__2; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt_formatter___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_inductionAlt_formatter___closed__1; +x_1 = l_Lean_Parser_Term_matchAlt_formatter___closed__1; x_2 = l_Lean_Parser_Tactic_inductionAlt_formatter___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -14248,7 +14437,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt_formatter___closed__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_intros_formatter___closed__3; +x_1 = l_Lean_Parser_Tactic_inductionAlt_formatter___closed__2; x_2 = l_Lean_Parser_Tactic_inductionAlt_formatter___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -14256,87 +14445,145 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -lean_object* l_Lean_Parser_Tactic_inductionAlt_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; lean_object* x_10; -x_6 = l_Lean_Parser_Tactic_inductionAlt___closed__1; -x_7 = l_Lean_Parser_Tactic_inductionAlt___closed__2; -x_8 = l_Lean_Parser_Tactic_inductionAlt_formatter___closed__5; -x_9 = 0; -x_10 = l_Lean_Parser_nodeWithAntiquot_formatter(x_6, x_7, x_8, x_9, x_1, x_2, x_3, x_4, x_5); -return x_10; -} -} -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_formatter___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__1; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt_formatter___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_PrettyPrinter_Formatter_initFn____x40_Lean_PrettyPrinter_Formatter___hyg_2048____closed__32; -x_2 = l_Lean_Parser_Tactic_inductionAlts_formatter___closed__1; +x_1 = l_Lean_Parser_Tactic_intros_formatter___closed__3; +x_2 = l_Lean_Parser_Tactic_inductionAlt_formatter___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt_formatter___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Tactic_inductionAlt_formatter___closed__6; +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; +} +} +lean_object* l_Lean_Parser_Tactic_inductionAlt_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Tactic_inductionAlt_formatter___closed__1; +x_7 = l_Lean_Parser_Tactic_inductionAlt_formatter___closed__7; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_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_inductionAlts___elambda__1___closed__1; +x_2 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__3; +x_3 = 1; +x_4 = lean_box(x_3); +x_5 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 8, 3); +lean_closure_set(x_5, 0, x_1); +lean_closure_set(x_5, 1, x_2); +lean_closure_set(x_5, 2, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_formatter___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__5; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_formatter___closed__3() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_PrettyPrinter_Formatter_initFn____x40_Lean_PrettyPrinter_Formatter___hyg_2048____closed__32; +x_2 = l_Lean_Parser_Tactic_inductionAlts_formatter___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_formatter___closed__4() { +_start: +{ lean_object* x_1; x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_inductionAlt_formatter), 5, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_formatter___closed__4() { +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_formatter___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_inductionAlts_formatter___closed__3; -x_2 = l_Lean_Parser_Tactic_inductionAlts_formatter___closed__2; +x_1 = l_Lean_Parser_Tactic_inductionAlts_formatter___closed__4; +x_2 = l_Lean_Parser_Tactic_inductionAlts_formatter___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_sepBy1_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_formatter___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_matchAlts_formatter___closed__4; +x_2 = l_Lean_Parser_Tactic_inductionAlts_formatter___closed__5; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_formatter___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_inductionAlts_formatter___closed__6; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_withPosition_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_formatter___closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Tactic_inductionAlts_formatter___closed__7; +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; +} +} lean_object* l_Lean_Parser_Tactic_inductionAlts_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_matchAlts_formatter___closed__4; -x_7 = l_Lean_Parser_Tactic_inductionAlts_formatter___closed__4; -x_8 = l_Lean_PrettyPrinter_Formatter_andthen_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_Parser_Tactic_inductionAlts_formatter___closed__1; +x_7 = l_Lean_Parser_Tactic_inductionAlts_formatter___closed__8; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l_Lean_Parser_Tactic_withAlts_formatter___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_inductionAlts_formatter), 5, 0); -return x_1; -} -} -lean_object* l_Lean_Parser_Tactic_withAlts_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; -x_6 = l_Lean_Parser_Tactic_withAlts_formatter___closed__1; -x_7 = l_Lean_PrettyPrinter_Formatter_visitArgs(x_6, x_1, x_2, x_3, x_4, x_5); -return x_7; -} -} static lean_object* _init_l_Lean_Parser_Tactic_induction_formatter___closed__1() { _start: { @@ -14366,23 +14613,33 @@ static lean_object* _init_l_Lean_Parser_Tactic_induction_formatter___closed__3() _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_generalizingVars_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_inductionAlts_formatter), 5, 0); return x_1; } } static lean_object* _init_l_Lean_Parser_Tactic_induction_formatter___closed__4() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_withAlts_formatter), 5, 0); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_induction_formatter___closed__3; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_optional_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } static lean_object* _init_l_Lean_Parser_Tactic_induction_formatter___closed__5() { _start: { +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_generalizingVars_formatter), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_induction_formatter___closed__6() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_induction_formatter___closed__3; +x_1 = l_Lean_Parser_Tactic_induction_formatter___closed__5; x_2 = l_Lean_Parser_Tactic_induction_formatter___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -14390,7 +14647,7 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_induction_formatter___closed__6() { +static lean_object* _init_l_Lean_Parser_Tactic_induction_formatter___closed__7() { _start: { lean_object* x_1; @@ -14398,24 +14655,12 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_usingRec_formatter), 5, 0) return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_induction_formatter___closed__7() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_induction_formatter___closed__6; -x_2 = l_Lean_Parser_Tactic_induction_formatter___closed__5; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} static lean_object* _init_l_Lean_Parser_Tactic_induction_formatter___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_tupleTail_formatter___closed__3; -x_2 = l_Lean_Parser_Tactic_induction_formatter___closed__7; +x_1 = l_Lean_Parser_Tactic_induction_formatter___closed__7; +x_2 = l_Lean_Parser_Tactic_induction_formatter___closed__6; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -14426,7 +14671,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_induction_formatter___closed__9() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_induction_formatter___closed__2; +x_1 = l_Lean_Parser_Term_tupleTail_formatter___closed__3; x_2 = l_Lean_Parser_Tactic_induction_formatter___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -14437,10 +14682,22 @@ return x_3; static lean_object* _init_l_Lean_Parser_Tactic_induction_formatter___closed__10() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Tactic_induction_formatter___closed__2; +x_2 = l_Lean_Parser_Tactic_induction_formatter___closed__9; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_induction_formatter___closed__11() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Tactic_induction___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Tactic_induction_formatter___closed__9; +x_3 = l_Lean_Parser_Tactic_induction_formatter___closed__10; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -14453,7 +14710,7 @@ _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_Tactic_induction_formatter___closed__1; -x_7 = l_Lean_Parser_Tactic_induction_formatter___closed__10; +x_7 = l_Lean_Parser_Tactic_induction_formatter___closed__11; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -14542,6 +14799,19 @@ return x_8; static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__1() { _start: { +lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__3; +x_2 = 1; +x_3 = lean_box(x_2); +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___rarg___boxed), 7, 2); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__2() { +_start: +{ lean_object* x_1; lean_object* x_2; x_1 = l_Lean_Parser_Tactic_intros_parenthesizer___closed__2; x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer), 6, 1); @@ -14549,7 +14819,7 @@ lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__3() { _start: { lean_object* x_1; @@ -14557,23 +14827,11 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_altRHS_parenthesizer), 5, return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__1; -x_2 = l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__2; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__1; +x_1 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__1; x_2 = l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -14585,7 +14843,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt_parenthesizer___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_intros_parenthesizer___closed__2; +x_1 = l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__2; x_2 = l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -14593,30 +14851,68 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Tactic_intros_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__5; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__6; +x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; +} +} lean_object* l_Lean_Parser_Tactic_inductionAlt_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_6; lean_object* x_7; uint8_t x_8; lean_object* x_9; -x_6 = l_Lean_Parser_Tactic_inductionAlt___closed__2; -x_7 = l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__5; -x_8 = 0; -x_9 = l_Lean_Parser_nodeWithAntiquot_parenthesizer___rarg(x_6, x_7, x_8, x_1, x_2, x_3, x_4, x_5); -return x_9; +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__7; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; } } static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__1() { _start: { +lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__3; +x_2 = 1; +x_3 = lean_box(x_2); +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___rarg___boxed), 7, 2); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__2() { +_start: +{ lean_object* x_1; x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_inductionAlt_parenthesizer), 5, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__1; +x_1 = l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__2; x_2 = l_Lean_Parser_Term_matchAlts_parenthesizer___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_sepBy1_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -14624,42 +14920,50 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__3() { +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_withPosition_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__5; +x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; +} +} lean_object* l_Lean_Parser_Tactic_inductionAlts_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_6; lean_object* x_7; -x_6 = l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__3; -x_7 = l_Lean_PrettyPrinter_Parenthesizer_withPosition_parenthesizer(x_6, x_1, x_2, x_3, x_4, x_5); -return x_7; -} -} -static lean_object* _init_l_Lean_Parser_Tactic_withAlts_parenthesizer___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_inductionAlts_parenthesizer), 5, 0); -return x_1; -} -} -lean_object* l_Lean_Parser_Tactic_withAlts_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; -x_6 = l_Lean_Parser_Tactic_withAlts_parenthesizer___closed__1; -x_7 = l_Lean_PrettyPrinter_Parenthesizer_visitArgs(x_6, x_1, x_2, x_3, x_4, x_5); -return x_7; +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__6; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; } } static lean_object* _init_l_Lean_Parser_Tactic_induction_parenthesizer___closed__1() { @@ -14679,23 +14983,33 @@ static lean_object* _init_l_Lean_Parser_Tactic_induction_parenthesizer___closed_ _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_generalizingVars_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_inductionAlts_parenthesizer), 5, 0); return x_1; } } static lean_object* _init_l_Lean_Parser_Tactic_induction_parenthesizer___closed__3() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_withAlts_parenthesizer), 5, 0); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_induction_parenthesizer___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_optional_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } static lean_object* _init_l_Lean_Parser_Tactic_induction_parenthesizer___closed__4() { _start: { +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_generalizingVars_parenthesizer), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_induction_parenthesizer___closed__5() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_induction_parenthesizer___closed__2; +x_1 = l_Lean_Parser_Tactic_induction_parenthesizer___closed__4; x_2 = l_Lean_Parser_Tactic_induction_parenthesizer___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -14703,7 +15017,7 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_induction_parenthesizer___closed__5() { +static lean_object* _init_l_Lean_Parser_Tactic_induction_parenthesizer___closed__6() { _start: { lean_object* x_1; @@ -14711,24 +15025,12 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_usingRec_parenthesizer), 5 return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_induction_parenthesizer___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_induction_parenthesizer___closed__5; -x_2 = l_Lean_Parser_Tactic_induction_parenthesizer___closed__4; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} static lean_object* _init_l_Lean_Parser_Tactic_induction_parenthesizer___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_tupleTail_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Tactic_induction_parenthesizer___closed__6; +x_1 = l_Lean_Parser_Tactic_induction_parenthesizer___closed__6; +x_2 = l_Lean_Parser_Tactic_induction_parenthesizer___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -14739,7 +15041,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_induction_parenthesizer___closed_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed__5; +x_1 = l_Lean_Parser_Term_tupleTail_parenthesizer___closed__2; x_2 = l_Lean_Parser_Tactic_induction_parenthesizer___closed__7; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -14750,10 +15052,22 @@ return x_3; static lean_object* _init_l_Lean_Parser_Tactic_induction_parenthesizer___closed__9() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed__5; +x_2 = l_Lean_Parser_Tactic_induction_parenthesizer___closed__8; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_induction_parenthesizer___closed__10() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Tactic_induction___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Tactic_induction_parenthesizer___closed__8; +x_3 = l_Lean_Parser_Tactic_induction_parenthesizer___closed__9; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -14766,7 +15080,7 @@ _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_Tactic_induction_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Tactic_induction_parenthesizer___closed__9; +x_7 = l_Lean_Parser_Tactic_induction_parenthesizer___closed__10; x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -14790,46 +15104,46 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__1() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string("majorPremise"); +x_1 = lean_mk_string("casesTarget"); return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_myMacro____x40_Init_Tactics___hyg_31____closed__2; -x_2 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__1; +x_2 = l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__3() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2; +x_1 = l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__2; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__4() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__4() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__1; -x_2 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__3; +x_1 = l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__1; +x_2 = l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__3; x_3 = 1; x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__5() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -14841,44 +15155,44 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__6() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2; -x_2 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__5; +x_1 = l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__2; +x_2 = l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__7() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8; -x_2 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__6; +x_2 = l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__6; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -lean_object* l_Lean_Parser_Tactic_majorPremise___elambda__1(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Parser_Tactic_casesTarget___elambda__1(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; -x_3 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__4; +x_3 = l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__4; x_4 = lean_ctor_get(x_3, 1); lean_inc(x_4); -x_5 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__7; +x_5 = l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__7; x_6 = 1; x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2); return x_7; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise___closed__1() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; @@ -14890,63 +15204,63 @@ x_4 = l_Lean_Parser_andthenInfo(x_3, x_2); return x_4; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise___closed__2() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2; -x_2 = l_Lean_Parser_Tactic_majorPremise___closed__1; +x_1 = l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__2; +x_2 = l_Lean_Parser_Tactic_casesTarget___closed__1; x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise___closed__3() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_epsilonInfo; -x_2 = l_Lean_Parser_Tactic_majorPremise___closed__2; +x_2 = l_Lean_Parser_Tactic_casesTarget___closed__2; x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise___closed__4() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget___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_majorPremise___elambda__1___closed__4; +x_1 = l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__4; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Tactic_majorPremise___closed__3; +x_3 = l_Lean_Parser_Tactic_casesTarget___closed__3; x_4 = l_Lean_Parser_orelseInfo(x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise___closed__5() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget___closed__5() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_majorPremise___elambda__1), 2, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_casesTarget___elambda__1), 2, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise___closed__6() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_majorPremise___closed__4; -x_2 = l_Lean_Parser_Tactic_majorPremise___closed__5; +x_1 = l_Lean_Parser_Tactic_casesTarget___closed__4; +x_2 = l_Lean_Parser_Tactic_casesTarget___closed__5; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Tactic_majorPremise___closed__6; +x_1 = l_Lean_Parser_Tactic_casesTarget___closed__6; return x_1; } } @@ -15021,7 +15335,7 @@ _start: { uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = 0; -x_2 = l_Lean_Parser_Tactic_majorPremise___closed__5; +x_2 = l_Lean_Parser_Tactic_casesTarget___closed__5; x_3 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6; x_4 = lean_box(x_1); x_5 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1Fn___boxed), 5, 3); @@ -15036,7 +15350,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Tactic_usingRec___closed__4; -x_2 = l_Lean_Parser_Tactic_withAlts___closed__2; +x_2 = l_Lean_Parser_Tactic_induction___elambda__1___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -15118,7 +15432,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_cases___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Tactic_majorPremise; +x_1 = l_Lean_Parser_Tactic_casesTarget; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); x_3 = l_Lean_Parser_Term_tupleTail___closed__1; @@ -15129,15 +15443,13 @@ return x_4; static lean_object* _init_l_Lean_Parser_Tactic_cases___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Tactic_usingRec; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Tactic_withAlts; -x_4 = lean_ctor_get(x_3, 0); -lean_inc(x_4); -x_5 = l_Lean_Parser_andthenInfo(x_2, x_4); -return x_5; +x_3 = l_Lean_Parser_Tactic_induction___closed__2; +x_4 = l_Lean_Parser_andthenInfo(x_2, x_3); +return x_4; } } static lean_object* _init_l_Lean_Parser_Tactic_cases___closed__4() { @@ -15233,12 +15545,12 @@ x_7 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_6, x_1); return x_7; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget_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_majorPremise___elambda__1___closed__1; -x_2 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__3; +x_1 = l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__1; +x_2 = l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__3; x_3 = 1; x_4 = lean_box(x_3); x_5 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 8, 3); @@ -15248,7 +15560,7 @@ lean_closure_set(x_5, 2, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget_formatter___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -15260,13 +15572,13 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise_formatter___closed__3() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget_formatter___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2; +x_1 = l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Tactic_majorPremise_formatter___closed__2; +x_3 = l_Lean_Parser_Tactic_casesTarget_formatter___closed__2; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -15274,12 +15586,12 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -lean_object* l_Lean_Parser_Tactic_majorPremise_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_Parser_Tactic_casesTarget_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Tactic_majorPremise_formatter___closed__1; -x_7 = l_Lean_Parser_Tactic_majorPremise_formatter___closed__3; +x_6 = l_Lean_Parser_Tactic_casesTarget_formatter___closed__1; +x_7 = l_Lean_Parser_Tactic_casesTarget_formatter___closed__3; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -15313,7 +15625,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_cases_formatter___closed__3() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_majorPremise_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_casesTarget_formatter), 5, 0); return x_1; } } @@ -15333,7 +15645,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_cases_formatter___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_induction_formatter___closed__6; +x_1 = l_Lean_Parser_Tactic_induction_formatter___closed__7; x_2 = l_Lean_Parser_Tactic_induction_formatter___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -15408,11 +15720,11 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget_parenthesizer___closed__1() { _start: { lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__3; +x_1 = l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__3; x_2 = 1; x_3 = lean_box(x_2); x_4 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___rarg___boxed), 7, 2); @@ -15421,7 +15733,7 @@ lean_closure_set(x_4, 1, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget_parenthesizer___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -15433,13 +15745,13 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__3() { +static lean_object* _init_l_Lean_Parser_Tactic_casesTarget_parenthesizer___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2; +x_1 = l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__2; +x_3 = l_Lean_Parser_Tactic_casesTarget_parenthesizer___closed__2; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -15447,12 +15759,12 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -lean_object* l_Lean_Parser_Tactic_majorPremise_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_Parser_Tactic_casesTarget_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__3; +x_6 = l_Lean_Parser_Tactic_casesTarget_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Tactic_casesTarget_parenthesizer___closed__3; x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -15474,7 +15786,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_cases_parenthesizer___closed__2() _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_majorPremise_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_casesTarget_parenthesizer), 5, 0); return x_1; } } @@ -15494,7 +15806,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_cases_parenthesizer___closed__4() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_induction_parenthesizer___closed__5; +x_1 = l_Lean_Parser_Tactic_induction_parenthesizer___closed__6; x_2 = l_Lean_Parser_Tactic_induction_parenthesizer___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -15605,7 +15917,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__7; -x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__6; +x_2 = l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__6; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -15654,7 +15966,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_matchAlt___closed__3; -x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__5; +x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__2; x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); return x_3; } @@ -16349,7 +16661,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_tupleTail_formatter___closed__3; -x_2 = l_Lean_Parser_Tactic_inductionAlt_formatter___closed__3; +x_2 = l_Lean_Parser_Tactic_inductionAlt_formatter___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -16603,7 +16915,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_tupleTail_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -21957,6 +22269,26 @@ l_Lean_Parser_Tactic_altRHS___closed__4 = _init_l_Lean_Parser_Tactic_altRHS___cl lean_mark_persistent(l_Lean_Parser_Tactic_altRHS___closed__4); l_Lean_Parser_Tactic_altRHS = _init_l_Lean_Parser_Tactic_altRHS(); lean_mark_persistent(l_Lean_Parser_Tactic_altRHS); +l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__1 = _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__1(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__1); +l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__2 = _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__2(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__2); +l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__3 = _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__3(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__3); +l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__4(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__4); +l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__5(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__5); +l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__6(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__6); +l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__7(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__7); +l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__8(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__8); +l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__9(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__9); +l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__10(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___elambda__1___closed__10); l_Lean_Parser_Tactic_inductionAlt___closed__1 = _init_l_Lean_Parser_Tactic_inductionAlt___closed__1(); lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___closed__1); l_Lean_Parser_Tactic_inductionAlt___closed__2 = _init_l_Lean_Parser_Tactic_inductionAlt___closed__2(); @@ -21975,12 +22307,6 @@ l_Lean_Parser_Tactic_inductionAlt___closed__8 = _init_l_Lean_Parser_Tactic_induc lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___closed__8); l_Lean_Parser_Tactic_inductionAlt___closed__9 = _init_l_Lean_Parser_Tactic_inductionAlt___closed__9(); lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___closed__9); -l_Lean_Parser_Tactic_inductionAlt___closed__10 = _init_l_Lean_Parser_Tactic_inductionAlt___closed__10(); -lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___closed__10); -l_Lean_Parser_Tactic_inductionAlt___closed__11 = _init_l_Lean_Parser_Tactic_inductionAlt___closed__11(); -lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___closed__11); -l_Lean_Parser_Tactic_inductionAlt___closed__12 = _init_l_Lean_Parser_Tactic_inductionAlt___closed__12(); -lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___closed__12); l_Lean_Parser_Tactic_inductionAlt = _init_l_Lean_Parser_Tactic_inductionAlt(); lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt); l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__1 = _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__1(); @@ -21995,6 +22321,16 @@ l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__5 = _init_l_Lean_Parse lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__5); l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__6(); lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__6); +l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__7(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__7); +l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__8(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__8); +l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__9(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__9); +l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__10(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__10); +l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__11(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__11); l_Lean_Parser_Tactic_inductionAlts___closed__1 = _init_l_Lean_Parser_Tactic_inductionAlts___closed__1(); lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts___closed__1); l_Lean_Parser_Tactic_inductionAlts___closed__2 = _init_l_Lean_Parser_Tactic_inductionAlts___closed__2(); @@ -22007,16 +22343,14 @@ l_Lean_Parser_Tactic_inductionAlts___closed__5 = _init_l_Lean_Parser_Tactic_indu lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts___closed__5); l_Lean_Parser_Tactic_inductionAlts___closed__6 = _init_l_Lean_Parser_Tactic_inductionAlts___closed__6(); lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts___closed__6); +l_Lean_Parser_Tactic_inductionAlts___closed__7 = _init_l_Lean_Parser_Tactic_inductionAlts___closed__7(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts___closed__7); +l_Lean_Parser_Tactic_inductionAlts___closed__8 = _init_l_Lean_Parser_Tactic_inductionAlts___closed__8(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts___closed__8); +l_Lean_Parser_Tactic_inductionAlts___closed__9 = _init_l_Lean_Parser_Tactic_inductionAlts___closed__9(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts___closed__9); l_Lean_Parser_Tactic_inductionAlts = _init_l_Lean_Parser_Tactic_inductionAlts(); lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts); -l_Lean_Parser_Tactic_withAlts___closed__1 = _init_l_Lean_Parser_Tactic_withAlts___closed__1(); -lean_mark_persistent(l_Lean_Parser_Tactic_withAlts___closed__1); -l_Lean_Parser_Tactic_withAlts___closed__2 = _init_l_Lean_Parser_Tactic_withAlts___closed__2(); -lean_mark_persistent(l_Lean_Parser_Tactic_withAlts___closed__2); -l_Lean_Parser_Tactic_withAlts___closed__3 = _init_l_Lean_Parser_Tactic_withAlts___closed__3(); -lean_mark_persistent(l_Lean_Parser_Tactic_withAlts___closed__3); -l_Lean_Parser_Tactic_withAlts = _init_l_Lean_Parser_Tactic_withAlts(); -lean_mark_persistent(l_Lean_Parser_Tactic_withAlts); l_Lean_Parser_Tactic_usingRec___elambda__1___closed__1 = _init_l_Lean_Parser_Tactic_usingRec___elambda__1___closed__1(); lean_mark_persistent(l_Lean_Parser_Tactic_usingRec___elambda__1___closed__1); l_Lean_Parser_Tactic_usingRec___elambda__1___closed__2 = _init_l_Lean_Parser_Tactic_usingRec___elambda__1___closed__2(); @@ -22085,6 +22419,8 @@ l_Lean_Parser_Tactic_induction___elambda__1___closed__12 = _init_l_Lean_Parser_T lean_mark_persistent(l_Lean_Parser_Tactic_induction___elambda__1___closed__12); l_Lean_Parser_Tactic_induction___elambda__1___closed__13 = _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__13(); lean_mark_persistent(l_Lean_Parser_Tactic_induction___elambda__1___closed__13); +l_Lean_Parser_Tactic_induction___elambda__1___closed__14 = _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__14(); +lean_mark_persistent(l_Lean_Parser_Tactic_induction___elambda__1___closed__14); l_Lean_Parser_Tactic_induction___closed__1 = _init_l_Lean_Parser_Tactic_induction___closed__1(); lean_mark_persistent(l_Lean_Parser_Tactic_induction___closed__1); l_Lean_Parser_Tactic_induction___closed__2 = _init_l_Lean_Parser_Tactic_induction___closed__2(); @@ -22105,6 +22441,8 @@ l_Lean_Parser_Tactic_induction___closed__9 = _init_l_Lean_Parser_Tactic_inductio lean_mark_persistent(l_Lean_Parser_Tactic_induction___closed__9); l_Lean_Parser_Tactic_induction___closed__10 = _init_l_Lean_Parser_Tactic_induction___closed__10(); lean_mark_persistent(l_Lean_Parser_Tactic_induction___closed__10); +l_Lean_Parser_Tactic_induction___closed__11 = _init_l_Lean_Parser_Tactic_induction___closed__11(); +lean_mark_persistent(l_Lean_Parser_Tactic_induction___closed__11); l_Lean_Parser_Tactic_induction = _init_l_Lean_Parser_Tactic_induction(); lean_mark_persistent(l_Lean_Parser_Tactic_induction); res = l___regBuiltinParser_Lean_Parser_Tactic_induction(lean_io_mk_world()); @@ -22132,6 +22470,10 @@ l_Lean_Parser_Tactic_inductionAlt_formatter___closed__4 = _init_l_Lean_Parser_Ta lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt_formatter___closed__4); l_Lean_Parser_Tactic_inductionAlt_formatter___closed__5 = _init_l_Lean_Parser_Tactic_inductionAlt_formatter___closed__5(); lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt_formatter___closed__5); +l_Lean_Parser_Tactic_inductionAlt_formatter___closed__6 = _init_l_Lean_Parser_Tactic_inductionAlt_formatter___closed__6(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt_formatter___closed__6); +l_Lean_Parser_Tactic_inductionAlt_formatter___closed__7 = _init_l_Lean_Parser_Tactic_inductionAlt_formatter___closed__7(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt_formatter___closed__7); l_Lean_Parser_Tactic_inductionAlts_formatter___closed__1 = _init_l_Lean_Parser_Tactic_inductionAlts_formatter___closed__1(); lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts_formatter___closed__1); l_Lean_Parser_Tactic_inductionAlts_formatter___closed__2 = _init_l_Lean_Parser_Tactic_inductionAlts_formatter___closed__2(); @@ -22140,8 +22482,14 @@ l_Lean_Parser_Tactic_inductionAlts_formatter___closed__3 = _init_l_Lean_Parser_T lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts_formatter___closed__3); l_Lean_Parser_Tactic_inductionAlts_formatter___closed__4 = _init_l_Lean_Parser_Tactic_inductionAlts_formatter___closed__4(); lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts_formatter___closed__4); -l_Lean_Parser_Tactic_withAlts_formatter___closed__1 = _init_l_Lean_Parser_Tactic_withAlts_formatter___closed__1(); -lean_mark_persistent(l_Lean_Parser_Tactic_withAlts_formatter___closed__1); +l_Lean_Parser_Tactic_inductionAlts_formatter___closed__5 = _init_l_Lean_Parser_Tactic_inductionAlts_formatter___closed__5(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts_formatter___closed__5); +l_Lean_Parser_Tactic_inductionAlts_formatter___closed__6 = _init_l_Lean_Parser_Tactic_inductionAlts_formatter___closed__6(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts_formatter___closed__6); +l_Lean_Parser_Tactic_inductionAlts_formatter___closed__7 = _init_l_Lean_Parser_Tactic_inductionAlts_formatter___closed__7(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts_formatter___closed__7); +l_Lean_Parser_Tactic_inductionAlts_formatter___closed__8 = _init_l_Lean_Parser_Tactic_inductionAlts_formatter___closed__8(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts_formatter___closed__8); l_Lean_Parser_Tactic_induction_formatter___closed__1 = _init_l_Lean_Parser_Tactic_induction_formatter___closed__1(); lean_mark_persistent(l_Lean_Parser_Tactic_induction_formatter___closed__1); l_Lean_Parser_Tactic_induction_formatter___closed__2 = _init_l_Lean_Parser_Tactic_induction_formatter___closed__2(); @@ -22162,6 +22510,8 @@ l_Lean_Parser_Tactic_induction_formatter___closed__9 = _init_l_Lean_Parser_Tacti lean_mark_persistent(l_Lean_Parser_Tactic_induction_formatter___closed__9); l_Lean_Parser_Tactic_induction_formatter___closed__10 = _init_l_Lean_Parser_Tactic_induction_formatter___closed__10(); lean_mark_persistent(l_Lean_Parser_Tactic_induction_formatter___closed__10); +l_Lean_Parser_Tactic_induction_formatter___closed__11 = _init_l_Lean_Parser_Tactic_induction_formatter___closed__11(); +lean_mark_persistent(l_Lean_Parser_Tactic_induction_formatter___closed__11); l___regBuiltin_Lean_Parser_Tactic_induction_formatter___closed__1 = _init_l___regBuiltin_Lean_Parser_Tactic_induction_formatter___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_Tactic_induction_formatter___closed__1); res = l___regBuiltin_Lean_Parser_Tactic_induction_formatter(lean_io_mk_world()); @@ -22183,14 +22533,22 @@ l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__4 = _init_l_Lean_Parse lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__4); l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__5 = _init_l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__5(); lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__5); +l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__6 = _init_l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__6(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__6); +l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__7 = _init_l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__7(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__7); l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__1 = _init_l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__1(); lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__1); l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__2 = _init_l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__2(); lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__2); l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__3 = _init_l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__3(); lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__3); -l_Lean_Parser_Tactic_withAlts_parenthesizer___closed__1 = _init_l_Lean_Parser_Tactic_withAlts_parenthesizer___closed__1(); -lean_mark_persistent(l_Lean_Parser_Tactic_withAlts_parenthesizer___closed__1); +l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__4 = _init_l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__4(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__4); +l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__5 = _init_l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__5(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__5); +l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__6 = _init_l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__6(); +lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts_parenthesizer___closed__6); l_Lean_Parser_Tactic_induction_parenthesizer___closed__1 = _init_l_Lean_Parser_Tactic_induction_parenthesizer___closed__1(); lean_mark_persistent(l_Lean_Parser_Tactic_induction_parenthesizer___closed__1); l_Lean_Parser_Tactic_induction_parenthesizer___closed__2 = _init_l_Lean_Parser_Tactic_induction_parenthesizer___closed__2(); @@ -22209,39 +22567,41 @@ l_Lean_Parser_Tactic_induction_parenthesizer___closed__8 = _init_l_Lean_Parser_T lean_mark_persistent(l_Lean_Parser_Tactic_induction_parenthesizer___closed__8); l_Lean_Parser_Tactic_induction_parenthesizer___closed__9 = _init_l_Lean_Parser_Tactic_induction_parenthesizer___closed__9(); lean_mark_persistent(l_Lean_Parser_Tactic_induction_parenthesizer___closed__9); +l_Lean_Parser_Tactic_induction_parenthesizer___closed__10 = _init_l_Lean_Parser_Tactic_induction_parenthesizer___closed__10(); +lean_mark_persistent(l_Lean_Parser_Tactic_induction_parenthesizer___closed__10); l___regBuiltin_Lean_Parser_Tactic_induction_parenthesizer___closed__1 = _init_l___regBuiltin_Lean_Parser_Tactic_induction_parenthesizer___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_Tactic_induction_parenthesizer___closed__1); res = l___regBuiltin_Lean_Parser_Tactic_induction_parenthesizer(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__1 = _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__1(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__1); -l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2 = _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2); -l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__3 = _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__3(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__3); -l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__4(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__4); -l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__5(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__5); -l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__6(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__6); -l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__7(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__7); -l_Lean_Parser_Tactic_majorPremise___closed__1 = _init_l_Lean_Parser_Tactic_majorPremise___closed__1(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___closed__1); -l_Lean_Parser_Tactic_majorPremise___closed__2 = _init_l_Lean_Parser_Tactic_majorPremise___closed__2(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___closed__2); -l_Lean_Parser_Tactic_majorPremise___closed__3 = _init_l_Lean_Parser_Tactic_majorPremise___closed__3(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___closed__3); -l_Lean_Parser_Tactic_majorPremise___closed__4 = _init_l_Lean_Parser_Tactic_majorPremise___closed__4(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___closed__4); -l_Lean_Parser_Tactic_majorPremise___closed__5 = _init_l_Lean_Parser_Tactic_majorPremise___closed__5(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___closed__5); -l_Lean_Parser_Tactic_majorPremise___closed__6 = _init_l_Lean_Parser_Tactic_majorPremise___closed__6(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___closed__6); -l_Lean_Parser_Tactic_majorPremise = _init_l_Lean_Parser_Tactic_majorPremise(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise); +l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__1 = _init_l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__1(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__1); +l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__2 = _init_l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__2(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__2); +l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__3 = _init_l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__3(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__3); +l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__4(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__4); +l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__5(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__5); +l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__6(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__6); +l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__7(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget___elambda__1___closed__7); +l_Lean_Parser_Tactic_casesTarget___closed__1 = _init_l_Lean_Parser_Tactic_casesTarget___closed__1(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget___closed__1); +l_Lean_Parser_Tactic_casesTarget___closed__2 = _init_l_Lean_Parser_Tactic_casesTarget___closed__2(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget___closed__2); +l_Lean_Parser_Tactic_casesTarget___closed__3 = _init_l_Lean_Parser_Tactic_casesTarget___closed__3(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget___closed__3); +l_Lean_Parser_Tactic_casesTarget___closed__4 = _init_l_Lean_Parser_Tactic_casesTarget___closed__4(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget___closed__4); +l_Lean_Parser_Tactic_casesTarget___closed__5 = _init_l_Lean_Parser_Tactic_casesTarget___closed__5(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget___closed__5); +l_Lean_Parser_Tactic_casesTarget___closed__6 = _init_l_Lean_Parser_Tactic_casesTarget___closed__6(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget___closed__6); +l_Lean_Parser_Tactic_casesTarget = _init_l_Lean_Parser_Tactic_casesTarget(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget); l_Lean_Parser_Tactic_cases___elambda__1___closed__1 = _init_l_Lean_Parser_Tactic_cases___elambda__1___closed__1(); lean_mark_persistent(l_Lean_Parser_Tactic_cases___elambda__1___closed__1); l_Lean_Parser_Tactic_cases___elambda__1___closed__2 = _init_l_Lean_Parser_Tactic_cases___elambda__1___closed__2(); @@ -22293,12 +22653,12 @@ lean_mark_persistent(l_Lean_Parser_Tactic_cases); res = l___regBuiltinParser_Lean_Parser_Tactic_cases(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_Parser_Tactic_majorPremise_formatter___closed__1 = _init_l_Lean_Parser_Tactic_majorPremise_formatter___closed__1(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise_formatter___closed__1); -l_Lean_Parser_Tactic_majorPremise_formatter___closed__2 = _init_l_Lean_Parser_Tactic_majorPremise_formatter___closed__2(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise_formatter___closed__2); -l_Lean_Parser_Tactic_majorPremise_formatter___closed__3 = _init_l_Lean_Parser_Tactic_majorPremise_formatter___closed__3(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise_formatter___closed__3); +l_Lean_Parser_Tactic_casesTarget_formatter___closed__1 = _init_l_Lean_Parser_Tactic_casesTarget_formatter___closed__1(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget_formatter___closed__1); +l_Lean_Parser_Tactic_casesTarget_formatter___closed__2 = _init_l_Lean_Parser_Tactic_casesTarget_formatter___closed__2(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget_formatter___closed__2); +l_Lean_Parser_Tactic_casesTarget_formatter___closed__3 = _init_l_Lean_Parser_Tactic_casesTarget_formatter___closed__3(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget_formatter___closed__3); l_Lean_Parser_Tactic_cases_formatter___closed__1 = _init_l_Lean_Parser_Tactic_cases_formatter___closed__1(); lean_mark_persistent(l_Lean_Parser_Tactic_cases_formatter___closed__1); l_Lean_Parser_Tactic_cases_formatter___closed__2 = _init_l_Lean_Parser_Tactic_cases_formatter___closed__2(); @@ -22320,12 +22680,12 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Tactic_cases_formatter___closed_ res = l___regBuiltin_Lean_Parser_Tactic_cases_formatter(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__1 = _init_l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__1(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__1); -l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__2 = _init_l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__2(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__2); -l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__3 = _init_l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__3(); -lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__3); +l_Lean_Parser_Tactic_casesTarget_parenthesizer___closed__1 = _init_l_Lean_Parser_Tactic_casesTarget_parenthesizer___closed__1(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget_parenthesizer___closed__1); +l_Lean_Parser_Tactic_casesTarget_parenthesizer___closed__2 = _init_l_Lean_Parser_Tactic_casesTarget_parenthesizer___closed__2(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget_parenthesizer___closed__2); +l_Lean_Parser_Tactic_casesTarget_parenthesizer___closed__3 = _init_l_Lean_Parser_Tactic_casesTarget_parenthesizer___closed__3(); +lean_mark_persistent(l_Lean_Parser_Tactic_casesTarget_parenthesizer___closed__3); l_Lean_Parser_Tactic_cases_parenthesizer___closed__1 = _init_l_Lean_Parser_Tactic_cases_parenthesizer___closed__1(); lean_mark_persistent(l_Lean_Parser_Tactic_cases_parenthesizer___closed__1); l_Lean_Parser_Tactic_cases_parenthesizer___closed__2 = _init_l_Lean_Parser_Tactic_cases_parenthesizer___closed__2();