// Lean compiler output
// Module: Lean.Elab.Tactic.RCases
// Imports: public import Lean.Elab.Tactic.ElabTerm import Lean.Elab.Tactic.Induction import Lean.Meta.Tactic.Replace import Init.Omega import Lean.Elab.Binders import Lean.Meta.Tactic.Generalize
#include <lean/lean.h>
#if defined(__clang__)
#pragma clang diagnostic ignored "-Wunused-parameter"
#pragma clang diagnostic ignored "-Wunused-label"
#elif defined(__GNUC__) && !defined(__CLANG__)
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wunused-label"
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
#endif
#ifdef __cplusplus
extern "C" {
#endif
lean_object* l_Lean_stringToMessageData(lean_object*);
size_t lean_usize_shift_left(size_t, size_t);
size_t lean_usize_sub(size_t, size_t);
size_t lean_usize_land(size_t, size_t);
lean_object* lean_usize_to_nat(size_t);
lean_object* lean_array_get_size(lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
lean_object* lean_array_fget(lean_object*, lean_object*);
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_instBEqMVarId_beq(lean_object*, lean_object*);
lean_object* l_Lean_PersistentHashMap_mkCollisionNode___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
size_t lean_usize_shift_right(size_t, size_t);
size_t lean_usize_add(size_t, size_t);
lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* lean_array_fget_borrowed(lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* l_Lean_PersistentHashMap_mkEmptyEntries(lean_object*, lean_object*);
uint64_t l_Lean_instHashableMVarId_hash(lean_object*);
size_t lean_uint64_to_usize(uint64_t);
size_t lean_usize_mul(size_t, size_t);
uint8_t lean_usize_dec_le(size_t, size_t);
lean_object* l_Lean_PersistentHashMap_getCollisionNodeSize___redArg(lean_object*);
lean_object* l_Lean_Syntax_instRepr_repr(lean_object*, lean_object*);
lean_object* l_Repr_addAppParen(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
lean_object* lean_nat_to_int(lean_object*);
lean_object* l_Lean_Name_reprPrec(lean_object*, lean_object*);
lean_object* l_Lean_Syntax_instReprTSyntax_repr___redArg(lean_object*);
lean_object* lean_string_length(lean_object*);
uint8_t lean_usize_dec_lt(size_t, size_t);
lean_object* lean_array_uget_borrowed(lean_object*, size_t);
lean_object* l_Lean_Elab_Tactic_mkTargetView___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
lean_object* lean_array_mk(lean_object*);
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
lean_object* l_Lean_Elab_Term_elabTerm(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_ensureHasType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_string_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_TSyntax_getId(lean_object*);
lean_object* l_Lean_replaceRef(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_exprToSyntax(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_unzip___redArg(lean_object*);
lean_object* l_Array_toSubarray___redArg(lean_object*, lean_object*, lean_object*);
lean_object* l_Subarray_copy___redArg(lean_object*);
lean_object* l_Lean_MVarId_generalize(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
size_t lean_array_size(lean_object*);
lean_object* lean_array_get_borrowed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkFVar(lean_object*);
uint8_t l_Lean_Expr_isFVar(lean_object*);
size_t lean_usize_of_nat(lean_object*);
uint8_t lean_usize_dec_eq(size_t, size_t);
lean_object* l_Array_zip___redArg(lean_object*, lean_object*);
lean_object* lean_array_to_list(lean_object*);
lean_object* lean_array_uget(lean_object*, size_t);
lean_object* l_Lean_Expr_fvarId_x21(lean_object*);
lean_object* l_Lean_MVarId_getDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_LocalDecl_fvarId(lean_object*);
uint8_t l_Lean_instBEqFVarId_beq(lean_object*, lean_object*);
lean_object* lean_st_ref_get(lean_object*);
lean_object* lean_st_ref_take(lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*);
lean_object* lean_mk_array(lean_object*, lean_object*);
uint8_t l_Lean_Expr_hasFVar(lean_object*);
uint8_t l_Lean_Expr_hasMVar(lean_object*);
lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MVarId_tryClearMany(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_FVarSubst_get(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_addLocalVarInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withMVarContextImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MessageData_ofExpr(lean_object*);
lean_object* l_Lean_Expr_mdata___override(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_addTermInfo_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_instInhabitedExpr;
uint8_t lean_name_eq(lean_object*, lean_object*);
lean_object* l_Lean_Meta_FVarSubst_append(lean_object*, lean_object*);
lean_object* l_List_zipWith___at___00List_zip_spec__0(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_FVarSubst_apply(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_synthesizeSyntheticMVarsNoPostponing(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_whnfD(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_getAppFn(lean_object*);
lean_object* l_Lean_Environment_find_x3f(lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_pp_macroStack;
lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00Lean_NameMap_find_x3f_spec__0___redArg(lean_object*, lean_object*);
lean_object* l_Lean_MessageData_ofFormat(lean_object*);
lean_object* l_Lean_MessageData_ofSyntax(lean_object*);
lean_object* l_Lean_indentD(lean_object*);
lean_object* l_mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_instInhabitedTermElabM(lean_object*);
lean_object* lean_panic_fn(lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr1(lean_object*);
uint8_t l_Lean_instBEqBinderInfo_beq(uint8_t, uint8_t);
lean_object* l_Lean_Meta_getFVarsToGeneralize(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MVarId_revert(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*);
lean_object* l_Lean_Meta_getElimInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MVarId_getTag(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_ElimApp_mkElimApp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_getAppNumArgs(lean_object*);
lean_object* l_Lean_Expr_sort___override(lean_object*);
lean_object* lean_nat_sub(lean_object*, lean_object*);
lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_mvarId_x21(lean_object*);
lean_object* l_Lean_Elab_Tactic_ElimApp_setMotiveArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_MVarId_intro(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_FVarSubst_insert(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Environment_findConstVal_x3f(lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_MessageData_ofConstName(lean_object*, uint8_t);
uint8_t l_Lean_Name_isAnonymous(lean_object*);
lean_object* l_Lean_Environment_setExporting(lean_object*, uint8_t);
uint8_t l_Lean_Environment_contains(lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*);
extern lean_object* l_Lean_Options_empty;
lean_object* l_Lean_Environment_getModuleIdxFor_x3f(lean_object*, lean_object*);
lean_object* l_Lean_MessageData_note(lean_object*);
lean_object* l_Lean_Environment_header(lean_object*);
lean_object* l_Lean_EnvironmentHeader_moduleNames(lean_object*);
uint8_t l_Lean_isPrivateName(lean_object*);
lean_object* l_Lean_MessageData_ofName(lean_object*);
extern lean_object* l_Lean_unknownIdentifierMessageTag;
lean_object* l_List_reverse___redArg(lean_object*);
lean_object* l_Lean_mkLevelParam(lean_object*);
lean_object* l_Lean_mkConst(lean_object*, lean_object*);
lean_object* l_Lean_Meta_getFunInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MVarId_cases(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_substEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MVarId_replaceLocalDeclDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_throwTypeMismatchError___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_withSynthesizeImp(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_replaceMainGoal___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MessageData_paren(lean_object*);
lean_object* l_Lean_MessageData_joinSep(lean_object*, lean_object*);
lean_object* l_Lean_MessageData_bracket(lean_object*, lean_object*, lean_object*);
lean_object* l_List_head_x21___redArg(lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_unsupportedSyntaxExceptionId;
lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*);
lean_object* l_Lean_Syntax_getArgs(lean_object*);
uint8_t l_Lean_Syntax_isNone(lean_object*);
uint8_t l_Lean_Syntax_matchesNull(lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr4(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_TSepArray_getElems___redArg(lean_object*);
lean_object* l_Lean_Expr_fvar___override(lean_object*);
lean_object* l_Lean_Elab_Tactic_getMainGoal___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SourceInfo_fromRef(lean_object*, uint8_t);
lean_object* l_Lean_Syntax_node1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkFreshExprMVar(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MVarId_assert(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* l_Array_mkArray0(lean_object*);
lean_object* l_Lean_Name_mkStr6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_str___override(lean_object*, lean_object*);
lean_object* l_Lean_Syntax_node2(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_node3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_Tactic_tacticElabAttribute;
lean_object* l_Lean_Name_num___override(lean_object*, lean_object*);
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_register_option(lean_object*, lean_object*);
lean_object* l_List_head_x3f___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Option_register___at___00Lean_Elab_Tactic_RCases_initFn_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__spec__0(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Option_register___at___00Lean_Elab_Tactic_RCases_initFn_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_Elab_Tactic_RCases_initFn___closed__0_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "linter"};
static const lean_object* l_Lean_Elab_Tactic_RCases_initFn___closed__0_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__0_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value;
static const lean_string_object l_Lean_Elab_Tactic_RCases_initFn___closed__1_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 20, .m_capacity = 20, .m_length = 19, .m_data = "unusedRCasesPattern"};
static const lean_object* l_Lean_Elab_Tactic_RCases_initFn___closed__1_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__1_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_initFn___closed__2_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__0_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(186, 218, 113, 226, 101, 176, 32, 79)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_initFn___closed__2_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__2_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value_aux_0),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__1_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(241, 110, 176, 132, 250, 17, 111, 167)}};
static const lean_object* l_Lean_Elab_Tactic_RCases_initFn___closed__2_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__2_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value;
static const lean_string_object l_Lean_Elab_Tactic_RCases_initFn___closed__3_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 42, .m_capacity = 42, .m_length = 41, .m_data = "enable the 'unused rcases pattern' linter"};
static const lean_object* l_Lean_Elab_Tactic_RCases_initFn___closed__3_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__3_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_initFn___closed__4_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(1) << 1) | 1)),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__3_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value)}};
static const lean_object* l_Lean_Elab_Tactic_RCases_initFn___closed__4_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__4_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value;
static const lean_string_object l_Lean_Elab_Tactic_RCases_initFn___closed__5_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 5, .m_capacity = 5, .m_length = 4, .m_data = "Lean"};
static const lean_object* l_Lean_Elab_Tactic_RCases_initFn___closed__5_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__5_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value;
static const lean_string_object l_Lean_Elab_Tactic_RCases_initFn___closed__6_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 5, .m_capacity = 5, .m_length = 4, .m_data = "Elab"};
static const lean_object* l_Lean_Elab_Tactic_RCases_initFn___closed__6_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__6_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value;
static const lean_string_object l_Lean_Elab_Tactic_RCases_initFn___closed__7_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "Tactic"};
static const lean_object* l_Lean_Elab_Tactic_RCases_initFn___closed__7_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__7_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value;
static const lean_string_object l_Lean_Elab_Tactic_RCases_initFn___closed__8_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "RCases"};
static const lean_object* l_Lean_Elab_Tactic_RCases_initFn___closed__8_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__8_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_initFn___closed__9_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__5_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_initFn___closed__9_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__9_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value_aux_0),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__6_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(52, 247, 248, 201, 92, 23, 188, 159)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_initFn___closed__9_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__9_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value_aux_1),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__7_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(161, 230, 229, 85, 182, 144, 182, 176)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_initFn___closed__9_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value_aux_3 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__9_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value_aux_2),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__8_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(110, 201, 5, 192, 82, 140, 48, 247)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_initFn___closed__9_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value_aux_4 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__9_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value_aux_3),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__0_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(147, 223, 250, 211, 237, 138, 169, 175)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_initFn___closed__9_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__9_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value_aux_4),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__1_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(20, 239, 52, 188, 35, 247, 154, 203)}};
static const lean_object* l_Lean_Elab_Tactic_RCases_initFn___closed__9_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__9_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value;
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_initFn_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4_();
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_initFn_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4____boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_linter_unusedRCasesPattern;
static lean_once_cell_t l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0;
static const lean_string_object l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 10, .m_capacity = 10, .m_length = 9, .m_data = "rcasesPat"};
static const lean_object* l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1_value;
static const lean_string_object l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "Parser"};
static const lean_object* l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__2 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__2_value;
static const lean_string_object l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 4, .m_capacity = 4, .m_length = 3, .m_data = "one"};
static const lean_object* l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__3 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__3_value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__4_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__5_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__4_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__4_value_aux_0),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__2_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__4_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__4_value_aux_1),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__7_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(166, 58, 35, 182, 187, 130, 147, 254)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__4_value_aux_3 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__4_value_aux_2),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1_value),LEAN_SCALAR_PTR_LITERAL(162, 181, 165, 225, 136, 177, 169, 19)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__4_value_aux_3),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__3_value),LEAN_SCALAR_PTR_LITERAL(186, 152, 172, 228, 11, 240, 156, 168)}};
static const lean_object* l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__4 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__4_value;
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0(lean_object*);
static const lean_closure_object l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0, .m_arity = 1, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___closed__0 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___closed__0_value;
LEAN_EXPORT const lean_object* l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___closed__0_value;
static const lean_string_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 13, .m_capacity = 13, .m_length = 12, .m_data = "rcasesPatMed"};
static const lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__0 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__0_value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__1_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__5_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__1_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__1_value_aux_0),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__2_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__1_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__1_value_aux_1),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__7_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(166, 58, 35, 182, 187, 130, 147, 254)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__1_value_aux_2),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__0_value),LEAN_SCALAR_PTR_LITERAL(253, 13, 65, 195, 228, 27, 47, 149)}};
static const lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__1 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__1_value;
static const lean_string_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 5, .m_capacity = 5, .m_length = 4, .m_data = "null"};
static const lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__2 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__2_value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__2_value),LEAN_SCALAR_PTR_LITERAL(24, 58, 49, 223, 146, 207, 197, 136)}};
static const lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__3 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__3_value;
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0(lean_object*);
static const lean_closure_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0, .m_arity = 1, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___closed__0 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___closed__0_value;
LEAN_EXPORT const lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___closed__0_value;
static const lean_string_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 12, .m_capacity = 12, .m_length = 11, .m_data = "rcasesPatLo"};
static const lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__0 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__0_value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__1_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__5_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__1_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__1_value_aux_0),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__2_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__1_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__1_value_aux_1),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__7_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(166, 58, 35, 182, 187, 130, 147, 254)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__1_value_aux_2),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__0_value),LEAN_SCALAR_PTR_LITERAL(133, 222, 245, 138, 122, 92, 170, 214)}};
static const lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__1 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__1_value;
static lean_once_cell_t l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__2;
static lean_once_cell_t l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__3;
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0(lean_object*);
static const lean_closure_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0, .m_arity = 1, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___closed__0 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___closed__0_value;
LEAN_EXPORT const lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___closed__0_value;
static const lean_string_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 10, .m_capacity = 10, .m_length = 9, .m_data = "rintroPat"};
static const lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0_value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__5_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1_value_aux_0),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__2_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1_value_aux_1),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__7_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(166, 58, 35, 182, 187, 130, 147, 254)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1_value_aux_3 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1_value_aux_2),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0_value),LEAN_SCALAR_PTR_LITERAL(120, 93, 179, 129, 121, 199, 215, 253)}};
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1_value_aux_3),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__3_value),LEAN_SCALAR_PTR_LITERAL(40, 214, 202, 122, 59, 249, 35, 61)}};
static const lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1_value;
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0(lean_object*);
static const lean_closure_object l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0, .m_arity = 1, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___closed__0 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___closed__0_value;
LEAN_EXPORT const lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___closed__0_value;
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorIdx(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorIdx___boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_paren_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_paren_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_one_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_one_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_clear_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_clear_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_explicit_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_explicit_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_typed_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_typed_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_tuple_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_tuple_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_alts_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_alts_elim(lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 41, .m_capacity = 41, .m_length = 40, .m_data = "Lean.Elab.Tactic.RCases.RCasesPatt.paren"};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__0 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__0_value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__0_value)}};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__1 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__1_value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 5}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__1_value),((lean_object*)(((size_t)(1) << 1) | 1))}};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__2 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__2_value;
static lean_once_cell_t l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3;
static lean_once_cell_t l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4;
static const lean_string_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 39, .m_capacity = 39, .m_length = 38, .m_data = "Lean.Elab.Tactic.RCases.RCasesPatt.one"};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__5 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__5_value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__5_value)}};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__6 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__6_value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__7_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 5}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__6_value),((lean_object*)(((size_t)(1) << 1) | 1))}};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__7 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__7_value;
static const lean_string_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__8_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 41, .m_capacity = 41, .m_length = 40, .m_data = "Lean.Elab.Tactic.RCases.RCasesPatt.clear"};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__8 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__8_value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__9_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__8_value)}};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__9 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__9_value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__10_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 5}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__9_value),((lean_object*)(((size_t)(1) << 1) | 1))}};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__10 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__10_value;
static const lean_string_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__11_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 44, .m_capacity = 44, .m_length = 43, .m_data = "Lean.Elab.Tactic.RCases.RCasesPatt.explicit"};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__11 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__11_value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__12_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__11_value)}};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__12 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__12_value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__13_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 5}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__12_value),((lean_object*)(((size_t)(1) << 1) | 1))}};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__13 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__13_value;
static const lean_string_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__14_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 41, .m_capacity = 41, .m_length = 40, .m_data = "Lean.Elab.Tactic.RCases.RCasesPatt.typed"};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__14 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__14_value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__15_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__14_value)}};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__15 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__15_value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__16_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 5}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__15_value),((lean_object*)(((size_t)(1) << 1) | 1))}};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__16 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__16_value;
static const lean_string_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__17_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 41, .m_capacity = 41, .m_length = 40, .m_data = "Lean.Elab.Tactic.RCases.RCasesPatt.tuple"};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__17 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__17_value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__18_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__17_value)}};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__18 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__18_value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__19_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 5}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__18_value),((lean_object*)(((size_t)(1) << 1) | 1))}};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__19 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__19_value;
static const lean_string_object l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 3, .m_capacity = 3, .m_length = 2, .m_data = "[]"};
static const lean_object* l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__0 = (const lean_object*)&l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__0_value;
static const lean_ctor_object l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__0_value)}};
static const lean_object* l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__1 = (const lean_object*)&l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__1_value;
static const lean_string_object l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = ","};
static const lean_object* l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__3 = (const lean_object*)&l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__3_value;
static const lean_ctor_object l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__3_value)}};
static const lean_object* l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__4 = (const lean_object*)&l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__4_value;
static const lean_ctor_object l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 5}, .m_objs = {((lean_object*)&l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__4_value),((lean_object*)(((size_t)(1) << 1) | 1))}};
static const lean_object* l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__5 = (const lean_object*)&l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__5_value;
LEAN_EXPORT lean_object* l_List_foldl___at___00List_foldl___at___00Std_Format_joinSep___at___00List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0_spec__0_spec__1_spec__3(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_foldl___at___00Std_Format_joinSep___at___00List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0_spec__0_spec__1(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_Format_joinSep___at___00List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0_spec__0(lean_object*, lean_object*);
static const lean_string_object l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "["};
static const lean_object* l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__2 = (const lean_object*)&l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__2_value;
static lean_once_cell_t l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__7_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__7;
static lean_once_cell_t l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__8_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__8;
static const lean_ctor_object l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__9_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__2_value)}};
static const lean_object* l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__9 = (const lean_object*)&l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__9_value;
static const lean_string_object l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "]"};
static const lean_object* l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__6 = (const lean_object*)&l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__6_value;
static const lean_ctor_object l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__10_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__6_value)}};
static const lean_object* l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__10 = (const lean_object*)&l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__10_value;
LEAN_EXPORT lean_object* l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg(lean_object*);
static const lean_string_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__20_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 40, .m_capacity = 40, .m_length = 39, .m_data = "Lean.Elab.Tactic.RCases.RCasesPatt.alts"};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__20 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__20_value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__21_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__20_value)}};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__21 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__21_value;
static const lean_ctor_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__22_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 5}, .m_objs = {((lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__21_value),((lean_object*)(((size_t)(1) << 1) | 1))}};
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__22 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__22_value;
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_Format_joinSep___at___00List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0_spec__0___lam__0(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Nat_cast___at___00List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0_spec__1(lean_object*);
LEAN_EXPORT lean_object* l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___boxed(lean_object*, lean_object*);
static const lean_closure_object l_Lean_Elab_Tactic_RCases_instReprRCasesPatt___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___boxed, .m_arity = 2, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt___closed__0 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt___closed__0_value;
LEAN_EXPORT const lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt = (const lean_object*)&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt___closed__0_value;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "_"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__0_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__0_value),LEAN_SCALAR_PTR_LITERAL(168, 60, 211, 188, 58, 220, 100, 184)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__1 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__1_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__1_value)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__2 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__2_value;
LEAN_EXPORT const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__2_value;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_name_x3f___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 4, .m_capacity = 4, .m_length = 3, .m_data = "rfl"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_name_x3f___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_name_x3f___closed__0_value;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_name_x3f(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_name_x3f___boxed(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_ref(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_ref___boxed(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_asTuple(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_asAlts(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_typed_x3f(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_typed_x3f___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_tuple_x27(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_alts_x27(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_tuple_u2081Core(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_tuple_u2081(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_alts_u2081Core(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_alts_u2081(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_parenAbove(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_parenAbove___boxed(lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "-"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__0_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__0_value)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__1 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__1_value;
static lean_once_cell_t l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__2;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "@"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__3 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__3_value;
static lean_once_cell_t l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__4_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__4;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 3, .m_capacity = 3, .m_length = 2, .m_data = ": "};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__5 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__5_value;
static lean_once_cell_t l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__6_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__6;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__7_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 4, .m_capacity = 4, .m_length = 1, .m_data = "⟨"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__7 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__7_value;
static lean_once_cell_t l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__9_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__9;
static lean_once_cell_t l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__8_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__8;
static lean_once_cell_t l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__10_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__10;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__11_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 4, .m_capacity = 4, .m_length = 1, .m_data = "⟩"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__11 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__11_value;
LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt_spec__1(lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__12_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 4, .m_capacity = 4, .m_length = 3, .m_data = " | "};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__12 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__12_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__13_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__12_value)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__13 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__13_value;
static lean_once_cell_t l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__14_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__14;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt_spec__0(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___boxed(lean_object*, lean_object*);
static const lean_closure_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*1, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___boxed, .m_arity = 2, .m_num_fixed = 1, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1))} };
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData___closed__0_value;
LEAN_EXPORT const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData___closed__0_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__1_value),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor___closed__0_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor___closed__1 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor___closed__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor_match__1_splitter___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor_match__1_splitter(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor_match__3_splitter___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor_match__3_splitter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors___lam__0(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__0;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__1;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__2;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__3;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__4_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__4;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__5_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__5;
static const lean_string_object l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 24, .m_capacity = 24, .m_length = 23, .m_data = "A private declaration `"};
static const lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__6 = (const lean_object*)&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__6_value;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__7_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__7;
static const lean_string_object l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__8_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 79, .m_capacity = 79, .m_length = 78, .m_data = "` (from the current module) exists but would need to be public to access here."};
static const lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__8 = (const lean_object*)&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__8_value;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__9_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__9;
static const lean_string_object l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__10_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 23, .m_capacity = 23, .m_length = 22, .m_data = "A public declaration `"};
static const lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__10 = (const lean_object*)&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__10_value;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__11_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__11;
static const lean_string_object l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__12_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 68, .m_capacity = 68, .m_length = 67, .m_data = "` exists but is imported privately; consider adding `public import "};
static const lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__12 = (const lean_object*)&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__12_value;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__13_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__13;
static const lean_string_object l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__14_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 3, .m_capacity = 3, .m_length = 2, .m_data = "`."};
static const lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__14 = (const lean_object*)&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__14_value;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__15_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__15;
static const lean_string_object l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__16_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 10, .m_capacity = 10, .m_length = 9, .m_data = "` (from `"};
static const lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__16 = (const lean_object*)&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__16_value;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__17_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__17;
static const lean_string_object l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__18_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 54, .m_capacity = 54, .m_length = 53, .m_data = "`) exists but would need to be public to access here."};
static const lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__18 = (const lean_object*)&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__18_value;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__19_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__19;
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8_spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8_spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 19, .m_capacity = 19, .m_length = 18, .m_data = "Unknown constant `"};
static const lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__0 = (const lean_object*)&l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__0_value;
static lean_once_cell_t l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__1;
static const lean_string_object l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "`"};
static const lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__2 = (const lean_object*)&l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__2_value;
static lean_once_cell_t l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__3;
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7___redArg___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 26, .m_capacity = 26, .m_length = 25, .m_data = "Tactic `rcases` failed: `"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__0_value;
static lean_once_cell_t l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__1;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 25, .m_capacity = 25, .m_length = 24, .m_data = "` is not a free variable"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__2 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__2_value;
static lean_once_cell_t l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__3;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__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_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__10_spec__13___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__10___redArg(lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static size_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___closed__0;
static lean_once_cell_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static size_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___closed__1;
static lean_once_cell_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___closed__2;
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg(lean_object*, size_t, size_t, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__11___redArg(size_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__11___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l_panic___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__4___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_panic___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__4___closed__0;
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__6(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__0;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 24, .m_capacity = 24, .m_length = 23, .m_data = "Lean.Elab.Tactic.RCases"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__1 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__1_value;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 70, .m_capacity = 70, .m_length = 69, .m_data = "_private.Lean.Elab.Tactic.RCases.0.Lean.Elab.Tactic.RCases.rcasesCore"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__2 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__2_value;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 34, .m_capacity = 34, .m_length = 33, .m_data = "unreachable code has been reached"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__3 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__3_value;
static lean_once_cell_t l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__4_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__4;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4(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_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___boxed(lean_object**);
static lean_once_cell_t l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__0;
static const lean_array_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_array_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 246}, .m_size = 0, .m_capacity = 0, .m_data = {}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__1 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__1_value;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 5, .m_capacity = 5, .m_length = 4, .m_data = "Quot"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__2 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__2_value;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 4, .m_capacity = 4, .m_length = 3, .m_data = "ind"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__3 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__3_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__4_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__2_value),LEAN_SCALAR_PTR_LITERAL(91, 127, 250, 116, 111, 99, 160, 200)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__4_value_aux_0),((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__3_value),LEAN_SCALAR_PTR_LITERAL(150, 213, 121, 152, 109, 27, 137, 60)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__4 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__4_value;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Option_instBEq_beq___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_align_spec__0(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Option_instBEq_beq___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_align_spec__0___boxed(lean_object*, lean_object*);
static const lean_string_object l_List_foldl___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__12___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 16, .m_capacity = 16, .m_length = 15, .m_data = "while expanding"};
static const lean_object* l_List_foldl___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__12___closed__0 = (const lean_object*)&l_List_foldl___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__12___closed__0_value;
static const lean_ctor_object l_List_foldl___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__12___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_List_foldl___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__12___closed__0_value)}};
static const lean_object* l_List_foldl___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__12___closed__1 = (const lean_object*)&l_List_foldl___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__12___closed__1_value;
static lean_once_cell_t l_List_foldl___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__12___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_List_foldl___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__12___closed__2;
LEAN_EXPORT lean_object* l_List_foldl___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__12(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_Option_get___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__11(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__11___boxed(lean_object*, lean_object*);
static const lean_string_object l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 25, .m_capacity = 25, .m_length = 24, .m_data = "with resulting expansion"};
static const lean_object* l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg___closed__0 = (const lean_object*)&l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg___closed__0_value;
static const lean_ctor_object l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg___closed__0_value)}};
static const lean_object* l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg___closed__1 = (const lean_object*)&l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg___closed__1_value;
static lean_once_cell_t l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg___closed__2;
LEAN_EXPORT lean_object* l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 4, .m_capacity = 4, .m_length = 3, .m_data = " : "};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__0_value;
static lean_once_cell_t l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__1;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 31, .m_capacity = 31, .m_length = 30, .m_data = "` is not an inductive datatype"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__2 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__2_value;
static lean_once_cell_t l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__3;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue___redArg___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_closure_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___boxed, .m_arity = 6, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___closed__0_value;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__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_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_align___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__3___redArg(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_array_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__6___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_array_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 246}, .m_size = 0, .m_capacity = 0, .m_data = {}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__6___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__6___closed__0_value;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__6___boxed(lean_object**);
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 34, .m_capacity = 34, .m_length = 33, .m_data = "Tactic `rcases` failed: scrutinee"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__0_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__0_value)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__1 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__1_value;
static lean_once_cell_t l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__2;
static lean_once_cell_t l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__3;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___boxed(lean_object**);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__3___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_align___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_align(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_align___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__10(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__11(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__10_spec__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__0_spec__0(lean_object*, lean_object*, size_t, size_t);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Array_contains___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__0(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_contains___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__0___boxed(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3___lam__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3___lam__1___boxed(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3___lam__0(lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3___lam__0___boxed(lean_object*);
static const lean_closure_object l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3___lam__0___boxed, .m_arity = 1, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__0 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__0_value;
static lean_once_cell_t l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__1;
static lean_once_cell_t l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg(lean_object*, size_t, size_t, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__3(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3_spec__6___redArg(lean_object*, size_t, size_t, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3_spec__6___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3_spec__6(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_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_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish___lam__0(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__3(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__2(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__0(size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__0___boxed(lean_object*, lean_object*, lean_object*);
static const lean_array_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_array_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 246}, .m_size = 0, .m_capacity = 0, .m_data = {}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish___closed__0_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish___boxed__const__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*0 + sizeof(size_t)*1, .m_other = 0, .m_tag = 0}, .m_objs = {(lean_object*)(size_t)(0ULL)}};
LEAN_EXPORT const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish___boxed__const__1 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish___boxed__const__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg___closed__0;
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg();
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg___boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "ignore"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__0_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__1_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__5_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__1_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__1_value_aux_0),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__2_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__1_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__1_value_aux_1),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__7_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(166, 58, 35, 182, 187, 130, 147, 254)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__1_value_aux_3 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__1_value_aux_2),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1_value),LEAN_SCALAR_PTR_LITERAL(162, 181, 165, 225, 136, 177, 169, 19)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__1_value_aux_3),((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__0_value),LEAN_SCALAR_PTR_LITERAL(163, 25, 234, 135, 235, 67, 128, 26)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__1 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__1_value;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 6, .m_capacity = 6, .m_length = 5, .m_data = "clear"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__2 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__2_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__3_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__5_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__3_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__3_value_aux_0),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__2_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__3_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__3_value_aux_1),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__7_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(166, 58, 35, 182, 187, 130, 147, 254)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__3_value_aux_3 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__3_value_aux_2),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1_value),LEAN_SCALAR_PTR_LITERAL(162, 181, 165, 225, 136, 177, 169, 19)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__3_value_aux_3),((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__2_value),LEAN_SCALAR_PTR_LITERAL(106, 140, 213, 205, 205, 202, 106, 99)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__3 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__3_value;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 9, .m_capacity = 9, .m_length = 8, .m_data = "explicit"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__4 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__4_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__5_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__5_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__5_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__5_value_aux_0),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__2_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__5_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__5_value_aux_1),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__7_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(166, 58, 35, 182, 187, 130, 147, 254)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__5_value_aux_3 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__5_value_aux_2),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1_value),LEAN_SCALAR_PTR_LITERAL(162, 181, 165, 225, 136, 177, 169, 19)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__5_value_aux_3),((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__4_value),LEAN_SCALAR_PTR_LITERAL(176, 12, 240, 143, 52, 56, 179, 56)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__5 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__5_value;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 6, .m_capacity = 6, .m_length = 5, .m_data = "tuple"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__6 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__6_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__7_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__5_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__7_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__7_value_aux_0),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__2_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__7_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__7_value_aux_1),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__7_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(166, 58, 35, 182, 187, 130, 147, 254)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__7_value_aux_3 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__7_value_aux_2),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1_value),LEAN_SCALAR_PTR_LITERAL(162, 181, 165, 225, 136, 177, 169, 19)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__7_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__7_value_aux_3),((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__6_value),LEAN_SCALAR_PTR_LITERAL(50, 241, 13, 230, 132, 227, 26, 91)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__7 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__7_value;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__8_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 6, .m_capacity = 6, .m_length = 5, .m_data = "paren"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__8 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__8_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__9_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__5_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__9_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__9_value_aux_0),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__2_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__9_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__9_value_aux_1),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__7_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(166, 58, 35, 182, 187, 130, 147, 254)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__9_value_aux_3 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__9_value_aux_2),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1_value),LEAN_SCALAR_PTR_LITERAL(162, 181, 165, 225, 136, 177, 169, 19)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__9_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__9_value_aux_3),((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__8_value),LEAN_SCALAR_PTR_LITERAL(201, 230, 23, 208, 164, 113, 201, 132)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__9 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__9_value;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__10_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 6, .m_capacity = 6, .m_length = 5, .m_data = "ident"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__10 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__10_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__11_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__10_value),LEAN_SCALAR_PTR_LITERAL(52, 159, 208, 51, 14, 60, 6, 71)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__11 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__11_value;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar_spec__0___redArg(lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar_spec__1(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish___closed__0_value),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar___closed__0_value;
static const lean_array_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_array_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 246}, .m_size = 0, .m_capacity = 0, .m_data = {}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar___closed__1 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar___closed__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar_spec__0(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00Lean_Elab_Tactic_RCases_rcases_spec__1_spec__1(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00Lean_Elab_Tactic_RCases_rcases_spec__1_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_array_object l_Array_filterMapM___at___00Lean_Elab_Tactic_RCases_rcases_spec__1___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_array_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 246}, .m_size = 0, .m_capacity = 0, .m_data = {}};
static const lean_object* l_Array_filterMapM___at___00Lean_Elab_Tactic_RCases_rcases_spec__1___closed__0 = (const lean_object*)&l_Array_filterMapM___at___00Lean_Elab_Tactic_RCases_rcases_spec__1___closed__0_value;
LEAN_EXPORT lean_object* l_Array_filterMapM___at___00Lean_Elab_Tactic_RCases_rcases_spec__1(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_filterMapM___at___00Lean_Elab_Tactic_RCases_rcases_spec__1___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_zipWithMAux___at___00Lean_Elab_Tactic_RCases_rcases_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_zipWithMAux___at___00Lean_Elab_Tactic_RCases_rcases_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_array_object l_Lean_Elab_Tactic_RCases_rcases___lam__0___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_array_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 246}, .m_size = 0, .m_capacity = 0, .m_data = {}};
static const lean_object* l_Lean_Elab_Tactic_RCases_rcases___lam__0___closed__0 = (const lean_object*)&l_Lean_Elab_Tactic_RCases_rcases___lam__0___closed__0_value;
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rcases___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rcases___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_ctor_object l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Elab_Tactic_RCases_rcases_spec__2___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 8, .m_other = 1, .m_tag = 0}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__1_value),LEAN_SCALAR_PTR_LITERAL(0, 0, 0, 0, 0, 0, 0, 0)}};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Elab_Tactic_RCases_rcases_spec__2___closed__0 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Elab_Tactic_RCases_rcases_spec__2___closed__0_value;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Elab_Tactic_RCases_rcases_spec__2(size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Elab_Tactic_RCases_rcases_spec__2___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rcases___lam__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*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rcases___lam__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rcases(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rcases___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_array_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone___lam__0___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_array_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 246}, .m_size = 0, .m_capacity = 0, .m_data = {}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone___lam__0___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone___lam__0___closed__0_value;
static const lean_closure_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone___lam__0___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*1, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish___boxed, .m_arity = 12, .m_num_fixed = 1, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone___lam__0___closed__0_value)} };
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone___lam__0___closed__1 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone___lam__0___closed__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "binder"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__0_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__1_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__5_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__1_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__1_value_aux_0),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__2_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__1_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__1_value_aux_1),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__7_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(166, 58, 35, 182, 187, 130, 147, 254)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__1_value_aux_3 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__1_value_aux_2),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0_value),LEAN_SCALAR_PTR_LITERAL(120, 93, 179, 129, 121, 199, 215, 253)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__1_value_aux_3),((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__0_value),LEAN_SCALAR_PTR_LITERAL(201, 86, 105, 110, 83, 1, 132, 81)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__1 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__1_value;
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_expandRIntroPats(lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "("};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__2 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__2_value;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = ":"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__3 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__3_value;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = ")"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__4 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__4_value;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Elab_Tactic_RCases_expandRIntroPats_spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Elab_Tactic_RCases_expandRIntroPats_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_expandRIntroPats___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore_spec__1___redArg();
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore_spec__1___redArg___boxed(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue_loop___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue_loop___boxed(lean_object**);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue_loop___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue_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*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rintro___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rintro___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rintro(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rintro___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0___redArg();
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0___redArg___boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_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_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__1___redArg(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "rcases"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___closed__0_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___closed__1_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__5_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___closed__1_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___closed__1_value_aux_0),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__2_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___closed__1_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___closed__1_value_aux_1),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__7_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(166, 58, 35, 182, 187, 130, 147, 254)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___closed__1_value_aux_2),((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___closed__0_value),LEAN_SCALAR_PTR_LITERAL(140, 76, 101, 33, 30, 11, 121, 59)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___closed__1 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___closed__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_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_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 9, .m_capacity = 9, .m_length = 8, .m_data = "_private"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__0_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 214, 75, 80, 34, 198, 193, 153)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__1 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__1_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__1_value),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__5_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(90, 18, 126, 130, 18, 214, 172, 143)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__2 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__2_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__2_value),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__6_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(216, 59, 67, 7, 118, 215, 141, 75)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__3 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__3_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__3_value),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__7_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(133, 58, 227, 168, 195, 28, 19, 75)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__4 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__4_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__4_value),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__8_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(122, 52, 29, 174, 40, 151, 224, 90)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__5 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__5_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 2}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__5_value),((lean_object*)(((size_t)(0) << 1) | 1)),LEAN_SCALAR_PTR_LITERAL(27, 179, 90, 171, 127, 72, 101, 110)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__6 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__6_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__7_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__6_value),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__5_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(38, 117, 212, 174, 24, 179, 108, 47)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__7 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__7_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__8_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__7_value),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__6_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(84, 219, 0, 232, 118, 1, 211, 207)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__8 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__8_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__9_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__8_value),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__7_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(1, 24, 171, 126, 91, 218, 61, 233)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__9 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__9_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__10_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__9_value),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__8_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(78, 47, 146, 235, 255, 63, 27, 133)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__10 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__10_value;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__11_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 11, .m_capacity = 11, .m_length = 10, .m_data = "evalRCases"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__11 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__11_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__12_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__10_value),((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__11_value),LEAN_SCALAR_PTR_LITERAL(68, 30, 19, 113, 199, 28, 14, 204)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__12 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__12_value;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1();
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___boxed(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___lam__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__1___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__0(size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__0___boxed(lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "obtain"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__0_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__1_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__5_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__1_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__1_value_aux_0),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__2_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__1_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__1_value_aux_1),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__7_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(166, 58, 35, 182, 187, 130, 147, 254)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__1_value_aux_2),((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__0_value),LEAN_SCALAR_PTR_LITERAL(11, 177, 143, 165, 56, 37, 104, 113)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__1 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__1_value;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 5, .m_capacity = 5, .m_length = 4, .m_data = "this"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__2 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__2_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__2_value),LEAN_SCALAR_PTR_LITERAL(38, 116, 214, 236, 212, 160, 188, 150)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__3 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__3_value;
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 140, .m_capacity = 140, .m_length = 131, .m_data = "`obtain` requires either an expected type or a value.\nusage: `obtain ⟨patt⟩\? : type (:= val)\?` or `obtain ⟨patt⟩\? (: type)\? := val`"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__4 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__4_value;
static lean_once_cell_t l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__5_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__5;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_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*);
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain__1___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 11, .m_capacity = 11, .m_length = 10, .m_data = "evalObtain"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain__1___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain__1___closed__0_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain__1___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__10_value),((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain__1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(71, 145, 236, 142, 97, 1, 16, 15)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain__1___closed__1 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain__1___closed__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain__1();
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain__1___boxed(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "rintro"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___closed__0_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___closed__1_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__5_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___closed__1_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___closed__1_value_aux_0),((lean_object*)&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__2_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___closed__1_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___closed__1_value_aux_1),((lean_object*)&l_Lean_Elab_Tactic_RCases_initFn___closed__7_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(166, 58, 35, 182, 187, 130, 147, 254)}};
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___closed__1_value_aux_2),((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___closed__0_value),LEAN_SCALAR_PTR_LITERAL(170, 254, 242, 235, 94, 162, 254, 146)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___closed__1 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___closed__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro__1___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 11, .m_capacity = 11, .m_length = 10, .m_data = "evalRIntro"};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro__1___closed__0 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro__1___closed__0_value;
static const lean_ctor_object l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro__1___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__10_value),((lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro__1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(113, 67, 34, 189, 79, 70, 53, 44)}};
static const lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro__1___closed__1 = (const lean_object*)&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro__1___closed__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro__1();
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro__1___boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Option_register___at___00Lean_Elab_Tactic_RCases_initFn_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__spec__0(lean_object* v_name_1_, lean_object* v_decl_2_, lean_object* v_ref_3_){
_start:
{
lean_object* v_defValue_5_; lean_object* v_descr_6_; lean_object* v___x_8_; uint8_t v_isShared_9_; uint8_t v_isSharedCheck_33_; 
v_defValue_5_ = lean_ctor_get(v_decl_2_, 0);
v_descr_6_ = lean_ctor_get(v_decl_2_, 1);
v_isSharedCheck_33_ = !lean_is_exclusive(v_decl_2_);
if (v_isSharedCheck_33_ == 0)
{
v___x_8_ = v_decl_2_;
v_isShared_9_ = v_isSharedCheck_33_;
goto v_resetjp_7_;
}
else
{
lean_inc(v_descr_6_);
lean_inc(v_defValue_5_);
lean_dec(v_decl_2_);
v___x_8_ = lean_box(0);
v_isShared_9_ = v_isSharedCheck_33_;
goto v_resetjp_7_;
}
v_resetjp_7_:
{
lean_object* v___x_10_; uint8_t v___x_11_; lean_object* v___x_12_; lean_object* v___x_13_; 
v___x_10_ = lean_alloc_ctor(1, 0, 1);
v___x_11_ = lean_unbox(v_defValue_5_);
lean_ctor_set_uint8(v___x_10_, 0, v___x_11_);
lean_inc(v_name_1_);
v___x_12_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_12_, 0, v_name_1_);
lean_ctor_set(v___x_12_, 1, v_ref_3_);
lean_ctor_set(v___x_12_, 2, v___x_10_);
lean_ctor_set(v___x_12_, 3, v_descr_6_);
lean_inc(v_name_1_);
v___x_13_ = lean_register_option(v_name_1_, v___x_12_);
if (lean_obj_tag(v___x_13_) == 0)
{
lean_object* v___x_15_; uint8_t v_isShared_16_; uint8_t v_isSharedCheck_23_; 
v_isSharedCheck_23_ = !lean_is_exclusive(v___x_13_);
if (v_isSharedCheck_23_ == 0)
{
lean_object* v_unused_24_; 
v_unused_24_ = lean_ctor_get(v___x_13_, 0);
lean_dec(v_unused_24_);
v___x_15_ = v___x_13_;
v_isShared_16_ = v_isSharedCheck_23_;
goto v_resetjp_14_;
}
else
{
lean_dec(v___x_13_);
v___x_15_ = lean_box(0);
v_isShared_16_ = v_isSharedCheck_23_;
goto v_resetjp_14_;
}
v_resetjp_14_:
{
lean_object* v___x_18_; 
if (v_isShared_9_ == 0)
{
lean_ctor_set(v___x_8_, 1, v_defValue_5_);
lean_ctor_set(v___x_8_, 0, v_name_1_);
v___x_18_ = v___x_8_;
goto v_reusejp_17_;
}
else
{
lean_object* v_reuseFailAlloc_22_; 
v_reuseFailAlloc_22_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_22_, 0, v_name_1_);
lean_ctor_set(v_reuseFailAlloc_22_, 1, v_defValue_5_);
v___x_18_ = v_reuseFailAlloc_22_;
goto v_reusejp_17_;
}
v_reusejp_17_:
{
lean_object* v___x_20_; 
if (v_isShared_16_ == 0)
{
lean_ctor_set(v___x_15_, 0, v___x_18_);
v___x_20_ = v___x_15_;
goto v_reusejp_19_;
}
else
{
lean_object* v_reuseFailAlloc_21_; 
v_reuseFailAlloc_21_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_21_, 0, v___x_18_);
v___x_20_ = v_reuseFailAlloc_21_;
goto v_reusejp_19_;
}
v_reusejp_19_:
{
return v___x_20_;
}
}
}
}
else
{
lean_object* v_a_25_; lean_object* v___x_27_; uint8_t v_isShared_28_; uint8_t v_isSharedCheck_32_; 
lean_del_object(v___x_8_);
lean_dec(v_defValue_5_);
lean_dec(v_name_1_);
v_a_25_ = lean_ctor_get(v___x_13_, 0);
v_isSharedCheck_32_ = !lean_is_exclusive(v___x_13_);
if (v_isSharedCheck_32_ == 0)
{
v___x_27_ = v___x_13_;
v_isShared_28_ = v_isSharedCheck_32_;
goto v_resetjp_26_;
}
else
{
lean_inc(v_a_25_);
lean_dec(v___x_13_);
v___x_27_ = lean_box(0);
v_isShared_28_ = v_isSharedCheck_32_;
goto v_resetjp_26_;
}
v_resetjp_26_:
{
lean_object* v___x_30_; 
if (v_isShared_28_ == 0)
{
v___x_30_ = v___x_27_;
goto v_reusejp_29_;
}
else
{
lean_object* v_reuseFailAlloc_31_; 
v_reuseFailAlloc_31_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_31_, 0, v_a_25_);
v___x_30_ = v_reuseFailAlloc_31_;
goto v_reusejp_29_;
}
v_reusejp_29_:
{
return v___x_30_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Option_register___at___00Lean_Elab_Tactic_RCases_initFn_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__spec__0___boxed(lean_object* v_name_34_, lean_object* v_decl_35_, lean_object* v_ref_36_, lean_object* v_a_37_){
_start:
{
lean_object* v_res_38_; 
v_res_38_ = l_Lean_Option_register___at___00Lean_Elab_Tactic_RCases_initFn_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__spec__0(v_name_34_, v_decl_35_, v_ref_36_);
return v_res_38_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_initFn_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4_(){
_start:
{
lean_object* v___x_61_; lean_object* v___x_62_; lean_object* v___x_63_; lean_object* v___x_64_; 
v___x_61_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_initFn___closed__2_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4_));
v___x_62_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_initFn___closed__4_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4_));
v___x_63_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_initFn___closed__9_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4_));
v___x_64_ = l_Lean_Option_register___at___00Lean_Elab_Tactic_RCases_initFn_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4__spec__0(v___x_61_, v___x_62_, v___x_63_);
return v___x_64_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_initFn_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4____boxed(lean_object* v_a_65_){
_start:
{
lean_object* v_res_66_; 
v_res_66_ = l_Lean_Elab_Tactic_RCases_initFn_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4_();
return v_res_66_;
}
}
static lean_object* _init_l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0(void){
_start:
{
uint8_t v___x_67_; lean_object* v___x_68_; lean_object* v___x_69_; 
v___x_67_ = 0;
v___x_68_ = lean_box(0);
v___x_69_ = l_Lean_SourceInfo_fromRef(v___x_68_, v___x_67_);
return v___x_69_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0(lean_object* v_stx_79_){
_start:
{
lean_object* v___x_80_; lean_object* v___x_81_; lean_object* v___x_82_; 
v___x_80_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0, &l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0_once, _init_l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0);
v___x_81_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__4));
v___x_82_ = l_Lean_Syntax_node1(v___x_80_, v___x_81_, v_stx_79_);
return v___x_82_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0(lean_object* v_stx_94_){
_start:
{
lean_object* v___x_95_; lean_object* v___x_96_; lean_object* v___x_97_; lean_object* v___x_98_; lean_object* v___x_99_; 
v___x_95_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0, &l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0_once, _init_l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0);
v___x_96_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__1));
v___x_97_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__3));
v___x_98_ = l_Lean_Syntax_node1(v___x_95_, v___x_97_, v_stx_94_);
v___x_99_ = l_Lean_Syntax_node1(v___x_95_, v___x_96_, v___x_98_);
return v___x_99_;
}
}
static lean_object* _init_l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__2(void){
_start:
{
lean_object* v___x_108_; 
v___x_108_ = l_Array_mkArray0(lean_box(0));
return v___x_108_;
}
}
static lean_object* _init_l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__3(void){
_start:
{
lean_object* v___x_109_; lean_object* v___x_110_; lean_object* v___x_111_; lean_object* v___x_112_; 
v___x_109_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__2, &l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__2_once, _init_l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__2);
v___x_110_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__3));
v___x_111_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0, &l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0_once, _init_l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0);
v___x_112_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v___x_112_, 0, v___x_111_);
lean_ctor_set(v___x_112_, 1, v___x_110_);
lean_ctor_set(v___x_112_, 2, v___x_109_);
return v___x_112_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0(lean_object* v_stx_113_){
_start:
{
lean_object* v___x_114_; lean_object* v___x_115_; lean_object* v___x_116_; lean_object* v___x_117_; 
v___x_114_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0, &l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0_once, _init_l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0);
v___x_115_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__1));
v___x_116_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__3, &l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__3_once, _init_l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__3);
v___x_117_ = l_Lean_Syntax_node2(v___x_114_, v___x_115_, v_stx_113_, v___x_116_);
return v___x_117_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0(lean_object* v_stx_127_){
_start:
{
lean_object* v___x_128_; lean_object* v___x_129_; lean_object* v___x_130_; 
v___x_128_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0, &l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0_once, _init_l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__0);
v___x_129_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1));
v___x_130_ = l_Lean_Syntax_node1(v___x_128_, v___x_129_, v_stx_127_);
return v___x_130_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorIdx(lean_object* v_x_133_){
_start:
{
switch(lean_obj_tag(v_x_133_))
{
case 0:
{
lean_object* v___x_134_; 
v___x_134_ = lean_unsigned_to_nat(0u);
return v___x_134_;
}
case 1:
{
lean_object* v___x_135_; 
v___x_135_ = lean_unsigned_to_nat(1u);
return v___x_135_;
}
case 2:
{
lean_object* v___x_136_; 
v___x_136_ = lean_unsigned_to_nat(2u);
return v___x_136_;
}
case 3:
{
lean_object* v___x_137_; 
v___x_137_ = lean_unsigned_to_nat(3u);
return v___x_137_;
}
case 4:
{
lean_object* v___x_138_; 
v___x_138_ = lean_unsigned_to_nat(4u);
return v___x_138_;
}
case 5:
{
lean_object* v___x_139_; 
v___x_139_ = lean_unsigned_to_nat(5u);
return v___x_139_;
}
default: 
{
lean_object* v___x_140_; 
v___x_140_ = lean_unsigned_to_nat(6u);
return v___x_140_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorIdx___boxed(lean_object* v_x_141_){
_start:
{
lean_object* v_res_142_; 
v_res_142_ = l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorIdx(v_x_141_);
lean_dec_ref(v_x_141_);
return v_res_142_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim___redArg(lean_object* v_t_143_, lean_object* v_k_144_){
_start:
{
switch(lean_obj_tag(v_t_143_))
{
case 0:
{
lean_object* v_ref_145_; lean_object* v_a_146_; lean_object* v___x_147_; 
v_ref_145_ = lean_ctor_get(v_t_143_, 0);
lean_inc(v_ref_145_);
v_a_146_ = lean_ctor_get(v_t_143_, 1);
lean_inc_ref(v_a_146_);
lean_dec_ref(v_t_143_);
v___x_147_ = lean_apply_2(v_k_144_, v_ref_145_, v_a_146_);
return v___x_147_;
}
case 2:
{
lean_object* v_ref_148_; lean_object* v___x_149_; 
v_ref_148_ = lean_ctor_get(v_t_143_, 0);
lean_inc(v_ref_148_);
lean_dec_ref(v_t_143_);
v___x_149_ = lean_apply_1(v_k_144_, v_ref_148_);
return v___x_149_;
}
case 3:
{
lean_object* v_ref_150_; lean_object* v_a_151_; lean_object* v___x_152_; 
v_ref_150_ = lean_ctor_get(v_t_143_, 0);
lean_inc(v_ref_150_);
v_a_151_ = lean_ctor_get(v_t_143_, 1);
lean_inc_ref(v_a_151_);
lean_dec_ref(v_t_143_);
v___x_152_ = lean_apply_2(v_k_144_, v_ref_150_, v_a_151_);
return v___x_152_;
}
case 4:
{
lean_object* v_ref_153_; lean_object* v_a_154_; lean_object* v_a_155_; lean_object* v___x_156_; 
v_ref_153_ = lean_ctor_get(v_t_143_, 0);
lean_inc(v_ref_153_);
v_a_154_ = lean_ctor_get(v_t_143_, 1);
lean_inc_ref(v_a_154_);
v_a_155_ = lean_ctor_get(v_t_143_, 2);
lean_inc(v_a_155_);
lean_dec_ref(v_t_143_);
v___x_156_ = lean_apply_3(v_k_144_, v_ref_153_, v_a_154_, v_a_155_);
return v___x_156_;
}
default: 
{
lean_object* v_ref_157_; lean_object* v_a_158_; lean_object* v___x_159_; 
v_ref_157_ = lean_ctor_get(v_t_143_, 0);
lean_inc(v_ref_157_);
v_a_158_ = lean_ctor_get(v_t_143_, 1);
lean_inc(v_a_158_);
lean_dec_ref(v_t_143_);
v___x_159_ = lean_apply_2(v_k_144_, v_ref_157_, v_a_158_);
return v___x_159_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim(lean_object* v_motive__1_160_, lean_object* v_ctorIdx_161_, lean_object* v_t_162_, lean_object* v_h_163_, lean_object* v_k_164_){
_start:
{
lean_object* v___x_165_; 
v___x_165_ = l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim___redArg(v_t_162_, v_k_164_);
return v___x_165_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim___boxed(lean_object* v_motive__1_166_, lean_object* v_ctorIdx_167_, lean_object* v_t_168_, lean_object* v_h_169_, lean_object* v_k_170_){
_start:
{
lean_object* v_res_171_; 
v_res_171_ = l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim(v_motive__1_166_, v_ctorIdx_167_, v_t_168_, v_h_169_, v_k_170_);
lean_dec(v_ctorIdx_167_);
return v_res_171_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_paren_elim___redArg(lean_object* v_t_172_, lean_object* v_paren_173_){
_start:
{
lean_object* v___x_174_; 
v___x_174_ = l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim___redArg(v_t_172_, v_paren_173_);
return v___x_174_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_paren_elim(lean_object* v_motive__1_175_, lean_object* v_t_176_, lean_object* v_h_177_, lean_object* v_paren_178_){
_start:
{
lean_object* v___x_179_; 
v___x_179_ = l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim___redArg(v_t_176_, v_paren_178_);
return v___x_179_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_one_elim___redArg(lean_object* v_t_180_, lean_object* v_one_181_){
_start:
{
lean_object* v___x_182_; 
v___x_182_ = l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim___redArg(v_t_180_, v_one_181_);
return v___x_182_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_one_elim(lean_object* v_motive__1_183_, lean_object* v_t_184_, lean_object* v_h_185_, lean_object* v_one_186_){
_start:
{
lean_object* v___x_187_; 
v___x_187_ = l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim___redArg(v_t_184_, v_one_186_);
return v___x_187_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_clear_elim___redArg(lean_object* v_t_188_, lean_object* v_clear_189_){
_start:
{
lean_object* v___x_190_; 
v___x_190_ = l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim___redArg(v_t_188_, v_clear_189_);
return v___x_190_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_clear_elim(lean_object* v_motive__1_191_, lean_object* v_t_192_, lean_object* v_h_193_, lean_object* v_clear_194_){
_start:
{
lean_object* v___x_195_; 
v___x_195_ = l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim___redArg(v_t_192_, v_clear_194_);
return v___x_195_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_explicit_elim___redArg(lean_object* v_t_196_, lean_object* v_explicit_197_){
_start:
{
lean_object* v___x_198_; 
v___x_198_ = l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim___redArg(v_t_196_, v_explicit_197_);
return v___x_198_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_explicit_elim(lean_object* v_motive__1_199_, lean_object* v_t_200_, lean_object* v_h_201_, lean_object* v_explicit_202_){
_start:
{
lean_object* v___x_203_; 
v___x_203_ = l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim___redArg(v_t_200_, v_explicit_202_);
return v___x_203_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_typed_elim___redArg(lean_object* v_t_204_, lean_object* v_typed_205_){
_start:
{
lean_object* v___x_206_; 
v___x_206_ = l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim___redArg(v_t_204_, v_typed_205_);
return v___x_206_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_typed_elim(lean_object* v_motive__1_207_, lean_object* v_t_208_, lean_object* v_h_209_, lean_object* v_typed_210_){
_start:
{
lean_object* v___x_211_; 
v___x_211_ = l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim___redArg(v_t_208_, v_typed_210_);
return v___x_211_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_tuple_elim___redArg(lean_object* v_t_212_, lean_object* v_tuple_213_){
_start:
{
lean_object* v___x_214_; 
v___x_214_ = l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim___redArg(v_t_212_, v_tuple_213_);
return v___x_214_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_tuple_elim(lean_object* v_motive__1_215_, lean_object* v_t_216_, lean_object* v_h_217_, lean_object* v_tuple_218_){
_start:
{
lean_object* v___x_219_; 
v___x_219_ = l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim___redArg(v_t_216_, v_tuple_218_);
return v___x_219_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_alts_elim___redArg(lean_object* v_t_220_, lean_object* v_alts_221_){
_start:
{
lean_object* v___x_222_; 
v___x_222_ = l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim___redArg(v_t_220_, v_alts_221_);
return v___x_222_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_RCasesPatt_alts_elim(lean_object* v_motive__1_223_, lean_object* v_t_224_, lean_object* v_h_225_, lean_object* v_alts_226_){
_start:
{
lean_object* v___x_227_; 
v___x_227_ = l_Lean_Elab_Tactic_RCases_RCasesPatt_ctorElim___redArg(v_t_224_, v_alts_226_);
return v___x_227_;
}
}
static lean_object* _init_l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3(void){
_start:
{
lean_object* v___x_234_; lean_object* v___x_235_; 
v___x_234_ = lean_unsigned_to_nat(2u);
v___x_235_ = lean_nat_to_int(v___x_234_);
return v___x_235_;
}
}
static lean_object* _init_l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4(void){
_start:
{
lean_object* v___x_236_; lean_object* v___x_237_; 
v___x_236_ = lean_unsigned_to_nat(1u);
v___x_237_ = lean_nat_to_int(v___x_236_);
return v___x_237_;
}
}
LEAN_EXPORT lean_object* l_List_foldl___at___00List_foldl___at___00Std_Format_joinSep___at___00List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0_spec__0_spec__1_spec__3(lean_object* v_x_277_, lean_object* v_x_278_, lean_object* v_x_279_){
_start:
{
if (lean_obj_tag(v_x_279_) == 0)
{
lean_dec(v_x_277_);
return v_x_278_;
}
else
{
lean_object* v_head_280_; lean_object* v_tail_281_; lean_object* v___x_283_; uint8_t v_isShared_284_; uint8_t v_isSharedCheck_292_; 
v_head_280_ = lean_ctor_get(v_x_279_, 0);
v_tail_281_ = lean_ctor_get(v_x_279_, 1);
v_isSharedCheck_292_ = !lean_is_exclusive(v_x_279_);
if (v_isSharedCheck_292_ == 0)
{
v___x_283_ = v_x_279_;
v_isShared_284_ = v_isSharedCheck_292_;
goto v_resetjp_282_;
}
else
{
lean_inc(v_tail_281_);
lean_inc(v_head_280_);
lean_dec(v_x_279_);
v___x_283_ = lean_box(0);
v_isShared_284_ = v_isSharedCheck_292_;
goto v_resetjp_282_;
}
v_resetjp_282_:
{
lean_object* v___x_286_; 
lean_inc(v_x_277_);
if (v_isShared_284_ == 0)
{
lean_ctor_set_tag(v___x_283_, 5);
lean_ctor_set(v___x_283_, 1, v_x_277_);
lean_ctor_set(v___x_283_, 0, v_x_278_);
v___x_286_ = v___x_283_;
goto v_reusejp_285_;
}
else
{
lean_object* v_reuseFailAlloc_291_; 
v_reuseFailAlloc_291_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v_reuseFailAlloc_291_, 0, v_x_278_);
lean_ctor_set(v_reuseFailAlloc_291_, 1, v_x_277_);
v___x_286_ = v_reuseFailAlloc_291_;
goto v_reusejp_285_;
}
v_reusejp_285_:
{
lean_object* v___x_287_; lean_object* v___x_288_; lean_object* v___x_289_; 
v___x_287_ = lean_unsigned_to_nat(0u);
v___x_288_ = l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr(v_head_280_, v___x_287_);
v___x_289_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_289_, 0, v___x_286_);
lean_ctor_set(v___x_289_, 1, v___x_288_);
v_x_278_ = v___x_289_;
v_x_279_ = v_tail_281_;
goto _start;
}
}
}
}
}
LEAN_EXPORT lean_object* l_List_foldl___at___00Std_Format_joinSep___at___00List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0_spec__0_spec__1(lean_object* v_x_293_, lean_object* v_x_294_, lean_object* v_x_295_){
_start:
{
if (lean_obj_tag(v_x_295_) == 0)
{
lean_dec(v_x_293_);
return v_x_294_;
}
else
{
lean_object* v_head_296_; lean_object* v_tail_297_; lean_object* v___x_299_; uint8_t v_isShared_300_; uint8_t v_isSharedCheck_308_; 
v_head_296_ = lean_ctor_get(v_x_295_, 0);
v_tail_297_ = lean_ctor_get(v_x_295_, 1);
v_isSharedCheck_308_ = !lean_is_exclusive(v_x_295_);
if (v_isSharedCheck_308_ == 0)
{
v___x_299_ = v_x_295_;
v_isShared_300_ = v_isSharedCheck_308_;
goto v_resetjp_298_;
}
else
{
lean_inc(v_tail_297_);
lean_inc(v_head_296_);
lean_dec(v_x_295_);
v___x_299_ = lean_box(0);
v_isShared_300_ = v_isSharedCheck_308_;
goto v_resetjp_298_;
}
v_resetjp_298_:
{
lean_object* v___x_302_; 
lean_inc(v_x_293_);
if (v_isShared_300_ == 0)
{
lean_ctor_set_tag(v___x_299_, 5);
lean_ctor_set(v___x_299_, 1, v_x_293_);
lean_ctor_set(v___x_299_, 0, v_x_294_);
v___x_302_ = v___x_299_;
goto v_reusejp_301_;
}
else
{
lean_object* v_reuseFailAlloc_307_; 
v_reuseFailAlloc_307_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v_reuseFailAlloc_307_, 0, v_x_294_);
lean_ctor_set(v_reuseFailAlloc_307_, 1, v_x_293_);
v___x_302_ = v_reuseFailAlloc_307_;
goto v_reusejp_301_;
}
v_reusejp_301_:
{
lean_object* v___x_303_; lean_object* v___x_304_; lean_object* v___x_305_; lean_object* v___x_306_; 
v___x_303_ = lean_unsigned_to_nat(0u);
v___x_304_ = l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr(v_head_296_, v___x_303_);
v___x_305_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_305_, 0, v___x_302_);
lean_ctor_set(v___x_305_, 1, v___x_304_);
v___x_306_ = l_List_foldl___at___00List_foldl___at___00Std_Format_joinSep___at___00List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0_spec__0_spec__1_spec__3(v_x_293_, v___x_305_, v_tail_297_);
return v___x_306_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Std_Format_joinSep___at___00List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0_spec__0(lean_object* v_x_309_, lean_object* v_x_310_){
_start:
{
if (lean_obj_tag(v_x_309_) == 0)
{
lean_object* v___x_311_; 
lean_dec(v_x_310_);
v___x_311_ = lean_box(0);
return v___x_311_;
}
else
{
lean_object* v_tail_312_; 
v_tail_312_ = lean_ctor_get(v_x_309_, 1);
if (lean_obj_tag(v_tail_312_) == 0)
{
lean_object* v_head_313_; lean_object* v___x_314_; 
lean_dec(v_x_310_);
v_head_313_ = lean_ctor_get(v_x_309_, 0);
lean_inc(v_head_313_);
lean_dec_ref(v_x_309_);
v___x_314_ = l_Std_Format_joinSep___at___00List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0_spec__0___lam__0(v_head_313_);
return v___x_314_;
}
else
{
lean_object* v_head_315_; lean_object* v___x_316_; lean_object* v___x_317_; 
lean_inc(v_tail_312_);
v_head_315_ = lean_ctor_get(v_x_309_, 0);
lean_inc(v_head_315_);
lean_dec_ref(v_x_309_);
v___x_316_ = l_Std_Format_joinSep___at___00List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0_spec__0___lam__0(v_head_315_);
v___x_317_ = l_List_foldl___at___00Std_Format_joinSep___at___00List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0_spec__0_spec__1(v_x_310_, v___x_316_, v_tail_312_);
return v___x_317_;
}
}
}
}
static lean_object* _init_l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__7(void){
_start:
{
lean_object* v___x_319_; lean_object* v___x_320_; 
v___x_319_ = ((lean_object*)(l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__2));
v___x_320_ = lean_string_length(v___x_319_);
return v___x_320_;
}
}
static lean_object* _init_l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__8(void){
_start:
{
lean_object* v___x_321_; lean_object* v___x_322_; 
v___x_321_ = lean_obj_once(&l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__7, &l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__7_once, _init_l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__7);
v___x_322_ = lean_nat_to_int(v___x_321_);
return v___x_322_;
}
}
LEAN_EXPORT lean_object* l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg(lean_object* v_a_328_){
_start:
{
if (lean_obj_tag(v_a_328_) == 0)
{
lean_object* v___x_329_; 
v___x_329_ = ((lean_object*)(l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__1));
return v___x_329_;
}
else
{
lean_object* v___x_330_; lean_object* v___x_331_; lean_object* v___x_332_; lean_object* v___x_333_; lean_object* v___x_334_; lean_object* v___x_335_; lean_object* v___x_336_; lean_object* v___x_337_; uint8_t v___x_338_; lean_object* v___x_339_; 
v___x_330_ = ((lean_object*)(l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__5));
v___x_331_ = l_Std_Format_joinSep___at___00List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0_spec__0(v_a_328_, v___x_330_);
v___x_332_ = lean_obj_once(&l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__8, &l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__8_once, _init_l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__8);
v___x_333_ = ((lean_object*)(l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__9));
v___x_334_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_334_, 0, v___x_333_);
lean_ctor_set(v___x_334_, 1, v___x_331_);
v___x_335_ = ((lean_object*)(l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__10));
v___x_336_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_336_, 0, v___x_334_);
lean_ctor_set(v___x_336_, 1, v___x_335_);
v___x_337_ = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(v___x_337_, 0, v___x_332_);
lean_ctor_set(v___x_337_, 1, v___x_336_);
v___x_338_ = 0;
v___x_339_ = lean_alloc_ctor(6, 1, 1);
lean_ctor_set(v___x_339_, 0, v___x_337_);
lean_ctor_set_uint8(v___x_339_, sizeof(void*)*1, v___x_338_);
return v___x_339_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr(lean_object* v_x_346_, lean_object* v_prec_347_){
_start:
{
switch(lean_obj_tag(v_x_346_))
{
case 0:
{
lean_object* v_ref_348_; lean_object* v_a_349_; lean_object* v___x_351_; uint8_t v_isShared_352_; uint8_t v_isSharedCheck_372_; 
v_ref_348_ = lean_ctor_get(v_x_346_, 0);
v_a_349_ = lean_ctor_get(v_x_346_, 1);
v_isSharedCheck_372_ = !lean_is_exclusive(v_x_346_);
if (v_isSharedCheck_372_ == 0)
{
v___x_351_ = v_x_346_;
v_isShared_352_ = v_isSharedCheck_372_;
goto v_resetjp_350_;
}
else
{
lean_inc(v_a_349_);
lean_inc(v_ref_348_);
lean_dec(v_x_346_);
v___x_351_ = lean_box(0);
v_isShared_352_ = v_isSharedCheck_372_;
goto v_resetjp_350_;
}
v_resetjp_350_:
{
lean_object* v___x_353_; lean_object* v___y_355_; uint8_t v___x_369_; 
v___x_353_ = lean_unsigned_to_nat(1024u);
v___x_369_ = lean_nat_dec_le(v___x_353_, v_prec_347_);
if (v___x_369_ == 0)
{
lean_object* v___x_370_; 
v___x_370_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3, &l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3_once, _init_l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3);
v___y_355_ = v___x_370_;
goto v___jp_354_;
}
else
{
lean_object* v___x_371_; 
v___x_371_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4, &l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4_once, _init_l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4);
v___y_355_ = v___x_371_;
goto v___jp_354_;
}
v___jp_354_:
{
lean_object* v___x_356_; lean_object* v___x_357_; lean_object* v___x_358_; lean_object* v___x_360_; 
v___x_356_ = lean_box(1);
v___x_357_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__2));
v___x_358_ = l_Lean_Syntax_instRepr_repr(v_ref_348_, v___x_353_);
if (v_isShared_352_ == 0)
{
lean_ctor_set_tag(v___x_351_, 5);
lean_ctor_set(v___x_351_, 1, v___x_358_);
lean_ctor_set(v___x_351_, 0, v___x_357_);
v___x_360_ = v___x_351_;
goto v_reusejp_359_;
}
else
{
lean_object* v_reuseFailAlloc_368_; 
v_reuseFailAlloc_368_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v_reuseFailAlloc_368_, 0, v___x_357_);
lean_ctor_set(v_reuseFailAlloc_368_, 1, v___x_358_);
v___x_360_ = v_reuseFailAlloc_368_;
goto v_reusejp_359_;
}
v_reusejp_359_:
{
lean_object* v___x_361_; lean_object* v___x_362_; lean_object* v___x_363_; lean_object* v___x_364_; uint8_t v___x_365_; lean_object* v___x_366_; lean_object* v___x_367_; 
v___x_361_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_361_, 0, v___x_360_);
lean_ctor_set(v___x_361_, 1, v___x_356_);
v___x_362_ = l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr(v_a_349_, v___x_353_);
v___x_363_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_363_, 0, v___x_361_);
lean_ctor_set(v___x_363_, 1, v___x_362_);
v___x_364_ = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(v___x_364_, 0, v___y_355_);
lean_ctor_set(v___x_364_, 1, v___x_363_);
v___x_365_ = 0;
v___x_366_ = lean_alloc_ctor(6, 1, 1);
lean_ctor_set(v___x_366_, 0, v___x_364_);
lean_ctor_set_uint8(v___x_366_, sizeof(void*)*1, v___x_365_);
v___x_367_ = l_Repr_addAppParen(v___x_366_, v_prec_347_);
return v___x_367_;
}
}
}
}
case 1:
{
lean_object* v_ref_373_; lean_object* v_a_374_; lean_object* v___x_376_; uint8_t v_isShared_377_; uint8_t v_isSharedCheck_398_; 
v_ref_373_ = lean_ctor_get(v_x_346_, 0);
v_a_374_ = lean_ctor_get(v_x_346_, 1);
v_isSharedCheck_398_ = !lean_is_exclusive(v_x_346_);
if (v_isSharedCheck_398_ == 0)
{
v___x_376_ = v_x_346_;
v_isShared_377_ = v_isSharedCheck_398_;
goto v_resetjp_375_;
}
else
{
lean_inc(v_a_374_);
lean_inc(v_ref_373_);
lean_dec(v_x_346_);
v___x_376_ = lean_box(0);
v_isShared_377_ = v_isSharedCheck_398_;
goto v_resetjp_375_;
}
v_resetjp_375_:
{
lean_object* v___y_379_; lean_object* v___x_394_; uint8_t v___x_395_; 
v___x_394_ = lean_unsigned_to_nat(1024u);
v___x_395_ = lean_nat_dec_le(v___x_394_, v_prec_347_);
if (v___x_395_ == 0)
{
lean_object* v___x_396_; 
v___x_396_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3, &l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3_once, _init_l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3);
v___y_379_ = v___x_396_;
goto v___jp_378_;
}
else
{
lean_object* v___x_397_; 
v___x_397_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4, &l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4_once, _init_l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4);
v___y_379_ = v___x_397_;
goto v___jp_378_;
}
v___jp_378_:
{
lean_object* v___x_380_; lean_object* v___x_381_; lean_object* v___x_382_; lean_object* v___x_383_; lean_object* v___x_385_; 
v___x_380_ = lean_box(1);
v___x_381_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__7));
v___x_382_ = lean_unsigned_to_nat(1024u);
v___x_383_ = l_Lean_Syntax_instRepr_repr(v_ref_373_, v___x_382_);
if (v_isShared_377_ == 0)
{
lean_ctor_set_tag(v___x_376_, 5);
lean_ctor_set(v___x_376_, 1, v___x_383_);
lean_ctor_set(v___x_376_, 0, v___x_381_);
v___x_385_ = v___x_376_;
goto v_reusejp_384_;
}
else
{
lean_object* v_reuseFailAlloc_393_; 
v_reuseFailAlloc_393_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v_reuseFailAlloc_393_, 0, v___x_381_);
lean_ctor_set(v_reuseFailAlloc_393_, 1, v___x_383_);
v___x_385_ = v_reuseFailAlloc_393_;
goto v_reusejp_384_;
}
v_reusejp_384_:
{
lean_object* v___x_386_; lean_object* v___x_387_; lean_object* v___x_388_; lean_object* v___x_389_; uint8_t v___x_390_; lean_object* v___x_391_; lean_object* v___x_392_; 
v___x_386_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_386_, 0, v___x_385_);
lean_ctor_set(v___x_386_, 1, v___x_380_);
v___x_387_ = l_Lean_Name_reprPrec(v_a_374_, v___x_382_);
v___x_388_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_388_, 0, v___x_386_);
lean_ctor_set(v___x_388_, 1, v___x_387_);
v___x_389_ = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(v___x_389_, 0, v___y_379_);
lean_ctor_set(v___x_389_, 1, v___x_388_);
v___x_390_ = 0;
v___x_391_ = lean_alloc_ctor(6, 1, 1);
lean_ctor_set(v___x_391_, 0, v___x_389_);
lean_ctor_set_uint8(v___x_391_, sizeof(void*)*1, v___x_390_);
v___x_392_ = l_Repr_addAppParen(v___x_391_, v_prec_347_);
return v___x_392_;
}
}
}
}
case 2:
{
lean_object* v_ref_399_; lean_object* v___y_401_; lean_object* v___x_410_; uint8_t v___x_411_; 
v_ref_399_ = lean_ctor_get(v_x_346_, 0);
lean_inc(v_ref_399_);
lean_dec_ref(v_x_346_);
v___x_410_ = lean_unsigned_to_nat(1024u);
v___x_411_ = lean_nat_dec_le(v___x_410_, v_prec_347_);
if (v___x_411_ == 0)
{
lean_object* v___x_412_; 
v___x_412_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3, &l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3_once, _init_l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3);
v___y_401_ = v___x_412_;
goto v___jp_400_;
}
else
{
lean_object* v___x_413_; 
v___x_413_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4, &l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4_once, _init_l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4);
v___y_401_ = v___x_413_;
goto v___jp_400_;
}
v___jp_400_:
{
lean_object* v___x_402_; lean_object* v___x_403_; lean_object* v___x_404_; lean_object* v___x_405_; lean_object* v___x_406_; uint8_t v___x_407_; lean_object* v___x_408_; lean_object* v___x_409_; 
v___x_402_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__10));
v___x_403_ = lean_unsigned_to_nat(1024u);
v___x_404_ = l_Lean_Syntax_instRepr_repr(v_ref_399_, v___x_403_);
v___x_405_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_405_, 0, v___x_402_);
lean_ctor_set(v___x_405_, 1, v___x_404_);
v___x_406_ = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(v___x_406_, 0, v___y_401_);
lean_ctor_set(v___x_406_, 1, v___x_405_);
v___x_407_ = 0;
v___x_408_ = lean_alloc_ctor(6, 1, 1);
lean_ctor_set(v___x_408_, 0, v___x_406_);
lean_ctor_set_uint8(v___x_408_, sizeof(void*)*1, v___x_407_);
v___x_409_ = l_Repr_addAppParen(v___x_408_, v_prec_347_);
return v___x_409_;
}
}
case 3:
{
lean_object* v_ref_414_; lean_object* v_a_415_; lean_object* v___x_417_; uint8_t v_isShared_418_; uint8_t v_isSharedCheck_438_; 
v_ref_414_ = lean_ctor_get(v_x_346_, 0);
v_a_415_ = lean_ctor_get(v_x_346_, 1);
v_isSharedCheck_438_ = !lean_is_exclusive(v_x_346_);
if (v_isSharedCheck_438_ == 0)
{
v___x_417_ = v_x_346_;
v_isShared_418_ = v_isSharedCheck_438_;
goto v_resetjp_416_;
}
else
{
lean_inc(v_a_415_);
lean_inc(v_ref_414_);
lean_dec(v_x_346_);
v___x_417_ = lean_box(0);
v_isShared_418_ = v_isSharedCheck_438_;
goto v_resetjp_416_;
}
v_resetjp_416_:
{
lean_object* v___x_419_; lean_object* v___y_421_; uint8_t v___x_435_; 
v___x_419_ = lean_unsigned_to_nat(1024u);
v___x_435_ = lean_nat_dec_le(v___x_419_, v_prec_347_);
if (v___x_435_ == 0)
{
lean_object* v___x_436_; 
v___x_436_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3, &l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3_once, _init_l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3);
v___y_421_ = v___x_436_;
goto v___jp_420_;
}
else
{
lean_object* v___x_437_; 
v___x_437_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4, &l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4_once, _init_l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4);
v___y_421_ = v___x_437_;
goto v___jp_420_;
}
v___jp_420_:
{
lean_object* v___x_422_; lean_object* v___x_423_; lean_object* v___x_424_; lean_object* v___x_426_; 
v___x_422_ = lean_box(1);
v___x_423_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__13));
v___x_424_ = l_Lean_Syntax_instRepr_repr(v_ref_414_, v___x_419_);
if (v_isShared_418_ == 0)
{
lean_ctor_set_tag(v___x_417_, 5);
lean_ctor_set(v___x_417_, 1, v___x_424_);
lean_ctor_set(v___x_417_, 0, v___x_423_);
v___x_426_ = v___x_417_;
goto v_reusejp_425_;
}
else
{
lean_object* v_reuseFailAlloc_434_; 
v_reuseFailAlloc_434_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v_reuseFailAlloc_434_, 0, v___x_423_);
lean_ctor_set(v_reuseFailAlloc_434_, 1, v___x_424_);
v___x_426_ = v_reuseFailAlloc_434_;
goto v_reusejp_425_;
}
v_reusejp_425_:
{
lean_object* v___x_427_; lean_object* v___x_428_; lean_object* v___x_429_; lean_object* v___x_430_; uint8_t v___x_431_; lean_object* v___x_432_; lean_object* v___x_433_; 
v___x_427_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_427_, 0, v___x_426_);
lean_ctor_set(v___x_427_, 1, v___x_422_);
v___x_428_ = l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr(v_a_415_, v___x_419_);
v___x_429_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_429_, 0, v___x_427_);
lean_ctor_set(v___x_429_, 1, v___x_428_);
v___x_430_ = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(v___x_430_, 0, v___y_421_);
lean_ctor_set(v___x_430_, 1, v___x_429_);
v___x_431_ = 0;
v___x_432_ = lean_alloc_ctor(6, 1, 1);
lean_ctor_set(v___x_432_, 0, v___x_430_);
lean_ctor_set_uint8(v___x_432_, sizeof(void*)*1, v___x_431_);
v___x_433_ = l_Repr_addAppParen(v___x_432_, v_prec_347_);
return v___x_433_;
}
}
}
}
case 4:
{
lean_object* v_ref_439_; lean_object* v_a_440_; lean_object* v_a_441_; lean_object* v___x_442_; lean_object* v___y_444_; uint8_t v___x_459_; 
v_ref_439_ = lean_ctor_get(v_x_346_, 0);
lean_inc(v_ref_439_);
v_a_440_ = lean_ctor_get(v_x_346_, 1);
lean_inc_ref(v_a_440_);
v_a_441_ = lean_ctor_get(v_x_346_, 2);
lean_inc(v_a_441_);
lean_dec_ref(v_x_346_);
v___x_442_ = lean_unsigned_to_nat(1024u);
v___x_459_ = lean_nat_dec_le(v___x_442_, v_prec_347_);
if (v___x_459_ == 0)
{
lean_object* v___x_460_; 
v___x_460_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3, &l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3_once, _init_l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3);
v___y_444_ = v___x_460_;
goto v___jp_443_;
}
else
{
lean_object* v___x_461_; 
v___x_461_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4, &l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4_once, _init_l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4);
v___y_444_ = v___x_461_;
goto v___jp_443_;
}
v___jp_443_:
{
lean_object* v___x_445_; lean_object* v___x_446_; lean_object* v___x_447_; lean_object* v___x_448_; lean_object* v___x_449_; lean_object* v___x_450_; lean_object* v___x_451_; lean_object* v___x_452_; lean_object* v___x_453_; lean_object* v___x_454_; lean_object* v___x_455_; uint8_t v___x_456_; lean_object* v___x_457_; lean_object* v___x_458_; 
v___x_445_ = lean_box(1);
v___x_446_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__16));
v___x_447_ = l_Lean_Syntax_instRepr_repr(v_ref_439_, v___x_442_);
v___x_448_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_448_, 0, v___x_446_);
lean_ctor_set(v___x_448_, 1, v___x_447_);
v___x_449_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_449_, 0, v___x_448_);
lean_ctor_set(v___x_449_, 1, v___x_445_);
v___x_450_ = l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr(v_a_440_, v___x_442_);
v___x_451_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_451_, 0, v___x_449_);
lean_ctor_set(v___x_451_, 1, v___x_450_);
v___x_452_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_452_, 0, v___x_451_);
lean_ctor_set(v___x_452_, 1, v___x_445_);
v___x_453_ = l_Lean_Syntax_instReprTSyntax_repr___redArg(v_a_441_);
v___x_454_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_454_, 0, v___x_452_);
lean_ctor_set(v___x_454_, 1, v___x_453_);
v___x_455_ = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(v___x_455_, 0, v___y_444_);
lean_ctor_set(v___x_455_, 1, v___x_454_);
v___x_456_ = 0;
v___x_457_ = lean_alloc_ctor(6, 1, 1);
lean_ctor_set(v___x_457_, 0, v___x_455_);
lean_ctor_set_uint8(v___x_457_, sizeof(void*)*1, v___x_456_);
v___x_458_ = l_Repr_addAppParen(v___x_457_, v_prec_347_);
return v___x_458_;
}
}
case 5:
{
lean_object* v_ref_462_; lean_object* v_a_463_; lean_object* v___x_465_; uint8_t v_isShared_466_; uint8_t v_isSharedCheck_487_; 
v_ref_462_ = lean_ctor_get(v_x_346_, 0);
v_a_463_ = lean_ctor_get(v_x_346_, 1);
v_isSharedCheck_487_ = !lean_is_exclusive(v_x_346_);
if (v_isSharedCheck_487_ == 0)
{
v___x_465_ = v_x_346_;
v_isShared_466_ = v_isSharedCheck_487_;
goto v_resetjp_464_;
}
else
{
lean_inc(v_a_463_);
lean_inc(v_ref_462_);
lean_dec(v_x_346_);
v___x_465_ = lean_box(0);
v_isShared_466_ = v_isSharedCheck_487_;
goto v_resetjp_464_;
}
v_resetjp_464_:
{
lean_object* v___y_468_; lean_object* v___x_483_; uint8_t v___x_484_; 
v___x_483_ = lean_unsigned_to_nat(1024u);
v___x_484_ = lean_nat_dec_le(v___x_483_, v_prec_347_);
if (v___x_484_ == 0)
{
lean_object* v___x_485_; 
v___x_485_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3, &l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3_once, _init_l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3);
v___y_468_ = v___x_485_;
goto v___jp_467_;
}
else
{
lean_object* v___x_486_; 
v___x_486_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4, &l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4_once, _init_l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4);
v___y_468_ = v___x_486_;
goto v___jp_467_;
}
v___jp_467_:
{
lean_object* v___x_469_; lean_object* v___x_470_; lean_object* v___x_471_; lean_object* v___x_472_; lean_object* v___x_474_; 
v___x_469_ = lean_box(1);
v___x_470_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__19));
v___x_471_ = lean_unsigned_to_nat(1024u);
v___x_472_ = l_Lean_Syntax_instRepr_repr(v_ref_462_, v___x_471_);
if (v_isShared_466_ == 0)
{
lean_ctor_set(v___x_465_, 1, v___x_472_);
lean_ctor_set(v___x_465_, 0, v___x_470_);
v___x_474_ = v___x_465_;
goto v_reusejp_473_;
}
else
{
lean_object* v_reuseFailAlloc_482_; 
v_reuseFailAlloc_482_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v_reuseFailAlloc_482_, 0, v___x_470_);
lean_ctor_set(v_reuseFailAlloc_482_, 1, v___x_472_);
v___x_474_ = v_reuseFailAlloc_482_;
goto v_reusejp_473_;
}
v_reusejp_473_:
{
lean_object* v___x_475_; lean_object* v___x_476_; lean_object* v___x_477_; lean_object* v___x_478_; uint8_t v___x_479_; lean_object* v___x_480_; lean_object* v___x_481_; 
v___x_475_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_475_, 0, v___x_474_);
lean_ctor_set(v___x_475_, 1, v___x_469_);
v___x_476_ = l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg(v_a_463_);
v___x_477_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_477_, 0, v___x_475_);
lean_ctor_set(v___x_477_, 1, v___x_476_);
v___x_478_ = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(v___x_478_, 0, v___y_468_);
lean_ctor_set(v___x_478_, 1, v___x_477_);
v___x_479_ = 0;
v___x_480_ = lean_alloc_ctor(6, 1, 1);
lean_ctor_set(v___x_480_, 0, v___x_478_);
lean_ctor_set_uint8(v___x_480_, sizeof(void*)*1, v___x_479_);
v___x_481_ = l_Repr_addAppParen(v___x_480_, v_prec_347_);
return v___x_481_;
}
}
}
}
default: 
{
lean_object* v_ref_488_; lean_object* v_a_489_; lean_object* v___x_491_; uint8_t v_isShared_492_; uint8_t v_isSharedCheck_513_; 
v_ref_488_ = lean_ctor_get(v_x_346_, 0);
v_a_489_ = lean_ctor_get(v_x_346_, 1);
v_isSharedCheck_513_ = !lean_is_exclusive(v_x_346_);
if (v_isSharedCheck_513_ == 0)
{
v___x_491_ = v_x_346_;
v_isShared_492_ = v_isSharedCheck_513_;
goto v_resetjp_490_;
}
else
{
lean_inc(v_a_489_);
lean_inc(v_ref_488_);
lean_dec(v_x_346_);
v___x_491_ = lean_box(0);
v_isShared_492_ = v_isSharedCheck_513_;
goto v_resetjp_490_;
}
v_resetjp_490_:
{
lean_object* v___y_494_; lean_object* v___x_509_; uint8_t v___x_510_; 
v___x_509_ = lean_unsigned_to_nat(1024u);
v___x_510_ = lean_nat_dec_le(v___x_509_, v_prec_347_);
if (v___x_510_ == 0)
{
lean_object* v___x_511_; 
v___x_511_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3, &l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3_once, _init_l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__3);
v___y_494_ = v___x_511_;
goto v___jp_493_;
}
else
{
lean_object* v___x_512_; 
v___x_512_ = lean_obj_once(&l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4, &l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4_once, _init_l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__4);
v___y_494_ = v___x_512_;
goto v___jp_493_;
}
v___jp_493_:
{
lean_object* v___x_495_; lean_object* v___x_496_; lean_object* v___x_497_; lean_object* v___x_498_; lean_object* v___x_500_; 
v___x_495_ = lean_box(1);
v___x_496_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___closed__22));
v___x_497_ = lean_unsigned_to_nat(1024u);
v___x_498_ = l_Lean_Syntax_instRepr_repr(v_ref_488_, v___x_497_);
if (v_isShared_492_ == 0)
{
lean_ctor_set_tag(v___x_491_, 5);
lean_ctor_set(v___x_491_, 1, v___x_498_);
lean_ctor_set(v___x_491_, 0, v___x_496_);
v___x_500_ = v___x_491_;
goto v_reusejp_499_;
}
else
{
lean_object* v_reuseFailAlloc_508_; 
v_reuseFailAlloc_508_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v_reuseFailAlloc_508_, 0, v___x_496_);
lean_ctor_set(v_reuseFailAlloc_508_, 1, v___x_498_);
v___x_500_ = v_reuseFailAlloc_508_;
goto v_reusejp_499_;
}
v_reusejp_499_:
{
lean_object* v___x_501_; lean_object* v___x_502_; lean_object* v___x_503_; lean_object* v___x_504_; uint8_t v___x_505_; lean_object* v___x_506_; lean_object* v___x_507_; 
v___x_501_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_501_, 0, v___x_500_);
lean_ctor_set(v___x_501_, 1, v___x_495_);
v___x_502_ = l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg(v_a_489_);
v___x_503_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_503_, 0, v___x_501_);
lean_ctor_set(v___x_503_, 1, v___x_502_);
v___x_504_ = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(v___x_504_, 0, v___y_494_);
lean_ctor_set(v___x_504_, 1, v___x_503_);
v___x_505_ = 0;
v___x_506_ = lean_alloc_ctor(6, 1, 1);
lean_ctor_set(v___x_506_, 0, v___x_504_);
lean_ctor_set_uint8(v___x_506_, sizeof(void*)*1, v___x_505_);
v___x_507_ = l_Repr_addAppParen(v___x_506_, v_prec_347_);
return v___x_507_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Std_Format_joinSep___at___00List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0_spec__0___lam__0(lean_object* v___y_514_){
_start:
{
lean_object* v___x_515_; lean_object* v___x_516_; 
v___x_515_ = lean_unsigned_to_nat(0u);
v___x_516_ = l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr(v___y_514_, v___x_515_);
return v___x_516_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr___boxed(lean_object* v_x_517_, lean_object* v_prec_518_){
_start:
{
lean_object* v_res_519_; 
v_res_519_ = l_Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr(v_x_517_, v_prec_518_);
lean_dec(v_prec_518_);
return v_res_519_;
}
}
LEAN_EXPORT lean_object* l_Nat_cast___at___00List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0_spec__1(lean_object* v_a_520_){
_start:
{
lean_object* v___x_521_; 
v___x_521_ = lean_nat_to_int(v_a_520_);
return v___x_521_;
}
}
LEAN_EXPORT lean_object* l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0(lean_object* v_a_522_, lean_object* v_n_523_){
_start:
{
lean_object* v___x_524_; 
v___x_524_ = l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg(v_a_522_);
return v___x_524_;
}
}
LEAN_EXPORT lean_object* l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___boxed(lean_object* v_a_525_, lean_object* v_n_526_){
_start:
{
lean_object* v_res_527_; 
v_res_527_ = l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0(v_a_525_, v_n_526_);
lean_dec(v_n_526_);
return v_res_527_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_name_x3f(lean_object* v_x_538_){
_start:
{
switch(lean_obj_tag(v_x_538_))
{
case 1:
{
lean_object* v_a_539_; 
v_a_539_ = lean_ctor_get(v_x_538_, 1);
if (lean_obj_tag(v_a_539_) == 1)
{
lean_object* v_pre_540_; 
v_pre_540_ = lean_ctor_get(v_a_539_, 0);
if (lean_obj_tag(v_pre_540_) == 0)
{
lean_object* v_str_541_; lean_object* v___x_542_; uint8_t v___x_543_; 
v_str_541_ = lean_ctor_get(v_a_539_, 1);
v___x_542_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__0));
v___x_543_ = lean_string_dec_eq(v_str_541_, v___x_542_);
if (v___x_543_ == 0)
{
lean_object* v___x_544_; uint8_t v___x_545_; 
v___x_544_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_name_x3f___closed__0));
v___x_545_ = lean_string_dec_eq(v_str_541_, v___x_544_);
if (v___x_545_ == 0)
{
lean_object* v___x_546_; 
lean_inc_ref(v_a_539_);
v___x_546_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_546_, 0, v_a_539_);
return v___x_546_;
}
else
{
lean_object* v___x_547_; 
v___x_547_ = lean_box(0);
return v___x_547_;
}
}
else
{
lean_object* v___x_548_; 
v___x_548_ = lean_box(0);
return v___x_548_;
}
}
else
{
lean_object* v___x_549_; 
lean_inc_ref(v_a_539_);
v___x_549_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_549_, 0, v_a_539_);
return v___x_549_;
}
}
else
{
lean_object* v___x_550_; 
lean_inc(v_a_539_);
v___x_550_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_550_, 0, v_a_539_);
return v___x_550_;
}
}
case 0:
{
lean_object* v_a_551_; 
v_a_551_ = lean_ctor_get(v_x_538_, 1);
v_x_538_ = v_a_551_;
goto _start;
}
case 4:
{
lean_object* v_a_553_; 
v_a_553_ = lean_ctor_get(v_x_538_, 1);
v_x_538_ = v_a_553_;
goto _start;
}
case 6:
{
lean_object* v_a_555_; 
v_a_555_ = lean_ctor_get(v_x_538_, 1);
if (lean_obj_tag(v_a_555_) == 1)
{
lean_object* v_tail_556_; 
v_tail_556_ = lean_ctor_get(v_a_555_, 1);
if (lean_obj_tag(v_tail_556_) == 0)
{
lean_object* v_head_557_; 
v_head_557_ = lean_ctor_get(v_a_555_, 0);
v_x_538_ = v_head_557_;
goto _start;
}
else
{
lean_object* v___x_559_; 
v___x_559_ = lean_box(0);
return v___x_559_;
}
}
else
{
lean_object* v___x_560_; 
v___x_560_ = lean_box(0);
return v___x_560_;
}
}
default: 
{
lean_object* v___x_561_; 
v___x_561_ = lean_box(0);
return v___x_561_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_name_x3f___boxed(lean_object* v_x_562_){
_start:
{
lean_object* v_res_563_; 
v_res_563_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_name_x3f(v_x_562_);
lean_dec_ref(v_x_562_);
return v_res_563_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_ref(lean_object* v_x_564_){
_start:
{
lean_object* v_ref_565_; 
v_ref_565_ = lean_ctor_get(v_x_564_, 0);
lean_inc(v_ref_565_);
return v_ref_565_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_ref___boxed(lean_object* v_x_566_){
_start:
{
lean_object* v_res_567_; 
v_res_567_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_ref(v_x_566_);
lean_dec_ref(v_x_566_);
return v_res_567_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_asTuple(lean_object* v_x_568_){
_start:
{
switch(lean_obj_tag(v_x_568_))
{
case 0:
{
lean_object* v_a_569_; 
v_a_569_ = lean_ctor_get(v_x_568_, 1);
lean_inc_ref(v_a_569_);
lean_dec_ref(v_x_568_);
v_x_568_ = v_a_569_;
goto _start;
}
case 3:
{
lean_object* v_a_571_; lean_object* v___x_572_; lean_object* v_snd_573_; lean_object* v___x_575_; uint8_t v_isShared_576_; uint8_t v_isSharedCheck_582_; 
v_a_571_ = lean_ctor_get(v_x_568_, 1);
lean_inc_ref(v_a_571_);
lean_dec_ref(v_x_568_);
v___x_572_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_asTuple(v_a_571_);
v_snd_573_ = lean_ctor_get(v___x_572_, 1);
v_isSharedCheck_582_ = !lean_is_exclusive(v___x_572_);
if (v_isSharedCheck_582_ == 0)
{
lean_object* v_unused_583_; 
v_unused_583_ = lean_ctor_get(v___x_572_, 0);
lean_dec(v_unused_583_);
v___x_575_ = v___x_572_;
v_isShared_576_ = v_isSharedCheck_582_;
goto v_resetjp_574_;
}
else
{
lean_inc(v_snd_573_);
lean_dec(v___x_572_);
v___x_575_ = lean_box(0);
v_isShared_576_ = v_isSharedCheck_582_;
goto v_resetjp_574_;
}
v_resetjp_574_:
{
uint8_t v___x_577_; lean_object* v___x_578_; lean_object* v___x_580_; 
v___x_577_ = 1;
v___x_578_ = lean_box(v___x_577_);
if (v_isShared_576_ == 0)
{
lean_ctor_set(v___x_575_, 0, v___x_578_);
v___x_580_ = v___x_575_;
goto v_reusejp_579_;
}
else
{
lean_object* v_reuseFailAlloc_581_; 
v_reuseFailAlloc_581_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_581_, 0, v___x_578_);
lean_ctor_set(v_reuseFailAlloc_581_, 1, v_snd_573_);
v___x_580_ = v_reuseFailAlloc_581_;
goto v_reusejp_579_;
}
v_reusejp_579_:
{
return v___x_580_;
}
}
}
case 5:
{
lean_object* v_a_584_; lean_object* v___x_586_; uint8_t v_isShared_587_; uint8_t v_isSharedCheck_593_; 
v_a_584_ = lean_ctor_get(v_x_568_, 1);
v_isSharedCheck_593_ = !lean_is_exclusive(v_x_568_);
if (v_isSharedCheck_593_ == 0)
{
lean_object* v_unused_594_; 
v_unused_594_ = lean_ctor_get(v_x_568_, 0);
lean_dec(v_unused_594_);
v___x_586_ = v_x_568_;
v_isShared_587_ = v_isSharedCheck_593_;
goto v_resetjp_585_;
}
else
{
lean_inc(v_a_584_);
lean_dec(v_x_568_);
v___x_586_ = lean_box(0);
v_isShared_587_ = v_isSharedCheck_593_;
goto v_resetjp_585_;
}
v_resetjp_585_:
{
uint8_t v___x_588_; lean_object* v___x_589_; lean_object* v___x_591_; 
v___x_588_ = 0;
v___x_589_ = lean_box(v___x_588_);
if (v_isShared_587_ == 0)
{
lean_ctor_set_tag(v___x_586_, 0);
lean_ctor_set(v___x_586_, 0, v___x_589_);
v___x_591_ = v___x_586_;
goto v_reusejp_590_;
}
else
{
lean_object* v_reuseFailAlloc_592_; 
v_reuseFailAlloc_592_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_592_, 0, v___x_589_);
lean_ctor_set(v_reuseFailAlloc_592_, 1, v_a_584_);
v___x_591_ = v_reuseFailAlloc_592_;
goto v_reusejp_590_;
}
v_reusejp_590_:
{
return v___x_591_;
}
}
}
default: 
{
uint8_t v___x_595_; lean_object* v___x_596_; lean_object* v___x_597_; lean_object* v___x_598_; lean_object* v___x_599_; 
v___x_595_ = 0;
v___x_596_ = lean_box(0);
v___x_597_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_597_, 0, v_x_568_);
lean_ctor_set(v___x_597_, 1, v___x_596_);
v___x_598_ = lean_box(v___x_595_);
v___x_599_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_599_, 0, v___x_598_);
lean_ctor_set(v___x_599_, 1, v___x_597_);
return v___x_599_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_asAlts(lean_object* v_x_600_){
_start:
{
switch(lean_obj_tag(v_x_600_))
{
case 0:
{
lean_object* v_a_601_; 
v_a_601_ = lean_ctor_get(v_x_600_, 1);
lean_inc_ref(v_a_601_);
lean_dec_ref(v_x_600_);
v_x_600_ = v_a_601_;
goto _start;
}
case 6:
{
lean_object* v_a_603_; 
v_a_603_ = lean_ctor_get(v_x_600_, 1);
lean_inc(v_a_603_);
lean_dec_ref(v_x_600_);
return v_a_603_;
}
default: 
{
lean_object* v___x_604_; lean_object* v___x_605_; 
v___x_604_ = lean_box(0);
v___x_605_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_605_, 0, v_x_600_);
lean_ctor_set(v___x_605_, 1, v___x_604_);
return v___x_605_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_typed_x3f(lean_object* v_ref_606_, lean_object* v_x_607_, lean_object* v_x_608_){
_start:
{
if (lean_obj_tag(v_x_608_) == 0)
{
lean_dec(v_ref_606_);
return v_x_607_;
}
else
{
lean_object* v_val_609_; lean_object* v___x_610_; 
v_val_609_ = lean_ctor_get(v_x_608_, 0);
lean_inc(v_val_609_);
v___x_610_ = lean_alloc_ctor(4, 3, 0);
lean_ctor_set(v___x_610_, 0, v_ref_606_);
lean_ctor_set(v___x_610_, 1, v_x_607_);
lean_ctor_set(v___x_610_, 2, v_val_609_);
return v___x_610_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_typed_x3f___boxed(lean_object* v_ref_611_, lean_object* v_x_612_, lean_object* v_x_613_){
_start:
{
lean_object* v_res_614_; 
v_res_614_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_typed_x3f(v_ref_611_, v_x_612_, v_x_613_);
lean_dec(v_x_613_);
return v_res_614_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_tuple_x27(lean_object* v_x_615_){
_start:
{
lean_object* v_ps_617_; 
if (lean_obj_tag(v_x_615_) == 1)
{
lean_object* v_tail_644_; 
v_tail_644_ = lean_ctor_get(v_x_615_, 1);
if (lean_obj_tag(v_tail_644_) == 0)
{
lean_object* v_head_645_; 
v_head_645_ = lean_ctor_get(v_x_615_, 0);
lean_inc(v_head_645_);
lean_dec_ref(v_x_615_);
return v_head_645_;
}
else
{
v_ps_617_ = v_x_615_;
goto v___jp_616_;
}
}
else
{
v_ps_617_ = v_x_615_;
goto v___jp_616_;
}
v___jp_616_:
{
lean_object* v___x_618_; 
v___x_618_ = l_List_head_x3f___redArg(v_ps_617_);
if (lean_obj_tag(v___x_618_) == 0)
{
lean_object* v___x_619_; lean_object* v___x_620_; 
v___x_619_ = lean_box(0);
v___x_620_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_620_, 0, v___x_619_);
lean_ctor_set(v___x_620_, 1, v_ps_617_);
return v___x_620_;
}
else
{
lean_object* v_val_621_; 
v_val_621_ = lean_ctor_get(v___x_618_, 0);
lean_inc(v_val_621_);
lean_dec_ref(v___x_618_);
switch(lean_obj_tag(v_val_621_))
{
case 2:
{
lean_object* v_ref_622_; lean_object* v___x_623_; 
v_ref_622_ = lean_ctor_get(v_val_621_, 0);
lean_inc(v_ref_622_);
lean_dec_ref(v_val_621_);
v___x_623_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_623_, 0, v_ref_622_);
lean_ctor_set(v___x_623_, 1, v_ps_617_);
return v___x_623_;
}
case 4:
{
lean_object* v_ref_624_; lean_object* v___x_625_; 
v_ref_624_ = lean_ctor_get(v_val_621_, 0);
lean_inc(v_ref_624_);
lean_dec_ref(v_val_621_);
v___x_625_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_625_, 0, v_ref_624_);
lean_ctor_set(v___x_625_, 1, v_ps_617_);
return v___x_625_;
}
case 5:
{
lean_object* v_ref_626_; lean_object* v___x_628_; uint8_t v_isShared_629_; uint8_t v_isSharedCheck_633_; 
v_ref_626_ = lean_ctor_get(v_val_621_, 0);
v_isSharedCheck_633_ = !lean_is_exclusive(v_val_621_);
if (v_isSharedCheck_633_ == 0)
{
lean_object* v_unused_634_; 
v_unused_634_ = lean_ctor_get(v_val_621_, 1);
lean_dec(v_unused_634_);
v___x_628_ = v_val_621_;
v_isShared_629_ = v_isSharedCheck_633_;
goto v_resetjp_627_;
}
else
{
lean_inc(v_ref_626_);
lean_dec(v_val_621_);
v___x_628_ = lean_box(0);
v_isShared_629_ = v_isSharedCheck_633_;
goto v_resetjp_627_;
}
v_resetjp_627_:
{
lean_object* v___x_631_; 
if (v_isShared_629_ == 0)
{
lean_ctor_set(v___x_628_, 1, v_ps_617_);
v___x_631_ = v___x_628_;
goto v_reusejp_630_;
}
else
{
lean_object* v_reuseFailAlloc_632_; 
v_reuseFailAlloc_632_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v_reuseFailAlloc_632_, 0, v_ref_626_);
lean_ctor_set(v_reuseFailAlloc_632_, 1, v_ps_617_);
v___x_631_ = v_reuseFailAlloc_632_;
goto v_reusejp_630_;
}
v_reusejp_630_:
{
return v___x_631_;
}
}
}
default: 
{
lean_object* v_ref_635_; lean_object* v___x_637_; uint8_t v_isShared_638_; uint8_t v_isSharedCheck_642_; 
v_ref_635_ = lean_ctor_get(v_val_621_, 0);
v_isSharedCheck_642_ = !lean_is_exclusive(v_val_621_);
if (v_isSharedCheck_642_ == 0)
{
lean_object* v_unused_643_; 
v_unused_643_ = lean_ctor_get(v_val_621_, 1);
lean_dec(v_unused_643_);
v___x_637_ = v_val_621_;
v_isShared_638_ = v_isSharedCheck_642_;
goto v_resetjp_636_;
}
else
{
lean_inc(v_ref_635_);
lean_dec(v_val_621_);
v___x_637_ = lean_box(0);
v_isShared_638_ = v_isSharedCheck_642_;
goto v_resetjp_636_;
}
v_resetjp_636_:
{
lean_object* v___x_640_; 
if (v_isShared_638_ == 0)
{
lean_ctor_set_tag(v___x_637_, 5);
lean_ctor_set(v___x_637_, 1, v_ps_617_);
v___x_640_ = v___x_637_;
goto v_reusejp_639_;
}
else
{
lean_object* v_reuseFailAlloc_641_; 
v_reuseFailAlloc_641_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v_reuseFailAlloc_641_, 0, v_ref_635_);
lean_ctor_set(v_reuseFailAlloc_641_, 1, v_ps_617_);
v___x_640_ = v_reuseFailAlloc_641_;
goto v_reusejp_639_;
}
v_reusejp_639_:
{
return v___x_640_;
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_alts_x27(lean_object* v_ref_646_, lean_object* v_x_647_){
_start:
{
if (lean_obj_tag(v_x_647_) == 1)
{
lean_object* v_tail_648_; 
v_tail_648_ = lean_ctor_get(v_x_647_, 1);
if (lean_obj_tag(v_tail_648_) == 0)
{
lean_object* v_head_649_; 
lean_dec(v_ref_646_);
v_head_649_ = lean_ctor_get(v_x_647_, 0);
lean_inc(v_head_649_);
lean_dec_ref(v_x_647_);
return v_head_649_;
}
else
{
lean_object* v___x_650_; 
v___x_650_ = lean_alloc_ctor(6, 2, 0);
lean_ctor_set(v___x_650_, 0, v_ref_646_);
lean_ctor_set(v___x_650_, 1, v_x_647_);
return v___x_650_;
}
}
else
{
lean_object* v___x_651_; 
v___x_651_ = lean_alloc_ctor(6, 2, 0);
lean_ctor_set(v___x_651_, 0, v_ref_646_);
lean_ctor_set(v___x_651_, 1, v_x_647_);
return v___x_651_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_tuple_u2081Core(lean_object* v_x_652_){
_start:
{
if (lean_obj_tag(v_x_652_) == 0)
{
return v_x_652_;
}
else
{
lean_object* v_head_653_; lean_object* v_tail_654_; lean_object* v___x_656_; uint8_t v_isShared_657_; uint8_t v_isSharedCheck_674_; 
v_head_653_ = lean_ctor_get(v_x_652_, 0);
v_tail_654_ = lean_ctor_get(v_x_652_, 1);
v_isSharedCheck_674_ = !lean_is_exclusive(v_x_652_);
if (v_isSharedCheck_674_ == 0)
{
v___x_656_ = v_x_652_;
v_isShared_657_ = v_isSharedCheck_674_;
goto v_resetjp_655_;
}
else
{
lean_inc(v_tail_654_);
lean_inc(v_head_653_);
lean_dec(v_x_652_);
v___x_656_ = lean_box(0);
v_isShared_657_ = v_isSharedCheck_674_;
goto v_resetjp_655_;
}
v_resetjp_655_:
{
if (lean_obj_tag(v_head_653_) == 5)
{
lean_object* v_a_663_; 
v_a_663_ = lean_ctor_get(v_head_653_, 1);
if (lean_obj_tag(v_a_663_) == 0)
{
if (lean_obj_tag(v_tail_654_) == 0)
{
lean_object* v_ref_664_; lean_object* v___x_666_; uint8_t v_isShared_667_; uint8_t v_isSharedCheck_672_; 
lean_del_object(v___x_656_);
v_ref_664_ = lean_ctor_get(v_head_653_, 0);
v_isSharedCheck_672_ = !lean_is_exclusive(v_head_653_);
if (v_isSharedCheck_672_ == 0)
{
lean_object* v_unused_673_; 
v_unused_673_ = lean_ctor_get(v_head_653_, 1);
lean_dec(v_unused_673_);
v___x_666_ = v_head_653_;
v_isShared_667_ = v_isSharedCheck_672_;
goto v_resetjp_665_;
}
else
{
lean_inc(v_ref_664_);
lean_dec(v_head_653_);
v___x_666_ = lean_box(0);
v_isShared_667_ = v_isSharedCheck_672_;
goto v_resetjp_665_;
}
v_resetjp_665_:
{
lean_object* v___x_669_; 
if (v_isShared_667_ == 0)
{
lean_ctor_set(v___x_666_, 1, v_tail_654_);
v___x_669_ = v___x_666_;
goto v_reusejp_668_;
}
else
{
lean_object* v_reuseFailAlloc_671_; 
v_reuseFailAlloc_671_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v_reuseFailAlloc_671_, 0, v_ref_664_);
lean_ctor_set(v_reuseFailAlloc_671_, 1, v_tail_654_);
v___x_669_ = v_reuseFailAlloc_671_;
goto v_reusejp_668_;
}
v_reusejp_668_:
{
lean_object* v___x_670_; 
v___x_670_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_670_, 0, v___x_669_);
lean_ctor_set(v___x_670_, 1, v_tail_654_);
return v___x_670_;
}
}
}
else
{
goto v___jp_658_;
}
}
else
{
if (lean_obj_tag(v_tail_654_) == 0)
{
lean_inc(v_a_663_);
lean_dec_ref(v_head_653_);
lean_del_object(v___x_656_);
return v_a_663_;
}
else
{
goto v___jp_658_;
}
}
}
else
{
goto v___jp_658_;
}
v___jp_658_:
{
lean_object* v___x_659_; lean_object* v___x_661_; 
v___x_659_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_tuple_u2081Core(v_tail_654_);
if (v_isShared_657_ == 0)
{
lean_ctor_set(v___x_656_, 1, v___x_659_);
v___x_661_ = v___x_656_;
goto v_reusejp_660_;
}
else
{
lean_object* v_reuseFailAlloc_662_; 
v_reuseFailAlloc_662_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_662_, 0, v_head_653_);
lean_ctor_set(v_reuseFailAlloc_662_, 1, v___x_659_);
v___x_661_ = v_reuseFailAlloc_662_;
goto v_reusejp_660_;
}
v_reusejp_660_:
{
return v___x_661_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_tuple_u2081(lean_object* v_x_675_){
_start:
{
lean_object* v___y_677_; lean_object* v___y_678_; 
if (lean_obj_tag(v_x_675_) == 0)
{
lean_object* v___x_681_; 
v___x_681_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__2));
return v___x_681_;
}
else
{
lean_object* v_head_682_; lean_object* v_tail_683_; lean_object* v___x_684_; lean_object* v_ps_686_; 
v_head_682_ = lean_ctor_get(v_x_675_, 0);
v_tail_683_ = lean_ctor_get(v_x_675_, 1);
v___x_684_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited));
if (lean_obj_tag(v_head_682_) == 1)
{
if (lean_obj_tag(v_tail_683_) == 0)
{
lean_inc_ref(v_head_682_);
lean_dec_ref(v_x_675_);
return v_head_682_;
}
else
{
v_ps_686_ = v_x_675_;
goto v___jp_685_;
}
}
else
{
v_ps_686_ = v_x_675_;
goto v___jp_685_;
}
v___jp_685_:
{
lean_object* v___x_687_; lean_object* v_ref_688_; 
v___x_687_ = l_List_head_x21___redArg(v___x_684_, v_ps_686_);
v_ref_688_ = lean_ctor_get(v___x_687_, 0);
lean_inc(v_ref_688_);
lean_dec(v___x_687_);
v___y_677_ = v_ps_686_;
v___y_678_ = v_ref_688_;
goto v___jp_676_;
}
}
v___jp_676_:
{
lean_object* v___x_679_; lean_object* v___x_680_; 
v___x_679_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_tuple_u2081Core(v___y_677_);
v___x_680_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_680_, 0, v___y_678_);
lean_ctor_set(v___x_680_, 1, v___x_679_);
return v___x_680_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_alts_u2081Core(lean_object* v_x_689_){
_start:
{
if (lean_obj_tag(v_x_689_) == 0)
{
lean_object* v___x_690_; 
v___x_690_ = lean_box(0);
return v___x_690_;
}
else
{
lean_object* v_head_691_; lean_object* v_tail_692_; lean_object* v___x_694_; uint8_t v_isShared_695_; uint8_t v_isSharedCheck_705_; 
v_head_691_ = lean_ctor_get(v_x_689_, 0);
v_tail_692_ = lean_ctor_get(v_x_689_, 1);
v_isSharedCheck_705_ = !lean_is_exclusive(v_x_689_);
if (v_isSharedCheck_705_ == 0)
{
v___x_694_ = v_x_689_;
v_isShared_695_ = v_isSharedCheck_705_;
goto v_resetjp_693_;
}
else
{
lean_inc(v_tail_692_);
lean_inc(v_head_691_);
lean_dec(v_x_689_);
v___x_694_ = lean_box(0);
v_isShared_695_ = v_isSharedCheck_705_;
goto v_resetjp_693_;
}
v_resetjp_693_:
{
if (lean_obj_tag(v_head_691_) == 1)
{
lean_object* v_head_702_; 
v_head_702_ = lean_ctor_get(v_head_691_, 0);
if (lean_obj_tag(v_head_702_) == 6)
{
lean_object* v_tail_703_; 
v_tail_703_ = lean_ctor_get(v_head_691_, 1);
if (lean_obj_tag(v_tail_703_) == 0)
{
if (lean_obj_tag(v_tail_692_) == 0)
{
lean_object* v_a_704_; 
lean_inc_ref(v_head_702_);
lean_dec_ref(v_head_691_);
lean_del_object(v___x_694_);
v_a_704_ = lean_ctor_get(v_head_702_, 1);
lean_inc(v_a_704_);
lean_dec_ref(v_head_702_);
return v_a_704_;
}
else
{
goto v___jp_696_;
}
}
else
{
goto v___jp_696_;
}
}
else
{
goto v___jp_696_;
}
}
else
{
goto v___jp_696_;
}
v___jp_696_:
{
lean_object* v___x_697_; lean_object* v___x_698_; lean_object* v___x_700_; 
v___x_697_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_tuple_u2081(v_head_691_);
v___x_698_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_alts_u2081Core(v_tail_692_);
if (v_isShared_695_ == 0)
{
lean_ctor_set(v___x_694_, 1, v___x_698_);
lean_ctor_set(v___x_694_, 0, v___x_697_);
v___x_700_ = v___x_694_;
goto v_reusejp_699_;
}
else
{
lean_object* v_reuseFailAlloc_701_; 
v_reuseFailAlloc_701_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_701_, 0, v___x_697_);
lean_ctor_set(v_reuseFailAlloc_701_, 1, v___x_698_);
v___x_700_ = v_reuseFailAlloc_701_;
goto v_reusejp_699_;
}
v_reusejp_699_:
{
return v___x_700_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_alts_u2081(lean_object* v_ref_706_, lean_object* v_x_707_){
_start:
{
lean_object* v_ps_709_; 
if (lean_obj_tag(v_x_707_) == 1)
{
lean_object* v_head_712_; 
v_head_712_ = lean_ctor_get(v_x_707_, 0);
if (lean_obj_tag(v_head_712_) == 0)
{
lean_object* v_tail_713_; 
v_tail_713_ = lean_ctor_get(v_x_707_, 1);
if (lean_obj_tag(v_tail_713_) == 0)
{
lean_object* v___x_715_; uint8_t v_isShared_716_; uint8_t v_isSharedCheck_721_; 
lean_inc(v_head_712_);
lean_dec(v_ref_706_);
v_isSharedCheck_721_ = !lean_is_exclusive(v_x_707_);
if (v_isSharedCheck_721_ == 0)
{
lean_object* v_unused_722_; lean_object* v_unused_723_; 
v_unused_722_ = lean_ctor_get(v_x_707_, 1);
lean_dec(v_unused_722_);
v_unused_723_ = lean_ctor_get(v_x_707_, 0);
lean_dec(v_unused_723_);
v___x_715_ = v_x_707_;
v_isShared_716_ = v_isSharedCheck_721_;
goto v_resetjp_714_;
}
else
{
lean_dec(v_x_707_);
v___x_715_ = lean_box(0);
v_isShared_716_ = v_isSharedCheck_721_;
goto v_resetjp_714_;
}
v_resetjp_714_:
{
lean_object* v___x_717_; lean_object* v___x_719_; 
v___x_717_ = lean_box(0);
if (v_isShared_716_ == 0)
{
lean_ctor_set_tag(v___x_715_, 5);
lean_ctor_set(v___x_715_, 1, v_head_712_);
lean_ctor_set(v___x_715_, 0, v___x_717_);
v___x_719_ = v___x_715_;
goto v_reusejp_718_;
}
else
{
lean_object* v_reuseFailAlloc_720_; 
v_reuseFailAlloc_720_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v_reuseFailAlloc_720_, 0, v___x_717_);
lean_ctor_set(v_reuseFailAlloc_720_, 1, v_head_712_);
v___x_719_ = v_reuseFailAlloc_720_;
goto v_reusejp_718_;
}
v_reusejp_718_:
{
return v___x_719_;
}
}
}
else
{
v_ps_709_ = v_x_707_;
goto v___jp_708_;
}
}
else
{
lean_object* v_head_724_; 
v_head_724_ = lean_ctor_get(v_head_712_, 0);
lean_inc(v_head_724_);
if (lean_obj_tag(v_head_724_) == 6)
{
lean_object* v_tail_725_; 
v_tail_725_ = lean_ctor_get(v_head_712_, 1);
if (lean_obj_tag(v_tail_725_) == 0)
{
lean_object* v_tail_726_; 
v_tail_726_ = lean_ctor_get(v_x_707_, 1);
if (lean_obj_tag(v_tail_726_) == 0)
{
lean_object* v_ref_727_; lean_object* v_a_728_; lean_object* v___x_730_; uint8_t v_isShared_731_; uint8_t v_isSharedCheck_735_; 
lean_dec_ref(v_x_707_);
lean_dec(v_ref_706_);
v_ref_727_ = lean_ctor_get(v_head_724_, 0);
v_a_728_ = lean_ctor_get(v_head_724_, 1);
v_isSharedCheck_735_ = !lean_is_exclusive(v_head_724_);
if (v_isSharedCheck_735_ == 0)
{
v___x_730_ = v_head_724_;
v_isShared_731_ = v_isSharedCheck_735_;
goto v_resetjp_729_;
}
else
{
lean_inc(v_a_728_);
lean_inc(v_ref_727_);
lean_dec(v_head_724_);
v___x_730_ = lean_box(0);
v_isShared_731_ = v_isSharedCheck_735_;
goto v_resetjp_729_;
}
v_resetjp_729_:
{
lean_object* v___x_733_; 
if (v_isShared_731_ == 0)
{
lean_ctor_set_tag(v___x_730_, 5);
v___x_733_ = v___x_730_;
goto v_reusejp_732_;
}
else
{
lean_object* v_reuseFailAlloc_734_; 
v_reuseFailAlloc_734_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v_reuseFailAlloc_734_, 0, v_ref_727_);
lean_ctor_set(v_reuseFailAlloc_734_, 1, v_a_728_);
v___x_733_ = v_reuseFailAlloc_734_;
goto v_reusejp_732_;
}
v_reusejp_732_:
{
return v___x_733_;
}
}
}
else
{
lean_dec_ref(v_head_724_);
v_ps_709_ = v_x_707_;
goto v___jp_708_;
}
}
else
{
lean_dec_ref(v_head_724_);
v_ps_709_ = v_x_707_;
goto v___jp_708_;
}
}
else
{
lean_dec(v_head_724_);
v_ps_709_ = v_x_707_;
goto v___jp_708_;
}
}
}
else
{
v_ps_709_ = v_x_707_;
goto v___jp_708_;
}
v___jp_708_:
{
lean_object* v___x_710_; lean_object* v___x_711_; 
v___x_710_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_alts_u2081Core(v_ps_709_);
v___x_711_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_alts_x27(v_ref_706_, v___x_710_);
return v___x_711_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_parenAbove(lean_object* v_tgt_736_, lean_object* v_p_737_, lean_object* v_m_738_){
_start:
{
uint8_t v___x_739_; 
v___x_739_ = lean_nat_dec_lt(v_tgt_736_, v_p_737_);
if (v___x_739_ == 0)
{
return v_m_738_;
}
else
{
lean_object* v___x_740_; 
v___x_740_ = l_Lean_MessageData_paren(v_m_738_);
return v___x_740_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_parenAbove___boxed(lean_object* v_tgt_741_, lean_object* v_p_742_, lean_object* v_m_743_){
_start:
{
lean_object* v_res_744_; 
v_res_744_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_parenAbove(v_tgt_741_, v_p_742_, v_m_743_);
lean_dec(v_p_742_);
lean_dec(v_tgt_741_);
return v_res_744_;
}
}
static lean_object* _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__2(void){
_start:
{
lean_object* v___x_748_; lean_object* v___x_749_; 
v___x_748_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__1));
v___x_749_ = l_Lean_MessageData_ofFormat(v___x_748_);
return v___x_749_;
}
}
static lean_object* _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__4(void){
_start:
{
lean_object* v___x_751_; lean_object* v___x_752_; 
v___x_751_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__3));
v___x_752_ = l_Lean_stringToMessageData(v___x_751_);
return v___x_752_;
}
}
static lean_object* _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__6(void){
_start:
{
lean_object* v___x_754_; lean_object* v___x_755_; 
v___x_754_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__5));
v___x_755_ = l_Lean_stringToMessageData(v___x_754_);
return v___x_755_;
}
}
static lean_object* _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__9(void){
_start:
{
lean_object* v___x_757_; lean_object* v___x_758_; 
v___x_757_ = lean_box(1);
v___x_758_ = l_Lean_MessageData_ofFormat(v___x_757_);
return v___x_758_;
}
}
static lean_object* _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__8(void){
_start:
{
lean_object* v___x_759_; lean_object* v___x_760_; 
v___x_759_ = ((lean_object*)(l_List_repr___at___00Lean_Elab_Tactic_RCases_instReprRCasesPatt_repr_spec__0___redArg___closed__4));
v___x_760_ = l_Lean_MessageData_ofFormat(v___x_759_);
return v___x_760_;
}
}
static lean_object* _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__10(void){
_start:
{
lean_object* v___x_761_; lean_object* v___x_762_; lean_object* v___x_763_; 
v___x_761_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__9, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__9_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__9);
v___x_762_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__8, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__8_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__8);
v___x_763_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_763_, 0, v___x_762_);
lean_ctor_set(v___x_763_, 1, v___x_761_);
return v___x_763_;
}
}
LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt_spec__1(lean_object* v_a_765_, lean_object* v_a_766_){
_start:
{
if (lean_obj_tag(v_a_765_) == 0)
{
lean_object* v___x_767_; 
v___x_767_ = l_List_reverse___redArg(v_a_766_);
return v___x_767_;
}
else
{
lean_object* v_head_768_; lean_object* v_tail_769_; lean_object* v___x_771_; uint8_t v_isShared_772_; uint8_t v_isSharedCheck_779_; 
v_head_768_ = lean_ctor_get(v_a_765_, 0);
v_tail_769_ = lean_ctor_get(v_a_765_, 1);
v_isSharedCheck_779_ = !lean_is_exclusive(v_a_765_);
if (v_isSharedCheck_779_ == 0)
{
v___x_771_ = v_a_765_;
v_isShared_772_ = v_isSharedCheck_779_;
goto v_resetjp_770_;
}
else
{
lean_inc(v_tail_769_);
lean_inc(v_head_768_);
lean_dec(v_a_765_);
v___x_771_ = lean_box(0);
v_isShared_772_ = v_isSharedCheck_779_;
goto v_resetjp_770_;
}
v_resetjp_770_:
{
lean_object* v___x_773_; lean_object* v___x_774_; lean_object* v___x_776_; 
v___x_773_ = lean_unsigned_to_nat(2u);
v___x_774_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt(v___x_773_, v_head_768_);
if (v_isShared_772_ == 0)
{
lean_ctor_set(v___x_771_, 1, v_a_766_);
lean_ctor_set(v___x_771_, 0, v___x_774_);
v___x_776_ = v___x_771_;
goto v_reusejp_775_;
}
else
{
lean_object* v_reuseFailAlloc_778_; 
v_reuseFailAlloc_778_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_778_, 0, v___x_774_);
lean_ctor_set(v_reuseFailAlloc_778_, 1, v_a_766_);
v___x_776_ = v_reuseFailAlloc_778_;
goto v_reusejp_775_;
}
v_reusejp_775_:
{
v_a_765_ = v_tail_769_;
v_a_766_ = v___x_776_;
goto _start;
}
}
}
}
}
static lean_object* _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__14(void){
_start:
{
lean_object* v___x_783_; lean_object* v___x_784_; 
v___x_783_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__13));
v___x_784_ = l_Lean_MessageData_ofFormat(v___x_783_);
return v___x_784_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt(lean_object* v_a_785_, lean_object* v_a_786_){
_start:
{
switch(lean_obj_tag(v_a_786_))
{
case 0:
{
lean_object* v_a_787_; 
v_a_787_ = lean_ctor_get(v_a_786_, 1);
lean_inc_ref(v_a_787_);
lean_dec_ref(v_a_786_);
v_a_786_ = v_a_787_;
goto _start;
}
case 1:
{
lean_object* v_a_789_; lean_object* v___x_790_; 
v_a_789_ = lean_ctor_get(v_a_786_, 1);
lean_inc(v_a_789_);
lean_dec_ref(v_a_786_);
v___x_790_ = l_Lean_MessageData_ofName(v_a_789_);
return v___x_790_;
}
case 2:
{
lean_object* v___x_791_; 
lean_dec_ref(v_a_786_);
v___x_791_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__2, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__2_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__2);
return v___x_791_;
}
case 3:
{
lean_object* v_a_792_; lean_object* v___x_794_; uint8_t v_isShared_795_; uint8_t v_isSharedCheck_802_; 
v_a_792_ = lean_ctor_get(v_a_786_, 1);
v_isSharedCheck_802_ = !lean_is_exclusive(v_a_786_);
if (v_isSharedCheck_802_ == 0)
{
lean_object* v_unused_803_; 
v_unused_803_ = lean_ctor_get(v_a_786_, 0);
lean_dec(v_unused_803_);
v___x_794_ = v_a_786_;
v_isShared_795_ = v_isSharedCheck_802_;
goto v_resetjp_793_;
}
else
{
lean_inc(v_a_792_);
lean_dec(v_a_786_);
v___x_794_ = lean_box(0);
v_isShared_795_ = v_isSharedCheck_802_;
goto v_resetjp_793_;
}
v_resetjp_793_:
{
lean_object* v___x_796_; lean_object* v___x_797_; lean_object* v___x_798_; lean_object* v___x_800_; 
v___x_796_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__4, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__4_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__4);
v___x_797_ = lean_unsigned_to_nat(2u);
v___x_798_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt(v___x_797_, v_a_792_);
if (v_isShared_795_ == 0)
{
lean_ctor_set_tag(v___x_794_, 7);
lean_ctor_set(v___x_794_, 1, v___x_798_);
lean_ctor_set(v___x_794_, 0, v___x_796_);
v___x_800_ = v___x_794_;
goto v_reusejp_799_;
}
else
{
lean_object* v_reuseFailAlloc_801_; 
v_reuseFailAlloc_801_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v_reuseFailAlloc_801_, 0, v___x_796_);
lean_ctor_set(v_reuseFailAlloc_801_, 1, v___x_798_);
v___x_800_ = v_reuseFailAlloc_801_;
goto v_reusejp_799_;
}
v_reusejp_799_:
{
return v___x_800_;
}
}
}
case 4:
{
lean_object* v_a_804_; lean_object* v_a_805_; lean_object* v___x_806_; lean_object* v___x_807_; lean_object* v___x_808_; lean_object* v___x_809_; lean_object* v___x_810_; lean_object* v___x_811_; lean_object* v___x_812_; lean_object* v___x_813_; 
v_a_804_ = lean_ctor_get(v_a_786_, 1);
lean_inc_ref(v_a_804_);
v_a_805_ = lean_ctor_get(v_a_786_, 2);
lean_inc(v_a_805_);
lean_dec_ref(v_a_786_);
v___x_806_ = lean_unsigned_to_nat(0u);
v___x_807_ = lean_unsigned_to_nat(1u);
v___x_808_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt(v___x_807_, v_a_804_);
v___x_809_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__6, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__6_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__6);
v___x_810_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_810_, 0, v___x_808_);
lean_ctor_set(v___x_810_, 1, v___x_809_);
v___x_811_ = l_Lean_MessageData_ofSyntax(v_a_805_);
v___x_812_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_812_, 0, v___x_810_);
lean_ctor_set(v___x_812_, 1, v___x_811_);
v___x_813_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_parenAbove(v___x_806_, v_a_785_, v___x_812_);
return v___x_813_;
}
case 5:
{
lean_object* v_a_814_; lean_object* v___x_815_; lean_object* v___x_816_; lean_object* v___x_817_; lean_object* v___x_818_; lean_object* v___x_819_; lean_object* v___x_820_; lean_object* v___x_821_; 
v_a_814_ = lean_ctor_get(v_a_786_, 1);
lean_inc(v_a_814_);
lean_dec_ref(v_a_786_);
v___x_815_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__7));
v___x_816_ = lean_box(0);
v___x_817_ = l_List_mapTR_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt_spec__0(v_a_814_, v___x_816_);
v___x_818_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__10, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__10_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__10);
v___x_819_ = l_Lean_MessageData_joinSep(v___x_817_, v___x_818_);
v___x_820_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__11));
v___x_821_ = l_Lean_MessageData_bracket(v___x_815_, v___x_819_, v___x_820_);
return v___x_821_;
}
default: 
{
lean_object* v_a_822_; lean_object* v___x_823_; lean_object* v___x_824_; lean_object* v___x_825_; lean_object* v___x_826_; lean_object* v___x_827_; lean_object* v___x_828_; 
v_a_822_ = lean_ctor_get(v_a_786_, 1);
lean_inc(v_a_822_);
lean_dec_ref(v_a_786_);
v___x_823_ = lean_unsigned_to_nat(1u);
v___x_824_ = lean_box(0);
v___x_825_ = l_List_mapTR_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt_spec__1(v_a_822_, v___x_824_);
v___x_826_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__14, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__14_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__14);
v___x_827_ = l_Lean_MessageData_joinSep(v___x_825_, v___x_826_);
v___x_828_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_parenAbove(v___x_823_, v_a_785_, v___x_827_);
return v___x_828_;
}
}
}
}
LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt_spec__0(lean_object* v_a_829_, lean_object* v_a_830_){
_start:
{
if (lean_obj_tag(v_a_829_) == 0)
{
lean_object* v___x_831_; 
v___x_831_ = l_List_reverse___redArg(v_a_830_);
return v___x_831_;
}
else
{
lean_object* v_head_832_; lean_object* v_tail_833_; lean_object* v___x_835_; uint8_t v_isShared_836_; uint8_t v_isSharedCheck_843_; 
v_head_832_ = lean_ctor_get(v_a_829_, 0);
v_tail_833_ = lean_ctor_get(v_a_829_, 1);
v_isSharedCheck_843_ = !lean_is_exclusive(v_a_829_);
if (v_isSharedCheck_843_ == 0)
{
v___x_835_ = v_a_829_;
v_isShared_836_ = v_isSharedCheck_843_;
goto v_resetjp_834_;
}
else
{
lean_inc(v_tail_833_);
lean_inc(v_head_832_);
lean_dec(v_a_829_);
v___x_835_ = lean_box(0);
v_isShared_836_ = v_isSharedCheck_843_;
goto v_resetjp_834_;
}
v_resetjp_834_:
{
lean_object* v___x_837_; lean_object* v___x_838_; lean_object* v___x_840_; 
v___x_837_ = lean_unsigned_to_nat(0u);
v___x_838_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt(v___x_837_, v_head_832_);
if (v_isShared_836_ == 0)
{
lean_ctor_set(v___x_835_, 1, v_a_830_);
lean_ctor_set(v___x_835_, 0, v___x_838_);
v___x_840_ = v___x_835_;
goto v_reusejp_839_;
}
else
{
lean_object* v_reuseFailAlloc_842_; 
v_reuseFailAlloc_842_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_842_, 0, v___x_838_);
lean_ctor_set(v_reuseFailAlloc_842_, 1, v_a_830_);
v___x_840_ = v_reuseFailAlloc_842_;
goto v_reusejp_839_;
}
v_reusejp_839_:
{
v_a_829_ = v_tail_833_;
v_a_830_ = v___x_840_;
goto _start;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___boxed(lean_object* v_a_844_, lean_object* v_a_845_){
_start:
{
lean_object* v_res_846_; 
v_res_846_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt(v_a_844_, v_a_845_);
lean_dec(v_a_844_);
return v_res_846_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor(lean_object* v_ref_855_, lean_object* v_info_856_, uint8_t v_explicit_857_, lean_object* v_idx_858_, lean_object* v_ps_859_){
_start:
{
lean_object* v___y_861_; lean_object* v___y_866_; lean_object* v___y_867_; lean_object* v___y_868_; lean_object* v___y_869_; lean_object* v___y_874_; lean_object* v___y_875_; lean_object* v___y_876_; lean_object* v___y_884_; lean_object* v___y_885_; lean_object* v___y_888_; lean_object* v___y_889_; lean_object* v___x_893_; uint8_t v___x_912_; 
v___x_893_ = lean_array_get_size(v_info_856_);
v___x_912_ = lean_nat_dec_lt(v_idx_858_, v___x_893_);
if (v___x_912_ == 0)
{
lean_object* v___x_913_; 
lean_dec(v_ps_859_);
lean_dec(v_ref_855_);
v___x_913_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor___closed__1));
return v___x_913_;
}
else
{
if (v_explicit_857_ == 0)
{
lean_object* v___x_914_; uint8_t v_binderInfo_915_; uint8_t v___x_916_; uint8_t v___x_917_; 
v___x_914_ = lean_array_fget_borrowed(v_info_856_, v_idx_858_);
v_binderInfo_915_ = lean_ctor_get_uint8(v___x_914_, sizeof(void*)*1);
v___x_916_ = 0;
v___x_917_ = l_Lean_instBEqBinderInfo_beq(v_binderInfo_915_, v___x_916_);
if (v___x_917_ == 0)
{
lean_object* v___x_918_; lean_object* v___x_919_; lean_object* v___x_920_; lean_object* v_fst_921_; lean_object* v_snd_922_; lean_object* v___x_924_; uint8_t v_isShared_925_; uint8_t v_isSharedCheck_933_; 
v___x_918_ = lean_unsigned_to_nat(1u);
v___x_919_ = lean_nat_add(v_idx_858_, v___x_918_);
v___x_920_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor(v_ref_855_, v_info_856_, v_explicit_857_, v___x_919_, v_ps_859_);
lean_dec(v___x_919_);
v_fst_921_ = lean_ctor_get(v___x_920_, 0);
v_snd_922_ = lean_ctor_get(v___x_920_, 1);
v_isSharedCheck_933_ = !lean_is_exclusive(v___x_920_);
if (v_isSharedCheck_933_ == 0)
{
v___x_924_ = v___x_920_;
v_isShared_925_ = v_isSharedCheck_933_;
goto v_resetjp_923_;
}
else
{
lean_inc(v_snd_922_);
lean_inc(v_fst_921_);
lean_dec(v___x_920_);
v___x_924_ = lean_box(0);
v_isShared_925_ = v_isSharedCheck_933_;
goto v_resetjp_923_;
}
v_resetjp_923_:
{
lean_object* v___x_926_; lean_object* v___x_927_; lean_object* v___x_928_; lean_object* v___x_929_; lean_object* v___x_931_; 
v___x_926_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__1));
v___x_927_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_927_, 0, v___x_926_);
lean_ctor_set(v___x_927_, 1, v_fst_921_);
v___x_928_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__2));
v___x_929_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_929_, 0, v___x_928_);
lean_ctor_set(v___x_929_, 1, v_snd_922_);
if (v_isShared_925_ == 0)
{
lean_ctor_set(v___x_924_, 1, v___x_929_);
lean_ctor_set(v___x_924_, 0, v___x_927_);
v___x_931_ = v___x_924_;
goto v_reusejp_930_;
}
else
{
lean_object* v_reuseFailAlloc_932_; 
v_reuseFailAlloc_932_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_932_, 0, v___x_927_);
lean_ctor_set(v_reuseFailAlloc_932_, 1, v___x_929_);
v___x_931_ = v_reuseFailAlloc_932_;
goto v_reusejp_930_;
}
v_reusejp_930_:
{
return v___x_931_;
}
}
}
else
{
goto v___jp_894_;
}
}
else
{
goto v___jp_894_;
}
}
v___jp_860_:
{
lean_object* v___x_862_; lean_object* v___x_863_; lean_object* v___x_864_; 
v___x_862_ = lean_box(0);
v___x_863_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_863_, 0, v___y_861_);
lean_ctor_set(v___x_863_, 1, v___x_862_);
v___x_864_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_864_, 0, v___x_863_);
lean_ctor_set(v___x_864_, 1, v_ps_859_);
return v___x_864_;
}
v___jp_865_:
{
lean_object* v___x_870_; lean_object* v___x_871_; lean_object* v___x_872_; 
v___x_870_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_870_, 0, v___y_869_);
lean_ctor_set(v___x_870_, 1, v___y_868_);
v___x_871_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_871_, 0, v___y_867_);
lean_ctor_set(v___x_871_, 1, v___y_866_);
v___x_872_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_872_, 0, v___x_870_);
lean_ctor_set(v___x_872_, 1, v___x_871_);
return v___x_872_;
}
v___jp_873_:
{
lean_object* v___x_877_; lean_object* v_fst_878_; lean_object* v_snd_879_; lean_object* v___x_880_; 
v___x_877_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor(v_ref_855_, v_info_856_, v_explicit_857_, v___y_875_, v___y_876_);
lean_dec(v___y_875_);
v_fst_878_ = lean_ctor_get(v___x_877_, 0);
lean_inc(v_fst_878_);
v_snd_879_ = lean_ctor_get(v___x_877_, 1);
lean_inc(v_snd_879_);
lean_dec_ref(v___x_877_);
v___x_880_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_name_x3f(v___y_874_);
if (lean_obj_tag(v___x_880_) == 0)
{
lean_object* v___x_881_; 
v___x_881_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__1));
v___y_866_ = v_snd_879_;
v___y_867_ = v___y_874_;
v___y_868_ = v_fst_878_;
v___y_869_ = v___x_881_;
goto v___jp_865_;
}
else
{
lean_object* v_val_882_; 
v_val_882_ = lean_ctor_get(v___x_880_, 0);
lean_inc(v_val_882_);
lean_dec_ref(v___x_880_);
v___y_866_ = v_snd_879_;
v___y_867_ = v___y_874_;
v___y_868_ = v_fst_878_;
v___y_869_ = v_val_882_;
goto v___jp_865_;
}
}
v___jp_883_:
{
if (lean_obj_tag(v_ps_859_) == 0)
{
v___y_874_ = v___y_885_;
v___y_875_ = v___y_884_;
v___y_876_ = v_ps_859_;
goto v___jp_873_;
}
else
{
lean_object* v_tail_886_; 
v_tail_886_ = lean_ctor_get(v_ps_859_, 1);
lean_inc(v_tail_886_);
lean_dec_ref(v_ps_859_);
v___y_874_ = v___y_885_;
v___y_875_ = v___y_884_;
v___y_876_ = v_tail_886_;
goto v___jp_873_;
}
}
v___jp_887_:
{
lean_object* v___x_890_; lean_object* v___x_891_; lean_object* v___x_892_; 
v___x_890_ = lean_box(0);
v___x_891_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_891_, 0, v___y_889_);
lean_ctor_set(v___x_891_, 1, v___x_890_);
v___x_892_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_892_, 0, v___y_888_);
lean_ctor_set(v___x_892_, 1, v___x_891_);
return v___x_892_;
}
v___jp_894_:
{
lean_object* v___x_895_; lean_object* v___x_896_; uint8_t v___x_897_; 
v___x_895_ = lean_unsigned_to_nat(1u);
v___x_896_ = lean_nat_add(v_idx_858_, v___x_895_);
v___x_897_ = lean_nat_dec_lt(v___x_896_, v___x_893_);
if (v___x_897_ == 0)
{
lean_dec(v___x_896_);
if (lean_obj_tag(v_ps_859_) == 0)
{
lean_object* v___x_898_; lean_object* v___x_899_; lean_object* v___x_900_; lean_object* v___x_901_; 
lean_dec(v_ref_855_);
v___x_898_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor___closed__0));
v___x_899_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__2));
v___x_900_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_900_, 0, v___x_899_);
lean_ctor_set(v___x_900_, 1, v_ps_859_);
v___x_901_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_901_, 0, v___x_898_);
lean_ctor_set(v___x_901_, 1, v___x_900_);
return v___x_901_;
}
else
{
lean_object* v_tail_902_; 
v_tail_902_ = lean_ctor_get(v_ps_859_, 1);
if (lean_obj_tag(v_tail_902_) == 0)
{
lean_object* v_head_903_; lean_object* v___x_904_; 
lean_dec(v_ref_855_);
v_head_903_ = lean_ctor_get(v_ps_859_, 0);
v___x_904_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_name_x3f(v_head_903_);
if (lean_obj_tag(v___x_904_) == 0)
{
lean_object* v___x_905_; 
v___x_905_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__1));
v___y_861_ = v___x_905_;
goto v___jp_860_;
}
else
{
lean_object* v_val_906_; 
v_val_906_ = lean_ctor_get(v___x_904_, 0);
lean_inc(v_val_906_);
lean_dec_ref(v___x_904_);
v___y_861_ = v_val_906_;
goto v___jp_860_;
}
}
else
{
lean_object* v___x_907_; lean_object* v___x_908_; 
v___x_907_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor___closed__0));
lean_inc(v_ref_855_);
v___x_908_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_908_, 0, v_ref_855_);
lean_ctor_set(v___x_908_, 1, v_ps_859_);
if (v_explicit_857_ == 0)
{
lean_dec(v_ref_855_);
v___y_888_ = v___x_907_;
v___y_889_ = v___x_908_;
goto v___jp_887_;
}
else
{
lean_object* v___x_909_; 
v___x_909_ = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(v___x_909_, 0, v_ref_855_);
lean_ctor_set(v___x_909_, 1, v___x_908_);
v___y_888_ = v___x_907_;
v___y_889_ = v___x_909_;
goto v___jp_887_;
}
}
}
}
else
{
if (lean_obj_tag(v_ps_859_) == 0)
{
lean_object* v___x_910_; 
v___x_910_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__2));
v___y_884_ = v___x_896_;
v___y_885_ = v___x_910_;
goto v___jp_883_;
}
else
{
lean_object* v_head_911_; 
v_head_911_ = lean_ctor_get(v_ps_859_, 0);
lean_inc(v_head_911_);
v___y_884_ = v___x_896_;
v___y_885_ = v_head_911_;
goto v___jp_883_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor___boxed(lean_object* v_ref_934_, lean_object* v_info_935_, lean_object* v_explicit_936_, lean_object* v_idx_937_, lean_object* v_ps_938_){
_start:
{
uint8_t v_explicit_boxed_939_; lean_object* v_res_940_; 
v_explicit_boxed_939_ = lean_unbox(v_explicit_936_);
v_res_940_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor(v_ref_934_, v_info_935_, v_explicit_boxed_939_, v_idx_937_, v_ps_938_);
lean_dec(v_idx_937_);
lean_dec_ref(v_info_935_);
return v_res_940_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor_match__1_splitter___redArg(lean_object* v_x_941_, lean_object* v_h__1_942_){
_start:
{
lean_object* v_fst_943_; lean_object* v_snd_944_; lean_object* v___x_945_; 
v_fst_943_ = lean_ctor_get(v_x_941_, 0);
lean_inc(v_fst_943_);
v_snd_944_ = lean_ctor_get(v_x_941_, 1);
lean_inc(v_snd_944_);
lean_dec_ref(v_x_941_);
v___x_945_ = lean_apply_2(v_h__1_942_, v_fst_943_, v_snd_944_);
return v___x_945_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor_match__1_splitter(lean_object* v_motive_946_, lean_object* v_x_947_, lean_object* v_h__1_948_){
_start:
{
lean_object* v___x_949_; 
v___x_949_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor_match__1_splitter___redArg(v_x_947_, v_h__1_948_);
return v___x_949_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor_match__3_splitter___redArg(lean_object* v_ps_950_, lean_object* v_h__1_951_, lean_object* v_h__2_952_, lean_object* v_h__3_953_){
_start:
{
if (lean_obj_tag(v_ps_950_) == 0)
{
lean_object* v___x_954_; lean_object* v___x_955_; 
lean_dec(v_h__3_953_);
lean_dec(v_h__2_952_);
v___x_954_ = lean_box(0);
v___x_955_ = lean_apply_1(v_h__1_951_, v___x_954_);
return v___x_955_;
}
else
{
lean_object* v_tail_956_; 
lean_dec(v_h__1_951_);
v_tail_956_ = lean_ctor_get(v_ps_950_, 1);
if (lean_obj_tag(v_tail_956_) == 0)
{
lean_object* v_head_957_; lean_object* v___x_958_; 
lean_dec(v_h__3_953_);
v_head_957_ = lean_ctor_get(v_ps_950_, 0);
lean_inc(v_head_957_);
lean_dec_ref(v_ps_950_);
v___x_958_ = lean_apply_1(v_h__2_952_, v_head_957_);
return v___x_958_;
}
else
{
lean_object* v___x_959_; 
lean_dec(v_h__2_952_);
v___x_959_ = lean_apply_3(v_h__3_953_, v_ps_950_, lean_box(0), lean_box(0));
return v___x_959_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor_match__3_splitter(lean_object* v_motive_960_, lean_object* v_ps_961_, lean_object* v_h__1_962_, lean_object* v_h__2_963_, lean_object* v_h__3_964_){
_start:
{
if (lean_obj_tag(v_ps_961_) == 0)
{
lean_object* v___x_965_; lean_object* v___x_966_; 
lean_dec(v_h__3_964_);
lean_dec(v_h__2_963_);
v___x_965_ = lean_box(0);
v___x_966_ = lean_apply_1(v_h__1_962_, v___x_965_);
return v___x_966_;
}
else
{
lean_object* v_tail_967_; 
lean_dec(v_h__1_962_);
v_tail_967_ = lean_ctor_get(v_ps_961_, 1);
if (lean_obj_tag(v_tail_967_) == 0)
{
lean_object* v_head_968_; lean_object* v___x_969_; 
lean_dec(v_h__3_964_);
v_head_968_ = lean_ctor_get(v_ps_961_, 0);
lean_inc(v_head_968_);
lean_dec_ref(v_ps_961_);
v___x_969_ = lean_apply_1(v_h__2_963_, v_head_968_);
return v___x_969_;
}
else
{
lean_object* v___x_970_; 
lean_dec(v_h__2_963_);
v___x_970_ = lean_apply_3(v_h__3_964_, v_ps_961_, lean_box(0), lean_box(0));
return v___x_970_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors___lam__0(lean_object* v___y_971_, lean_object* v___y_972_, lean_object* v_x_973_, lean_object* v_x_974_){
_start:
{
lean_object* v___x_975_; lean_object* v___x_976_; 
v___x_975_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_asTuple(v___y_971_);
v___x_976_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_976_, 0, v___x_975_);
lean_ctor_set(v___x_976_, 1, v___y_972_);
return v___x_976_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors___lam__0___boxed(lean_object* v___y_977_, lean_object* v___y_978_, lean_object* v_x_979_, lean_object* v_x_980_){
_start:
{
lean_object* v_res_981_; 
v_res_981_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors___lam__0(v___y_977_, v___y_978_, v_x_979_, v_x_980_);
lean_dec(v_x_980_);
lean_dec(v_x_979_);
return v_res_981_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__0(void){
_start:
{
lean_object* v___x_982_; 
v___x_982_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
return v___x_982_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__1(void){
_start:
{
lean_object* v___x_983_; lean_object* v___x_984_; 
v___x_983_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__0, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__0_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__0);
v___x_984_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_984_, 0, v___x_983_);
return v___x_984_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__2(void){
_start:
{
lean_object* v___x_985_; lean_object* v___x_986_; lean_object* v___x_987_; 
v___x_985_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__1, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__1_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__1);
v___x_986_ = lean_unsigned_to_nat(0u);
v___x_987_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v___x_987_, 0, v___x_986_);
lean_ctor_set(v___x_987_, 1, v___x_986_);
lean_ctor_set(v___x_987_, 2, v___x_986_);
lean_ctor_set(v___x_987_, 3, v___x_985_);
lean_ctor_set(v___x_987_, 4, v___x_985_);
lean_ctor_set(v___x_987_, 5, v___x_985_);
lean_ctor_set(v___x_987_, 6, v___x_985_);
lean_ctor_set(v___x_987_, 7, v___x_985_);
lean_ctor_set(v___x_987_, 8, v___x_985_);
return v___x_987_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__3(void){
_start:
{
lean_object* v___x_988_; lean_object* v___x_989_; lean_object* v___x_990_; 
v___x_988_ = lean_unsigned_to_nat(32u);
v___x_989_ = lean_mk_empty_array_with_capacity(v___x_988_);
v___x_990_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_990_, 0, v___x_989_);
return v___x_990_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__4(void){
_start:
{
size_t v___x_991_; lean_object* v___x_992_; lean_object* v___x_993_; lean_object* v___x_994_; lean_object* v___x_995_; lean_object* v___x_996_; 
v___x_991_ = ((size_t)5ULL);
v___x_992_ = lean_unsigned_to_nat(0u);
v___x_993_ = lean_unsigned_to_nat(32u);
v___x_994_ = lean_mk_empty_array_with_capacity(v___x_993_);
v___x_995_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__3, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__3_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__3);
v___x_996_ = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
lean_ctor_set(v___x_996_, 0, v___x_995_);
lean_ctor_set(v___x_996_, 1, v___x_994_);
lean_ctor_set(v___x_996_, 2, v___x_992_);
lean_ctor_set(v___x_996_, 3, v___x_992_);
lean_ctor_set_usize(v___x_996_, 4, v___x_991_);
return v___x_996_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__5(void){
_start:
{
lean_object* v___x_997_; lean_object* v___x_998_; lean_object* v___x_999_; lean_object* v___x_1000_; 
v___x_997_ = lean_box(1);
v___x_998_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__4, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__4_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__4);
v___x_999_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__1, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__1_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__1);
v___x_1000_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v___x_1000_, 0, v___x_999_);
lean_ctor_set(v___x_1000_, 1, v___x_998_);
lean_ctor_set(v___x_1000_, 2, v___x_997_);
return v___x_1000_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__7(void){
_start:
{
lean_object* v___x_1002_; lean_object* v___x_1003_; 
v___x_1002_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__6));
v___x_1003_ = l_Lean_stringToMessageData(v___x_1002_);
return v___x_1003_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__9(void){
_start:
{
lean_object* v___x_1005_; lean_object* v___x_1006_; 
v___x_1005_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__8));
v___x_1006_ = l_Lean_stringToMessageData(v___x_1005_);
return v___x_1006_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__11(void){
_start:
{
lean_object* v___x_1008_; lean_object* v___x_1009_; 
v___x_1008_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__10));
v___x_1009_ = l_Lean_stringToMessageData(v___x_1008_);
return v___x_1009_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__13(void){
_start:
{
lean_object* v___x_1011_; lean_object* v___x_1012_; 
v___x_1011_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__12));
v___x_1012_ = l_Lean_stringToMessageData(v___x_1011_);
return v___x_1012_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__15(void){
_start:
{
lean_object* v___x_1014_; lean_object* v___x_1015_; 
v___x_1014_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__14));
v___x_1015_ = l_Lean_stringToMessageData(v___x_1014_);
return v___x_1015_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__17(void){
_start:
{
lean_object* v___x_1017_; lean_object* v___x_1018_; 
v___x_1017_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__16));
v___x_1018_ = l_Lean_stringToMessageData(v___x_1017_);
return v___x_1018_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__19(void){
_start:
{
lean_object* v___x_1020_; lean_object* v___x_1021_; 
v___x_1020_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__18));
v___x_1021_ = l_Lean_stringToMessageData(v___x_1020_);
return v___x_1021_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg(lean_object* v_msg_1022_, lean_object* v_declHint_1023_, lean_object* v___y_1024_){
_start:
{
lean_object* v___x_1026_; lean_object* v_env_1027_; uint8_t v___x_1028_; 
v___x_1026_ = lean_st_ref_get(v___y_1024_);
v_env_1027_ = lean_ctor_get(v___x_1026_, 0);
lean_inc_ref(v_env_1027_);
lean_dec(v___x_1026_);
v___x_1028_ = l_Lean_Name_isAnonymous(v_declHint_1023_);
if (v___x_1028_ == 0)
{
uint8_t v_isExporting_1029_; 
v_isExporting_1029_ = lean_ctor_get_uint8(v_env_1027_, sizeof(void*)*8);
if (v_isExporting_1029_ == 0)
{
lean_object* v___x_1030_; 
lean_dec_ref(v_env_1027_);
lean_dec(v_declHint_1023_);
v___x_1030_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1030_, 0, v_msg_1022_);
return v___x_1030_;
}
else
{
lean_object* v___x_1031_; uint8_t v___x_1032_; 
lean_inc_ref(v_env_1027_);
v___x_1031_ = l_Lean_Environment_setExporting(v_env_1027_, v___x_1028_);
lean_inc(v_declHint_1023_);
lean_inc_ref(v___x_1031_);
v___x_1032_ = l_Lean_Environment_contains(v___x_1031_, v_declHint_1023_, v_isExporting_1029_);
if (v___x_1032_ == 0)
{
lean_object* v___x_1033_; 
lean_dec_ref(v___x_1031_);
lean_dec_ref(v_env_1027_);
lean_dec(v_declHint_1023_);
v___x_1033_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1033_, 0, v_msg_1022_);
return v___x_1033_;
}
else
{
lean_object* v___x_1034_; lean_object* v___x_1035_; lean_object* v___x_1036_; lean_object* v___x_1037_; lean_object* v___x_1038_; lean_object* v_c_1039_; lean_object* v___x_1040_; 
v___x_1034_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__2, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__2_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__2);
v___x_1035_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__5, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__5_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__5);
v___x_1036_ = l_Lean_Options_empty;
v___x_1037_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_1037_, 0, v___x_1031_);
lean_ctor_set(v___x_1037_, 1, v___x_1034_);
lean_ctor_set(v___x_1037_, 2, v___x_1035_);
lean_ctor_set(v___x_1037_, 3, v___x_1036_);
lean_inc(v_declHint_1023_);
v___x_1038_ = l_Lean_MessageData_ofConstName(v_declHint_1023_, v___x_1028_);
v_c_1039_ = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(v_c_1039_, 0, v___x_1037_);
lean_ctor_set(v_c_1039_, 1, v___x_1038_);
v___x_1040_ = l_Lean_Environment_getModuleIdxFor_x3f(v_env_1027_, v_declHint_1023_);
if (lean_obj_tag(v___x_1040_) == 0)
{
lean_object* v___x_1041_; lean_object* v___x_1042_; lean_object* v___x_1043_; lean_object* v___x_1044_; lean_object* v___x_1045_; lean_object* v___x_1046_; lean_object* v___x_1047_; 
lean_dec_ref(v_env_1027_);
lean_dec(v_declHint_1023_);
v___x_1041_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__7, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__7_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__7);
v___x_1042_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1042_, 0, v___x_1041_);
lean_ctor_set(v___x_1042_, 1, v_c_1039_);
v___x_1043_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__9, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__9_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__9);
v___x_1044_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1044_, 0, v___x_1042_);
lean_ctor_set(v___x_1044_, 1, v___x_1043_);
v___x_1045_ = l_Lean_MessageData_note(v___x_1044_);
v___x_1046_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1046_, 0, v_msg_1022_);
lean_ctor_set(v___x_1046_, 1, v___x_1045_);
v___x_1047_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1047_, 0, v___x_1046_);
return v___x_1047_;
}
else
{
lean_object* v_val_1048_; lean_object* v___x_1050_; uint8_t v_isShared_1051_; uint8_t v_isSharedCheck_1083_; 
v_val_1048_ = lean_ctor_get(v___x_1040_, 0);
v_isSharedCheck_1083_ = !lean_is_exclusive(v___x_1040_);
if (v_isSharedCheck_1083_ == 0)
{
v___x_1050_ = v___x_1040_;
v_isShared_1051_ = v_isSharedCheck_1083_;
goto v_resetjp_1049_;
}
else
{
lean_inc(v_val_1048_);
lean_dec(v___x_1040_);
v___x_1050_ = lean_box(0);
v_isShared_1051_ = v_isSharedCheck_1083_;
goto v_resetjp_1049_;
}
v_resetjp_1049_:
{
lean_object* v___x_1052_; lean_object* v___x_1053_; lean_object* v___x_1054_; lean_object* v_mod_1055_; uint8_t v___x_1056_; 
v___x_1052_ = lean_box(0);
v___x_1053_ = l_Lean_Environment_header(v_env_1027_);
lean_dec_ref(v_env_1027_);
v___x_1054_ = l_Lean_EnvironmentHeader_moduleNames(v___x_1053_);
v_mod_1055_ = lean_array_get(v___x_1052_, v___x_1054_, v_val_1048_);
lean_dec(v_val_1048_);
lean_dec_ref(v___x_1054_);
v___x_1056_ = l_Lean_isPrivateName(v_declHint_1023_);
lean_dec(v_declHint_1023_);
if (v___x_1056_ == 0)
{
lean_object* v___x_1057_; lean_object* v___x_1058_; lean_object* v___x_1059_; lean_object* v___x_1060_; lean_object* v___x_1061_; lean_object* v___x_1062_; lean_object* v___x_1063_; lean_object* v___x_1064_; lean_object* v___x_1065_; lean_object* v___x_1066_; lean_object* v___x_1068_; 
v___x_1057_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__11, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__11_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__11);
v___x_1058_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1058_, 0, v___x_1057_);
lean_ctor_set(v___x_1058_, 1, v_c_1039_);
v___x_1059_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__13, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__13_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__13);
v___x_1060_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1060_, 0, v___x_1058_);
lean_ctor_set(v___x_1060_, 1, v___x_1059_);
v___x_1061_ = l_Lean_MessageData_ofName(v_mod_1055_);
v___x_1062_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1062_, 0, v___x_1060_);
lean_ctor_set(v___x_1062_, 1, v___x_1061_);
v___x_1063_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__15, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__15_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__15);
v___x_1064_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1064_, 0, v___x_1062_);
lean_ctor_set(v___x_1064_, 1, v___x_1063_);
v___x_1065_ = l_Lean_MessageData_note(v___x_1064_);
v___x_1066_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1066_, 0, v_msg_1022_);
lean_ctor_set(v___x_1066_, 1, v___x_1065_);
if (v_isShared_1051_ == 0)
{
lean_ctor_set_tag(v___x_1050_, 0);
lean_ctor_set(v___x_1050_, 0, v___x_1066_);
v___x_1068_ = v___x_1050_;
goto v_reusejp_1067_;
}
else
{
lean_object* v_reuseFailAlloc_1069_; 
v_reuseFailAlloc_1069_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1069_, 0, v___x_1066_);
v___x_1068_ = v_reuseFailAlloc_1069_;
goto v_reusejp_1067_;
}
v_reusejp_1067_:
{
return v___x_1068_;
}
}
else
{
lean_object* v___x_1070_; lean_object* v___x_1071_; lean_object* v___x_1072_; lean_object* v___x_1073_; lean_object* v___x_1074_; lean_object* v___x_1075_; lean_object* v___x_1076_; lean_object* v___x_1077_; lean_object* v___x_1078_; lean_object* v___x_1079_; lean_object* v___x_1081_; 
v___x_1070_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__7, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__7_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__7);
v___x_1071_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1071_, 0, v___x_1070_);
lean_ctor_set(v___x_1071_, 1, v_c_1039_);
v___x_1072_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__17, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__17_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__17);
v___x_1073_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1073_, 0, v___x_1071_);
lean_ctor_set(v___x_1073_, 1, v___x_1072_);
v___x_1074_ = l_Lean_MessageData_ofName(v_mod_1055_);
v___x_1075_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1075_, 0, v___x_1073_);
lean_ctor_set(v___x_1075_, 1, v___x_1074_);
v___x_1076_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__19, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__19_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___closed__19);
v___x_1077_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1077_, 0, v___x_1075_);
lean_ctor_set(v___x_1077_, 1, v___x_1076_);
v___x_1078_ = l_Lean_MessageData_note(v___x_1077_);
v___x_1079_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1079_, 0, v_msg_1022_);
lean_ctor_set(v___x_1079_, 1, v___x_1078_);
if (v_isShared_1051_ == 0)
{
lean_ctor_set_tag(v___x_1050_, 0);
lean_ctor_set(v___x_1050_, 0, v___x_1079_);
v___x_1081_ = v___x_1050_;
goto v_reusejp_1080_;
}
else
{
lean_object* v_reuseFailAlloc_1082_; 
v_reuseFailAlloc_1082_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1082_, 0, v___x_1079_);
v___x_1081_ = v_reuseFailAlloc_1082_;
goto v_reusejp_1080_;
}
v_reusejp_1080_:
{
return v___x_1081_;
}
}
}
}
}
}
}
else
{
lean_object* v___x_1084_; 
lean_dec_ref(v_env_1027_);
lean_dec(v_declHint_1023_);
v___x_1084_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1084_, 0, v_msg_1022_);
return v___x_1084_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg___boxed(lean_object* v_msg_1085_, lean_object* v_declHint_1086_, lean_object* v___y_1087_, lean_object* v___y_1088_){
_start:
{
lean_object* v_res_1089_; 
v_res_1089_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg(v_msg_1085_, v_declHint_1086_, v___y_1087_);
lean_dec(v___y_1087_);
return v_res_1089_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5(lean_object* v_msg_1090_, lean_object* v_declHint_1091_, lean_object* v___y_1092_, lean_object* v___y_1093_, lean_object* v___y_1094_, lean_object* v___y_1095_){
_start:
{
lean_object* v___x_1097_; lean_object* v_a_1098_; lean_object* v___x_1100_; uint8_t v_isShared_1101_; uint8_t v_isSharedCheck_1107_; 
v___x_1097_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg(v_msg_1090_, v_declHint_1091_, v___y_1095_);
v_a_1098_ = lean_ctor_get(v___x_1097_, 0);
v_isSharedCheck_1107_ = !lean_is_exclusive(v___x_1097_);
if (v_isSharedCheck_1107_ == 0)
{
v___x_1100_ = v___x_1097_;
v_isShared_1101_ = v_isSharedCheck_1107_;
goto v_resetjp_1099_;
}
else
{
lean_inc(v_a_1098_);
lean_dec(v___x_1097_);
v___x_1100_ = lean_box(0);
v_isShared_1101_ = v_isSharedCheck_1107_;
goto v_resetjp_1099_;
}
v_resetjp_1099_:
{
lean_object* v___x_1102_; lean_object* v___x_1103_; lean_object* v___x_1105_; 
v___x_1102_ = l_Lean_unknownIdentifierMessageTag;
v___x_1103_ = lean_alloc_ctor(8, 2, 0);
lean_ctor_set(v___x_1103_, 0, v___x_1102_);
lean_ctor_set(v___x_1103_, 1, v_a_1098_);
if (v_isShared_1101_ == 0)
{
lean_ctor_set(v___x_1100_, 0, v___x_1103_);
v___x_1105_ = v___x_1100_;
goto v_reusejp_1104_;
}
else
{
lean_object* v_reuseFailAlloc_1106_; 
v_reuseFailAlloc_1106_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1106_, 0, v___x_1103_);
v___x_1105_ = v_reuseFailAlloc_1106_;
goto v_reusejp_1104_;
}
v_reusejp_1104_:
{
return v___x_1105_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5___boxed(lean_object* v_msg_1108_, lean_object* v_declHint_1109_, lean_object* v___y_1110_, lean_object* v___y_1111_, lean_object* v___y_1112_, lean_object* v___y_1113_, lean_object* v___y_1114_){
_start:
{
lean_object* v_res_1115_; 
v_res_1115_ = l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5(v_msg_1108_, v_declHint_1109_, v___y_1110_, v___y_1111_, v___y_1112_, v___y_1113_);
lean_dec(v___y_1113_);
lean_dec_ref(v___y_1112_);
lean_dec(v___y_1111_);
lean_dec_ref(v___y_1110_);
return v_res_1115_;
}
}
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8_spec__9(lean_object* v_msgData_1116_, lean_object* v___y_1117_, lean_object* v___y_1118_, lean_object* v___y_1119_, lean_object* v___y_1120_){
_start:
{
lean_object* v___x_1122_; lean_object* v_env_1123_; lean_object* v___x_1124_; lean_object* v_mctx_1125_; lean_object* v_lctx_1126_; lean_object* v_options_1127_; lean_object* v___x_1128_; lean_object* v___x_1129_; lean_object* v___x_1130_; 
v___x_1122_ = lean_st_ref_get(v___y_1120_);
v_env_1123_ = lean_ctor_get(v___x_1122_, 0);
lean_inc_ref(v_env_1123_);
lean_dec(v___x_1122_);
v___x_1124_ = lean_st_ref_get(v___y_1118_);
v_mctx_1125_ = lean_ctor_get(v___x_1124_, 0);
lean_inc_ref(v_mctx_1125_);
lean_dec(v___x_1124_);
v_lctx_1126_ = lean_ctor_get(v___y_1117_, 2);
v_options_1127_ = lean_ctor_get(v___y_1119_, 2);
lean_inc_ref(v_options_1127_);
lean_inc_ref(v_lctx_1126_);
v___x_1128_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_1128_, 0, v_env_1123_);
lean_ctor_set(v___x_1128_, 1, v_mctx_1125_);
lean_ctor_set(v___x_1128_, 2, v_lctx_1126_);
lean_ctor_set(v___x_1128_, 3, v_options_1127_);
v___x_1129_ = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(v___x_1129_, 0, v___x_1128_);
lean_ctor_set(v___x_1129_, 1, v_msgData_1116_);
v___x_1130_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1130_, 0, v___x_1129_);
return v___x_1130_;
}
}
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8_spec__9___boxed(lean_object* v_msgData_1131_, lean_object* v___y_1132_, lean_object* v___y_1133_, lean_object* v___y_1134_, lean_object* v___y_1135_, lean_object* v___y_1136_){
_start:
{
lean_object* v_res_1137_; 
v_res_1137_ = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8_spec__9(v_msgData_1131_, v___y_1132_, v___y_1133_, v___y_1134_, v___y_1135_);
lean_dec(v___y_1135_);
lean_dec_ref(v___y_1134_);
lean_dec(v___y_1133_);
lean_dec_ref(v___y_1132_);
return v_res_1137_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8___redArg(lean_object* v_msg_1138_, lean_object* v___y_1139_, lean_object* v___y_1140_, lean_object* v___y_1141_, lean_object* v___y_1142_){
_start:
{
lean_object* v_ref_1144_; lean_object* v___x_1145_; lean_object* v_a_1146_; lean_object* v___x_1148_; uint8_t v_isShared_1149_; uint8_t v_isSharedCheck_1154_; 
v_ref_1144_ = lean_ctor_get(v___y_1141_, 5);
v___x_1145_ = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8_spec__9(v_msg_1138_, v___y_1139_, v___y_1140_, v___y_1141_, v___y_1142_);
v_a_1146_ = lean_ctor_get(v___x_1145_, 0);
v_isSharedCheck_1154_ = !lean_is_exclusive(v___x_1145_);
if (v_isSharedCheck_1154_ == 0)
{
v___x_1148_ = v___x_1145_;
v_isShared_1149_ = v_isSharedCheck_1154_;
goto v_resetjp_1147_;
}
else
{
lean_inc(v_a_1146_);
lean_dec(v___x_1145_);
v___x_1148_ = lean_box(0);
v_isShared_1149_ = v_isSharedCheck_1154_;
goto v_resetjp_1147_;
}
v_resetjp_1147_:
{
lean_object* v___x_1150_; lean_object* v___x_1152_; 
lean_inc(v_ref_1144_);
v___x_1150_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_1150_, 0, v_ref_1144_);
lean_ctor_set(v___x_1150_, 1, v_a_1146_);
if (v_isShared_1149_ == 0)
{
lean_ctor_set_tag(v___x_1148_, 1);
lean_ctor_set(v___x_1148_, 0, v___x_1150_);
v___x_1152_ = v___x_1148_;
goto v_reusejp_1151_;
}
else
{
lean_object* v_reuseFailAlloc_1153_; 
v_reuseFailAlloc_1153_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1153_, 0, v___x_1150_);
v___x_1152_ = v_reuseFailAlloc_1153_;
goto v_reusejp_1151_;
}
v_reusejp_1151_:
{
return v___x_1152_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8___redArg___boxed(lean_object* v_msg_1155_, lean_object* v___y_1156_, lean_object* v___y_1157_, lean_object* v___y_1158_, lean_object* v___y_1159_, lean_object* v___y_1160_){
_start:
{
lean_object* v_res_1161_; 
v_res_1161_ = l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8___redArg(v_msg_1155_, v___y_1156_, v___y_1157_, v___y_1158_, v___y_1159_);
lean_dec(v___y_1159_);
lean_dec_ref(v___y_1158_);
lean_dec(v___y_1157_);
lean_dec_ref(v___y_1156_);
return v_res_1161_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6___redArg(lean_object* v_ref_1162_, lean_object* v_msg_1163_, lean_object* v___y_1164_, lean_object* v___y_1165_, lean_object* v___y_1166_, lean_object* v___y_1167_){
_start:
{
lean_object* v_fileName_1169_; lean_object* v_fileMap_1170_; lean_object* v_options_1171_; lean_object* v_currRecDepth_1172_; lean_object* v_maxRecDepth_1173_; lean_object* v_ref_1174_; lean_object* v_currNamespace_1175_; lean_object* v_openDecls_1176_; lean_object* v_initHeartbeats_1177_; lean_object* v_maxHeartbeats_1178_; lean_object* v_quotContext_1179_; lean_object* v_currMacroScope_1180_; uint8_t v_diag_1181_; lean_object* v_cancelTk_x3f_1182_; uint8_t v_suppressElabErrors_1183_; lean_object* v_inheritedTraceOptions_1184_; lean_object* v___x_1186_; uint8_t v_isShared_1187_; uint8_t v_isSharedCheck_1193_; 
v_fileName_1169_ = lean_ctor_get(v___y_1166_, 0);
v_fileMap_1170_ = lean_ctor_get(v___y_1166_, 1);
v_options_1171_ = lean_ctor_get(v___y_1166_, 2);
v_currRecDepth_1172_ = lean_ctor_get(v___y_1166_, 3);
v_maxRecDepth_1173_ = lean_ctor_get(v___y_1166_, 4);
v_ref_1174_ = lean_ctor_get(v___y_1166_, 5);
v_currNamespace_1175_ = lean_ctor_get(v___y_1166_, 6);
v_openDecls_1176_ = lean_ctor_get(v___y_1166_, 7);
v_initHeartbeats_1177_ = lean_ctor_get(v___y_1166_, 8);
v_maxHeartbeats_1178_ = lean_ctor_get(v___y_1166_, 9);
v_quotContext_1179_ = lean_ctor_get(v___y_1166_, 10);
v_currMacroScope_1180_ = lean_ctor_get(v___y_1166_, 11);
v_diag_1181_ = lean_ctor_get_uint8(v___y_1166_, sizeof(void*)*14);
v_cancelTk_x3f_1182_ = lean_ctor_get(v___y_1166_, 12);
v_suppressElabErrors_1183_ = lean_ctor_get_uint8(v___y_1166_, sizeof(void*)*14 + 1);
v_inheritedTraceOptions_1184_ = lean_ctor_get(v___y_1166_, 13);
v_isSharedCheck_1193_ = !lean_is_exclusive(v___y_1166_);
if (v_isSharedCheck_1193_ == 0)
{
v___x_1186_ = v___y_1166_;
v_isShared_1187_ = v_isSharedCheck_1193_;
goto v_resetjp_1185_;
}
else
{
lean_inc(v_inheritedTraceOptions_1184_);
lean_inc(v_cancelTk_x3f_1182_);
lean_inc(v_currMacroScope_1180_);
lean_inc(v_quotContext_1179_);
lean_inc(v_maxHeartbeats_1178_);
lean_inc(v_initHeartbeats_1177_);
lean_inc(v_openDecls_1176_);
lean_inc(v_currNamespace_1175_);
lean_inc(v_ref_1174_);
lean_inc(v_maxRecDepth_1173_);
lean_inc(v_currRecDepth_1172_);
lean_inc(v_options_1171_);
lean_inc(v_fileMap_1170_);
lean_inc(v_fileName_1169_);
lean_dec(v___y_1166_);
v___x_1186_ = lean_box(0);
v_isShared_1187_ = v_isSharedCheck_1193_;
goto v_resetjp_1185_;
}
v_resetjp_1185_:
{
lean_object* v_ref_1188_; lean_object* v___x_1190_; 
v_ref_1188_ = l_Lean_replaceRef(v_ref_1162_, v_ref_1174_);
lean_dec(v_ref_1174_);
if (v_isShared_1187_ == 0)
{
lean_ctor_set(v___x_1186_, 5, v_ref_1188_);
v___x_1190_ = v___x_1186_;
goto v_reusejp_1189_;
}
else
{
lean_object* v_reuseFailAlloc_1192_; 
v_reuseFailAlloc_1192_ = lean_alloc_ctor(0, 14, 2);
lean_ctor_set(v_reuseFailAlloc_1192_, 0, v_fileName_1169_);
lean_ctor_set(v_reuseFailAlloc_1192_, 1, v_fileMap_1170_);
lean_ctor_set(v_reuseFailAlloc_1192_, 2, v_options_1171_);
lean_ctor_set(v_reuseFailAlloc_1192_, 3, v_currRecDepth_1172_);
lean_ctor_set(v_reuseFailAlloc_1192_, 4, v_maxRecDepth_1173_);
lean_ctor_set(v_reuseFailAlloc_1192_, 5, v_ref_1188_);
lean_ctor_set(v_reuseFailAlloc_1192_, 6, v_currNamespace_1175_);
lean_ctor_set(v_reuseFailAlloc_1192_, 7, v_openDecls_1176_);
lean_ctor_set(v_reuseFailAlloc_1192_, 8, v_initHeartbeats_1177_);
lean_ctor_set(v_reuseFailAlloc_1192_, 9, v_maxHeartbeats_1178_);
lean_ctor_set(v_reuseFailAlloc_1192_, 10, v_quotContext_1179_);
lean_ctor_set(v_reuseFailAlloc_1192_, 11, v_currMacroScope_1180_);
lean_ctor_set(v_reuseFailAlloc_1192_, 12, v_cancelTk_x3f_1182_);
lean_ctor_set(v_reuseFailAlloc_1192_, 13, v_inheritedTraceOptions_1184_);
lean_ctor_set_uint8(v_reuseFailAlloc_1192_, sizeof(void*)*14, v_diag_1181_);
lean_ctor_set_uint8(v_reuseFailAlloc_1192_, sizeof(void*)*14 + 1, v_suppressElabErrors_1183_);
v___x_1190_ = v_reuseFailAlloc_1192_;
goto v_reusejp_1189_;
}
v_reusejp_1189_:
{
lean_object* v___x_1191_; 
v___x_1191_ = l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8___redArg(v_msg_1163_, v___y_1164_, v___y_1165_, v___x_1190_, v___y_1167_);
lean_dec_ref(v___x_1190_);
return v___x_1191_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6___redArg___boxed(lean_object* v_ref_1194_, lean_object* v_msg_1195_, lean_object* v___y_1196_, lean_object* v___y_1197_, lean_object* v___y_1198_, lean_object* v___y_1199_, lean_object* v___y_1200_){
_start:
{
lean_object* v_res_1201_; 
v_res_1201_ = l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6___redArg(v_ref_1194_, v_msg_1195_, v___y_1196_, v___y_1197_, v___y_1198_, v___y_1199_);
lean_dec(v___y_1199_);
lean_dec(v___y_1197_);
lean_dec_ref(v___y_1196_);
lean_dec(v_ref_1194_);
return v_res_1201_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4___redArg(lean_object* v_ref_1202_, lean_object* v_msg_1203_, lean_object* v_declHint_1204_, lean_object* v___y_1205_, lean_object* v___y_1206_, lean_object* v___y_1207_, lean_object* v___y_1208_){
_start:
{
lean_object* v___x_1210_; lean_object* v_a_1211_; lean_object* v___x_1212_; 
v___x_1210_ = l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5(v_msg_1203_, v_declHint_1204_, v___y_1205_, v___y_1206_, v___y_1207_, v___y_1208_);
v_a_1211_ = lean_ctor_get(v___x_1210_, 0);
lean_inc(v_a_1211_);
lean_dec_ref(v___x_1210_);
v___x_1212_ = l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6___redArg(v_ref_1202_, v_a_1211_, v___y_1205_, v___y_1206_, v___y_1207_, v___y_1208_);
return v___x_1212_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4___redArg___boxed(lean_object* v_ref_1213_, lean_object* v_msg_1214_, lean_object* v_declHint_1215_, lean_object* v___y_1216_, lean_object* v___y_1217_, lean_object* v___y_1218_, lean_object* v___y_1219_, lean_object* v___y_1220_){
_start:
{
lean_object* v_res_1221_; 
v_res_1221_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4___redArg(v_ref_1213_, v_msg_1214_, v_declHint_1215_, v___y_1216_, v___y_1217_, v___y_1218_, v___y_1219_);
lean_dec(v___y_1219_);
lean_dec(v___y_1217_);
lean_dec_ref(v___y_1216_);
lean_dec(v_ref_1213_);
return v_res_1221_;
}
}
static lean_object* _init_l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__1(void){
_start:
{
lean_object* v___x_1223_; lean_object* v___x_1224_; 
v___x_1223_ = ((lean_object*)(l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__0));
v___x_1224_ = l_Lean_stringToMessageData(v___x_1223_);
return v___x_1224_;
}
}
static lean_object* _init_l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__3(void){
_start:
{
lean_object* v___x_1226_; lean_object* v___x_1227_; 
v___x_1226_ = ((lean_object*)(l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__2));
v___x_1227_ = l_Lean_stringToMessageData(v___x_1226_);
return v___x_1227_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg(lean_object* v_ref_1228_, lean_object* v_constName_1229_, lean_object* v___y_1230_, lean_object* v___y_1231_, lean_object* v___y_1232_, lean_object* v___y_1233_){
_start:
{
lean_object* v___x_1235_; uint8_t v___x_1236_; lean_object* v___x_1237_; lean_object* v___x_1238_; lean_object* v___x_1239_; lean_object* v___x_1240_; lean_object* v___x_1241_; 
v___x_1235_ = lean_obj_once(&l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__1, &l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__1_once, _init_l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__1);
v___x_1236_ = 0;
lean_inc(v_constName_1229_);
v___x_1237_ = l_Lean_MessageData_ofConstName(v_constName_1229_, v___x_1236_);
v___x_1238_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1238_, 0, v___x_1235_);
lean_ctor_set(v___x_1238_, 1, v___x_1237_);
v___x_1239_ = lean_obj_once(&l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__3, &l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__3_once, _init_l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___closed__3);
v___x_1240_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1240_, 0, v___x_1238_);
lean_ctor_set(v___x_1240_, 1, v___x_1239_);
v___x_1241_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4___redArg(v_ref_1228_, v___x_1240_, v_constName_1229_, v___y_1230_, v___y_1231_, v___y_1232_, v___y_1233_);
return v___x_1241_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg___boxed(lean_object* v_ref_1242_, lean_object* v_constName_1243_, lean_object* v___y_1244_, lean_object* v___y_1245_, lean_object* v___y_1246_, lean_object* v___y_1247_, lean_object* v___y_1248_){
_start:
{
lean_object* v_res_1249_; 
v_res_1249_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg(v_ref_1242_, v_constName_1243_, v___y_1244_, v___y_1245_, v___y_1246_, v___y_1247_);
lean_dec(v___y_1247_);
lean_dec(v___y_1245_);
lean_dec_ref(v___y_1244_);
lean_dec(v_ref_1242_);
return v_res_1249_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1___redArg(lean_object* v_constName_1250_, lean_object* v___y_1251_, lean_object* v___y_1252_, lean_object* v___y_1253_, lean_object* v___y_1254_){
_start:
{
lean_object* v_ref_1256_; lean_object* v___x_1257_; 
v_ref_1256_ = lean_ctor_get(v___y_1253_, 5);
lean_inc(v_ref_1256_);
v___x_1257_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg(v_ref_1256_, v_constName_1250_, v___y_1251_, v___y_1252_, v___y_1253_, v___y_1254_);
lean_dec(v_ref_1256_);
return v___x_1257_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1___redArg___boxed(lean_object* v_constName_1258_, lean_object* v___y_1259_, lean_object* v___y_1260_, lean_object* v___y_1261_, lean_object* v___y_1262_, lean_object* v___y_1263_){
_start:
{
lean_object* v_res_1264_; 
v_res_1264_ = l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1___redArg(v_constName_1258_, v___y_1259_, v___y_1260_, v___y_1261_, v___y_1262_);
lean_dec(v___y_1262_);
lean_dec(v___y_1260_);
lean_dec_ref(v___y_1259_);
return v_res_1264_;
}
}
LEAN_EXPORT lean_object* l_Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0(lean_object* v_constName_1265_, lean_object* v___y_1266_, lean_object* v___y_1267_, lean_object* v___y_1268_, lean_object* v___y_1269_){
_start:
{
lean_object* v___x_1271_; lean_object* v_env_1272_; uint8_t v___x_1273_; lean_object* v___x_1274_; 
v___x_1271_ = lean_st_ref_get(v___y_1269_);
v_env_1272_ = lean_ctor_get(v___x_1271_, 0);
lean_inc_ref(v_env_1272_);
lean_dec(v___x_1271_);
v___x_1273_ = 0;
lean_inc(v_constName_1265_);
v___x_1274_ = l_Lean_Environment_findConstVal_x3f(v_env_1272_, v_constName_1265_, v___x_1273_);
if (lean_obj_tag(v___x_1274_) == 0)
{
lean_object* v___x_1275_; 
v___x_1275_ = l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1___redArg(v_constName_1265_, v___y_1266_, v___y_1267_, v___y_1268_, v___y_1269_);
return v___x_1275_;
}
else
{
lean_object* v_val_1276_; lean_object* v___x_1278_; uint8_t v_isShared_1279_; uint8_t v_isSharedCheck_1283_; 
lean_dec_ref(v___y_1268_);
lean_dec(v_constName_1265_);
v_val_1276_ = lean_ctor_get(v___x_1274_, 0);
v_isSharedCheck_1283_ = !lean_is_exclusive(v___x_1274_);
if (v_isSharedCheck_1283_ == 0)
{
v___x_1278_ = v___x_1274_;
v_isShared_1279_ = v_isSharedCheck_1283_;
goto v_resetjp_1277_;
}
else
{
lean_inc(v_val_1276_);
lean_dec(v___x_1274_);
v___x_1278_ = lean_box(0);
v_isShared_1279_ = v_isSharedCheck_1283_;
goto v_resetjp_1277_;
}
v_resetjp_1277_:
{
lean_object* v___x_1281_; 
if (v_isShared_1279_ == 0)
{
lean_ctor_set_tag(v___x_1278_, 0);
v___x_1281_ = v___x_1278_;
goto v_reusejp_1280_;
}
else
{
lean_object* v_reuseFailAlloc_1282_; 
v_reuseFailAlloc_1282_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1282_, 0, v_val_1276_);
v___x_1281_ = v_reuseFailAlloc_1282_;
goto v_reusejp_1280_;
}
v_reusejp_1280_:
{
return v___x_1281_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0___boxed(lean_object* v_constName_1284_, lean_object* v___y_1285_, lean_object* v___y_1286_, lean_object* v___y_1287_, lean_object* v___y_1288_, lean_object* v___y_1289_){
_start:
{
lean_object* v_res_1290_; 
v_res_1290_ = l_Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0(v_constName_1284_, v___y_1285_, v___y_1286_, v___y_1287_, v___y_1288_);
lean_dec(v___y_1288_);
lean_dec(v___y_1286_);
lean_dec_ref(v___y_1285_);
return v_res_1290_;
}
}
LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__1(lean_object* v_a_1291_, lean_object* v_a_1292_){
_start:
{
if (lean_obj_tag(v_a_1291_) == 0)
{
lean_object* v___x_1293_; 
v___x_1293_ = l_List_reverse___redArg(v_a_1292_);
return v___x_1293_;
}
else
{
lean_object* v_head_1294_; lean_object* v_tail_1295_; lean_object* v___x_1297_; uint8_t v_isShared_1298_; uint8_t v_isSharedCheck_1304_; 
v_head_1294_ = lean_ctor_get(v_a_1291_, 0);
v_tail_1295_ = lean_ctor_get(v_a_1291_, 1);
v_isSharedCheck_1304_ = !lean_is_exclusive(v_a_1291_);
if (v_isSharedCheck_1304_ == 0)
{
v___x_1297_ = v_a_1291_;
v_isShared_1298_ = v_isSharedCheck_1304_;
goto v_resetjp_1296_;
}
else
{
lean_inc(v_tail_1295_);
lean_inc(v_head_1294_);
lean_dec(v_a_1291_);
v___x_1297_ = lean_box(0);
v_isShared_1298_ = v_isSharedCheck_1304_;
goto v_resetjp_1296_;
}
v_resetjp_1296_:
{
lean_object* v___x_1299_; lean_object* v___x_1301_; 
v___x_1299_ = l_Lean_mkLevelParam(v_head_1294_);
if (v_isShared_1298_ == 0)
{
lean_ctor_set(v___x_1297_, 1, v_a_1292_);
lean_ctor_set(v___x_1297_, 0, v___x_1299_);
v___x_1301_ = v___x_1297_;
goto v_reusejp_1300_;
}
else
{
lean_object* v_reuseFailAlloc_1303_; 
v_reuseFailAlloc_1303_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1303_, 0, v___x_1299_);
lean_ctor_set(v_reuseFailAlloc_1303_, 1, v_a_1292_);
v___x_1301_ = v_reuseFailAlloc_1303_;
goto v_reusejp_1300_;
}
v_reusejp_1300_:
{
v_a_1291_ = v_tail_1295_;
v_a_1292_ = v___x_1301_;
goto _start;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0(lean_object* v_constName_1305_, lean_object* v___y_1306_, lean_object* v___y_1307_, lean_object* v___y_1308_, lean_object* v___y_1309_){
_start:
{
lean_object* v___x_1311_; 
lean_inc(v_constName_1305_);
v___x_1311_ = l_Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0(v_constName_1305_, v___y_1306_, v___y_1307_, v___y_1308_, v___y_1309_);
if (lean_obj_tag(v___x_1311_) == 0)
{
lean_object* v_a_1312_; lean_object* v___x_1314_; uint8_t v_isShared_1315_; uint8_t v_isSharedCheck_1323_; 
v_a_1312_ = lean_ctor_get(v___x_1311_, 0);
v_isSharedCheck_1323_ = !lean_is_exclusive(v___x_1311_);
if (v_isSharedCheck_1323_ == 0)
{
v___x_1314_ = v___x_1311_;
v_isShared_1315_ = v_isSharedCheck_1323_;
goto v_resetjp_1313_;
}
else
{
lean_inc(v_a_1312_);
lean_dec(v___x_1311_);
v___x_1314_ = lean_box(0);
v_isShared_1315_ = v_isSharedCheck_1323_;
goto v_resetjp_1313_;
}
v_resetjp_1313_:
{
lean_object* v_levelParams_1316_; lean_object* v___x_1317_; lean_object* v___x_1318_; lean_object* v___x_1319_; lean_object* v___x_1321_; 
v_levelParams_1316_ = lean_ctor_get(v_a_1312_, 1);
lean_inc(v_levelParams_1316_);
lean_dec(v_a_1312_);
v___x_1317_ = lean_box(0);
v___x_1318_ = l_List_mapTR_loop___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__1(v_levelParams_1316_, v___x_1317_);
v___x_1319_ = l_Lean_mkConst(v_constName_1305_, v___x_1318_);
if (v_isShared_1315_ == 0)
{
lean_ctor_set(v___x_1314_, 0, v___x_1319_);
v___x_1321_ = v___x_1314_;
goto v_reusejp_1320_;
}
else
{
lean_object* v_reuseFailAlloc_1322_; 
v_reuseFailAlloc_1322_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1322_, 0, v___x_1319_);
v___x_1321_ = v_reuseFailAlloc_1322_;
goto v_reusejp_1320_;
}
v_reusejp_1320_:
{
return v___x_1321_;
}
}
}
else
{
lean_object* v_a_1324_; lean_object* v___x_1326_; uint8_t v_isShared_1327_; uint8_t v_isSharedCheck_1331_; 
lean_dec(v_constName_1305_);
v_a_1324_ = lean_ctor_get(v___x_1311_, 0);
v_isSharedCheck_1331_ = !lean_is_exclusive(v___x_1311_);
if (v_isSharedCheck_1331_ == 0)
{
v___x_1326_ = v___x_1311_;
v_isShared_1327_ = v_isSharedCheck_1331_;
goto v_resetjp_1325_;
}
else
{
lean_inc(v_a_1324_);
lean_dec(v___x_1311_);
v___x_1326_ = lean_box(0);
v_isShared_1327_ = v_isSharedCheck_1331_;
goto v_resetjp_1325_;
}
v_resetjp_1325_:
{
lean_object* v___x_1329_; 
if (v_isShared_1327_ == 0)
{
v___x_1329_ = v___x_1326_;
goto v_reusejp_1328_;
}
else
{
lean_object* v_reuseFailAlloc_1330_; 
v_reuseFailAlloc_1330_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1330_, 0, v_a_1324_);
v___x_1329_ = v_reuseFailAlloc_1330_;
goto v_reusejp_1328_;
}
v_reusejp_1328_:
{
return v___x_1329_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0___boxed(lean_object* v_constName_1332_, lean_object* v___y_1333_, lean_object* v___y_1334_, lean_object* v___y_1335_, lean_object* v___y_1336_, lean_object* v___y_1337_){
_start:
{
lean_object* v_res_1338_; 
v_res_1338_ = l_Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0(v_constName_1332_, v___y_1333_, v___y_1334_, v___y_1335_, v___y_1336_);
lean_dec(v___y_1336_);
lean_dec(v___y_1334_);
lean_dec_ref(v___y_1333_);
return v_res_1338_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors(lean_object* v_ref_1339_, lean_object* v_params_1340_, lean_object* v_altVarNames_1341_, lean_object* v_x_1342_, lean_object* v_x_1343_, lean_object* v_a_1344_, lean_object* v_a_1345_, lean_object* v_a_1346_, lean_object* v_a_1347_){
_start:
{
if (lean_obj_tag(v_x_1342_) == 0)
{
lean_object* v___x_1349_; lean_object* v___x_1350_; lean_object* v___x_1351_; 
lean_dec(v_a_1347_);
lean_dec_ref(v_a_1346_);
lean_dec(v_a_1345_);
lean_dec_ref(v_a_1344_);
lean_dec(v_x_1343_);
lean_dec(v_ref_1339_);
v___x_1349_ = lean_box(0);
v___x_1350_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_1350_, 0, v_altVarNames_1341_);
lean_ctor_set(v___x_1350_, 1, v___x_1349_);
v___x_1351_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1351_, 0, v___x_1350_);
return v___x_1351_;
}
else
{
lean_object* v_head_1352_; lean_object* v_tail_1353_; lean_object* v___x_1355_; uint8_t v_isShared_1356_; uint8_t v_isSharedCheck_1462_; 
v_head_1352_ = lean_ctor_get(v_x_1342_, 0);
v_tail_1353_ = lean_ctor_get(v_x_1342_, 1);
v_isSharedCheck_1462_ = !lean_is_exclusive(v_x_1342_);
if (v_isSharedCheck_1462_ == 0)
{
v___x_1355_ = v_x_1342_;
v_isShared_1356_ = v_isSharedCheck_1462_;
goto v_resetjp_1354_;
}
else
{
lean_inc(v_tail_1353_);
lean_inc(v_head_1352_);
lean_dec(v_x_1342_);
v___x_1355_ = lean_box(0);
v_isShared_1356_ = v_isSharedCheck_1462_;
goto v_resetjp_1354_;
}
v_resetjp_1354_:
{
lean_object* v___x_1357_; 
lean_inc_ref(v_a_1346_);
lean_inc(v_head_1352_);
v___x_1357_ = l_Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0(v_head_1352_, v_a_1344_, v_a_1345_, v_a_1346_, v_a_1347_);
if (lean_obj_tag(v___x_1357_) == 0)
{
lean_object* v_a_1358_; lean_object* v___x_1359_; lean_object* v___x_1360_; 
v_a_1358_ = lean_ctor_get(v___x_1357_, 0);
lean_inc(v_a_1358_);
lean_dec_ref(v___x_1357_);
v___x_1359_ = lean_box(0);
lean_inc(v_a_1347_);
lean_inc_ref(v_a_1346_);
lean_inc(v_a_1345_);
lean_inc_ref(v_a_1344_);
v___x_1360_ = l_Lean_Meta_getFunInfo(v_a_1358_, v___x_1359_, v_a_1344_, v_a_1345_, v_a_1346_, v_a_1347_);
if (lean_obj_tag(v___x_1360_) == 0)
{
lean_object* v_a_1361_; lean_object* v_paramInfo_1362_; lean_object* v___x_1364_; uint8_t v_isShared_1365_; uint8_t v_isSharedCheck_1444_; 
v_a_1361_ = lean_ctor_get(v___x_1360_, 0);
lean_inc(v_a_1361_);
lean_dec_ref(v___x_1360_);
v_paramInfo_1362_ = lean_ctor_get(v_a_1361_, 0);
v_isSharedCheck_1444_ = !lean_is_exclusive(v_a_1361_);
if (v_isSharedCheck_1444_ == 0)
{
lean_object* v_unused_1445_; 
v_unused_1445_ = lean_ctor_get(v_a_1361_, 1);
lean_dec(v_unused_1445_);
v___x_1364_ = v_a_1361_;
v_isShared_1365_ = v_isSharedCheck_1444_;
goto v_resetjp_1363_;
}
else
{
lean_inc(v_paramInfo_1362_);
lean_dec(v_a_1361_);
v___x_1364_ = lean_box(0);
v_isShared_1365_ = v_isSharedCheck_1444_;
goto v_resetjp_1363_;
}
v_resetjp_1363_:
{
lean_object* v___y_1367_; lean_object* v___y_1368_; uint8_t v___y_1369_; lean_object* v___y_1370_; lean_object* v___y_1406_; uint8_t v_fst_1407_; lean_object* v_snd_1408_; lean_object* v_snd_1409_; lean_object* v___y_1412_; lean_object* v___y_1413_; lean_object* v___y_1420_; lean_object* v___y_1421_; lean_object* v___y_1422_; lean_object* v___y_1439_; 
if (lean_obj_tag(v_x_1343_) == 0)
{
lean_object* v___x_1442_; 
v___x_1442_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__2));
v___y_1439_ = v___x_1442_;
goto v___jp_1438_;
}
else
{
lean_object* v_head_1443_; 
v_head_1443_ = lean_ctor_get(v_x_1343_, 0);
lean_inc(v_head_1443_);
v___y_1439_ = v_head_1443_;
goto v___jp_1438_;
}
v___jp_1366_:
{
lean_object* v___x_1371_; lean_object* v_fst_1372_; lean_object* v_snd_1373_; lean_object* v___x_1375_; uint8_t v_isShared_1376_; uint8_t v_isSharedCheck_1404_; 
v___x_1371_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor(v___y_1370_, v_paramInfo_1362_, v___y_1369_, v_params_1340_, v___y_1368_);
lean_dec_ref(v_paramInfo_1362_);
v_fst_1372_ = lean_ctor_get(v___x_1371_, 0);
v_snd_1373_ = lean_ctor_get(v___x_1371_, 1);
v_isSharedCheck_1404_ = !lean_is_exclusive(v___x_1371_);
if (v_isSharedCheck_1404_ == 0)
{
v___x_1375_ = v___x_1371_;
v_isShared_1376_ = v_isSharedCheck_1404_;
goto v_resetjp_1374_;
}
else
{
lean_inc(v_snd_1373_);
lean_inc(v_fst_1372_);
lean_dec(v___x_1371_);
v___x_1375_ = lean_box(0);
v_isShared_1376_ = v_isSharedCheck_1404_;
goto v_resetjp_1374_;
}
v_resetjp_1374_:
{
uint8_t v___x_1377_; lean_object* v___x_1378_; lean_object* v___x_1379_; lean_object* v___x_1380_; 
v___x_1377_ = 1;
v___x_1378_ = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(v___x_1378_, 0, v_fst_1372_);
lean_ctor_set_uint8(v___x_1378_, sizeof(void*)*1, v___x_1377_);
v___x_1379_ = lean_array_push(v_altVarNames_1341_, v___x_1378_);
v___x_1380_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors(v_ref_1339_, v_params_1340_, v___x_1379_, v_tail_1353_, v___y_1367_, v_a_1344_, v_a_1345_, v_a_1346_, v_a_1347_);
if (lean_obj_tag(v___x_1380_) == 0)
{
lean_object* v_a_1381_; lean_object* v___x_1383_; uint8_t v_isShared_1384_; uint8_t v_isSharedCheck_1403_; 
v_a_1381_ = lean_ctor_get(v___x_1380_, 0);
v_isSharedCheck_1403_ = !lean_is_exclusive(v___x_1380_);
if (v_isSharedCheck_1403_ == 0)
{
v___x_1383_ = v___x_1380_;
v_isShared_1384_ = v_isSharedCheck_1403_;
goto v_resetjp_1382_;
}
else
{
lean_inc(v_a_1381_);
lean_dec(v___x_1380_);
v___x_1383_ = lean_box(0);
v_isShared_1384_ = v_isSharedCheck_1403_;
goto v_resetjp_1382_;
}
v_resetjp_1382_:
{
lean_object* v_fst_1385_; lean_object* v_snd_1386_; lean_object* v___x_1388_; uint8_t v_isShared_1389_; uint8_t v_isSharedCheck_1402_; 
v_fst_1385_ = lean_ctor_get(v_a_1381_, 0);
v_snd_1386_ = lean_ctor_get(v_a_1381_, 1);
v_isSharedCheck_1402_ = !lean_is_exclusive(v_a_1381_);
if (v_isSharedCheck_1402_ == 0)
{
v___x_1388_ = v_a_1381_;
v_isShared_1389_ = v_isSharedCheck_1402_;
goto v_resetjp_1387_;
}
else
{
lean_inc(v_snd_1386_);
lean_inc(v_fst_1385_);
lean_dec(v_a_1381_);
v___x_1388_ = lean_box(0);
v_isShared_1389_ = v_isSharedCheck_1402_;
goto v_resetjp_1387_;
}
v_resetjp_1387_:
{
lean_object* v___x_1391_; 
if (v_isShared_1389_ == 0)
{
lean_ctor_set(v___x_1388_, 1, v_snd_1373_);
lean_ctor_set(v___x_1388_, 0, v_head_1352_);
v___x_1391_ = v___x_1388_;
goto v_reusejp_1390_;
}
else
{
lean_object* v_reuseFailAlloc_1401_; 
v_reuseFailAlloc_1401_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1401_, 0, v_head_1352_);
lean_ctor_set(v_reuseFailAlloc_1401_, 1, v_snd_1373_);
v___x_1391_ = v_reuseFailAlloc_1401_;
goto v_reusejp_1390_;
}
v_reusejp_1390_:
{
lean_object* v___x_1393_; 
if (v_isShared_1356_ == 0)
{
lean_ctor_set(v___x_1355_, 1, v_snd_1386_);
lean_ctor_set(v___x_1355_, 0, v___x_1391_);
v___x_1393_ = v___x_1355_;
goto v_reusejp_1392_;
}
else
{
lean_object* v_reuseFailAlloc_1400_; 
v_reuseFailAlloc_1400_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1400_, 0, v___x_1391_);
lean_ctor_set(v_reuseFailAlloc_1400_, 1, v_snd_1386_);
v___x_1393_ = v_reuseFailAlloc_1400_;
goto v_reusejp_1392_;
}
v_reusejp_1392_:
{
lean_object* v___x_1395_; 
if (v_isShared_1376_ == 0)
{
lean_ctor_set(v___x_1375_, 1, v___x_1393_);
lean_ctor_set(v___x_1375_, 0, v_fst_1385_);
v___x_1395_ = v___x_1375_;
goto v_reusejp_1394_;
}
else
{
lean_object* v_reuseFailAlloc_1399_; 
v_reuseFailAlloc_1399_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1399_, 0, v_fst_1385_);
lean_ctor_set(v_reuseFailAlloc_1399_, 1, v___x_1393_);
v___x_1395_ = v_reuseFailAlloc_1399_;
goto v_reusejp_1394_;
}
v_reusejp_1394_:
{
lean_object* v___x_1397_; 
if (v_isShared_1384_ == 0)
{
lean_ctor_set(v___x_1383_, 0, v___x_1395_);
v___x_1397_ = v___x_1383_;
goto v_reusejp_1396_;
}
else
{
lean_object* v_reuseFailAlloc_1398_; 
v_reuseFailAlloc_1398_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1398_, 0, v___x_1395_);
v___x_1397_ = v_reuseFailAlloc_1398_;
goto v_reusejp_1396_;
}
v_reusejp_1396_:
{
return v___x_1397_;
}
}
}
}
}
}
}
else
{
lean_del_object(v___x_1375_);
lean_dec(v_snd_1373_);
lean_del_object(v___x_1355_);
lean_dec(v_head_1352_);
return v___x_1380_;
}
}
}
v___jp_1405_:
{
lean_object* v_ref_1410_; 
v_ref_1410_ = lean_ctor_get(v___y_1406_, 0);
lean_inc(v_ref_1410_);
lean_dec_ref(v___y_1406_);
v___y_1367_ = v_snd_1409_;
v___y_1368_ = v_snd_1408_;
v___y_1369_ = v_fst_1407_;
v___y_1370_ = v_ref_1410_;
goto v___jp_1366_;
}
v___jp_1411_:
{
lean_object* v_fst_1414_; lean_object* v_snd_1415_; lean_object* v_fst_1416_; lean_object* v_snd_1417_; uint8_t v___x_1418_; 
v_fst_1414_ = lean_ctor_get(v___y_1413_, 0);
lean_inc(v_fst_1414_);
v_snd_1415_ = lean_ctor_get(v___y_1413_, 1);
lean_inc(v_snd_1415_);
lean_dec_ref(v___y_1413_);
v_fst_1416_ = lean_ctor_get(v_fst_1414_, 0);
lean_inc(v_fst_1416_);
v_snd_1417_ = lean_ctor_get(v_fst_1414_, 1);
lean_inc(v_snd_1417_);
lean_dec(v_fst_1414_);
v___x_1418_ = lean_unbox(v_fst_1416_);
lean_dec(v_fst_1416_);
v___y_1406_ = v___y_1412_;
v_fst_1407_ = v___x_1418_;
v_snd_1408_ = v_snd_1417_;
v_snd_1409_ = v_snd_1415_;
goto v___jp_1405_;
}
v___jp_1419_:
{
if (lean_obj_tag(v_tail_1353_) == 0)
{
if (lean_obj_tag(v___y_1422_) == 1)
{
lean_object* v___x_1424_; uint8_t v_isShared_1425_; uint8_t v_isSharedCheck_1433_; 
v_isSharedCheck_1433_ = !lean_is_exclusive(v___y_1422_);
if (v_isSharedCheck_1433_ == 0)
{
lean_object* v_unused_1434_; lean_object* v_unused_1435_; 
v_unused_1434_ = lean_ctor_get(v___y_1422_, 1);
lean_dec(v_unused_1434_);
v_unused_1435_ = lean_ctor_get(v___y_1422_, 0);
lean_dec(v_unused_1435_);
v___x_1424_ = v___y_1422_;
v_isShared_1425_ = v_isSharedCheck_1433_;
goto v_resetjp_1423_;
}
else
{
lean_dec(v___y_1422_);
v___x_1424_ = lean_box(0);
v_isShared_1425_ = v_isSharedCheck_1433_;
goto v_resetjp_1423_;
}
v_resetjp_1423_:
{
uint8_t v___x_1426_; lean_object* v___x_1428_; 
v___x_1426_ = 0;
lean_inc(v_ref_1339_);
if (v_isShared_1365_ == 0)
{
lean_ctor_set_tag(v___x_1364_, 6);
lean_ctor_set(v___x_1364_, 1, v_x_1343_);
lean_ctor_set(v___x_1364_, 0, v_ref_1339_);
v___x_1428_ = v___x_1364_;
goto v_reusejp_1427_;
}
else
{
lean_object* v_reuseFailAlloc_1432_; 
v_reuseFailAlloc_1432_ = lean_alloc_ctor(6, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1432_, 0, v_ref_1339_);
lean_ctor_set(v_reuseFailAlloc_1432_, 1, v_x_1343_);
v___x_1428_ = v_reuseFailAlloc_1432_;
goto v_reusejp_1427_;
}
v_reusejp_1427_:
{
lean_object* v___x_1430_; 
lean_inc(v___y_1421_);
if (v_isShared_1425_ == 0)
{
lean_ctor_set(v___x_1424_, 1, v___y_1421_);
lean_ctor_set(v___x_1424_, 0, v___x_1428_);
v___x_1430_ = v___x_1424_;
goto v_reusejp_1429_;
}
else
{
lean_object* v_reuseFailAlloc_1431_; 
v_reuseFailAlloc_1431_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1431_, 0, v___x_1428_);
lean_ctor_set(v_reuseFailAlloc_1431_, 1, v___y_1421_);
v___x_1430_ = v_reuseFailAlloc_1431_;
goto v_reusejp_1429_;
}
v_reusejp_1429_:
{
v___y_1406_ = v___y_1420_;
v_fst_1407_ = v___x_1426_;
v_snd_1408_ = v___x_1430_;
v_snd_1409_ = v___y_1421_;
goto v___jp_1405_;
}
}
}
}
else
{
lean_object* v___x_1436_; 
lean_dec(v___y_1421_);
lean_del_object(v___x_1364_);
lean_dec(v_x_1343_);
lean_inc(v___y_1422_);
lean_inc_ref(v___y_1420_);
v___x_1436_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors___lam__0(v___y_1420_, v___y_1422_, v_tail_1353_, v___y_1422_);
lean_dec(v___y_1422_);
v___y_1412_ = v___y_1420_;
v___y_1413_ = v___x_1436_;
goto v___jp_1411_;
}
}
else
{
lean_object* v___x_1437_; 
lean_dec(v___y_1421_);
lean_del_object(v___x_1364_);
lean_dec(v_x_1343_);
lean_inc(v___y_1422_);
lean_inc_ref(v___y_1420_);
v___x_1437_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors___lam__0(v___y_1420_, v___y_1422_, v_tail_1353_, v___y_1422_);
lean_dec(v___y_1422_);
v___y_1412_ = v___y_1420_;
v___y_1413_ = v___x_1437_;
goto v___jp_1411_;
}
}
v___jp_1438_:
{
lean_object* v___x_1440_; 
v___x_1440_ = lean_box(0);
if (lean_obj_tag(v_x_1343_) == 0)
{
v___y_1420_ = v___y_1439_;
v___y_1421_ = v___x_1440_;
v___y_1422_ = v___x_1440_;
goto v___jp_1419_;
}
else
{
lean_object* v_tail_1441_; 
v_tail_1441_ = lean_ctor_get(v_x_1343_, 1);
lean_inc(v_tail_1441_);
v___y_1420_ = v___y_1439_;
v___y_1421_ = v___x_1440_;
v___y_1422_ = v_tail_1441_;
goto v___jp_1419_;
}
}
}
}
else
{
lean_object* v_a_1446_; lean_object* v___x_1448_; uint8_t v_isShared_1449_; uint8_t v_isSharedCheck_1453_; 
lean_del_object(v___x_1355_);
lean_dec(v_tail_1353_);
lean_dec(v_head_1352_);
lean_dec(v_a_1347_);
lean_dec_ref(v_a_1346_);
lean_dec(v_a_1345_);
lean_dec_ref(v_a_1344_);
lean_dec(v_x_1343_);
lean_dec_ref(v_altVarNames_1341_);
lean_dec(v_ref_1339_);
v_a_1446_ = lean_ctor_get(v___x_1360_, 0);
v_isSharedCheck_1453_ = !lean_is_exclusive(v___x_1360_);
if (v_isSharedCheck_1453_ == 0)
{
v___x_1448_ = v___x_1360_;
v_isShared_1449_ = v_isSharedCheck_1453_;
goto v_resetjp_1447_;
}
else
{
lean_inc(v_a_1446_);
lean_dec(v___x_1360_);
v___x_1448_ = lean_box(0);
v_isShared_1449_ = v_isSharedCheck_1453_;
goto v_resetjp_1447_;
}
v_resetjp_1447_:
{
lean_object* v___x_1451_; 
if (v_isShared_1449_ == 0)
{
v___x_1451_ = v___x_1448_;
goto v_reusejp_1450_;
}
else
{
lean_object* v_reuseFailAlloc_1452_; 
v_reuseFailAlloc_1452_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1452_, 0, v_a_1446_);
v___x_1451_ = v_reuseFailAlloc_1452_;
goto v_reusejp_1450_;
}
v_reusejp_1450_:
{
return v___x_1451_;
}
}
}
}
else
{
lean_object* v_a_1454_; lean_object* v___x_1456_; uint8_t v_isShared_1457_; uint8_t v_isSharedCheck_1461_; 
lean_del_object(v___x_1355_);
lean_dec(v_tail_1353_);
lean_dec(v_head_1352_);
lean_dec(v_a_1347_);
lean_dec_ref(v_a_1346_);
lean_dec(v_a_1345_);
lean_dec_ref(v_a_1344_);
lean_dec(v_x_1343_);
lean_dec_ref(v_altVarNames_1341_);
lean_dec(v_ref_1339_);
v_a_1454_ = lean_ctor_get(v___x_1357_, 0);
v_isSharedCheck_1461_ = !lean_is_exclusive(v___x_1357_);
if (v_isSharedCheck_1461_ == 0)
{
v___x_1456_ = v___x_1357_;
v_isShared_1457_ = v_isSharedCheck_1461_;
goto v_resetjp_1455_;
}
else
{
lean_inc(v_a_1454_);
lean_dec(v___x_1357_);
v___x_1456_ = lean_box(0);
v_isShared_1457_ = v_isSharedCheck_1461_;
goto v_resetjp_1455_;
}
v_resetjp_1455_:
{
lean_object* v___x_1459_; 
if (v_isShared_1457_ == 0)
{
v___x_1459_ = v___x_1456_;
goto v_reusejp_1458_;
}
else
{
lean_object* v_reuseFailAlloc_1460_; 
v_reuseFailAlloc_1460_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1460_, 0, v_a_1454_);
v___x_1459_ = v_reuseFailAlloc_1460_;
goto v_reusejp_1458_;
}
v_reusejp_1458_:
{
return v___x_1459_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors___boxed(lean_object* v_ref_1463_, lean_object* v_params_1464_, lean_object* v_altVarNames_1465_, lean_object* v_x_1466_, lean_object* v_x_1467_, lean_object* v_a_1468_, lean_object* v_a_1469_, lean_object* v_a_1470_, lean_object* v_a_1471_, lean_object* v_a_1472_){
_start:
{
lean_object* v_res_1473_; 
v_res_1473_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors(v_ref_1463_, v_params_1464_, v_altVarNames_1465_, v_x_1466_, v_x_1467_, v_a_1468_, v_a_1469_, v_a_1470_, v_a_1471_);
lean_dec(v_params_1464_);
return v_res_1473_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1(lean_object* v_00_u03b1_1474_, lean_object* v_constName_1475_, lean_object* v___y_1476_, lean_object* v___y_1477_, lean_object* v___y_1478_, lean_object* v___y_1479_){
_start:
{
lean_object* v___x_1481_; 
v___x_1481_ = l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1___redArg(v_constName_1475_, v___y_1476_, v___y_1477_, v___y_1478_, v___y_1479_);
return v___x_1481_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1___boxed(lean_object* v_00_u03b1_1482_, lean_object* v_constName_1483_, lean_object* v___y_1484_, lean_object* v___y_1485_, lean_object* v___y_1486_, lean_object* v___y_1487_, lean_object* v___y_1488_){
_start:
{
lean_object* v_res_1489_; 
v_res_1489_ = l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1(v_00_u03b1_1482_, v_constName_1483_, v___y_1484_, v___y_1485_, v___y_1486_, v___y_1487_);
lean_dec(v___y_1487_);
lean_dec(v___y_1485_);
lean_dec_ref(v___y_1484_);
return v_res_1489_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2(lean_object* v_00_u03b1_1490_, lean_object* v_ref_1491_, lean_object* v_constName_1492_, lean_object* v___y_1493_, lean_object* v___y_1494_, lean_object* v___y_1495_, lean_object* v___y_1496_){
_start:
{
lean_object* v___x_1498_; 
v___x_1498_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___redArg(v_ref_1491_, v_constName_1492_, v___y_1493_, v___y_1494_, v___y_1495_, v___y_1496_);
return v___x_1498_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2___boxed(lean_object* v_00_u03b1_1499_, lean_object* v_ref_1500_, lean_object* v_constName_1501_, lean_object* v___y_1502_, lean_object* v___y_1503_, lean_object* v___y_1504_, lean_object* v___y_1505_, lean_object* v___y_1506_){
_start:
{
lean_object* v_res_1507_; 
v_res_1507_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2(v_00_u03b1_1499_, v_ref_1500_, v_constName_1501_, v___y_1502_, v___y_1503_, v___y_1504_, v___y_1505_);
lean_dec(v___y_1505_);
lean_dec(v___y_1503_);
lean_dec_ref(v___y_1502_);
lean_dec(v_ref_1500_);
return v_res_1507_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4(lean_object* v_00_u03b1_1508_, lean_object* v_ref_1509_, lean_object* v_msg_1510_, lean_object* v_declHint_1511_, lean_object* v___y_1512_, lean_object* v___y_1513_, lean_object* v___y_1514_, lean_object* v___y_1515_){
_start:
{
lean_object* v___x_1517_; 
v___x_1517_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4___redArg(v_ref_1509_, v_msg_1510_, v_declHint_1511_, v___y_1512_, v___y_1513_, v___y_1514_, v___y_1515_);
return v___x_1517_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4___boxed(lean_object* v_00_u03b1_1518_, lean_object* v_ref_1519_, lean_object* v_msg_1520_, lean_object* v_declHint_1521_, lean_object* v___y_1522_, lean_object* v___y_1523_, lean_object* v___y_1524_, lean_object* v___y_1525_, lean_object* v___y_1526_){
_start:
{
lean_object* v_res_1527_; 
v_res_1527_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4(v_00_u03b1_1518_, v_ref_1519_, v_msg_1520_, v_declHint_1521_, v___y_1522_, v___y_1523_, v___y_1524_, v___y_1525_);
lean_dec(v___y_1525_);
lean_dec(v___y_1523_);
lean_dec_ref(v___y_1522_);
lean_dec(v_ref_1519_);
return v_res_1527_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6(lean_object* v_msg_1528_, lean_object* v_declHint_1529_, lean_object* v___y_1530_, lean_object* v___y_1531_, lean_object* v___y_1532_, lean_object* v___y_1533_){
_start:
{
lean_object* v___x_1535_; 
v___x_1535_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___redArg(v_msg_1528_, v_declHint_1529_, v___y_1533_);
return v___x_1535_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6___boxed(lean_object* v_msg_1536_, lean_object* v_declHint_1537_, lean_object* v___y_1538_, lean_object* v___y_1539_, lean_object* v___y_1540_, lean_object* v___y_1541_, lean_object* v___y_1542_){
_start:
{
lean_object* v_res_1543_; 
v_res_1543_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__5_spec__6(v_msg_1536_, v_declHint_1537_, v___y_1538_, v___y_1539_, v___y_1540_, v___y_1541_);
lean_dec(v___y_1541_);
lean_dec_ref(v___y_1540_);
lean_dec(v___y_1539_);
lean_dec_ref(v___y_1538_);
return v_res_1543_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6(lean_object* v_00_u03b1_1544_, lean_object* v_ref_1545_, lean_object* v_msg_1546_, lean_object* v___y_1547_, lean_object* v___y_1548_, lean_object* v___y_1549_, lean_object* v___y_1550_){
_start:
{
lean_object* v___x_1552_; 
v___x_1552_ = l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6___redArg(v_ref_1545_, v_msg_1546_, v___y_1547_, v___y_1548_, v___y_1549_, v___y_1550_);
return v___x_1552_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6___boxed(lean_object* v_00_u03b1_1553_, lean_object* v_ref_1554_, lean_object* v_msg_1555_, lean_object* v___y_1556_, lean_object* v___y_1557_, lean_object* v___y_1558_, lean_object* v___y_1559_, lean_object* v___y_1560_){
_start:
{
lean_object* v_res_1561_; 
v_res_1561_ = l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6(v_00_u03b1_1553_, v_ref_1554_, v_msg_1555_, v___y_1556_, v___y_1557_, v___y_1558_, v___y_1559_);
lean_dec(v___y_1559_);
lean_dec(v___y_1557_);
lean_dec_ref(v___y_1556_);
lean_dec(v_ref_1554_);
return v_res_1561_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8(lean_object* v_00_u03b1_1562_, lean_object* v_msg_1563_, lean_object* v___y_1564_, lean_object* v___y_1565_, lean_object* v___y_1566_, lean_object* v___y_1567_){
_start:
{
lean_object* v___x_1569_; 
v___x_1569_ = l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8___redArg(v_msg_1563_, v___y_1564_, v___y_1565_, v___y_1566_, v___y_1567_);
return v___x_1569_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8___boxed(lean_object* v_00_u03b1_1570_, lean_object* v_msg_1571_, lean_object* v___y_1572_, lean_object* v___y_1573_, lean_object* v___y_1574_, lean_object* v___y_1575_, lean_object* v___y_1576_){
_start:
{
lean_object* v_res_1577_; 
v_res_1577_ = l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8(v_00_u03b1_1570_, v_msg_1571_, v___y_1572_, v___y_1573_, v___y_1574_, v___y_1575_);
lean_dec(v___y_1575_);
lean_dec_ref(v___y_1574_);
lean_dec(v___y_1573_);
lean_dec_ref(v___y_1572_);
return v_res_1577_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7___redArg___lam__0(lean_object* v_x_1578_, lean_object* v___y_1579_, lean_object* v___y_1580_, lean_object* v___y_1581_, lean_object* v___y_1582_, lean_object* v___y_1583_, lean_object* v___y_1584_){
_start:
{
lean_object* v___x_1586_; 
v___x_1586_ = lean_apply_7(v_x_1578_, v___y_1579_, v___y_1580_, v___y_1581_, v___y_1582_, v___y_1583_, v___y_1584_, lean_box(0));
return v___x_1586_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7___redArg___lam__0___boxed(lean_object* v_x_1587_, lean_object* v___y_1588_, lean_object* v___y_1589_, lean_object* v___y_1590_, lean_object* v___y_1591_, lean_object* v___y_1592_, lean_object* v___y_1593_, lean_object* v___y_1594_){
_start:
{
lean_object* v_res_1595_; 
v_res_1595_ = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7___redArg___lam__0(v_x_1587_, v___y_1588_, v___y_1589_, v___y_1590_, v___y_1591_, v___y_1592_, v___y_1593_);
return v_res_1595_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7___redArg(lean_object* v_mvarId_1596_, lean_object* v_x_1597_, lean_object* v___y_1598_, lean_object* v___y_1599_, lean_object* v___y_1600_, lean_object* v___y_1601_, lean_object* v___y_1602_, lean_object* v___y_1603_){
_start:
{
lean_object* v___f_1605_; lean_object* v___x_1606_; 
v___f_1605_ = lean_alloc_closure((void*)(l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7___redArg___lam__0___boxed), 8, 3);
lean_closure_set(v___f_1605_, 0, v_x_1597_);
lean_closure_set(v___f_1605_, 1, v___y_1598_);
lean_closure_set(v___f_1605_, 2, v___y_1599_);
v___x_1606_ = l___private_Lean_Meta_Basic_0__Lean_Meta_withMVarContextImp(lean_box(0), v_mvarId_1596_, v___f_1605_, v___y_1600_, v___y_1601_, v___y_1602_, v___y_1603_);
if (lean_obj_tag(v___x_1606_) == 0)
{
return v___x_1606_;
}
else
{
lean_object* v_a_1607_; lean_object* v___x_1609_; uint8_t v_isShared_1610_; uint8_t v_isSharedCheck_1614_; 
v_a_1607_ = lean_ctor_get(v___x_1606_, 0);
v_isSharedCheck_1614_ = !lean_is_exclusive(v___x_1606_);
if (v_isSharedCheck_1614_ == 0)
{
v___x_1609_ = v___x_1606_;
v_isShared_1610_ = v_isSharedCheck_1614_;
goto v_resetjp_1608_;
}
else
{
lean_inc(v_a_1607_);
lean_dec(v___x_1606_);
v___x_1609_ = lean_box(0);
v_isShared_1610_ = v_isSharedCheck_1614_;
goto v_resetjp_1608_;
}
v_resetjp_1608_:
{
lean_object* v___x_1612_; 
if (v_isShared_1610_ == 0)
{
v___x_1612_ = v___x_1609_;
goto v_reusejp_1611_;
}
else
{
lean_object* v_reuseFailAlloc_1613_; 
v_reuseFailAlloc_1613_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1613_, 0, v_a_1607_);
v___x_1612_ = v_reuseFailAlloc_1613_;
goto v_reusejp_1611_;
}
v_reusejp_1611_:
{
return v___x_1612_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7___redArg___boxed(lean_object* v_mvarId_1615_, lean_object* v_x_1616_, lean_object* v___y_1617_, lean_object* v___y_1618_, lean_object* v___y_1619_, lean_object* v___y_1620_, lean_object* v___y_1621_, lean_object* v___y_1622_, lean_object* v___y_1623_){
_start:
{
lean_object* v_res_1624_; 
v_res_1624_ = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7___redArg(v_mvarId_1615_, v_x_1616_, v___y_1617_, v___y_1618_, v___y_1619_, v___y_1620_, v___y_1621_, v___y_1622_);
return v_res_1624_;
}
}
static lean_object* _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__1(void){
_start:
{
lean_object* v___x_1626_; lean_object* v___x_1627_; 
v___x_1626_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__0));
v___x_1627_ = l_Lean_stringToMessageData(v___x_1626_);
return v___x_1627_;
}
}
static lean_object* _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__3(void){
_start:
{
lean_object* v___x_1629_; lean_object* v___x_1630_; 
v___x_1629_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__2));
v___x_1630_ = l_Lean_stringToMessageData(v___x_1629_);
return v___x_1630_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0(lean_object* v_x_1631_, lean_object* v___y_1632_, lean_object* v___y_1633_, lean_object* v___y_1634_, lean_object* v___y_1635_){
_start:
{
if (lean_obj_tag(v_x_1631_) == 1)
{
lean_object* v_fvarId_1637_; lean_object* v___x_1638_; 
v_fvarId_1637_ = lean_ctor_get(v_x_1631_, 0);
lean_inc(v_fvarId_1637_);
lean_dec_ref(v_x_1631_);
v___x_1638_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1638_, 0, v_fvarId_1637_);
return v___x_1638_;
}
else
{
lean_object* v___x_1639_; lean_object* v___x_1640_; lean_object* v___x_1641_; lean_object* v___x_1642_; lean_object* v___x_1643_; lean_object* v___x_1644_; 
v___x_1639_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__1, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__1_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__1);
v___x_1640_ = l_Lean_MessageData_ofExpr(v_x_1631_);
v___x_1641_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1641_, 0, v___x_1639_);
lean_ctor_set(v___x_1641_, 1, v___x_1640_);
v___x_1642_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__3, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__3_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__3);
v___x_1643_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1643_, 0, v___x_1641_);
lean_ctor_set(v___x_1643_, 1, v___x_1642_);
v___x_1644_ = l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8___redArg(v___x_1643_, v___y_1632_, v___y_1633_, v___y_1634_, v___y_1635_);
return v___x_1644_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___boxed(lean_object* v_x_1645_, lean_object* v___y_1646_, lean_object* v___y_1647_, lean_object* v___y_1648_, lean_object* v___y_1649_, lean_object* v___y_1650_){
_start:
{
lean_object* v_res_1651_; 
v_res_1651_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0(v_x_1645_, v___y_1646_, v___y_1647_, v___y_1648_, v___y_1649_);
lean_dec(v___y_1649_);
lean_dec_ref(v___y_1648_);
lean_dec(v___y_1647_);
lean_dec_ref(v___y_1646_);
return v_res_1651_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__2(lean_object* v_e_1652_, lean_object* v_cont_1653_, lean_object* v_g_1654_, lean_object* v_fs_1655_, lean_object* v_clears_1656_, lean_object* v_a_1657_, lean_object* v_ref_1658_, lean_object* v_a_1659_, lean_object* v___y_1660_, lean_object* v___y_1661_, lean_object* v___y_1662_, lean_object* v___y_1663_, lean_object* v___y_1664_, lean_object* v___y_1665_){
_start:
{
uint8_t v___x_1667_; 
v___x_1667_ = l_Lean_Expr_isFVar(v_e_1652_);
if (v___x_1667_ == 0)
{
lean_object* v___x_1668_; 
lean_dec(v_ref_1658_);
lean_dec_ref(v_e_1652_);
v___x_1668_ = lean_apply_11(v_cont_1653_, v_g_1654_, v_fs_1655_, v_clears_1656_, v_a_1657_, v___y_1660_, v___y_1661_, v___y_1662_, v___y_1663_, v___y_1664_, v___y_1665_, lean_box(0));
return v___x_1668_;
}
else
{
lean_object* v___x_1669_; 
lean_inc(v___y_1665_);
lean_inc_ref(v___y_1664_);
lean_inc(v___y_1663_);
lean_inc_ref(v___y_1662_);
lean_inc(v___y_1661_);
lean_inc_ref(v___y_1660_);
v___x_1669_ = l_Lean_Elab_Term_addLocalVarInfo(v_ref_1658_, v_e_1652_, v___y_1660_, v___y_1661_, v___y_1662_, v___y_1663_, v___y_1664_, v___y_1665_);
if (lean_obj_tag(v___x_1669_) == 0)
{
lean_object* v___x_1670_; 
lean_dec_ref(v___x_1669_);
v___x_1670_ = lean_apply_11(v_cont_1653_, v_g_1654_, v_fs_1655_, v_clears_1656_, v_a_1657_, v___y_1660_, v___y_1661_, v___y_1662_, v___y_1663_, v___y_1664_, v___y_1665_, lean_box(0));
return v___x_1670_;
}
else
{
lean_object* v_a_1671_; lean_object* v___x_1673_; uint8_t v_isShared_1674_; uint8_t v_isSharedCheck_1678_; 
lean_dec(v___y_1665_);
lean_dec_ref(v___y_1664_);
lean_dec(v___y_1663_);
lean_dec_ref(v___y_1662_);
lean_dec(v___y_1661_);
lean_dec_ref(v___y_1660_);
lean_dec(v_a_1657_);
lean_dec_ref(v_clears_1656_);
lean_dec(v_fs_1655_);
lean_dec(v_g_1654_);
lean_dec_ref(v_cont_1653_);
v_a_1671_ = lean_ctor_get(v___x_1669_, 0);
v_isSharedCheck_1678_ = !lean_is_exclusive(v___x_1669_);
if (v_isSharedCheck_1678_ == 0)
{
v___x_1673_ = v___x_1669_;
v_isShared_1674_ = v_isSharedCheck_1678_;
goto v_resetjp_1672_;
}
else
{
lean_inc(v_a_1671_);
lean_dec(v___x_1669_);
v___x_1673_ = lean_box(0);
v_isShared_1674_ = v_isSharedCheck_1678_;
goto v_resetjp_1672_;
}
v_resetjp_1672_:
{
lean_object* v___x_1676_; 
if (v_isShared_1674_ == 0)
{
v___x_1676_ = v___x_1673_;
goto v_reusejp_1675_;
}
else
{
lean_object* v_reuseFailAlloc_1677_; 
v_reuseFailAlloc_1677_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1677_, 0, v_a_1671_);
v___x_1676_ = v_reuseFailAlloc_1677_;
goto v_reusejp_1675_;
}
v_reusejp_1675_:
{
return v___x_1676_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__2___boxed(lean_object* v_e_1679_, lean_object* v_cont_1680_, lean_object* v_g_1681_, lean_object* v_fs_1682_, lean_object* v_clears_1683_, lean_object* v_a_1684_, lean_object* v_ref_1685_, lean_object* v_a_1686_, lean_object* v___y_1687_, lean_object* v___y_1688_, lean_object* v___y_1689_, lean_object* v___y_1690_, lean_object* v___y_1691_, lean_object* v___y_1692_, lean_object* v___y_1693_){
_start:
{
lean_object* v_res_1694_; 
v_res_1694_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__2(v_e_1679_, v_cont_1680_, v_g_1681_, v_fs_1682_, v_clears_1683_, v_a_1684_, v_ref_1685_, v_a_1686_, v___y_1687_, v___y_1688_, v___y_1689_, v___y_1690_, v___y_1691_, v___y_1692_);
lean_dec(v_a_1686_);
return v_res_1694_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__10_spec__13___redArg(lean_object* v_x_1695_, lean_object* v_x_1696_, lean_object* v_x_1697_, lean_object* v_x_1698_){
_start:
{
lean_object* v_ks_1699_; lean_object* v_vs_1700_; lean_object* v___x_1702_; uint8_t v_isShared_1703_; uint8_t v_isSharedCheck_1724_; 
v_ks_1699_ = lean_ctor_get(v_x_1695_, 0);
v_vs_1700_ = lean_ctor_get(v_x_1695_, 1);
v_isSharedCheck_1724_ = !lean_is_exclusive(v_x_1695_);
if (v_isSharedCheck_1724_ == 0)
{
v___x_1702_ = v_x_1695_;
v_isShared_1703_ = v_isSharedCheck_1724_;
goto v_resetjp_1701_;
}
else
{
lean_inc(v_vs_1700_);
lean_inc(v_ks_1699_);
lean_dec(v_x_1695_);
v___x_1702_ = lean_box(0);
v_isShared_1703_ = v_isSharedCheck_1724_;
goto v_resetjp_1701_;
}
v_resetjp_1701_:
{
lean_object* v___x_1704_; uint8_t v___x_1705_; 
v___x_1704_ = lean_array_get_size(v_ks_1699_);
v___x_1705_ = lean_nat_dec_lt(v_x_1696_, v___x_1704_);
if (v___x_1705_ == 0)
{
lean_object* v___x_1706_; lean_object* v___x_1707_; lean_object* v___x_1709_; 
lean_dec(v_x_1696_);
v___x_1706_ = lean_array_push(v_ks_1699_, v_x_1697_);
v___x_1707_ = lean_array_push(v_vs_1700_, v_x_1698_);
if (v_isShared_1703_ == 0)
{
lean_ctor_set(v___x_1702_, 1, v___x_1707_);
lean_ctor_set(v___x_1702_, 0, v___x_1706_);
v___x_1709_ = v___x_1702_;
goto v_reusejp_1708_;
}
else
{
lean_object* v_reuseFailAlloc_1710_; 
v_reuseFailAlloc_1710_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1710_, 0, v___x_1706_);
lean_ctor_set(v_reuseFailAlloc_1710_, 1, v___x_1707_);
v___x_1709_ = v_reuseFailAlloc_1710_;
goto v_reusejp_1708_;
}
v_reusejp_1708_:
{
return v___x_1709_;
}
}
else
{
lean_object* v_k_x27_1711_; uint8_t v___x_1712_; 
v_k_x27_1711_ = lean_array_fget_borrowed(v_ks_1699_, v_x_1696_);
v___x_1712_ = l_Lean_instBEqMVarId_beq(v_x_1697_, v_k_x27_1711_);
if (v___x_1712_ == 0)
{
lean_object* v___x_1714_; 
if (v_isShared_1703_ == 0)
{
v___x_1714_ = v___x_1702_;
goto v_reusejp_1713_;
}
else
{
lean_object* v_reuseFailAlloc_1718_; 
v_reuseFailAlloc_1718_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1718_, 0, v_ks_1699_);
lean_ctor_set(v_reuseFailAlloc_1718_, 1, v_vs_1700_);
v___x_1714_ = v_reuseFailAlloc_1718_;
goto v_reusejp_1713_;
}
v_reusejp_1713_:
{
lean_object* v___x_1715_; lean_object* v___x_1716_; 
v___x_1715_ = lean_unsigned_to_nat(1u);
v___x_1716_ = lean_nat_add(v_x_1696_, v___x_1715_);
lean_dec(v_x_1696_);
v_x_1695_ = v___x_1714_;
v_x_1696_ = v___x_1716_;
goto _start;
}
}
else
{
lean_object* v___x_1719_; lean_object* v___x_1720_; lean_object* v___x_1722_; 
v___x_1719_ = lean_array_fset(v_ks_1699_, v_x_1696_, v_x_1697_);
v___x_1720_ = lean_array_fset(v_vs_1700_, v_x_1696_, v_x_1698_);
lean_dec(v_x_1696_);
if (v_isShared_1703_ == 0)
{
lean_ctor_set(v___x_1702_, 1, v___x_1720_);
lean_ctor_set(v___x_1702_, 0, v___x_1719_);
v___x_1722_ = v___x_1702_;
goto v_reusejp_1721_;
}
else
{
lean_object* v_reuseFailAlloc_1723_; 
v_reuseFailAlloc_1723_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1723_, 0, v___x_1719_);
lean_ctor_set(v_reuseFailAlloc_1723_, 1, v___x_1720_);
v___x_1722_ = v_reuseFailAlloc_1723_;
goto v_reusejp_1721_;
}
v_reusejp_1721_:
{
return v___x_1722_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__10___redArg(lean_object* v_n_1725_, lean_object* v_k_1726_, lean_object* v_v_1727_){
_start:
{
lean_object* v___x_1728_; lean_object* v___x_1729_; 
v___x_1728_ = lean_unsigned_to_nat(0u);
v___x_1729_ = l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__10_spec__13___redArg(v_n_1725_, v___x_1728_, v_k_1726_, v_v_1727_);
return v___x_1729_;
}
}
static size_t _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___closed__0(void){
_start:
{
size_t v___x_1730_; size_t v___x_1731_; size_t v___x_1732_; 
v___x_1730_ = ((size_t)5ULL);
v___x_1731_ = ((size_t)1ULL);
v___x_1732_ = lean_usize_shift_left(v___x_1731_, v___x_1730_);
return v___x_1732_;
}
}
static size_t _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___closed__1(void){
_start:
{
size_t v___x_1733_; size_t v___x_1734_; size_t v___x_1735_; 
v___x_1733_ = ((size_t)1ULL);
v___x_1734_ = lean_usize_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___closed__0, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___closed__0_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___closed__0);
v___x_1735_ = lean_usize_sub(v___x_1734_, v___x_1733_);
return v___x_1735_;
}
}
static lean_object* _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___closed__2(void){
_start:
{
lean_object* v___x_1736_; 
v___x_1736_ = l_Lean_PersistentHashMap_mkEmptyEntries(lean_box(0), lean_box(0));
return v___x_1736_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg(lean_object* v_x_1737_, size_t v_x_1738_, size_t v_x_1739_, lean_object* v_x_1740_, lean_object* v_x_1741_){
_start:
{
if (lean_obj_tag(v_x_1737_) == 0)
{
lean_object* v_es_1742_; size_t v___x_1743_; size_t v___x_1744_; size_t v___x_1745_; size_t v___x_1746_; lean_object* v_j_1747_; lean_object* v___x_1748_; uint8_t v___x_1749_; 
v_es_1742_ = lean_ctor_get(v_x_1737_, 0);
v___x_1743_ = ((size_t)5ULL);
v___x_1744_ = ((size_t)1ULL);
v___x_1745_ = lean_usize_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___closed__1, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___closed__1_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___closed__1);
v___x_1746_ = lean_usize_land(v_x_1738_, v___x_1745_);
v_j_1747_ = lean_usize_to_nat(v___x_1746_);
v___x_1748_ = lean_array_get_size(v_es_1742_);
v___x_1749_ = lean_nat_dec_lt(v_j_1747_, v___x_1748_);
if (v___x_1749_ == 0)
{
lean_dec(v_j_1747_);
lean_dec(v_x_1741_);
lean_dec(v_x_1740_);
return v_x_1737_;
}
else
{
lean_object* v___x_1751_; uint8_t v_isShared_1752_; uint8_t v_isSharedCheck_1786_; 
lean_inc_ref(v_es_1742_);
v_isSharedCheck_1786_ = !lean_is_exclusive(v_x_1737_);
if (v_isSharedCheck_1786_ == 0)
{
lean_object* v_unused_1787_; 
v_unused_1787_ = lean_ctor_get(v_x_1737_, 0);
lean_dec(v_unused_1787_);
v___x_1751_ = v_x_1737_;
v_isShared_1752_ = v_isSharedCheck_1786_;
goto v_resetjp_1750_;
}
else
{
lean_dec(v_x_1737_);
v___x_1751_ = lean_box(0);
v_isShared_1752_ = v_isSharedCheck_1786_;
goto v_resetjp_1750_;
}
v_resetjp_1750_:
{
lean_object* v_v_1753_; lean_object* v___x_1754_; lean_object* v_xs_x27_1755_; lean_object* v___y_1757_; 
v_v_1753_ = lean_array_fget(v_es_1742_, v_j_1747_);
v___x_1754_ = lean_box(0);
v_xs_x27_1755_ = lean_array_fset(v_es_1742_, v_j_1747_, v___x_1754_);
switch(lean_obj_tag(v_v_1753_))
{
case 0:
{
lean_object* v_key_1762_; lean_object* v_val_1763_; lean_object* v___x_1765_; uint8_t v_isShared_1766_; uint8_t v_isSharedCheck_1773_; 
v_key_1762_ = lean_ctor_get(v_v_1753_, 0);
v_val_1763_ = lean_ctor_get(v_v_1753_, 1);
v_isSharedCheck_1773_ = !lean_is_exclusive(v_v_1753_);
if (v_isSharedCheck_1773_ == 0)
{
v___x_1765_ = v_v_1753_;
v_isShared_1766_ = v_isSharedCheck_1773_;
goto v_resetjp_1764_;
}
else
{
lean_inc(v_val_1763_);
lean_inc(v_key_1762_);
lean_dec(v_v_1753_);
v___x_1765_ = lean_box(0);
v_isShared_1766_ = v_isSharedCheck_1773_;
goto v_resetjp_1764_;
}
v_resetjp_1764_:
{
uint8_t v___x_1767_; 
v___x_1767_ = l_Lean_instBEqMVarId_beq(v_x_1740_, v_key_1762_);
if (v___x_1767_ == 0)
{
lean_object* v___x_1768_; lean_object* v___x_1769_; 
lean_del_object(v___x_1765_);
v___x_1768_ = l_Lean_PersistentHashMap_mkCollisionNode___redArg(v_key_1762_, v_val_1763_, v_x_1740_, v_x_1741_);
v___x_1769_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_1769_, 0, v___x_1768_);
v___y_1757_ = v___x_1769_;
goto v___jp_1756_;
}
else
{
lean_object* v___x_1771_; 
lean_dec(v_val_1763_);
lean_dec(v_key_1762_);
if (v_isShared_1766_ == 0)
{
lean_ctor_set(v___x_1765_, 1, v_x_1741_);
lean_ctor_set(v___x_1765_, 0, v_x_1740_);
v___x_1771_ = v___x_1765_;
goto v_reusejp_1770_;
}
else
{
lean_object* v_reuseFailAlloc_1772_; 
v_reuseFailAlloc_1772_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1772_, 0, v_x_1740_);
lean_ctor_set(v_reuseFailAlloc_1772_, 1, v_x_1741_);
v___x_1771_ = v_reuseFailAlloc_1772_;
goto v_reusejp_1770_;
}
v_reusejp_1770_:
{
v___y_1757_ = v___x_1771_;
goto v___jp_1756_;
}
}
}
}
case 1:
{
lean_object* v_node_1774_; lean_object* v___x_1776_; uint8_t v_isShared_1777_; uint8_t v_isSharedCheck_1784_; 
v_node_1774_ = lean_ctor_get(v_v_1753_, 0);
v_isSharedCheck_1784_ = !lean_is_exclusive(v_v_1753_);
if (v_isSharedCheck_1784_ == 0)
{
v___x_1776_ = v_v_1753_;
v_isShared_1777_ = v_isSharedCheck_1784_;
goto v_resetjp_1775_;
}
else
{
lean_inc(v_node_1774_);
lean_dec(v_v_1753_);
v___x_1776_ = lean_box(0);
v_isShared_1777_ = v_isSharedCheck_1784_;
goto v_resetjp_1775_;
}
v_resetjp_1775_:
{
size_t v___x_1778_; size_t v___x_1779_; lean_object* v___x_1780_; lean_object* v___x_1782_; 
v___x_1778_ = lean_usize_shift_right(v_x_1738_, v___x_1743_);
v___x_1779_ = lean_usize_add(v_x_1739_, v___x_1744_);
v___x_1780_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg(v_node_1774_, v___x_1778_, v___x_1779_, v_x_1740_, v_x_1741_);
if (v_isShared_1777_ == 0)
{
lean_ctor_set(v___x_1776_, 0, v___x_1780_);
v___x_1782_ = v___x_1776_;
goto v_reusejp_1781_;
}
else
{
lean_object* v_reuseFailAlloc_1783_; 
v_reuseFailAlloc_1783_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1783_, 0, v___x_1780_);
v___x_1782_ = v_reuseFailAlloc_1783_;
goto v_reusejp_1781_;
}
v_reusejp_1781_:
{
v___y_1757_ = v___x_1782_;
goto v___jp_1756_;
}
}
}
default: 
{
lean_object* v___x_1785_; 
v___x_1785_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_1785_, 0, v_x_1740_);
lean_ctor_set(v___x_1785_, 1, v_x_1741_);
v___y_1757_ = v___x_1785_;
goto v___jp_1756_;
}
}
v___jp_1756_:
{
lean_object* v___x_1758_; lean_object* v___x_1760_; 
v___x_1758_ = lean_array_fset(v_xs_x27_1755_, v_j_1747_, v___y_1757_);
lean_dec(v_j_1747_);
if (v_isShared_1752_ == 0)
{
lean_ctor_set(v___x_1751_, 0, v___x_1758_);
v___x_1760_ = v___x_1751_;
goto v_reusejp_1759_;
}
else
{
lean_object* v_reuseFailAlloc_1761_; 
v_reuseFailAlloc_1761_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1761_, 0, v___x_1758_);
v___x_1760_ = v_reuseFailAlloc_1761_;
goto v_reusejp_1759_;
}
v_reusejp_1759_:
{
return v___x_1760_;
}
}
}
}
}
else
{
lean_object* v_ks_1788_; lean_object* v_vs_1789_; lean_object* v___x_1791_; uint8_t v_isShared_1792_; uint8_t v_isSharedCheck_1809_; 
v_ks_1788_ = lean_ctor_get(v_x_1737_, 0);
v_vs_1789_ = lean_ctor_get(v_x_1737_, 1);
v_isSharedCheck_1809_ = !lean_is_exclusive(v_x_1737_);
if (v_isSharedCheck_1809_ == 0)
{
v___x_1791_ = v_x_1737_;
v_isShared_1792_ = v_isSharedCheck_1809_;
goto v_resetjp_1790_;
}
else
{
lean_inc(v_vs_1789_);
lean_inc(v_ks_1788_);
lean_dec(v_x_1737_);
v___x_1791_ = lean_box(0);
v_isShared_1792_ = v_isSharedCheck_1809_;
goto v_resetjp_1790_;
}
v_resetjp_1790_:
{
lean_object* v___x_1794_; 
if (v_isShared_1792_ == 0)
{
v___x_1794_ = v___x_1791_;
goto v_reusejp_1793_;
}
else
{
lean_object* v_reuseFailAlloc_1808_; 
v_reuseFailAlloc_1808_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1808_, 0, v_ks_1788_);
lean_ctor_set(v_reuseFailAlloc_1808_, 1, v_vs_1789_);
v___x_1794_ = v_reuseFailAlloc_1808_;
goto v_reusejp_1793_;
}
v_reusejp_1793_:
{
lean_object* v_newNode_1795_; uint8_t v___y_1797_; size_t v___x_1803_; uint8_t v___x_1804_; 
v_newNode_1795_ = l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__10___redArg(v___x_1794_, v_x_1740_, v_x_1741_);
v___x_1803_ = ((size_t)7ULL);
v___x_1804_ = lean_usize_dec_le(v___x_1803_, v_x_1739_);
if (v___x_1804_ == 0)
{
lean_object* v___x_1805_; lean_object* v___x_1806_; uint8_t v___x_1807_; 
v___x_1805_ = l_Lean_PersistentHashMap_getCollisionNodeSize___redArg(v_newNode_1795_);
v___x_1806_ = lean_unsigned_to_nat(4u);
v___x_1807_ = lean_nat_dec_lt(v___x_1805_, v___x_1806_);
lean_dec(v___x_1805_);
v___y_1797_ = v___x_1807_;
goto v___jp_1796_;
}
else
{
v___y_1797_ = v___x_1804_;
goto v___jp_1796_;
}
v___jp_1796_:
{
if (v___y_1797_ == 0)
{
lean_object* v_ks_1798_; lean_object* v_vs_1799_; lean_object* v___x_1800_; lean_object* v___x_1801_; lean_object* v___x_1802_; 
v_ks_1798_ = lean_ctor_get(v_newNode_1795_, 0);
lean_inc_ref(v_ks_1798_);
v_vs_1799_ = lean_ctor_get(v_newNode_1795_, 1);
lean_inc_ref(v_vs_1799_);
lean_dec_ref(v_newNode_1795_);
v___x_1800_ = lean_unsigned_to_nat(0u);
v___x_1801_ = lean_obj_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___closed__2, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___closed__2_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___closed__2);
v___x_1802_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__11___redArg(v_x_1739_, v_ks_1798_, v_vs_1799_, v___x_1800_, v___x_1801_);
lean_dec_ref(v_vs_1799_);
lean_dec_ref(v_ks_1798_);
return v___x_1802_;
}
else
{
return v_newNode_1795_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__11___redArg(size_t v_depth_1810_, lean_object* v_keys_1811_, lean_object* v_vals_1812_, lean_object* v_i_1813_, lean_object* v_entries_1814_){
_start:
{
lean_object* v___x_1815_; uint8_t v___x_1816_; 
v___x_1815_ = lean_array_get_size(v_keys_1811_);
v___x_1816_ = lean_nat_dec_lt(v_i_1813_, v___x_1815_);
if (v___x_1816_ == 0)
{
lean_dec(v_i_1813_);
return v_entries_1814_;
}
else
{
lean_object* v_k_1817_; lean_object* v_v_1818_; uint64_t v___x_1819_; size_t v_h_1820_; size_t v___x_1821_; lean_object* v___x_1822_; size_t v___x_1823_; size_t v___x_1824_; size_t v___x_1825_; size_t v_h_1826_; lean_object* v___x_1827_; lean_object* v___x_1828_; 
v_k_1817_ = lean_array_fget_borrowed(v_keys_1811_, v_i_1813_);
v_v_1818_ = lean_array_fget_borrowed(v_vals_1812_, v_i_1813_);
v___x_1819_ = l_Lean_instHashableMVarId_hash(v_k_1817_);
v_h_1820_ = lean_uint64_to_usize(v___x_1819_);
v___x_1821_ = ((size_t)5ULL);
v___x_1822_ = lean_unsigned_to_nat(1u);
v___x_1823_ = ((size_t)1ULL);
v___x_1824_ = lean_usize_sub(v_depth_1810_, v___x_1823_);
v___x_1825_ = lean_usize_mul(v___x_1821_, v___x_1824_);
v_h_1826_ = lean_usize_shift_right(v_h_1820_, v___x_1825_);
v___x_1827_ = lean_nat_add(v_i_1813_, v___x_1822_);
lean_dec(v_i_1813_);
lean_inc(v_v_1818_);
lean_inc(v_k_1817_);
v___x_1828_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg(v_entries_1814_, v_h_1826_, v_depth_1810_, v_k_1817_, v_v_1818_);
v_i_1813_ = v___x_1827_;
v_entries_1814_ = v___x_1828_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__11___redArg___boxed(lean_object* v_depth_1830_, lean_object* v_keys_1831_, lean_object* v_vals_1832_, lean_object* v_i_1833_, lean_object* v_entries_1834_){
_start:
{
size_t v_depth_boxed_1835_; lean_object* v_res_1836_; 
v_depth_boxed_1835_ = lean_unbox_usize(v_depth_1830_);
lean_dec(v_depth_1830_);
v_res_1836_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__11___redArg(v_depth_boxed_1835_, v_keys_1831_, v_vals_1832_, v_i_1833_, v_entries_1834_);
lean_dec_ref(v_vals_1832_);
lean_dec_ref(v_keys_1831_);
return v_res_1836_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg___boxed(lean_object* v_x_1837_, lean_object* v_x_1838_, lean_object* v_x_1839_, lean_object* v_x_1840_, lean_object* v_x_1841_){
_start:
{
size_t v_x_20365__boxed_1842_; size_t v_x_20366__boxed_1843_; lean_object* v_res_1844_; 
v_x_20365__boxed_1842_ = lean_unbox_usize(v_x_1838_);
lean_dec(v_x_1838_);
v_x_20366__boxed_1843_ = lean_unbox_usize(v_x_1839_);
lean_dec(v_x_1839_);
v_res_1844_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg(v_x_1837_, v_x_20365__boxed_1842_, v_x_20366__boxed_1843_, v_x_1840_, v_x_1841_);
return v_res_1844_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5___redArg(lean_object* v_x_1845_, lean_object* v_x_1846_, lean_object* v_x_1847_){
_start:
{
uint64_t v___x_1848_; size_t v___x_1849_; size_t v___x_1850_; lean_object* v___x_1851_; 
v___x_1848_ = l_Lean_instHashableMVarId_hash(v_x_1846_);
v___x_1849_ = lean_uint64_to_usize(v___x_1848_);
v___x_1850_ = ((size_t)1ULL);
v___x_1851_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg(v_x_1845_, v___x_1849_, v___x_1850_, v_x_1846_, v_x_1847_);
return v___x_1851_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5___redArg(lean_object* v_mvarId_1852_, lean_object* v_val_1853_, lean_object* v___y_1854_){
_start:
{
lean_object* v___x_1856_; lean_object* v_mctx_1857_; lean_object* v_cache_1858_; lean_object* v_zetaDeltaFVarIds_1859_; lean_object* v_postponed_1860_; lean_object* v_diag_1861_; lean_object* v___x_1863_; uint8_t v_isShared_1864_; uint8_t v_isSharedCheck_1888_; 
v___x_1856_ = lean_st_ref_take(v___y_1854_);
v_mctx_1857_ = lean_ctor_get(v___x_1856_, 0);
v_cache_1858_ = lean_ctor_get(v___x_1856_, 1);
v_zetaDeltaFVarIds_1859_ = lean_ctor_get(v___x_1856_, 2);
v_postponed_1860_ = lean_ctor_get(v___x_1856_, 3);
v_diag_1861_ = lean_ctor_get(v___x_1856_, 4);
v_isSharedCheck_1888_ = !lean_is_exclusive(v___x_1856_);
if (v_isSharedCheck_1888_ == 0)
{
v___x_1863_ = v___x_1856_;
v_isShared_1864_ = v_isSharedCheck_1888_;
goto v_resetjp_1862_;
}
else
{
lean_inc(v_diag_1861_);
lean_inc(v_postponed_1860_);
lean_inc(v_zetaDeltaFVarIds_1859_);
lean_inc(v_cache_1858_);
lean_inc(v_mctx_1857_);
lean_dec(v___x_1856_);
v___x_1863_ = lean_box(0);
v_isShared_1864_ = v_isSharedCheck_1888_;
goto v_resetjp_1862_;
}
v_resetjp_1862_:
{
lean_object* v_depth_1865_; lean_object* v_levelAssignDepth_1866_; lean_object* v_mvarCounter_1867_; lean_object* v_lDepth_1868_; lean_object* v_decls_1869_; lean_object* v_userNames_1870_; lean_object* v_lAssignment_1871_; lean_object* v_eAssignment_1872_; lean_object* v_dAssignment_1873_; lean_object* v___x_1875_; uint8_t v_isShared_1876_; uint8_t v_isSharedCheck_1887_; 
v_depth_1865_ = lean_ctor_get(v_mctx_1857_, 0);
v_levelAssignDepth_1866_ = lean_ctor_get(v_mctx_1857_, 1);
v_mvarCounter_1867_ = lean_ctor_get(v_mctx_1857_, 2);
v_lDepth_1868_ = lean_ctor_get(v_mctx_1857_, 3);
v_decls_1869_ = lean_ctor_get(v_mctx_1857_, 4);
v_userNames_1870_ = lean_ctor_get(v_mctx_1857_, 5);
v_lAssignment_1871_ = lean_ctor_get(v_mctx_1857_, 6);
v_eAssignment_1872_ = lean_ctor_get(v_mctx_1857_, 7);
v_dAssignment_1873_ = lean_ctor_get(v_mctx_1857_, 8);
v_isSharedCheck_1887_ = !lean_is_exclusive(v_mctx_1857_);
if (v_isSharedCheck_1887_ == 0)
{
v___x_1875_ = v_mctx_1857_;
v_isShared_1876_ = v_isSharedCheck_1887_;
goto v_resetjp_1874_;
}
else
{
lean_inc(v_dAssignment_1873_);
lean_inc(v_eAssignment_1872_);
lean_inc(v_lAssignment_1871_);
lean_inc(v_userNames_1870_);
lean_inc(v_decls_1869_);
lean_inc(v_lDepth_1868_);
lean_inc(v_mvarCounter_1867_);
lean_inc(v_levelAssignDepth_1866_);
lean_inc(v_depth_1865_);
lean_dec(v_mctx_1857_);
v___x_1875_ = lean_box(0);
v_isShared_1876_ = v_isSharedCheck_1887_;
goto v_resetjp_1874_;
}
v_resetjp_1874_:
{
lean_object* v___x_1877_; lean_object* v___x_1879_; 
v___x_1877_ = l_Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5___redArg(v_eAssignment_1872_, v_mvarId_1852_, v_val_1853_);
if (v_isShared_1876_ == 0)
{
lean_ctor_set(v___x_1875_, 7, v___x_1877_);
v___x_1879_ = v___x_1875_;
goto v_reusejp_1878_;
}
else
{
lean_object* v_reuseFailAlloc_1886_; 
v_reuseFailAlloc_1886_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_1886_, 0, v_depth_1865_);
lean_ctor_set(v_reuseFailAlloc_1886_, 1, v_levelAssignDepth_1866_);
lean_ctor_set(v_reuseFailAlloc_1886_, 2, v_mvarCounter_1867_);
lean_ctor_set(v_reuseFailAlloc_1886_, 3, v_lDepth_1868_);
lean_ctor_set(v_reuseFailAlloc_1886_, 4, v_decls_1869_);
lean_ctor_set(v_reuseFailAlloc_1886_, 5, v_userNames_1870_);
lean_ctor_set(v_reuseFailAlloc_1886_, 6, v_lAssignment_1871_);
lean_ctor_set(v_reuseFailAlloc_1886_, 7, v___x_1877_);
lean_ctor_set(v_reuseFailAlloc_1886_, 8, v_dAssignment_1873_);
v___x_1879_ = v_reuseFailAlloc_1886_;
goto v_reusejp_1878_;
}
v_reusejp_1878_:
{
lean_object* v___x_1881_; 
if (v_isShared_1864_ == 0)
{
lean_ctor_set(v___x_1863_, 0, v___x_1879_);
v___x_1881_ = v___x_1863_;
goto v_reusejp_1880_;
}
else
{
lean_object* v_reuseFailAlloc_1885_; 
v_reuseFailAlloc_1885_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_1885_, 0, v___x_1879_);
lean_ctor_set(v_reuseFailAlloc_1885_, 1, v_cache_1858_);
lean_ctor_set(v_reuseFailAlloc_1885_, 2, v_zetaDeltaFVarIds_1859_);
lean_ctor_set(v_reuseFailAlloc_1885_, 3, v_postponed_1860_);
lean_ctor_set(v_reuseFailAlloc_1885_, 4, v_diag_1861_);
v___x_1881_ = v_reuseFailAlloc_1885_;
goto v_reusejp_1880_;
}
v_reusejp_1880_:
{
lean_object* v___x_1882_; lean_object* v___x_1883_; lean_object* v___x_1884_; 
v___x_1882_ = lean_st_ref_set(v___y_1854_, v___x_1881_);
v___x_1883_ = lean_box(0);
v___x_1884_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1884_, 0, v___x_1883_);
return v___x_1884_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5___redArg___boxed(lean_object* v_mvarId_1889_, lean_object* v_val_1890_, lean_object* v___y_1891_, lean_object* v___y_1892_){
_start:
{
lean_object* v_res_1893_; 
v_res_1893_ = l_Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5___redArg(v_mvarId_1889_, v_val_1890_, v___y_1891_);
lean_dec(v___y_1891_);
return v_res_1893_;
}
}
static lean_object* _init_l_panic___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__4___closed__0(void){
_start:
{
lean_object* v___x_1894_; 
v___x_1894_ = l_Lean_Elab_Term_instInhabitedTermElabM(lean_box(0));
return v___x_1894_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__4(lean_object* v_msg_1895_, lean_object* v___y_1896_, lean_object* v___y_1897_, lean_object* v___y_1898_, lean_object* v___y_1899_, lean_object* v___y_1900_, lean_object* v___y_1901_){
_start:
{
lean_object* v___x_1903_; lean_object* v___x_16803__overap_1904_; lean_object* v___x_1905_; 
v___x_1903_ = lean_obj_once(&l_panic___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__4___closed__0, &l_panic___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__4___closed__0_once, _init_l_panic___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__4___closed__0);
v___x_16803__overap_1904_ = lean_panic_fn(v___x_1903_, v_msg_1895_);
v___x_1905_ = lean_apply_7(v___x_16803__overap_1904_, v___y_1896_, v___y_1897_, v___y_1898_, v___y_1899_, v___y_1900_, v___y_1901_, lean_box(0));
return v___x_1905_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__4___boxed(lean_object* v_msg_1906_, lean_object* v___y_1907_, lean_object* v___y_1908_, lean_object* v___y_1909_, lean_object* v___y_1910_, lean_object* v___y_1911_, lean_object* v___y_1912_, lean_object* v___y_1913_){
_start:
{
lean_object* v_res_1914_; 
v_res_1914_ = l_panic___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__4(v_msg_1906_, v___y_1907_, v___y_1908_, v___y_1909_, v___y_1910_, v___y_1911_, v___y_1912_);
return v_res_1914_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__6(lean_object* v_as_1915_, size_t v_i_1916_, size_t v_stop_1917_, lean_object* v_b_1918_){
_start:
{
uint8_t v___x_1919_; 
v___x_1919_ = lean_usize_dec_eq(v_i_1916_, v_stop_1917_);
if (v___x_1919_ == 0)
{
lean_object* v___x_1920_; lean_object* v_fst_1921_; lean_object* v_snd_1922_; lean_object* v___x_1923_; lean_object* v___x_1924_; size_t v___x_1925_; size_t v___x_1926_; 
v___x_1920_ = lean_array_uget_borrowed(v_as_1915_, v_i_1916_);
v_fst_1921_ = lean_ctor_get(v___x_1920_, 0);
v_snd_1922_ = lean_ctor_get(v___x_1920_, 1);
lean_inc(v_snd_1922_);
v___x_1923_ = l_Lean_mkFVar(v_snd_1922_);
lean_inc(v_fst_1921_);
v___x_1924_ = l_Lean_Meta_FVarSubst_insert(v_b_1918_, v_fst_1921_, v___x_1923_);
v___x_1925_ = ((size_t)1ULL);
v___x_1926_ = lean_usize_add(v_i_1916_, v___x_1925_);
v_i_1916_ = v___x_1926_;
v_b_1918_ = v___x_1924_;
goto _start;
}
else
{
return v_b_1918_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__6___boxed(lean_object* v_as_1928_, lean_object* v_i_1929_, lean_object* v_stop_1930_, lean_object* v_b_1931_){
_start:
{
size_t v_i_boxed_1932_; size_t v_stop_boxed_1933_; lean_object* v_res_1934_; 
v_i_boxed_1932_ = lean_unbox_usize(v_i_1929_);
lean_dec(v_i_1929_);
v_stop_boxed_1933_ = lean_unbox_usize(v_stop_1930_);
lean_dec(v_stop_1930_);
v_res_1934_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__6(v_as_1928_, v_i_boxed_1932_, v_stop_boxed_1933_, v_b_1931_);
lean_dec_ref(v_as_1928_);
return v_res_1934_;
}
}
static lean_object* _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__0(void){
_start:
{
lean_object* v___x_1935_; lean_object* v_dummy_1936_; 
v___x_1935_ = lean_box(0);
v_dummy_1936_ = l_Lean_Expr_sort___override(v___x_1935_);
return v_dummy_1936_;
}
}
static lean_object* _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__4(void){
_start:
{
lean_object* v___x_1940_; lean_object* v___x_1941_; lean_object* v___x_1942_; lean_object* v___x_1943_; lean_object* v___x_1944_; lean_object* v___x_1945_; 
v___x_1940_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__3));
v___x_1941_ = lean_unsigned_to_nat(62u);
v___x_1942_ = lean_unsigned_to_nat(324u);
v___x_1943_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__2));
v___x_1944_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__1));
v___x_1945_ = l_mkPanicMessageWithDecl(v___x_1944_, v___x_1943_, v___x_1942_, v___x_1941_, v___x_1940_);
return v___x_1945_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4(lean_object* v___x_1946_, lean_object* v___x_1947_, lean_object* v_snd_1948_, lean_object* v___x_1949_, lean_object* v___x_1950_, lean_object* v___x_1951_, lean_object* v___x_1952_, lean_object* v___x_1953_, lean_object* v_head_1954_, lean_object* v_fst_1955_, lean_object* v_tail_1956_, uint8_t v___x_1957_, lean_object* v_snd_1958_, lean_object* v___x_1959_, lean_object* v_fs_1960_, lean_object* v___y_1961_, lean_object* v___y_1962_, lean_object* v___y_1963_, lean_object* v___y_1964_, lean_object* v___y_1965_, lean_object* v___y_1966_){
_start:
{
lean_object* v___x_1968_; 
lean_inc(v___y_1966_);
lean_inc_ref(v___y_1965_);
lean_inc(v___y_1964_);
lean_inc_ref(v___y_1963_);
v___x_1968_ = l_Lean_Meta_getElimInfo(v___x_1946_, v___x_1947_, v___y_1963_, v___y_1964_, v___y_1965_, v___y_1966_);
if (lean_obj_tag(v___x_1968_) == 0)
{
lean_object* v_a_1969_; lean_object* v___x_1970_; 
v_a_1969_ = lean_ctor_get(v___x_1968_, 0);
lean_inc(v_a_1969_);
lean_dec_ref(v___x_1968_);
lean_inc(v_snd_1948_);
v___x_1970_ = l_Lean_MVarId_getTag(v_snd_1948_, v___y_1963_, v___y_1964_, v___y_1965_, v___y_1966_);
if (lean_obj_tag(v___x_1970_) == 0)
{
lean_object* v_a_1971_; lean_object* v___x_1972_; 
v_a_1971_ = lean_ctor_get(v___x_1970_, 0);
lean_inc(v_a_1971_);
lean_dec_ref(v___x_1970_);
lean_inc(v___y_1966_);
lean_inc_ref(v___y_1965_);
lean_inc(v___y_1964_);
lean_inc_ref(v___y_1963_);
lean_inc(v___y_1962_);
lean_inc_ref(v___y_1961_);
lean_inc(v_a_1969_);
v___x_1972_ = l_Lean_Elab_Tactic_ElimApp_mkElimApp(v_a_1969_, v___x_1949_, v_a_1971_, v___y_1961_, v___y_1962_, v___y_1963_, v___y_1964_, v___y_1965_, v___y_1966_);
if (lean_obj_tag(v___x_1972_) == 0)
{
lean_object* v_a_1973_; lean_object* v_elimApp_1974_; lean_object* v_alts_1975_; lean_object* v_motivePos_1976_; lean_object* v_nargs_1977_; lean_object* v_dummy_1978_; lean_object* v___x_1979_; lean_object* v___x_1980_; lean_object* v___x_1981_; lean_object* v___x_1982_; lean_object* v___x_1983_; lean_object* v___x_1984_; lean_object* v___x_1985_; lean_object* v___x_1986_; lean_object* v___x_1987_; lean_object* v___x_1988_; 
v_a_1973_ = lean_ctor_get(v___x_1972_, 0);
lean_inc(v_a_1973_);
lean_dec_ref(v___x_1972_);
v_elimApp_1974_ = lean_ctor_get(v_a_1973_, 0);
lean_inc_ref(v_elimApp_1974_);
v_alts_1975_ = lean_ctor_get(v_a_1973_, 3);
lean_inc_ref(v_alts_1975_);
lean_dec(v_a_1973_);
v_motivePos_1976_ = lean_ctor_get(v_a_1969_, 2);
lean_inc(v_motivePos_1976_);
lean_dec(v_a_1969_);
v_nargs_1977_ = l_Lean_Expr_getAppNumArgs(v_elimApp_1974_);
v_dummy_1978_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__0, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__0_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__0);
lean_inc(v_nargs_1977_);
v___x_1979_ = lean_mk_array(v_nargs_1977_, v_dummy_1978_);
v___x_1980_ = lean_nat_sub(v_nargs_1977_, v___x_1950_);
lean_dec(v_nargs_1977_);
lean_inc_ref(v_elimApp_1974_);
v___x_1981_ = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(v_elimApp_1974_, v___x_1979_, v___x_1980_);
v___x_1982_ = lean_array_get(v___x_1951_, v___x_1981_, v_motivePos_1976_);
lean_dec(v_motivePos_1976_);
lean_dec_ref(v___x_1981_);
v___x_1983_ = l_Lean_Expr_mvarId_x21(v___x_1982_);
lean_dec(v___x_1982_);
v___x_1984_ = l_Lean_Expr_fvarId_x21(v___x_1952_);
v___x_1985_ = lean_mk_empty_array_with_capacity(v___x_1950_);
lean_inc_ref(v___x_1985_);
v___x_1986_ = lean_array_push(v___x_1985_, v___x_1984_);
v___x_1987_ = lean_mk_empty_array_with_capacity(v___x_1953_);
lean_inc(v___y_1966_);
lean_inc_ref(v___y_1965_);
lean_inc(v___y_1964_);
lean_inc_ref(v___y_1963_);
lean_inc(v_snd_1948_);
v___x_1988_ = l_Lean_Elab_Tactic_ElimApp_setMotiveArg(v_snd_1948_, v___x_1983_, v___x_1986_, v___x_1987_, v___y_1963_, v___y_1964_, v___y_1965_, v___y_1966_);
if (lean_obj_tag(v___x_1988_) == 0)
{
lean_object* v___x_1989_; 
lean_dec_ref(v___x_1988_);
v___x_1989_ = l_Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5___redArg(v_snd_1948_, v_elimApp_1974_, v___y_1964_);
if (lean_obj_tag(v___x_1989_) == 0)
{
lean_object* v___x_1990_; uint8_t v___x_1991_; 
lean_dec_ref(v___x_1989_);
v___x_1990_ = lean_array_get_size(v_alts_1975_);
v___x_1991_ = lean_nat_dec_eq(v___x_1990_, v___x_1950_);
if (v___x_1991_ == 0)
{
lean_object* v___x_1992_; lean_object* v___x_1993_; 
lean_dec_ref(v___x_1985_);
lean_dec_ref(v_alts_1975_);
lean_dec(v_fs_1960_);
lean_dec_ref(v___x_1959_);
lean_dec(v_snd_1958_);
lean_dec(v_tail_1956_);
lean_dec(v_head_1954_);
v___x_1992_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__4, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__4_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__4);
v___x_1993_ = l_panic___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__4(v___x_1992_, v___y_1961_, v___y_1962_, v___y_1963_, v___y_1964_, v___y_1965_, v___y_1966_);
return v___x_1993_;
}
else
{
lean_object* v___x_1994_; lean_object* v_name_1995_; lean_object* v_mvarId_1996_; lean_object* v___x_1998_; uint8_t v_isShared_1999_; uint8_t v_isSharedCheck_2068_; 
lean_dec(v___y_1962_);
lean_dec_ref(v___y_1961_);
v___x_1994_ = lean_array_fget(v_alts_1975_, v___x_1953_);
lean_dec_ref(v_alts_1975_);
v_name_1995_ = lean_ctor_get(v___x_1994_, 0);
v_mvarId_1996_ = lean_ctor_get(v___x_1994_, 2);
v_isSharedCheck_2068_ = !lean_is_exclusive(v___x_1994_);
if (v_isSharedCheck_2068_ == 0)
{
lean_object* v_unused_2069_; 
v_unused_2069_ = lean_ctor_get(v___x_1994_, 1);
lean_dec(v_unused_2069_);
v___x_1998_ = v___x_1994_;
v_isShared_1999_ = v_isSharedCheck_2068_;
goto v_resetjp_1997_;
}
else
{
lean_inc(v_mvarId_1996_);
lean_inc(v_name_1995_);
lean_dec(v___x_1994_);
v___x_1998_ = lean_box(0);
v_isShared_1999_ = v_isSharedCheck_2068_;
goto v_resetjp_1997_;
}
v_resetjp_1997_:
{
lean_object* v___x_2000_; 
lean_inc(v___y_1966_);
lean_inc_ref(v___y_1965_);
lean_inc(v___y_1964_);
lean_inc_ref(v___y_1963_);
v___x_2000_ = l_Lean_MVarId_intro(v_mvarId_1996_, v_head_1954_, v___y_1963_, v___y_1964_, v___y_1965_, v___y_1966_);
if (lean_obj_tag(v___x_2000_) == 0)
{
lean_object* v_a_2001_; lean_object* v_fst_2002_; lean_object* v_snd_2003_; lean_object* v___x_2005_; uint8_t v_isShared_2006_; uint8_t v_isSharedCheck_2059_; 
v_a_2001_ = lean_ctor_get(v___x_2000_, 0);
lean_inc(v_a_2001_);
lean_dec_ref(v___x_2000_);
v_fst_2002_ = lean_ctor_get(v_a_2001_, 0);
v_snd_2003_ = lean_ctor_get(v_a_2001_, 1);
v_isSharedCheck_2059_ = !lean_is_exclusive(v_a_2001_);
if (v_isSharedCheck_2059_ == 0)
{
v___x_2005_ = v_a_2001_;
v_isShared_2006_ = v_isSharedCheck_2059_;
goto v_resetjp_2004_;
}
else
{
lean_inc(v_snd_2003_);
lean_inc(v_fst_2002_);
lean_dec(v_a_2001_);
v___x_2005_ = lean_box(0);
v_isShared_2006_ = v_isSharedCheck_2059_;
goto v_resetjp_2004_;
}
v_resetjp_2004_:
{
lean_object* v___x_2007_; lean_object* v___x_2008_; 
v___x_2007_ = lean_array_get_size(v_fst_1955_);
v___x_2008_ = l_Lean_Meta_introNCore(v_snd_2003_, v___x_2007_, v_tail_1956_, v___x_1957_, v___x_1991_, v___y_1963_, v___y_1964_, v___y_1965_, v___y_1966_);
if (lean_obj_tag(v___x_2008_) == 0)
{
lean_object* v_a_2009_; lean_object* v___x_2011_; uint8_t v_isShared_2012_; uint8_t v_isSharedCheck_2050_; 
v_a_2009_ = lean_ctor_get(v___x_2008_, 0);
v_isSharedCheck_2050_ = !lean_is_exclusive(v___x_2008_);
if (v_isSharedCheck_2050_ == 0)
{
v___x_2011_ = v___x_2008_;
v_isShared_2012_ = v_isSharedCheck_2050_;
goto v_resetjp_2010_;
}
else
{
lean_inc(v_a_2009_);
lean_dec(v___x_2008_);
v___x_2011_ = lean_box(0);
v_isShared_2012_ = v_isSharedCheck_2050_;
goto v_resetjp_2010_;
}
v_resetjp_2010_:
{
lean_object* v_fst_2013_; lean_object* v_snd_2014_; lean_object* v___x_2016_; uint8_t v_isShared_2017_; uint8_t v_isSharedCheck_2049_; 
v_fst_2013_ = lean_ctor_get(v_a_2009_, 0);
v_snd_2014_ = lean_ctor_get(v_a_2009_, 1);
v_isSharedCheck_2049_ = !lean_is_exclusive(v_a_2009_);
if (v_isSharedCheck_2049_ == 0)
{
v___x_2016_ = v_a_2009_;
v_isShared_2017_ = v_isSharedCheck_2049_;
goto v_resetjp_2015_;
}
else
{
lean_inc(v_snd_2014_);
lean_inc(v_fst_2013_);
lean_dec(v_a_2009_);
v___x_2016_ = lean_box(0);
v_isShared_2017_ = v_isSharedCheck_2049_;
goto v_resetjp_2015_;
}
v_resetjp_2015_:
{
lean_object* v___y_2019_; lean_object* v___x_2039_; lean_object* v___x_2040_; uint8_t v___x_2041_; 
v___x_2039_ = l_Array_zip___redArg(v_fst_1955_, v_fst_2013_);
lean_dec(v_fst_2013_);
v___x_2040_ = lean_array_get_size(v___x_2039_);
v___x_2041_ = lean_nat_dec_lt(v___x_1953_, v___x_2040_);
if (v___x_2041_ == 0)
{
lean_dec_ref(v___x_2039_);
v___y_2019_ = v_fs_1960_;
goto v___jp_2018_;
}
else
{
uint8_t v___x_2042_; 
v___x_2042_ = lean_nat_dec_le(v___x_2040_, v___x_2040_);
if (v___x_2042_ == 0)
{
if (v___x_2041_ == 0)
{
lean_dec_ref(v___x_2039_);
v___y_2019_ = v_fs_1960_;
goto v___jp_2018_;
}
else
{
size_t v___x_2043_; size_t v___x_2044_; lean_object* v___x_2045_; 
v___x_2043_ = ((size_t)0ULL);
v___x_2044_ = lean_usize_of_nat(v___x_2040_);
v___x_2045_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__6(v___x_2039_, v___x_2043_, v___x_2044_, v_fs_1960_);
lean_dec_ref(v___x_2039_);
v___y_2019_ = v___x_2045_;
goto v___jp_2018_;
}
}
else
{
size_t v___x_2046_; size_t v___x_2047_; lean_object* v___x_2048_; 
v___x_2046_ = ((size_t)0ULL);
v___x_2047_ = lean_usize_of_nat(v___x_2040_);
v___x_2048_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__6(v___x_2039_, v___x_2046_, v___x_2047_, v_fs_1960_);
lean_dec_ref(v___x_2039_);
v___y_2019_ = v___x_2048_;
goto v___jp_2018_;
}
}
v___jp_2018_:
{
lean_object* v___x_2021_; 
lean_inc(v_name_1995_);
if (v_isShared_2017_ == 0)
{
lean_ctor_set(v___x_2016_, 1, v_snd_1958_);
lean_ctor_set(v___x_2016_, 0, v_name_1995_);
v___x_2021_ = v___x_2016_;
goto v_reusejp_2020_;
}
else
{
lean_object* v_reuseFailAlloc_2038_; 
v_reuseFailAlloc_2038_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2038_, 0, v_name_1995_);
lean_ctor_set(v_reuseFailAlloc_2038_, 1, v_snd_1958_);
v___x_2021_ = v_reuseFailAlloc_2038_;
goto v_reusejp_2020_;
}
v_reusejp_2020_:
{
lean_object* v___x_2022_; lean_object* v___x_2023_; lean_object* v___x_2024_; lean_object* v___x_2025_; lean_object* v___x_2027_; 
v___x_2022_ = lean_box(0);
v___x_2023_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_2023_, 0, v___x_2021_);
lean_ctor_set(v___x_2023_, 1, v___x_2022_);
v___x_2024_ = l_Lean_mkFVar(v_fst_2002_);
v___x_2025_ = lean_array_push(v___x_1959_, v___x_2024_);
if (v_isShared_1999_ == 0)
{
lean_ctor_set(v___x_1998_, 2, v___y_2019_);
lean_ctor_set(v___x_1998_, 1, v___x_2025_);
lean_ctor_set(v___x_1998_, 0, v_snd_2014_);
v___x_2027_ = v___x_1998_;
goto v_reusejp_2026_;
}
else
{
lean_object* v_reuseFailAlloc_2037_; 
v_reuseFailAlloc_2037_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v_reuseFailAlloc_2037_, 0, v_snd_2014_);
lean_ctor_set(v_reuseFailAlloc_2037_, 1, v___x_2025_);
lean_ctor_set(v_reuseFailAlloc_2037_, 2, v___y_2019_);
v___x_2027_ = v_reuseFailAlloc_2037_;
goto v_reusejp_2026_;
}
v_reusejp_2026_:
{
lean_object* v___x_2028_; lean_object* v___x_2029_; lean_object* v___x_2030_; lean_object* v___x_2032_; 
v___x_2028_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_2028_, 0, v_name_1995_);
v___x_2029_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_2029_, 0, v___x_2027_);
lean_ctor_set(v___x_2029_, 1, v___x_2028_);
v___x_2030_ = lean_array_push(v___x_1985_, v___x_2029_);
if (v_isShared_2006_ == 0)
{
lean_ctor_set(v___x_2005_, 1, v___x_2030_);
lean_ctor_set(v___x_2005_, 0, v___x_2023_);
v___x_2032_ = v___x_2005_;
goto v_reusejp_2031_;
}
else
{
lean_object* v_reuseFailAlloc_2036_; 
v_reuseFailAlloc_2036_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2036_, 0, v___x_2023_);
lean_ctor_set(v_reuseFailAlloc_2036_, 1, v___x_2030_);
v___x_2032_ = v_reuseFailAlloc_2036_;
goto v_reusejp_2031_;
}
v_reusejp_2031_:
{
lean_object* v___x_2034_; 
if (v_isShared_2012_ == 0)
{
lean_ctor_set(v___x_2011_, 0, v___x_2032_);
v___x_2034_ = v___x_2011_;
goto v_reusejp_2033_;
}
else
{
lean_object* v_reuseFailAlloc_2035_; 
v_reuseFailAlloc_2035_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2035_, 0, v___x_2032_);
v___x_2034_ = v_reuseFailAlloc_2035_;
goto v_reusejp_2033_;
}
v_reusejp_2033_:
{
return v___x_2034_;
}
}
}
}
}
}
}
}
else
{
lean_object* v_a_2051_; lean_object* v___x_2053_; uint8_t v_isShared_2054_; uint8_t v_isSharedCheck_2058_; 
lean_del_object(v___x_2005_);
lean_dec(v_fst_2002_);
lean_del_object(v___x_1998_);
lean_dec(v_name_1995_);
lean_dec_ref(v___x_1985_);
lean_dec(v_fs_1960_);
lean_dec_ref(v___x_1959_);
lean_dec(v_snd_1958_);
v_a_2051_ = lean_ctor_get(v___x_2008_, 0);
v_isSharedCheck_2058_ = !lean_is_exclusive(v___x_2008_);
if (v_isSharedCheck_2058_ == 0)
{
v___x_2053_ = v___x_2008_;
v_isShared_2054_ = v_isSharedCheck_2058_;
goto v_resetjp_2052_;
}
else
{
lean_inc(v_a_2051_);
lean_dec(v___x_2008_);
v___x_2053_ = lean_box(0);
v_isShared_2054_ = v_isSharedCheck_2058_;
goto v_resetjp_2052_;
}
v_resetjp_2052_:
{
lean_object* v___x_2056_; 
if (v_isShared_2054_ == 0)
{
v___x_2056_ = v___x_2053_;
goto v_reusejp_2055_;
}
else
{
lean_object* v_reuseFailAlloc_2057_; 
v_reuseFailAlloc_2057_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2057_, 0, v_a_2051_);
v___x_2056_ = v_reuseFailAlloc_2057_;
goto v_reusejp_2055_;
}
v_reusejp_2055_:
{
return v___x_2056_;
}
}
}
}
}
else
{
lean_object* v_a_2060_; lean_object* v___x_2062_; uint8_t v_isShared_2063_; uint8_t v_isSharedCheck_2067_; 
lean_del_object(v___x_1998_);
lean_dec(v_name_1995_);
lean_dec_ref(v___x_1985_);
lean_dec(v___y_1966_);
lean_dec_ref(v___y_1965_);
lean_dec(v___y_1964_);
lean_dec_ref(v___y_1963_);
lean_dec(v_fs_1960_);
lean_dec_ref(v___x_1959_);
lean_dec(v_snd_1958_);
lean_dec(v_tail_1956_);
v_a_2060_ = lean_ctor_get(v___x_2000_, 0);
v_isSharedCheck_2067_ = !lean_is_exclusive(v___x_2000_);
if (v_isSharedCheck_2067_ == 0)
{
v___x_2062_ = v___x_2000_;
v_isShared_2063_ = v_isSharedCheck_2067_;
goto v_resetjp_2061_;
}
else
{
lean_inc(v_a_2060_);
lean_dec(v___x_2000_);
v___x_2062_ = lean_box(0);
v_isShared_2063_ = v_isSharedCheck_2067_;
goto v_resetjp_2061_;
}
v_resetjp_2061_:
{
lean_object* v___x_2065_; 
if (v_isShared_2063_ == 0)
{
v___x_2065_ = v___x_2062_;
goto v_reusejp_2064_;
}
else
{
lean_object* v_reuseFailAlloc_2066_; 
v_reuseFailAlloc_2066_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2066_, 0, v_a_2060_);
v___x_2065_ = v_reuseFailAlloc_2066_;
goto v_reusejp_2064_;
}
v_reusejp_2064_:
{
return v___x_2065_;
}
}
}
}
}
}
else
{
lean_object* v_a_2070_; lean_object* v___x_2072_; uint8_t v_isShared_2073_; uint8_t v_isSharedCheck_2077_; 
lean_dec_ref(v___x_1985_);
lean_dec_ref(v_alts_1975_);
lean_dec(v___y_1966_);
lean_dec_ref(v___y_1965_);
lean_dec(v___y_1964_);
lean_dec_ref(v___y_1963_);
lean_dec(v___y_1962_);
lean_dec_ref(v___y_1961_);
lean_dec(v_fs_1960_);
lean_dec_ref(v___x_1959_);
lean_dec(v_snd_1958_);
lean_dec(v_tail_1956_);
lean_dec(v_head_1954_);
v_a_2070_ = lean_ctor_get(v___x_1989_, 0);
v_isSharedCheck_2077_ = !lean_is_exclusive(v___x_1989_);
if (v_isSharedCheck_2077_ == 0)
{
v___x_2072_ = v___x_1989_;
v_isShared_2073_ = v_isSharedCheck_2077_;
goto v_resetjp_2071_;
}
else
{
lean_inc(v_a_2070_);
lean_dec(v___x_1989_);
v___x_2072_ = lean_box(0);
v_isShared_2073_ = v_isSharedCheck_2077_;
goto v_resetjp_2071_;
}
v_resetjp_2071_:
{
lean_object* v___x_2075_; 
if (v_isShared_2073_ == 0)
{
v___x_2075_ = v___x_2072_;
goto v_reusejp_2074_;
}
else
{
lean_object* v_reuseFailAlloc_2076_; 
v_reuseFailAlloc_2076_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2076_, 0, v_a_2070_);
v___x_2075_ = v_reuseFailAlloc_2076_;
goto v_reusejp_2074_;
}
v_reusejp_2074_:
{
return v___x_2075_;
}
}
}
}
else
{
lean_object* v_a_2078_; lean_object* v___x_2080_; uint8_t v_isShared_2081_; uint8_t v_isSharedCheck_2085_; 
lean_dec_ref(v___x_1985_);
lean_dec_ref(v_alts_1975_);
lean_dec_ref(v_elimApp_1974_);
lean_dec(v___y_1966_);
lean_dec_ref(v___y_1965_);
lean_dec(v___y_1964_);
lean_dec_ref(v___y_1963_);
lean_dec(v___y_1962_);
lean_dec_ref(v___y_1961_);
lean_dec(v_fs_1960_);
lean_dec_ref(v___x_1959_);
lean_dec(v_snd_1958_);
lean_dec(v_tail_1956_);
lean_dec(v_head_1954_);
lean_dec(v_snd_1948_);
v_a_2078_ = lean_ctor_get(v___x_1988_, 0);
v_isSharedCheck_2085_ = !lean_is_exclusive(v___x_1988_);
if (v_isSharedCheck_2085_ == 0)
{
v___x_2080_ = v___x_1988_;
v_isShared_2081_ = v_isSharedCheck_2085_;
goto v_resetjp_2079_;
}
else
{
lean_inc(v_a_2078_);
lean_dec(v___x_1988_);
v___x_2080_ = lean_box(0);
v_isShared_2081_ = v_isSharedCheck_2085_;
goto v_resetjp_2079_;
}
v_resetjp_2079_:
{
lean_object* v___x_2083_; 
if (v_isShared_2081_ == 0)
{
v___x_2083_ = v___x_2080_;
goto v_reusejp_2082_;
}
else
{
lean_object* v_reuseFailAlloc_2084_; 
v_reuseFailAlloc_2084_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2084_, 0, v_a_2078_);
v___x_2083_ = v_reuseFailAlloc_2084_;
goto v_reusejp_2082_;
}
v_reusejp_2082_:
{
return v___x_2083_;
}
}
}
}
else
{
lean_object* v_a_2086_; lean_object* v___x_2088_; uint8_t v_isShared_2089_; uint8_t v_isSharedCheck_2093_; 
lean_dec(v_a_1969_);
lean_dec(v___y_1966_);
lean_dec_ref(v___y_1965_);
lean_dec(v___y_1964_);
lean_dec_ref(v___y_1963_);
lean_dec(v___y_1962_);
lean_dec_ref(v___y_1961_);
lean_dec(v_fs_1960_);
lean_dec_ref(v___x_1959_);
lean_dec(v_snd_1958_);
lean_dec(v_tail_1956_);
lean_dec(v_head_1954_);
lean_dec_ref(v___x_1951_);
lean_dec(v_snd_1948_);
v_a_2086_ = lean_ctor_get(v___x_1972_, 0);
v_isSharedCheck_2093_ = !lean_is_exclusive(v___x_1972_);
if (v_isSharedCheck_2093_ == 0)
{
v___x_2088_ = v___x_1972_;
v_isShared_2089_ = v_isSharedCheck_2093_;
goto v_resetjp_2087_;
}
else
{
lean_inc(v_a_2086_);
lean_dec(v___x_1972_);
v___x_2088_ = lean_box(0);
v_isShared_2089_ = v_isSharedCheck_2093_;
goto v_resetjp_2087_;
}
v_resetjp_2087_:
{
lean_object* v___x_2091_; 
if (v_isShared_2089_ == 0)
{
v___x_2091_ = v___x_2088_;
goto v_reusejp_2090_;
}
else
{
lean_object* v_reuseFailAlloc_2092_; 
v_reuseFailAlloc_2092_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2092_, 0, v_a_2086_);
v___x_2091_ = v_reuseFailAlloc_2092_;
goto v_reusejp_2090_;
}
v_reusejp_2090_:
{
return v___x_2091_;
}
}
}
}
else
{
lean_object* v_a_2094_; lean_object* v___x_2096_; uint8_t v_isShared_2097_; uint8_t v_isSharedCheck_2101_; 
lean_dec(v_a_1969_);
lean_dec(v___y_1966_);
lean_dec_ref(v___y_1965_);
lean_dec(v___y_1964_);
lean_dec_ref(v___y_1963_);
lean_dec(v___y_1962_);
lean_dec_ref(v___y_1961_);
lean_dec(v_fs_1960_);
lean_dec_ref(v___x_1959_);
lean_dec(v_snd_1958_);
lean_dec(v_tail_1956_);
lean_dec(v_head_1954_);
lean_dec_ref(v___x_1951_);
lean_dec_ref(v___x_1949_);
lean_dec(v_snd_1948_);
v_a_2094_ = lean_ctor_get(v___x_1970_, 0);
v_isSharedCheck_2101_ = !lean_is_exclusive(v___x_1970_);
if (v_isSharedCheck_2101_ == 0)
{
v___x_2096_ = v___x_1970_;
v_isShared_2097_ = v_isSharedCheck_2101_;
goto v_resetjp_2095_;
}
else
{
lean_inc(v_a_2094_);
lean_dec(v___x_1970_);
v___x_2096_ = lean_box(0);
v_isShared_2097_ = v_isSharedCheck_2101_;
goto v_resetjp_2095_;
}
v_resetjp_2095_:
{
lean_object* v___x_2099_; 
if (v_isShared_2097_ == 0)
{
v___x_2099_ = v___x_2096_;
goto v_reusejp_2098_;
}
else
{
lean_object* v_reuseFailAlloc_2100_; 
v_reuseFailAlloc_2100_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2100_, 0, v_a_2094_);
v___x_2099_ = v_reuseFailAlloc_2100_;
goto v_reusejp_2098_;
}
v_reusejp_2098_:
{
return v___x_2099_;
}
}
}
}
else
{
lean_object* v_a_2102_; lean_object* v___x_2104_; uint8_t v_isShared_2105_; uint8_t v_isSharedCheck_2109_; 
lean_dec(v___y_1966_);
lean_dec_ref(v___y_1965_);
lean_dec(v___y_1964_);
lean_dec_ref(v___y_1963_);
lean_dec(v___y_1962_);
lean_dec_ref(v___y_1961_);
lean_dec(v_fs_1960_);
lean_dec_ref(v___x_1959_);
lean_dec(v_snd_1958_);
lean_dec(v_tail_1956_);
lean_dec(v_head_1954_);
lean_dec_ref(v___x_1951_);
lean_dec_ref(v___x_1949_);
lean_dec(v_snd_1948_);
v_a_2102_ = lean_ctor_get(v___x_1968_, 0);
v_isSharedCheck_2109_ = !lean_is_exclusive(v___x_1968_);
if (v_isSharedCheck_2109_ == 0)
{
v___x_2104_ = v___x_1968_;
v_isShared_2105_ = v_isSharedCheck_2109_;
goto v_resetjp_2103_;
}
else
{
lean_inc(v_a_2102_);
lean_dec(v___x_1968_);
v___x_2104_ = lean_box(0);
v_isShared_2105_ = v_isSharedCheck_2109_;
goto v_resetjp_2103_;
}
v_resetjp_2103_:
{
lean_object* v___x_2107_; 
if (v_isShared_2105_ == 0)
{
v___x_2107_ = v___x_2104_;
goto v_reusejp_2106_;
}
else
{
lean_object* v_reuseFailAlloc_2108_; 
v_reuseFailAlloc_2108_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2108_, 0, v_a_2102_);
v___x_2107_ = v_reuseFailAlloc_2108_;
goto v_reusejp_2106_;
}
v_reusejp_2106_:
{
return v___x_2107_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___boxed(lean_object** _args){
lean_object* v___x_2110_ = _args[0];
lean_object* v___x_2111_ = _args[1];
lean_object* v_snd_2112_ = _args[2];
lean_object* v___x_2113_ = _args[3];
lean_object* v___x_2114_ = _args[4];
lean_object* v___x_2115_ = _args[5];
lean_object* v___x_2116_ = _args[6];
lean_object* v___x_2117_ = _args[7];
lean_object* v_head_2118_ = _args[8];
lean_object* v_fst_2119_ = _args[9];
lean_object* v_tail_2120_ = _args[10];
lean_object* v___x_2121_ = _args[11];
lean_object* v_snd_2122_ = _args[12];
lean_object* v___x_2123_ = _args[13];
lean_object* v_fs_2124_ = _args[14];
lean_object* v___y_2125_ = _args[15];
lean_object* v___y_2126_ = _args[16];
lean_object* v___y_2127_ = _args[17];
lean_object* v___y_2128_ = _args[18];
lean_object* v___y_2129_ = _args[19];
lean_object* v___y_2130_ = _args[20];
lean_object* v___y_2131_ = _args[21];
_start:
{
uint8_t v___x_20661__boxed_2132_; lean_object* v_res_2133_; 
v___x_20661__boxed_2132_ = lean_unbox(v___x_2121_);
v_res_2133_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4(v___x_2110_, v___x_2111_, v_snd_2112_, v___x_2113_, v___x_2114_, v___x_2115_, v___x_2116_, v___x_2117_, v_head_2118_, v_fst_2119_, v_tail_2120_, v___x_20661__boxed_2132_, v_snd_2122_, v___x_2123_, v_fs_2124_, v___y_2125_, v___y_2126_, v___y_2127_, v___y_2128_, v___y_2129_, v___y_2130_);
lean_dec_ref(v_fst_2119_);
lean_dec(v___x_2117_);
lean_dec_ref(v___x_2116_);
lean_dec(v___x_2114_);
return v_res_2133_;
}
}
static lean_object* _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__0(void){
_start:
{
lean_object* v___x_2134_; lean_object* v___x_2135_; lean_object* v___x_2136_; lean_object* v___x_2137_; lean_object* v___x_2138_; lean_object* v___x_2139_; 
v___x_2134_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__3));
v___x_2135_ = lean_unsigned_to_nat(76u);
v___x_2136_ = lean_unsigned_to_nat(316u);
v___x_2137_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__2));
v___x_2138_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___closed__1));
v___x_2139_ = l_mkPanicMessageWithDecl(v___x_2138_, v___x_2137_, v___x_2136_, v___x_2135_, v___x_2134_);
return v___x_2139_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5(uint8_t v___x_2147_, lean_object* v___x_2148_, lean_object* v___x_2149_, lean_object* v_g_2150_, lean_object* v___x_2151_, lean_object* v_fs_2152_, lean_object* v_pat_2153_, lean_object* v_____r_2154_, lean_object* v___y_2155_, lean_object* v___y_2156_, lean_object* v___y_2157_, lean_object* v___y_2158_, lean_object* v___y_2159_, lean_object* v___y_2160_){
_start:
{
uint8_t v___y_2166_; lean_object* v___y_2167_; lean_object* v___y_2168_; lean_object* v___y_2210_; lean_object* v___x_2216_; 
v___x_2216_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_asAlts(v_pat_2153_);
if (lean_obj_tag(v___x_2216_) == 0)
{
lean_object* v___x_2217_; 
v___x_2217_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__2));
v___y_2210_ = v___x_2217_;
goto v___jp_2209_;
}
else
{
lean_object* v_head_2218_; 
v_head_2218_ = lean_ctor_get(v___x_2216_, 0);
lean_inc(v_head_2218_);
lean_dec_ref(v___x_2216_);
v___y_2210_ = v_head_2218_;
goto v___jp_2209_;
}
v___jp_2162_:
{
lean_object* v___x_2163_; lean_object* v___x_2164_; 
v___x_2163_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__0, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__0_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__0);
v___x_2164_ = l_panic___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__4(v___x_2163_, v___y_2155_, v___y_2156_, v___y_2157_, v___y_2158_, v___y_2159_, v___y_2160_);
return v___x_2164_;
}
v___jp_2165_:
{
uint8_t v___x_2169_; lean_object* v___x_2170_; lean_object* v___x_2171_; lean_object* v___x_2172_; lean_object* v___x_2173_; lean_object* v___x_2174_; lean_object* v___x_2175_; lean_object* v___x_2176_; lean_object* v_fst_2177_; 
v___x_2169_ = 0;
v___x_2170_ = lean_unsigned_to_nat(0u);
v___x_2171_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__1));
v___x_2172_ = lean_alloc_ctor(0, 1, 7);
lean_ctor_set(v___x_2172_, 0, v___x_2171_);
lean_ctor_set_uint8(v___x_2172_, sizeof(void*)*1, v___x_2169_);
lean_ctor_set_uint8(v___x_2172_, sizeof(void*)*1 + 1, v___x_2147_);
lean_ctor_set_uint8(v___x_2172_, sizeof(void*)*1 + 2, v___x_2147_);
lean_ctor_set_uint8(v___x_2172_, sizeof(void*)*1 + 3, v___x_2147_);
lean_ctor_set_uint8(v___x_2172_, sizeof(void*)*1 + 4, v___x_2147_);
lean_ctor_set_uint8(v___x_2172_, sizeof(void*)*1 + 5, v___x_2147_);
lean_ctor_set_uint8(v___x_2172_, sizeof(void*)*1 + 6, v___x_2147_);
v___x_2173_ = lean_unsigned_to_nat(1u);
v___x_2174_ = lean_mk_empty_array_with_capacity(v___x_2173_);
lean_inc_ref(v___x_2174_);
v___x_2175_ = lean_array_push(v___x_2174_, v___x_2172_);
v___x_2176_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor(v___y_2168_, v___x_2175_, v___y_2166_, v___x_2170_, v___y_2167_);
lean_dec_ref(v___x_2175_);
v_fst_2177_ = lean_ctor_get(v___x_2176_, 0);
lean_inc(v_fst_2177_);
if (lean_obj_tag(v_fst_2177_) == 1)
{
lean_object* v_tail_2178_; 
v_tail_2178_ = lean_ctor_get(v_fst_2177_, 1);
lean_inc(v_tail_2178_);
if (lean_obj_tag(v_tail_2178_) == 0)
{
lean_object* v_snd_2179_; lean_object* v_head_2180_; lean_object* v___x_2181_; lean_object* v___x_2182_; 
v_snd_2179_ = lean_ctor_get(v___x_2176_, 1);
lean_inc(v_snd_2179_);
lean_dec_ref(v___x_2176_);
v_head_2180_ = lean_ctor_get(v_fst_2177_, 0);
lean_inc(v_head_2180_);
lean_dec_ref(v_fst_2177_);
lean_inc_ref(v___x_2148_);
lean_inc_ref(v___x_2174_);
v___x_2181_ = lean_array_push(v___x_2174_, v___x_2148_);
lean_inc(v___y_2160_);
lean_inc_ref(v___y_2159_);
lean_inc(v___y_2158_);
lean_inc_ref(v___y_2157_);
v___x_2182_ = l_Lean_Meta_getFVarsToGeneralize(v___x_2181_, v___x_2149_, v___x_2147_, v___y_2157_, v___y_2158_, v___y_2159_, v___y_2160_);
if (lean_obj_tag(v___x_2182_) == 0)
{
lean_object* v_a_2183_; lean_object* v___x_2184_; 
v_a_2183_ = lean_ctor_get(v___x_2182_, 0);
lean_inc(v_a_2183_);
lean_dec_ref(v___x_2182_);
lean_inc(v___y_2160_);
lean_inc_ref(v___y_2159_);
lean_inc(v___y_2158_);
lean_inc_ref(v___y_2157_);
v___x_2184_ = l_Lean_MVarId_revert(v_g_2150_, v_a_2183_, v___x_2147_, v___x_2147_, v___y_2157_, v___y_2158_, v___y_2159_, v___y_2160_);
if (lean_obj_tag(v___x_2184_) == 0)
{
lean_object* v_a_2185_; lean_object* v_fst_2186_; lean_object* v_snd_2187_; lean_object* v___x_2188_; lean_object* v___x_2189_; lean_object* v___x_2190_; lean_object* v___f_2191_; lean_object* v___x_2192_; 
v_a_2185_ = lean_ctor_get(v___x_2184_, 0);
lean_inc(v_a_2185_);
lean_dec_ref(v___x_2184_);
v_fst_2186_ = lean_ctor_get(v_a_2185_, 0);
lean_inc(v_fst_2186_);
v_snd_2187_ = lean_ctor_get(v_a_2185_, 1);
lean_inc(v_snd_2187_);
lean_dec(v_a_2185_);
v___x_2188_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___closed__4));
v___x_2189_ = lean_box(0);
v___x_2190_ = lean_box(v___x_2147_);
lean_inc(v_snd_2187_);
v___f_2191_ = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__4___boxed), 22, 15);
lean_closure_set(v___f_2191_, 0, v___x_2188_);
lean_closure_set(v___f_2191_, 1, v___x_2189_);
lean_closure_set(v___f_2191_, 2, v_snd_2187_);
lean_closure_set(v___f_2191_, 3, v___x_2181_);
lean_closure_set(v___f_2191_, 4, v___x_2173_);
lean_closure_set(v___f_2191_, 5, v___x_2151_);
lean_closure_set(v___f_2191_, 6, v___x_2148_);
lean_closure_set(v___f_2191_, 7, v___x_2170_);
lean_closure_set(v___f_2191_, 8, v_head_2180_);
lean_closure_set(v___f_2191_, 9, v_fst_2186_);
lean_closure_set(v___f_2191_, 10, v_tail_2178_);
lean_closure_set(v___f_2191_, 11, v___x_2190_);
lean_closure_set(v___f_2191_, 12, v_snd_2179_);
lean_closure_set(v___f_2191_, 13, v___x_2174_);
lean_closure_set(v___f_2191_, 14, v_fs_2152_);
v___x_2192_ = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7___redArg(v_snd_2187_, v___f_2191_, v___y_2155_, v___y_2156_, v___y_2157_, v___y_2158_, v___y_2159_, v___y_2160_);
return v___x_2192_;
}
else
{
lean_object* v_a_2193_; lean_object* v___x_2195_; uint8_t v_isShared_2196_; uint8_t v_isSharedCheck_2200_; 
lean_dec_ref(v___x_2181_);
lean_dec(v_head_2180_);
lean_dec(v_snd_2179_);
lean_dec_ref(v___x_2174_);
lean_dec(v___y_2160_);
lean_dec_ref(v___y_2159_);
lean_dec(v___y_2158_);
lean_dec_ref(v___y_2157_);
lean_dec(v___y_2156_);
lean_dec_ref(v___y_2155_);
lean_dec(v_fs_2152_);
lean_dec_ref(v___x_2151_);
lean_dec_ref(v___x_2148_);
v_a_2193_ = lean_ctor_get(v___x_2184_, 0);
v_isSharedCheck_2200_ = !lean_is_exclusive(v___x_2184_);
if (v_isSharedCheck_2200_ == 0)
{
v___x_2195_ = v___x_2184_;
v_isShared_2196_ = v_isSharedCheck_2200_;
goto v_resetjp_2194_;
}
else
{
lean_inc(v_a_2193_);
lean_dec(v___x_2184_);
v___x_2195_ = lean_box(0);
v_isShared_2196_ = v_isSharedCheck_2200_;
goto v_resetjp_2194_;
}
v_resetjp_2194_:
{
lean_object* v___x_2198_; 
if (v_isShared_2196_ == 0)
{
v___x_2198_ = v___x_2195_;
goto v_reusejp_2197_;
}
else
{
lean_object* v_reuseFailAlloc_2199_; 
v_reuseFailAlloc_2199_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2199_, 0, v_a_2193_);
v___x_2198_ = v_reuseFailAlloc_2199_;
goto v_reusejp_2197_;
}
v_reusejp_2197_:
{
return v___x_2198_;
}
}
}
}
else
{
lean_object* v_a_2201_; lean_object* v___x_2203_; uint8_t v_isShared_2204_; uint8_t v_isSharedCheck_2208_; 
lean_dec_ref(v___x_2181_);
lean_dec(v_head_2180_);
lean_dec(v_snd_2179_);
lean_dec_ref(v___x_2174_);
lean_dec(v___y_2160_);
lean_dec_ref(v___y_2159_);
lean_dec(v___y_2158_);
lean_dec_ref(v___y_2157_);
lean_dec(v___y_2156_);
lean_dec_ref(v___y_2155_);
lean_dec(v_fs_2152_);
lean_dec_ref(v___x_2151_);
lean_dec(v_g_2150_);
lean_dec_ref(v___x_2148_);
v_a_2201_ = lean_ctor_get(v___x_2182_, 0);
v_isSharedCheck_2208_ = !lean_is_exclusive(v___x_2182_);
if (v_isSharedCheck_2208_ == 0)
{
v___x_2203_ = v___x_2182_;
v_isShared_2204_ = v_isSharedCheck_2208_;
goto v_resetjp_2202_;
}
else
{
lean_inc(v_a_2201_);
lean_dec(v___x_2182_);
v___x_2203_ = lean_box(0);
v_isShared_2204_ = v_isSharedCheck_2208_;
goto v_resetjp_2202_;
}
v_resetjp_2202_:
{
lean_object* v___x_2206_; 
if (v_isShared_2204_ == 0)
{
v___x_2206_ = v___x_2203_;
goto v_reusejp_2205_;
}
else
{
lean_object* v_reuseFailAlloc_2207_; 
v_reuseFailAlloc_2207_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2207_, 0, v_a_2201_);
v___x_2206_ = v_reuseFailAlloc_2207_;
goto v_reusejp_2205_;
}
v_reusejp_2205_:
{
return v___x_2206_;
}
}
}
}
else
{
lean_dec_ref(v_fst_2177_);
lean_dec(v_tail_2178_);
lean_dec_ref(v___x_2176_);
lean_dec_ref(v___x_2174_);
lean_dec(v_fs_2152_);
lean_dec_ref(v___x_2151_);
lean_dec(v_g_2150_);
lean_dec(v___x_2149_);
lean_dec_ref(v___x_2148_);
goto v___jp_2162_;
}
}
else
{
lean_dec(v_fst_2177_);
lean_dec_ref(v___x_2176_);
lean_dec_ref(v___x_2174_);
lean_dec(v_fs_2152_);
lean_dec_ref(v___x_2151_);
lean_dec(v_g_2150_);
lean_dec(v___x_2149_);
lean_dec_ref(v___x_2148_);
goto v___jp_2162_;
}
}
v___jp_2209_:
{
lean_object* v___x_2211_; lean_object* v_fst_2212_; lean_object* v_snd_2213_; lean_object* v_ref_2214_; uint8_t v___x_2215_; 
lean_inc_ref(v___y_2210_);
v___x_2211_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_asTuple(v___y_2210_);
v_fst_2212_ = lean_ctor_get(v___x_2211_, 0);
lean_inc(v_fst_2212_);
v_snd_2213_ = lean_ctor_get(v___x_2211_, 1);
lean_inc(v_snd_2213_);
lean_dec_ref(v___x_2211_);
v_ref_2214_ = lean_ctor_get(v___y_2210_, 0);
lean_inc(v_ref_2214_);
lean_dec_ref(v___y_2210_);
v___x_2215_ = lean_unbox(v_fst_2212_);
lean_dec(v_fst_2212_);
v___y_2166_ = v___x_2215_;
v___y_2167_ = v_snd_2213_;
v___y_2168_ = v_ref_2214_;
goto v___jp_2165_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5___boxed(lean_object* v___x_2219_, lean_object* v___x_2220_, lean_object* v___x_2221_, lean_object* v_g_2222_, lean_object* v___x_2223_, lean_object* v_fs_2224_, lean_object* v_pat_2225_, lean_object* v_____r_2226_, lean_object* v___y_2227_, lean_object* v___y_2228_, lean_object* v___y_2229_, lean_object* v___y_2230_, lean_object* v___y_2231_, lean_object* v___y_2232_, lean_object* v___y_2233_){
_start:
{
uint8_t v___x_21035__boxed_2234_; lean_object* v_res_2235_; 
v___x_21035__boxed_2234_ = lean_unbox(v___x_2219_);
v_res_2235_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5(v___x_21035__boxed_2234_, v___x_2220_, v___x_2221_, v_g_2222_, v___x_2223_, v_fs_2224_, v_pat_2225_, v_____r_2226_, v___y_2227_, v___y_2228_, v___y_2229_, v___y_2230_, v___y_2231_, v___y_2232_);
return v_res_2235_;
}
}
LEAN_EXPORT uint8_t l_Option_instBEq_beq___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_align_spec__0(lean_object* v_x_2236_, lean_object* v_x_2237_){
_start:
{
if (lean_obj_tag(v_x_2236_) == 0)
{
if (lean_obj_tag(v_x_2237_) == 0)
{
uint8_t v___x_2238_; 
v___x_2238_ = 1;
return v___x_2238_;
}
else
{
uint8_t v___x_2239_; 
v___x_2239_ = 0;
return v___x_2239_;
}
}
else
{
if (lean_obj_tag(v_x_2237_) == 0)
{
uint8_t v___x_2240_; 
v___x_2240_ = 0;
return v___x_2240_;
}
else
{
lean_object* v_val_2241_; lean_object* v_val_2242_; uint8_t v___x_2243_; 
v_val_2241_ = lean_ctor_get(v_x_2236_, 0);
v_val_2242_ = lean_ctor_get(v_x_2237_, 0);
v___x_2243_ = lean_name_eq(v_val_2241_, v_val_2242_);
return v___x_2243_;
}
}
}
}
LEAN_EXPORT lean_object* l_Option_instBEq_beq___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_align_spec__0___boxed(lean_object* v_x_2244_, lean_object* v_x_2245_){
_start:
{
uint8_t v_res_2246_; lean_object* v_r_2247_; 
v_res_2246_ = l_Option_instBEq_beq___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_align_spec__0(v_x_2244_, v_x_2245_);
lean_dec(v_x_2245_);
lean_dec(v_x_2244_);
v_r_2247_ = lean_box(v_res_2246_);
return v_r_2247_;
}
}
static lean_object* _init_l_List_foldl___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__12___closed__2(void){
_start:
{
lean_object* v___x_2251_; lean_object* v___x_2252_; 
v___x_2251_ = ((lean_object*)(l_List_foldl___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__12___closed__1));
v___x_2252_ = l_Lean_MessageData_ofFormat(v___x_2251_);
return v___x_2252_;
}
}
LEAN_EXPORT lean_object* l_List_foldl___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__12(lean_object* v_x_2253_, lean_object* v_x_2254_){
_start:
{
if (lean_obj_tag(v_x_2254_) == 0)
{
return v_x_2253_;
}
else
{
lean_object* v_head_2255_; lean_object* v_tail_2256_; lean_object* v___x_2258_; uint8_t v_isShared_2259_; uint8_t v_isSharedCheck_2278_; 
v_head_2255_ = lean_ctor_get(v_x_2254_, 0);
v_tail_2256_ = lean_ctor_get(v_x_2254_, 1);
v_isSharedCheck_2278_ = !lean_is_exclusive(v_x_2254_);
if (v_isSharedCheck_2278_ == 0)
{
v___x_2258_ = v_x_2254_;
v_isShared_2259_ = v_isSharedCheck_2278_;
goto v_resetjp_2257_;
}
else
{
lean_inc(v_tail_2256_);
lean_inc(v_head_2255_);
lean_dec(v_x_2254_);
v___x_2258_ = lean_box(0);
v_isShared_2259_ = v_isSharedCheck_2278_;
goto v_resetjp_2257_;
}
v_resetjp_2257_:
{
lean_object* v_before_2260_; lean_object* v___x_2262_; uint8_t v_isShared_2263_; uint8_t v_isSharedCheck_2276_; 
v_before_2260_ = lean_ctor_get(v_head_2255_, 0);
v_isSharedCheck_2276_ = !lean_is_exclusive(v_head_2255_);
if (v_isSharedCheck_2276_ == 0)
{
lean_object* v_unused_2277_; 
v_unused_2277_ = lean_ctor_get(v_head_2255_, 1);
lean_dec(v_unused_2277_);
v___x_2262_ = v_head_2255_;
v_isShared_2263_ = v_isSharedCheck_2276_;
goto v_resetjp_2261_;
}
else
{
lean_inc(v_before_2260_);
lean_dec(v_head_2255_);
v___x_2262_ = lean_box(0);
v_isShared_2263_ = v_isSharedCheck_2276_;
goto v_resetjp_2261_;
}
v_resetjp_2261_:
{
lean_object* v___x_2264_; lean_object* v___x_2266_; 
v___x_2264_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__9, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__9_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__9);
if (v_isShared_2263_ == 0)
{
lean_ctor_set_tag(v___x_2262_, 7);
lean_ctor_set(v___x_2262_, 1, v___x_2264_);
lean_ctor_set(v___x_2262_, 0, v_x_2253_);
v___x_2266_ = v___x_2262_;
goto v_reusejp_2265_;
}
else
{
lean_object* v_reuseFailAlloc_2275_; 
v_reuseFailAlloc_2275_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2275_, 0, v_x_2253_);
lean_ctor_set(v_reuseFailAlloc_2275_, 1, v___x_2264_);
v___x_2266_ = v_reuseFailAlloc_2275_;
goto v_reusejp_2265_;
}
v_reusejp_2265_:
{
lean_object* v___x_2267_; lean_object* v___x_2269_; 
v___x_2267_ = lean_obj_once(&l_List_foldl___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__12___closed__2, &l_List_foldl___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__12___closed__2_once, _init_l_List_foldl___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__12___closed__2);
if (v_isShared_2259_ == 0)
{
lean_ctor_set_tag(v___x_2258_, 7);
lean_ctor_set(v___x_2258_, 1, v___x_2267_);
lean_ctor_set(v___x_2258_, 0, v___x_2266_);
v___x_2269_ = v___x_2258_;
goto v_reusejp_2268_;
}
else
{
lean_object* v_reuseFailAlloc_2274_; 
v_reuseFailAlloc_2274_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2274_, 0, v___x_2266_);
lean_ctor_set(v_reuseFailAlloc_2274_, 1, v___x_2267_);
v___x_2269_ = v_reuseFailAlloc_2274_;
goto v_reusejp_2268_;
}
v_reusejp_2268_:
{
lean_object* v___x_2270_; lean_object* v___x_2271_; lean_object* v___x_2272_; 
v___x_2270_ = l_Lean_MessageData_ofSyntax(v_before_2260_);
v___x_2271_ = l_Lean_indentD(v___x_2270_);
v___x_2272_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2272_, 0, v___x_2269_);
lean_ctor_set(v___x_2272_, 1, v___x_2271_);
v_x_2253_ = v___x_2272_;
v_x_2254_ = v_tail_2256_;
goto _start;
}
}
}
}
}
}
}
LEAN_EXPORT uint8_t l_Lean_Option_get___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__11(lean_object* v_opts_2279_, lean_object* v_opt_2280_){
_start:
{
lean_object* v_name_2281_; lean_object* v_defValue_2282_; lean_object* v_map_2283_; lean_object* v___x_2284_; 
v_name_2281_ = lean_ctor_get(v_opt_2280_, 0);
v_defValue_2282_ = lean_ctor_get(v_opt_2280_, 1);
v_map_2283_ = lean_ctor_get(v_opts_2279_, 0);
v___x_2284_ = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00Lean_NameMap_find_x3f_spec__0___redArg(v_map_2283_, v_name_2281_);
if (lean_obj_tag(v___x_2284_) == 0)
{
uint8_t v___x_2285_; 
v___x_2285_ = lean_unbox(v_defValue_2282_);
return v___x_2285_;
}
else
{
lean_object* v_val_2286_; 
v_val_2286_ = lean_ctor_get(v___x_2284_, 0);
lean_inc(v_val_2286_);
lean_dec_ref(v___x_2284_);
if (lean_obj_tag(v_val_2286_) == 1)
{
uint8_t v_v_2287_; 
v_v_2287_ = lean_ctor_get_uint8(v_val_2286_, 0);
lean_dec_ref(v_val_2286_);
return v_v_2287_;
}
else
{
uint8_t v___x_2288_; 
lean_dec(v_val_2286_);
v___x_2288_ = lean_unbox(v_defValue_2282_);
return v___x_2288_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__11___boxed(lean_object* v_opts_2289_, lean_object* v_opt_2290_){
_start:
{
uint8_t v_res_2291_; lean_object* v_r_2292_; 
v_res_2291_ = l_Lean_Option_get___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__11(v_opts_2289_, v_opt_2290_);
lean_dec_ref(v_opt_2290_);
lean_dec_ref(v_opts_2289_);
v_r_2292_ = lean_box(v_res_2291_);
return v_r_2292_;
}
}
static lean_object* _init_l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg___closed__2(void){
_start:
{
lean_object* v___x_2296_; lean_object* v___x_2297_; 
v___x_2296_ = ((lean_object*)(l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg___closed__1));
v___x_2297_ = l_Lean_MessageData_ofFormat(v___x_2296_);
return v___x_2297_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg(lean_object* v_msgData_2298_, lean_object* v_macroStack_2299_, lean_object* v___y_2300_){
_start:
{
lean_object* v_options_2302_; lean_object* v___x_2303_; uint8_t v___x_2304_; 
v_options_2302_ = lean_ctor_get(v___y_2300_, 2);
v___x_2303_ = l_Lean_Elab_pp_macroStack;
v___x_2304_ = l_Lean_Option_get___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__11(v_options_2302_, v___x_2303_);
if (v___x_2304_ == 0)
{
lean_object* v___x_2305_; 
lean_dec(v_macroStack_2299_);
v___x_2305_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2305_, 0, v_msgData_2298_);
return v___x_2305_;
}
else
{
if (lean_obj_tag(v_macroStack_2299_) == 0)
{
lean_object* v___x_2306_; 
v___x_2306_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2306_, 0, v_msgData_2298_);
return v___x_2306_;
}
else
{
lean_object* v_head_2307_; lean_object* v_after_2308_; lean_object* v___x_2310_; uint8_t v_isShared_2311_; uint8_t v_isSharedCheck_2323_; 
v_head_2307_ = lean_ctor_get(v_macroStack_2299_, 0);
lean_inc(v_head_2307_);
v_after_2308_ = lean_ctor_get(v_head_2307_, 1);
v_isSharedCheck_2323_ = !lean_is_exclusive(v_head_2307_);
if (v_isSharedCheck_2323_ == 0)
{
lean_object* v_unused_2324_; 
v_unused_2324_ = lean_ctor_get(v_head_2307_, 0);
lean_dec(v_unused_2324_);
v___x_2310_ = v_head_2307_;
v_isShared_2311_ = v_isSharedCheck_2323_;
goto v_resetjp_2309_;
}
else
{
lean_inc(v_after_2308_);
lean_dec(v_head_2307_);
v___x_2310_ = lean_box(0);
v_isShared_2311_ = v_isSharedCheck_2323_;
goto v_resetjp_2309_;
}
v_resetjp_2309_:
{
lean_object* v___x_2312_; lean_object* v___x_2314_; 
v___x_2312_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__9, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__9_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instToMessageData_fmt___closed__9);
if (v_isShared_2311_ == 0)
{
lean_ctor_set_tag(v___x_2310_, 7);
lean_ctor_set(v___x_2310_, 1, v___x_2312_);
lean_ctor_set(v___x_2310_, 0, v_msgData_2298_);
v___x_2314_ = v___x_2310_;
goto v_reusejp_2313_;
}
else
{
lean_object* v_reuseFailAlloc_2322_; 
v_reuseFailAlloc_2322_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2322_, 0, v_msgData_2298_);
lean_ctor_set(v_reuseFailAlloc_2322_, 1, v___x_2312_);
v___x_2314_ = v_reuseFailAlloc_2322_;
goto v_reusejp_2313_;
}
v_reusejp_2313_:
{
lean_object* v___x_2315_; lean_object* v___x_2316_; lean_object* v___x_2317_; lean_object* v___x_2318_; lean_object* v_msgData_2319_; lean_object* v___x_2320_; lean_object* v___x_2321_; 
v___x_2315_ = lean_obj_once(&l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg___closed__2, &l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg___closed__2_once, _init_l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg___closed__2);
v___x_2316_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2316_, 0, v___x_2314_);
lean_ctor_set(v___x_2316_, 1, v___x_2315_);
v___x_2317_ = l_Lean_MessageData_ofSyntax(v_after_2308_);
v___x_2318_ = l_Lean_indentD(v___x_2317_);
v_msgData_2319_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v_msgData_2319_, 0, v___x_2316_);
lean_ctor_set(v_msgData_2319_, 1, v___x_2318_);
v___x_2320_ = l_List_foldl___at___00Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9_spec__12(v_msgData_2319_, v_macroStack_2299_);
v___x_2321_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2321_, 0, v___x_2320_);
return v___x_2321_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg___boxed(lean_object* v_msgData_2325_, lean_object* v_macroStack_2326_, lean_object* v___y_2327_, lean_object* v___y_2328_){
_start:
{
lean_object* v_res_2329_; 
v_res_2329_ = l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg(v_msgData_2325_, v_macroStack_2326_, v___y_2327_);
lean_dec_ref(v___y_2327_);
return v_res_2329_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8___redArg(lean_object* v_msg_2330_, lean_object* v___y_2331_, lean_object* v___y_2332_, lean_object* v___y_2333_, lean_object* v___y_2334_, lean_object* v___y_2335_, lean_object* v___y_2336_){
_start:
{
lean_object* v_ref_2338_; lean_object* v___x_2339_; lean_object* v_a_2340_; lean_object* v_macroStack_2341_; lean_object* v___x_2342_; lean_object* v___x_2343_; lean_object* v_a_2344_; lean_object* v___x_2346_; uint8_t v_isShared_2347_; uint8_t v_isSharedCheck_2352_; 
v_ref_2338_ = lean_ctor_get(v___y_2335_, 5);
v___x_2339_ = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8_spec__9(v_msg_2330_, v___y_2333_, v___y_2334_, v___y_2335_, v___y_2336_);
v_a_2340_ = lean_ctor_get(v___x_2339_, 0);
lean_inc(v_a_2340_);
lean_dec_ref(v___x_2339_);
v_macroStack_2341_ = lean_ctor_get(v___y_2331_, 1);
lean_inc(v_macroStack_2341_);
lean_dec_ref(v___y_2331_);
lean_inc(v_macroStack_2341_);
v___x_2342_ = l_Lean_Elab_getBetterRef(v_ref_2338_, v_macroStack_2341_);
v___x_2343_ = l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg(v_a_2340_, v_macroStack_2341_, v___y_2335_);
v_a_2344_ = lean_ctor_get(v___x_2343_, 0);
v_isSharedCheck_2352_ = !lean_is_exclusive(v___x_2343_);
if (v_isSharedCheck_2352_ == 0)
{
v___x_2346_ = v___x_2343_;
v_isShared_2347_ = v_isSharedCheck_2352_;
goto v_resetjp_2345_;
}
else
{
lean_inc(v_a_2344_);
lean_dec(v___x_2343_);
v___x_2346_ = lean_box(0);
v_isShared_2347_ = v_isSharedCheck_2352_;
goto v_resetjp_2345_;
}
v_resetjp_2345_:
{
lean_object* v___x_2348_; lean_object* v___x_2350_; 
v___x_2348_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_2348_, 0, v___x_2342_);
lean_ctor_set(v___x_2348_, 1, v_a_2344_);
if (v_isShared_2347_ == 0)
{
lean_ctor_set_tag(v___x_2346_, 1);
lean_ctor_set(v___x_2346_, 0, v___x_2348_);
v___x_2350_ = v___x_2346_;
goto v_reusejp_2349_;
}
else
{
lean_object* v_reuseFailAlloc_2351_; 
v_reuseFailAlloc_2351_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2351_, 0, v___x_2348_);
v___x_2350_ = v_reuseFailAlloc_2351_;
goto v_reusejp_2349_;
}
v_reusejp_2349_:
{
return v___x_2350_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8___redArg___boxed(lean_object* v_msg_2353_, lean_object* v___y_2354_, lean_object* v___y_2355_, lean_object* v___y_2356_, lean_object* v___y_2357_, lean_object* v___y_2358_, lean_object* v___y_2359_, lean_object* v___y_2360_){
_start:
{
lean_object* v_res_2361_; 
v_res_2361_ = l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8___redArg(v_msg_2353_, v___y_2354_, v___y_2355_, v___y_2356_, v___y_2357_, v___y_2358_, v___y_2359_);
lean_dec(v___y_2359_);
lean_dec_ref(v___y_2358_);
lean_dec(v___y_2357_);
lean_dec_ref(v___y_2356_);
lean_dec(v___y_2355_);
return v_res_2361_;
}
}
static lean_object* _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__1(void){
_start:
{
lean_object* v___x_2363_; lean_object* v___x_2364_; 
v___x_2363_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__0));
v___x_2364_ = l_Lean_stringToMessageData(v___x_2363_);
return v___x_2364_;
}
}
static lean_object* _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__3(void){
_start:
{
lean_object* v___x_2366_; lean_object* v___x_2367_; 
v___x_2366_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__2));
v___x_2367_ = l_Lean_stringToMessageData(v___x_2366_);
return v___x_2367_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3(lean_object* v___x_2368_, lean_object* v_a_2369_, lean_object* v_00_u03b1_2370_, lean_object* v_x_2371_, lean_object* v___y_2372_, lean_object* v___y_2373_, lean_object* v___y_2374_, lean_object* v___y_2375_, lean_object* v___y_2376_, lean_object* v___y_2377_){
_start:
{
lean_object* v___x_2379_; lean_object* v___x_2380_; lean_object* v___x_2381_; lean_object* v___x_2382_; lean_object* v___x_2383_; lean_object* v___x_2384_; lean_object* v___x_2385_; lean_object* v___x_2386_; lean_object* v___x_2387_; lean_object* v___x_2388_; 
v___x_2379_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__1, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__1_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__0___closed__1);
v___x_2380_ = l_Lean_MessageData_ofExpr(v___x_2368_);
v___x_2381_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2381_, 0, v___x_2379_);
lean_ctor_set(v___x_2381_, 1, v___x_2380_);
v___x_2382_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__1, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__1_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__1);
v___x_2383_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2383_, 0, v___x_2381_);
lean_ctor_set(v___x_2383_, 1, v___x_2382_);
v___x_2384_ = l_Lean_MessageData_ofExpr(v_a_2369_);
v___x_2385_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2385_, 0, v___x_2383_);
lean_ctor_set(v___x_2385_, 1, v___x_2384_);
v___x_2386_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__3, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__3_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___closed__3);
v___x_2387_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2387_, 0, v___x_2385_);
lean_ctor_set(v___x_2387_, 1, v___x_2386_);
v___x_2388_ = l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8___redArg(v___x_2387_, v___y_2372_, v___y_2373_, v___y_2374_, v___y_2375_, v___y_2376_, v___y_2377_);
return v___x_2388_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3___boxed(lean_object* v___x_2389_, lean_object* v_a_2390_, lean_object* v_00_u03b1_2391_, lean_object* v_x_2392_, lean_object* v___y_2393_, lean_object* v___y_2394_, lean_object* v___y_2395_, lean_object* v___y_2396_, lean_object* v___y_2397_, lean_object* v___y_2398_, lean_object* v___y_2399_){
_start:
{
lean_object* v_res_2400_; 
v_res_2400_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3(v___x_2389_, v_a_2390_, v_00_u03b1_2391_, v_x_2392_, v___y_2393_, v___y_2394_, v___y_2395_, v___y_2396_, v___y_2397_, v___y_2398_);
lean_dec(v___y_2398_);
lean_dec_ref(v___y_2397_);
lean_dec(v___y_2396_);
lean_dec_ref(v___y_2395_);
lean_dec(v___y_2394_);
return v_res_2400_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue___redArg___lam__0___boxed(lean_object* v_tail_2401_, lean_object* v_cont_2402_, lean_object* v_g_2403_, lean_object* v_fs_2404_, lean_object* v_clears_2405_, lean_object* v_a_2406_, lean_object* v___y_2407_, lean_object* v___y_2408_, lean_object* v___y_2409_, lean_object* v___y_2410_, lean_object* v___y_2411_, lean_object* v___y_2412_, lean_object* v___y_2413_){
_start:
{
lean_object* v_res_2414_; 
v_res_2414_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue___redArg___lam__0(v_tail_2401_, v_cont_2402_, v_g_2403_, v_fs_2404_, v_clears_2405_, v_a_2406_, v___y_2407_, v___y_2408_, v___y_2409_, v___y_2410_, v___y_2411_, v___y_2412_);
return v_res_2414_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__1(lean_object* v_e_2416_, lean_object* v_g_2417_, lean_object* v_fs_2418_, lean_object* v_clears_2419_, lean_object* v_a_2420_, lean_object* v_cont_2421_, lean_object* v_ref_2422_, lean_object* v_p_2423_, lean_object* v___y_2424_, lean_object* v___y_2425_, lean_object* v___y_2426_, lean_object* v___y_2427_, lean_object* v___y_2428_, lean_object* v___y_2429_){
_start:
{
lean_object* v___x_2431_; lean_object* v___x_2432_; lean_object* v___x_2433_; lean_object* v___x_2434_; uint8_t v___x_2435_; lean_object* v___x_2436_; 
v___x_2431_ = lean_box(0);
lean_inc_ref(v_e_2416_);
v___x_2432_ = l_Lean_Expr_mdata___override(v___x_2431_, v_e_2416_);
v___x_2433_ = lean_box(0);
v___x_2434_ = lean_box(0);
v___x_2435_ = 0;
lean_inc(v___y_2429_);
lean_inc_ref(v___y_2428_);
lean_inc(v___y_2427_);
lean_inc_ref(v___y_2426_);
lean_inc(v___y_2425_);
lean_inc_ref(v___y_2424_);
v___x_2436_ = l_Lean_Elab_Term_addTermInfo_x27(v_ref_2422_, v___x_2432_, v___x_2433_, v___x_2433_, v___x_2434_, v___x_2435_, v___x_2435_, v___y_2424_, v___y_2425_, v___y_2426_, v___y_2427_, v___y_2428_, v___y_2429_);
if (lean_obj_tag(v___x_2436_) == 0)
{
lean_object* v___x_2437_; 
lean_dec_ref(v___x_2436_);
v___x_2437_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg(v_g_2417_, v_fs_2418_, v_clears_2419_, v_e_2416_, v_a_2420_, v_p_2423_, v_cont_2421_, v___y_2424_, v___y_2425_, v___y_2426_, v___y_2427_, v___y_2428_, v___y_2429_);
return v___x_2437_;
}
else
{
lean_object* v_a_2438_; lean_object* v___x_2440_; uint8_t v_isShared_2441_; uint8_t v_isSharedCheck_2445_; 
lean_dec(v___y_2429_);
lean_dec_ref(v___y_2428_);
lean_dec(v___y_2427_);
lean_dec_ref(v___y_2426_);
lean_dec(v___y_2425_);
lean_dec_ref(v___y_2424_);
lean_dec_ref(v_p_2423_);
lean_dec_ref(v_cont_2421_);
lean_dec(v_a_2420_);
lean_dec_ref(v_clears_2419_);
lean_dec(v_fs_2418_);
lean_dec(v_g_2417_);
lean_dec_ref(v_e_2416_);
v_a_2438_ = lean_ctor_get(v___x_2436_, 0);
v_isSharedCheck_2445_ = !lean_is_exclusive(v___x_2436_);
if (v_isSharedCheck_2445_ == 0)
{
v___x_2440_ = v___x_2436_;
v_isShared_2441_ = v_isSharedCheck_2445_;
goto v_resetjp_2439_;
}
else
{
lean_inc(v_a_2438_);
lean_dec(v___x_2436_);
v___x_2440_ = lean_box(0);
v_isShared_2441_ = v_isSharedCheck_2445_;
goto v_resetjp_2439_;
}
v_resetjp_2439_:
{
lean_object* v___x_2443_; 
if (v_isShared_2441_ == 0)
{
v___x_2443_ = v___x_2440_;
goto v_reusejp_2442_;
}
else
{
lean_object* v_reuseFailAlloc_2444_; 
v_reuseFailAlloc_2444_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2444_, 0, v_a_2438_);
v___x_2443_ = v_reuseFailAlloc_2444_;
goto v_reusejp_2442_;
}
v_reusejp_2442_:
{
return v___x_2443_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__1___boxed(lean_object* v_e_2446_, lean_object* v_g_2447_, lean_object* v_fs_2448_, lean_object* v_clears_2449_, lean_object* v_a_2450_, lean_object* v_cont_2451_, lean_object* v_ref_2452_, lean_object* v_p_2453_, lean_object* v___y_2454_, lean_object* v___y_2455_, lean_object* v___y_2456_, lean_object* v___y_2457_, lean_object* v___y_2458_, lean_object* v___y_2459_, lean_object* v___y_2460_){
_start:
{
lean_object* v_res_2461_; 
v_res_2461_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__1(v_e_2446_, v_g_2447_, v_fs_2448_, v_clears_2449_, v_a_2450_, v_cont_2451_, v_ref_2452_, v_p_2453_, v___y_2454_, v___y_2455_, v___y_2456_, v___y_2457_, v___y_2458_, v___y_2459_);
return v_res_2461_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_align___redArg(lean_object* v_fs_2462_, lean_object* v_clears_2463_, lean_object* v_cont_2464_, lean_object* v_a_2465_, lean_object* v_goal_2466_, lean_object* v_ctorName_2467_, lean_object* v_a_2468_, lean_object* v_a_2469_, lean_object* v_a_2470_, lean_object* v_a_2471_, lean_object* v_a_2472_, lean_object* v_a_2473_, lean_object* v_a_2474_){
_start:
{
if (lean_obj_tag(v_a_2468_) == 0)
{
lean_object* v___x_2476_; lean_object* v___x_2477_; 
lean_dec(v_a_2474_);
lean_dec_ref(v_a_2473_);
lean_dec(v_a_2472_);
lean_dec_ref(v_a_2471_);
lean_dec(v_a_2470_);
lean_dec_ref(v_a_2469_);
lean_dec_ref(v_goal_2466_);
lean_dec_ref(v_cont_2464_);
lean_dec_ref(v_clears_2463_);
lean_dec(v_fs_2462_);
v___x_2476_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_2476_, 0, v_a_2468_);
lean_ctor_set(v___x_2476_, 1, v_a_2465_);
v___x_2477_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2477_, 0, v___x_2476_);
return v___x_2477_;
}
else
{
lean_object* v_head_2478_; lean_object* v_tail_2479_; lean_object* v_fst_2480_; lean_object* v_snd_2481_; lean_object* v___x_2483_; uint8_t v_isShared_2484_; uint8_t v_isSharedCheck_2514_; 
v_head_2478_ = lean_ctor_get(v_a_2468_, 0);
lean_inc(v_head_2478_);
v_tail_2479_ = lean_ctor_get(v_a_2468_, 1);
lean_inc(v_tail_2479_);
lean_dec_ref(v_a_2468_);
v_fst_2480_ = lean_ctor_get(v_head_2478_, 0);
v_snd_2481_ = lean_ctor_get(v_head_2478_, 1);
v_isSharedCheck_2514_ = !lean_is_exclusive(v_head_2478_);
if (v_isSharedCheck_2514_ == 0)
{
v___x_2483_ = v_head_2478_;
v_isShared_2484_ = v_isSharedCheck_2514_;
goto v_resetjp_2482_;
}
else
{
lean_inc(v_snd_2481_);
lean_inc(v_fst_2480_);
lean_dec(v_head_2478_);
v___x_2483_ = lean_box(0);
v_isShared_2484_ = v_isSharedCheck_2514_;
goto v_resetjp_2482_;
}
v_resetjp_2482_:
{
lean_object* v___x_2485_; uint8_t v___x_2486_; 
v___x_2485_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_2485_, 0, v_fst_2480_);
v___x_2486_ = l_Option_instBEq_beq___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_align_spec__0(v___x_2485_, v_ctorName_2467_);
lean_dec_ref(v___x_2485_);
if (v___x_2486_ == 0)
{
lean_del_object(v___x_2483_);
lean_dec(v_snd_2481_);
v_a_2468_ = v_tail_2479_;
goto _start;
}
else
{
lean_object* v_mvarId_2488_; lean_object* v_fields_2489_; lean_object* v_subst_2490_; lean_object* v_fs_2491_; lean_object* v___x_2492_; lean_object* v___x_2493_; lean_object* v___x_2494_; 
v_mvarId_2488_ = lean_ctor_get(v_goal_2466_, 0);
lean_inc(v_mvarId_2488_);
v_fields_2489_ = lean_ctor_get(v_goal_2466_, 1);
lean_inc_ref(v_fields_2489_);
v_subst_2490_ = lean_ctor_get(v_goal_2466_, 2);
lean_inc(v_subst_2490_);
lean_dec_ref(v_goal_2466_);
v_fs_2491_ = l_Lean_Meta_FVarSubst_append(v_fs_2462_, v_subst_2490_);
v___x_2492_ = lean_array_to_list(v_fields_2489_);
v___x_2493_ = l_List_zipWith___at___00List_zip_spec__0(lean_box(0), lean_box(0), v_snd_2481_, v___x_2492_);
v___x_2494_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue___redArg(v_mvarId_2488_, v_fs_2491_, v_clears_2463_, v_a_2465_, v___x_2493_, v_cont_2464_, v_a_2469_, v_a_2470_, v_a_2471_, v_a_2472_, v_a_2473_, v_a_2474_);
if (lean_obj_tag(v___x_2494_) == 0)
{
lean_object* v_a_2495_; lean_object* v___x_2497_; uint8_t v_isShared_2498_; uint8_t v_isSharedCheck_2505_; 
v_a_2495_ = lean_ctor_get(v___x_2494_, 0);
v_isSharedCheck_2505_ = !lean_is_exclusive(v___x_2494_);
if (v_isSharedCheck_2505_ == 0)
{
v___x_2497_ = v___x_2494_;
v_isShared_2498_ = v_isSharedCheck_2505_;
goto v_resetjp_2496_;
}
else
{
lean_inc(v_a_2495_);
lean_dec(v___x_2494_);
v___x_2497_ = lean_box(0);
v_isShared_2498_ = v_isSharedCheck_2505_;
goto v_resetjp_2496_;
}
v_resetjp_2496_:
{
lean_object* v___x_2500_; 
if (v_isShared_2484_ == 0)
{
lean_ctor_set(v___x_2483_, 1, v_a_2495_);
lean_ctor_set(v___x_2483_, 0, v_tail_2479_);
v___x_2500_ = v___x_2483_;
goto v_reusejp_2499_;
}
else
{
lean_object* v_reuseFailAlloc_2504_; 
v_reuseFailAlloc_2504_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2504_, 0, v_tail_2479_);
lean_ctor_set(v_reuseFailAlloc_2504_, 1, v_a_2495_);
v___x_2500_ = v_reuseFailAlloc_2504_;
goto v_reusejp_2499_;
}
v_reusejp_2499_:
{
lean_object* v___x_2502_; 
if (v_isShared_2498_ == 0)
{
lean_ctor_set(v___x_2497_, 0, v___x_2500_);
v___x_2502_ = v___x_2497_;
goto v_reusejp_2501_;
}
else
{
lean_object* v_reuseFailAlloc_2503_; 
v_reuseFailAlloc_2503_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2503_, 0, v___x_2500_);
v___x_2502_ = v_reuseFailAlloc_2503_;
goto v_reusejp_2501_;
}
v_reusejp_2501_:
{
return v___x_2502_;
}
}
}
}
else
{
lean_object* v_a_2506_; lean_object* v___x_2508_; uint8_t v_isShared_2509_; uint8_t v_isSharedCheck_2513_; 
lean_del_object(v___x_2483_);
lean_dec(v_tail_2479_);
v_a_2506_ = lean_ctor_get(v___x_2494_, 0);
v_isSharedCheck_2513_ = !lean_is_exclusive(v___x_2494_);
if (v_isSharedCheck_2513_ == 0)
{
v___x_2508_ = v___x_2494_;
v_isShared_2509_ = v_isSharedCheck_2513_;
goto v_resetjp_2507_;
}
else
{
lean_inc(v_a_2506_);
lean_dec(v___x_2494_);
v___x_2508_ = lean_box(0);
v_isShared_2509_ = v_isSharedCheck_2513_;
goto v_resetjp_2507_;
}
v_resetjp_2507_:
{
lean_object* v___x_2511_; 
if (v_isShared_2509_ == 0)
{
v___x_2511_ = v___x_2508_;
goto v_reusejp_2510_;
}
else
{
lean_object* v_reuseFailAlloc_2512_; 
v_reuseFailAlloc_2512_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2512_, 0, v_a_2506_);
v___x_2511_ = v_reuseFailAlloc_2512_;
goto v_reusejp_2510_;
}
v_reusejp_2510_:
{
return v___x_2511_;
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__3___redArg(lean_object* v_fs_2515_, lean_object* v_clears_2516_, lean_object* v_cont_2517_, lean_object* v_as_2518_, size_t v_i_2519_, size_t v_stop_2520_, lean_object* v_b_2521_, lean_object* v___y_2522_, lean_object* v___y_2523_, lean_object* v___y_2524_, lean_object* v___y_2525_, lean_object* v___y_2526_, lean_object* v___y_2527_){
_start:
{
uint8_t v___x_2529_; 
v___x_2529_ = lean_usize_dec_eq(v_i_2519_, v_stop_2520_);
if (v___x_2529_ == 0)
{
lean_object* v_fst_2530_; lean_object* v_snd_2531_; lean_object* v___x_2532_; lean_object* v_toInductionSubgoal_2533_; lean_object* v_ctorName_2534_; lean_object* v___x_2535_; 
v_fst_2530_ = lean_ctor_get(v_b_2521_, 0);
lean_inc(v_fst_2530_);
v_snd_2531_ = lean_ctor_get(v_b_2521_, 1);
lean_inc(v_snd_2531_);
lean_dec_ref(v_b_2521_);
v___x_2532_ = lean_array_uget_borrowed(v_as_2518_, v_i_2519_);
v_toInductionSubgoal_2533_ = lean_ctor_get(v___x_2532_, 0);
v_ctorName_2534_ = lean_ctor_get(v___x_2532_, 1);
lean_inc(v___y_2527_);
lean_inc_ref(v___y_2526_);
lean_inc(v___y_2525_);
lean_inc_ref(v___y_2524_);
lean_inc(v___y_2523_);
lean_inc_ref(v___y_2522_);
lean_inc_ref(v_toInductionSubgoal_2533_);
lean_inc_ref(v_cont_2517_);
lean_inc_ref(v_clears_2516_);
lean_inc(v_fs_2515_);
v___x_2535_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_align___redArg(v_fs_2515_, v_clears_2516_, v_cont_2517_, v_snd_2531_, v_toInductionSubgoal_2533_, v_ctorName_2534_, v_fst_2530_, v___y_2522_, v___y_2523_, v___y_2524_, v___y_2525_, v___y_2526_, v___y_2527_);
if (lean_obj_tag(v___x_2535_) == 0)
{
lean_object* v_a_2536_; size_t v___x_2537_; size_t v___x_2538_; 
v_a_2536_ = lean_ctor_get(v___x_2535_, 0);
lean_inc(v_a_2536_);
lean_dec_ref(v___x_2535_);
v___x_2537_ = ((size_t)1ULL);
v___x_2538_ = lean_usize_add(v_i_2519_, v___x_2537_);
v_i_2519_ = v___x_2538_;
v_b_2521_ = v_a_2536_;
goto _start;
}
else
{
lean_dec(v___y_2527_);
lean_dec_ref(v___y_2526_);
lean_dec(v___y_2525_);
lean_dec_ref(v___y_2524_);
lean_dec(v___y_2523_);
lean_dec_ref(v___y_2522_);
lean_dec_ref(v_cont_2517_);
lean_dec_ref(v_clears_2516_);
lean_dec(v_fs_2515_);
return v___x_2535_;
}
}
else
{
lean_object* v___x_2540_; 
lean_dec(v___y_2527_);
lean_dec_ref(v___y_2526_);
lean_dec(v___y_2525_);
lean_dec_ref(v___y_2524_);
lean_dec(v___y_2523_);
lean_dec_ref(v___y_2522_);
lean_dec_ref(v_cont_2517_);
lean_dec_ref(v_clears_2516_);
lean_dec(v_fs_2515_);
v___x_2540_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2540_, 0, v_b_2521_);
return v___x_2540_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__6(lean_object* v_e_2543_, lean_object* v___y_2544_, lean_object* v_fs_2545_, lean_object* v_asFVar_2546_, lean_object* v_a_2547_, lean_object* v_clears_2548_, lean_object* v_cont_2549_, lean_object* v___x_2550_, lean_object* v_g_2551_, lean_object* v___x_2552_, lean_object* v_pat_2553_, lean_object* v_x_2554_, lean_object* v___y_2555_, lean_object* v___y_2556_, lean_object* v___y_2557_, lean_object* v___y_2558_, lean_object* v___y_2559_, lean_object* v___y_2560_){
_start:
{
lean_object* v___y_2563_; lean_object* v_fst_2582_; lean_object* v_snd_2583_; lean_object* v___y_2598_; lean_object* v___x_2610_; lean_object* v___x_2611_; lean_object* v___x_2612_; lean_object* v___x_2613_; uint8_t v___x_2614_; lean_object* v___x_2615_; 
v___x_2610_ = lean_box(0);
lean_inc_ref(v_e_2543_);
v___x_2611_ = l_Lean_Expr_mdata___override(v___x_2610_, v_e_2543_);
v___x_2612_ = lean_box(0);
v___x_2613_ = lean_box(0);
v___x_2614_ = 0;
lean_inc(v___y_2560_);
lean_inc_ref(v___y_2559_);
lean_inc(v___y_2558_);
lean_inc_ref(v___y_2557_);
lean_inc(v___y_2556_);
lean_inc_ref(v___y_2555_);
lean_inc(v___y_2544_);
v___x_2615_ = l_Lean_Elab_Term_addTermInfo_x27(v___y_2544_, v___x_2611_, v___x_2612_, v___x_2612_, v___x_2613_, v___x_2614_, v___x_2614_, v___y_2555_, v___y_2556_, v___y_2557_, v___y_2558_, v___y_2559_, v___y_2560_);
if (lean_obj_tag(v___x_2615_) == 0)
{
lean_object* v___x_2616_; lean_object* v___x_2617_; 
lean_dec_ref(v___x_2615_);
lean_inc(v_fs_2545_);
v___x_2616_ = l_Lean_Meta_FVarSubst_apply(v_fs_2545_, v_e_2543_);
lean_dec_ref(v_e_2543_);
lean_inc(v___y_2560_);
lean_inc_ref(v___y_2559_);
lean_inc(v___y_2558_);
lean_inc_ref(v___y_2557_);
lean_inc_ref(v___x_2616_);
v___x_2617_ = lean_apply_6(v_asFVar_2546_, v___x_2616_, v___y_2557_, v___y_2558_, v___y_2559_, v___y_2560_, lean_box(0));
if (lean_obj_tag(v___x_2617_) == 0)
{
lean_object* v___x_2618_; 
lean_dec_ref(v___x_2617_);
lean_inc(v___y_2560_);
lean_inc_ref(v___y_2559_);
lean_inc(v___y_2558_);
lean_inc_ref(v___y_2557_);
lean_inc(v___y_2556_);
lean_inc_ref(v___y_2555_);
v___x_2618_ = l_Lean_Elab_Term_synthesizeSyntheticMVarsNoPostponing(v___x_2614_, v___y_2555_, v___y_2556_, v___y_2557_, v___y_2558_, v___y_2559_, v___y_2560_);
if (lean_obj_tag(v___x_2618_) == 0)
{
lean_object* v___x_2619_; 
lean_dec_ref(v___x_2618_);
lean_inc(v___y_2560_);
lean_inc_ref(v___y_2559_);
lean_inc(v___y_2558_);
lean_inc_ref(v___y_2557_);
lean_inc_ref(v___x_2616_);
v___x_2619_ = lean_infer_type(v___x_2616_, v___y_2557_, v___y_2558_, v___y_2559_, v___y_2560_);
if (lean_obj_tag(v___x_2619_) == 0)
{
lean_object* v_a_2620_; lean_object* v___x_2621_; 
v_a_2620_ = lean_ctor_get(v___x_2619_, 0);
lean_inc(v_a_2620_);
lean_dec_ref(v___x_2619_);
lean_inc(v___y_2560_);
lean_inc_ref(v___y_2559_);
lean_inc(v___y_2558_);
lean_inc_ref(v___y_2557_);
v___x_2621_ = l_Lean_Meta_whnfD(v_a_2620_, v___y_2557_, v___y_2558_, v___y_2559_, v___y_2560_);
if (lean_obj_tag(v___x_2621_) == 0)
{
lean_object* v_a_2622_; lean_object* v___x_2623_; 
v_a_2622_ = lean_ctor_get(v___x_2621_, 0);
lean_inc(v_a_2622_);
lean_dec_ref(v___x_2621_);
v___x_2623_ = l_Lean_Expr_getAppFn(v_a_2622_);
if (lean_obj_tag(v___x_2623_) == 4)
{
lean_object* v_declName_2624_; lean_object* v___x_2625_; lean_object* v_env_2626_; lean_object* v___x_2627_; 
v_declName_2624_ = lean_ctor_get(v___x_2623_, 0);
lean_inc(v_declName_2624_);
lean_dec_ref(v___x_2623_);
v___x_2625_ = lean_st_ref_get(v___y_2560_);
v_env_2626_ = lean_ctor_get(v___x_2625_, 0);
lean_inc_ref(v_env_2626_);
lean_dec(v___x_2625_);
v___x_2627_ = l_Lean_Environment_find_x3f(v_env_2626_, v_declName_2624_, v___x_2614_);
if (lean_obj_tag(v___x_2627_) == 0)
{
lean_object* v___x_2628_; lean_object* v___x_2629_; 
lean_dec_ref(v_pat_2553_);
lean_dec_ref(v___x_2552_);
lean_dec(v_g_2551_);
lean_dec(v___x_2550_);
lean_dec(v___y_2544_);
v___x_2628_ = lean_box(0);
lean_inc_ref(v___y_2555_);
v___x_2629_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3(v___x_2616_, v_a_2622_, lean_box(0), v___x_2628_, v___y_2555_, v___y_2556_, v___y_2557_, v___y_2558_, v___y_2559_, v___y_2560_);
v___y_2598_ = v___x_2629_;
goto v___jp_2597_;
}
else
{
lean_object* v_val_2630_; 
v_val_2630_ = lean_ctor_get(v___x_2627_, 0);
lean_inc(v_val_2630_);
lean_dec_ref(v___x_2627_);
switch(lean_obj_tag(v_val_2630_))
{
case 4:
{
lean_object* v_val_2631_; uint8_t v_kind_2632_; 
lean_dec(v___y_2544_);
v_val_2631_ = lean_ctor_get(v_val_2630_, 0);
lean_inc_ref(v_val_2631_);
lean_dec_ref(v_val_2630_);
v_kind_2632_ = lean_ctor_get_uint8(v_val_2631_, sizeof(void*)*1);
lean_dec_ref(v_val_2631_);
if (v_kind_2632_ == 0)
{
lean_object* v___x_2633_; lean_object* v___x_2634_; 
lean_dec(v_a_2622_);
v___x_2633_ = lean_box(0);
lean_inc(v___y_2560_);
lean_inc_ref(v___y_2559_);
lean_inc(v___y_2558_);
lean_inc_ref(v___y_2557_);
lean_inc(v___y_2556_);
lean_inc_ref(v___y_2555_);
lean_inc(v_fs_2545_);
v___x_2634_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5(v___x_2614_, v___x_2616_, v___x_2550_, v_g_2551_, v___x_2552_, v_fs_2545_, v_pat_2553_, v___x_2633_, v___y_2555_, v___y_2556_, v___y_2557_, v___y_2558_, v___y_2559_, v___y_2560_);
v___y_2598_ = v___x_2634_;
goto v___jp_2597_;
}
else
{
lean_object* v___x_2635_; lean_object* v___x_2636_; 
v___x_2635_ = lean_box(0);
lean_inc_ref(v___y_2555_);
lean_inc_ref(v___x_2616_);
v___x_2636_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3(v___x_2616_, v_a_2622_, lean_box(0), v___x_2635_, v___y_2555_, v___y_2556_, v___y_2557_, v___y_2558_, v___y_2559_, v___y_2560_);
if (lean_obj_tag(v___x_2636_) == 0)
{
lean_object* v_a_2637_; lean_object* v___x_2638_; 
v_a_2637_ = lean_ctor_get(v___x_2636_, 0);
lean_inc(v_a_2637_);
lean_dec_ref(v___x_2636_);
lean_inc(v___y_2560_);
lean_inc_ref(v___y_2559_);
lean_inc(v___y_2558_);
lean_inc_ref(v___y_2557_);
lean_inc(v___y_2556_);
lean_inc_ref(v___y_2555_);
lean_inc(v_fs_2545_);
v___x_2638_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__5(v___x_2614_, v___x_2616_, v___x_2550_, v_g_2551_, v___x_2552_, v_fs_2545_, v_pat_2553_, v_a_2637_, v___y_2555_, v___y_2556_, v___y_2557_, v___y_2558_, v___y_2559_, v___y_2560_);
v___y_2598_ = v___x_2638_;
goto v___jp_2597_;
}
else
{
lean_object* v_a_2639_; lean_object* v___x_2641_; uint8_t v_isShared_2642_; uint8_t v_isSharedCheck_2646_; 
lean_dec_ref(v___x_2616_);
lean_dec(v___y_2560_);
lean_dec_ref(v___y_2559_);
lean_dec(v___y_2558_);
lean_dec_ref(v___y_2557_);
lean_dec(v___y_2556_);
lean_dec_ref(v___y_2555_);
lean_dec_ref(v_pat_2553_);
lean_dec_ref(v___x_2552_);
lean_dec(v_g_2551_);
lean_dec(v___x_2550_);
lean_dec_ref(v_cont_2549_);
lean_dec_ref(v_clears_2548_);
lean_dec(v_a_2547_);
lean_dec(v_fs_2545_);
v_a_2639_ = lean_ctor_get(v___x_2636_, 0);
v_isSharedCheck_2646_ = !lean_is_exclusive(v___x_2636_);
if (v_isSharedCheck_2646_ == 0)
{
v___x_2641_ = v___x_2636_;
v_isShared_2642_ = v_isSharedCheck_2646_;
goto v_resetjp_2640_;
}
else
{
lean_inc(v_a_2639_);
lean_dec(v___x_2636_);
v___x_2641_ = lean_box(0);
v_isShared_2642_ = v_isSharedCheck_2646_;
goto v_resetjp_2640_;
}
v_resetjp_2640_:
{
lean_object* v___x_2644_; 
if (v_isShared_2642_ == 0)
{
v___x_2644_ = v___x_2641_;
goto v_reusejp_2643_;
}
else
{
lean_object* v_reuseFailAlloc_2645_; 
v_reuseFailAlloc_2645_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2645_, 0, v_a_2639_);
v___x_2644_ = v_reuseFailAlloc_2645_;
goto v_reusejp_2643_;
}
v_reusejp_2643_:
{
return v___x_2644_;
}
}
}
}
}
case 5:
{
lean_object* v_val_2647_; lean_object* v_numParams_2648_; lean_object* v_ctors_2649_; lean_object* v___x_2650_; lean_object* v___x_2651_; lean_object* v___x_2652_; 
lean_dec(v_a_2622_);
lean_dec_ref(v___x_2552_);
lean_dec(v___x_2550_);
v_val_2647_ = lean_ctor_get(v_val_2630_, 0);
lean_inc_ref(v_val_2647_);
lean_dec_ref(v_val_2630_);
v_numParams_2648_ = lean_ctor_get(v_val_2647_, 1);
lean_inc(v_numParams_2648_);
v_ctors_2649_ = lean_ctor_get(v_val_2647_, 4);
lean_inc(v_ctors_2649_);
lean_dec_ref(v_val_2647_);
v___x_2650_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__6___closed__0));
v___x_2651_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_asAlts(v_pat_2553_);
lean_inc(v___y_2560_);
lean_inc_ref(v___y_2559_);
lean_inc(v___y_2558_);
lean_inc_ref(v___y_2557_);
v___x_2652_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors(v___y_2544_, v_numParams_2648_, v___x_2650_, v_ctors_2649_, v___x_2651_, v___y_2557_, v___y_2558_, v___y_2559_, v___y_2560_);
lean_dec(v_numParams_2648_);
if (lean_obj_tag(v___x_2652_) == 0)
{
lean_object* v_a_2653_; lean_object* v_fst_2654_; lean_object* v_snd_2655_; lean_object* v___x_2656_; uint8_t v___x_2657_; lean_object* v___x_2658_; 
v_a_2653_ = lean_ctor_get(v___x_2652_, 0);
lean_inc(v_a_2653_);
lean_dec_ref(v___x_2652_);
v_fst_2654_ = lean_ctor_get(v_a_2653_, 0);
lean_inc(v_fst_2654_);
v_snd_2655_ = lean_ctor_get(v_a_2653_, 1);
lean_inc(v_snd_2655_);
lean_dec(v_a_2653_);
v___x_2656_ = l_Lean_Expr_fvarId_x21(v___x_2616_);
lean_dec_ref(v___x_2616_);
v___x_2657_ = 1;
lean_inc(v___y_2560_);
lean_inc_ref(v___y_2559_);
lean_inc(v___y_2558_);
lean_inc_ref(v___y_2557_);
v___x_2658_ = l_Lean_MVarId_cases(v_g_2551_, v___x_2656_, v_fst_2654_, v___x_2657_, v___x_2612_, v___y_2557_, v___y_2558_, v___y_2559_, v___y_2560_);
if (lean_obj_tag(v___x_2658_) == 0)
{
lean_object* v_a_2659_; 
v_a_2659_ = lean_ctor_get(v___x_2658_, 0);
lean_inc(v_a_2659_);
lean_dec_ref(v___x_2658_);
v_fst_2582_ = v_snd_2655_;
v_snd_2583_ = v_a_2659_;
goto v___jp_2581_;
}
else
{
lean_object* v_a_2660_; lean_object* v___x_2662_; uint8_t v_isShared_2663_; uint8_t v_isSharedCheck_2667_; 
lean_dec(v_snd_2655_);
lean_dec(v___y_2560_);
lean_dec_ref(v___y_2559_);
lean_dec(v___y_2558_);
lean_dec_ref(v___y_2557_);
lean_dec(v___y_2556_);
lean_dec_ref(v___y_2555_);
lean_dec_ref(v_cont_2549_);
lean_dec_ref(v_clears_2548_);
lean_dec(v_a_2547_);
lean_dec(v_fs_2545_);
v_a_2660_ = lean_ctor_get(v___x_2658_, 0);
v_isSharedCheck_2667_ = !lean_is_exclusive(v___x_2658_);
if (v_isSharedCheck_2667_ == 0)
{
v___x_2662_ = v___x_2658_;
v_isShared_2663_ = v_isSharedCheck_2667_;
goto v_resetjp_2661_;
}
else
{
lean_inc(v_a_2660_);
lean_dec(v___x_2658_);
v___x_2662_ = lean_box(0);
v_isShared_2663_ = v_isSharedCheck_2667_;
goto v_resetjp_2661_;
}
v_resetjp_2661_:
{
lean_object* v___x_2665_; 
if (v_isShared_2663_ == 0)
{
v___x_2665_ = v___x_2662_;
goto v_reusejp_2664_;
}
else
{
lean_object* v_reuseFailAlloc_2666_; 
v_reuseFailAlloc_2666_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2666_, 0, v_a_2660_);
v___x_2665_ = v_reuseFailAlloc_2666_;
goto v_reusejp_2664_;
}
v_reusejp_2664_:
{
return v___x_2665_;
}
}
}
}
else
{
lean_object* v_a_2668_; lean_object* v___x_2670_; uint8_t v_isShared_2671_; uint8_t v_isSharedCheck_2675_; 
lean_dec_ref(v___x_2616_);
lean_dec(v___y_2560_);
lean_dec_ref(v___y_2559_);
lean_dec(v___y_2558_);
lean_dec_ref(v___y_2557_);
lean_dec(v___y_2556_);
lean_dec_ref(v___y_2555_);
lean_dec(v_g_2551_);
lean_dec_ref(v_cont_2549_);
lean_dec_ref(v_clears_2548_);
lean_dec(v_a_2547_);
lean_dec(v_fs_2545_);
v_a_2668_ = lean_ctor_get(v___x_2652_, 0);
v_isSharedCheck_2675_ = !lean_is_exclusive(v___x_2652_);
if (v_isSharedCheck_2675_ == 0)
{
v___x_2670_ = v___x_2652_;
v_isShared_2671_ = v_isSharedCheck_2675_;
goto v_resetjp_2669_;
}
else
{
lean_inc(v_a_2668_);
lean_dec(v___x_2652_);
v___x_2670_ = lean_box(0);
v_isShared_2671_ = v_isSharedCheck_2675_;
goto v_resetjp_2669_;
}
v_resetjp_2669_:
{
lean_object* v___x_2673_; 
if (v_isShared_2671_ == 0)
{
v___x_2673_ = v___x_2670_;
goto v_reusejp_2672_;
}
else
{
lean_object* v_reuseFailAlloc_2674_; 
v_reuseFailAlloc_2674_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2674_, 0, v_a_2668_);
v___x_2673_ = v_reuseFailAlloc_2674_;
goto v_reusejp_2672_;
}
v_reusejp_2672_:
{
return v___x_2673_;
}
}
}
}
default: 
{
lean_object* v___x_2676_; lean_object* v___x_2677_; 
lean_dec(v_val_2630_);
lean_dec_ref(v_pat_2553_);
lean_dec_ref(v___x_2552_);
lean_dec(v_g_2551_);
lean_dec(v___x_2550_);
lean_dec(v___y_2544_);
v___x_2676_ = lean_box(0);
lean_inc_ref(v___y_2555_);
v___x_2677_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3(v___x_2616_, v_a_2622_, lean_box(0), v___x_2676_, v___y_2555_, v___y_2556_, v___y_2557_, v___y_2558_, v___y_2559_, v___y_2560_);
v___y_2598_ = v___x_2677_;
goto v___jp_2597_;
}
}
}
}
else
{
lean_object* v___x_2678_; lean_object* v___x_2679_; 
lean_dec_ref(v___x_2623_);
lean_dec_ref(v_pat_2553_);
lean_dec_ref(v___x_2552_);
lean_dec(v_g_2551_);
lean_dec(v___x_2550_);
lean_dec(v___y_2544_);
v___x_2678_ = lean_box(0);
lean_inc_ref(v___y_2555_);
v___x_2679_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__3(v___x_2616_, v_a_2622_, lean_box(0), v___x_2678_, v___y_2555_, v___y_2556_, v___y_2557_, v___y_2558_, v___y_2559_, v___y_2560_);
v___y_2598_ = v___x_2679_;
goto v___jp_2597_;
}
}
else
{
lean_object* v_a_2680_; lean_object* v___x_2682_; uint8_t v_isShared_2683_; uint8_t v_isSharedCheck_2687_; 
lean_dec_ref(v___x_2616_);
lean_dec(v___y_2560_);
lean_dec_ref(v___y_2559_);
lean_dec(v___y_2558_);
lean_dec_ref(v___y_2557_);
lean_dec(v___y_2556_);
lean_dec_ref(v___y_2555_);
lean_dec_ref(v_pat_2553_);
lean_dec_ref(v___x_2552_);
lean_dec(v_g_2551_);
lean_dec(v___x_2550_);
lean_dec_ref(v_cont_2549_);
lean_dec_ref(v_clears_2548_);
lean_dec(v_a_2547_);
lean_dec(v_fs_2545_);
lean_dec(v___y_2544_);
v_a_2680_ = lean_ctor_get(v___x_2621_, 0);
v_isSharedCheck_2687_ = !lean_is_exclusive(v___x_2621_);
if (v_isSharedCheck_2687_ == 0)
{
v___x_2682_ = v___x_2621_;
v_isShared_2683_ = v_isSharedCheck_2687_;
goto v_resetjp_2681_;
}
else
{
lean_inc(v_a_2680_);
lean_dec(v___x_2621_);
v___x_2682_ = lean_box(0);
v_isShared_2683_ = v_isSharedCheck_2687_;
goto v_resetjp_2681_;
}
v_resetjp_2681_:
{
lean_object* v___x_2685_; 
if (v_isShared_2683_ == 0)
{
v___x_2685_ = v___x_2682_;
goto v_reusejp_2684_;
}
else
{
lean_object* v_reuseFailAlloc_2686_; 
v_reuseFailAlloc_2686_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2686_, 0, v_a_2680_);
v___x_2685_ = v_reuseFailAlloc_2686_;
goto v_reusejp_2684_;
}
v_reusejp_2684_:
{
return v___x_2685_;
}
}
}
}
else
{
lean_object* v_a_2688_; lean_object* v___x_2690_; uint8_t v_isShared_2691_; uint8_t v_isSharedCheck_2695_; 
lean_dec_ref(v___x_2616_);
lean_dec(v___y_2560_);
lean_dec_ref(v___y_2559_);
lean_dec(v___y_2558_);
lean_dec_ref(v___y_2557_);
lean_dec(v___y_2556_);
lean_dec_ref(v___y_2555_);
lean_dec_ref(v_pat_2553_);
lean_dec_ref(v___x_2552_);
lean_dec(v_g_2551_);
lean_dec(v___x_2550_);
lean_dec_ref(v_cont_2549_);
lean_dec_ref(v_clears_2548_);
lean_dec(v_a_2547_);
lean_dec(v_fs_2545_);
lean_dec(v___y_2544_);
v_a_2688_ = lean_ctor_get(v___x_2619_, 0);
v_isSharedCheck_2695_ = !lean_is_exclusive(v___x_2619_);
if (v_isSharedCheck_2695_ == 0)
{
v___x_2690_ = v___x_2619_;
v_isShared_2691_ = v_isSharedCheck_2695_;
goto v_resetjp_2689_;
}
else
{
lean_inc(v_a_2688_);
lean_dec(v___x_2619_);
v___x_2690_ = lean_box(0);
v_isShared_2691_ = v_isSharedCheck_2695_;
goto v_resetjp_2689_;
}
v_resetjp_2689_:
{
lean_object* v___x_2693_; 
if (v_isShared_2691_ == 0)
{
v___x_2693_ = v___x_2690_;
goto v_reusejp_2692_;
}
else
{
lean_object* v_reuseFailAlloc_2694_; 
v_reuseFailAlloc_2694_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2694_, 0, v_a_2688_);
v___x_2693_ = v_reuseFailAlloc_2694_;
goto v_reusejp_2692_;
}
v_reusejp_2692_:
{
return v___x_2693_;
}
}
}
}
else
{
lean_object* v_a_2696_; lean_object* v___x_2698_; uint8_t v_isShared_2699_; uint8_t v_isSharedCheck_2703_; 
lean_dec_ref(v___x_2616_);
lean_dec(v___y_2560_);
lean_dec_ref(v___y_2559_);
lean_dec(v___y_2558_);
lean_dec_ref(v___y_2557_);
lean_dec(v___y_2556_);
lean_dec_ref(v___y_2555_);
lean_dec_ref(v_pat_2553_);
lean_dec_ref(v___x_2552_);
lean_dec(v_g_2551_);
lean_dec(v___x_2550_);
lean_dec_ref(v_cont_2549_);
lean_dec_ref(v_clears_2548_);
lean_dec(v_a_2547_);
lean_dec(v_fs_2545_);
lean_dec(v___y_2544_);
v_a_2696_ = lean_ctor_get(v___x_2618_, 0);
v_isSharedCheck_2703_ = !lean_is_exclusive(v___x_2618_);
if (v_isSharedCheck_2703_ == 0)
{
v___x_2698_ = v___x_2618_;
v_isShared_2699_ = v_isSharedCheck_2703_;
goto v_resetjp_2697_;
}
else
{
lean_inc(v_a_2696_);
lean_dec(v___x_2618_);
v___x_2698_ = lean_box(0);
v_isShared_2699_ = v_isSharedCheck_2703_;
goto v_resetjp_2697_;
}
v_resetjp_2697_:
{
lean_object* v___x_2701_; 
if (v_isShared_2699_ == 0)
{
v___x_2701_ = v___x_2698_;
goto v_reusejp_2700_;
}
else
{
lean_object* v_reuseFailAlloc_2702_; 
v_reuseFailAlloc_2702_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2702_, 0, v_a_2696_);
v___x_2701_ = v_reuseFailAlloc_2702_;
goto v_reusejp_2700_;
}
v_reusejp_2700_:
{
return v___x_2701_;
}
}
}
}
else
{
lean_object* v_a_2704_; lean_object* v___x_2706_; uint8_t v_isShared_2707_; uint8_t v_isSharedCheck_2711_; 
lean_dec_ref(v___x_2616_);
lean_dec(v___y_2560_);
lean_dec_ref(v___y_2559_);
lean_dec(v___y_2558_);
lean_dec_ref(v___y_2557_);
lean_dec(v___y_2556_);
lean_dec_ref(v___y_2555_);
lean_dec_ref(v_pat_2553_);
lean_dec_ref(v___x_2552_);
lean_dec(v_g_2551_);
lean_dec(v___x_2550_);
lean_dec_ref(v_cont_2549_);
lean_dec_ref(v_clears_2548_);
lean_dec(v_a_2547_);
lean_dec(v_fs_2545_);
lean_dec(v___y_2544_);
v_a_2704_ = lean_ctor_get(v___x_2617_, 0);
v_isSharedCheck_2711_ = !lean_is_exclusive(v___x_2617_);
if (v_isSharedCheck_2711_ == 0)
{
v___x_2706_ = v___x_2617_;
v_isShared_2707_ = v_isSharedCheck_2711_;
goto v_resetjp_2705_;
}
else
{
lean_inc(v_a_2704_);
lean_dec(v___x_2617_);
v___x_2706_ = lean_box(0);
v_isShared_2707_ = v_isSharedCheck_2711_;
goto v_resetjp_2705_;
}
v_resetjp_2705_:
{
lean_object* v___x_2709_; 
if (v_isShared_2707_ == 0)
{
v___x_2709_ = v___x_2706_;
goto v_reusejp_2708_;
}
else
{
lean_object* v_reuseFailAlloc_2710_; 
v_reuseFailAlloc_2710_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2710_, 0, v_a_2704_);
v___x_2709_ = v_reuseFailAlloc_2710_;
goto v_reusejp_2708_;
}
v_reusejp_2708_:
{
return v___x_2709_;
}
}
}
}
else
{
lean_object* v_a_2712_; lean_object* v___x_2714_; uint8_t v_isShared_2715_; uint8_t v_isSharedCheck_2719_; 
lean_dec(v___y_2560_);
lean_dec_ref(v___y_2559_);
lean_dec(v___y_2558_);
lean_dec_ref(v___y_2557_);
lean_dec(v___y_2556_);
lean_dec_ref(v___y_2555_);
lean_dec_ref(v_pat_2553_);
lean_dec_ref(v___x_2552_);
lean_dec(v_g_2551_);
lean_dec(v___x_2550_);
lean_dec_ref(v_cont_2549_);
lean_dec_ref(v_clears_2548_);
lean_dec(v_a_2547_);
lean_dec_ref(v_asFVar_2546_);
lean_dec(v_fs_2545_);
lean_dec(v___y_2544_);
lean_dec_ref(v_e_2543_);
v_a_2712_ = lean_ctor_get(v___x_2615_, 0);
v_isSharedCheck_2719_ = !lean_is_exclusive(v___x_2615_);
if (v_isSharedCheck_2719_ == 0)
{
v___x_2714_ = v___x_2615_;
v_isShared_2715_ = v_isSharedCheck_2719_;
goto v_resetjp_2713_;
}
else
{
lean_inc(v_a_2712_);
lean_dec(v___x_2615_);
v___x_2714_ = lean_box(0);
v_isShared_2715_ = v_isSharedCheck_2719_;
goto v_resetjp_2713_;
}
v_resetjp_2713_:
{
lean_object* v___x_2717_; 
if (v_isShared_2715_ == 0)
{
v___x_2717_ = v___x_2714_;
goto v_reusejp_2716_;
}
else
{
lean_object* v_reuseFailAlloc_2718_; 
v_reuseFailAlloc_2718_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2718_, 0, v_a_2712_);
v___x_2717_ = v_reuseFailAlloc_2718_;
goto v_reusejp_2716_;
}
v_reusejp_2716_:
{
return v___x_2717_;
}
}
}
v___jp_2562_:
{
if (lean_obj_tag(v___y_2563_) == 0)
{
lean_object* v_a_2564_; lean_object* v___x_2566_; uint8_t v_isShared_2567_; uint8_t v_isSharedCheck_2572_; 
v_a_2564_ = lean_ctor_get(v___y_2563_, 0);
v_isSharedCheck_2572_ = !lean_is_exclusive(v___y_2563_);
if (v_isSharedCheck_2572_ == 0)
{
v___x_2566_ = v___y_2563_;
v_isShared_2567_ = v_isSharedCheck_2572_;
goto v_resetjp_2565_;
}
else
{
lean_inc(v_a_2564_);
lean_dec(v___y_2563_);
v___x_2566_ = lean_box(0);
v_isShared_2567_ = v_isSharedCheck_2572_;
goto v_resetjp_2565_;
}
v_resetjp_2565_:
{
lean_object* v_snd_2568_; lean_object* v___x_2570_; 
v_snd_2568_ = lean_ctor_get(v_a_2564_, 1);
lean_inc(v_snd_2568_);
lean_dec(v_a_2564_);
if (v_isShared_2567_ == 0)
{
lean_ctor_set(v___x_2566_, 0, v_snd_2568_);
v___x_2570_ = v___x_2566_;
goto v_reusejp_2569_;
}
else
{
lean_object* v_reuseFailAlloc_2571_; 
v_reuseFailAlloc_2571_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2571_, 0, v_snd_2568_);
v___x_2570_ = v_reuseFailAlloc_2571_;
goto v_reusejp_2569_;
}
v_reusejp_2569_:
{
return v___x_2570_;
}
}
}
else
{
lean_object* v_a_2573_; lean_object* v___x_2575_; uint8_t v_isShared_2576_; uint8_t v_isSharedCheck_2580_; 
v_a_2573_ = lean_ctor_get(v___y_2563_, 0);
v_isSharedCheck_2580_ = !lean_is_exclusive(v___y_2563_);
if (v_isSharedCheck_2580_ == 0)
{
v___x_2575_ = v___y_2563_;
v_isShared_2576_ = v_isSharedCheck_2580_;
goto v_resetjp_2574_;
}
else
{
lean_inc(v_a_2573_);
lean_dec(v___y_2563_);
v___x_2575_ = lean_box(0);
v_isShared_2576_ = v_isSharedCheck_2580_;
goto v_resetjp_2574_;
}
v_resetjp_2574_:
{
lean_object* v___x_2578_; 
if (v_isShared_2576_ == 0)
{
v___x_2578_ = v___x_2575_;
goto v_reusejp_2577_;
}
else
{
lean_object* v_reuseFailAlloc_2579_; 
v_reuseFailAlloc_2579_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2579_, 0, v_a_2573_);
v___x_2578_ = v_reuseFailAlloc_2579_;
goto v_reusejp_2577_;
}
v_reusejp_2577_:
{
return v___x_2578_;
}
}
}
}
v___jp_2581_:
{
lean_object* v___x_2584_; lean_object* v___x_2585_; uint8_t v___x_2586_; 
v___x_2584_ = lean_unsigned_to_nat(0u);
v___x_2585_ = lean_array_get_size(v_snd_2583_);
v___x_2586_ = lean_nat_dec_lt(v___x_2584_, v___x_2585_);
if (v___x_2586_ == 0)
{
lean_object* v___x_2587_; 
lean_dec_ref(v_snd_2583_);
lean_dec(v_fst_2582_);
lean_dec(v___y_2560_);
lean_dec_ref(v___y_2559_);
lean_dec(v___y_2558_);
lean_dec_ref(v___y_2557_);
lean_dec(v___y_2556_);
lean_dec_ref(v___y_2555_);
lean_dec_ref(v_cont_2549_);
lean_dec_ref(v_clears_2548_);
lean_dec(v_fs_2545_);
v___x_2587_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2587_, 0, v_a_2547_);
return v___x_2587_;
}
else
{
lean_object* v___x_2588_; uint8_t v___x_2589_; 
lean_inc(v_a_2547_);
v___x_2588_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_2588_, 0, v_fst_2582_);
lean_ctor_set(v___x_2588_, 1, v_a_2547_);
v___x_2589_ = lean_nat_dec_le(v___x_2585_, v___x_2585_);
if (v___x_2589_ == 0)
{
if (v___x_2586_ == 0)
{
lean_object* v___x_2590_; 
lean_dec_ref(v___x_2588_);
lean_dec_ref(v_snd_2583_);
lean_dec(v___y_2560_);
lean_dec_ref(v___y_2559_);
lean_dec(v___y_2558_);
lean_dec_ref(v___y_2557_);
lean_dec(v___y_2556_);
lean_dec_ref(v___y_2555_);
lean_dec_ref(v_cont_2549_);
lean_dec_ref(v_clears_2548_);
lean_dec(v_fs_2545_);
v___x_2590_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2590_, 0, v_a_2547_);
return v___x_2590_;
}
else
{
size_t v___x_2591_; size_t v___x_2592_; lean_object* v___x_2593_; 
lean_dec(v_a_2547_);
v___x_2591_ = ((size_t)0ULL);
v___x_2592_ = lean_usize_of_nat(v___x_2585_);
v___x_2593_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__3___redArg(v_fs_2545_, v_clears_2548_, v_cont_2549_, v_snd_2583_, v___x_2591_, v___x_2592_, v___x_2588_, v___y_2555_, v___y_2556_, v___y_2557_, v___y_2558_, v___y_2559_, v___y_2560_);
lean_dec_ref(v_snd_2583_);
v___y_2563_ = v___x_2593_;
goto v___jp_2562_;
}
}
else
{
size_t v___x_2594_; size_t v___x_2595_; lean_object* v___x_2596_; 
lean_dec(v_a_2547_);
v___x_2594_ = ((size_t)0ULL);
v___x_2595_ = lean_usize_of_nat(v___x_2585_);
v___x_2596_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__3___redArg(v_fs_2545_, v_clears_2548_, v_cont_2549_, v_snd_2583_, v___x_2594_, v___x_2595_, v___x_2588_, v___y_2555_, v___y_2556_, v___y_2557_, v___y_2558_, v___y_2559_, v___y_2560_);
lean_dec_ref(v_snd_2583_);
v___y_2563_ = v___x_2596_;
goto v___jp_2562_;
}
}
}
v___jp_2597_:
{
if (lean_obj_tag(v___y_2598_) == 0)
{
lean_object* v_a_2599_; lean_object* v_fst_2600_; lean_object* v_snd_2601_; 
v_a_2599_ = lean_ctor_get(v___y_2598_, 0);
lean_inc(v_a_2599_);
lean_dec_ref(v___y_2598_);
v_fst_2600_ = lean_ctor_get(v_a_2599_, 0);
lean_inc(v_fst_2600_);
v_snd_2601_ = lean_ctor_get(v_a_2599_, 1);
lean_inc(v_snd_2601_);
lean_dec(v_a_2599_);
v_fst_2582_ = v_fst_2600_;
v_snd_2583_ = v_snd_2601_;
goto v___jp_2581_;
}
else
{
lean_object* v_a_2602_; lean_object* v___x_2604_; uint8_t v_isShared_2605_; uint8_t v_isSharedCheck_2609_; 
lean_dec(v___y_2560_);
lean_dec_ref(v___y_2559_);
lean_dec(v___y_2558_);
lean_dec_ref(v___y_2557_);
lean_dec(v___y_2556_);
lean_dec_ref(v___y_2555_);
lean_dec_ref(v_cont_2549_);
lean_dec_ref(v_clears_2548_);
lean_dec(v_a_2547_);
lean_dec(v_fs_2545_);
v_a_2602_ = lean_ctor_get(v___y_2598_, 0);
v_isSharedCheck_2609_ = !lean_is_exclusive(v___y_2598_);
if (v_isSharedCheck_2609_ == 0)
{
v___x_2604_ = v___y_2598_;
v_isShared_2605_ = v_isSharedCheck_2609_;
goto v_resetjp_2603_;
}
else
{
lean_inc(v_a_2602_);
lean_dec(v___y_2598_);
v___x_2604_ = lean_box(0);
v_isShared_2605_ = v_isSharedCheck_2609_;
goto v_resetjp_2603_;
}
v_resetjp_2603_:
{
lean_object* v___x_2607_; 
if (v_isShared_2605_ == 0)
{
v___x_2607_ = v___x_2604_;
goto v_reusejp_2606_;
}
else
{
lean_object* v_reuseFailAlloc_2608_; 
v_reuseFailAlloc_2608_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2608_, 0, v_a_2602_);
v___x_2607_ = v_reuseFailAlloc_2608_;
goto v_reusejp_2606_;
}
v_reusejp_2606_:
{
return v___x_2607_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__6___boxed(lean_object** _args){
lean_object* v_e_2720_ = _args[0];
lean_object* v___y_2721_ = _args[1];
lean_object* v_fs_2722_ = _args[2];
lean_object* v_asFVar_2723_ = _args[3];
lean_object* v_a_2724_ = _args[4];
lean_object* v_clears_2725_ = _args[5];
lean_object* v_cont_2726_ = _args[6];
lean_object* v___x_2727_ = _args[7];
lean_object* v_g_2728_ = _args[8];
lean_object* v___x_2729_ = _args[9];
lean_object* v_pat_2730_ = _args[10];
lean_object* v_x_2731_ = _args[11];
lean_object* v___y_2732_ = _args[12];
lean_object* v___y_2733_ = _args[13];
lean_object* v___y_2734_ = _args[14];
lean_object* v___y_2735_ = _args[15];
lean_object* v___y_2736_ = _args[16];
lean_object* v___y_2737_ = _args[17];
lean_object* v___y_2738_ = _args[18];
_start:
{
lean_object* v_res_2739_; 
v_res_2739_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__6(v_e_2720_, v___y_2721_, v_fs_2722_, v_asFVar_2723_, v_a_2724_, v_clears_2725_, v_cont_2726_, v___x_2727_, v_g_2728_, v___x_2729_, v_pat_2730_, v_x_2731_, v___y_2732_, v___y_2733_, v___y_2734_, v___y_2735_, v___y_2736_, v___y_2737_);
lean_dec_ref(v_x_2731_);
return v_res_2739_;
}
}
static lean_object* _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__2(void){
_start:
{
lean_object* v___x_2743_; lean_object* v___x_2744_; 
v___x_2743_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__1));
v___x_2744_ = l_Lean_MessageData_ofFormat(v___x_2743_);
return v___x_2744_;
}
}
static lean_object* _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__3(void){
_start:
{
lean_object* v___x_2745_; lean_object* v___x_2746_; 
v___x_2745_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__2, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__2_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__2);
v___x_2746_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_2746_, 0, v___x_2745_);
return v___x_2746_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7(lean_object* v_pat_2747_, lean_object* v___f_2748_, lean_object* v_e_2749_, lean_object* v_fs_2750_, lean_object* v_asFVar_2751_, lean_object* v_g_2752_, lean_object* v_cont_2753_, lean_object* v_clears_2754_, lean_object* v_a_2755_, lean_object* v___f_2756_, lean_object* v___f_2757_, lean_object* v___y_2758_, lean_object* v___y_2759_, lean_object* v___y_2760_, lean_object* v___y_2761_, lean_object* v___y_2762_, lean_object* v___y_2763_){
_start:
{
switch(lean_obj_tag(v_pat_2747_))
{
case 1:
{
lean_object* v_a_2765_; 
lean_dec_ref(v___f_2757_);
lean_dec_ref(v___f_2756_);
v_a_2765_ = lean_ctor_get(v_pat_2747_, 1);
lean_inc(v_a_2765_);
if (lean_obj_tag(v_a_2765_) == 1)
{
lean_object* v_pre_2766_; 
v_pre_2766_ = lean_ctor_get(v_a_2765_, 0);
if (lean_obj_tag(v_pre_2766_) == 0)
{
lean_object* v_ref_2767_; lean_object* v_str_2768_; lean_object* v___x_2769_; uint8_t v___x_2770_; 
v_ref_2767_ = lean_ctor_get(v_pat_2747_, 0);
lean_inc(v_ref_2767_);
lean_dec_ref(v_pat_2747_);
v_str_2768_ = lean_ctor_get(v_a_2765_, 1);
v___x_2769_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_name_x3f___closed__0));
v___x_2770_ = lean_string_dec_eq(v_str_2768_, v___x_2769_);
if (v___x_2770_ == 0)
{
lean_object* v___x_2771_; 
lean_dec(v_a_2755_);
lean_dec_ref(v_clears_2754_);
lean_dec_ref(v_cont_2753_);
lean_dec(v_g_2752_);
lean_dec_ref(v_asFVar_2751_);
lean_dec(v_fs_2750_);
lean_dec_ref(v_e_2749_);
v___x_2771_ = lean_apply_9(v___f_2748_, v_ref_2767_, v_a_2765_, v___y_2758_, v___y_2759_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_, lean_box(0));
return v___x_2771_;
}
else
{
uint8_t v___x_2772_; lean_object* v___x_2773_; 
lean_inc(v_pre_2766_);
lean_dec_ref(v_a_2765_);
lean_dec_ref(v___f_2748_);
v___x_2772_ = 0;
lean_inc(v___y_2763_);
lean_inc_ref(v___y_2762_);
lean_inc(v___y_2761_);
lean_inc_ref(v___y_2760_);
lean_inc(v___y_2759_);
lean_inc_ref(v___y_2758_);
v___x_2773_ = l_Lean_Elab_Term_synthesizeSyntheticMVarsNoPostponing(v___x_2772_, v___y_2758_, v___y_2759_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_);
if (lean_obj_tag(v___x_2773_) == 0)
{
lean_object* v___x_2774_; lean_object* v___x_2775_; lean_object* v___x_2776_; lean_object* v___x_2777_; 
lean_dec_ref(v___x_2773_);
v___x_2774_ = lean_box(0);
lean_inc_ref(v_e_2749_);
v___x_2775_ = l_Lean_Expr_mdata___override(v___x_2774_, v_e_2749_);
v___x_2776_ = lean_box(0);
lean_inc(v___y_2763_);
lean_inc_ref(v___y_2762_);
lean_inc(v___y_2761_);
lean_inc_ref(v___y_2760_);
lean_inc(v___y_2759_);
lean_inc_ref(v___y_2758_);
v___x_2777_ = l_Lean_Elab_Term_addTermInfo_x27(v_ref_2767_, v___x_2775_, v___x_2776_, v___x_2776_, v_pre_2766_, v___x_2772_, v___x_2772_, v___y_2758_, v___y_2759_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_);
if (lean_obj_tag(v___x_2777_) == 0)
{
lean_object* v___x_2778_; lean_object* v___x_2779_; 
lean_dec_ref(v___x_2777_);
lean_inc(v_fs_2750_);
v___x_2778_ = l_Lean_Meta_FVarSubst_apply(v_fs_2750_, v_e_2749_);
lean_dec_ref(v_e_2749_);
lean_inc(v___y_2763_);
lean_inc_ref(v___y_2762_);
lean_inc(v___y_2761_);
lean_inc_ref(v___y_2760_);
v___x_2779_ = lean_apply_6(v_asFVar_2751_, v___x_2778_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_, lean_box(0));
if (lean_obj_tag(v___x_2779_) == 0)
{
lean_object* v_a_2780_; lean_object* v___x_2781_; 
v_a_2780_ = lean_ctor_get(v___x_2779_, 0);
lean_inc(v_a_2780_);
lean_dec_ref(v___x_2779_);
lean_inc(v___y_2763_);
lean_inc_ref(v___y_2762_);
lean_inc(v___y_2761_);
lean_inc_ref(v___y_2760_);
v___x_2781_ = l_Lean_Meta_substEq(v_g_2752_, v_a_2780_, v_fs_2750_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_);
if (lean_obj_tag(v___x_2781_) == 0)
{
lean_object* v_a_2782_; lean_object* v_fst_2783_; lean_object* v_snd_2784_; lean_object* v___x_2785_; 
v_a_2782_ = lean_ctor_get(v___x_2781_, 0);
lean_inc(v_a_2782_);
lean_dec_ref(v___x_2781_);
v_fst_2783_ = lean_ctor_get(v_a_2782_, 0);
lean_inc(v_fst_2783_);
v_snd_2784_ = lean_ctor_get(v_a_2782_, 1);
lean_inc(v_snd_2784_);
lean_dec(v_a_2782_);
v___x_2785_ = lean_apply_11(v_cont_2753_, v_snd_2784_, v_fst_2783_, v_clears_2754_, v_a_2755_, v___y_2758_, v___y_2759_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_, lean_box(0));
return v___x_2785_;
}
else
{
lean_object* v_a_2786_; lean_object* v___x_2788_; uint8_t v_isShared_2789_; uint8_t v_isSharedCheck_2793_; 
lean_dec(v___y_2763_);
lean_dec_ref(v___y_2762_);
lean_dec(v___y_2761_);
lean_dec_ref(v___y_2760_);
lean_dec(v___y_2759_);
lean_dec_ref(v___y_2758_);
lean_dec(v_a_2755_);
lean_dec_ref(v_clears_2754_);
lean_dec_ref(v_cont_2753_);
v_a_2786_ = lean_ctor_get(v___x_2781_, 0);
v_isSharedCheck_2793_ = !lean_is_exclusive(v___x_2781_);
if (v_isSharedCheck_2793_ == 0)
{
v___x_2788_ = v___x_2781_;
v_isShared_2789_ = v_isSharedCheck_2793_;
goto v_resetjp_2787_;
}
else
{
lean_inc(v_a_2786_);
lean_dec(v___x_2781_);
v___x_2788_ = lean_box(0);
v_isShared_2789_ = v_isSharedCheck_2793_;
goto v_resetjp_2787_;
}
v_resetjp_2787_:
{
lean_object* v___x_2791_; 
if (v_isShared_2789_ == 0)
{
v___x_2791_ = v___x_2788_;
goto v_reusejp_2790_;
}
else
{
lean_object* v_reuseFailAlloc_2792_; 
v_reuseFailAlloc_2792_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2792_, 0, v_a_2786_);
v___x_2791_ = v_reuseFailAlloc_2792_;
goto v_reusejp_2790_;
}
v_reusejp_2790_:
{
return v___x_2791_;
}
}
}
}
else
{
lean_object* v_a_2794_; lean_object* v___x_2796_; uint8_t v_isShared_2797_; uint8_t v_isSharedCheck_2801_; 
lean_dec(v___y_2763_);
lean_dec_ref(v___y_2762_);
lean_dec(v___y_2761_);
lean_dec_ref(v___y_2760_);
lean_dec(v___y_2759_);
lean_dec_ref(v___y_2758_);
lean_dec(v_a_2755_);
lean_dec_ref(v_clears_2754_);
lean_dec_ref(v_cont_2753_);
lean_dec(v_g_2752_);
lean_dec(v_fs_2750_);
v_a_2794_ = lean_ctor_get(v___x_2779_, 0);
v_isSharedCheck_2801_ = !lean_is_exclusive(v___x_2779_);
if (v_isSharedCheck_2801_ == 0)
{
v___x_2796_ = v___x_2779_;
v_isShared_2797_ = v_isSharedCheck_2801_;
goto v_resetjp_2795_;
}
else
{
lean_inc(v_a_2794_);
lean_dec(v___x_2779_);
v___x_2796_ = lean_box(0);
v_isShared_2797_ = v_isSharedCheck_2801_;
goto v_resetjp_2795_;
}
v_resetjp_2795_:
{
lean_object* v___x_2799_; 
if (v_isShared_2797_ == 0)
{
v___x_2799_ = v___x_2796_;
goto v_reusejp_2798_;
}
else
{
lean_object* v_reuseFailAlloc_2800_; 
v_reuseFailAlloc_2800_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2800_, 0, v_a_2794_);
v___x_2799_ = v_reuseFailAlloc_2800_;
goto v_reusejp_2798_;
}
v_reusejp_2798_:
{
return v___x_2799_;
}
}
}
}
else
{
lean_object* v_a_2802_; lean_object* v___x_2804_; uint8_t v_isShared_2805_; uint8_t v_isSharedCheck_2809_; 
lean_dec(v___y_2763_);
lean_dec_ref(v___y_2762_);
lean_dec(v___y_2761_);
lean_dec_ref(v___y_2760_);
lean_dec(v___y_2759_);
lean_dec_ref(v___y_2758_);
lean_dec(v_a_2755_);
lean_dec_ref(v_clears_2754_);
lean_dec_ref(v_cont_2753_);
lean_dec(v_g_2752_);
lean_dec_ref(v_asFVar_2751_);
lean_dec(v_fs_2750_);
lean_dec_ref(v_e_2749_);
v_a_2802_ = lean_ctor_get(v___x_2777_, 0);
v_isSharedCheck_2809_ = !lean_is_exclusive(v___x_2777_);
if (v_isSharedCheck_2809_ == 0)
{
v___x_2804_ = v___x_2777_;
v_isShared_2805_ = v_isSharedCheck_2809_;
goto v_resetjp_2803_;
}
else
{
lean_inc(v_a_2802_);
lean_dec(v___x_2777_);
v___x_2804_ = lean_box(0);
v_isShared_2805_ = v_isSharedCheck_2809_;
goto v_resetjp_2803_;
}
v_resetjp_2803_:
{
lean_object* v___x_2807_; 
if (v_isShared_2805_ == 0)
{
v___x_2807_ = v___x_2804_;
goto v_reusejp_2806_;
}
else
{
lean_object* v_reuseFailAlloc_2808_; 
v_reuseFailAlloc_2808_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2808_, 0, v_a_2802_);
v___x_2807_ = v_reuseFailAlloc_2808_;
goto v_reusejp_2806_;
}
v_reusejp_2806_:
{
return v___x_2807_;
}
}
}
}
else
{
lean_object* v_a_2810_; lean_object* v___x_2812_; uint8_t v_isShared_2813_; uint8_t v_isSharedCheck_2817_; 
lean_dec(v_ref_2767_);
lean_dec(v___y_2763_);
lean_dec_ref(v___y_2762_);
lean_dec(v___y_2761_);
lean_dec_ref(v___y_2760_);
lean_dec(v___y_2759_);
lean_dec_ref(v___y_2758_);
lean_dec(v_a_2755_);
lean_dec_ref(v_clears_2754_);
lean_dec_ref(v_cont_2753_);
lean_dec(v_g_2752_);
lean_dec_ref(v_asFVar_2751_);
lean_dec(v_fs_2750_);
lean_dec_ref(v_e_2749_);
v_a_2810_ = lean_ctor_get(v___x_2773_, 0);
v_isSharedCheck_2817_ = !lean_is_exclusive(v___x_2773_);
if (v_isSharedCheck_2817_ == 0)
{
v___x_2812_ = v___x_2773_;
v_isShared_2813_ = v_isSharedCheck_2817_;
goto v_resetjp_2811_;
}
else
{
lean_inc(v_a_2810_);
lean_dec(v___x_2773_);
v___x_2812_ = lean_box(0);
v_isShared_2813_ = v_isSharedCheck_2817_;
goto v_resetjp_2811_;
}
v_resetjp_2811_:
{
lean_object* v___x_2815_; 
if (v_isShared_2813_ == 0)
{
v___x_2815_ = v___x_2812_;
goto v_reusejp_2814_;
}
else
{
lean_object* v_reuseFailAlloc_2816_; 
v_reuseFailAlloc_2816_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2816_, 0, v_a_2810_);
v___x_2815_ = v_reuseFailAlloc_2816_;
goto v_reusejp_2814_;
}
v_reusejp_2814_:
{
return v___x_2815_;
}
}
}
}
}
else
{
lean_object* v_ref_2818_; lean_object* v___x_2819_; 
lean_dec(v_a_2755_);
lean_dec_ref(v_clears_2754_);
lean_dec_ref(v_cont_2753_);
lean_dec(v_g_2752_);
lean_dec_ref(v_asFVar_2751_);
lean_dec(v_fs_2750_);
lean_dec_ref(v_e_2749_);
v_ref_2818_ = lean_ctor_get(v_pat_2747_, 0);
lean_inc(v_ref_2818_);
lean_dec_ref(v_pat_2747_);
v___x_2819_ = lean_apply_9(v___f_2748_, v_ref_2818_, v_a_2765_, v___y_2758_, v___y_2759_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_, lean_box(0));
return v___x_2819_;
}
}
else
{
lean_object* v_ref_2820_; lean_object* v___x_2821_; 
lean_dec(v_a_2755_);
lean_dec_ref(v_clears_2754_);
lean_dec_ref(v_cont_2753_);
lean_dec(v_g_2752_);
lean_dec_ref(v_asFVar_2751_);
lean_dec(v_fs_2750_);
lean_dec_ref(v_e_2749_);
v_ref_2820_ = lean_ctor_get(v_pat_2747_, 0);
lean_inc(v_ref_2820_);
lean_dec_ref(v_pat_2747_);
v___x_2821_ = lean_apply_9(v___f_2748_, v_ref_2820_, v_a_2765_, v___y_2758_, v___y_2759_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_, lean_box(0));
return v___x_2821_;
}
}
case 2:
{
lean_object* v_ref_2822_; lean_object* v___x_2823_; lean_object* v___x_2824_; lean_object* v___x_2825_; lean_object* v___x_2826_; uint8_t v___x_2827_; lean_object* v___x_2828_; 
lean_dec_ref(v___f_2757_);
lean_dec_ref(v___f_2756_);
lean_dec_ref(v_asFVar_2751_);
lean_dec_ref(v___f_2748_);
v_ref_2822_ = lean_ctor_get(v_pat_2747_, 0);
lean_inc(v_ref_2822_);
lean_dec_ref(v_pat_2747_);
v___x_2823_ = lean_box(0);
lean_inc_ref(v_e_2749_);
v___x_2824_ = l_Lean_Expr_mdata___override(v___x_2823_, v_e_2749_);
v___x_2825_ = lean_box(0);
v___x_2826_ = lean_box(0);
v___x_2827_ = 0;
lean_inc(v___y_2763_);
lean_inc_ref(v___y_2762_);
lean_inc(v___y_2761_);
lean_inc_ref(v___y_2760_);
lean_inc(v___y_2759_);
lean_inc_ref(v___y_2758_);
v___x_2828_ = l_Lean_Elab_Term_addTermInfo_x27(v_ref_2822_, v___x_2824_, v___x_2825_, v___x_2825_, v___x_2826_, v___x_2827_, v___x_2827_, v___y_2758_, v___y_2759_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_);
if (lean_obj_tag(v___x_2828_) == 0)
{
lean_dec_ref(v___x_2828_);
if (lean_obj_tag(v_e_2749_) == 1)
{
lean_object* v_fvarId_2829_; lean_object* v___x_2830_; lean_object* v___x_2831_; 
v_fvarId_2829_ = lean_ctor_get(v_e_2749_, 0);
lean_inc(v_fvarId_2829_);
lean_dec_ref(v_e_2749_);
v___x_2830_ = lean_array_push(v_clears_2754_, v_fvarId_2829_);
v___x_2831_ = lean_apply_11(v_cont_2753_, v_g_2752_, v_fs_2750_, v___x_2830_, v_a_2755_, v___y_2758_, v___y_2759_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_, lean_box(0));
return v___x_2831_;
}
else
{
lean_object* v___x_2832_; 
lean_dec_ref(v_e_2749_);
v___x_2832_ = lean_apply_11(v_cont_2753_, v_g_2752_, v_fs_2750_, v_clears_2754_, v_a_2755_, v___y_2758_, v___y_2759_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_, lean_box(0));
return v___x_2832_;
}
}
else
{
lean_object* v_a_2833_; lean_object* v___x_2835_; uint8_t v_isShared_2836_; uint8_t v_isSharedCheck_2840_; 
lean_dec(v___y_2763_);
lean_dec_ref(v___y_2762_);
lean_dec(v___y_2761_);
lean_dec_ref(v___y_2760_);
lean_dec(v___y_2759_);
lean_dec_ref(v___y_2758_);
lean_dec(v_a_2755_);
lean_dec_ref(v_clears_2754_);
lean_dec_ref(v_cont_2753_);
lean_dec(v_g_2752_);
lean_dec(v_fs_2750_);
lean_dec_ref(v_e_2749_);
v_a_2833_ = lean_ctor_get(v___x_2828_, 0);
v_isSharedCheck_2840_ = !lean_is_exclusive(v___x_2828_);
if (v_isSharedCheck_2840_ == 0)
{
v___x_2835_ = v___x_2828_;
v_isShared_2836_ = v_isSharedCheck_2840_;
goto v_resetjp_2834_;
}
else
{
lean_inc(v_a_2833_);
lean_dec(v___x_2828_);
v___x_2835_ = lean_box(0);
v_isShared_2836_ = v_isSharedCheck_2840_;
goto v_resetjp_2834_;
}
v_resetjp_2834_:
{
lean_object* v___x_2838_; 
if (v_isShared_2836_ == 0)
{
v___x_2838_ = v___x_2835_;
goto v_reusejp_2837_;
}
else
{
lean_object* v_reuseFailAlloc_2839_; 
v_reuseFailAlloc_2839_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2839_, 0, v_a_2833_);
v___x_2838_ = v_reuseFailAlloc_2839_;
goto v_reusejp_2837_;
}
v_reusejp_2837_:
{
return v___x_2838_;
}
}
}
}
case 4:
{
lean_object* v_ref_2841_; lean_object* v_a_2842_; lean_object* v_a_2843_; lean_object* v___x_2844_; lean_object* v___x_2845_; lean_object* v___x_2846_; lean_object* v___x_2847_; uint8_t v___x_2848_; lean_object* v___x_2849_; 
lean_dec_ref(v___f_2757_);
lean_dec_ref(v___f_2756_);
lean_dec_ref(v_asFVar_2751_);
lean_dec_ref(v___f_2748_);
v_ref_2841_ = lean_ctor_get(v_pat_2747_, 0);
lean_inc(v_ref_2841_);
v_a_2842_ = lean_ctor_get(v_pat_2747_, 1);
lean_inc_ref(v_a_2842_);
v_a_2843_ = lean_ctor_get(v_pat_2747_, 2);
lean_inc(v_a_2843_);
lean_dec_ref(v_pat_2747_);
v___x_2844_ = lean_box(0);
lean_inc_ref(v_e_2749_);
v___x_2845_ = l_Lean_Expr_mdata___override(v___x_2844_, v_e_2749_);
v___x_2846_ = lean_box(0);
v___x_2847_ = lean_box(0);
v___x_2848_ = 0;
lean_inc(v___y_2763_);
lean_inc_ref(v___y_2762_);
lean_inc(v___y_2761_);
lean_inc_ref(v___y_2760_);
lean_inc(v___y_2759_);
lean_inc_ref(v___y_2758_);
v___x_2849_ = l_Lean_Elab_Term_addTermInfo_x27(v_ref_2841_, v___x_2845_, v___x_2846_, v___x_2846_, v___x_2847_, v___x_2848_, v___x_2848_, v___y_2758_, v___y_2759_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_);
if (lean_obj_tag(v___x_2849_) == 0)
{
lean_object* v___x_2850_; 
lean_dec_ref(v___x_2849_);
lean_inc(v___y_2763_);
lean_inc_ref(v___y_2762_);
lean_inc(v___y_2761_);
lean_inc_ref(v___y_2760_);
lean_inc(v___y_2759_);
lean_inc_ref(v___y_2758_);
v___x_2850_ = l_Lean_Elab_Term_elabType(v_a_2843_, v___y_2758_, v___y_2759_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_);
if (lean_obj_tag(v___x_2850_) == 0)
{
lean_object* v_a_2851_; lean_object* v___x_2852_; lean_object* v___y_2854_; lean_object* v___y_2855_; lean_object* v___y_2856_; lean_object* v___y_2857_; lean_object* v___y_2858_; lean_object* v___y_2859_; lean_object* v___x_2873_; 
v_a_2851_ = lean_ctor_get(v___x_2850_, 0);
lean_inc(v_a_2851_);
lean_dec_ref(v___x_2850_);
lean_inc(v_fs_2750_);
v___x_2852_ = l_Lean_Meta_FVarSubst_apply(v_fs_2750_, v_e_2749_);
lean_dec_ref(v_e_2749_);
lean_inc(v___y_2763_);
lean_inc_ref(v___y_2762_);
lean_inc(v___y_2761_);
lean_inc_ref(v___y_2760_);
lean_inc_ref(v___x_2852_);
v___x_2873_ = lean_infer_type(v___x_2852_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_);
if (lean_obj_tag(v___x_2873_) == 0)
{
lean_object* v_a_2874_; lean_object* v___x_2875_; 
v_a_2874_ = lean_ctor_get(v___x_2873_, 0);
lean_inc(v_a_2874_);
lean_dec_ref(v___x_2873_);
lean_inc(v___y_2763_);
lean_inc_ref(v___y_2762_);
lean_inc(v___y_2761_);
lean_inc_ref(v___y_2760_);
lean_inc(v_a_2851_);
lean_inc(v_a_2874_);
v___x_2875_ = l_Lean_Meta_isExprDefEq(v_a_2874_, v_a_2851_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_);
if (lean_obj_tag(v___x_2875_) == 0)
{
lean_object* v_a_2876_; uint8_t v___x_2877_; 
v_a_2876_ = lean_ctor_get(v___x_2875_, 0);
lean_inc(v_a_2876_);
lean_dec_ref(v___x_2875_);
v___x_2877_ = lean_unbox(v_a_2876_);
lean_dec(v_a_2876_);
if (v___x_2877_ == 0)
{
lean_object* v___x_2878_; lean_object* v___x_2879_; 
v___x_2878_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__3, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__3_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___closed__3);
lean_inc(v___y_2763_);
lean_inc_ref(v___y_2762_);
lean_inc(v___y_2761_);
lean_inc_ref(v___y_2760_);
lean_inc_ref(v___x_2852_);
lean_inc(v_a_2851_);
v___x_2879_ = l_Lean_Elab_Term_throwTypeMismatchError___redArg(v___x_2878_, v_a_2851_, v_a_2874_, v___x_2852_, v___x_2846_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_);
if (lean_obj_tag(v___x_2879_) == 0)
{
lean_dec_ref(v___x_2879_);
v___y_2854_ = v___y_2758_;
v___y_2855_ = v___y_2759_;
v___y_2856_ = v___y_2760_;
v___y_2857_ = v___y_2761_;
v___y_2858_ = v___y_2762_;
v___y_2859_ = v___y_2763_;
goto v___jp_2853_;
}
else
{
lean_object* v_a_2880_; lean_object* v___x_2882_; uint8_t v_isShared_2883_; uint8_t v_isSharedCheck_2887_; 
lean_dec_ref(v___x_2852_);
lean_dec(v_a_2851_);
lean_dec_ref(v_a_2842_);
lean_dec(v___y_2763_);
lean_dec_ref(v___y_2762_);
lean_dec(v___y_2761_);
lean_dec_ref(v___y_2760_);
lean_dec(v___y_2759_);
lean_dec_ref(v___y_2758_);
lean_dec(v_a_2755_);
lean_dec_ref(v_clears_2754_);
lean_dec_ref(v_cont_2753_);
lean_dec(v_g_2752_);
lean_dec(v_fs_2750_);
v_a_2880_ = lean_ctor_get(v___x_2879_, 0);
v_isSharedCheck_2887_ = !lean_is_exclusive(v___x_2879_);
if (v_isSharedCheck_2887_ == 0)
{
v___x_2882_ = v___x_2879_;
v_isShared_2883_ = v_isSharedCheck_2887_;
goto v_resetjp_2881_;
}
else
{
lean_inc(v_a_2880_);
lean_dec(v___x_2879_);
v___x_2882_ = lean_box(0);
v_isShared_2883_ = v_isSharedCheck_2887_;
goto v_resetjp_2881_;
}
v_resetjp_2881_:
{
lean_object* v___x_2885_; 
if (v_isShared_2883_ == 0)
{
v___x_2885_ = v___x_2882_;
goto v_reusejp_2884_;
}
else
{
lean_object* v_reuseFailAlloc_2886_; 
v_reuseFailAlloc_2886_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2886_, 0, v_a_2880_);
v___x_2885_ = v_reuseFailAlloc_2886_;
goto v_reusejp_2884_;
}
v_reusejp_2884_:
{
return v___x_2885_;
}
}
}
}
else
{
lean_dec(v_a_2874_);
v___y_2854_ = v___y_2758_;
v___y_2855_ = v___y_2759_;
v___y_2856_ = v___y_2760_;
v___y_2857_ = v___y_2761_;
v___y_2858_ = v___y_2762_;
v___y_2859_ = v___y_2763_;
goto v___jp_2853_;
}
}
else
{
lean_object* v_a_2888_; lean_object* v___x_2890_; uint8_t v_isShared_2891_; uint8_t v_isSharedCheck_2895_; 
lean_dec(v_a_2874_);
lean_dec_ref(v___x_2852_);
lean_dec(v_a_2851_);
lean_dec_ref(v_a_2842_);
lean_dec(v___y_2763_);
lean_dec_ref(v___y_2762_);
lean_dec(v___y_2761_);
lean_dec_ref(v___y_2760_);
lean_dec(v___y_2759_);
lean_dec_ref(v___y_2758_);
lean_dec(v_a_2755_);
lean_dec_ref(v_clears_2754_);
lean_dec_ref(v_cont_2753_);
lean_dec(v_g_2752_);
lean_dec(v_fs_2750_);
v_a_2888_ = lean_ctor_get(v___x_2875_, 0);
v_isSharedCheck_2895_ = !lean_is_exclusive(v___x_2875_);
if (v_isSharedCheck_2895_ == 0)
{
v___x_2890_ = v___x_2875_;
v_isShared_2891_ = v_isSharedCheck_2895_;
goto v_resetjp_2889_;
}
else
{
lean_inc(v_a_2888_);
lean_dec(v___x_2875_);
v___x_2890_ = lean_box(0);
v_isShared_2891_ = v_isSharedCheck_2895_;
goto v_resetjp_2889_;
}
v_resetjp_2889_:
{
lean_object* v___x_2893_; 
if (v_isShared_2891_ == 0)
{
v___x_2893_ = v___x_2890_;
goto v_reusejp_2892_;
}
else
{
lean_object* v_reuseFailAlloc_2894_; 
v_reuseFailAlloc_2894_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2894_, 0, v_a_2888_);
v___x_2893_ = v_reuseFailAlloc_2894_;
goto v_reusejp_2892_;
}
v_reusejp_2892_:
{
return v___x_2893_;
}
}
}
}
else
{
lean_object* v_a_2896_; lean_object* v___x_2898_; uint8_t v_isShared_2899_; uint8_t v_isSharedCheck_2903_; 
lean_dec_ref(v___x_2852_);
lean_dec(v_a_2851_);
lean_dec_ref(v_a_2842_);
lean_dec(v___y_2763_);
lean_dec_ref(v___y_2762_);
lean_dec(v___y_2761_);
lean_dec_ref(v___y_2760_);
lean_dec(v___y_2759_);
lean_dec_ref(v___y_2758_);
lean_dec(v_a_2755_);
lean_dec_ref(v_clears_2754_);
lean_dec_ref(v_cont_2753_);
lean_dec(v_g_2752_);
lean_dec(v_fs_2750_);
v_a_2896_ = lean_ctor_get(v___x_2873_, 0);
v_isSharedCheck_2903_ = !lean_is_exclusive(v___x_2873_);
if (v_isSharedCheck_2903_ == 0)
{
v___x_2898_ = v___x_2873_;
v_isShared_2899_ = v_isSharedCheck_2903_;
goto v_resetjp_2897_;
}
else
{
lean_inc(v_a_2896_);
lean_dec(v___x_2873_);
v___x_2898_ = lean_box(0);
v_isShared_2899_ = v_isSharedCheck_2903_;
goto v_resetjp_2897_;
}
v_resetjp_2897_:
{
lean_object* v___x_2901_; 
if (v_isShared_2899_ == 0)
{
v___x_2901_ = v___x_2898_;
goto v_reusejp_2900_;
}
else
{
lean_object* v_reuseFailAlloc_2902_; 
v_reuseFailAlloc_2902_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2902_, 0, v_a_2896_);
v___x_2901_ = v_reuseFailAlloc_2902_;
goto v_reusejp_2900_;
}
v_reusejp_2900_:
{
return v___x_2901_;
}
}
}
v___jp_2853_:
{
if (lean_obj_tag(v___x_2852_) == 1)
{
lean_object* v_fvarId_2860_; lean_object* v___x_2861_; 
v_fvarId_2860_ = lean_ctor_get(v___x_2852_, 0);
lean_inc(v_fvarId_2860_);
lean_inc(v___y_2859_);
lean_inc_ref(v___y_2858_);
lean_inc(v___y_2857_);
lean_inc_ref(v___y_2856_);
v___x_2861_ = l_Lean_MVarId_replaceLocalDeclDefEq(v_g_2752_, v_fvarId_2860_, v_a_2851_, v___y_2856_, v___y_2857_, v___y_2858_, v___y_2859_);
if (lean_obj_tag(v___x_2861_) == 0)
{
lean_object* v_a_2862_; lean_object* v___x_2863_; 
v_a_2862_ = lean_ctor_get(v___x_2861_, 0);
lean_inc(v_a_2862_);
lean_dec_ref(v___x_2861_);
v___x_2863_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg(v_a_2862_, v_fs_2750_, v_clears_2754_, v___x_2852_, v_a_2755_, v_a_2842_, v_cont_2753_, v___y_2854_, v___y_2855_, v___y_2856_, v___y_2857_, v___y_2858_, v___y_2859_);
return v___x_2863_;
}
else
{
lean_object* v_a_2864_; lean_object* v___x_2866_; uint8_t v_isShared_2867_; uint8_t v_isSharedCheck_2871_; 
lean_dec_ref(v___x_2852_);
lean_dec(v___y_2859_);
lean_dec_ref(v___y_2858_);
lean_dec(v___y_2857_);
lean_dec_ref(v___y_2856_);
lean_dec(v___y_2855_);
lean_dec_ref(v___y_2854_);
lean_dec_ref(v_a_2842_);
lean_dec(v_a_2755_);
lean_dec_ref(v_clears_2754_);
lean_dec_ref(v_cont_2753_);
lean_dec(v_fs_2750_);
v_a_2864_ = lean_ctor_get(v___x_2861_, 0);
v_isSharedCheck_2871_ = !lean_is_exclusive(v___x_2861_);
if (v_isSharedCheck_2871_ == 0)
{
v___x_2866_ = v___x_2861_;
v_isShared_2867_ = v_isSharedCheck_2871_;
goto v_resetjp_2865_;
}
else
{
lean_inc(v_a_2864_);
lean_dec(v___x_2861_);
v___x_2866_ = lean_box(0);
v_isShared_2867_ = v_isSharedCheck_2871_;
goto v_resetjp_2865_;
}
v_resetjp_2865_:
{
lean_object* v___x_2869_; 
if (v_isShared_2867_ == 0)
{
v___x_2869_ = v___x_2866_;
goto v_reusejp_2868_;
}
else
{
lean_object* v_reuseFailAlloc_2870_; 
v_reuseFailAlloc_2870_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2870_, 0, v_a_2864_);
v___x_2869_ = v_reuseFailAlloc_2870_;
goto v_reusejp_2868_;
}
v_reusejp_2868_:
{
return v___x_2869_;
}
}
}
}
else
{
lean_object* v___x_2872_; 
lean_dec(v_a_2851_);
v___x_2872_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg(v_g_2752_, v_fs_2750_, v_clears_2754_, v___x_2852_, v_a_2755_, v_a_2842_, v_cont_2753_, v___y_2854_, v___y_2855_, v___y_2856_, v___y_2857_, v___y_2858_, v___y_2859_);
return v___x_2872_;
}
}
}
else
{
lean_object* v_a_2904_; lean_object* v___x_2906_; uint8_t v_isShared_2907_; uint8_t v_isSharedCheck_2911_; 
lean_dec_ref(v_a_2842_);
lean_dec(v___y_2763_);
lean_dec_ref(v___y_2762_);
lean_dec(v___y_2761_);
lean_dec_ref(v___y_2760_);
lean_dec(v___y_2759_);
lean_dec_ref(v___y_2758_);
lean_dec(v_a_2755_);
lean_dec_ref(v_clears_2754_);
lean_dec_ref(v_cont_2753_);
lean_dec(v_g_2752_);
lean_dec(v_fs_2750_);
lean_dec_ref(v_e_2749_);
v_a_2904_ = lean_ctor_get(v___x_2850_, 0);
v_isSharedCheck_2911_ = !lean_is_exclusive(v___x_2850_);
if (v_isSharedCheck_2911_ == 0)
{
v___x_2906_ = v___x_2850_;
v_isShared_2907_ = v_isSharedCheck_2911_;
goto v_resetjp_2905_;
}
else
{
lean_inc(v_a_2904_);
lean_dec(v___x_2850_);
v___x_2906_ = lean_box(0);
v_isShared_2907_ = v_isSharedCheck_2911_;
goto v_resetjp_2905_;
}
v_resetjp_2905_:
{
lean_object* v___x_2909_; 
if (v_isShared_2907_ == 0)
{
v___x_2909_ = v___x_2906_;
goto v_reusejp_2908_;
}
else
{
lean_object* v_reuseFailAlloc_2910_; 
v_reuseFailAlloc_2910_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2910_, 0, v_a_2904_);
v___x_2909_ = v_reuseFailAlloc_2910_;
goto v_reusejp_2908_;
}
v_reusejp_2908_:
{
return v___x_2909_;
}
}
}
}
else
{
lean_object* v_a_2912_; lean_object* v___x_2914_; uint8_t v_isShared_2915_; uint8_t v_isSharedCheck_2919_; 
lean_dec(v_a_2843_);
lean_dec_ref(v_a_2842_);
lean_dec(v___y_2763_);
lean_dec_ref(v___y_2762_);
lean_dec(v___y_2761_);
lean_dec_ref(v___y_2760_);
lean_dec(v___y_2759_);
lean_dec_ref(v___y_2758_);
lean_dec(v_a_2755_);
lean_dec_ref(v_clears_2754_);
lean_dec_ref(v_cont_2753_);
lean_dec(v_g_2752_);
lean_dec(v_fs_2750_);
lean_dec_ref(v_e_2749_);
v_a_2912_ = lean_ctor_get(v___x_2849_, 0);
v_isSharedCheck_2919_ = !lean_is_exclusive(v___x_2849_);
if (v_isSharedCheck_2919_ == 0)
{
v___x_2914_ = v___x_2849_;
v_isShared_2915_ = v_isSharedCheck_2919_;
goto v_resetjp_2913_;
}
else
{
lean_inc(v_a_2912_);
lean_dec(v___x_2849_);
v___x_2914_ = lean_box(0);
v_isShared_2915_ = v_isSharedCheck_2919_;
goto v_resetjp_2913_;
}
v_resetjp_2913_:
{
lean_object* v___x_2917_; 
if (v_isShared_2915_ == 0)
{
v___x_2917_ = v___x_2914_;
goto v_reusejp_2916_;
}
else
{
lean_object* v_reuseFailAlloc_2918_; 
v_reuseFailAlloc_2918_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2918_, 0, v_a_2912_);
v___x_2917_ = v_reuseFailAlloc_2918_;
goto v_reusejp_2916_;
}
v_reusejp_2916_:
{
return v___x_2917_;
}
}
}
}
case 0:
{
lean_object* v_ref_2920_; lean_object* v_a_2921_; lean_object* v___x_2922_; 
lean_dec_ref(v___f_2757_);
lean_dec(v_a_2755_);
lean_dec_ref(v_clears_2754_);
lean_dec_ref(v_cont_2753_);
lean_dec(v_g_2752_);
lean_dec_ref(v_asFVar_2751_);
lean_dec(v_fs_2750_);
lean_dec_ref(v_e_2749_);
lean_dec_ref(v___f_2748_);
v_ref_2920_ = lean_ctor_get(v_pat_2747_, 0);
lean_inc(v_ref_2920_);
v_a_2921_ = lean_ctor_get(v_pat_2747_, 1);
lean_inc_ref(v_a_2921_);
lean_dec_ref(v_pat_2747_);
v___x_2922_ = lean_apply_9(v___f_2756_, v_ref_2920_, v_a_2921_, v___y_2758_, v___y_2759_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_, lean_box(0));
return v___x_2922_;
}
case 6:
{
lean_object* v_a_2923_; 
lean_dec(v_a_2755_);
lean_dec_ref(v_clears_2754_);
lean_dec_ref(v_cont_2753_);
lean_dec(v_g_2752_);
lean_dec_ref(v_asFVar_2751_);
lean_dec(v_fs_2750_);
lean_dec_ref(v_e_2749_);
lean_dec_ref(v___f_2748_);
v_a_2923_ = lean_ctor_get(v_pat_2747_, 1);
if (lean_obj_tag(v_a_2923_) == 1)
{
lean_object* v_tail_2924_; 
v_tail_2924_ = lean_ctor_get(v_a_2923_, 1);
if (lean_obj_tag(v_tail_2924_) == 0)
{
lean_object* v_ref_2925_; lean_object* v_head_2926_; lean_object* v___x_2927_; 
lean_inc_ref(v_a_2923_);
lean_dec_ref(v___f_2757_);
v_ref_2925_ = lean_ctor_get(v_pat_2747_, 0);
lean_inc(v_ref_2925_);
lean_dec_ref(v_pat_2747_);
v_head_2926_ = lean_ctor_get(v_a_2923_, 0);
lean_inc(v_head_2926_);
lean_dec_ref(v_a_2923_);
v___x_2927_ = lean_apply_9(v___f_2756_, v_ref_2925_, v_head_2926_, v___y_2758_, v___y_2759_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_, lean_box(0));
return v___x_2927_;
}
else
{
lean_object* v___x_2928_; 
lean_dec_ref(v___f_2756_);
v___x_2928_ = lean_apply_8(v___f_2757_, v_pat_2747_, v___y_2758_, v___y_2759_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_, lean_box(0));
return v___x_2928_;
}
}
else
{
lean_object* v___x_2929_; 
lean_dec_ref(v___f_2756_);
v___x_2929_ = lean_apply_8(v___f_2757_, v_pat_2747_, v___y_2758_, v___y_2759_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_, lean_box(0));
return v___x_2929_;
}
}
default: 
{
lean_object* v___x_2930_; 
lean_dec_ref(v___f_2756_);
lean_dec(v_a_2755_);
lean_dec_ref(v_clears_2754_);
lean_dec_ref(v_cont_2753_);
lean_dec(v_g_2752_);
lean_dec_ref(v_asFVar_2751_);
lean_dec(v_fs_2750_);
lean_dec_ref(v_e_2749_);
lean_dec_ref(v___f_2748_);
v___x_2930_ = lean_apply_8(v___f_2757_, v_pat_2747_, v___y_2758_, v___y_2759_, v___y_2760_, v___y_2761_, v___y_2762_, v___y_2763_, lean_box(0));
return v___x_2930_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___boxed(lean_object** _args){
lean_object* v_pat_2931_ = _args[0];
lean_object* v___f_2932_ = _args[1];
lean_object* v_e_2933_ = _args[2];
lean_object* v_fs_2934_ = _args[3];
lean_object* v_asFVar_2935_ = _args[4];
lean_object* v_g_2936_ = _args[5];
lean_object* v_cont_2937_ = _args[6];
lean_object* v_clears_2938_ = _args[7];
lean_object* v_a_2939_ = _args[8];
lean_object* v___f_2940_ = _args[9];
lean_object* v___f_2941_ = _args[10];
lean_object* v___y_2942_ = _args[11];
lean_object* v___y_2943_ = _args[12];
lean_object* v___y_2944_ = _args[13];
lean_object* v___y_2945_ = _args[14];
lean_object* v___y_2946_ = _args[15];
lean_object* v___y_2947_ = _args[16];
lean_object* v___y_2948_ = _args[17];
_start:
{
lean_object* v_res_2949_; 
v_res_2949_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7(v_pat_2931_, v___f_2932_, v_e_2933_, v_fs_2934_, v_asFVar_2935_, v_g_2936_, v_cont_2937_, v_clears_2938_, v_a_2939_, v___f_2940_, v___f_2941_, v___y_2942_, v___y_2943_, v___y_2944_, v___y_2945_, v___y_2946_, v___y_2947_);
return v_res_2949_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg(lean_object* v_g_2950_, lean_object* v_fs_2951_, lean_object* v_clears_2952_, lean_object* v_e_2953_, lean_object* v_a_2954_, lean_object* v_pat_2955_, lean_object* v_cont_2956_, lean_object* v_a_2957_, lean_object* v_a_2958_, lean_object* v_a_2959_, lean_object* v_a_2960_, lean_object* v_a_2961_, lean_object* v_a_2962_){
_start:
{
lean_object* v_asFVar_2964_; lean_object* v___f_2965_; lean_object* v___f_2966_; lean_object* v___x_2967_; lean_object* v___x_2968_; lean_object* v___y_2970_; lean_object* v_ref_2998_; 
v_asFVar_2964_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___closed__0));
lean_inc_ref(v_cont_2956_);
lean_inc(v_a_2954_);
lean_inc_ref(v_clears_2952_);
lean_inc(v_fs_2951_);
lean_inc(v_g_2950_);
lean_inc_ref(v_e_2953_);
v___f_2965_ = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__1___boxed), 15, 6);
lean_closure_set(v___f_2965_, 0, v_e_2953_);
lean_closure_set(v___f_2965_, 1, v_g_2950_);
lean_closure_set(v___f_2965_, 2, v_fs_2951_);
lean_closure_set(v___f_2965_, 3, v_clears_2952_);
lean_closure_set(v___f_2965_, 4, v_a_2954_);
lean_closure_set(v___f_2965_, 5, v_cont_2956_);
lean_inc(v_a_2954_);
lean_inc_ref(v_clears_2952_);
lean_inc(v_fs_2951_);
lean_inc(v_g_2950_);
lean_inc_ref(v_cont_2956_);
lean_inc_ref(v_e_2953_);
v___f_2966_ = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__2___boxed), 15, 6);
lean_closure_set(v___f_2966_, 0, v_e_2953_);
lean_closure_set(v___f_2966_, 1, v_cont_2956_);
lean_closure_set(v___f_2966_, 2, v_g_2950_);
lean_closure_set(v___f_2966_, 3, v_fs_2951_);
lean_closure_set(v___f_2966_, 4, v_clears_2952_);
lean_closure_set(v___f_2966_, 5, v_a_2954_);
v___x_2967_ = lean_box(1);
v___x_2968_ = l_Lean_instInhabitedExpr;
v_ref_2998_ = lean_ctor_get(v_pat_2955_, 0);
lean_inc(v_ref_2998_);
v___y_2970_ = v_ref_2998_;
goto v___jp_2969_;
v___jp_2969_:
{
lean_object* v_fileName_2971_; lean_object* v_fileMap_2972_; lean_object* v_options_2973_; lean_object* v_currRecDepth_2974_; lean_object* v_maxRecDepth_2975_; lean_object* v_ref_2976_; lean_object* v_currNamespace_2977_; lean_object* v_openDecls_2978_; lean_object* v_initHeartbeats_2979_; lean_object* v_maxHeartbeats_2980_; lean_object* v_quotContext_2981_; lean_object* v_currMacroScope_2982_; uint8_t v_diag_2983_; lean_object* v_cancelTk_x3f_2984_; uint8_t v_suppressElabErrors_2985_; lean_object* v_inheritedTraceOptions_2986_; lean_object* v___x_2988_; uint8_t v_isShared_2989_; uint8_t v_isSharedCheck_2997_; 
v_fileName_2971_ = lean_ctor_get(v_a_2961_, 0);
v_fileMap_2972_ = lean_ctor_get(v_a_2961_, 1);
v_options_2973_ = lean_ctor_get(v_a_2961_, 2);
v_currRecDepth_2974_ = lean_ctor_get(v_a_2961_, 3);
v_maxRecDepth_2975_ = lean_ctor_get(v_a_2961_, 4);
v_ref_2976_ = lean_ctor_get(v_a_2961_, 5);
v_currNamespace_2977_ = lean_ctor_get(v_a_2961_, 6);
v_openDecls_2978_ = lean_ctor_get(v_a_2961_, 7);
v_initHeartbeats_2979_ = lean_ctor_get(v_a_2961_, 8);
v_maxHeartbeats_2980_ = lean_ctor_get(v_a_2961_, 9);
v_quotContext_2981_ = lean_ctor_get(v_a_2961_, 10);
v_currMacroScope_2982_ = lean_ctor_get(v_a_2961_, 11);
v_diag_2983_ = lean_ctor_get_uint8(v_a_2961_, sizeof(void*)*14);
v_cancelTk_x3f_2984_ = lean_ctor_get(v_a_2961_, 12);
v_suppressElabErrors_2985_ = lean_ctor_get_uint8(v_a_2961_, sizeof(void*)*14 + 1);
v_inheritedTraceOptions_2986_ = lean_ctor_get(v_a_2961_, 13);
v_isSharedCheck_2997_ = !lean_is_exclusive(v_a_2961_);
if (v_isSharedCheck_2997_ == 0)
{
v___x_2988_ = v_a_2961_;
v_isShared_2989_ = v_isSharedCheck_2997_;
goto v_resetjp_2987_;
}
else
{
lean_inc(v_inheritedTraceOptions_2986_);
lean_inc(v_cancelTk_x3f_2984_);
lean_inc(v_currMacroScope_2982_);
lean_inc(v_quotContext_2981_);
lean_inc(v_maxHeartbeats_2980_);
lean_inc(v_initHeartbeats_2979_);
lean_inc(v_openDecls_2978_);
lean_inc(v_currNamespace_2977_);
lean_inc(v_ref_2976_);
lean_inc(v_maxRecDepth_2975_);
lean_inc(v_currRecDepth_2974_);
lean_inc(v_options_2973_);
lean_inc(v_fileMap_2972_);
lean_inc(v_fileName_2971_);
lean_dec(v_a_2961_);
v___x_2988_ = lean_box(0);
v_isShared_2989_ = v_isSharedCheck_2997_;
goto v_resetjp_2987_;
}
v_resetjp_2987_:
{
lean_object* v___f_2990_; lean_object* v___y_2991_; lean_object* v_ref_2992_; lean_object* v___x_2994_; 
lean_inc_ref(v_pat_2955_);
lean_inc(v_g_2950_);
lean_inc_ref(v_cont_2956_);
lean_inc_ref(v_clears_2952_);
lean_inc(v_a_2954_);
lean_inc(v_fs_2951_);
lean_inc(v___y_2970_);
lean_inc_ref(v_e_2953_);
v___f_2990_ = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__6___boxed), 19, 11);
lean_closure_set(v___f_2990_, 0, v_e_2953_);
lean_closure_set(v___f_2990_, 1, v___y_2970_);
lean_closure_set(v___f_2990_, 2, v_fs_2951_);
lean_closure_set(v___f_2990_, 3, v_asFVar_2964_);
lean_closure_set(v___f_2990_, 4, v_a_2954_);
lean_closure_set(v___f_2990_, 5, v_clears_2952_);
lean_closure_set(v___f_2990_, 6, v_cont_2956_);
lean_closure_set(v___f_2990_, 7, v___x_2967_);
lean_closure_set(v___f_2990_, 8, v_g_2950_);
lean_closure_set(v___f_2990_, 9, v___x_2968_);
lean_closure_set(v___f_2990_, 10, v_pat_2955_);
lean_inc(v_g_2950_);
v___y_2991_ = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___lam__7___boxed), 18, 11);
lean_closure_set(v___y_2991_, 0, v_pat_2955_);
lean_closure_set(v___y_2991_, 1, v___f_2966_);
lean_closure_set(v___y_2991_, 2, v_e_2953_);
lean_closure_set(v___y_2991_, 3, v_fs_2951_);
lean_closure_set(v___y_2991_, 4, v_asFVar_2964_);
lean_closure_set(v___y_2991_, 5, v_g_2950_);
lean_closure_set(v___y_2991_, 6, v_cont_2956_);
lean_closure_set(v___y_2991_, 7, v_clears_2952_);
lean_closure_set(v___y_2991_, 8, v_a_2954_);
lean_closure_set(v___y_2991_, 9, v___f_2965_);
lean_closure_set(v___y_2991_, 10, v___f_2990_);
v_ref_2992_ = l_Lean_replaceRef(v___y_2970_, v_ref_2976_);
lean_dec(v_ref_2976_);
lean_dec(v___y_2970_);
if (v_isShared_2989_ == 0)
{
lean_ctor_set(v___x_2988_, 5, v_ref_2992_);
v___x_2994_ = v___x_2988_;
goto v_reusejp_2993_;
}
else
{
lean_object* v_reuseFailAlloc_2996_; 
v_reuseFailAlloc_2996_ = lean_alloc_ctor(0, 14, 2);
lean_ctor_set(v_reuseFailAlloc_2996_, 0, v_fileName_2971_);
lean_ctor_set(v_reuseFailAlloc_2996_, 1, v_fileMap_2972_);
lean_ctor_set(v_reuseFailAlloc_2996_, 2, v_options_2973_);
lean_ctor_set(v_reuseFailAlloc_2996_, 3, v_currRecDepth_2974_);
lean_ctor_set(v_reuseFailAlloc_2996_, 4, v_maxRecDepth_2975_);
lean_ctor_set(v_reuseFailAlloc_2996_, 5, v_ref_2992_);
lean_ctor_set(v_reuseFailAlloc_2996_, 6, v_currNamespace_2977_);
lean_ctor_set(v_reuseFailAlloc_2996_, 7, v_openDecls_2978_);
lean_ctor_set(v_reuseFailAlloc_2996_, 8, v_initHeartbeats_2979_);
lean_ctor_set(v_reuseFailAlloc_2996_, 9, v_maxHeartbeats_2980_);
lean_ctor_set(v_reuseFailAlloc_2996_, 10, v_quotContext_2981_);
lean_ctor_set(v_reuseFailAlloc_2996_, 11, v_currMacroScope_2982_);
lean_ctor_set(v_reuseFailAlloc_2996_, 12, v_cancelTk_x3f_2984_);
lean_ctor_set(v_reuseFailAlloc_2996_, 13, v_inheritedTraceOptions_2986_);
lean_ctor_set_uint8(v_reuseFailAlloc_2996_, sizeof(void*)*14, v_diag_2983_);
lean_ctor_set_uint8(v_reuseFailAlloc_2996_, sizeof(void*)*14 + 1, v_suppressElabErrors_2985_);
v___x_2994_ = v_reuseFailAlloc_2996_;
goto v_reusejp_2993_;
}
v_reusejp_2993_:
{
lean_object* v___x_2995_; 
v___x_2995_ = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7___redArg(v_g_2950_, v___y_2991_, v_a_2957_, v_a_2958_, v_a_2959_, v_a_2960_, v___x_2994_, v_a_2962_);
return v___x_2995_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue___redArg(lean_object* v_g_2999_, lean_object* v_fs_3000_, lean_object* v_clears_3001_, lean_object* v_a_3002_, lean_object* v_pats_3003_, lean_object* v_cont_3004_, lean_object* v_a_3005_, lean_object* v_a_3006_, lean_object* v_a_3007_, lean_object* v_a_3008_, lean_object* v_a_3009_, lean_object* v_a_3010_){
_start:
{
if (lean_obj_tag(v_pats_3003_) == 0)
{
lean_object* v___x_3012_; 
v___x_3012_ = lean_apply_11(v_cont_3004_, v_g_2999_, v_fs_3000_, v_clears_3001_, v_a_3002_, v_a_3005_, v_a_3006_, v_a_3007_, v_a_3008_, v_a_3009_, v_a_3010_, lean_box(0));
return v___x_3012_;
}
else
{
lean_object* v_head_3013_; lean_object* v_tail_3014_; lean_object* v_fst_3015_; lean_object* v_snd_3016_; lean_object* v___f_3017_; lean_object* v___x_3018_; 
v_head_3013_ = lean_ctor_get(v_pats_3003_, 0);
lean_inc(v_head_3013_);
v_tail_3014_ = lean_ctor_get(v_pats_3003_, 1);
lean_inc(v_tail_3014_);
lean_dec_ref(v_pats_3003_);
v_fst_3015_ = lean_ctor_get(v_head_3013_, 0);
lean_inc(v_fst_3015_);
v_snd_3016_ = lean_ctor_get(v_head_3013_, 1);
lean_inc(v_snd_3016_);
lean_dec(v_head_3013_);
v___f_3017_ = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue___redArg___lam__0___boxed), 13, 2);
lean_closure_set(v___f_3017_, 0, v_tail_3014_);
lean_closure_set(v___f_3017_, 1, v_cont_3004_);
v___x_3018_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg(v_g_2999_, v_fs_3000_, v_clears_3001_, v_snd_3016_, v_a_3002_, v_fst_3015_, v___f_3017_, v_a_3005_, v_a_3006_, v_a_3007_, v_a_3008_, v_a_3009_, v_a_3010_);
return v___x_3018_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue___redArg___lam__0(lean_object* v_tail_3019_, lean_object* v_cont_3020_, lean_object* v_g_3021_, lean_object* v_fs_3022_, lean_object* v_clears_3023_, lean_object* v_a_3024_, lean_object* v___y_3025_, lean_object* v___y_3026_, lean_object* v___y_3027_, lean_object* v___y_3028_, lean_object* v___y_3029_, lean_object* v___y_3030_){
_start:
{
lean_object* v___x_3032_; 
v___x_3032_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue___redArg(v_g_3021_, v_fs_3022_, v_clears_3023_, v_a_3024_, v_tail_3019_, v_cont_3020_, v___y_3025_, v___y_3026_, v___y_3027_, v___y_3028_, v___y_3029_, v___y_3030_);
return v___x_3032_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue___redArg___boxed(lean_object* v_g_3033_, lean_object* v_fs_3034_, lean_object* v_clears_3035_, lean_object* v_a_3036_, lean_object* v_pats_3037_, lean_object* v_cont_3038_, lean_object* v_a_3039_, lean_object* v_a_3040_, lean_object* v_a_3041_, lean_object* v_a_3042_, lean_object* v_a_3043_, lean_object* v_a_3044_, lean_object* v_a_3045_){
_start:
{
lean_object* v_res_3046_; 
v_res_3046_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue___redArg(v_g_3033_, v_fs_3034_, v_clears_3035_, v_a_3036_, v_pats_3037_, v_cont_3038_, v_a_3039_, v_a_3040_, v_a_3041_, v_a_3042_, v_a_3043_, v_a_3044_);
return v_res_3046_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__3___redArg___boxed(lean_object* v_fs_3047_, lean_object* v_clears_3048_, lean_object* v_cont_3049_, lean_object* v_as_3050_, lean_object* v_i_3051_, lean_object* v_stop_3052_, lean_object* v_b_3053_, lean_object* v___y_3054_, lean_object* v___y_3055_, lean_object* v___y_3056_, lean_object* v___y_3057_, lean_object* v___y_3058_, lean_object* v___y_3059_, lean_object* v___y_3060_){
_start:
{
size_t v_i_boxed_3061_; size_t v_stop_boxed_3062_; lean_object* v_res_3063_; 
v_i_boxed_3061_ = lean_unbox_usize(v_i_3051_);
lean_dec(v_i_3051_);
v_stop_boxed_3062_ = lean_unbox_usize(v_stop_3052_);
lean_dec(v_stop_3052_);
v_res_3063_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__3___redArg(v_fs_3047_, v_clears_3048_, v_cont_3049_, v_as_3050_, v_i_boxed_3061_, v_stop_boxed_3062_, v_b_3053_, v___y_3054_, v___y_3055_, v___y_3056_, v___y_3057_, v___y_3058_, v___y_3059_);
lean_dec_ref(v_as_3050_);
return v_res_3063_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_align___redArg___boxed(lean_object* v_fs_3064_, lean_object* v_clears_3065_, lean_object* v_cont_3066_, lean_object* v_a_3067_, lean_object* v_goal_3068_, lean_object* v_ctorName_3069_, lean_object* v_a_3070_, lean_object* v_a_3071_, lean_object* v_a_3072_, lean_object* v_a_3073_, lean_object* v_a_3074_, lean_object* v_a_3075_, lean_object* v_a_3076_, lean_object* v_a_3077_){
_start:
{
lean_object* v_res_3078_; 
v_res_3078_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_align___redArg(v_fs_3064_, v_clears_3065_, v_cont_3066_, v_a_3067_, v_goal_3068_, v_ctorName_3069_, v_a_3070_, v_a_3071_, v_a_3072_, v_a_3073_, v_a_3074_, v_a_3075_, v_a_3076_);
lean_dec(v_ctorName_3069_);
return v_res_3078_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg___boxed(lean_object* v_g_3079_, lean_object* v_fs_3080_, lean_object* v_clears_3081_, lean_object* v_e_3082_, lean_object* v_a_3083_, lean_object* v_pat_3084_, lean_object* v_cont_3085_, lean_object* v_a_3086_, lean_object* v_a_3087_, lean_object* v_a_3088_, lean_object* v_a_3089_, lean_object* v_a_3090_, lean_object* v_a_3091_, lean_object* v_a_3092_){
_start:
{
lean_object* v_res_3093_; 
v_res_3093_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg(v_g_3079_, v_fs_3080_, v_clears_3081_, v_e_3082_, v_a_3083_, v_pat_3084_, v_cont_3085_, v_a_3086_, v_a_3087_, v_a_3088_, v_a_3089_, v_a_3090_, v_a_3091_);
return v_res_3093_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue(lean_object* v_00_u03b1_3094_, lean_object* v_g_3095_, lean_object* v_fs_3096_, lean_object* v_clears_3097_, lean_object* v_a_3098_, lean_object* v_pats_3099_, lean_object* v_cont_3100_, lean_object* v_a_3101_, lean_object* v_a_3102_, lean_object* v_a_3103_, lean_object* v_a_3104_, lean_object* v_a_3105_, lean_object* v_a_3106_){
_start:
{
lean_object* v___x_3108_; 
v___x_3108_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue___redArg(v_g_3095_, v_fs_3096_, v_clears_3097_, v_a_3098_, v_pats_3099_, v_cont_3100_, v_a_3101_, v_a_3102_, v_a_3103_, v_a_3104_, v_a_3105_, v_a_3106_);
return v___x_3108_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue___boxed(lean_object* v_00_u03b1_3109_, lean_object* v_g_3110_, lean_object* v_fs_3111_, lean_object* v_clears_3112_, lean_object* v_a_3113_, lean_object* v_pats_3114_, lean_object* v_cont_3115_, lean_object* v_a_3116_, lean_object* v_a_3117_, lean_object* v_a_3118_, lean_object* v_a_3119_, lean_object* v_a_3120_, lean_object* v_a_3121_, lean_object* v_a_3122_){
_start:
{
lean_object* v_res_3123_; 
v_res_3123_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue(v_00_u03b1_3109_, v_g_3110_, v_fs_3111_, v_clears_3112_, v_a_3113_, v_pats_3114_, v_cont_3115_, v_a_3116_, v_a_3117_, v_a_3118_, v_a_3119_, v_a_3120_, v_a_3121_);
return v_res_3123_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_align(lean_object* v_00_u03b1_3124_, lean_object* v_fs_3125_, lean_object* v_clears_3126_, lean_object* v_cont_3127_, lean_object* v_a_3128_, lean_object* v_goal_3129_, lean_object* v_ctorName_3130_, lean_object* v_a_3131_, lean_object* v_a_3132_, lean_object* v_a_3133_, lean_object* v_a_3134_, lean_object* v_a_3135_, lean_object* v_a_3136_, lean_object* v_a_3137_){
_start:
{
lean_object* v___x_3139_; 
v___x_3139_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_align___redArg(v_fs_3125_, v_clears_3126_, v_cont_3127_, v_a_3128_, v_goal_3129_, v_ctorName_3130_, v_a_3131_, v_a_3132_, v_a_3133_, v_a_3134_, v_a_3135_, v_a_3136_, v_a_3137_);
return v___x_3139_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_align___boxed(lean_object* v_00_u03b1_3140_, lean_object* v_fs_3141_, lean_object* v_clears_3142_, lean_object* v_cont_3143_, lean_object* v_a_3144_, lean_object* v_goal_3145_, lean_object* v_ctorName_3146_, lean_object* v_a_3147_, lean_object* v_a_3148_, lean_object* v_a_3149_, lean_object* v_a_3150_, lean_object* v_a_3151_, lean_object* v_a_3152_, lean_object* v_a_3153_, lean_object* v_a_3154_){
_start:
{
lean_object* v_res_3155_; 
v_res_3155_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_align(v_00_u03b1_3140_, v_fs_3141_, v_clears_3142_, v_cont_3143_, v_a_3144_, v_goal_3145_, v_ctorName_3146_, v_a_3147_, v_a_3148_, v_a_3149_, v_a_3150_, v_a_3151_, v_a_3152_, v_a_3153_);
lean_dec(v_ctorName_3146_);
return v_res_3155_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7(lean_object* v_00_u03b1_3156_, lean_object* v_mvarId_3157_, lean_object* v_x_3158_, lean_object* v___y_3159_, lean_object* v___y_3160_, lean_object* v___y_3161_, lean_object* v___y_3162_, lean_object* v___y_3163_, lean_object* v___y_3164_){
_start:
{
lean_object* v___x_3166_; 
v___x_3166_ = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7___redArg(v_mvarId_3157_, v_x_3158_, v___y_3159_, v___y_3160_, v___y_3161_, v___y_3162_, v___y_3163_, v___y_3164_);
return v___x_3166_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7___boxed(lean_object* v_00_u03b1_3167_, lean_object* v_mvarId_3168_, lean_object* v_x_3169_, lean_object* v___y_3170_, lean_object* v___y_3171_, lean_object* v___y_3172_, lean_object* v___y_3173_, lean_object* v___y_3174_, lean_object* v___y_3175_, lean_object* v___y_3176_){
_start:
{
lean_object* v_res_3177_; 
v_res_3177_ = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7(v_00_u03b1_3167_, v_mvarId_3168_, v_x_3169_, v___y_3170_, v___y_3171_, v___y_3172_, v___y_3173_, v___y_3174_, v___y_3175_);
return v_res_3177_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore(lean_object* v_00_u03b1_3178_, lean_object* v_g_3179_, lean_object* v_fs_3180_, lean_object* v_clears_3181_, lean_object* v_e_3182_, lean_object* v_a_3183_, lean_object* v_pat_3184_, lean_object* v_cont_3185_, lean_object* v_a_3186_, lean_object* v_a_3187_, lean_object* v_a_3188_, lean_object* v_a_3189_, lean_object* v_a_3190_, lean_object* v_a_3191_){
_start:
{
lean_object* v___x_3193_; 
v___x_3193_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg(v_g_3179_, v_fs_3180_, v_clears_3181_, v_e_3182_, v_a_3183_, v_pat_3184_, v_cont_3185_, v_a_3186_, v_a_3187_, v_a_3188_, v_a_3189_, v_a_3190_, v_a_3191_);
return v___x_3193_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___boxed(lean_object* v_00_u03b1_3194_, lean_object* v_g_3195_, lean_object* v_fs_3196_, lean_object* v_clears_3197_, lean_object* v_e_3198_, lean_object* v_a_3199_, lean_object* v_pat_3200_, lean_object* v_cont_3201_, lean_object* v_a_3202_, lean_object* v_a_3203_, lean_object* v_a_3204_, lean_object* v_a_3205_, lean_object* v_a_3206_, lean_object* v_a_3207_, lean_object* v_a_3208_){
_start:
{
lean_object* v_res_3209_; 
v_res_3209_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore(v_00_u03b1_3194_, v_g_3195_, v_fs_3196_, v_clears_3197_, v_e_3198_, v_a_3199_, v_pat_3200_, v_cont_3201_, v_a_3202_, v_a_3203_, v_a_3204_, v_a_3205_, v_a_3206_, v_a_3207_);
return v_res_3209_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__3(lean_object* v_00_u03b1_3210_, lean_object* v_fs_3211_, lean_object* v_clears_3212_, lean_object* v_cont_3213_, lean_object* v_as_3214_, size_t v_i_3215_, size_t v_stop_3216_, lean_object* v_b_3217_, lean_object* v___y_3218_, lean_object* v___y_3219_, lean_object* v___y_3220_, lean_object* v___y_3221_, lean_object* v___y_3222_, lean_object* v___y_3223_){
_start:
{
lean_object* v___x_3225_; 
v___x_3225_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__3___redArg(v_fs_3211_, v_clears_3212_, v_cont_3213_, v_as_3214_, v_i_3215_, v_stop_3216_, v_b_3217_, v___y_3218_, v___y_3219_, v___y_3220_, v___y_3221_, v___y_3222_, v___y_3223_);
return v___x_3225_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__3___boxed(lean_object* v_00_u03b1_3226_, lean_object* v_fs_3227_, lean_object* v_clears_3228_, lean_object* v_cont_3229_, lean_object* v_as_3230_, lean_object* v_i_3231_, lean_object* v_stop_3232_, lean_object* v_b_3233_, lean_object* v___y_3234_, lean_object* v___y_3235_, lean_object* v___y_3236_, lean_object* v___y_3237_, lean_object* v___y_3238_, lean_object* v___y_3239_, lean_object* v___y_3240_){
_start:
{
size_t v_i_boxed_3241_; size_t v_stop_boxed_3242_; lean_object* v_res_3243_; 
v_i_boxed_3241_ = lean_unbox_usize(v_i_3231_);
lean_dec(v_i_3231_);
v_stop_boxed_3242_ = lean_unbox_usize(v_stop_3232_);
lean_dec(v_stop_3232_);
v_res_3243_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__3(v_00_u03b1_3226_, v_fs_3227_, v_clears_3228_, v_cont_3229_, v_as_3230_, v_i_boxed_3241_, v_stop_boxed_3242_, v_b_3233_, v___y_3234_, v___y_3235_, v___y_3236_, v___y_3237_, v___y_3238_, v___y_3239_);
lean_dec_ref(v_as_3230_);
return v_res_3243_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5(lean_object* v_mvarId_3244_, lean_object* v_val_3245_, lean_object* v___y_3246_, lean_object* v___y_3247_, lean_object* v___y_3248_, lean_object* v___y_3249_, lean_object* v___y_3250_, lean_object* v___y_3251_){
_start:
{
lean_object* v___x_3253_; 
v___x_3253_ = l_Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5___redArg(v_mvarId_3244_, v_val_3245_, v___y_3249_);
return v___x_3253_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5___boxed(lean_object* v_mvarId_3254_, lean_object* v_val_3255_, lean_object* v___y_3256_, lean_object* v___y_3257_, lean_object* v___y_3258_, lean_object* v___y_3259_, lean_object* v___y_3260_, lean_object* v___y_3261_, lean_object* v___y_3262_){
_start:
{
lean_object* v_res_3263_; 
v_res_3263_ = l_Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5(v_mvarId_3254_, v_val_3255_, v___y_3256_, v___y_3257_, v___y_3258_, v___y_3259_, v___y_3260_, v___y_3261_);
lean_dec(v___y_3261_);
lean_dec_ref(v___y_3260_);
lean_dec(v___y_3259_);
lean_dec_ref(v___y_3258_);
lean_dec(v___y_3257_);
lean_dec_ref(v___y_3256_);
return v_res_3263_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8(lean_object* v_00_u03b1_3264_, lean_object* v_msg_3265_, lean_object* v___y_3266_, lean_object* v___y_3267_, lean_object* v___y_3268_, lean_object* v___y_3269_, lean_object* v___y_3270_, lean_object* v___y_3271_){
_start:
{
lean_object* v___x_3273_; 
v___x_3273_ = l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8___redArg(v_msg_3265_, v___y_3266_, v___y_3267_, v___y_3268_, v___y_3269_, v___y_3270_, v___y_3271_);
return v___x_3273_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8___boxed(lean_object* v_00_u03b1_3274_, lean_object* v_msg_3275_, lean_object* v___y_3276_, lean_object* v___y_3277_, lean_object* v___y_3278_, lean_object* v___y_3279_, lean_object* v___y_3280_, lean_object* v___y_3281_, lean_object* v___y_3282_){
_start:
{
lean_object* v_res_3283_; 
v_res_3283_ = l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8(v_00_u03b1_3274_, v_msg_3275_, v___y_3276_, v___y_3277_, v___y_3278_, v___y_3279_, v___y_3280_, v___y_3281_);
lean_dec(v___y_3281_);
lean_dec_ref(v___y_3280_);
lean_dec(v___y_3279_);
lean_dec_ref(v___y_3278_);
lean_dec(v___y_3277_);
return v_res_3283_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5(lean_object* v_00_u03b2_3284_, lean_object* v_x_3285_, lean_object* v_x_3286_, lean_object* v_x_3287_){
_start:
{
lean_object* v___x_3288_; 
v___x_3288_ = l_Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5___redArg(v_x_3285_, v_x_3286_, v_x_3287_);
return v___x_3288_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9(lean_object* v_msgData_3289_, lean_object* v_macroStack_3290_, lean_object* v___y_3291_, lean_object* v___y_3292_, lean_object* v___y_3293_, lean_object* v___y_3294_, lean_object* v___y_3295_, lean_object* v___y_3296_){
_start:
{
lean_object* v___x_3298_; 
v___x_3298_ = l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___redArg(v_msgData_3289_, v_macroStack_3290_, v___y_3295_);
return v___x_3298_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9___boxed(lean_object* v_msgData_3299_, lean_object* v_macroStack_3300_, lean_object* v___y_3301_, lean_object* v___y_3302_, lean_object* v___y_3303_, lean_object* v___y_3304_, lean_object* v___y_3305_, lean_object* v___y_3306_, lean_object* v___y_3307_){
_start:
{
lean_object* v_res_3308_; 
v_res_3308_ = l_Lean_Elab_addMacroStack___at___00Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__8_spec__9(v_msgData_3299_, v_macroStack_3300_, v___y_3301_, v___y_3302_, v___y_3303_, v___y_3304_, v___y_3305_, v___y_3306_);
lean_dec(v___y_3306_);
lean_dec_ref(v___y_3305_);
lean_dec(v___y_3304_);
lean_dec_ref(v___y_3303_);
lean_dec(v___y_3302_);
lean_dec_ref(v___y_3301_);
return v_res_3308_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7(lean_object* v_00_u03b2_3309_, lean_object* v_x_3310_, size_t v_x_3311_, size_t v_x_3312_, lean_object* v_x_3313_, lean_object* v_x_3314_){
_start:
{
lean_object* v___x_3315_; 
v___x_3315_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___redArg(v_x_3310_, v_x_3311_, v_x_3312_, v_x_3313_, v_x_3314_);
return v___x_3315_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7___boxed(lean_object* v_00_u03b2_3316_, lean_object* v_x_3317_, lean_object* v_x_3318_, lean_object* v_x_3319_, lean_object* v_x_3320_, lean_object* v_x_3321_){
_start:
{
size_t v_x_22757__boxed_3322_; size_t v_x_22758__boxed_3323_; lean_object* v_res_3324_; 
v_x_22757__boxed_3322_ = lean_unbox_usize(v_x_3318_);
lean_dec(v_x_3318_);
v_x_22758__boxed_3323_ = lean_unbox_usize(v_x_3319_);
lean_dec(v_x_3319_);
v_res_3324_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7(v_00_u03b2_3316_, v_x_3317_, v_x_22757__boxed_3322_, v_x_22758__boxed_3323_, v_x_3320_, v_x_3321_);
return v_res_3324_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__10(lean_object* v_00_u03b2_3325_, lean_object* v_n_3326_, lean_object* v_k_3327_, lean_object* v_v_3328_){
_start:
{
lean_object* v___x_3329_; 
v___x_3329_ = l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__10___redArg(v_n_3326_, v_k_3327_, v_v_3328_);
return v___x_3329_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__11(lean_object* v_00_u03b2_3330_, size_t v_depth_3331_, lean_object* v_keys_3332_, lean_object* v_vals_3333_, lean_object* v_heq_3334_, lean_object* v_i_3335_, lean_object* v_entries_3336_){
_start:
{
lean_object* v___x_3337_; 
v___x_3337_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__11___redArg(v_depth_3331_, v_keys_3332_, v_vals_3333_, v_i_3335_, v_entries_3336_);
return v___x_3337_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__11___boxed(lean_object* v_00_u03b2_3338_, lean_object* v_depth_3339_, lean_object* v_keys_3340_, lean_object* v_vals_3341_, lean_object* v_heq_3342_, lean_object* v_i_3343_, lean_object* v_entries_3344_){
_start:
{
size_t v_depth_boxed_3345_; lean_object* v_res_3346_; 
v_depth_boxed_3345_ = lean_unbox_usize(v_depth_3339_);
lean_dec(v_depth_3339_);
v_res_3346_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__11(v_00_u03b2_3338_, v_depth_boxed_3345_, v_keys_3340_, v_vals_3341_, v_heq_3342_, v_i_3343_, v_entries_3344_);
lean_dec_ref(v_vals_3341_);
lean_dec_ref(v_keys_3340_);
return v_res_3346_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__10_spec__13(lean_object* v_00_u03b2_3347_, lean_object* v_x_3348_, lean_object* v_x_3349_, lean_object* v_x_3350_, lean_object* v_x_3351_){
_start:
{
lean_object* v___x_3352_; 
v___x_3352_ = l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__5_spec__5_spec__7_spec__10_spec__13___redArg(v_x_3348_, v_x_3349_, v_x_3350_, v_x_3351_);
return v___x_3352_;
}
}
LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__0_spec__0(lean_object* v_a_3353_, lean_object* v_as_3354_, size_t v_i_3355_, size_t v_stop_3356_){
_start:
{
uint8_t v___x_3357_; 
v___x_3357_ = lean_usize_dec_eq(v_i_3355_, v_stop_3356_);
if (v___x_3357_ == 0)
{
lean_object* v___x_3358_; uint8_t v___x_3359_; 
v___x_3358_ = lean_array_uget_borrowed(v_as_3354_, v_i_3355_);
v___x_3359_ = l_Lean_instBEqFVarId_beq(v_a_3353_, v___x_3358_);
if (v___x_3359_ == 0)
{
size_t v___x_3360_; size_t v___x_3361_; 
v___x_3360_ = ((size_t)1ULL);
v___x_3361_ = lean_usize_add(v_i_3355_, v___x_3360_);
v_i_3355_ = v___x_3361_;
goto _start;
}
else
{
return v___x_3359_;
}
}
else
{
uint8_t v___x_3363_; 
v___x_3363_ = 0;
return v___x_3363_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__0_spec__0___boxed(lean_object* v_a_3364_, lean_object* v_as_3365_, lean_object* v_i_3366_, lean_object* v_stop_3367_){
_start:
{
size_t v_i_boxed_3368_; size_t v_stop_boxed_3369_; uint8_t v_res_3370_; lean_object* v_r_3371_; 
v_i_boxed_3368_ = lean_unbox_usize(v_i_3366_);
lean_dec(v_i_3366_);
v_stop_boxed_3369_ = lean_unbox_usize(v_stop_3367_);
lean_dec(v_stop_3367_);
v_res_3370_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__0_spec__0(v_a_3364_, v_as_3365_, v_i_boxed_3368_, v_stop_boxed_3369_);
lean_dec_ref(v_as_3365_);
lean_dec(v_a_3364_);
v_r_3371_ = lean_box(v_res_3370_);
return v_r_3371_;
}
}
LEAN_EXPORT uint8_t l_Array_contains___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__0(lean_object* v_as_3372_, lean_object* v_a_3373_){
_start:
{
lean_object* v___x_3374_; lean_object* v___x_3375_; uint8_t v___x_3376_; 
v___x_3374_ = lean_unsigned_to_nat(0u);
v___x_3375_ = lean_array_get_size(v_as_3372_);
v___x_3376_ = lean_nat_dec_lt(v___x_3374_, v___x_3375_);
if (v___x_3376_ == 0)
{
return v___x_3376_;
}
else
{
if (v___x_3376_ == 0)
{
return v___x_3376_;
}
else
{
size_t v___x_3377_; size_t v___x_3378_; uint8_t v___x_3379_; 
v___x_3377_ = ((size_t)0ULL);
v___x_3378_ = lean_usize_of_nat(v___x_3375_);
v___x_3379_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__0_spec__0(v_a_3373_, v_as_3372_, v___x_3377_, v___x_3378_);
return v___x_3379_;
}
}
}
}
LEAN_EXPORT lean_object* l_Array_contains___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__0___boxed(lean_object* v_as_3380_, lean_object* v_a_3381_){
_start:
{
uint8_t v_res_3382_; lean_object* v_r_3383_; 
v_res_3382_ = l_Array_contains___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__0(v_as_3380_, v_a_3381_);
lean_dec(v_a_3381_);
lean_dec_ref(v_as_3380_);
v_r_3383_ = lean_box(v_res_3382_);
return v_r_3383_;
}
}
LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3___lam__1(lean_object* v_snd_3384_, lean_object* v___y_3385_){
_start:
{
uint8_t v___x_3386_; 
v___x_3386_ = l_Array_contains___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__0(v_snd_3384_, v___y_3385_);
return v___x_3386_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3___lam__1___boxed(lean_object* v_snd_3387_, lean_object* v___y_3388_){
_start:
{
uint8_t v_res_3389_; lean_object* v_r_3390_; 
v_res_3389_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3___lam__1(v_snd_3387_, v___y_3388_);
lean_dec(v___y_3388_);
lean_dec(v_snd_3387_);
v_r_3390_ = lean_box(v_res_3389_);
return v_r_3390_;
}
}
LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3___lam__0(lean_object* v_x_3391_){
_start:
{
uint8_t v___x_3392_; 
v___x_3392_ = 0;
return v___x_3392_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3___lam__0___boxed(lean_object* v_x_3393_){
_start:
{
uint8_t v_res_3394_; lean_object* v_r_3395_; 
v_res_3394_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3___lam__0(v_x_3393_);
lean_dec(v_x_3393_);
v_r_3395_ = lean_box(v_res_3394_);
return v_r_3395_;
}
}
static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__1(void){
_start:
{
lean_object* v___x_3397_; lean_object* v___x_3398_; lean_object* v___x_3399_; 
v___x_3397_ = lean_box(0);
v___x_3398_ = lean_unsigned_to_nat(16u);
v___x_3399_ = lean_mk_array(v___x_3398_, v___x_3397_);
return v___x_3399_;
}
}
static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2(void){
_start:
{
lean_object* v___x_3400_; lean_object* v___x_3401_; lean_object* v___x_3402_; 
v___x_3400_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__1, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__1_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__1);
v___x_3401_ = lean_unsigned_to_nat(0u);
v___x_3402_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3402_, 0, v___x_3401_);
lean_ctor_set(v___x_3402_, 1, v___x_3400_);
return v___x_3402_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg(lean_object* v_as_3403_, size_t v_sz_3404_, size_t v_i_3405_, lean_object* v_b_3406_, lean_object* v___y_3407_){
_start:
{
uint8_t v___x_3409_; 
v___x_3409_ = lean_usize_dec_lt(v_i_3405_, v_sz_3404_);
if (v___x_3409_ == 0)
{
lean_object* v___x_3410_; 
v___x_3410_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3410_, 0, v_b_3406_);
return v___x_3410_;
}
else
{
lean_object* v_snd_3411_; lean_object* v___x_3413_; uint8_t v_isShared_3414_; uint8_t v_isSharedCheck_3542_; 
v_snd_3411_ = lean_ctor_get(v_b_3406_, 1);
v_isSharedCheck_3542_ = !lean_is_exclusive(v_b_3406_);
if (v_isSharedCheck_3542_ == 0)
{
lean_object* v_unused_3543_; 
v_unused_3543_ = lean_ctor_get(v_b_3406_, 0);
lean_dec(v_unused_3543_);
v___x_3413_ = v_b_3406_;
v_isShared_3414_ = v_isSharedCheck_3542_;
goto v_resetjp_3412_;
}
else
{
lean_inc(v_snd_3411_);
lean_dec(v_b_3406_);
v___x_3413_ = lean_box(0);
v_isShared_3414_ = v_isSharedCheck_3542_;
goto v_resetjp_3412_;
}
v_resetjp_3412_:
{
lean_object* v___x_3415_; lean_object* v_a_3417_; lean_object* v_a_3424_; 
v___x_3415_ = lean_box(0);
v_a_3424_ = lean_array_uget_borrowed(v_as_3403_, v_i_3405_);
if (lean_obj_tag(v_a_3424_) == 0)
{
v_a_3417_ = v_snd_3411_;
goto v___jp_3416_;
}
else
{
lean_object* v_val_3425_; uint8_t v_a_3427_; lean_object* v___f_3430_; lean_object* v___f_3431_; 
v_val_3425_ = lean_ctor_get(v_a_3424_, 0);
v___f_3430_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__0));
lean_inc(v_snd_3411_);
v___f_3431_ = lean_alloc_closure((void*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3___lam__1___boxed), 2, 1);
lean_closure_set(v___f_3431_, 0, v_snd_3411_);
if (lean_obj_tag(v_val_3425_) == 0)
{
lean_object* v_type_3432_; lean_object* v___x_3433_; uint8_t v_fst_3435_; lean_object* v_mctx_3436_; lean_object* v___y_3452_; lean_object* v_mctx_3457_; lean_object* v___x_3458_; lean_object* v___x_3459_; uint8_t v___x_3460_; 
v_type_3432_ = lean_ctor_get(v_val_3425_, 3);
v___x_3433_ = lean_st_ref_get(v___y_3407_);
v_mctx_3457_ = lean_ctor_get(v___x_3433_, 0);
lean_inc_ref(v_mctx_3457_);
lean_dec(v___x_3433_);
v___x_3458_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2);
lean_inc_ref(v_mctx_3457_);
v___x_3459_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3459_, 0, v___x_3458_);
lean_ctor_set(v___x_3459_, 1, v_mctx_3457_);
v___x_3460_ = l_Lean_Expr_hasFVar(v_type_3432_);
if (v___x_3460_ == 0)
{
uint8_t v___x_3461_; 
v___x_3461_ = l_Lean_Expr_hasMVar(v_type_3432_);
if (v___x_3461_ == 0)
{
lean_dec_ref(v___x_3459_);
lean_dec_ref(v___f_3431_);
v_fst_3435_ = v___x_3461_;
v_mctx_3436_ = v_mctx_3457_;
goto v___jp_3434_;
}
else
{
lean_object* v___x_3462_; 
lean_dec_ref(v_mctx_3457_);
lean_inc_ref(v_type_3432_);
v___x_3462_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3431_, v___f_3430_, v_type_3432_, v___x_3459_);
v___y_3452_ = v___x_3462_;
goto v___jp_3451_;
}
}
else
{
lean_object* v___x_3463_; 
lean_dec_ref(v_mctx_3457_);
lean_inc_ref(v_type_3432_);
v___x_3463_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3431_, v___f_3430_, v_type_3432_, v___x_3459_);
v___y_3452_ = v___x_3463_;
goto v___jp_3451_;
}
v___jp_3434_:
{
lean_object* v___x_3437_; lean_object* v_cache_3438_; lean_object* v_zetaDeltaFVarIds_3439_; lean_object* v_postponed_3440_; lean_object* v_diag_3441_; lean_object* v___x_3443_; uint8_t v_isShared_3444_; uint8_t v_isSharedCheck_3449_; 
v___x_3437_ = lean_st_ref_take(v___y_3407_);
v_cache_3438_ = lean_ctor_get(v___x_3437_, 1);
v_zetaDeltaFVarIds_3439_ = lean_ctor_get(v___x_3437_, 2);
v_postponed_3440_ = lean_ctor_get(v___x_3437_, 3);
v_diag_3441_ = lean_ctor_get(v___x_3437_, 4);
v_isSharedCheck_3449_ = !lean_is_exclusive(v___x_3437_);
if (v_isSharedCheck_3449_ == 0)
{
lean_object* v_unused_3450_; 
v_unused_3450_ = lean_ctor_get(v___x_3437_, 0);
lean_dec(v_unused_3450_);
v___x_3443_ = v___x_3437_;
v_isShared_3444_ = v_isSharedCheck_3449_;
goto v_resetjp_3442_;
}
else
{
lean_inc(v_diag_3441_);
lean_inc(v_postponed_3440_);
lean_inc(v_zetaDeltaFVarIds_3439_);
lean_inc(v_cache_3438_);
lean_dec(v___x_3437_);
v___x_3443_ = lean_box(0);
v_isShared_3444_ = v_isSharedCheck_3449_;
goto v_resetjp_3442_;
}
v_resetjp_3442_:
{
lean_object* v___x_3446_; 
if (v_isShared_3444_ == 0)
{
lean_ctor_set(v___x_3443_, 0, v_mctx_3436_);
v___x_3446_ = v___x_3443_;
goto v_reusejp_3445_;
}
else
{
lean_object* v_reuseFailAlloc_3448_; 
v_reuseFailAlloc_3448_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_3448_, 0, v_mctx_3436_);
lean_ctor_set(v_reuseFailAlloc_3448_, 1, v_cache_3438_);
lean_ctor_set(v_reuseFailAlloc_3448_, 2, v_zetaDeltaFVarIds_3439_);
lean_ctor_set(v_reuseFailAlloc_3448_, 3, v_postponed_3440_);
lean_ctor_set(v_reuseFailAlloc_3448_, 4, v_diag_3441_);
v___x_3446_ = v_reuseFailAlloc_3448_;
goto v_reusejp_3445_;
}
v_reusejp_3445_:
{
lean_object* v___x_3447_; 
v___x_3447_ = lean_st_ref_set(v___y_3407_, v___x_3446_);
v_a_3427_ = v_fst_3435_;
goto v___jp_3426_;
}
}
}
v___jp_3451_:
{
lean_object* v_snd_3453_; lean_object* v_fst_3454_; lean_object* v_mctx_3455_; uint8_t v___x_3456_; 
v_snd_3453_ = lean_ctor_get(v___y_3452_, 1);
lean_inc(v_snd_3453_);
v_fst_3454_ = lean_ctor_get(v___y_3452_, 0);
lean_inc(v_fst_3454_);
lean_dec_ref(v___y_3452_);
v_mctx_3455_ = lean_ctor_get(v_snd_3453_, 1);
lean_inc_ref(v_mctx_3455_);
lean_dec(v_snd_3453_);
v___x_3456_ = lean_unbox(v_fst_3454_);
lean_dec(v_fst_3454_);
v_fst_3435_ = v___x_3456_;
v_mctx_3436_ = v_mctx_3455_;
goto v___jp_3434_;
}
}
else
{
uint8_t v_nondep_3464_; 
v_nondep_3464_ = lean_ctor_get_uint8(v_val_3425_, sizeof(void*)*5);
if (v_nondep_3464_ == 0)
{
lean_object* v_type_3465_; lean_object* v_value_3466_; lean_object* v___x_3467_; uint8_t v_fst_3469_; lean_object* v_snd_3470_; lean_object* v___y_3487_; uint8_t v_fst_3492_; lean_object* v_snd_3493_; lean_object* v___y_3499_; lean_object* v_mctx_3503_; lean_object* v___x_3504_; lean_object* v___x_3505_; uint8_t v___x_3506_; 
v_type_3465_ = lean_ctor_get(v_val_3425_, 3);
v_value_3466_ = lean_ctor_get(v_val_3425_, 4);
v___x_3467_ = lean_st_ref_get(v___y_3407_);
v_mctx_3503_ = lean_ctor_get(v___x_3467_, 0);
lean_inc_ref(v_mctx_3503_);
lean_dec(v___x_3467_);
v___x_3504_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2);
v___x_3505_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3505_, 0, v___x_3504_);
lean_ctor_set(v___x_3505_, 1, v_mctx_3503_);
v___x_3506_ = l_Lean_Expr_hasFVar(v_type_3465_);
if (v___x_3506_ == 0)
{
uint8_t v___x_3507_; 
v___x_3507_ = l_Lean_Expr_hasMVar(v_type_3465_);
if (v___x_3507_ == 0)
{
v_fst_3492_ = v___x_3507_;
v_snd_3493_ = v___x_3505_;
goto v___jp_3491_;
}
else
{
lean_object* v___x_3508_; 
lean_inc_ref(v_type_3465_);
lean_inc_ref(v___f_3431_);
v___x_3508_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3431_, v___f_3430_, v_type_3465_, v___x_3505_);
v___y_3499_ = v___x_3508_;
goto v___jp_3498_;
}
}
else
{
lean_object* v___x_3509_; 
lean_inc_ref(v_type_3465_);
lean_inc_ref(v___f_3431_);
v___x_3509_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3431_, v___f_3430_, v_type_3465_, v___x_3505_);
v___y_3499_ = v___x_3509_;
goto v___jp_3498_;
}
v___jp_3468_:
{
lean_object* v_mctx_3471_; lean_object* v___x_3472_; lean_object* v_cache_3473_; lean_object* v_zetaDeltaFVarIds_3474_; lean_object* v_postponed_3475_; lean_object* v_diag_3476_; lean_object* v___x_3478_; uint8_t v_isShared_3479_; uint8_t v_isSharedCheck_3484_; 
v_mctx_3471_ = lean_ctor_get(v_snd_3470_, 1);
lean_inc_ref(v_mctx_3471_);
lean_dec_ref(v_snd_3470_);
v___x_3472_ = lean_st_ref_take(v___y_3407_);
v_cache_3473_ = lean_ctor_get(v___x_3472_, 1);
v_zetaDeltaFVarIds_3474_ = lean_ctor_get(v___x_3472_, 2);
v_postponed_3475_ = lean_ctor_get(v___x_3472_, 3);
v_diag_3476_ = lean_ctor_get(v___x_3472_, 4);
v_isSharedCheck_3484_ = !lean_is_exclusive(v___x_3472_);
if (v_isSharedCheck_3484_ == 0)
{
lean_object* v_unused_3485_; 
v_unused_3485_ = lean_ctor_get(v___x_3472_, 0);
lean_dec(v_unused_3485_);
v___x_3478_ = v___x_3472_;
v_isShared_3479_ = v_isSharedCheck_3484_;
goto v_resetjp_3477_;
}
else
{
lean_inc(v_diag_3476_);
lean_inc(v_postponed_3475_);
lean_inc(v_zetaDeltaFVarIds_3474_);
lean_inc(v_cache_3473_);
lean_dec(v___x_3472_);
v___x_3478_ = lean_box(0);
v_isShared_3479_ = v_isSharedCheck_3484_;
goto v_resetjp_3477_;
}
v_resetjp_3477_:
{
lean_object* v___x_3481_; 
if (v_isShared_3479_ == 0)
{
lean_ctor_set(v___x_3478_, 0, v_mctx_3471_);
v___x_3481_ = v___x_3478_;
goto v_reusejp_3480_;
}
else
{
lean_object* v_reuseFailAlloc_3483_; 
v_reuseFailAlloc_3483_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_3483_, 0, v_mctx_3471_);
lean_ctor_set(v_reuseFailAlloc_3483_, 1, v_cache_3473_);
lean_ctor_set(v_reuseFailAlloc_3483_, 2, v_zetaDeltaFVarIds_3474_);
lean_ctor_set(v_reuseFailAlloc_3483_, 3, v_postponed_3475_);
lean_ctor_set(v_reuseFailAlloc_3483_, 4, v_diag_3476_);
v___x_3481_ = v_reuseFailAlloc_3483_;
goto v_reusejp_3480_;
}
v_reusejp_3480_:
{
lean_object* v___x_3482_; 
v___x_3482_ = lean_st_ref_set(v___y_3407_, v___x_3481_);
v_a_3427_ = v_fst_3469_;
goto v___jp_3426_;
}
}
}
v___jp_3486_:
{
lean_object* v_fst_3488_; lean_object* v_snd_3489_; uint8_t v___x_3490_; 
v_fst_3488_ = lean_ctor_get(v___y_3487_, 0);
lean_inc(v_fst_3488_);
v_snd_3489_ = lean_ctor_get(v___y_3487_, 1);
lean_inc(v_snd_3489_);
lean_dec_ref(v___y_3487_);
v___x_3490_ = lean_unbox(v_fst_3488_);
lean_dec(v_fst_3488_);
v_fst_3469_ = v___x_3490_;
v_snd_3470_ = v_snd_3489_;
goto v___jp_3468_;
}
v___jp_3491_:
{
if (v_fst_3492_ == 0)
{
uint8_t v___x_3494_; 
v___x_3494_ = l_Lean_Expr_hasFVar(v_value_3466_);
if (v___x_3494_ == 0)
{
uint8_t v___x_3495_; 
v___x_3495_ = l_Lean_Expr_hasMVar(v_value_3466_);
if (v___x_3495_ == 0)
{
lean_dec_ref(v___f_3431_);
v_fst_3469_ = v___x_3495_;
v_snd_3470_ = v_snd_3493_;
goto v___jp_3468_;
}
else
{
lean_object* v___x_3496_; 
lean_inc_ref(v_value_3466_);
v___x_3496_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3431_, v___f_3430_, v_value_3466_, v_snd_3493_);
v___y_3487_ = v___x_3496_;
goto v___jp_3486_;
}
}
else
{
lean_object* v___x_3497_; 
lean_inc_ref(v_value_3466_);
v___x_3497_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3431_, v___f_3430_, v_value_3466_, v_snd_3493_);
v___y_3487_ = v___x_3497_;
goto v___jp_3486_;
}
}
else
{
lean_dec_ref(v___f_3431_);
v_fst_3469_ = v_fst_3492_;
v_snd_3470_ = v_snd_3493_;
goto v___jp_3468_;
}
}
v___jp_3498_:
{
lean_object* v_fst_3500_; lean_object* v_snd_3501_; uint8_t v___x_3502_; 
v_fst_3500_ = lean_ctor_get(v___y_3499_, 0);
lean_inc(v_fst_3500_);
v_snd_3501_ = lean_ctor_get(v___y_3499_, 1);
lean_inc(v_snd_3501_);
lean_dec_ref(v___y_3499_);
v___x_3502_ = lean_unbox(v_fst_3500_);
lean_dec(v_fst_3500_);
v_fst_3492_ = v___x_3502_;
v_snd_3493_ = v_snd_3501_;
goto v___jp_3491_;
}
}
else
{
lean_object* v_type_3510_; lean_object* v___x_3511_; uint8_t v_fst_3513_; lean_object* v_mctx_3514_; lean_object* v___y_3530_; lean_object* v_mctx_3535_; lean_object* v___x_3536_; lean_object* v___x_3537_; uint8_t v___x_3538_; 
v_type_3510_ = lean_ctor_get(v_val_3425_, 3);
v___x_3511_ = lean_st_ref_get(v___y_3407_);
v_mctx_3535_ = lean_ctor_get(v___x_3511_, 0);
lean_inc_ref(v_mctx_3535_);
lean_dec(v___x_3511_);
v___x_3536_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2);
lean_inc_ref(v_mctx_3535_);
v___x_3537_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3537_, 0, v___x_3536_);
lean_ctor_set(v___x_3537_, 1, v_mctx_3535_);
v___x_3538_ = l_Lean_Expr_hasFVar(v_type_3510_);
if (v___x_3538_ == 0)
{
uint8_t v___x_3539_; 
v___x_3539_ = l_Lean_Expr_hasMVar(v_type_3510_);
if (v___x_3539_ == 0)
{
lean_dec_ref(v___x_3537_);
lean_dec_ref(v___f_3431_);
v_fst_3513_ = v___x_3539_;
v_mctx_3514_ = v_mctx_3535_;
goto v___jp_3512_;
}
else
{
lean_object* v___x_3540_; 
lean_dec_ref(v_mctx_3535_);
lean_inc_ref(v_type_3510_);
v___x_3540_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3431_, v___f_3430_, v_type_3510_, v___x_3537_);
v___y_3530_ = v___x_3540_;
goto v___jp_3529_;
}
}
else
{
lean_object* v___x_3541_; 
lean_dec_ref(v_mctx_3535_);
lean_inc_ref(v_type_3510_);
v___x_3541_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3431_, v___f_3430_, v_type_3510_, v___x_3537_);
v___y_3530_ = v___x_3541_;
goto v___jp_3529_;
}
v___jp_3512_:
{
lean_object* v___x_3515_; lean_object* v_cache_3516_; lean_object* v_zetaDeltaFVarIds_3517_; lean_object* v_postponed_3518_; lean_object* v_diag_3519_; lean_object* v___x_3521_; uint8_t v_isShared_3522_; uint8_t v_isSharedCheck_3527_; 
v___x_3515_ = lean_st_ref_take(v___y_3407_);
v_cache_3516_ = lean_ctor_get(v___x_3515_, 1);
v_zetaDeltaFVarIds_3517_ = lean_ctor_get(v___x_3515_, 2);
v_postponed_3518_ = lean_ctor_get(v___x_3515_, 3);
v_diag_3519_ = lean_ctor_get(v___x_3515_, 4);
v_isSharedCheck_3527_ = !lean_is_exclusive(v___x_3515_);
if (v_isSharedCheck_3527_ == 0)
{
lean_object* v_unused_3528_; 
v_unused_3528_ = lean_ctor_get(v___x_3515_, 0);
lean_dec(v_unused_3528_);
v___x_3521_ = v___x_3515_;
v_isShared_3522_ = v_isSharedCheck_3527_;
goto v_resetjp_3520_;
}
else
{
lean_inc(v_diag_3519_);
lean_inc(v_postponed_3518_);
lean_inc(v_zetaDeltaFVarIds_3517_);
lean_inc(v_cache_3516_);
lean_dec(v___x_3515_);
v___x_3521_ = lean_box(0);
v_isShared_3522_ = v_isSharedCheck_3527_;
goto v_resetjp_3520_;
}
v_resetjp_3520_:
{
lean_object* v___x_3524_; 
if (v_isShared_3522_ == 0)
{
lean_ctor_set(v___x_3521_, 0, v_mctx_3514_);
v___x_3524_ = v___x_3521_;
goto v_reusejp_3523_;
}
else
{
lean_object* v_reuseFailAlloc_3526_; 
v_reuseFailAlloc_3526_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_3526_, 0, v_mctx_3514_);
lean_ctor_set(v_reuseFailAlloc_3526_, 1, v_cache_3516_);
lean_ctor_set(v_reuseFailAlloc_3526_, 2, v_zetaDeltaFVarIds_3517_);
lean_ctor_set(v_reuseFailAlloc_3526_, 3, v_postponed_3518_);
lean_ctor_set(v_reuseFailAlloc_3526_, 4, v_diag_3519_);
v___x_3524_ = v_reuseFailAlloc_3526_;
goto v_reusejp_3523_;
}
v_reusejp_3523_:
{
lean_object* v___x_3525_; 
v___x_3525_ = lean_st_ref_set(v___y_3407_, v___x_3524_);
v_a_3427_ = v_fst_3513_;
goto v___jp_3426_;
}
}
}
v___jp_3529_:
{
lean_object* v_snd_3531_; lean_object* v_fst_3532_; lean_object* v_mctx_3533_; uint8_t v___x_3534_; 
v_snd_3531_ = lean_ctor_get(v___y_3530_, 1);
lean_inc(v_snd_3531_);
v_fst_3532_ = lean_ctor_get(v___y_3530_, 0);
lean_inc(v_fst_3532_);
lean_dec_ref(v___y_3530_);
v_mctx_3533_ = lean_ctor_get(v_snd_3531_, 1);
lean_inc_ref(v_mctx_3533_);
lean_dec(v_snd_3531_);
v___x_3534_ = lean_unbox(v_fst_3532_);
lean_dec(v_fst_3532_);
v_fst_3513_ = v___x_3534_;
v_mctx_3514_ = v_mctx_3533_;
goto v___jp_3512_;
}
}
}
v___jp_3426_:
{
if (v_a_3427_ == 0)
{
v_a_3417_ = v_snd_3411_;
goto v___jp_3416_;
}
else
{
lean_object* v___x_3428_; lean_object* v___x_3429_; 
v___x_3428_ = l_Lean_LocalDecl_fvarId(v_val_3425_);
v___x_3429_ = lean_array_push(v_snd_3411_, v___x_3428_);
v_a_3417_ = v___x_3429_;
goto v___jp_3416_;
}
}
}
v___jp_3416_:
{
lean_object* v___x_3419_; 
if (v_isShared_3414_ == 0)
{
lean_ctor_set(v___x_3413_, 1, v_a_3417_);
lean_ctor_set(v___x_3413_, 0, v___x_3415_);
v___x_3419_ = v___x_3413_;
goto v_reusejp_3418_;
}
else
{
lean_object* v_reuseFailAlloc_3423_; 
v_reuseFailAlloc_3423_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3423_, 0, v___x_3415_);
lean_ctor_set(v_reuseFailAlloc_3423_, 1, v_a_3417_);
v___x_3419_ = v_reuseFailAlloc_3423_;
goto v_reusejp_3418_;
}
v_reusejp_3418_:
{
size_t v___x_3420_; size_t v___x_3421_; 
v___x_3420_ = ((size_t)1ULL);
v___x_3421_ = lean_usize_add(v_i_3405_, v___x_3420_);
v_i_3405_ = v___x_3421_;
v_b_3406_ = v___x_3419_;
goto _start;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___boxed(lean_object* v_as_3544_, lean_object* v_sz_3545_, lean_object* v_i_3546_, lean_object* v_b_3547_, lean_object* v___y_3548_, lean_object* v___y_3549_){
_start:
{
size_t v_sz_boxed_3550_; size_t v_i_boxed_3551_; lean_object* v_res_3552_; 
v_sz_boxed_3550_ = lean_unbox_usize(v_sz_3545_);
lean_dec(v_sz_3545_);
v_i_boxed_3551_ = lean_unbox_usize(v_i_3546_);
lean_dec(v_i_3546_);
v_res_3552_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg(v_as_3544_, v_sz_boxed_3550_, v_i_boxed_3551_, v_b_3547_, v___y_3548_);
lean_dec(v___y_3548_);
lean_dec_ref(v_as_3544_);
return v_res_3552_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4(lean_object* v_as_3553_, size_t v_sz_3554_, size_t v_i_3555_, lean_object* v_b_3556_, lean_object* v___y_3557_, lean_object* v___y_3558_, lean_object* v___y_3559_, lean_object* v___y_3560_){
_start:
{
uint8_t v___x_3562_; 
v___x_3562_ = lean_usize_dec_lt(v_i_3555_, v_sz_3554_);
if (v___x_3562_ == 0)
{
lean_object* v___x_3563_; 
v___x_3563_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3563_, 0, v_b_3556_);
return v___x_3563_;
}
else
{
lean_object* v_snd_3564_; lean_object* v___x_3566_; uint8_t v_isShared_3567_; uint8_t v_isSharedCheck_3695_; 
v_snd_3564_ = lean_ctor_get(v_b_3556_, 1);
v_isSharedCheck_3695_ = !lean_is_exclusive(v_b_3556_);
if (v_isSharedCheck_3695_ == 0)
{
lean_object* v_unused_3696_; 
v_unused_3696_ = lean_ctor_get(v_b_3556_, 0);
lean_dec(v_unused_3696_);
v___x_3566_ = v_b_3556_;
v_isShared_3567_ = v_isSharedCheck_3695_;
goto v_resetjp_3565_;
}
else
{
lean_inc(v_snd_3564_);
lean_dec(v_b_3556_);
v___x_3566_ = lean_box(0);
v_isShared_3567_ = v_isSharedCheck_3695_;
goto v_resetjp_3565_;
}
v_resetjp_3565_:
{
lean_object* v___x_3568_; lean_object* v_a_3570_; lean_object* v_a_3577_; 
v___x_3568_ = lean_box(0);
v_a_3577_ = lean_array_uget_borrowed(v_as_3553_, v_i_3555_);
if (lean_obj_tag(v_a_3577_) == 0)
{
v_a_3570_ = v_snd_3564_;
goto v___jp_3569_;
}
else
{
lean_object* v_val_3578_; uint8_t v_a_3580_; lean_object* v___f_3583_; lean_object* v___f_3584_; 
v_val_3578_ = lean_ctor_get(v_a_3577_, 0);
v___f_3583_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__0));
lean_inc(v_snd_3564_);
v___f_3584_ = lean_alloc_closure((void*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3___lam__1___boxed), 2, 1);
lean_closure_set(v___f_3584_, 0, v_snd_3564_);
if (lean_obj_tag(v_val_3578_) == 0)
{
lean_object* v_type_3585_; lean_object* v___x_3586_; uint8_t v_fst_3588_; lean_object* v_mctx_3589_; lean_object* v___y_3605_; lean_object* v_mctx_3610_; lean_object* v___x_3611_; lean_object* v___x_3612_; uint8_t v___x_3613_; 
v_type_3585_ = lean_ctor_get(v_val_3578_, 3);
v___x_3586_ = lean_st_ref_get(v___y_3558_);
v_mctx_3610_ = lean_ctor_get(v___x_3586_, 0);
lean_inc_ref(v_mctx_3610_);
lean_dec(v___x_3586_);
v___x_3611_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2);
lean_inc_ref(v_mctx_3610_);
v___x_3612_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3612_, 0, v___x_3611_);
lean_ctor_set(v___x_3612_, 1, v_mctx_3610_);
v___x_3613_ = l_Lean_Expr_hasFVar(v_type_3585_);
if (v___x_3613_ == 0)
{
uint8_t v___x_3614_; 
v___x_3614_ = l_Lean_Expr_hasMVar(v_type_3585_);
if (v___x_3614_ == 0)
{
lean_dec_ref(v___x_3612_);
lean_dec_ref(v___f_3584_);
v_fst_3588_ = v___x_3614_;
v_mctx_3589_ = v_mctx_3610_;
goto v___jp_3587_;
}
else
{
lean_object* v___x_3615_; 
lean_dec_ref(v_mctx_3610_);
lean_inc_ref(v_type_3585_);
v___x_3615_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3584_, v___f_3583_, v_type_3585_, v___x_3612_);
v___y_3605_ = v___x_3615_;
goto v___jp_3604_;
}
}
else
{
lean_object* v___x_3616_; 
lean_dec_ref(v_mctx_3610_);
lean_inc_ref(v_type_3585_);
v___x_3616_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3584_, v___f_3583_, v_type_3585_, v___x_3612_);
v___y_3605_ = v___x_3616_;
goto v___jp_3604_;
}
v___jp_3587_:
{
lean_object* v___x_3590_; lean_object* v_cache_3591_; lean_object* v_zetaDeltaFVarIds_3592_; lean_object* v_postponed_3593_; lean_object* v_diag_3594_; lean_object* v___x_3596_; uint8_t v_isShared_3597_; uint8_t v_isSharedCheck_3602_; 
v___x_3590_ = lean_st_ref_take(v___y_3558_);
v_cache_3591_ = lean_ctor_get(v___x_3590_, 1);
v_zetaDeltaFVarIds_3592_ = lean_ctor_get(v___x_3590_, 2);
v_postponed_3593_ = lean_ctor_get(v___x_3590_, 3);
v_diag_3594_ = lean_ctor_get(v___x_3590_, 4);
v_isSharedCheck_3602_ = !lean_is_exclusive(v___x_3590_);
if (v_isSharedCheck_3602_ == 0)
{
lean_object* v_unused_3603_; 
v_unused_3603_ = lean_ctor_get(v___x_3590_, 0);
lean_dec(v_unused_3603_);
v___x_3596_ = v___x_3590_;
v_isShared_3597_ = v_isSharedCheck_3602_;
goto v_resetjp_3595_;
}
else
{
lean_inc(v_diag_3594_);
lean_inc(v_postponed_3593_);
lean_inc(v_zetaDeltaFVarIds_3592_);
lean_inc(v_cache_3591_);
lean_dec(v___x_3590_);
v___x_3596_ = lean_box(0);
v_isShared_3597_ = v_isSharedCheck_3602_;
goto v_resetjp_3595_;
}
v_resetjp_3595_:
{
lean_object* v___x_3599_; 
if (v_isShared_3597_ == 0)
{
lean_ctor_set(v___x_3596_, 0, v_mctx_3589_);
v___x_3599_ = v___x_3596_;
goto v_reusejp_3598_;
}
else
{
lean_object* v_reuseFailAlloc_3601_; 
v_reuseFailAlloc_3601_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_3601_, 0, v_mctx_3589_);
lean_ctor_set(v_reuseFailAlloc_3601_, 1, v_cache_3591_);
lean_ctor_set(v_reuseFailAlloc_3601_, 2, v_zetaDeltaFVarIds_3592_);
lean_ctor_set(v_reuseFailAlloc_3601_, 3, v_postponed_3593_);
lean_ctor_set(v_reuseFailAlloc_3601_, 4, v_diag_3594_);
v___x_3599_ = v_reuseFailAlloc_3601_;
goto v_reusejp_3598_;
}
v_reusejp_3598_:
{
lean_object* v___x_3600_; 
v___x_3600_ = lean_st_ref_set(v___y_3558_, v___x_3599_);
v_a_3580_ = v_fst_3588_;
goto v___jp_3579_;
}
}
}
v___jp_3604_:
{
lean_object* v_snd_3606_; lean_object* v_fst_3607_; lean_object* v_mctx_3608_; uint8_t v___x_3609_; 
v_snd_3606_ = lean_ctor_get(v___y_3605_, 1);
lean_inc(v_snd_3606_);
v_fst_3607_ = lean_ctor_get(v___y_3605_, 0);
lean_inc(v_fst_3607_);
lean_dec_ref(v___y_3605_);
v_mctx_3608_ = lean_ctor_get(v_snd_3606_, 1);
lean_inc_ref(v_mctx_3608_);
lean_dec(v_snd_3606_);
v___x_3609_ = lean_unbox(v_fst_3607_);
lean_dec(v_fst_3607_);
v_fst_3588_ = v___x_3609_;
v_mctx_3589_ = v_mctx_3608_;
goto v___jp_3587_;
}
}
else
{
uint8_t v_nondep_3617_; 
v_nondep_3617_ = lean_ctor_get_uint8(v_val_3578_, sizeof(void*)*5);
if (v_nondep_3617_ == 0)
{
lean_object* v_type_3618_; lean_object* v_value_3619_; lean_object* v___x_3620_; uint8_t v_fst_3622_; lean_object* v_snd_3623_; lean_object* v___y_3640_; uint8_t v_fst_3645_; lean_object* v_snd_3646_; lean_object* v___y_3652_; lean_object* v_mctx_3656_; lean_object* v___x_3657_; lean_object* v___x_3658_; uint8_t v___x_3659_; 
v_type_3618_ = lean_ctor_get(v_val_3578_, 3);
v_value_3619_ = lean_ctor_get(v_val_3578_, 4);
v___x_3620_ = lean_st_ref_get(v___y_3558_);
v_mctx_3656_ = lean_ctor_get(v___x_3620_, 0);
lean_inc_ref(v_mctx_3656_);
lean_dec(v___x_3620_);
v___x_3657_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2);
v___x_3658_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3658_, 0, v___x_3657_);
lean_ctor_set(v___x_3658_, 1, v_mctx_3656_);
v___x_3659_ = l_Lean_Expr_hasFVar(v_type_3618_);
if (v___x_3659_ == 0)
{
uint8_t v___x_3660_; 
v___x_3660_ = l_Lean_Expr_hasMVar(v_type_3618_);
if (v___x_3660_ == 0)
{
v_fst_3645_ = v___x_3660_;
v_snd_3646_ = v___x_3658_;
goto v___jp_3644_;
}
else
{
lean_object* v___x_3661_; 
lean_inc_ref(v_type_3618_);
lean_inc_ref(v___f_3584_);
v___x_3661_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3584_, v___f_3583_, v_type_3618_, v___x_3658_);
v___y_3652_ = v___x_3661_;
goto v___jp_3651_;
}
}
else
{
lean_object* v___x_3662_; 
lean_inc_ref(v_type_3618_);
lean_inc_ref(v___f_3584_);
v___x_3662_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3584_, v___f_3583_, v_type_3618_, v___x_3658_);
v___y_3652_ = v___x_3662_;
goto v___jp_3651_;
}
v___jp_3621_:
{
lean_object* v_mctx_3624_; lean_object* v___x_3625_; lean_object* v_cache_3626_; lean_object* v_zetaDeltaFVarIds_3627_; lean_object* v_postponed_3628_; lean_object* v_diag_3629_; lean_object* v___x_3631_; uint8_t v_isShared_3632_; uint8_t v_isSharedCheck_3637_; 
v_mctx_3624_ = lean_ctor_get(v_snd_3623_, 1);
lean_inc_ref(v_mctx_3624_);
lean_dec_ref(v_snd_3623_);
v___x_3625_ = lean_st_ref_take(v___y_3558_);
v_cache_3626_ = lean_ctor_get(v___x_3625_, 1);
v_zetaDeltaFVarIds_3627_ = lean_ctor_get(v___x_3625_, 2);
v_postponed_3628_ = lean_ctor_get(v___x_3625_, 3);
v_diag_3629_ = lean_ctor_get(v___x_3625_, 4);
v_isSharedCheck_3637_ = !lean_is_exclusive(v___x_3625_);
if (v_isSharedCheck_3637_ == 0)
{
lean_object* v_unused_3638_; 
v_unused_3638_ = lean_ctor_get(v___x_3625_, 0);
lean_dec(v_unused_3638_);
v___x_3631_ = v___x_3625_;
v_isShared_3632_ = v_isSharedCheck_3637_;
goto v_resetjp_3630_;
}
else
{
lean_inc(v_diag_3629_);
lean_inc(v_postponed_3628_);
lean_inc(v_zetaDeltaFVarIds_3627_);
lean_inc(v_cache_3626_);
lean_dec(v___x_3625_);
v___x_3631_ = lean_box(0);
v_isShared_3632_ = v_isSharedCheck_3637_;
goto v_resetjp_3630_;
}
v_resetjp_3630_:
{
lean_object* v___x_3634_; 
if (v_isShared_3632_ == 0)
{
lean_ctor_set(v___x_3631_, 0, v_mctx_3624_);
v___x_3634_ = v___x_3631_;
goto v_reusejp_3633_;
}
else
{
lean_object* v_reuseFailAlloc_3636_; 
v_reuseFailAlloc_3636_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_3636_, 0, v_mctx_3624_);
lean_ctor_set(v_reuseFailAlloc_3636_, 1, v_cache_3626_);
lean_ctor_set(v_reuseFailAlloc_3636_, 2, v_zetaDeltaFVarIds_3627_);
lean_ctor_set(v_reuseFailAlloc_3636_, 3, v_postponed_3628_);
lean_ctor_set(v_reuseFailAlloc_3636_, 4, v_diag_3629_);
v___x_3634_ = v_reuseFailAlloc_3636_;
goto v_reusejp_3633_;
}
v_reusejp_3633_:
{
lean_object* v___x_3635_; 
v___x_3635_ = lean_st_ref_set(v___y_3558_, v___x_3634_);
v_a_3580_ = v_fst_3622_;
goto v___jp_3579_;
}
}
}
v___jp_3639_:
{
lean_object* v_fst_3641_; lean_object* v_snd_3642_; uint8_t v___x_3643_; 
v_fst_3641_ = lean_ctor_get(v___y_3640_, 0);
lean_inc(v_fst_3641_);
v_snd_3642_ = lean_ctor_get(v___y_3640_, 1);
lean_inc(v_snd_3642_);
lean_dec_ref(v___y_3640_);
v___x_3643_ = lean_unbox(v_fst_3641_);
lean_dec(v_fst_3641_);
v_fst_3622_ = v___x_3643_;
v_snd_3623_ = v_snd_3642_;
goto v___jp_3621_;
}
v___jp_3644_:
{
if (v_fst_3645_ == 0)
{
uint8_t v___x_3647_; 
v___x_3647_ = l_Lean_Expr_hasFVar(v_value_3619_);
if (v___x_3647_ == 0)
{
uint8_t v___x_3648_; 
v___x_3648_ = l_Lean_Expr_hasMVar(v_value_3619_);
if (v___x_3648_ == 0)
{
lean_dec_ref(v___f_3584_);
v_fst_3622_ = v___x_3648_;
v_snd_3623_ = v_snd_3646_;
goto v___jp_3621_;
}
else
{
lean_object* v___x_3649_; 
lean_inc_ref(v_value_3619_);
v___x_3649_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3584_, v___f_3583_, v_value_3619_, v_snd_3646_);
v___y_3640_ = v___x_3649_;
goto v___jp_3639_;
}
}
else
{
lean_object* v___x_3650_; 
lean_inc_ref(v_value_3619_);
v___x_3650_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3584_, v___f_3583_, v_value_3619_, v_snd_3646_);
v___y_3640_ = v___x_3650_;
goto v___jp_3639_;
}
}
else
{
lean_dec_ref(v___f_3584_);
v_fst_3622_ = v_fst_3645_;
v_snd_3623_ = v_snd_3646_;
goto v___jp_3621_;
}
}
v___jp_3651_:
{
lean_object* v_fst_3653_; lean_object* v_snd_3654_; uint8_t v___x_3655_; 
v_fst_3653_ = lean_ctor_get(v___y_3652_, 0);
lean_inc(v_fst_3653_);
v_snd_3654_ = lean_ctor_get(v___y_3652_, 1);
lean_inc(v_snd_3654_);
lean_dec_ref(v___y_3652_);
v___x_3655_ = lean_unbox(v_fst_3653_);
lean_dec(v_fst_3653_);
v_fst_3645_ = v___x_3655_;
v_snd_3646_ = v_snd_3654_;
goto v___jp_3644_;
}
}
else
{
lean_object* v_type_3663_; lean_object* v___x_3664_; uint8_t v_fst_3666_; lean_object* v_mctx_3667_; lean_object* v___y_3683_; lean_object* v_mctx_3688_; lean_object* v___x_3689_; lean_object* v___x_3690_; uint8_t v___x_3691_; 
v_type_3663_ = lean_ctor_get(v_val_3578_, 3);
v___x_3664_ = lean_st_ref_get(v___y_3558_);
v_mctx_3688_ = lean_ctor_get(v___x_3664_, 0);
lean_inc_ref(v_mctx_3688_);
lean_dec(v___x_3664_);
v___x_3689_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2);
lean_inc_ref(v_mctx_3688_);
v___x_3690_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3690_, 0, v___x_3689_);
lean_ctor_set(v___x_3690_, 1, v_mctx_3688_);
v___x_3691_ = l_Lean_Expr_hasFVar(v_type_3663_);
if (v___x_3691_ == 0)
{
uint8_t v___x_3692_; 
v___x_3692_ = l_Lean_Expr_hasMVar(v_type_3663_);
if (v___x_3692_ == 0)
{
lean_dec_ref(v___x_3690_);
lean_dec_ref(v___f_3584_);
v_fst_3666_ = v___x_3692_;
v_mctx_3667_ = v_mctx_3688_;
goto v___jp_3665_;
}
else
{
lean_object* v___x_3693_; 
lean_dec_ref(v_mctx_3688_);
lean_inc_ref(v_type_3663_);
v___x_3693_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3584_, v___f_3583_, v_type_3663_, v___x_3690_);
v___y_3683_ = v___x_3693_;
goto v___jp_3682_;
}
}
else
{
lean_object* v___x_3694_; 
lean_dec_ref(v_mctx_3688_);
lean_inc_ref(v_type_3663_);
v___x_3694_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3584_, v___f_3583_, v_type_3663_, v___x_3690_);
v___y_3683_ = v___x_3694_;
goto v___jp_3682_;
}
v___jp_3665_:
{
lean_object* v___x_3668_; lean_object* v_cache_3669_; lean_object* v_zetaDeltaFVarIds_3670_; lean_object* v_postponed_3671_; lean_object* v_diag_3672_; lean_object* v___x_3674_; uint8_t v_isShared_3675_; uint8_t v_isSharedCheck_3680_; 
v___x_3668_ = lean_st_ref_take(v___y_3558_);
v_cache_3669_ = lean_ctor_get(v___x_3668_, 1);
v_zetaDeltaFVarIds_3670_ = lean_ctor_get(v___x_3668_, 2);
v_postponed_3671_ = lean_ctor_get(v___x_3668_, 3);
v_diag_3672_ = lean_ctor_get(v___x_3668_, 4);
v_isSharedCheck_3680_ = !lean_is_exclusive(v___x_3668_);
if (v_isSharedCheck_3680_ == 0)
{
lean_object* v_unused_3681_; 
v_unused_3681_ = lean_ctor_get(v___x_3668_, 0);
lean_dec(v_unused_3681_);
v___x_3674_ = v___x_3668_;
v_isShared_3675_ = v_isSharedCheck_3680_;
goto v_resetjp_3673_;
}
else
{
lean_inc(v_diag_3672_);
lean_inc(v_postponed_3671_);
lean_inc(v_zetaDeltaFVarIds_3670_);
lean_inc(v_cache_3669_);
lean_dec(v___x_3668_);
v___x_3674_ = lean_box(0);
v_isShared_3675_ = v_isSharedCheck_3680_;
goto v_resetjp_3673_;
}
v_resetjp_3673_:
{
lean_object* v___x_3677_; 
if (v_isShared_3675_ == 0)
{
lean_ctor_set(v___x_3674_, 0, v_mctx_3667_);
v___x_3677_ = v___x_3674_;
goto v_reusejp_3676_;
}
else
{
lean_object* v_reuseFailAlloc_3679_; 
v_reuseFailAlloc_3679_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_3679_, 0, v_mctx_3667_);
lean_ctor_set(v_reuseFailAlloc_3679_, 1, v_cache_3669_);
lean_ctor_set(v_reuseFailAlloc_3679_, 2, v_zetaDeltaFVarIds_3670_);
lean_ctor_set(v_reuseFailAlloc_3679_, 3, v_postponed_3671_);
lean_ctor_set(v_reuseFailAlloc_3679_, 4, v_diag_3672_);
v___x_3677_ = v_reuseFailAlloc_3679_;
goto v_reusejp_3676_;
}
v_reusejp_3676_:
{
lean_object* v___x_3678_; 
v___x_3678_ = lean_st_ref_set(v___y_3558_, v___x_3677_);
v_a_3580_ = v_fst_3666_;
goto v___jp_3579_;
}
}
}
v___jp_3682_:
{
lean_object* v_snd_3684_; lean_object* v_fst_3685_; lean_object* v_mctx_3686_; uint8_t v___x_3687_; 
v_snd_3684_ = lean_ctor_get(v___y_3683_, 1);
lean_inc(v_snd_3684_);
v_fst_3685_ = lean_ctor_get(v___y_3683_, 0);
lean_inc(v_fst_3685_);
lean_dec_ref(v___y_3683_);
v_mctx_3686_ = lean_ctor_get(v_snd_3684_, 1);
lean_inc_ref(v_mctx_3686_);
lean_dec(v_snd_3684_);
v___x_3687_ = lean_unbox(v_fst_3685_);
lean_dec(v_fst_3685_);
v_fst_3666_ = v___x_3687_;
v_mctx_3667_ = v_mctx_3686_;
goto v___jp_3665_;
}
}
}
v___jp_3579_:
{
if (v_a_3580_ == 0)
{
v_a_3570_ = v_snd_3564_;
goto v___jp_3569_;
}
else
{
lean_object* v___x_3581_; lean_object* v___x_3582_; 
v___x_3581_ = l_Lean_LocalDecl_fvarId(v_val_3578_);
v___x_3582_ = lean_array_push(v_snd_3564_, v___x_3581_);
v_a_3570_ = v___x_3582_;
goto v___jp_3569_;
}
}
}
v___jp_3569_:
{
lean_object* v___x_3572_; 
if (v_isShared_3567_ == 0)
{
lean_ctor_set(v___x_3566_, 1, v_a_3570_);
lean_ctor_set(v___x_3566_, 0, v___x_3568_);
v___x_3572_ = v___x_3566_;
goto v_reusejp_3571_;
}
else
{
lean_object* v_reuseFailAlloc_3576_; 
v_reuseFailAlloc_3576_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3576_, 0, v___x_3568_);
lean_ctor_set(v_reuseFailAlloc_3576_, 1, v_a_3570_);
v___x_3572_ = v_reuseFailAlloc_3576_;
goto v_reusejp_3571_;
}
v_reusejp_3571_:
{
size_t v___x_3573_; size_t v___x_3574_; lean_object* v___x_3575_; 
v___x_3573_ = ((size_t)1ULL);
v___x_3574_ = lean_usize_add(v_i_3555_, v___x_3573_);
v___x_3575_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg(v_as_3553_, v_sz_3554_, v___x_3574_, v___x_3572_, v___y_3558_);
return v___x_3575_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4___boxed(lean_object* v_as_3697_, lean_object* v_sz_3698_, lean_object* v_i_3699_, lean_object* v_b_3700_, lean_object* v___y_3701_, lean_object* v___y_3702_, lean_object* v___y_3703_, lean_object* v___y_3704_, lean_object* v___y_3705_){
_start:
{
size_t v_sz_boxed_3706_; size_t v_i_boxed_3707_; lean_object* v_res_3708_; 
v_sz_boxed_3706_ = lean_unbox_usize(v_sz_3698_);
lean_dec(v_sz_3698_);
v_i_boxed_3707_ = lean_unbox_usize(v_i_3699_);
lean_dec(v_i_3699_);
v_res_3708_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4(v_as_3697_, v_sz_boxed_3706_, v_i_boxed_3707_, v_b_3700_, v___y_3701_, v___y_3702_, v___y_3703_, v___y_3704_);
lean_dec(v___y_3704_);
lean_dec_ref(v___y_3703_);
lean_dec(v___y_3702_);
lean_dec_ref(v___y_3701_);
lean_dec_ref(v_as_3697_);
return v_res_3708_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2(lean_object* v_inh_3709_, lean_object* v_n_3710_, lean_object* v_b_3711_, lean_object* v___y_3712_, lean_object* v___y_3713_, lean_object* v___y_3714_, lean_object* v___y_3715_){
_start:
{
if (lean_obj_tag(v_n_3710_) == 0)
{
lean_object* v_cs_3717_; lean_object* v___x_3719_; uint8_t v_isShared_3720_; uint8_t v_isSharedCheck_3751_; 
v_cs_3717_ = lean_ctor_get(v_n_3710_, 0);
v_isSharedCheck_3751_ = !lean_is_exclusive(v_n_3710_);
if (v_isSharedCheck_3751_ == 0)
{
v___x_3719_ = v_n_3710_;
v_isShared_3720_ = v_isSharedCheck_3751_;
goto v_resetjp_3718_;
}
else
{
lean_inc(v_cs_3717_);
lean_dec(v_n_3710_);
v___x_3719_ = lean_box(0);
v_isShared_3720_ = v_isSharedCheck_3751_;
goto v_resetjp_3718_;
}
v_resetjp_3718_:
{
lean_object* v___x_3721_; lean_object* v___x_3722_; size_t v_sz_3723_; size_t v___x_3724_; lean_object* v___x_3725_; 
v___x_3721_ = lean_box(0);
v___x_3722_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3722_, 0, v___x_3721_);
lean_ctor_set(v___x_3722_, 1, v_b_3711_);
v_sz_3723_ = lean_array_size(v_cs_3717_);
v___x_3724_ = ((size_t)0ULL);
v___x_3725_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__3(v_inh_3709_, v_cs_3717_, v_sz_3723_, v___x_3724_, v___x_3722_, v___y_3712_, v___y_3713_, v___y_3714_, v___y_3715_);
lean_dec_ref(v_cs_3717_);
if (lean_obj_tag(v___x_3725_) == 0)
{
lean_object* v_a_3726_; lean_object* v___x_3728_; uint8_t v_isShared_3729_; uint8_t v_isSharedCheck_3742_; 
v_a_3726_ = lean_ctor_get(v___x_3725_, 0);
v_isSharedCheck_3742_ = !lean_is_exclusive(v___x_3725_);
if (v_isSharedCheck_3742_ == 0)
{
v___x_3728_ = v___x_3725_;
v_isShared_3729_ = v_isSharedCheck_3742_;
goto v_resetjp_3727_;
}
else
{
lean_inc(v_a_3726_);
lean_dec(v___x_3725_);
v___x_3728_ = lean_box(0);
v_isShared_3729_ = v_isSharedCheck_3742_;
goto v_resetjp_3727_;
}
v_resetjp_3727_:
{
lean_object* v_fst_3730_; 
v_fst_3730_ = lean_ctor_get(v_a_3726_, 0);
if (lean_obj_tag(v_fst_3730_) == 0)
{
lean_object* v_snd_3731_; lean_object* v___x_3733_; 
v_snd_3731_ = lean_ctor_get(v_a_3726_, 1);
lean_inc(v_snd_3731_);
lean_dec(v_a_3726_);
if (v_isShared_3720_ == 0)
{
lean_ctor_set_tag(v___x_3719_, 1);
lean_ctor_set(v___x_3719_, 0, v_snd_3731_);
v___x_3733_ = v___x_3719_;
goto v_reusejp_3732_;
}
else
{
lean_object* v_reuseFailAlloc_3737_; 
v_reuseFailAlloc_3737_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3737_, 0, v_snd_3731_);
v___x_3733_ = v_reuseFailAlloc_3737_;
goto v_reusejp_3732_;
}
v_reusejp_3732_:
{
lean_object* v___x_3735_; 
if (v_isShared_3729_ == 0)
{
lean_ctor_set(v___x_3728_, 0, v___x_3733_);
v___x_3735_ = v___x_3728_;
goto v_reusejp_3734_;
}
else
{
lean_object* v_reuseFailAlloc_3736_; 
v_reuseFailAlloc_3736_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3736_, 0, v___x_3733_);
v___x_3735_ = v_reuseFailAlloc_3736_;
goto v_reusejp_3734_;
}
v_reusejp_3734_:
{
return v___x_3735_;
}
}
}
else
{
lean_object* v_val_3738_; lean_object* v___x_3740_; 
lean_inc_ref(v_fst_3730_);
lean_dec(v_a_3726_);
lean_del_object(v___x_3719_);
v_val_3738_ = lean_ctor_get(v_fst_3730_, 0);
lean_inc(v_val_3738_);
lean_dec_ref(v_fst_3730_);
if (v_isShared_3729_ == 0)
{
lean_ctor_set(v___x_3728_, 0, v_val_3738_);
v___x_3740_ = v___x_3728_;
goto v_reusejp_3739_;
}
else
{
lean_object* v_reuseFailAlloc_3741_; 
v_reuseFailAlloc_3741_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3741_, 0, v_val_3738_);
v___x_3740_ = v_reuseFailAlloc_3741_;
goto v_reusejp_3739_;
}
v_reusejp_3739_:
{
return v___x_3740_;
}
}
}
}
else
{
lean_object* v_a_3743_; lean_object* v___x_3745_; uint8_t v_isShared_3746_; uint8_t v_isSharedCheck_3750_; 
lean_del_object(v___x_3719_);
v_a_3743_ = lean_ctor_get(v___x_3725_, 0);
v_isSharedCheck_3750_ = !lean_is_exclusive(v___x_3725_);
if (v_isSharedCheck_3750_ == 0)
{
v___x_3745_ = v___x_3725_;
v_isShared_3746_ = v_isSharedCheck_3750_;
goto v_resetjp_3744_;
}
else
{
lean_inc(v_a_3743_);
lean_dec(v___x_3725_);
v___x_3745_ = lean_box(0);
v_isShared_3746_ = v_isSharedCheck_3750_;
goto v_resetjp_3744_;
}
v_resetjp_3744_:
{
lean_object* v___x_3748_; 
if (v_isShared_3746_ == 0)
{
v___x_3748_ = v___x_3745_;
goto v_reusejp_3747_;
}
else
{
lean_object* v_reuseFailAlloc_3749_; 
v_reuseFailAlloc_3749_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3749_, 0, v_a_3743_);
v___x_3748_ = v_reuseFailAlloc_3749_;
goto v_reusejp_3747_;
}
v_reusejp_3747_:
{
return v___x_3748_;
}
}
}
}
}
else
{
lean_object* v_vs_3752_; lean_object* v___x_3754_; uint8_t v_isShared_3755_; uint8_t v_isSharedCheck_3786_; 
v_vs_3752_ = lean_ctor_get(v_n_3710_, 0);
v_isSharedCheck_3786_ = !lean_is_exclusive(v_n_3710_);
if (v_isSharedCheck_3786_ == 0)
{
v___x_3754_ = v_n_3710_;
v_isShared_3755_ = v_isSharedCheck_3786_;
goto v_resetjp_3753_;
}
else
{
lean_inc(v_vs_3752_);
lean_dec(v_n_3710_);
v___x_3754_ = lean_box(0);
v_isShared_3755_ = v_isSharedCheck_3786_;
goto v_resetjp_3753_;
}
v_resetjp_3753_:
{
lean_object* v___x_3756_; lean_object* v___x_3757_; size_t v_sz_3758_; size_t v___x_3759_; lean_object* v___x_3760_; 
v___x_3756_ = lean_box(0);
v___x_3757_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3757_, 0, v___x_3756_);
lean_ctor_set(v___x_3757_, 1, v_b_3711_);
v_sz_3758_ = lean_array_size(v_vs_3752_);
v___x_3759_ = ((size_t)0ULL);
v___x_3760_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4(v_vs_3752_, v_sz_3758_, v___x_3759_, v___x_3757_, v___y_3712_, v___y_3713_, v___y_3714_, v___y_3715_);
lean_dec_ref(v_vs_3752_);
if (lean_obj_tag(v___x_3760_) == 0)
{
lean_object* v_a_3761_; lean_object* v___x_3763_; uint8_t v_isShared_3764_; uint8_t v_isSharedCheck_3777_; 
v_a_3761_ = lean_ctor_get(v___x_3760_, 0);
v_isSharedCheck_3777_ = !lean_is_exclusive(v___x_3760_);
if (v_isSharedCheck_3777_ == 0)
{
v___x_3763_ = v___x_3760_;
v_isShared_3764_ = v_isSharedCheck_3777_;
goto v_resetjp_3762_;
}
else
{
lean_inc(v_a_3761_);
lean_dec(v___x_3760_);
v___x_3763_ = lean_box(0);
v_isShared_3764_ = v_isSharedCheck_3777_;
goto v_resetjp_3762_;
}
v_resetjp_3762_:
{
lean_object* v_fst_3765_; 
v_fst_3765_ = lean_ctor_get(v_a_3761_, 0);
if (lean_obj_tag(v_fst_3765_) == 0)
{
lean_object* v_snd_3766_; lean_object* v___x_3768_; 
v_snd_3766_ = lean_ctor_get(v_a_3761_, 1);
lean_inc(v_snd_3766_);
lean_dec(v_a_3761_);
if (v_isShared_3755_ == 0)
{
lean_ctor_set(v___x_3754_, 0, v_snd_3766_);
v___x_3768_ = v___x_3754_;
goto v_reusejp_3767_;
}
else
{
lean_object* v_reuseFailAlloc_3772_; 
v_reuseFailAlloc_3772_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3772_, 0, v_snd_3766_);
v___x_3768_ = v_reuseFailAlloc_3772_;
goto v_reusejp_3767_;
}
v_reusejp_3767_:
{
lean_object* v___x_3770_; 
if (v_isShared_3764_ == 0)
{
lean_ctor_set(v___x_3763_, 0, v___x_3768_);
v___x_3770_ = v___x_3763_;
goto v_reusejp_3769_;
}
else
{
lean_object* v_reuseFailAlloc_3771_; 
v_reuseFailAlloc_3771_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3771_, 0, v___x_3768_);
v___x_3770_ = v_reuseFailAlloc_3771_;
goto v_reusejp_3769_;
}
v_reusejp_3769_:
{
return v___x_3770_;
}
}
}
else
{
lean_object* v_val_3773_; lean_object* v___x_3775_; 
lean_inc_ref(v_fst_3765_);
lean_dec(v_a_3761_);
lean_del_object(v___x_3754_);
v_val_3773_ = lean_ctor_get(v_fst_3765_, 0);
lean_inc(v_val_3773_);
lean_dec_ref(v_fst_3765_);
if (v_isShared_3764_ == 0)
{
lean_ctor_set(v___x_3763_, 0, v_val_3773_);
v___x_3775_ = v___x_3763_;
goto v_reusejp_3774_;
}
else
{
lean_object* v_reuseFailAlloc_3776_; 
v_reuseFailAlloc_3776_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3776_, 0, v_val_3773_);
v___x_3775_ = v_reuseFailAlloc_3776_;
goto v_reusejp_3774_;
}
v_reusejp_3774_:
{
return v___x_3775_;
}
}
}
}
else
{
lean_object* v_a_3778_; lean_object* v___x_3780_; uint8_t v_isShared_3781_; uint8_t v_isSharedCheck_3785_; 
lean_del_object(v___x_3754_);
v_a_3778_ = lean_ctor_get(v___x_3760_, 0);
v_isSharedCheck_3785_ = !lean_is_exclusive(v___x_3760_);
if (v_isSharedCheck_3785_ == 0)
{
v___x_3780_ = v___x_3760_;
v_isShared_3781_ = v_isSharedCheck_3785_;
goto v_resetjp_3779_;
}
else
{
lean_inc(v_a_3778_);
lean_dec(v___x_3760_);
v___x_3780_ = lean_box(0);
v_isShared_3781_ = v_isSharedCheck_3785_;
goto v_resetjp_3779_;
}
v_resetjp_3779_:
{
lean_object* v___x_3783_; 
if (v_isShared_3781_ == 0)
{
v___x_3783_ = v___x_3780_;
goto v_reusejp_3782_;
}
else
{
lean_object* v_reuseFailAlloc_3784_; 
v_reuseFailAlloc_3784_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3784_, 0, v_a_3778_);
v___x_3783_ = v_reuseFailAlloc_3784_;
goto v_reusejp_3782_;
}
v_reusejp_3782_:
{
return v___x_3783_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__3(lean_object* v_inh_3787_, lean_object* v_as_3788_, size_t v_sz_3789_, size_t v_i_3790_, lean_object* v_b_3791_, lean_object* v___y_3792_, lean_object* v___y_3793_, lean_object* v___y_3794_, lean_object* v___y_3795_){
_start:
{
uint8_t v___x_3797_; 
v___x_3797_ = lean_usize_dec_lt(v_i_3790_, v_sz_3789_);
if (v___x_3797_ == 0)
{
lean_object* v___x_3798_; 
v___x_3798_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3798_, 0, v_b_3791_);
return v___x_3798_;
}
else
{
lean_object* v_snd_3799_; lean_object* v___x_3801_; uint8_t v_isShared_3802_; uint8_t v_isSharedCheck_3833_; 
v_snd_3799_ = lean_ctor_get(v_b_3791_, 1);
v_isSharedCheck_3833_ = !lean_is_exclusive(v_b_3791_);
if (v_isSharedCheck_3833_ == 0)
{
lean_object* v_unused_3834_; 
v_unused_3834_ = lean_ctor_get(v_b_3791_, 0);
lean_dec(v_unused_3834_);
v___x_3801_ = v_b_3791_;
v_isShared_3802_ = v_isSharedCheck_3833_;
goto v_resetjp_3800_;
}
else
{
lean_inc(v_snd_3799_);
lean_dec(v_b_3791_);
v___x_3801_ = lean_box(0);
v_isShared_3802_ = v_isSharedCheck_3833_;
goto v_resetjp_3800_;
}
v_resetjp_3800_:
{
lean_object* v_a_3803_; lean_object* v___x_3804_; 
v_a_3803_ = lean_array_uget_borrowed(v_as_3788_, v_i_3790_);
lean_inc(v_snd_3799_);
lean_inc(v_a_3803_);
v___x_3804_ = l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2(v_inh_3787_, v_a_3803_, v_snd_3799_, v___y_3792_, v___y_3793_, v___y_3794_, v___y_3795_);
if (lean_obj_tag(v___x_3804_) == 0)
{
lean_object* v_a_3805_; lean_object* v___x_3807_; uint8_t v_isShared_3808_; uint8_t v_isSharedCheck_3824_; 
v_a_3805_ = lean_ctor_get(v___x_3804_, 0);
v_isSharedCheck_3824_ = !lean_is_exclusive(v___x_3804_);
if (v_isSharedCheck_3824_ == 0)
{
v___x_3807_ = v___x_3804_;
v_isShared_3808_ = v_isSharedCheck_3824_;
goto v_resetjp_3806_;
}
else
{
lean_inc(v_a_3805_);
lean_dec(v___x_3804_);
v___x_3807_ = lean_box(0);
v_isShared_3808_ = v_isSharedCheck_3824_;
goto v_resetjp_3806_;
}
v_resetjp_3806_:
{
if (lean_obj_tag(v_a_3805_) == 0)
{
lean_object* v___x_3809_; lean_object* v___x_3811_; 
v___x_3809_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_3809_, 0, v_a_3805_);
if (v_isShared_3802_ == 0)
{
lean_ctor_set(v___x_3801_, 0, v___x_3809_);
v___x_3811_ = v___x_3801_;
goto v_reusejp_3810_;
}
else
{
lean_object* v_reuseFailAlloc_3815_; 
v_reuseFailAlloc_3815_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3815_, 0, v___x_3809_);
lean_ctor_set(v_reuseFailAlloc_3815_, 1, v_snd_3799_);
v___x_3811_ = v_reuseFailAlloc_3815_;
goto v_reusejp_3810_;
}
v_reusejp_3810_:
{
lean_object* v___x_3813_; 
if (v_isShared_3808_ == 0)
{
lean_ctor_set(v___x_3807_, 0, v___x_3811_);
v___x_3813_ = v___x_3807_;
goto v_reusejp_3812_;
}
else
{
lean_object* v_reuseFailAlloc_3814_; 
v_reuseFailAlloc_3814_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3814_, 0, v___x_3811_);
v___x_3813_ = v_reuseFailAlloc_3814_;
goto v_reusejp_3812_;
}
v_reusejp_3812_:
{
return v___x_3813_;
}
}
}
else
{
lean_object* v_a_3816_; lean_object* v___x_3817_; lean_object* v___x_3819_; 
lean_del_object(v___x_3807_);
lean_dec(v_snd_3799_);
v_a_3816_ = lean_ctor_get(v_a_3805_, 0);
lean_inc(v_a_3816_);
lean_dec_ref(v_a_3805_);
v___x_3817_ = lean_box(0);
if (v_isShared_3802_ == 0)
{
lean_ctor_set(v___x_3801_, 1, v_a_3816_);
lean_ctor_set(v___x_3801_, 0, v___x_3817_);
v___x_3819_ = v___x_3801_;
goto v_reusejp_3818_;
}
else
{
lean_object* v_reuseFailAlloc_3823_; 
v_reuseFailAlloc_3823_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3823_, 0, v___x_3817_);
lean_ctor_set(v_reuseFailAlloc_3823_, 1, v_a_3816_);
v___x_3819_ = v_reuseFailAlloc_3823_;
goto v_reusejp_3818_;
}
v_reusejp_3818_:
{
size_t v___x_3820_; size_t v___x_3821_; 
v___x_3820_ = ((size_t)1ULL);
v___x_3821_ = lean_usize_add(v_i_3790_, v___x_3820_);
v_i_3790_ = v___x_3821_;
v_b_3791_ = v___x_3819_;
goto _start;
}
}
}
}
else
{
lean_object* v_a_3825_; lean_object* v___x_3827_; uint8_t v_isShared_3828_; uint8_t v_isSharedCheck_3832_; 
lean_del_object(v___x_3801_);
lean_dec(v_snd_3799_);
v_a_3825_ = lean_ctor_get(v___x_3804_, 0);
v_isSharedCheck_3832_ = !lean_is_exclusive(v___x_3804_);
if (v_isSharedCheck_3832_ == 0)
{
v___x_3827_ = v___x_3804_;
v_isShared_3828_ = v_isSharedCheck_3832_;
goto v_resetjp_3826_;
}
else
{
lean_inc(v_a_3825_);
lean_dec(v___x_3804_);
v___x_3827_ = lean_box(0);
v_isShared_3828_ = v_isSharedCheck_3832_;
goto v_resetjp_3826_;
}
v_resetjp_3826_:
{
lean_object* v___x_3830_; 
if (v_isShared_3828_ == 0)
{
v___x_3830_ = v___x_3827_;
goto v_reusejp_3829_;
}
else
{
lean_object* v_reuseFailAlloc_3831_; 
v_reuseFailAlloc_3831_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3831_, 0, v_a_3825_);
v___x_3830_ = v_reuseFailAlloc_3831_;
goto v_reusejp_3829_;
}
v_reusejp_3829_:
{
return v___x_3830_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__3___boxed(lean_object* v_inh_3835_, lean_object* v_as_3836_, lean_object* v_sz_3837_, lean_object* v_i_3838_, lean_object* v_b_3839_, lean_object* v___y_3840_, lean_object* v___y_3841_, lean_object* v___y_3842_, lean_object* v___y_3843_, lean_object* v___y_3844_){
_start:
{
size_t v_sz_boxed_3845_; size_t v_i_boxed_3846_; lean_object* v_res_3847_; 
v_sz_boxed_3845_ = lean_unbox_usize(v_sz_3837_);
lean_dec(v_sz_3837_);
v_i_boxed_3846_ = lean_unbox_usize(v_i_3838_);
lean_dec(v_i_3838_);
v_res_3847_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__3(v_inh_3835_, v_as_3836_, v_sz_boxed_3845_, v_i_boxed_3846_, v_b_3839_, v___y_3840_, v___y_3841_, v___y_3842_, v___y_3843_);
lean_dec(v___y_3843_);
lean_dec_ref(v___y_3842_);
lean_dec(v___y_3841_);
lean_dec_ref(v___y_3840_);
lean_dec_ref(v_as_3836_);
lean_dec_ref(v_inh_3835_);
return v_res_3847_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2___boxed(lean_object* v_inh_3848_, lean_object* v_n_3849_, lean_object* v_b_3850_, lean_object* v___y_3851_, lean_object* v___y_3852_, lean_object* v___y_3853_, lean_object* v___y_3854_, lean_object* v___y_3855_){
_start:
{
lean_object* v_res_3856_; 
v_res_3856_ = l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2(v_inh_3848_, v_n_3849_, v_b_3850_, v___y_3851_, v___y_3852_, v___y_3853_, v___y_3854_);
lean_dec(v___y_3854_);
lean_dec_ref(v___y_3853_);
lean_dec(v___y_3852_);
lean_dec_ref(v___y_3851_);
lean_dec_ref(v_inh_3848_);
return v_res_3856_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3_spec__6___redArg(lean_object* v_as_3857_, size_t v_sz_3858_, size_t v_i_3859_, lean_object* v_b_3860_, lean_object* v___y_3861_){
_start:
{
uint8_t v___x_3863_; 
v___x_3863_ = lean_usize_dec_lt(v_i_3859_, v_sz_3858_);
if (v___x_3863_ == 0)
{
lean_object* v___x_3864_; 
v___x_3864_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3864_, 0, v_b_3860_);
return v___x_3864_;
}
else
{
lean_object* v_snd_3865_; lean_object* v___x_3867_; uint8_t v_isShared_3868_; uint8_t v_isSharedCheck_3996_; 
v_snd_3865_ = lean_ctor_get(v_b_3860_, 1);
v_isSharedCheck_3996_ = !lean_is_exclusive(v_b_3860_);
if (v_isSharedCheck_3996_ == 0)
{
lean_object* v_unused_3997_; 
v_unused_3997_ = lean_ctor_get(v_b_3860_, 0);
lean_dec(v_unused_3997_);
v___x_3867_ = v_b_3860_;
v_isShared_3868_ = v_isSharedCheck_3996_;
goto v_resetjp_3866_;
}
else
{
lean_inc(v_snd_3865_);
lean_dec(v_b_3860_);
v___x_3867_ = lean_box(0);
v_isShared_3868_ = v_isSharedCheck_3996_;
goto v_resetjp_3866_;
}
v_resetjp_3866_:
{
lean_object* v___x_3869_; lean_object* v_a_3871_; lean_object* v_a_3878_; 
v___x_3869_ = lean_box(0);
v_a_3878_ = lean_array_uget_borrowed(v_as_3857_, v_i_3859_);
if (lean_obj_tag(v_a_3878_) == 0)
{
v_a_3871_ = v_snd_3865_;
goto v___jp_3870_;
}
else
{
lean_object* v_val_3879_; uint8_t v_a_3881_; lean_object* v___f_3884_; lean_object* v___f_3885_; 
v_val_3879_ = lean_ctor_get(v_a_3878_, 0);
v___f_3884_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__0));
lean_inc(v_snd_3865_);
v___f_3885_ = lean_alloc_closure((void*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3___lam__1___boxed), 2, 1);
lean_closure_set(v___f_3885_, 0, v_snd_3865_);
if (lean_obj_tag(v_val_3879_) == 0)
{
lean_object* v_type_3886_; lean_object* v___x_3887_; uint8_t v_fst_3889_; lean_object* v_mctx_3890_; lean_object* v___y_3906_; lean_object* v_mctx_3911_; lean_object* v___x_3912_; lean_object* v___x_3913_; uint8_t v___x_3914_; 
v_type_3886_ = lean_ctor_get(v_val_3879_, 3);
v___x_3887_ = lean_st_ref_get(v___y_3861_);
v_mctx_3911_ = lean_ctor_get(v___x_3887_, 0);
lean_inc_ref(v_mctx_3911_);
lean_dec(v___x_3887_);
v___x_3912_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2);
lean_inc_ref(v_mctx_3911_);
v___x_3913_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3913_, 0, v___x_3912_);
lean_ctor_set(v___x_3913_, 1, v_mctx_3911_);
v___x_3914_ = l_Lean_Expr_hasFVar(v_type_3886_);
if (v___x_3914_ == 0)
{
uint8_t v___x_3915_; 
v___x_3915_ = l_Lean_Expr_hasMVar(v_type_3886_);
if (v___x_3915_ == 0)
{
lean_dec_ref(v___x_3913_);
lean_dec_ref(v___f_3885_);
v_fst_3889_ = v___x_3915_;
v_mctx_3890_ = v_mctx_3911_;
goto v___jp_3888_;
}
else
{
lean_object* v___x_3916_; 
lean_dec_ref(v_mctx_3911_);
lean_inc_ref(v_type_3886_);
v___x_3916_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3885_, v___f_3884_, v_type_3886_, v___x_3913_);
v___y_3906_ = v___x_3916_;
goto v___jp_3905_;
}
}
else
{
lean_object* v___x_3917_; 
lean_dec_ref(v_mctx_3911_);
lean_inc_ref(v_type_3886_);
v___x_3917_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3885_, v___f_3884_, v_type_3886_, v___x_3913_);
v___y_3906_ = v___x_3917_;
goto v___jp_3905_;
}
v___jp_3888_:
{
lean_object* v___x_3891_; lean_object* v_cache_3892_; lean_object* v_zetaDeltaFVarIds_3893_; lean_object* v_postponed_3894_; lean_object* v_diag_3895_; lean_object* v___x_3897_; uint8_t v_isShared_3898_; uint8_t v_isSharedCheck_3903_; 
v___x_3891_ = lean_st_ref_take(v___y_3861_);
v_cache_3892_ = lean_ctor_get(v___x_3891_, 1);
v_zetaDeltaFVarIds_3893_ = lean_ctor_get(v___x_3891_, 2);
v_postponed_3894_ = lean_ctor_get(v___x_3891_, 3);
v_diag_3895_ = lean_ctor_get(v___x_3891_, 4);
v_isSharedCheck_3903_ = !lean_is_exclusive(v___x_3891_);
if (v_isSharedCheck_3903_ == 0)
{
lean_object* v_unused_3904_; 
v_unused_3904_ = lean_ctor_get(v___x_3891_, 0);
lean_dec(v_unused_3904_);
v___x_3897_ = v___x_3891_;
v_isShared_3898_ = v_isSharedCheck_3903_;
goto v_resetjp_3896_;
}
else
{
lean_inc(v_diag_3895_);
lean_inc(v_postponed_3894_);
lean_inc(v_zetaDeltaFVarIds_3893_);
lean_inc(v_cache_3892_);
lean_dec(v___x_3891_);
v___x_3897_ = lean_box(0);
v_isShared_3898_ = v_isSharedCheck_3903_;
goto v_resetjp_3896_;
}
v_resetjp_3896_:
{
lean_object* v___x_3900_; 
if (v_isShared_3898_ == 0)
{
lean_ctor_set(v___x_3897_, 0, v_mctx_3890_);
v___x_3900_ = v___x_3897_;
goto v_reusejp_3899_;
}
else
{
lean_object* v_reuseFailAlloc_3902_; 
v_reuseFailAlloc_3902_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_3902_, 0, v_mctx_3890_);
lean_ctor_set(v_reuseFailAlloc_3902_, 1, v_cache_3892_);
lean_ctor_set(v_reuseFailAlloc_3902_, 2, v_zetaDeltaFVarIds_3893_);
lean_ctor_set(v_reuseFailAlloc_3902_, 3, v_postponed_3894_);
lean_ctor_set(v_reuseFailAlloc_3902_, 4, v_diag_3895_);
v___x_3900_ = v_reuseFailAlloc_3902_;
goto v_reusejp_3899_;
}
v_reusejp_3899_:
{
lean_object* v___x_3901_; 
v___x_3901_ = lean_st_ref_set(v___y_3861_, v___x_3900_);
v_a_3881_ = v_fst_3889_;
goto v___jp_3880_;
}
}
}
v___jp_3905_:
{
lean_object* v_snd_3907_; lean_object* v_fst_3908_; lean_object* v_mctx_3909_; uint8_t v___x_3910_; 
v_snd_3907_ = lean_ctor_get(v___y_3906_, 1);
lean_inc(v_snd_3907_);
v_fst_3908_ = lean_ctor_get(v___y_3906_, 0);
lean_inc(v_fst_3908_);
lean_dec_ref(v___y_3906_);
v_mctx_3909_ = lean_ctor_get(v_snd_3907_, 1);
lean_inc_ref(v_mctx_3909_);
lean_dec(v_snd_3907_);
v___x_3910_ = lean_unbox(v_fst_3908_);
lean_dec(v_fst_3908_);
v_fst_3889_ = v___x_3910_;
v_mctx_3890_ = v_mctx_3909_;
goto v___jp_3888_;
}
}
else
{
uint8_t v_nondep_3918_; 
v_nondep_3918_ = lean_ctor_get_uint8(v_val_3879_, sizeof(void*)*5);
if (v_nondep_3918_ == 0)
{
lean_object* v_type_3919_; lean_object* v_value_3920_; lean_object* v___x_3921_; uint8_t v_fst_3923_; lean_object* v_snd_3924_; lean_object* v___y_3941_; uint8_t v_fst_3946_; lean_object* v_snd_3947_; lean_object* v___y_3953_; lean_object* v_mctx_3957_; lean_object* v___x_3958_; lean_object* v___x_3959_; uint8_t v___x_3960_; 
v_type_3919_ = lean_ctor_get(v_val_3879_, 3);
v_value_3920_ = lean_ctor_get(v_val_3879_, 4);
v___x_3921_ = lean_st_ref_get(v___y_3861_);
v_mctx_3957_ = lean_ctor_get(v___x_3921_, 0);
lean_inc_ref(v_mctx_3957_);
lean_dec(v___x_3921_);
v___x_3958_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2);
v___x_3959_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3959_, 0, v___x_3958_);
lean_ctor_set(v___x_3959_, 1, v_mctx_3957_);
v___x_3960_ = l_Lean_Expr_hasFVar(v_type_3919_);
if (v___x_3960_ == 0)
{
uint8_t v___x_3961_; 
v___x_3961_ = l_Lean_Expr_hasMVar(v_type_3919_);
if (v___x_3961_ == 0)
{
v_fst_3946_ = v___x_3961_;
v_snd_3947_ = v___x_3959_;
goto v___jp_3945_;
}
else
{
lean_object* v___x_3962_; 
lean_inc_ref(v_type_3919_);
lean_inc_ref(v___f_3885_);
v___x_3962_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3885_, v___f_3884_, v_type_3919_, v___x_3959_);
v___y_3953_ = v___x_3962_;
goto v___jp_3952_;
}
}
else
{
lean_object* v___x_3963_; 
lean_inc_ref(v_type_3919_);
lean_inc_ref(v___f_3885_);
v___x_3963_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3885_, v___f_3884_, v_type_3919_, v___x_3959_);
v___y_3953_ = v___x_3963_;
goto v___jp_3952_;
}
v___jp_3922_:
{
lean_object* v_mctx_3925_; lean_object* v___x_3926_; lean_object* v_cache_3927_; lean_object* v_zetaDeltaFVarIds_3928_; lean_object* v_postponed_3929_; lean_object* v_diag_3930_; lean_object* v___x_3932_; uint8_t v_isShared_3933_; uint8_t v_isSharedCheck_3938_; 
v_mctx_3925_ = lean_ctor_get(v_snd_3924_, 1);
lean_inc_ref(v_mctx_3925_);
lean_dec_ref(v_snd_3924_);
v___x_3926_ = lean_st_ref_take(v___y_3861_);
v_cache_3927_ = lean_ctor_get(v___x_3926_, 1);
v_zetaDeltaFVarIds_3928_ = lean_ctor_get(v___x_3926_, 2);
v_postponed_3929_ = lean_ctor_get(v___x_3926_, 3);
v_diag_3930_ = lean_ctor_get(v___x_3926_, 4);
v_isSharedCheck_3938_ = !lean_is_exclusive(v___x_3926_);
if (v_isSharedCheck_3938_ == 0)
{
lean_object* v_unused_3939_; 
v_unused_3939_ = lean_ctor_get(v___x_3926_, 0);
lean_dec(v_unused_3939_);
v___x_3932_ = v___x_3926_;
v_isShared_3933_ = v_isSharedCheck_3938_;
goto v_resetjp_3931_;
}
else
{
lean_inc(v_diag_3930_);
lean_inc(v_postponed_3929_);
lean_inc(v_zetaDeltaFVarIds_3928_);
lean_inc(v_cache_3927_);
lean_dec(v___x_3926_);
v___x_3932_ = lean_box(0);
v_isShared_3933_ = v_isSharedCheck_3938_;
goto v_resetjp_3931_;
}
v_resetjp_3931_:
{
lean_object* v___x_3935_; 
if (v_isShared_3933_ == 0)
{
lean_ctor_set(v___x_3932_, 0, v_mctx_3925_);
v___x_3935_ = v___x_3932_;
goto v_reusejp_3934_;
}
else
{
lean_object* v_reuseFailAlloc_3937_; 
v_reuseFailAlloc_3937_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_3937_, 0, v_mctx_3925_);
lean_ctor_set(v_reuseFailAlloc_3937_, 1, v_cache_3927_);
lean_ctor_set(v_reuseFailAlloc_3937_, 2, v_zetaDeltaFVarIds_3928_);
lean_ctor_set(v_reuseFailAlloc_3937_, 3, v_postponed_3929_);
lean_ctor_set(v_reuseFailAlloc_3937_, 4, v_diag_3930_);
v___x_3935_ = v_reuseFailAlloc_3937_;
goto v_reusejp_3934_;
}
v_reusejp_3934_:
{
lean_object* v___x_3936_; 
v___x_3936_ = lean_st_ref_set(v___y_3861_, v___x_3935_);
v_a_3881_ = v_fst_3923_;
goto v___jp_3880_;
}
}
}
v___jp_3940_:
{
lean_object* v_fst_3942_; lean_object* v_snd_3943_; uint8_t v___x_3944_; 
v_fst_3942_ = lean_ctor_get(v___y_3941_, 0);
lean_inc(v_fst_3942_);
v_snd_3943_ = lean_ctor_get(v___y_3941_, 1);
lean_inc(v_snd_3943_);
lean_dec_ref(v___y_3941_);
v___x_3944_ = lean_unbox(v_fst_3942_);
lean_dec(v_fst_3942_);
v_fst_3923_ = v___x_3944_;
v_snd_3924_ = v_snd_3943_;
goto v___jp_3922_;
}
v___jp_3945_:
{
if (v_fst_3946_ == 0)
{
uint8_t v___x_3948_; 
v___x_3948_ = l_Lean_Expr_hasFVar(v_value_3920_);
if (v___x_3948_ == 0)
{
uint8_t v___x_3949_; 
v___x_3949_ = l_Lean_Expr_hasMVar(v_value_3920_);
if (v___x_3949_ == 0)
{
lean_dec_ref(v___f_3885_);
v_fst_3923_ = v___x_3949_;
v_snd_3924_ = v_snd_3947_;
goto v___jp_3922_;
}
else
{
lean_object* v___x_3950_; 
lean_inc_ref(v_value_3920_);
v___x_3950_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3885_, v___f_3884_, v_value_3920_, v_snd_3947_);
v___y_3941_ = v___x_3950_;
goto v___jp_3940_;
}
}
else
{
lean_object* v___x_3951_; 
lean_inc_ref(v_value_3920_);
v___x_3951_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3885_, v___f_3884_, v_value_3920_, v_snd_3947_);
v___y_3941_ = v___x_3951_;
goto v___jp_3940_;
}
}
else
{
lean_dec_ref(v___f_3885_);
v_fst_3923_ = v_fst_3946_;
v_snd_3924_ = v_snd_3947_;
goto v___jp_3922_;
}
}
v___jp_3952_:
{
lean_object* v_fst_3954_; lean_object* v_snd_3955_; uint8_t v___x_3956_; 
v_fst_3954_ = lean_ctor_get(v___y_3953_, 0);
lean_inc(v_fst_3954_);
v_snd_3955_ = lean_ctor_get(v___y_3953_, 1);
lean_inc(v_snd_3955_);
lean_dec_ref(v___y_3953_);
v___x_3956_ = lean_unbox(v_fst_3954_);
lean_dec(v_fst_3954_);
v_fst_3946_ = v___x_3956_;
v_snd_3947_ = v_snd_3955_;
goto v___jp_3945_;
}
}
else
{
lean_object* v_type_3964_; lean_object* v___x_3965_; uint8_t v_fst_3967_; lean_object* v_mctx_3968_; lean_object* v___y_3984_; lean_object* v_mctx_3989_; lean_object* v___x_3990_; lean_object* v___x_3991_; uint8_t v___x_3992_; 
v_type_3964_ = lean_ctor_get(v_val_3879_, 3);
v___x_3965_ = lean_st_ref_get(v___y_3861_);
v_mctx_3989_ = lean_ctor_get(v___x_3965_, 0);
lean_inc_ref(v_mctx_3989_);
lean_dec(v___x_3965_);
v___x_3990_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2);
lean_inc_ref(v_mctx_3989_);
v___x_3991_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3991_, 0, v___x_3990_);
lean_ctor_set(v___x_3991_, 1, v_mctx_3989_);
v___x_3992_ = l_Lean_Expr_hasFVar(v_type_3964_);
if (v___x_3992_ == 0)
{
uint8_t v___x_3993_; 
v___x_3993_ = l_Lean_Expr_hasMVar(v_type_3964_);
if (v___x_3993_ == 0)
{
lean_dec_ref(v___x_3991_);
lean_dec_ref(v___f_3885_);
v_fst_3967_ = v___x_3993_;
v_mctx_3968_ = v_mctx_3989_;
goto v___jp_3966_;
}
else
{
lean_object* v___x_3994_; 
lean_dec_ref(v_mctx_3989_);
lean_inc_ref(v_type_3964_);
v___x_3994_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3885_, v___f_3884_, v_type_3964_, v___x_3991_);
v___y_3984_ = v___x_3994_;
goto v___jp_3983_;
}
}
else
{
lean_object* v___x_3995_; 
lean_dec_ref(v_mctx_3989_);
lean_inc_ref(v_type_3964_);
v___x_3995_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_3885_, v___f_3884_, v_type_3964_, v___x_3991_);
v___y_3984_ = v___x_3995_;
goto v___jp_3983_;
}
v___jp_3966_:
{
lean_object* v___x_3969_; lean_object* v_cache_3970_; lean_object* v_zetaDeltaFVarIds_3971_; lean_object* v_postponed_3972_; lean_object* v_diag_3973_; lean_object* v___x_3975_; uint8_t v_isShared_3976_; uint8_t v_isSharedCheck_3981_; 
v___x_3969_ = lean_st_ref_take(v___y_3861_);
v_cache_3970_ = lean_ctor_get(v___x_3969_, 1);
v_zetaDeltaFVarIds_3971_ = lean_ctor_get(v___x_3969_, 2);
v_postponed_3972_ = lean_ctor_get(v___x_3969_, 3);
v_diag_3973_ = lean_ctor_get(v___x_3969_, 4);
v_isSharedCheck_3981_ = !lean_is_exclusive(v___x_3969_);
if (v_isSharedCheck_3981_ == 0)
{
lean_object* v_unused_3982_; 
v_unused_3982_ = lean_ctor_get(v___x_3969_, 0);
lean_dec(v_unused_3982_);
v___x_3975_ = v___x_3969_;
v_isShared_3976_ = v_isSharedCheck_3981_;
goto v_resetjp_3974_;
}
else
{
lean_inc(v_diag_3973_);
lean_inc(v_postponed_3972_);
lean_inc(v_zetaDeltaFVarIds_3971_);
lean_inc(v_cache_3970_);
lean_dec(v___x_3969_);
v___x_3975_ = lean_box(0);
v_isShared_3976_ = v_isSharedCheck_3981_;
goto v_resetjp_3974_;
}
v_resetjp_3974_:
{
lean_object* v___x_3978_; 
if (v_isShared_3976_ == 0)
{
lean_ctor_set(v___x_3975_, 0, v_mctx_3968_);
v___x_3978_ = v___x_3975_;
goto v_reusejp_3977_;
}
else
{
lean_object* v_reuseFailAlloc_3980_; 
v_reuseFailAlloc_3980_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_3980_, 0, v_mctx_3968_);
lean_ctor_set(v_reuseFailAlloc_3980_, 1, v_cache_3970_);
lean_ctor_set(v_reuseFailAlloc_3980_, 2, v_zetaDeltaFVarIds_3971_);
lean_ctor_set(v_reuseFailAlloc_3980_, 3, v_postponed_3972_);
lean_ctor_set(v_reuseFailAlloc_3980_, 4, v_diag_3973_);
v___x_3978_ = v_reuseFailAlloc_3980_;
goto v_reusejp_3977_;
}
v_reusejp_3977_:
{
lean_object* v___x_3979_; 
v___x_3979_ = lean_st_ref_set(v___y_3861_, v___x_3978_);
v_a_3881_ = v_fst_3967_;
goto v___jp_3880_;
}
}
}
v___jp_3983_:
{
lean_object* v_snd_3985_; lean_object* v_fst_3986_; lean_object* v_mctx_3987_; uint8_t v___x_3988_; 
v_snd_3985_ = lean_ctor_get(v___y_3984_, 1);
lean_inc(v_snd_3985_);
v_fst_3986_ = lean_ctor_get(v___y_3984_, 0);
lean_inc(v_fst_3986_);
lean_dec_ref(v___y_3984_);
v_mctx_3987_ = lean_ctor_get(v_snd_3985_, 1);
lean_inc_ref(v_mctx_3987_);
lean_dec(v_snd_3985_);
v___x_3988_ = lean_unbox(v_fst_3986_);
lean_dec(v_fst_3986_);
v_fst_3967_ = v___x_3988_;
v_mctx_3968_ = v_mctx_3987_;
goto v___jp_3966_;
}
}
}
v___jp_3880_:
{
if (v_a_3881_ == 0)
{
v_a_3871_ = v_snd_3865_;
goto v___jp_3870_;
}
else
{
lean_object* v___x_3882_; lean_object* v___x_3883_; 
v___x_3882_ = l_Lean_LocalDecl_fvarId(v_val_3879_);
v___x_3883_ = lean_array_push(v_snd_3865_, v___x_3882_);
v_a_3871_ = v___x_3883_;
goto v___jp_3870_;
}
}
}
v___jp_3870_:
{
lean_object* v___x_3873_; 
if (v_isShared_3868_ == 0)
{
lean_ctor_set(v___x_3867_, 1, v_a_3871_);
lean_ctor_set(v___x_3867_, 0, v___x_3869_);
v___x_3873_ = v___x_3867_;
goto v_reusejp_3872_;
}
else
{
lean_object* v_reuseFailAlloc_3877_; 
v_reuseFailAlloc_3877_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3877_, 0, v___x_3869_);
lean_ctor_set(v_reuseFailAlloc_3877_, 1, v_a_3871_);
v___x_3873_ = v_reuseFailAlloc_3877_;
goto v_reusejp_3872_;
}
v_reusejp_3872_:
{
size_t v___x_3874_; size_t v___x_3875_; 
v___x_3874_ = ((size_t)1ULL);
v___x_3875_ = lean_usize_add(v_i_3859_, v___x_3874_);
v_i_3859_ = v___x_3875_;
v_b_3860_ = v___x_3873_;
goto _start;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3_spec__6___redArg___boxed(lean_object* v_as_3998_, lean_object* v_sz_3999_, lean_object* v_i_4000_, lean_object* v_b_4001_, lean_object* v___y_4002_, lean_object* v___y_4003_){
_start:
{
size_t v_sz_boxed_4004_; size_t v_i_boxed_4005_; lean_object* v_res_4006_; 
v_sz_boxed_4004_ = lean_unbox_usize(v_sz_3999_);
lean_dec(v_sz_3999_);
v_i_boxed_4005_ = lean_unbox_usize(v_i_4000_);
lean_dec(v_i_4000_);
v_res_4006_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3_spec__6___redArg(v_as_3998_, v_sz_boxed_4004_, v_i_boxed_4005_, v_b_4001_, v___y_4002_);
lean_dec(v___y_4002_);
lean_dec_ref(v_as_3998_);
return v_res_4006_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3(lean_object* v_as_4007_, size_t v_sz_4008_, size_t v_i_4009_, lean_object* v_b_4010_, lean_object* v___y_4011_, lean_object* v___y_4012_, lean_object* v___y_4013_, lean_object* v___y_4014_){
_start:
{
uint8_t v___x_4016_; 
v___x_4016_ = lean_usize_dec_lt(v_i_4009_, v_sz_4008_);
if (v___x_4016_ == 0)
{
lean_object* v___x_4017_; 
v___x_4017_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4017_, 0, v_b_4010_);
return v___x_4017_;
}
else
{
lean_object* v_snd_4018_; lean_object* v___x_4020_; uint8_t v_isShared_4021_; uint8_t v_isSharedCheck_4149_; 
v_snd_4018_ = lean_ctor_get(v_b_4010_, 1);
v_isSharedCheck_4149_ = !lean_is_exclusive(v_b_4010_);
if (v_isSharedCheck_4149_ == 0)
{
lean_object* v_unused_4150_; 
v_unused_4150_ = lean_ctor_get(v_b_4010_, 0);
lean_dec(v_unused_4150_);
v___x_4020_ = v_b_4010_;
v_isShared_4021_ = v_isSharedCheck_4149_;
goto v_resetjp_4019_;
}
else
{
lean_inc(v_snd_4018_);
lean_dec(v_b_4010_);
v___x_4020_ = lean_box(0);
v_isShared_4021_ = v_isSharedCheck_4149_;
goto v_resetjp_4019_;
}
v_resetjp_4019_:
{
lean_object* v___x_4022_; lean_object* v_a_4024_; lean_object* v_a_4031_; 
v___x_4022_ = lean_box(0);
v_a_4031_ = lean_array_uget_borrowed(v_as_4007_, v_i_4009_);
if (lean_obj_tag(v_a_4031_) == 0)
{
v_a_4024_ = v_snd_4018_;
goto v___jp_4023_;
}
else
{
lean_object* v_val_4032_; uint8_t v_a_4034_; lean_object* v___f_4037_; lean_object* v___f_4038_; 
v_val_4032_ = lean_ctor_get(v_a_4031_, 0);
v___f_4037_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__0));
lean_inc(v_snd_4018_);
v___f_4038_ = lean_alloc_closure((void*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3___lam__1___boxed), 2, 1);
lean_closure_set(v___f_4038_, 0, v_snd_4018_);
if (lean_obj_tag(v_val_4032_) == 0)
{
lean_object* v_type_4039_; lean_object* v___x_4040_; uint8_t v_fst_4042_; lean_object* v_mctx_4043_; lean_object* v___y_4059_; lean_object* v_mctx_4064_; lean_object* v___x_4065_; lean_object* v___x_4066_; uint8_t v___x_4067_; 
v_type_4039_ = lean_ctor_get(v_val_4032_, 3);
v___x_4040_ = lean_st_ref_get(v___y_4012_);
v_mctx_4064_ = lean_ctor_get(v___x_4040_, 0);
lean_inc_ref(v_mctx_4064_);
lean_dec(v___x_4040_);
v___x_4065_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2);
lean_inc_ref(v_mctx_4064_);
v___x_4066_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4066_, 0, v___x_4065_);
lean_ctor_set(v___x_4066_, 1, v_mctx_4064_);
v___x_4067_ = l_Lean_Expr_hasFVar(v_type_4039_);
if (v___x_4067_ == 0)
{
uint8_t v___x_4068_; 
v___x_4068_ = l_Lean_Expr_hasMVar(v_type_4039_);
if (v___x_4068_ == 0)
{
lean_dec_ref(v___x_4066_);
lean_dec_ref(v___f_4038_);
v_fst_4042_ = v___x_4068_;
v_mctx_4043_ = v_mctx_4064_;
goto v___jp_4041_;
}
else
{
lean_object* v___x_4069_; 
lean_dec_ref(v_mctx_4064_);
lean_inc_ref(v_type_4039_);
v___x_4069_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_4038_, v___f_4037_, v_type_4039_, v___x_4066_);
v___y_4059_ = v___x_4069_;
goto v___jp_4058_;
}
}
else
{
lean_object* v___x_4070_; 
lean_dec_ref(v_mctx_4064_);
lean_inc_ref(v_type_4039_);
v___x_4070_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_4038_, v___f_4037_, v_type_4039_, v___x_4066_);
v___y_4059_ = v___x_4070_;
goto v___jp_4058_;
}
v___jp_4041_:
{
lean_object* v___x_4044_; lean_object* v_cache_4045_; lean_object* v_zetaDeltaFVarIds_4046_; lean_object* v_postponed_4047_; lean_object* v_diag_4048_; lean_object* v___x_4050_; uint8_t v_isShared_4051_; uint8_t v_isSharedCheck_4056_; 
v___x_4044_ = lean_st_ref_take(v___y_4012_);
v_cache_4045_ = lean_ctor_get(v___x_4044_, 1);
v_zetaDeltaFVarIds_4046_ = lean_ctor_get(v___x_4044_, 2);
v_postponed_4047_ = lean_ctor_get(v___x_4044_, 3);
v_diag_4048_ = lean_ctor_get(v___x_4044_, 4);
v_isSharedCheck_4056_ = !lean_is_exclusive(v___x_4044_);
if (v_isSharedCheck_4056_ == 0)
{
lean_object* v_unused_4057_; 
v_unused_4057_ = lean_ctor_get(v___x_4044_, 0);
lean_dec(v_unused_4057_);
v___x_4050_ = v___x_4044_;
v_isShared_4051_ = v_isSharedCheck_4056_;
goto v_resetjp_4049_;
}
else
{
lean_inc(v_diag_4048_);
lean_inc(v_postponed_4047_);
lean_inc(v_zetaDeltaFVarIds_4046_);
lean_inc(v_cache_4045_);
lean_dec(v___x_4044_);
v___x_4050_ = lean_box(0);
v_isShared_4051_ = v_isSharedCheck_4056_;
goto v_resetjp_4049_;
}
v_resetjp_4049_:
{
lean_object* v___x_4053_; 
if (v_isShared_4051_ == 0)
{
lean_ctor_set(v___x_4050_, 0, v_mctx_4043_);
v___x_4053_ = v___x_4050_;
goto v_reusejp_4052_;
}
else
{
lean_object* v_reuseFailAlloc_4055_; 
v_reuseFailAlloc_4055_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_4055_, 0, v_mctx_4043_);
lean_ctor_set(v_reuseFailAlloc_4055_, 1, v_cache_4045_);
lean_ctor_set(v_reuseFailAlloc_4055_, 2, v_zetaDeltaFVarIds_4046_);
lean_ctor_set(v_reuseFailAlloc_4055_, 3, v_postponed_4047_);
lean_ctor_set(v_reuseFailAlloc_4055_, 4, v_diag_4048_);
v___x_4053_ = v_reuseFailAlloc_4055_;
goto v_reusejp_4052_;
}
v_reusejp_4052_:
{
lean_object* v___x_4054_; 
v___x_4054_ = lean_st_ref_set(v___y_4012_, v___x_4053_);
v_a_4034_ = v_fst_4042_;
goto v___jp_4033_;
}
}
}
v___jp_4058_:
{
lean_object* v_snd_4060_; lean_object* v_fst_4061_; lean_object* v_mctx_4062_; uint8_t v___x_4063_; 
v_snd_4060_ = lean_ctor_get(v___y_4059_, 1);
lean_inc(v_snd_4060_);
v_fst_4061_ = lean_ctor_get(v___y_4059_, 0);
lean_inc(v_fst_4061_);
lean_dec_ref(v___y_4059_);
v_mctx_4062_ = lean_ctor_get(v_snd_4060_, 1);
lean_inc_ref(v_mctx_4062_);
lean_dec(v_snd_4060_);
v___x_4063_ = lean_unbox(v_fst_4061_);
lean_dec(v_fst_4061_);
v_fst_4042_ = v___x_4063_;
v_mctx_4043_ = v_mctx_4062_;
goto v___jp_4041_;
}
}
else
{
uint8_t v_nondep_4071_; 
v_nondep_4071_ = lean_ctor_get_uint8(v_val_4032_, sizeof(void*)*5);
if (v_nondep_4071_ == 0)
{
lean_object* v_type_4072_; lean_object* v_value_4073_; lean_object* v___x_4074_; uint8_t v_fst_4076_; lean_object* v_snd_4077_; lean_object* v___y_4094_; uint8_t v_fst_4099_; lean_object* v_snd_4100_; lean_object* v___y_4106_; lean_object* v_mctx_4110_; lean_object* v___x_4111_; lean_object* v___x_4112_; uint8_t v___x_4113_; 
v_type_4072_ = lean_ctor_get(v_val_4032_, 3);
v_value_4073_ = lean_ctor_get(v_val_4032_, 4);
v___x_4074_ = lean_st_ref_get(v___y_4012_);
v_mctx_4110_ = lean_ctor_get(v___x_4074_, 0);
lean_inc_ref(v_mctx_4110_);
lean_dec(v___x_4074_);
v___x_4111_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2);
v___x_4112_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4112_, 0, v___x_4111_);
lean_ctor_set(v___x_4112_, 1, v_mctx_4110_);
v___x_4113_ = l_Lean_Expr_hasFVar(v_type_4072_);
if (v___x_4113_ == 0)
{
uint8_t v___x_4114_; 
v___x_4114_ = l_Lean_Expr_hasMVar(v_type_4072_);
if (v___x_4114_ == 0)
{
v_fst_4099_ = v___x_4114_;
v_snd_4100_ = v___x_4112_;
goto v___jp_4098_;
}
else
{
lean_object* v___x_4115_; 
lean_inc_ref(v_type_4072_);
lean_inc_ref(v___f_4038_);
v___x_4115_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_4038_, v___f_4037_, v_type_4072_, v___x_4112_);
v___y_4106_ = v___x_4115_;
goto v___jp_4105_;
}
}
else
{
lean_object* v___x_4116_; 
lean_inc_ref(v_type_4072_);
lean_inc_ref(v___f_4038_);
v___x_4116_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_4038_, v___f_4037_, v_type_4072_, v___x_4112_);
v___y_4106_ = v___x_4116_;
goto v___jp_4105_;
}
v___jp_4075_:
{
lean_object* v_mctx_4078_; lean_object* v___x_4079_; lean_object* v_cache_4080_; lean_object* v_zetaDeltaFVarIds_4081_; lean_object* v_postponed_4082_; lean_object* v_diag_4083_; lean_object* v___x_4085_; uint8_t v_isShared_4086_; uint8_t v_isSharedCheck_4091_; 
v_mctx_4078_ = lean_ctor_get(v_snd_4077_, 1);
lean_inc_ref(v_mctx_4078_);
lean_dec_ref(v_snd_4077_);
v___x_4079_ = lean_st_ref_take(v___y_4012_);
v_cache_4080_ = lean_ctor_get(v___x_4079_, 1);
v_zetaDeltaFVarIds_4081_ = lean_ctor_get(v___x_4079_, 2);
v_postponed_4082_ = lean_ctor_get(v___x_4079_, 3);
v_diag_4083_ = lean_ctor_get(v___x_4079_, 4);
v_isSharedCheck_4091_ = !lean_is_exclusive(v___x_4079_);
if (v_isSharedCheck_4091_ == 0)
{
lean_object* v_unused_4092_; 
v_unused_4092_ = lean_ctor_get(v___x_4079_, 0);
lean_dec(v_unused_4092_);
v___x_4085_ = v___x_4079_;
v_isShared_4086_ = v_isSharedCheck_4091_;
goto v_resetjp_4084_;
}
else
{
lean_inc(v_diag_4083_);
lean_inc(v_postponed_4082_);
lean_inc(v_zetaDeltaFVarIds_4081_);
lean_inc(v_cache_4080_);
lean_dec(v___x_4079_);
v___x_4085_ = lean_box(0);
v_isShared_4086_ = v_isSharedCheck_4091_;
goto v_resetjp_4084_;
}
v_resetjp_4084_:
{
lean_object* v___x_4088_; 
if (v_isShared_4086_ == 0)
{
lean_ctor_set(v___x_4085_, 0, v_mctx_4078_);
v___x_4088_ = v___x_4085_;
goto v_reusejp_4087_;
}
else
{
lean_object* v_reuseFailAlloc_4090_; 
v_reuseFailAlloc_4090_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_4090_, 0, v_mctx_4078_);
lean_ctor_set(v_reuseFailAlloc_4090_, 1, v_cache_4080_);
lean_ctor_set(v_reuseFailAlloc_4090_, 2, v_zetaDeltaFVarIds_4081_);
lean_ctor_set(v_reuseFailAlloc_4090_, 3, v_postponed_4082_);
lean_ctor_set(v_reuseFailAlloc_4090_, 4, v_diag_4083_);
v___x_4088_ = v_reuseFailAlloc_4090_;
goto v_reusejp_4087_;
}
v_reusejp_4087_:
{
lean_object* v___x_4089_; 
v___x_4089_ = lean_st_ref_set(v___y_4012_, v___x_4088_);
v_a_4034_ = v_fst_4076_;
goto v___jp_4033_;
}
}
}
v___jp_4093_:
{
lean_object* v_fst_4095_; lean_object* v_snd_4096_; uint8_t v___x_4097_; 
v_fst_4095_ = lean_ctor_get(v___y_4094_, 0);
lean_inc(v_fst_4095_);
v_snd_4096_ = lean_ctor_get(v___y_4094_, 1);
lean_inc(v_snd_4096_);
lean_dec_ref(v___y_4094_);
v___x_4097_ = lean_unbox(v_fst_4095_);
lean_dec(v_fst_4095_);
v_fst_4076_ = v___x_4097_;
v_snd_4077_ = v_snd_4096_;
goto v___jp_4075_;
}
v___jp_4098_:
{
if (v_fst_4099_ == 0)
{
uint8_t v___x_4101_; 
v___x_4101_ = l_Lean_Expr_hasFVar(v_value_4073_);
if (v___x_4101_ == 0)
{
uint8_t v___x_4102_; 
v___x_4102_ = l_Lean_Expr_hasMVar(v_value_4073_);
if (v___x_4102_ == 0)
{
lean_dec_ref(v___f_4038_);
v_fst_4076_ = v___x_4102_;
v_snd_4077_ = v_snd_4100_;
goto v___jp_4075_;
}
else
{
lean_object* v___x_4103_; 
lean_inc_ref(v_value_4073_);
v___x_4103_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_4038_, v___f_4037_, v_value_4073_, v_snd_4100_);
v___y_4094_ = v___x_4103_;
goto v___jp_4093_;
}
}
else
{
lean_object* v___x_4104_; 
lean_inc_ref(v_value_4073_);
v___x_4104_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_4038_, v___f_4037_, v_value_4073_, v_snd_4100_);
v___y_4094_ = v___x_4104_;
goto v___jp_4093_;
}
}
else
{
lean_dec_ref(v___f_4038_);
v_fst_4076_ = v_fst_4099_;
v_snd_4077_ = v_snd_4100_;
goto v___jp_4075_;
}
}
v___jp_4105_:
{
lean_object* v_fst_4107_; lean_object* v_snd_4108_; uint8_t v___x_4109_; 
v_fst_4107_ = lean_ctor_get(v___y_4106_, 0);
lean_inc(v_fst_4107_);
v_snd_4108_ = lean_ctor_get(v___y_4106_, 1);
lean_inc(v_snd_4108_);
lean_dec_ref(v___y_4106_);
v___x_4109_ = lean_unbox(v_fst_4107_);
lean_dec(v_fst_4107_);
v_fst_4099_ = v___x_4109_;
v_snd_4100_ = v_snd_4108_;
goto v___jp_4098_;
}
}
else
{
lean_object* v_type_4117_; lean_object* v___x_4118_; uint8_t v_fst_4120_; lean_object* v_mctx_4121_; lean_object* v___y_4137_; lean_object* v_mctx_4142_; lean_object* v___x_4143_; lean_object* v___x_4144_; uint8_t v___x_4145_; 
v_type_4117_ = lean_ctor_get(v_val_4032_, 3);
v___x_4118_ = lean_st_ref_get(v___y_4012_);
v_mctx_4142_ = lean_ctor_get(v___x_4118_, 0);
lean_inc_ref(v_mctx_4142_);
lean_dec(v___x_4118_);
v___x_4143_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg___closed__2);
lean_inc_ref(v_mctx_4142_);
v___x_4144_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4144_, 0, v___x_4143_);
lean_ctor_set(v___x_4144_, 1, v_mctx_4142_);
v___x_4145_ = l_Lean_Expr_hasFVar(v_type_4117_);
if (v___x_4145_ == 0)
{
uint8_t v___x_4146_; 
v___x_4146_ = l_Lean_Expr_hasMVar(v_type_4117_);
if (v___x_4146_ == 0)
{
lean_dec_ref(v___x_4144_);
lean_dec_ref(v___f_4038_);
v_fst_4120_ = v___x_4146_;
v_mctx_4121_ = v_mctx_4142_;
goto v___jp_4119_;
}
else
{
lean_object* v___x_4147_; 
lean_dec_ref(v_mctx_4142_);
lean_inc_ref(v_type_4117_);
v___x_4147_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_4038_, v___f_4037_, v_type_4117_, v___x_4144_);
v___y_4137_ = v___x_4147_;
goto v___jp_4136_;
}
}
else
{
lean_object* v___x_4148_; 
lean_dec_ref(v_mctx_4142_);
lean_inc_ref(v_type_4117_);
v___x_4148_ = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(v___f_4038_, v___f_4037_, v_type_4117_, v___x_4144_);
v___y_4137_ = v___x_4148_;
goto v___jp_4136_;
}
v___jp_4119_:
{
lean_object* v___x_4122_; lean_object* v_cache_4123_; lean_object* v_zetaDeltaFVarIds_4124_; lean_object* v_postponed_4125_; lean_object* v_diag_4126_; lean_object* v___x_4128_; uint8_t v_isShared_4129_; uint8_t v_isSharedCheck_4134_; 
v___x_4122_ = lean_st_ref_take(v___y_4012_);
v_cache_4123_ = lean_ctor_get(v___x_4122_, 1);
v_zetaDeltaFVarIds_4124_ = lean_ctor_get(v___x_4122_, 2);
v_postponed_4125_ = lean_ctor_get(v___x_4122_, 3);
v_diag_4126_ = lean_ctor_get(v___x_4122_, 4);
v_isSharedCheck_4134_ = !lean_is_exclusive(v___x_4122_);
if (v_isSharedCheck_4134_ == 0)
{
lean_object* v_unused_4135_; 
v_unused_4135_ = lean_ctor_get(v___x_4122_, 0);
lean_dec(v_unused_4135_);
v___x_4128_ = v___x_4122_;
v_isShared_4129_ = v_isSharedCheck_4134_;
goto v_resetjp_4127_;
}
else
{
lean_inc(v_diag_4126_);
lean_inc(v_postponed_4125_);
lean_inc(v_zetaDeltaFVarIds_4124_);
lean_inc(v_cache_4123_);
lean_dec(v___x_4122_);
v___x_4128_ = lean_box(0);
v_isShared_4129_ = v_isSharedCheck_4134_;
goto v_resetjp_4127_;
}
v_resetjp_4127_:
{
lean_object* v___x_4131_; 
if (v_isShared_4129_ == 0)
{
lean_ctor_set(v___x_4128_, 0, v_mctx_4121_);
v___x_4131_ = v___x_4128_;
goto v_reusejp_4130_;
}
else
{
lean_object* v_reuseFailAlloc_4133_; 
v_reuseFailAlloc_4133_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_4133_, 0, v_mctx_4121_);
lean_ctor_set(v_reuseFailAlloc_4133_, 1, v_cache_4123_);
lean_ctor_set(v_reuseFailAlloc_4133_, 2, v_zetaDeltaFVarIds_4124_);
lean_ctor_set(v_reuseFailAlloc_4133_, 3, v_postponed_4125_);
lean_ctor_set(v_reuseFailAlloc_4133_, 4, v_diag_4126_);
v___x_4131_ = v_reuseFailAlloc_4133_;
goto v_reusejp_4130_;
}
v_reusejp_4130_:
{
lean_object* v___x_4132_; 
v___x_4132_ = lean_st_ref_set(v___y_4012_, v___x_4131_);
v_a_4034_ = v_fst_4120_;
goto v___jp_4033_;
}
}
}
v___jp_4136_:
{
lean_object* v_snd_4138_; lean_object* v_fst_4139_; lean_object* v_mctx_4140_; uint8_t v___x_4141_; 
v_snd_4138_ = lean_ctor_get(v___y_4137_, 1);
lean_inc(v_snd_4138_);
v_fst_4139_ = lean_ctor_get(v___y_4137_, 0);
lean_inc(v_fst_4139_);
lean_dec_ref(v___y_4137_);
v_mctx_4140_ = lean_ctor_get(v_snd_4138_, 1);
lean_inc_ref(v_mctx_4140_);
lean_dec(v_snd_4138_);
v___x_4141_ = lean_unbox(v_fst_4139_);
lean_dec(v_fst_4139_);
v_fst_4120_ = v___x_4141_;
v_mctx_4121_ = v_mctx_4140_;
goto v___jp_4119_;
}
}
}
v___jp_4033_:
{
if (v_a_4034_ == 0)
{
v_a_4024_ = v_snd_4018_;
goto v___jp_4023_;
}
else
{
lean_object* v___x_4035_; lean_object* v___x_4036_; 
v___x_4035_ = l_Lean_LocalDecl_fvarId(v_val_4032_);
v___x_4036_ = lean_array_push(v_snd_4018_, v___x_4035_);
v_a_4024_ = v___x_4036_;
goto v___jp_4023_;
}
}
}
v___jp_4023_:
{
lean_object* v___x_4026_; 
if (v_isShared_4021_ == 0)
{
lean_ctor_set(v___x_4020_, 1, v_a_4024_);
lean_ctor_set(v___x_4020_, 0, v___x_4022_);
v___x_4026_ = v___x_4020_;
goto v_reusejp_4025_;
}
else
{
lean_object* v_reuseFailAlloc_4030_; 
v_reuseFailAlloc_4030_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4030_, 0, v___x_4022_);
lean_ctor_set(v_reuseFailAlloc_4030_, 1, v_a_4024_);
v___x_4026_ = v_reuseFailAlloc_4030_;
goto v_reusejp_4025_;
}
v_reusejp_4025_:
{
size_t v___x_4027_; size_t v___x_4028_; lean_object* v___x_4029_; 
v___x_4027_ = ((size_t)1ULL);
v___x_4028_ = lean_usize_add(v_i_4009_, v___x_4027_);
v___x_4029_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3_spec__6___redArg(v_as_4007_, v_sz_4008_, v___x_4028_, v___x_4026_, v___y_4012_);
return v___x_4029_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3___boxed(lean_object* v_as_4151_, lean_object* v_sz_4152_, lean_object* v_i_4153_, lean_object* v_b_4154_, lean_object* v___y_4155_, lean_object* v___y_4156_, lean_object* v___y_4157_, lean_object* v___y_4158_, lean_object* v___y_4159_){
_start:
{
size_t v_sz_boxed_4160_; size_t v_i_boxed_4161_; lean_object* v_res_4162_; 
v_sz_boxed_4160_ = lean_unbox_usize(v_sz_4152_);
lean_dec(v_sz_4152_);
v_i_boxed_4161_ = lean_unbox_usize(v_i_4153_);
lean_dec(v_i_4153_);
v_res_4162_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3(v_as_4151_, v_sz_boxed_4160_, v_i_boxed_4161_, v_b_4154_, v___y_4155_, v___y_4156_, v___y_4157_, v___y_4158_);
lean_dec(v___y_4158_);
lean_dec_ref(v___y_4157_);
lean_dec(v___y_4156_);
lean_dec_ref(v___y_4155_);
lean_dec_ref(v_as_4151_);
return v_res_4162_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1(lean_object* v_t_4163_, lean_object* v_init_4164_, lean_object* v___y_4165_, lean_object* v___y_4166_, lean_object* v___y_4167_, lean_object* v___y_4168_){
_start:
{
lean_object* v_root_4170_; lean_object* v_tail_4171_; lean_object* v___x_4172_; 
v_root_4170_ = lean_ctor_get(v_t_4163_, 0);
lean_inc_ref(v_root_4170_);
v_tail_4171_ = lean_ctor_get(v_t_4163_, 1);
lean_inc_ref(v_tail_4171_);
lean_dec_ref(v_t_4163_);
lean_inc_ref(v_init_4164_);
v___x_4172_ = l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2(v_init_4164_, v_root_4170_, v_init_4164_, v___y_4165_, v___y_4166_, v___y_4167_, v___y_4168_);
lean_dec_ref(v_init_4164_);
if (lean_obj_tag(v___x_4172_) == 0)
{
lean_object* v_a_4173_; lean_object* v___x_4175_; uint8_t v_isShared_4176_; uint8_t v_isSharedCheck_4209_; 
v_a_4173_ = lean_ctor_get(v___x_4172_, 0);
v_isSharedCheck_4209_ = !lean_is_exclusive(v___x_4172_);
if (v_isSharedCheck_4209_ == 0)
{
v___x_4175_ = v___x_4172_;
v_isShared_4176_ = v_isSharedCheck_4209_;
goto v_resetjp_4174_;
}
else
{
lean_inc(v_a_4173_);
lean_dec(v___x_4172_);
v___x_4175_ = lean_box(0);
v_isShared_4176_ = v_isSharedCheck_4209_;
goto v_resetjp_4174_;
}
v_resetjp_4174_:
{
if (lean_obj_tag(v_a_4173_) == 0)
{
lean_object* v_a_4177_; lean_object* v___x_4179_; 
lean_dec_ref(v_tail_4171_);
v_a_4177_ = lean_ctor_get(v_a_4173_, 0);
lean_inc(v_a_4177_);
lean_dec_ref(v_a_4173_);
if (v_isShared_4176_ == 0)
{
lean_ctor_set(v___x_4175_, 0, v_a_4177_);
v___x_4179_ = v___x_4175_;
goto v_reusejp_4178_;
}
else
{
lean_object* v_reuseFailAlloc_4180_; 
v_reuseFailAlloc_4180_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4180_, 0, v_a_4177_);
v___x_4179_ = v_reuseFailAlloc_4180_;
goto v_reusejp_4178_;
}
v_reusejp_4178_:
{
return v___x_4179_;
}
}
else
{
lean_object* v_a_4181_; lean_object* v___x_4182_; lean_object* v___x_4183_; size_t v_sz_4184_; size_t v___x_4185_; lean_object* v___x_4186_; 
lean_del_object(v___x_4175_);
v_a_4181_ = lean_ctor_get(v_a_4173_, 0);
lean_inc(v_a_4181_);
lean_dec_ref(v_a_4173_);
v___x_4182_ = lean_box(0);
v___x_4183_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4183_, 0, v___x_4182_);
lean_ctor_set(v___x_4183_, 1, v_a_4181_);
v_sz_4184_ = lean_array_size(v_tail_4171_);
v___x_4185_ = ((size_t)0ULL);
v___x_4186_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3(v_tail_4171_, v_sz_4184_, v___x_4185_, v___x_4183_, v___y_4165_, v___y_4166_, v___y_4167_, v___y_4168_);
lean_dec_ref(v_tail_4171_);
if (lean_obj_tag(v___x_4186_) == 0)
{
lean_object* v_a_4187_; lean_object* v___x_4189_; uint8_t v_isShared_4190_; uint8_t v_isSharedCheck_4200_; 
v_a_4187_ = lean_ctor_get(v___x_4186_, 0);
v_isSharedCheck_4200_ = !lean_is_exclusive(v___x_4186_);
if (v_isSharedCheck_4200_ == 0)
{
v___x_4189_ = v___x_4186_;
v_isShared_4190_ = v_isSharedCheck_4200_;
goto v_resetjp_4188_;
}
else
{
lean_inc(v_a_4187_);
lean_dec(v___x_4186_);
v___x_4189_ = lean_box(0);
v_isShared_4190_ = v_isSharedCheck_4200_;
goto v_resetjp_4188_;
}
v_resetjp_4188_:
{
lean_object* v_fst_4191_; 
v_fst_4191_ = lean_ctor_get(v_a_4187_, 0);
if (lean_obj_tag(v_fst_4191_) == 0)
{
lean_object* v_snd_4192_; lean_object* v___x_4194_; 
v_snd_4192_ = lean_ctor_get(v_a_4187_, 1);
lean_inc(v_snd_4192_);
lean_dec(v_a_4187_);
if (v_isShared_4190_ == 0)
{
lean_ctor_set(v___x_4189_, 0, v_snd_4192_);
v___x_4194_ = v___x_4189_;
goto v_reusejp_4193_;
}
else
{
lean_object* v_reuseFailAlloc_4195_; 
v_reuseFailAlloc_4195_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4195_, 0, v_snd_4192_);
v___x_4194_ = v_reuseFailAlloc_4195_;
goto v_reusejp_4193_;
}
v_reusejp_4193_:
{
return v___x_4194_;
}
}
else
{
lean_object* v_val_4196_; lean_object* v___x_4198_; 
lean_inc_ref(v_fst_4191_);
lean_dec(v_a_4187_);
v_val_4196_ = lean_ctor_get(v_fst_4191_, 0);
lean_inc(v_val_4196_);
lean_dec_ref(v_fst_4191_);
if (v_isShared_4190_ == 0)
{
lean_ctor_set(v___x_4189_, 0, v_val_4196_);
v___x_4198_ = v___x_4189_;
goto v_reusejp_4197_;
}
else
{
lean_object* v_reuseFailAlloc_4199_; 
v_reuseFailAlloc_4199_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4199_, 0, v_val_4196_);
v___x_4198_ = v_reuseFailAlloc_4199_;
goto v_reusejp_4197_;
}
v_reusejp_4197_:
{
return v___x_4198_;
}
}
}
}
else
{
lean_object* v_a_4201_; lean_object* v___x_4203_; uint8_t v_isShared_4204_; uint8_t v_isSharedCheck_4208_; 
v_a_4201_ = lean_ctor_get(v___x_4186_, 0);
v_isSharedCheck_4208_ = !lean_is_exclusive(v___x_4186_);
if (v_isSharedCheck_4208_ == 0)
{
v___x_4203_ = v___x_4186_;
v_isShared_4204_ = v_isSharedCheck_4208_;
goto v_resetjp_4202_;
}
else
{
lean_inc(v_a_4201_);
lean_dec(v___x_4186_);
v___x_4203_ = lean_box(0);
v_isShared_4204_ = v_isSharedCheck_4208_;
goto v_resetjp_4202_;
}
v_resetjp_4202_:
{
lean_object* v___x_4206_; 
if (v_isShared_4204_ == 0)
{
v___x_4206_ = v___x_4203_;
goto v_reusejp_4205_;
}
else
{
lean_object* v_reuseFailAlloc_4207_; 
v_reuseFailAlloc_4207_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4207_, 0, v_a_4201_);
v___x_4206_ = v_reuseFailAlloc_4207_;
goto v_reusejp_4205_;
}
v_reusejp_4205_:
{
return v___x_4206_;
}
}
}
}
}
}
else
{
lean_object* v_a_4210_; lean_object* v___x_4212_; uint8_t v_isShared_4213_; uint8_t v_isSharedCheck_4217_; 
lean_dec_ref(v_tail_4171_);
v_a_4210_ = lean_ctor_get(v___x_4172_, 0);
v_isSharedCheck_4217_ = !lean_is_exclusive(v___x_4172_);
if (v_isSharedCheck_4217_ == 0)
{
v___x_4212_ = v___x_4172_;
v_isShared_4213_ = v_isSharedCheck_4217_;
goto v_resetjp_4211_;
}
else
{
lean_inc(v_a_4210_);
lean_dec(v___x_4172_);
v___x_4212_ = lean_box(0);
v_isShared_4213_ = v_isSharedCheck_4217_;
goto v_resetjp_4211_;
}
v_resetjp_4211_:
{
lean_object* v___x_4215_; 
if (v_isShared_4213_ == 0)
{
v___x_4215_ = v___x_4212_;
goto v_reusejp_4214_;
}
else
{
lean_object* v_reuseFailAlloc_4216_; 
v_reuseFailAlloc_4216_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4216_, 0, v_a_4210_);
v___x_4215_ = v_reuseFailAlloc_4216_;
goto v_reusejp_4214_;
}
v_reusejp_4214_:
{
return v___x_4215_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1___boxed(lean_object* v_t_4218_, lean_object* v_init_4219_, lean_object* v___y_4220_, lean_object* v___y_4221_, lean_object* v___y_4222_, lean_object* v___y_4223_, lean_object* v___y_4224_){
_start:
{
lean_object* v_res_4225_; 
v_res_4225_ = l_Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1(v_t_4218_, v_init_4219_, v___y_4220_, v___y_4221_, v___y_4222_, v___y_4223_);
lean_dec(v___y_4223_);
lean_dec_ref(v___y_4222_);
lean_dec(v___y_4221_);
lean_dec_ref(v___y_4220_);
return v_res_4225_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27(lean_object* v_goal_4226_, lean_object* v_fvarIds_4227_, lean_object* v_a_4228_, lean_object* v_a_4229_, lean_object* v_a_4230_, lean_object* v_a_4231_){
_start:
{
lean_object* v___x_4233_; 
lean_inc(v_goal_4226_);
v___x_4233_ = l_Lean_MVarId_getDecl(v_goal_4226_, v_a_4228_, v_a_4229_, v_a_4230_, v_a_4231_);
if (lean_obj_tag(v___x_4233_) == 0)
{
lean_object* v_a_4234_; lean_object* v_lctx_4235_; lean_object* v_decls_4236_; lean_object* v___x_4237_; 
v_a_4234_ = lean_ctor_get(v___x_4233_, 0);
lean_inc(v_a_4234_);
lean_dec_ref(v___x_4233_);
v_lctx_4235_ = lean_ctor_get(v_a_4234_, 1);
lean_inc_ref(v_lctx_4235_);
lean_dec(v_a_4234_);
v_decls_4236_ = lean_ctor_get(v_lctx_4235_, 1);
lean_inc_ref(v_decls_4236_);
lean_dec_ref(v_lctx_4235_);
v___x_4237_ = l_Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1(v_decls_4236_, v_fvarIds_4227_, v_a_4228_, v_a_4229_, v_a_4230_, v_a_4231_);
if (lean_obj_tag(v___x_4237_) == 0)
{
lean_object* v_a_4238_; lean_object* v___x_4239_; 
v_a_4238_ = lean_ctor_get(v___x_4237_, 0);
lean_inc(v_a_4238_);
lean_dec_ref(v___x_4237_);
v___x_4239_ = l_Lean_MVarId_tryClearMany(v_goal_4226_, v_a_4238_, v_a_4228_, v_a_4229_, v_a_4230_, v_a_4231_);
lean_dec(v_a_4238_);
return v___x_4239_;
}
else
{
lean_object* v_a_4240_; lean_object* v___x_4242_; uint8_t v_isShared_4243_; uint8_t v_isSharedCheck_4247_; 
lean_dec(v_a_4231_);
lean_dec_ref(v_a_4230_);
lean_dec(v_a_4229_);
lean_dec_ref(v_a_4228_);
lean_dec(v_goal_4226_);
v_a_4240_ = lean_ctor_get(v___x_4237_, 0);
v_isSharedCheck_4247_ = !lean_is_exclusive(v___x_4237_);
if (v_isSharedCheck_4247_ == 0)
{
v___x_4242_ = v___x_4237_;
v_isShared_4243_ = v_isSharedCheck_4247_;
goto v_resetjp_4241_;
}
else
{
lean_inc(v_a_4240_);
lean_dec(v___x_4237_);
v___x_4242_ = lean_box(0);
v_isShared_4243_ = v_isSharedCheck_4247_;
goto v_resetjp_4241_;
}
v_resetjp_4241_:
{
lean_object* v___x_4245_; 
if (v_isShared_4243_ == 0)
{
v___x_4245_ = v___x_4242_;
goto v_reusejp_4244_;
}
else
{
lean_object* v_reuseFailAlloc_4246_; 
v_reuseFailAlloc_4246_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4246_, 0, v_a_4240_);
v___x_4245_ = v_reuseFailAlloc_4246_;
goto v_reusejp_4244_;
}
v_reusejp_4244_:
{
return v___x_4245_;
}
}
}
}
else
{
lean_object* v_a_4248_; lean_object* v___x_4250_; uint8_t v_isShared_4251_; uint8_t v_isSharedCheck_4255_; 
lean_dec(v_a_4231_);
lean_dec_ref(v_a_4230_);
lean_dec(v_a_4229_);
lean_dec_ref(v_a_4228_);
lean_dec_ref(v_fvarIds_4227_);
lean_dec(v_goal_4226_);
v_a_4248_ = lean_ctor_get(v___x_4233_, 0);
v_isSharedCheck_4255_ = !lean_is_exclusive(v___x_4233_);
if (v_isSharedCheck_4255_ == 0)
{
v___x_4250_ = v___x_4233_;
v_isShared_4251_ = v_isSharedCheck_4255_;
goto v_resetjp_4249_;
}
else
{
lean_inc(v_a_4248_);
lean_dec(v___x_4233_);
v___x_4250_ = lean_box(0);
v_isShared_4251_ = v_isSharedCheck_4255_;
goto v_resetjp_4249_;
}
v_resetjp_4249_:
{
lean_object* v___x_4253_; 
if (v_isShared_4251_ == 0)
{
v___x_4253_ = v___x_4250_;
goto v_reusejp_4252_;
}
else
{
lean_object* v_reuseFailAlloc_4254_; 
v_reuseFailAlloc_4254_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4254_, 0, v_a_4248_);
v___x_4253_ = v_reuseFailAlloc_4254_;
goto v_reusejp_4252_;
}
v_reusejp_4252_:
{
return v___x_4253_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27___boxed(lean_object* v_goal_4256_, lean_object* v_fvarIds_4257_, lean_object* v_a_4258_, lean_object* v_a_4259_, lean_object* v_a_4260_, lean_object* v_a_4261_, lean_object* v_a_4262_){
_start:
{
lean_object* v_res_4263_; 
v_res_4263_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27(v_goal_4256_, v_fvarIds_4257_, v_a_4258_, v_a_4259_, v_a_4260_, v_a_4261_);
return v_res_4263_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3_spec__6(lean_object* v_as_4264_, size_t v_sz_4265_, size_t v_i_4266_, lean_object* v_b_4267_, lean_object* v___y_4268_, lean_object* v___y_4269_, lean_object* v___y_4270_, lean_object* v___y_4271_){
_start:
{
lean_object* v___x_4273_; 
v___x_4273_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3_spec__6___redArg(v_as_4264_, v_sz_4265_, v_i_4266_, v_b_4267_, v___y_4269_);
return v___x_4273_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3_spec__6___boxed(lean_object* v_as_4274_, lean_object* v_sz_4275_, lean_object* v_i_4276_, lean_object* v_b_4277_, lean_object* v___y_4278_, lean_object* v___y_4279_, lean_object* v___y_4280_, lean_object* v___y_4281_, lean_object* v___y_4282_){
_start:
{
size_t v_sz_boxed_4283_; size_t v_i_boxed_4284_; lean_object* v_res_4285_; 
v_sz_boxed_4283_ = lean_unbox_usize(v_sz_4275_);
lean_dec(v_sz_4275_);
v_i_boxed_4284_ = lean_unbox_usize(v_i_4276_);
lean_dec(v_i_4276_);
v_res_4285_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__3_spec__6(v_as_4274_, v_sz_boxed_4283_, v_i_boxed_4284_, v_b_4277_, v___y_4278_, v___y_4279_, v___y_4280_, v___y_4281_);
lean_dec(v___y_4281_);
lean_dec_ref(v___y_4280_);
lean_dec(v___y_4279_);
lean_dec_ref(v___y_4278_);
lean_dec_ref(v_as_4274_);
return v_res_4285_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5(lean_object* v_as_4286_, size_t v_sz_4287_, size_t v_i_4288_, lean_object* v_b_4289_, lean_object* v___y_4290_, lean_object* v___y_4291_, lean_object* v___y_4292_, lean_object* v___y_4293_){
_start:
{
lean_object* v___x_4295_; 
v___x_4295_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___redArg(v_as_4286_, v_sz_4287_, v_i_4288_, v_b_4289_, v___y_4291_);
return v___x_4295_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5___boxed(lean_object* v_as_4296_, lean_object* v_sz_4297_, lean_object* v_i_4298_, lean_object* v_b_4299_, lean_object* v___y_4300_, lean_object* v___y_4301_, lean_object* v___y_4302_, lean_object* v___y_4303_, lean_object* v___y_4304_){
_start:
{
size_t v_sz_boxed_4305_; size_t v_i_boxed_4306_; lean_object* v_res_4307_; 
v_sz_boxed_4305_ = lean_unbox_usize(v_sz_4297_);
lean_dec(v_sz_4297_);
v_i_boxed_4306_ = lean_unbox_usize(v_i_4298_);
lean_dec(v_i_4298_);
v_res_4307_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27_spec__1_spec__2_spec__4_spec__5(v_as_4296_, v_sz_boxed_4305_, v_i_boxed_4306_, v_b_4299_, v___y_4300_, v___y_4301_, v___y_4302_, v___y_4303_);
lean_dec(v___y_4303_);
lean_dec_ref(v___y_4302_);
lean_dec(v___y_4301_);
lean_dec_ref(v___y_4300_);
lean_dec_ref(v_as_4296_);
return v_res_4307_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__1(lean_object* v_fs_4308_, lean_object* v_as_4309_, size_t v_sz_4310_, size_t v_i_4311_, lean_object* v_b_4312_, lean_object* v___y_4313_, lean_object* v___y_4314_, lean_object* v___y_4315_, lean_object* v___y_4316_, lean_object* v___y_4317_, lean_object* v___y_4318_){
_start:
{
uint8_t v___x_4320_; 
v___x_4320_ = lean_usize_dec_lt(v_i_4311_, v_sz_4310_);
if (v___x_4320_ == 0)
{
lean_object* v___x_4321_; 
lean_dec(v___y_4318_);
lean_dec_ref(v___y_4317_);
lean_dec(v___y_4316_);
lean_dec_ref(v___y_4315_);
lean_dec(v___y_4314_);
lean_dec_ref(v___y_4313_);
v___x_4321_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4321_, 0, v_b_4312_);
return v___x_4321_;
}
else
{
lean_object* v_a_4322_; lean_object* v_fst_4323_; lean_object* v_snd_4324_; lean_object* v___x_4325_; lean_object* v___x_4326_; 
v_a_4322_ = lean_array_uget_borrowed(v_as_4309_, v_i_4311_);
v_fst_4323_ = lean_ctor_get(v_a_4322_, 0);
v_snd_4324_ = lean_ctor_get(v_a_4322_, 1);
lean_inc(v_snd_4324_);
v___x_4325_ = l_Lean_Meta_FVarSubst_get(v_fs_4308_, v_snd_4324_);
lean_inc(v___y_4318_);
lean_inc_ref(v___y_4317_);
lean_inc(v___y_4316_);
lean_inc_ref(v___y_4315_);
lean_inc(v___y_4314_);
lean_inc_ref(v___y_4313_);
lean_inc(v_fst_4323_);
v___x_4326_ = l_Lean_Elab_Term_addLocalVarInfo(v_fst_4323_, v___x_4325_, v___y_4313_, v___y_4314_, v___y_4315_, v___y_4316_, v___y_4317_, v___y_4318_);
if (lean_obj_tag(v___x_4326_) == 0)
{
lean_object* v___x_4327_; size_t v___x_4328_; size_t v___x_4329_; 
lean_dec_ref(v___x_4326_);
v___x_4327_ = lean_box(0);
v___x_4328_ = ((size_t)1ULL);
v___x_4329_ = lean_usize_add(v_i_4311_, v___x_4328_);
v_i_4311_ = v___x_4329_;
v_b_4312_ = v___x_4327_;
goto _start;
}
else
{
lean_dec(v___y_4318_);
lean_dec_ref(v___y_4317_);
lean_dec(v___y_4316_);
lean_dec_ref(v___y_4315_);
lean_dec(v___y_4314_);
lean_dec_ref(v___y_4313_);
return v___x_4326_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__1___boxed(lean_object* v_fs_4331_, lean_object* v_as_4332_, lean_object* v_sz_4333_, lean_object* v_i_4334_, lean_object* v_b_4335_, lean_object* v___y_4336_, lean_object* v___y_4337_, lean_object* v___y_4338_, lean_object* v___y_4339_, lean_object* v___y_4340_, lean_object* v___y_4341_, lean_object* v___y_4342_){
_start:
{
size_t v_sz_boxed_4343_; size_t v_i_boxed_4344_; lean_object* v_res_4345_; 
v_sz_boxed_4343_ = lean_unbox_usize(v_sz_4333_);
lean_dec(v_sz_4333_);
v_i_boxed_4344_ = lean_unbox_usize(v_i_4334_);
lean_dec(v_i_4334_);
v_res_4345_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__1(v_fs_4331_, v_as_4332_, v_sz_boxed_4343_, v_i_boxed_4344_, v_b_4335_, v___y_4336_, v___y_4337_, v___y_4338_, v___y_4339_, v___y_4340_, v___y_4341_);
lean_dec_ref(v_as_4332_);
lean_dec(v_fs_4331_);
return v_res_4345_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish___lam__0(lean_object* v_fs_4346_, lean_object* v_toTag_4347_, size_t v_sz_4348_, size_t v___x_4349_, lean_object* v___x_4350_, lean_object* v___y_4351_, lean_object* v___y_4352_, lean_object* v___y_4353_, lean_object* v___y_4354_, lean_object* v___y_4355_, lean_object* v___y_4356_){
_start:
{
lean_object* v___x_4358_; 
v___x_4358_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__1(v_fs_4346_, v_toTag_4347_, v_sz_4348_, v___x_4349_, v___x_4350_, v___y_4351_, v___y_4352_, v___y_4353_, v___y_4354_, v___y_4355_, v___y_4356_);
if (lean_obj_tag(v___x_4358_) == 0)
{
lean_object* v___x_4360_; uint8_t v_isShared_4361_; uint8_t v_isSharedCheck_4365_; 
v_isSharedCheck_4365_ = !lean_is_exclusive(v___x_4358_);
if (v_isSharedCheck_4365_ == 0)
{
lean_object* v_unused_4366_; 
v_unused_4366_ = lean_ctor_get(v___x_4358_, 0);
lean_dec(v_unused_4366_);
v___x_4360_ = v___x_4358_;
v_isShared_4361_ = v_isSharedCheck_4365_;
goto v_resetjp_4359_;
}
else
{
lean_dec(v___x_4358_);
v___x_4360_ = lean_box(0);
v_isShared_4361_ = v_isSharedCheck_4365_;
goto v_resetjp_4359_;
}
v_resetjp_4359_:
{
lean_object* v___x_4363_; 
if (v_isShared_4361_ == 0)
{
lean_ctor_set(v___x_4360_, 0, v___x_4350_);
v___x_4363_ = v___x_4360_;
goto v_reusejp_4362_;
}
else
{
lean_object* v_reuseFailAlloc_4364_; 
v_reuseFailAlloc_4364_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4364_, 0, v___x_4350_);
v___x_4363_ = v_reuseFailAlloc_4364_;
goto v_reusejp_4362_;
}
v_reusejp_4362_:
{
return v___x_4363_;
}
}
}
else
{
return v___x_4358_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish___lam__0___boxed(lean_object* v_fs_4367_, lean_object* v_toTag_4368_, lean_object* v_sz_4369_, lean_object* v___x_4370_, lean_object* v___x_4371_, lean_object* v___y_4372_, lean_object* v___y_4373_, lean_object* v___y_4374_, lean_object* v___y_4375_, lean_object* v___y_4376_, lean_object* v___y_4377_, lean_object* v___y_4378_){
_start:
{
size_t v_sz_boxed_4379_; size_t v___x_1739__boxed_4380_; lean_object* v_res_4381_; 
v_sz_boxed_4379_ = lean_unbox_usize(v_sz_4369_);
lean_dec(v_sz_4369_);
v___x_1739__boxed_4380_ = lean_unbox_usize(v___x_4370_);
lean_dec(v___x_4370_);
v_res_4381_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish___lam__0(v_fs_4367_, v_toTag_4368_, v_sz_boxed_4379_, v___x_1739__boxed_4380_, v___x_4371_, v___y_4372_, v___y_4373_, v___y_4374_, v___y_4375_, v___y_4376_, v___y_4377_);
lean_dec_ref(v_toTag_4368_);
lean_dec(v_fs_4367_);
return v_res_4381_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__3(lean_object* v_as_4382_, size_t v_i_4383_, size_t v_stop_4384_, lean_object* v_b_4385_){
_start:
{
lean_object* v___y_4387_; uint8_t v___x_4391_; 
v___x_4391_ = lean_usize_dec_eq(v_i_4383_, v_stop_4384_);
if (v___x_4391_ == 0)
{
lean_object* v___x_4392_; uint8_t v___x_4393_; 
v___x_4392_ = lean_array_uget_borrowed(v_as_4382_, v_i_4383_);
v___x_4393_ = l_Lean_Expr_isFVar(v___x_4392_);
if (v___x_4393_ == 0)
{
v___y_4387_ = v_b_4385_;
goto v___jp_4386_;
}
else
{
lean_object* v___x_4394_; 
lean_inc(v___x_4392_);
v___x_4394_ = lean_array_push(v_b_4385_, v___x_4392_);
v___y_4387_ = v___x_4394_;
goto v___jp_4386_;
}
}
else
{
return v_b_4385_;
}
v___jp_4386_:
{
size_t v___x_4388_; size_t v___x_4389_; 
v___x_4388_ = ((size_t)1ULL);
v___x_4389_ = lean_usize_add(v_i_4383_, v___x_4388_);
v_i_4383_ = v___x_4389_;
v_b_4385_ = v___y_4387_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__3___boxed(lean_object* v_as_4395_, lean_object* v_i_4396_, lean_object* v_stop_4397_, lean_object* v_b_4398_){
_start:
{
size_t v_i_boxed_4399_; size_t v_stop_boxed_4400_; lean_object* v_res_4401_; 
v_i_boxed_4399_ = lean_unbox_usize(v_i_4396_);
lean_dec(v_i_4396_);
v_stop_boxed_4400_ = lean_unbox_usize(v_stop_4397_);
lean_dec(v_stop_4397_);
v_res_4401_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__3(v_as_4395_, v_i_boxed_4399_, v_stop_boxed_4400_, v_b_4398_);
lean_dec_ref(v_as_4395_);
return v_res_4401_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__2(lean_object* v_fs_4402_, size_t v_sz_4403_, size_t v_i_4404_, lean_object* v_bs_4405_){
_start:
{
uint8_t v___x_4406_; 
v___x_4406_ = lean_usize_dec_lt(v_i_4404_, v_sz_4403_);
if (v___x_4406_ == 0)
{
return v_bs_4405_;
}
else
{
lean_object* v_v_4407_; lean_object* v___x_4408_; lean_object* v_bs_x27_4409_; lean_object* v___x_4410_; size_t v___x_4411_; size_t v___x_4412_; lean_object* v___x_4413_; 
v_v_4407_ = lean_array_uget(v_bs_4405_, v_i_4404_);
v___x_4408_ = lean_unsigned_to_nat(0u);
v_bs_x27_4409_ = lean_array_uset(v_bs_4405_, v_i_4404_, v___x_4408_);
v___x_4410_ = l_Lean_Meta_FVarSubst_get(v_fs_4402_, v_v_4407_);
v___x_4411_ = ((size_t)1ULL);
v___x_4412_ = lean_usize_add(v_i_4404_, v___x_4411_);
v___x_4413_ = lean_array_uset(v_bs_x27_4409_, v_i_4404_, v___x_4410_);
v_i_4404_ = v___x_4412_;
v_bs_4405_ = v___x_4413_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__2___boxed(lean_object* v_fs_4415_, lean_object* v_sz_4416_, lean_object* v_i_4417_, lean_object* v_bs_4418_){
_start:
{
size_t v_sz_boxed_4419_; size_t v_i_boxed_4420_; lean_object* v_res_4421_; 
v_sz_boxed_4419_ = lean_unbox_usize(v_sz_4416_);
lean_dec(v_sz_4416_);
v_i_boxed_4420_ = lean_unbox_usize(v_i_4417_);
lean_dec(v_i_4417_);
v_res_4421_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__2(v_fs_4415_, v_sz_boxed_4419_, v_i_boxed_4420_, v_bs_4418_);
lean_dec(v_fs_4415_);
return v_res_4421_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__0(size_t v_sz_4422_, size_t v_i_4423_, lean_object* v_bs_4424_){
_start:
{
uint8_t v___x_4425_; 
v___x_4425_ = lean_usize_dec_lt(v_i_4423_, v_sz_4422_);
if (v___x_4425_ == 0)
{
return v_bs_4424_;
}
else
{
lean_object* v_v_4426_; lean_object* v___x_4427_; lean_object* v_bs_x27_4428_; lean_object* v___x_4429_; size_t v___x_4430_; size_t v___x_4431_; lean_object* v___x_4432_; 
v_v_4426_ = lean_array_uget(v_bs_4424_, v_i_4423_);
v___x_4427_ = lean_unsigned_to_nat(0u);
v_bs_x27_4428_ = lean_array_uset(v_bs_4424_, v_i_4423_, v___x_4427_);
v___x_4429_ = l_Lean_Expr_fvarId_x21(v_v_4426_);
lean_dec(v_v_4426_);
v___x_4430_ = ((size_t)1ULL);
v___x_4431_ = lean_usize_add(v_i_4423_, v___x_4430_);
v___x_4432_ = lean_array_uset(v_bs_x27_4428_, v_i_4423_, v___x_4429_);
v_i_4423_ = v___x_4431_;
v_bs_4424_ = v___x_4432_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__0___boxed(lean_object* v_sz_4434_, lean_object* v_i_4435_, lean_object* v_bs_4436_){
_start:
{
size_t v_sz_boxed_4437_; size_t v_i_boxed_4438_; lean_object* v_res_4439_; 
v_sz_boxed_4437_ = lean_unbox_usize(v_sz_4434_);
lean_dec(v_sz_4434_);
v_i_boxed_4438_ = lean_unbox_usize(v_i_4435_);
lean_dec(v_i_4435_);
v_res_4439_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__0(v_sz_boxed_4437_, v_i_boxed_4438_, v_bs_4436_);
return v_res_4439_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish(lean_object* v_toTag_4444_, lean_object* v_g_4445_, lean_object* v_fs_4446_, lean_object* v_clears_4447_, lean_object* v_gs_4448_, lean_object* v_a_4449_, lean_object* v_a_4450_, lean_object* v_a_4451_, lean_object* v_a_4452_, lean_object* v_a_4453_, lean_object* v_a_4454_){
_start:
{
lean_object* v___y_4457_; size_t v_sz_4494_; size_t v___x_4495_; lean_object* v___x_4496_; lean_object* v___x_4497_; lean_object* v___x_4498_; lean_object* v___x_4499_; uint8_t v___x_4500_; 
v_sz_4494_ = lean_array_size(v_clears_4447_);
v___x_4495_ = ((size_t)0ULL);
v___x_4496_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__2(v_fs_4446_, v_sz_4494_, v___x_4495_, v_clears_4447_);
v___x_4497_ = lean_unsigned_to_nat(0u);
v___x_4498_ = lean_array_get_size(v___x_4496_);
v___x_4499_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish___closed__0));
v___x_4500_ = lean_nat_dec_lt(v___x_4497_, v___x_4498_);
if (v___x_4500_ == 0)
{
lean_dec_ref(v___x_4496_);
v___y_4457_ = v___x_4499_;
goto v___jp_4456_;
}
else
{
uint8_t v___x_4501_; 
v___x_4501_ = lean_nat_dec_le(v___x_4498_, v___x_4498_);
if (v___x_4501_ == 0)
{
if (v___x_4500_ == 0)
{
lean_dec_ref(v___x_4496_);
v___y_4457_ = v___x_4499_;
goto v___jp_4456_;
}
else
{
size_t v___x_4502_; lean_object* v___x_4503_; 
v___x_4502_ = lean_usize_of_nat(v___x_4498_);
v___x_4503_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__3(v___x_4496_, v___x_4495_, v___x_4502_, v___x_4499_);
lean_dec_ref(v___x_4496_);
v___y_4457_ = v___x_4503_;
goto v___jp_4456_;
}
}
else
{
size_t v___x_4504_; lean_object* v___x_4505_; 
v___x_4504_ = lean_usize_of_nat(v___x_4498_);
v___x_4505_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__3(v___x_4496_, v___x_4495_, v___x_4504_, v___x_4499_);
lean_dec_ref(v___x_4496_);
v___y_4457_ = v___x_4505_;
goto v___jp_4456_;
}
}
v___jp_4456_:
{
size_t v_sz_4458_; size_t v___x_4459_; lean_object* v___x_4460_; lean_object* v___x_4461_; 
v_sz_4458_ = lean_array_size(v___y_4457_);
v___x_4459_ = ((size_t)0ULL);
v___x_4460_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish_spec__0(v_sz_4458_, v___x_4459_, v___y_4457_);
lean_inc(v_a_4454_);
lean_inc_ref(v_a_4453_);
lean_inc(v_a_4452_);
lean_inc_ref(v_a_4451_);
v___x_4461_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_tryClearMany_x27(v_g_4445_, v___x_4460_, v_a_4451_, v_a_4452_, v_a_4453_, v_a_4454_);
if (lean_obj_tag(v___x_4461_) == 0)
{
lean_object* v_a_4462_; lean_object* v___x_4463_; size_t v_sz_4464_; lean_object* v___x_4465_; lean_object* v___x_4466_; lean_object* v___f_4467_; lean_object* v___x_4468_; 
v_a_4462_ = lean_ctor_get(v___x_4461_, 0);
lean_inc(v_a_4462_);
lean_dec_ref(v___x_4461_);
v___x_4463_ = lean_box(0);
v_sz_4464_ = lean_array_size(v_toTag_4444_);
v___x_4465_ = lean_box_usize(v_sz_4464_);
v___x_4466_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish___boxed__const__1));
v___f_4467_ = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish___lam__0___boxed), 12, 5);
lean_closure_set(v___f_4467_, 0, v_fs_4446_);
lean_closure_set(v___f_4467_, 1, v_toTag_4444_);
lean_closure_set(v___f_4467_, 2, v___x_4465_);
lean_closure_set(v___f_4467_, 3, v___x_4466_);
lean_closure_set(v___f_4467_, 4, v___x_4463_);
lean_inc(v_a_4462_);
v___x_4468_ = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7___redArg(v_a_4462_, v___f_4467_, v_a_4449_, v_a_4450_, v_a_4451_, v_a_4452_, v_a_4453_, v_a_4454_);
if (lean_obj_tag(v___x_4468_) == 0)
{
lean_object* v___x_4470_; uint8_t v_isShared_4471_; uint8_t v_isSharedCheck_4476_; 
v_isSharedCheck_4476_ = !lean_is_exclusive(v___x_4468_);
if (v_isSharedCheck_4476_ == 0)
{
lean_object* v_unused_4477_; 
v_unused_4477_ = lean_ctor_get(v___x_4468_, 0);
lean_dec(v_unused_4477_);
v___x_4470_ = v___x_4468_;
v_isShared_4471_ = v_isSharedCheck_4476_;
goto v_resetjp_4469_;
}
else
{
lean_dec(v___x_4468_);
v___x_4470_ = lean_box(0);
v_isShared_4471_ = v_isSharedCheck_4476_;
goto v_resetjp_4469_;
}
v_resetjp_4469_:
{
lean_object* v___x_4472_; lean_object* v___x_4474_; 
v___x_4472_ = lean_array_push(v_gs_4448_, v_a_4462_);
if (v_isShared_4471_ == 0)
{
lean_ctor_set(v___x_4470_, 0, v___x_4472_);
v___x_4474_ = v___x_4470_;
goto v_reusejp_4473_;
}
else
{
lean_object* v_reuseFailAlloc_4475_; 
v_reuseFailAlloc_4475_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4475_, 0, v___x_4472_);
v___x_4474_ = v_reuseFailAlloc_4475_;
goto v_reusejp_4473_;
}
v_reusejp_4473_:
{
return v___x_4474_;
}
}
}
else
{
lean_object* v_a_4478_; lean_object* v___x_4480_; uint8_t v_isShared_4481_; uint8_t v_isSharedCheck_4485_; 
lean_dec(v_a_4462_);
lean_dec_ref(v_gs_4448_);
v_a_4478_ = lean_ctor_get(v___x_4468_, 0);
v_isSharedCheck_4485_ = !lean_is_exclusive(v___x_4468_);
if (v_isSharedCheck_4485_ == 0)
{
v___x_4480_ = v___x_4468_;
v_isShared_4481_ = v_isSharedCheck_4485_;
goto v_resetjp_4479_;
}
else
{
lean_inc(v_a_4478_);
lean_dec(v___x_4468_);
v___x_4480_ = lean_box(0);
v_isShared_4481_ = v_isSharedCheck_4485_;
goto v_resetjp_4479_;
}
v_resetjp_4479_:
{
lean_object* v___x_4483_; 
if (v_isShared_4481_ == 0)
{
v___x_4483_ = v___x_4480_;
goto v_reusejp_4482_;
}
else
{
lean_object* v_reuseFailAlloc_4484_; 
v_reuseFailAlloc_4484_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4484_, 0, v_a_4478_);
v___x_4483_ = v_reuseFailAlloc_4484_;
goto v_reusejp_4482_;
}
v_reusejp_4482_:
{
return v___x_4483_;
}
}
}
}
else
{
lean_object* v_a_4486_; lean_object* v___x_4488_; uint8_t v_isShared_4489_; uint8_t v_isSharedCheck_4493_; 
lean_dec(v_a_4454_);
lean_dec_ref(v_a_4453_);
lean_dec(v_a_4452_);
lean_dec_ref(v_a_4451_);
lean_dec(v_a_4450_);
lean_dec_ref(v_a_4449_);
lean_dec_ref(v_gs_4448_);
lean_dec(v_fs_4446_);
lean_dec_ref(v_toTag_4444_);
v_a_4486_ = lean_ctor_get(v___x_4461_, 0);
v_isSharedCheck_4493_ = !lean_is_exclusive(v___x_4461_);
if (v_isSharedCheck_4493_ == 0)
{
v___x_4488_ = v___x_4461_;
v_isShared_4489_ = v_isSharedCheck_4493_;
goto v_resetjp_4487_;
}
else
{
lean_inc(v_a_4486_);
lean_dec(v___x_4461_);
v___x_4488_ = lean_box(0);
v_isShared_4489_ = v_isSharedCheck_4493_;
goto v_resetjp_4487_;
}
v_resetjp_4487_:
{
lean_object* v___x_4491_; 
if (v_isShared_4489_ == 0)
{
v___x_4491_ = v___x_4488_;
goto v_reusejp_4490_;
}
else
{
lean_object* v_reuseFailAlloc_4492_; 
v_reuseFailAlloc_4492_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4492_, 0, v_a_4486_);
v___x_4491_ = v_reuseFailAlloc_4492_;
goto v_reusejp_4490_;
}
v_reusejp_4490_:
{
return v___x_4491_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish___boxed(lean_object* v_toTag_4506_, lean_object* v_g_4507_, lean_object* v_fs_4508_, lean_object* v_clears_4509_, lean_object* v_gs_4510_, lean_object* v_a_4511_, lean_object* v_a_4512_, lean_object* v_a_4513_, lean_object* v_a_4514_, lean_object* v_a_4515_, lean_object* v_a_4516_, lean_object* v_a_4517_){
_start:
{
lean_object* v_res_4518_; 
v_res_4518_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish(v_toTag_4506_, v_g_4507_, v_fs_4508_, v_clears_4509_, v_gs_4510_, v_a_4511_, v_a_4512_, v_a_4513_, v_a_4514_, v_a_4515_, v_a_4516_);
return v_res_4518_;
}
}
static lean_object* _init_l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg___closed__0(void){
_start:
{
lean_object* v___x_4519_; lean_object* v___x_4520_; lean_object* v___x_4521_; 
v___x_4519_ = lean_box(0);
v___x_4520_ = l_Lean_Elab_unsupportedSyntaxExceptionId;
v___x_4521_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_4521_, 0, v___x_4520_);
lean_ctor_set(v___x_4521_, 1, v___x_4519_);
return v___x_4521_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg(){
_start:
{
lean_object* v___x_4523_; lean_object* v___x_4524_; 
v___x_4523_ = lean_obj_once(&l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg___closed__0, &l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg___closed__0_once, _init_l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg___closed__0);
v___x_4524_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_4524_, 0, v___x_4523_);
return v___x_4524_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg___boxed(lean_object* v___y_4525_){
_start:
{
lean_object* v_res_4526_; 
v_res_4526_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg();
return v_res_4526_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0(lean_object* v_00_u03b1_4527_, lean_object* v___y_4528_, lean_object* v___y_4529_, lean_object* v___y_4530_, lean_object* v___y_4531_){
_start:
{
lean_object* v___x_4533_; 
v___x_4533_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg();
return v___x_4533_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___boxed(lean_object* v_00_u03b1_4534_, lean_object* v___y_4535_, lean_object* v___y_4536_, lean_object* v___y_4537_, lean_object* v___y_4538_, lean_object* v___y_4539_){
_start:
{
lean_object* v_res_4540_; 
v_res_4540_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0(v_00_u03b1_4534_, v___y_4535_, v___y_4536_, v___y_4537_, v___y_4538_);
lean_dec(v___y_4538_);
lean_dec_ref(v___y_4537_);
lean_dec(v___y_4536_);
lean_dec_ref(v___y_4535_);
return v_res_4540_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse(lean_object* v_stx_4579_, lean_object* v_a_4580_, lean_object* v_a_4581_, lean_object* v_a_4582_, lean_object* v_a_4583_){
_start:
{
lean_object* v___x_4585_; uint8_t v___x_4586_; 
v___x_4585_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__1));
lean_inc(v_stx_4579_);
v___x_4586_ = l_Lean_Syntax_isOfKind(v_stx_4579_, v___x_4585_);
if (v___x_4586_ == 0)
{
lean_object* v___x_4587_; uint8_t v___x_4588_; 
v___x_4587_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__1));
lean_inc(v_stx_4579_);
v___x_4588_ = l_Lean_Syntax_isOfKind(v_stx_4579_, v___x_4587_);
if (v___x_4588_ == 0)
{
lean_object* v___x_4589_; uint8_t v___x_4590_; 
v___x_4589_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__1));
lean_inc(v_stx_4579_);
v___x_4590_ = l_Lean_Syntax_isOfKind(v_stx_4579_, v___x_4589_);
if (v___x_4590_ == 0)
{
lean_object* v___x_4591_; uint8_t v___x_4592_; 
v___x_4591_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instCoeIdentTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__4));
lean_inc(v_stx_4579_);
v___x_4592_ = l_Lean_Syntax_isOfKind(v_stx_4579_, v___x_4591_);
if (v___x_4592_ == 0)
{
lean_object* v___x_4593_; uint8_t v___x_4594_; 
v___x_4593_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__3));
lean_inc(v_stx_4579_);
v___x_4594_ = l_Lean_Syntax_isOfKind(v_stx_4579_, v___x_4593_);
if (v___x_4594_ == 0)
{
lean_object* v___x_4595_; uint8_t v___x_4596_; 
v___x_4595_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__5));
lean_inc(v_stx_4579_);
v___x_4596_ = l_Lean_Syntax_isOfKind(v_stx_4579_, v___x_4595_);
if (v___x_4596_ == 0)
{
lean_object* v___x_4597_; uint8_t v___x_4598_; 
v___x_4597_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__7));
lean_inc(v_stx_4579_);
v___x_4598_ = l_Lean_Syntax_isOfKind(v_stx_4579_, v___x_4597_);
if (v___x_4598_ == 0)
{
lean_object* v___x_4599_; uint8_t v___x_4600_; 
v___x_4599_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__9));
lean_inc(v_stx_4579_);
v___x_4600_ = l_Lean_Syntax_isOfKind(v_stx_4579_, v___x_4599_);
if (v___x_4600_ == 0)
{
lean_object* v___x_4601_; 
lean_dec(v_stx_4579_);
v___x_4601_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg();
return v___x_4601_;
}
else
{
lean_object* v___x_4602_; lean_object* v___x_4603_; lean_object* v___x_4604_; 
v___x_4602_ = lean_unsigned_to_nat(1u);
v___x_4603_ = l_Lean_Syntax_getArg(v_stx_4579_, v___x_4602_);
v___x_4604_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse(v___x_4603_, v_a_4580_, v_a_4581_, v_a_4582_, v_a_4583_);
if (lean_obj_tag(v___x_4604_) == 0)
{
lean_object* v_a_4605_; lean_object* v___x_4607_; uint8_t v_isShared_4608_; uint8_t v_isSharedCheck_4613_; 
v_a_4605_ = lean_ctor_get(v___x_4604_, 0);
v_isSharedCheck_4613_ = !lean_is_exclusive(v___x_4604_);
if (v_isSharedCheck_4613_ == 0)
{
v___x_4607_ = v___x_4604_;
v_isShared_4608_ = v_isSharedCheck_4613_;
goto v_resetjp_4606_;
}
else
{
lean_inc(v_a_4605_);
lean_dec(v___x_4604_);
v___x_4607_ = lean_box(0);
v_isShared_4608_ = v_isSharedCheck_4613_;
goto v_resetjp_4606_;
}
v_resetjp_4606_:
{
lean_object* v___x_4609_; lean_object* v___x_4611_; 
v___x_4609_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4609_, 0, v_stx_4579_);
lean_ctor_set(v___x_4609_, 1, v_a_4605_);
if (v_isShared_4608_ == 0)
{
lean_ctor_set(v___x_4607_, 0, v___x_4609_);
v___x_4611_ = v___x_4607_;
goto v_reusejp_4610_;
}
else
{
lean_object* v_reuseFailAlloc_4612_; 
v_reuseFailAlloc_4612_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4612_, 0, v___x_4609_);
v___x_4611_ = v_reuseFailAlloc_4612_;
goto v_reusejp_4610_;
}
v_reusejp_4610_:
{
return v___x_4611_;
}
}
}
else
{
lean_dec(v_stx_4579_);
return v___x_4604_;
}
}
}
else
{
lean_object* v___x_4614_; lean_object* v___x_4615_; lean_object* v_ps_4616_; lean_object* v___x_4617_; lean_object* v___x_4618_; lean_object* v___x_4619_; lean_object* v___x_4620_; 
v___x_4614_ = lean_unsigned_to_nat(1u);
v___x_4615_ = l_Lean_Syntax_getArg(v_stx_4579_, v___x_4614_);
v_ps_4616_ = l_Lean_Syntax_getArgs(v___x_4615_);
lean_dec(v___x_4615_);
v___x_4617_ = l_Lean_Syntax_TSepArray_getElems___redArg(v_ps_4616_);
lean_dec_ref(v_ps_4616_);
v___x_4618_ = lean_array_to_list(v___x_4617_);
v___x_4619_ = lean_box(0);
v___x_4620_ = l_List_mapM_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__1(v___x_4618_, v___x_4619_, v_a_4580_, v_a_4581_, v_a_4582_, v_a_4583_);
if (lean_obj_tag(v___x_4620_) == 0)
{
lean_object* v_a_4621_; lean_object* v___x_4623_; uint8_t v_isShared_4624_; uint8_t v_isSharedCheck_4629_; 
v_a_4621_ = lean_ctor_get(v___x_4620_, 0);
v_isSharedCheck_4629_ = !lean_is_exclusive(v___x_4620_);
if (v_isSharedCheck_4629_ == 0)
{
v___x_4623_ = v___x_4620_;
v_isShared_4624_ = v_isSharedCheck_4629_;
goto v_resetjp_4622_;
}
else
{
lean_inc(v_a_4621_);
lean_dec(v___x_4620_);
v___x_4623_ = lean_box(0);
v_isShared_4624_ = v_isSharedCheck_4629_;
goto v_resetjp_4622_;
}
v_resetjp_4622_:
{
lean_object* v___x_4625_; lean_object* v___x_4627_; 
v___x_4625_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_4625_, 0, v_stx_4579_);
lean_ctor_set(v___x_4625_, 1, v_a_4621_);
if (v_isShared_4624_ == 0)
{
lean_ctor_set(v___x_4623_, 0, v___x_4625_);
v___x_4627_ = v___x_4623_;
goto v_reusejp_4626_;
}
else
{
lean_object* v_reuseFailAlloc_4628_; 
v_reuseFailAlloc_4628_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4628_, 0, v___x_4625_);
v___x_4627_ = v_reuseFailAlloc_4628_;
goto v_reusejp_4626_;
}
v_reusejp_4626_:
{
return v___x_4627_;
}
}
}
else
{
lean_object* v_a_4630_; lean_object* v___x_4632_; uint8_t v_isShared_4633_; uint8_t v_isSharedCheck_4637_; 
lean_dec(v_stx_4579_);
v_a_4630_ = lean_ctor_get(v___x_4620_, 0);
v_isSharedCheck_4637_ = !lean_is_exclusive(v___x_4620_);
if (v_isSharedCheck_4637_ == 0)
{
v___x_4632_ = v___x_4620_;
v_isShared_4633_ = v_isSharedCheck_4637_;
goto v_resetjp_4631_;
}
else
{
lean_inc(v_a_4630_);
lean_dec(v___x_4620_);
v___x_4632_ = lean_box(0);
v_isShared_4633_ = v_isSharedCheck_4637_;
goto v_resetjp_4631_;
}
v_resetjp_4631_:
{
lean_object* v___x_4635_; 
if (v_isShared_4633_ == 0)
{
v___x_4635_ = v___x_4632_;
goto v_reusejp_4634_;
}
else
{
lean_object* v_reuseFailAlloc_4636_; 
v_reuseFailAlloc_4636_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4636_, 0, v_a_4630_);
v___x_4635_ = v_reuseFailAlloc_4636_;
goto v_reusejp_4634_;
}
v_reusejp_4634_:
{
return v___x_4635_;
}
}
}
}
}
else
{
lean_object* v___x_4638_; lean_object* v___x_4639_; lean_object* v___x_4640_; 
v___x_4638_ = lean_unsigned_to_nat(1u);
v___x_4639_ = l_Lean_Syntax_getArg(v_stx_4579_, v___x_4638_);
v___x_4640_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse(v___x_4639_, v_a_4580_, v_a_4581_, v_a_4582_, v_a_4583_);
if (lean_obj_tag(v___x_4640_) == 0)
{
lean_object* v_a_4641_; lean_object* v___x_4643_; uint8_t v_isShared_4644_; uint8_t v_isSharedCheck_4649_; 
v_a_4641_ = lean_ctor_get(v___x_4640_, 0);
v_isSharedCheck_4649_ = !lean_is_exclusive(v___x_4640_);
if (v_isSharedCheck_4649_ == 0)
{
v___x_4643_ = v___x_4640_;
v_isShared_4644_ = v_isSharedCheck_4649_;
goto v_resetjp_4642_;
}
else
{
lean_inc(v_a_4641_);
lean_dec(v___x_4640_);
v___x_4643_ = lean_box(0);
v_isShared_4644_ = v_isSharedCheck_4649_;
goto v_resetjp_4642_;
}
v_resetjp_4642_:
{
lean_object* v___x_4645_; lean_object* v___x_4647_; 
v___x_4645_ = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(v___x_4645_, 0, v_stx_4579_);
lean_ctor_set(v___x_4645_, 1, v_a_4641_);
if (v_isShared_4644_ == 0)
{
lean_ctor_set(v___x_4643_, 0, v___x_4645_);
v___x_4647_ = v___x_4643_;
goto v_reusejp_4646_;
}
else
{
lean_object* v_reuseFailAlloc_4648_; 
v_reuseFailAlloc_4648_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4648_, 0, v___x_4645_);
v___x_4647_ = v_reuseFailAlloc_4648_;
goto v_reusejp_4646_;
}
v_reusejp_4646_:
{
return v___x_4647_;
}
}
}
else
{
lean_dec(v_stx_4579_);
return v___x_4640_;
}
}
}
else
{
lean_object* v___x_4650_; lean_object* v___x_4651_; 
v___x_4650_ = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(v___x_4650_, 0, v_stx_4579_);
v___x_4651_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4651_, 0, v___x_4650_);
return v___x_4651_;
}
}
else
{
lean_object* v___x_4652_; lean_object* v_h_4653_; lean_object* v___x_4654_; uint8_t v___x_4655_; 
v___x_4652_ = lean_unsigned_to_nat(0u);
v_h_4653_ = l_Lean_Syntax_getArg(v_stx_4579_, v___x_4652_);
lean_dec(v_stx_4579_);
v___x_4654_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__11));
lean_inc(v_h_4653_);
v___x_4655_ = l_Lean_Syntax_isOfKind(v_h_4653_, v___x_4654_);
if (v___x_4655_ == 0)
{
lean_object* v___x_4656_; 
lean_dec(v_h_4653_);
v___x_4656_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg();
return v___x_4656_;
}
else
{
lean_object* v___x_4657_; lean_object* v___x_4658_; lean_object* v___x_4659_; 
v___x_4657_ = l_Lean_TSyntax_getId(v_h_4653_);
v___x_4658_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_4658_, 0, v_h_4653_);
lean_ctor_set(v___x_4658_, 1, v___x_4657_);
v___x_4659_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4659_, 0, v___x_4658_);
return v___x_4659_;
}
}
}
else
{
lean_object* v___x_4660_; lean_object* v___x_4661_; lean_object* v___x_4662_; 
v___x_4660_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__1));
v___x_4661_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_4661_, 0, v_stx_4579_);
lean_ctor_set(v___x_4661_, 1, v___x_4660_);
v___x_4662_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4662_, 0, v___x_4661_);
return v___x_4662_;
}
}
else
{
lean_object* v___x_4663_; lean_object* v___x_4664_; uint8_t v___x_4665_; 
v___x_4663_ = lean_unsigned_to_nat(0u);
v___x_4664_ = l_Lean_Syntax_getArg(v_stx_4579_, v___x_4663_);
lean_inc(v___x_4664_);
v___x_4665_ = l_Lean_Syntax_isOfKind(v___x_4664_, v___x_4585_);
if (v___x_4665_ == 0)
{
lean_object* v___x_4666_; 
lean_dec(v___x_4664_);
lean_dec(v_stx_4579_);
v___x_4666_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg();
return v___x_4666_;
}
else
{
lean_object* v___x_4667_; lean_object* v___x_4668_; lean_object* v___x_4669_; uint8_t v___x_4670_; 
v___x_4667_ = lean_unsigned_to_nat(1u);
v___x_4668_ = l_Lean_Syntax_getArg(v_stx_4579_, v___x_4667_);
v___x_4669_ = lean_unsigned_to_nat(2u);
lean_inc(v___x_4668_);
v___x_4670_ = l_Lean_Syntax_matchesNull(v___x_4668_, v___x_4669_);
if (v___x_4670_ == 0)
{
uint8_t v___x_4671_; 
lean_dec(v_stx_4579_);
v___x_4671_ = l_Lean_Syntax_matchesNull(v___x_4668_, v___x_4663_);
if (v___x_4671_ == 0)
{
lean_object* v___x_4672_; 
lean_dec(v___x_4664_);
v___x_4672_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg();
return v___x_4672_;
}
else
{
v_stx_4579_ = v___x_4664_;
goto _start;
}
}
else
{
lean_object* v___x_4674_; 
v___x_4674_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse(v___x_4664_, v_a_4580_, v_a_4581_, v_a_4582_, v_a_4583_);
if (lean_obj_tag(v___x_4674_) == 0)
{
lean_object* v_a_4675_; lean_object* v___x_4677_; uint8_t v_isShared_4678_; uint8_t v_isSharedCheck_4684_; 
v_a_4675_ = lean_ctor_get(v___x_4674_, 0);
v_isSharedCheck_4684_ = !lean_is_exclusive(v___x_4674_);
if (v_isSharedCheck_4684_ == 0)
{
v___x_4677_ = v___x_4674_;
v_isShared_4678_ = v_isSharedCheck_4684_;
goto v_resetjp_4676_;
}
else
{
lean_inc(v_a_4675_);
lean_dec(v___x_4674_);
v___x_4677_ = lean_box(0);
v_isShared_4678_ = v_isSharedCheck_4684_;
goto v_resetjp_4676_;
}
v_resetjp_4676_:
{
lean_object* v_t_4679_; lean_object* v___x_4680_; lean_object* v___x_4682_; 
v_t_4679_ = l_Lean_Syntax_getArg(v___x_4668_, v___x_4667_);
lean_dec(v___x_4668_);
v___x_4680_ = lean_alloc_ctor(4, 3, 0);
lean_ctor_set(v___x_4680_, 0, v_stx_4579_);
lean_ctor_set(v___x_4680_, 1, v_a_4675_);
lean_ctor_set(v___x_4680_, 2, v_t_4679_);
if (v_isShared_4678_ == 0)
{
lean_ctor_set(v___x_4677_, 0, v___x_4680_);
v___x_4682_ = v___x_4677_;
goto v_reusejp_4681_;
}
else
{
lean_object* v_reuseFailAlloc_4683_; 
v_reuseFailAlloc_4683_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4683_, 0, v___x_4680_);
v___x_4682_ = v_reuseFailAlloc_4683_;
goto v_reusejp_4681_;
}
v_reusejp_4681_:
{
return v___x_4682_;
}
}
}
else
{
lean_dec(v___x_4668_);
lean_dec(v_stx_4579_);
return v___x_4674_;
}
}
}
}
}
else
{
lean_object* v___x_4685_; lean_object* v___x_4686_; lean_object* v_ps_4687_; lean_object* v___x_4688_; lean_object* v___x_4689_; lean_object* v___x_4690_; lean_object* v___x_4691_; 
v___x_4685_ = lean_unsigned_to_nat(0u);
v___x_4686_ = l_Lean_Syntax_getArg(v_stx_4579_, v___x_4685_);
v_ps_4687_ = l_Lean_Syntax_getArgs(v___x_4686_);
lean_dec(v___x_4686_);
v___x_4688_ = l_Lean_Syntax_TSepArray_getElems___redArg(v_ps_4687_);
lean_dec_ref(v_ps_4687_);
v___x_4689_ = lean_array_to_list(v___x_4688_);
v___x_4690_ = lean_box(0);
v___x_4691_ = l_List_mapM_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__1(v___x_4689_, v___x_4690_, v_a_4580_, v_a_4581_, v_a_4582_, v_a_4583_);
if (lean_obj_tag(v___x_4691_) == 0)
{
lean_object* v_a_4692_; lean_object* v___x_4694_; uint8_t v_isShared_4695_; uint8_t v_isSharedCheck_4700_; 
v_a_4692_ = lean_ctor_get(v___x_4691_, 0);
v_isSharedCheck_4700_ = !lean_is_exclusive(v___x_4691_);
if (v_isSharedCheck_4700_ == 0)
{
v___x_4694_ = v___x_4691_;
v_isShared_4695_ = v_isSharedCheck_4700_;
goto v_resetjp_4693_;
}
else
{
lean_inc(v_a_4692_);
lean_dec(v___x_4691_);
v___x_4694_ = lean_box(0);
v_isShared_4695_ = v_isSharedCheck_4700_;
goto v_resetjp_4693_;
}
v_resetjp_4693_:
{
lean_object* v___x_4696_; lean_object* v___x_4698_; 
v___x_4696_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_alts_x27(v_stx_4579_, v_a_4692_);
if (v_isShared_4695_ == 0)
{
lean_ctor_set(v___x_4694_, 0, v___x_4696_);
v___x_4698_ = v___x_4694_;
goto v_reusejp_4697_;
}
else
{
lean_object* v_reuseFailAlloc_4699_; 
v_reuseFailAlloc_4699_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4699_, 0, v___x_4696_);
v___x_4698_ = v_reuseFailAlloc_4699_;
goto v_reusejp_4697_;
}
v_reusejp_4697_:
{
return v___x_4698_;
}
}
}
else
{
lean_object* v_a_4701_; lean_object* v___x_4703_; uint8_t v_isShared_4704_; uint8_t v_isSharedCheck_4708_; 
lean_dec(v_stx_4579_);
v_a_4701_ = lean_ctor_get(v___x_4691_, 0);
v_isSharedCheck_4708_ = !lean_is_exclusive(v___x_4691_);
if (v_isSharedCheck_4708_ == 0)
{
v___x_4703_ = v___x_4691_;
v_isShared_4704_ = v_isSharedCheck_4708_;
goto v_resetjp_4702_;
}
else
{
lean_inc(v_a_4701_);
lean_dec(v___x_4691_);
v___x_4703_ = lean_box(0);
v_isShared_4704_ = v_isSharedCheck_4708_;
goto v_resetjp_4702_;
}
v_resetjp_4702_:
{
lean_object* v___x_4706_; 
if (v_isShared_4704_ == 0)
{
v___x_4706_ = v___x_4703_;
goto v_reusejp_4705_;
}
else
{
lean_object* v_reuseFailAlloc_4707_; 
v_reuseFailAlloc_4707_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4707_, 0, v_a_4701_);
v___x_4706_ = v_reuseFailAlloc_4707_;
goto v_reusejp_4705_;
}
v_reusejp_4705_:
{
return v___x_4706_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__1(lean_object* v_x_4709_, lean_object* v_x_4710_, lean_object* v___y_4711_, lean_object* v___y_4712_, lean_object* v___y_4713_, lean_object* v___y_4714_){
_start:
{
if (lean_obj_tag(v_x_4709_) == 0)
{
lean_object* v___x_4716_; lean_object* v___x_4717_; 
v___x_4716_ = l_List_reverse___redArg(v_x_4710_);
v___x_4717_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4717_, 0, v___x_4716_);
return v___x_4717_;
}
else
{
lean_object* v_head_4718_; lean_object* v_tail_4719_; lean_object* v___x_4721_; uint8_t v_isShared_4722_; uint8_t v_isSharedCheck_4737_; 
v_head_4718_ = lean_ctor_get(v_x_4709_, 0);
v_tail_4719_ = lean_ctor_get(v_x_4709_, 1);
v_isSharedCheck_4737_ = !lean_is_exclusive(v_x_4709_);
if (v_isSharedCheck_4737_ == 0)
{
v___x_4721_ = v_x_4709_;
v_isShared_4722_ = v_isSharedCheck_4737_;
goto v_resetjp_4720_;
}
else
{
lean_inc(v_tail_4719_);
lean_inc(v_head_4718_);
lean_dec(v_x_4709_);
v___x_4721_ = lean_box(0);
v_isShared_4722_ = v_isSharedCheck_4737_;
goto v_resetjp_4720_;
}
v_resetjp_4720_:
{
lean_object* v___x_4723_; 
v___x_4723_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse(v_head_4718_, v___y_4711_, v___y_4712_, v___y_4713_, v___y_4714_);
if (lean_obj_tag(v___x_4723_) == 0)
{
lean_object* v_a_4724_; lean_object* v___x_4726_; 
v_a_4724_ = lean_ctor_get(v___x_4723_, 0);
lean_inc(v_a_4724_);
lean_dec_ref(v___x_4723_);
if (v_isShared_4722_ == 0)
{
lean_ctor_set(v___x_4721_, 1, v_x_4710_);
lean_ctor_set(v___x_4721_, 0, v_a_4724_);
v___x_4726_ = v___x_4721_;
goto v_reusejp_4725_;
}
else
{
lean_object* v_reuseFailAlloc_4728_; 
v_reuseFailAlloc_4728_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4728_, 0, v_a_4724_);
lean_ctor_set(v_reuseFailAlloc_4728_, 1, v_x_4710_);
v___x_4726_ = v_reuseFailAlloc_4728_;
goto v_reusejp_4725_;
}
v_reusejp_4725_:
{
v_x_4709_ = v_tail_4719_;
v_x_4710_ = v___x_4726_;
goto _start;
}
}
else
{
lean_object* v_a_4729_; lean_object* v___x_4731_; uint8_t v_isShared_4732_; uint8_t v_isSharedCheck_4736_; 
lean_del_object(v___x_4721_);
lean_dec(v_tail_4719_);
lean_dec(v_x_4710_);
v_a_4729_ = lean_ctor_get(v___x_4723_, 0);
v_isSharedCheck_4736_ = !lean_is_exclusive(v___x_4723_);
if (v_isSharedCheck_4736_ == 0)
{
v___x_4731_ = v___x_4723_;
v_isShared_4732_ = v_isSharedCheck_4736_;
goto v_resetjp_4730_;
}
else
{
lean_inc(v_a_4729_);
lean_dec(v___x_4723_);
v___x_4731_ = lean_box(0);
v_isShared_4732_ = v_isSharedCheck_4736_;
goto v_resetjp_4730_;
}
v_resetjp_4730_:
{
lean_object* v___x_4734_; 
if (v_isShared_4732_ == 0)
{
v___x_4734_ = v___x_4731_;
goto v_reusejp_4733_;
}
else
{
lean_object* v_reuseFailAlloc_4735_; 
v_reuseFailAlloc_4735_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4735_, 0, v_a_4729_);
v___x_4734_ = v_reuseFailAlloc_4735_;
goto v_reusejp_4733_;
}
v_reusejp_4733_:
{
return v___x_4734_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__1___boxed(lean_object* v_x_4738_, lean_object* v_x_4739_, lean_object* v___y_4740_, lean_object* v___y_4741_, lean_object* v___y_4742_, lean_object* v___y_4743_, lean_object* v___y_4744_){
_start:
{
lean_object* v_res_4745_; 
v_res_4745_ = l_List_mapM_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__1(v_x_4738_, v_x_4739_, v___y_4740_, v___y_4741_, v___y_4742_, v___y_4743_);
lean_dec(v___y_4743_);
lean_dec_ref(v___y_4742_);
lean_dec(v___y_4741_);
lean_dec_ref(v___y_4740_);
return v_res_4745_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___boxed(lean_object* v_stx_4746_, lean_object* v_a_4747_, lean_object* v_a_4748_, lean_object* v_a_4749_, lean_object* v_a_4750_, lean_object* v_a_4751_){
_start:
{
lean_object* v_res_4752_; 
v_res_4752_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse(v_stx_4746_, v_a_4747_, v_a_4748_, v_a_4749_, v_a_4750_);
lean_dec(v_a_4750_);
lean_dec_ref(v_a_4749_);
lean_dec(v_a_4748_);
lean_dec_ref(v_a_4747_);
return v_res_4752_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar_spec__0___redArg(lean_object* v_fst_4753_, lean_object* v_as_4754_, size_t v_sz_4755_, size_t v_i_4756_, lean_object* v_b_4757_){
_start:
{
lean_object* v_a_4760_; uint8_t v___x_4764_; 
v___x_4764_ = lean_usize_dec_lt(v_i_4756_, v_sz_4755_);
if (v___x_4764_ == 0)
{
lean_object* v___x_4765_; 
v___x_4765_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4765_, 0, v_b_4757_);
return v___x_4765_;
}
else
{
lean_object* v_fst_4766_; lean_object* v_snd_4767_; lean_object* v___x_4769_; uint8_t v_isShared_4770_; uint8_t v_isSharedCheck_4789_; 
v_fst_4766_ = lean_ctor_get(v_b_4757_, 0);
v_snd_4767_ = lean_ctor_get(v_b_4757_, 1);
v_isSharedCheck_4789_ = !lean_is_exclusive(v_b_4757_);
if (v_isSharedCheck_4789_ == 0)
{
v___x_4769_ = v_b_4757_;
v_isShared_4770_ = v_isSharedCheck_4789_;
goto v_resetjp_4768_;
}
else
{
lean_inc(v_snd_4767_);
lean_inc(v_fst_4766_);
lean_dec(v_b_4757_);
v___x_4769_ = lean_box(0);
v_isShared_4770_ = v_isSharedCheck_4789_;
goto v_resetjp_4768_;
}
v_resetjp_4768_:
{
lean_object* v_a_4781_; lean_object* v_expr_4782_; lean_object* v_hName_x3f_4783_; uint8_t v___y_4785_; uint8_t v___x_4788_; 
v_a_4781_ = lean_array_uget_borrowed(v_as_4754_, v_i_4756_);
v_expr_4782_ = lean_ctor_get(v_a_4781_, 0);
v_hName_x3f_4783_ = lean_ctor_get(v_a_4781_, 2);
v___x_4788_ = l_Lean_Expr_isFVar(v_expr_4782_);
if (v___x_4788_ == 0)
{
v___y_4785_ = v___x_4788_;
goto v___jp_4784_;
}
else
{
if (lean_obj_tag(v_hName_x3f_4783_) == 0)
{
v___y_4785_ = v___x_4788_;
goto v___jp_4784_;
}
else
{
goto v___jp_4771_;
}
}
v___jp_4771_:
{
lean_object* v___x_4772_; lean_object* v___x_4773_; lean_object* v___x_4774_; lean_object* v___x_4775_; lean_object* v___x_4776_; lean_object* v___x_4777_; lean_object* v___x_4779_; 
v___x_4772_ = lean_box(0);
v___x_4773_ = lean_array_get_borrowed(v___x_4772_, v_fst_4753_, v_snd_4767_);
lean_inc(v___x_4773_);
v___x_4774_ = l_Lean_mkFVar(v___x_4773_);
v___x_4775_ = lean_array_push(v_fst_4766_, v___x_4774_);
v___x_4776_ = lean_unsigned_to_nat(1u);
v___x_4777_ = lean_nat_add(v_snd_4767_, v___x_4776_);
lean_dec(v_snd_4767_);
if (v_isShared_4770_ == 0)
{
lean_ctor_set(v___x_4769_, 1, v___x_4777_);
lean_ctor_set(v___x_4769_, 0, v___x_4775_);
v___x_4779_ = v___x_4769_;
goto v_reusejp_4778_;
}
else
{
lean_object* v_reuseFailAlloc_4780_; 
v_reuseFailAlloc_4780_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4780_, 0, v___x_4775_);
lean_ctor_set(v_reuseFailAlloc_4780_, 1, v___x_4777_);
v___x_4779_ = v_reuseFailAlloc_4780_;
goto v_reusejp_4778_;
}
v_reusejp_4778_:
{
v_a_4760_ = v___x_4779_;
goto v___jp_4759_;
}
}
v___jp_4784_:
{
if (v___y_4785_ == 0)
{
goto v___jp_4771_;
}
else
{
lean_object* v___x_4786_; lean_object* v___x_4787_; 
lean_del_object(v___x_4769_);
lean_inc_ref(v_expr_4782_);
v___x_4786_ = lean_array_push(v_fst_4766_, v_expr_4782_);
v___x_4787_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4787_, 0, v___x_4786_);
lean_ctor_set(v___x_4787_, 1, v_snd_4767_);
v_a_4760_ = v___x_4787_;
goto v___jp_4759_;
}
}
}
}
v___jp_4759_:
{
size_t v___x_4761_; size_t v___x_4762_; 
v___x_4761_ = ((size_t)1ULL);
v___x_4762_ = lean_usize_add(v_i_4756_, v___x_4761_);
v_i_4756_ = v___x_4762_;
v_b_4757_ = v_a_4760_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar_spec__0___redArg___boxed(lean_object* v_fst_4790_, lean_object* v_as_4791_, lean_object* v_sz_4792_, lean_object* v_i_4793_, lean_object* v_b_4794_, lean_object* v___y_4795_){
_start:
{
size_t v_sz_boxed_4796_; size_t v_i_boxed_4797_; lean_object* v_res_4798_; 
v_sz_boxed_4796_ = lean_unbox_usize(v_sz_4792_);
lean_dec(v_sz_4792_);
v_i_boxed_4797_ = lean_unbox_usize(v_i_4793_);
lean_dec(v_i_4793_);
v_res_4798_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar_spec__0___redArg(v_fst_4790_, v_as_4791_, v_sz_boxed_4796_, v_i_boxed_4797_, v_b_4794_);
lean_dec_ref(v_as_4791_);
lean_dec_ref(v_fst_4790_);
return v_res_4798_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar_spec__1(lean_object* v_as_4799_, size_t v_i_4800_, size_t v_stop_4801_, lean_object* v_b_4802_){
_start:
{
lean_object* v___y_4804_; uint8_t v___x_4808_; 
v___x_4808_ = lean_usize_dec_eq(v_i_4800_, v_stop_4801_);
if (v___x_4808_ == 0)
{
lean_object* v___x_4809_; uint8_t v___y_4811_; lean_object* v_expr_4813_; lean_object* v_hName_x3f_4814_; uint8_t v___x_4815_; 
v___x_4809_ = lean_array_uget_borrowed(v_as_4799_, v_i_4800_);
v_expr_4813_ = lean_ctor_get(v___x_4809_, 0);
v_hName_x3f_4814_ = lean_ctor_get(v___x_4809_, 2);
v___x_4815_ = l_Lean_Expr_isFVar(v_expr_4813_);
if (v___x_4815_ == 0)
{
v___y_4811_ = v___x_4815_;
goto v___jp_4810_;
}
else
{
if (lean_obj_tag(v_hName_x3f_4814_) == 0)
{
v___y_4811_ = v___x_4815_;
goto v___jp_4810_;
}
else
{
lean_object* v___x_4816_; 
lean_inc(v___x_4809_);
v___x_4816_ = lean_array_push(v_b_4802_, v___x_4809_);
v___y_4804_ = v___x_4816_;
goto v___jp_4803_;
}
}
v___jp_4810_:
{
if (v___y_4811_ == 0)
{
lean_object* v___x_4812_; 
lean_inc(v___x_4809_);
v___x_4812_ = lean_array_push(v_b_4802_, v___x_4809_);
v___y_4804_ = v___x_4812_;
goto v___jp_4803_;
}
else
{
v___y_4804_ = v_b_4802_;
goto v___jp_4803_;
}
}
}
else
{
return v_b_4802_;
}
v___jp_4803_:
{
size_t v___x_4805_; size_t v___x_4806_; 
v___x_4805_ = ((size_t)1ULL);
v___x_4806_ = lean_usize_add(v_i_4800_, v___x_4805_);
v_i_4800_ = v___x_4806_;
v_b_4802_ = v___y_4804_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar_spec__1___boxed(lean_object* v_as_4817_, lean_object* v_i_4818_, lean_object* v_stop_4819_, lean_object* v_b_4820_){
_start:
{
size_t v_i_boxed_4821_; size_t v_stop_boxed_4822_; lean_object* v_res_4823_; 
v_i_boxed_4821_ = lean_unbox_usize(v_i_4818_);
lean_dec(v_i_4818_);
v_stop_boxed_4822_ = lean_unbox_usize(v_stop_4819_);
lean_dec(v_stop_4819_);
v_res_4823_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar_spec__1(v_as_4817_, v_i_boxed_4821_, v_stop_boxed_4822_, v_b_4820_);
lean_dec_ref(v_as_4817_);
return v_res_4823_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar(lean_object* v_goal_4829_, lean_object* v_args_4830_, lean_object* v_a_4831_, lean_object* v_a_4832_, lean_object* v_a_4833_, lean_object* v_a_4834_){
_start:
{
lean_object* v___y_4837_; lean_object* v___y_4838_; lean_object* v___y_4839_; lean_object* v_lower_4840_; lean_object* v_upper_4841_; lean_object* v_j_4847_; lean_object* v___y_4849_; lean_object* v___x_4880_; lean_object* v___x_4881_; uint8_t v___x_4882_; 
v_j_4847_ = lean_unsigned_to_nat(0u);
v___x_4880_ = lean_array_get_size(v_args_4830_);
v___x_4881_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar___closed__1));
v___x_4882_ = lean_nat_dec_lt(v_j_4847_, v___x_4880_);
if (v___x_4882_ == 0)
{
v___y_4849_ = v___x_4881_;
goto v___jp_4848_;
}
else
{
uint8_t v___x_4883_; 
v___x_4883_ = lean_nat_dec_le(v___x_4880_, v___x_4880_);
if (v___x_4883_ == 0)
{
if (v___x_4882_ == 0)
{
v___y_4849_ = v___x_4881_;
goto v___jp_4848_;
}
else
{
size_t v___x_4884_; size_t v___x_4885_; lean_object* v___x_4886_; 
v___x_4884_ = ((size_t)0ULL);
v___x_4885_ = lean_usize_of_nat(v___x_4880_);
v___x_4886_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar_spec__1(v_args_4830_, v___x_4884_, v___x_4885_, v___x_4881_);
v___y_4849_ = v___x_4886_;
goto v___jp_4848_;
}
}
else
{
size_t v___x_4887_; size_t v___x_4888_; lean_object* v___x_4889_; 
v___x_4887_ = ((size_t)0ULL);
v___x_4888_ = lean_usize_of_nat(v___x_4880_);
v___x_4889_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar_spec__1(v_args_4830_, v___x_4887_, v___x_4888_, v___x_4881_);
v___y_4849_ = v___x_4889_;
goto v___jp_4848_;
}
}
v___jp_4836_:
{
lean_object* v___x_4842_; lean_object* v___x_4843_; lean_object* v___x_4844_; lean_object* v___x_4845_; lean_object* v___x_4846_; 
v___x_4842_ = l_Array_toSubarray___redArg(v___y_4838_, v_lower_4840_, v_upper_4841_);
v___x_4843_ = l_Subarray_copy___redArg(v___x_4842_);
v___x_4844_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4844_, 0, v___x_4843_);
lean_ctor_set(v___x_4844_, 1, v___y_4837_);
v___x_4845_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4845_, 0, v___y_4839_);
lean_ctor_set(v___x_4845_, 1, v___x_4844_);
v___x_4846_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4846_, 0, v___x_4845_);
return v___x_4846_;
}
v___jp_4848_:
{
uint8_t v___x_4850_; lean_object* v___x_4851_; 
v___x_4850_ = 3;
v___x_4851_ = l_Lean_MVarId_generalize(v_goal_4829_, v___y_4849_, v___x_4850_, v_a_4831_, v_a_4832_, v_a_4833_, v_a_4834_);
if (lean_obj_tag(v___x_4851_) == 0)
{
lean_object* v_a_4852_; lean_object* v_fst_4853_; lean_object* v_snd_4854_; lean_object* v___x_4855_; size_t v_sz_4856_; size_t v___x_4857_; lean_object* v___x_4858_; 
v_a_4852_ = lean_ctor_get(v___x_4851_, 0);
lean_inc(v_a_4852_);
lean_dec_ref(v___x_4851_);
v_fst_4853_ = lean_ctor_get(v_a_4852_, 0);
lean_inc(v_fst_4853_);
v_snd_4854_ = lean_ctor_get(v_a_4852_, 1);
lean_inc(v_snd_4854_);
lean_dec(v_a_4852_);
v___x_4855_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar___closed__0));
v_sz_4856_ = lean_array_size(v_args_4830_);
v___x_4857_ = ((size_t)0ULL);
v___x_4858_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar_spec__0___redArg(v_fst_4853_, v_args_4830_, v_sz_4856_, v___x_4857_, v___x_4855_);
if (lean_obj_tag(v___x_4858_) == 0)
{
lean_object* v_a_4859_; lean_object* v_fst_4860_; lean_object* v_snd_4861_; lean_object* v___x_4862_; uint8_t v___x_4863_; 
v_a_4859_ = lean_ctor_get(v___x_4858_, 0);
lean_inc(v_a_4859_);
lean_dec_ref(v___x_4858_);
v_fst_4860_ = lean_ctor_get(v_a_4859_, 0);
lean_inc(v_fst_4860_);
v_snd_4861_ = lean_ctor_get(v_a_4859_, 1);
lean_inc(v_snd_4861_);
lean_dec(v_a_4859_);
v___x_4862_ = lean_array_get_size(v_fst_4853_);
v___x_4863_ = lean_nat_dec_le(v_snd_4861_, v_j_4847_);
if (v___x_4863_ == 0)
{
v___y_4837_ = v_snd_4854_;
v___y_4838_ = v_fst_4853_;
v___y_4839_ = v_fst_4860_;
v_lower_4840_ = v_snd_4861_;
v_upper_4841_ = v___x_4862_;
goto v___jp_4836_;
}
else
{
lean_dec(v_snd_4861_);
v___y_4837_ = v_snd_4854_;
v___y_4838_ = v_fst_4853_;
v___y_4839_ = v_fst_4860_;
v_lower_4840_ = v_j_4847_;
v_upper_4841_ = v___x_4862_;
goto v___jp_4836_;
}
}
else
{
lean_object* v_a_4864_; lean_object* v___x_4866_; uint8_t v_isShared_4867_; uint8_t v_isSharedCheck_4871_; 
lean_dec(v_snd_4854_);
lean_dec(v_fst_4853_);
v_a_4864_ = lean_ctor_get(v___x_4858_, 0);
v_isSharedCheck_4871_ = !lean_is_exclusive(v___x_4858_);
if (v_isSharedCheck_4871_ == 0)
{
v___x_4866_ = v___x_4858_;
v_isShared_4867_ = v_isSharedCheck_4871_;
goto v_resetjp_4865_;
}
else
{
lean_inc(v_a_4864_);
lean_dec(v___x_4858_);
v___x_4866_ = lean_box(0);
v_isShared_4867_ = v_isSharedCheck_4871_;
goto v_resetjp_4865_;
}
v_resetjp_4865_:
{
lean_object* v___x_4869_; 
if (v_isShared_4867_ == 0)
{
v___x_4869_ = v___x_4866_;
goto v_reusejp_4868_;
}
else
{
lean_object* v_reuseFailAlloc_4870_; 
v_reuseFailAlloc_4870_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4870_, 0, v_a_4864_);
v___x_4869_ = v_reuseFailAlloc_4870_;
goto v_reusejp_4868_;
}
v_reusejp_4868_:
{
return v___x_4869_;
}
}
}
}
else
{
lean_object* v_a_4872_; lean_object* v___x_4874_; uint8_t v_isShared_4875_; uint8_t v_isSharedCheck_4879_; 
v_a_4872_ = lean_ctor_get(v___x_4851_, 0);
v_isSharedCheck_4879_ = !lean_is_exclusive(v___x_4851_);
if (v_isSharedCheck_4879_ == 0)
{
v___x_4874_ = v___x_4851_;
v_isShared_4875_ = v_isSharedCheck_4879_;
goto v_resetjp_4873_;
}
else
{
lean_inc(v_a_4872_);
lean_dec(v___x_4851_);
v___x_4874_ = lean_box(0);
v_isShared_4875_ = v_isSharedCheck_4879_;
goto v_resetjp_4873_;
}
v_resetjp_4873_:
{
lean_object* v___x_4877_; 
if (v_isShared_4875_ == 0)
{
v___x_4877_ = v___x_4874_;
goto v_reusejp_4876_;
}
else
{
lean_object* v_reuseFailAlloc_4878_; 
v_reuseFailAlloc_4878_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4878_, 0, v_a_4872_);
v___x_4877_ = v_reuseFailAlloc_4878_;
goto v_reusejp_4876_;
}
v_reusejp_4876_:
{
return v___x_4877_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar___boxed(lean_object* v_goal_4890_, lean_object* v_args_4891_, lean_object* v_a_4892_, lean_object* v_a_4893_, lean_object* v_a_4894_, lean_object* v_a_4895_, lean_object* v_a_4896_){
_start:
{
lean_object* v_res_4897_; 
v_res_4897_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar(v_goal_4890_, v_args_4891_, v_a_4892_, v_a_4893_, v_a_4894_, v_a_4895_);
lean_dec_ref(v_args_4891_);
return v_res_4897_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar_spec__0(lean_object* v_fst_4898_, lean_object* v_as_4899_, size_t v_sz_4900_, size_t v_i_4901_, lean_object* v_b_4902_, lean_object* v___y_4903_, lean_object* v___y_4904_, lean_object* v___y_4905_, lean_object* v___y_4906_){
_start:
{
lean_object* v___x_4908_; 
v___x_4908_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar_spec__0___redArg(v_fst_4898_, v_as_4899_, v_sz_4900_, v_i_4901_, v_b_4902_);
return v___x_4908_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar_spec__0___boxed(lean_object* v_fst_4909_, lean_object* v_as_4910_, lean_object* v_sz_4911_, lean_object* v_i_4912_, lean_object* v_b_4913_, lean_object* v___y_4914_, lean_object* v___y_4915_, lean_object* v___y_4916_, lean_object* v___y_4917_, lean_object* v___y_4918_){
_start:
{
size_t v_sz_boxed_4919_; size_t v_i_boxed_4920_; lean_object* v_res_4921_; 
v_sz_boxed_4919_ = lean_unbox_usize(v_sz_4911_);
lean_dec(v_sz_4911_);
v_i_boxed_4920_ = lean_unbox_usize(v_i_4912_);
lean_dec(v_i_4912_);
v_res_4921_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar_spec__0(v_fst_4909_, v_as_4910_, v_sz_boxed_4919_, v_i_boxed_4920_, v_b_4913_, v___y_4914_, v___y_4915_, v___y_4916_, v___y_4917_);
lean_dec(v___y_4917_);
lean_dec_ref(v___y_4916_);
lean_dec(v___y_4915_);
lean_dec_ref(v___y_4914_);
lean_dec_ref(v_as_4910_);
lean_dec_ref(v_fst_4909_);
return v_res_4921_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00Lean_Elab_Tactic_RCases_rcases_spec__1_spec__1(lean_object* v_as_4922_, size_t v_i_4923_, size_t v_stop_4924_, lean_object* v_b_4925_){
_start:
{
lean_object* v___y_4927_; uint8_t v___x_4931_; 
v___x_4931_ = lean_usize_dec_eq(v_i_4923_, v_stop_4924_);
if (v___x_4931_ == 0)
{
lean_object* v___x_4932_; lean_object* v_fst_4933_; 
v___x_4932_ = lean_array_uget_borrowed(v_as_4922_, v_i_4923_);
v_fst_4933_ = lean_ctor_get(v___x_4932_, 0);
if (lean_obj_tag(v_fst_4933_) == 0)
{
v___y_4927_ = v_b_4925_;
goto v___jp_4926_;
}
else
{
lean_object* v_val_4934_; lean_object* v___x_4935_; 
v_val_4934_ = lean_ctor_get(v_fst_4933_, 0);
lean_inc(v_val_4934_);
v___x_4935_ = lean_array_push(v_b_4925_, v_val_4934_);
v___y_4927_ = v___x_4935_;
goto v___jp_4926_;
}
}
else
{
return v_b_4925_;
}
v___jp_4926_:
{
size_t v___x_4928_; size_t v___x_4929_; 
v___x_4928_ = ((size_t)1ULL);
v___x_4929_ = lean_usize_add(v_i_4923_, v___x_4928_);
v_i_4923_ = v___x_4929_;
v_b_4925_ = v___y_4927_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00Lean_Elab_Tactic_RCases_rcases_spec__1_spec__1___boxed(lean_object* v_as_4936_, lean_object* v_i_4937_, lean_object* v_stop_4938_, lean_object* v_b_4939_){
_start:
{
size_t v_i_boxed_4940_; size_t v_stop_boxed_4941_; lean_object* v_res_4942_; 
v_i_boxed_4940_ = lean_unbox_usize(v_i_4937_);
lean_dec(v_i_4937_);
v_stop_boxed_4941_ = lean_unbox_usize(v_stop_4938_);
lean_dec(v_stop_4938_);
v_res_4942_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00Lean_Elab_Tactic_RCases_rcases_spec__1_spec__1(v_as_4936_, v_i_boxed_4940_, v_stop_boxed_4941_, v_b_4939_);
lean_dec_ref(v_as_4936_);
return v_res_4942_;
}
}
LEAN_EXPORT lean_object* l_Array_filterMapM___at___00Lean_Elab_Tactic_RCases_rcases_spec__1(lean_object* v_as_4945_, lean_object* v_start_4946_, lean_object* v_stop_4947_){
_start:
{
lean_object* v___x_4948_; uint8_t v___x_4949_; 
v___x_4948_ = ((lean_object*)(l_Array_filterMapM___at___00Lean_Elab_Tactic_RCases_rcases_spec__1___closed__0));
v___x_4949_ = lean_nat_dec_lt(v_start_4946_, v_stop_4947_);
if (v___x_4949_ == 0)
{
return v___x_4948_;
}
else
{
lean_object* v___x_4950_; uint8_t v___x_4951_; 
v___x_4950_ = lean_array_get_size(v_as_4945_);
v___x_4951_ = lean_nat_dec_le(v_stop_4947_, v___x_4950_);
if (v___x_4951_ == 0)
{
uint8_t v___x_4952_; 
v___x_4952_ = lean_nat_dec_lt(v_start_4946_, v___x_4950_);
if (v___x_4952_ == 0)
{
return v___x_4948_;
}
else
{
size_t v___x_4953_; size_t v___x_4954_; lean_object* v___x_4955_; 
v___x_4953_ = lean_usize_of_nat(v_start_4946_);
v___x_4954_ = lean_usize_of_nat(v___x_4950_);
v___x_4955_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00Lean_Elab_Tactic_RCases_rcases_spec__1_spec__1(v_as_4945_, v___x_4953_, v___x_4954_, v___x_4948_);
return v___x_4955_;
}
}
else
{
size_t v___x_4956_; size_t v___x_4957_; lean_object* v___x_4958_; 
v___x_4956_ = lean_usize_of_nat(v_start_4946_);
v___x_4957_ = lean_usize_of_nat(v_stop_4947_);
v___x_4958_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00Lean_Elab_Tactic_RCases_rcases_spec__1_spec__1(v_as_4945_, v___x_4956_, v___x_4957_, v___x_4948_);
return v___x_4958_;
}
}
}
}
LEAN_EXPORT lean_object* l_Array_filterMapM___at___00Lean_Elab_Tactic_RCases_rcases_spec__1___boxed(lean_object* v_as_4959_, lean_object* v_start_4960_, lean_object* v_stop_4961_){
_start:
{
lean_object* v_res_4962_; 
v_res_4962_ = l_Array_filterMapM___at___00Lean_Elab_Tactic_RCases_rcases_spec__1(v_as_4959_, v_start_4960_, v_stop_4961_);
lean_dec(v_stop_4961_);
lean_dec(v_start_4960_);
lean_dec_ref(v_as_4959_);
return v_res_4962_;
}
}
LEAN_EXPORT lean_object* l_Array_zipWithMAux___at___00Lean_Elab_Tactic_RCases_rcases_spec__0(lean_object* v_as_4963_, lean_object* v_bs_4964_, lean_object* v_i_4965_, lean_object* v_cs_4966_, lean_object* v___y_4967_, lean_object* v___y_4968_, lean_object* v___y_4969_, lean_object* v___y_4970_, lean_object* v___y_4971_, lean_object* v___y_4972_){
_start:
{
lean_object* v___y_4975_; lean_object* v___y_4976_; lean_object* v___y_4977_; lean_object* v___y_4978_; lean_object* v___x_4985_; uint8_t v___x_4986_; 
v___x_4985_ = lean_array_get_size(v_as_4963_);
v___x_4986_ = lean_nat_dec_lt(v_i_4965_, v___x_4985_);
if (v___x_4986_ == 0)
{
lean_object* v___x_4987_; 
lean_dec(v___y_4972_);
lean_dec_ref(v___y_4971_);
lean_dec(v___y_4970_);
lean_dec_ref(v___y_4969_);
lean_dec(v___y_4968_);
lean_dec_ref(v___y_4967_);
lean_dec(v_i_4965_);
v___x_4987_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4987_, 0, v_cs_4966_);
return v___x_4987_;
}
else
{
lean_object* v___x_4988_; uint8_t v___x_4989_; 
v___x_4988_ = lean_array_get_size(v_bs_4964_);
v___x_4989_ = lean_nat_dec_lt(v_i_4965_, v___x_4988_);
if (v___x_4989_ == 0)
{
lean_object* v___x_4990_; 
lean_dec(v___y_4972_);
lean_dec_ref(v___y_4971_);
lean_dec(v___y_4970_);
lean_dec_ref(v___y_4969_);
lean_dec(v___y_4968_);
lean_dec_ref(v___y_4967_);
lean_dec(v_i_4965_);
v___x_4990_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4990_, 0, v_cs_4966_);
return v___x_4990_;
}
else
{
lean_object* v_a_4991_; lean_object* v_fst_4992_; lean_object* v_snd_4993_; lean_object* v_fst_4995_; lean_object* v_snd_4996_; lean_object* v___y_4997_; lean_object* v___y_4998_; lean_object* v___y_4999_; lean_object* v___y_5000_; lean_object* v___y_5001_; lean_object* v___y_5002_; lean_object* v_b_5034_; 
v_a_4991_ = lean_array_fget_borrowed(v_as_4963_, v_i_4965_);
v_fst_4992_ = lean_ctor_get(v_a_4991_, 0);
lean_inc(v_fst_4992_);
v_snd_4993_ = lean_ctor_get(v_a_4991_, 1);
v_b_5034_ = lean_array_fget(v_bs_4964_, v_i_4965_);
if (lean_obj_tag(v_b_5034_) == 4)
{
lean_object* v_ref_5035_; lean_object* v_a_5036_; lean_object* v_a_5037_; lean_object* v___x_5039_; uint8_t v_isShared_5040_; uint8_t v_isSharedCheck_5083_; 
v_ref_5035_ = lean_ctor_get(v_b_5034_, 0);
v_a_5036_ = lean_ctor_get(v_b_5034_, 1);
v_a_5037_ = lean_ctor_get(v_b_5034_, 2);
v_isSharedCheck_5083_ = !lean_is_exclusive(v_b_5034_);
if (v_isSharedCheck_5083_ == 0)
{
v___x_5039_ = v_b_5034_;
v_isShared_5040_ = v_isSharedCheck_5083_;
goto v_resetjp_5038_;
}
else
{
lean_inc(v_a_5037_);
lean_inc(v_a_5036_);
lean_inc(v_ref_5035_);
lean_dec(v_b_5034_);
v___x_5039_ = lean_box(0);
v_isShared_5040_ = v_isSharedCheck_5083_;
goto v_resetjp_5038_;
}
v_resetjp_5038_:
{
lean_object* v_fileName_5041_; lean_object* v_fileMap_5042_; lean_object* v_options_5043_; lean_object* v_currRecDepth_5044_; lean_object* v_maxRecDepth_5045_; lean_object* v_ref_5046_; lean_object* v_currNamespace_5047_; lean_object* v_openDecls_5048_; lean_object* v_initHeartbeats_5049_; lean_object* v_maxHeartbeats_5050_; lean_object* v_quotContext_5051_; lean_object* v_currMacroScope_5052_; uint8_t v_diag_5053_; lean_object* v_cancelTk_x3f_5054_; uint8_t v_suppressElabErrors_5055_; lean_object* v_inheritedTraceOptions_5056_; lean_object* v_ref_5057_; lean_object* v___x_5058_; lean_object* v___x_5059_; 
v_fileName_5041_ = lean_ctor_get(v___y_4971_, 0);
v_fileMap_5042_ = lean_ctor_get(v___y_4971_, 1);
v_options_5043_ = lean_ctor_get(v___y_4971_, 2);
v_currRecDepth_5044_ = lean_ctor_get(v___y_4971_, 3);
v_maxRecDepth_5045_ = lean_ctor_get(v___y_4971_, 4);
v_ref_5046_ = lean_ctor_get(v___y_4971_, 5);
v_currNamespace_5047_ = lean_ctor_get(v___y_4971_, 6);
v_openDecls_5048_ = lean_ctor_get(v___y_4971_, 7);
v_initHeartbeats_5049_ = lean_ctor_get(v___y_4971_, 8);
v_maxHeartbeats_5050_ = lean_ctor_get(v___y_4971_, 9);
v_quotContext_5051_ = lean_ctor_get(v___y_4971_, 10);
v_currMacroScope_5052_ = lean_ctor_get(v___y_4971_, 11);
v_diag_5053_ = lean_ctor_get_uint8(v___y_4971_, sizeof(void*)*14);
v_cancelTk_x3f_5054_ = lean_ctor_get(v___y_4971_, 12);
v_suppressElabErrors_5055_ = lean_ctor_get_uint8(v___y_4971_, sizeof(void*)*14 + 1);
v_inheritedTraceOptions_5056_ = lean_ctor_get(v___y_4971_, 13);
v_ref_5057_ = l_Lean_replaceRef(v_ref_5035_, v_ref_5046_);
lean_inc_ref(v_inheritedTraceOptions_5056_);
lean_inc(v_cancelTk_x3f_5054_);
lean_inc(v_currMacroScope_5052_);
lean_inc(v_quotContext_5051_);
lean_inc(v_maxHeartbeats_5050_);
lean_inc(v_initHeartbeats_5049_);
lean_inc(v_openDecls_5048_);
lean_inc(v_currNamespace_5047_);
lean_inc(v_maxRecDepth_5045_);
lean_inc(v_currRecDepth_5044_);
lean_inc_ref(v_options_5043_);
lean_inc_ref(v_fileMap_5042_);
lean_inc_ref(v_fileName_5041_);
v___x_5058_ = lean_alloc_ctor(0, 14, 2);
lean_ctor_set(v___x_5058_, 0, v_fileName_5041_);
lean_ctor_set(v___x_5058_, 1, v_fileMap_5042_);
lean_ctor_set(v___x_5058_, 2, v_options_5043_);
lean_ctor_set(v___x_5058_, 3, v_currRecDepth_5044_);
lean_ctor_set(v___x_5058_, 4, v_maxRecDepth_5045_);
lean_ctor_set(v___x_5058_, 5, v_ref_5057_);
lean_ctor_set(v___x_5058_, 6, v_currNamespace_5047_);
lean_ctor_set(v___x_5058_, 7, v_openDecls_5048_);
lean_ctor_set(v___x_5058_, 8, v_initHeartbeats_5049_);
lean_ctor_set(v___x_5058_, 9, v_maxHeartbeats_5050_);
lean_ctor_set(v___x_5058_, 10, v_quotContext_5051_);
lean_ctor_set(v___x_5058_, 11, v_currMacroScope_5052_);
lean_ctor_set(v___x_5058_, 12, v_cancelTk_x3f_5054_);
lean_ctor_set(v___x_5058_, 13, v_inheritedTraceOptions_5056_);
lean_ctor_set_uint8(v___x_5058_, sizeof(void*)*14, v_diag_5053_);
lean_ctor_set_uint8(v___x_5058_, sizeof(void*)*14 + 1, v_suppressElabErrors_5055_);
lean_inc(v___y_4972_);
lean_inc_ref(v___x_5058_);
lean_inc(v___y_4970_);
lean_inc_ref(v___y_4969_);
lean_inc(v___y_4968_);
lean_inc_ref(v___y_4967_);
v___x_5059_ = l_Lean_Elab_Term_elabType(v_a_5037_, v___y_4967_, v___y_4968_, v___y_4969_, v___y_4970_, v___x_5058_, v___y_4972_);
if (lean_obj_tag(v___x_5059_) == 0)
{
lean_object* v_a_5060_; lean_object* v___x_5061_; 
v_a_5060_ = lean_ctor_get(v___x_5059_, 0);
lean_inc(v_a_5060_);
lean_dec_ref(v___x_5059_);
lean_inc(v___y_4972_);
lean_inc(v___y_4970_);
lean_inc_ref(v___y_4969_);
lean_inc(v___y_4968_);
lean_inc_ref(v___y_4967_);
lean_inc(v_a_5060_);
v___x_5061_ = l_Lean_Elab_Term_exprToSyntax(v_a_5060_, v___y_4967_, v___y_4968_, v___y_4969_, v___y_4970_, v___x_5058_, v___y_4972_);
if (lean_obj_tag(v___x_5061_) == 0)
{
lean_object* v_a_5062_; lean_object* v___x_5064_; 
v_a_5062_ = lean_ctor_get(v___x_5061_, 0);
lean_inc(v_a_5062_);
lean_dec_ref(v___x_5061_);
if (v_isShared_5040_ == 0)
{
lean_ctor_set(v___x_5039_, 2, v_a_5062_);
v___x_5064_ = v___x_5039_;
goto v_reusejp_5063_;
}
else
{
lean_object* v_reuseFailAlloc_5066_; 
v_reuseFailAlloc_5066_ = lean_alloc_ctor(4, 3, 0);
lean_ctor_set(v_reuseFailAlloc_5066_, 0, v_ref_5035_);
lean_ctor_set(v_reuseFailAlloc_5066_, 1, v_a_5036_);
lean_ctor_set(v_reuseFailAlloc_5066_, 2, v_a_5062_);
v___x_5064_ = v_reuseFailAlloc_5066_;
goto v_reusejp_5063_;
}
v_reusejp_5063_:
{
lean_object* v___x_5065_; 
v___x_5065_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_5065_, 0, v_a_5060_);
lean_inc(v___y_4972_);
lean_inc_ref(v___y_4971_);
lean_inc(v___y_4970_);
lean_inc_ref(v___y_4969_);
lean_inc(v___y_4968_);
lean_inc_ref(v___y_4967_);
v_fst_4995_ = v___x_5064_;
v_snd_4996_ = v___x_5065_;
v___y_4997_ = v___y_4967_;
v___y_4998_ = v___y_4968_;
v___y_4999_ = v___y_4969_;
v___y_5000_ = v___y_4970_;
v___y_5001_ = v___y_4971_;
v___y_5002_ = v___y_4972_;
goto v___jp_4994_;
}
}
else
{
lean_object* v_a_5067_; lean_object* v___x_5069_; uint8_t v_isShared_5070_; uint8_t v_isSharedCheck_5074_; 
lean_dec(v_a_5060_);
lean_del_object(v___x_5039_);
lean_dec_ref(v_a_5036_);
lean_dec(v_ref_5035_);
lean_dec(v_fst_4992_);
lean_dec(v___y_4972_);
lean_dec_ref(v___y_4971_);
lean_dec(v___y_4970_);
lean_dec_ref(v___y_4969_);
lean_dec(v___y_4968_);
lean_dec_ref(v___y_4967_);
lean_dec_ref(v_cs_4966_);
lean_dec(v_i_4965_);
v_a_5067_ = lean_ctor_get(v___x_5061_, 0);
v_isSharedCheck_5074_ = !lean_is_exclusive(v___x_5061_);
if (v_isSharedCheck_5074_ == 0)
{
v___x_5069_ = v___x_5061_;
v_isShared_5070_ = v_isSharedCheck_5074_;
goto v_resetjp_5068_;
}
else
{
lean_inc(v_a_5067_);
lean_dec(v___x_5061_);
v___x_5069_ = lean_box(0);
v_isShared_5070_ = v_isSharedCheck_5074_;
goto v_resetjp_5068_;
}
v_resetjp_5068_:
{
lean_object* v___x_5072_; 
if (v_isShared_5070_ == 0)
{
v___x_5072_ = v___x_5069_;
goto v_reusejp_5071_;
}
else
{
lean_object* v_reuseFailAlloc_5073_; 
v_reuseFailAlloc_5073_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5073_, 0, v_a_5067_);
v___x_5072_ = v_reuseFailAlloc_5073_;
goto v_reusejp_5071_;
}
v_reusejp_5071_:
{
return v___x_5072_;
}
}
}
}
else
{
lean_object* v_a_5075_; lean_object* v___x_5077_; uint8_t v_isShared_5078_; uint8_t v_isSharedCheck_5082_; 
lean_dec_ref(v___x_5058_);
lean_del_object(v___x_5039_);
lean_dec_ref(v_a_5036_);
lean_dec(v_ref_5035_);
lean_dec(v_fst_4992_);
lean_dec(v___y_4972_);
lean_dec_ref(v___y_4971_);
lean_dec(v___y_4970_);
lean_dec_ref(v___y_4969_);
lean_dec(v___y_4968_);
lean_dec_ref(v___y_4967_);
lean_dec_ref(v_cs_4966_);
lean_dec(v_i_4965_);
v_a_5075_ = lean_ctor_get(v___x_5059_, 0);
v_isSharedCheck_5082_ = !lean_is_exclusive(v___x_5059_);
if (v_isSharedCheck_5082_ == 0)
{
v___x_5077_ = v___x_5059_;
v_isShared_5078_ = v_isSharedCheck_5082_;
goto v_resetjp_5076_;
}
else
{
lean_inc(v_a_5075_);
lean_dec(v___x_5059_);
v___x_5077_ = lean_box(0);
v_isShared_5078_ = v_isSharedCheck_5082_;
goto v_resetjp_5076_;
}
v_resetjp_5076_:
{
lean_object* v___x_5080_; 
if (v_isShared_5078_ == 0)
{
v___x_5080_ = v___x_5077_;
goto v_reusejp_5079_;
}
else
{
lean_object* v_reuseFailAlloc_5081_; 
v_reuseFailAlloc_5081_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5081_, 0, v_a_5075_);
v___x_5080_ = v_reuseFailAlloc_5081_;
goto v_reusejp_5079_;
}
v_reusejp_5079_:
{
return v___x_5080_;
}
}
}
}
}
else
{
lean_object* v___x_5084_; 
v___x_5084_ = lean_box(0);
lean_inc(v___y_4972_);
lean_inc_ref(v___y_4971_);
lean_inc(v___y_4970_);
lean_inc_ref(v___y_4969_);
lean_inc(v___y_4968_);
lean_inc_ref(v___y_4967_);
v_fst_4995_ = v_b_5034_;
v_snd_4996_ = v___x_5084_;
v___y_4997_ = v___y_4967_;
v___y_4998_ = v___y_4968_;
v___y_4999_ = v___y_4969_;
v___y_5000_ = v___y_4970_;
v___y_5001_ = v___y_4971_;
v___y_5002_ = v___y_4972_;
goto v___jp_4994_;
}
v___jp_4994_:
{
lean_object* v___x_5003_; 
lean_inc(v___y_5002_);
lean_inc_ref(v___y_5001_);
lean_inc(v___y_5000_);
lean_inc_ref(v___y_4999_);
lean_inc(v___y_4998_);
lean_inc_ref(v___y_4997_);
lean_inc(v_snd_4996_);
lean_inc(v_snd_4993_);
v___x_5003_ = l_Lean_Elab_Term_elabTerm(v_snd_4993_, v_snd_4996_, v___x_4989_, v___x_4989_, v___y_4997_, v___y_4998_, v___y_4999_, v___y_5000_, v___y_5001_, v___y_5002_);
if (lean_obj_tag(v___x_5003_) == 0)
{
lean_object* v_a_5004_; lean_object* v___x_5005_; lean_object* v___x_5006_; 
v_a_5004_ = lean_ctor_get(v___x_5003_, 0);
lean_inc(v_a_5004_);
lean_dec_ref(v___x_5003_);
v___x_5005_ = lean_box(0);
v___x_5006_ = l_Lean_Elab_Term_ensureHasType(v_snd_4996_, v_a_5004_, v___x_5005_, v___x_5005_, v___y_4997_, v___y_4998_, v___y_4999_, v___y_5000_, v___y_5001_, v___y_5002_);
if (lean_obj_tag(v___x_5006_) == 0)
{
lean_object* v_a_5007_; lean_object* v___x_5008_; 
v_a_5007_ = lean_ctor_get(v___x_5006_, 0);
lean_inc(v_a_5007_);
lean_dec_ref(v___x_5006_);
v___x_5008_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_name_x3f(v_fst_4995_);
if (lean_obj_tag(v_fst_4992_) == 0)
{
v___y_4975_ = v___x_5008_;
v___y_4976_ = v_fst_4995_;
v___y_4977_ = v_a_5007_;
v___y_4978_ = v___x_5005_;
goto v___jp_4974_;
}
else
{
lean_object* v_val_5009_; lean_object* v___x_5011_; uint8_t v_isShared_5012_; uint8_t v_isSharedCheck_5017_; 
v_val_5009_ = lean_ctor_get(v_fst_4992_, 0);
v_isSharedCheck_5017_ = !lean_is_exclusive(v_fst_4992_);
if (v_isSharedCheck_5017_ == 0)
{
v___x_5011_ = v_fst_4992_;
v_isShared_5012_ = v_isSharedCheck_5017_;
goto v_resetjp_5010_;
}
else
{
lean_inc(v_val_5009_);
lean_dec(v_fst_4992_);
v___x_5011_ = lean_box(0);
v_isShared_5012_ = v_isSharedCheck_5017_;
goto v_resetjp_5010_;
}
v_resetjp_5010_:
{
lean_object* v___x_5013_; lean_object* v___x_5015_; 
v___x_5013_ = l_Lean_TSyntax_getId(v_val_5009_);
lean_dec(v_val_5009_);
if (v_isShared_5012_ == 0)
{
lean_ctor_set(v___x_5011_, 0, v___x_5013_);
v___x_5015_ = v___x_5011_;
goto v_reusejp_5014_;
}
else
{
lean_object* v_reuseFailAlloc_5016_; 
v_reuseFailAlloc_5016_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5016_, 0, v___x_5013_);
v___x_5015_ = v_reuseFailAlloc_5016_;
goto v_reusejp_5014_;
}
v_reusejp_5014_:
{
v___y_4975_ = v___x_5008_;
v___y_4976_ = v_fst_4995_;
v___y_4977_ = v_a_5007_;
v___y_4978_ = v___x_5015_;
goto v___jp_4974_;
}
}
}
}
else
{
lean_object* v_a_5018_; lean_object* v___x_5020_; uint8_t v_isShared_5021_; uint8_t v_isSharedCheck_5025_; 
lean_dec_ref(v_fst_4995_);
lean_dec(v_fst_4992_);
lean_dec(v___y_4972_);
lean_dec_ref(v___y_4971_);
lean_dec(v___y_4970_);
lean_dec_ref(v___y_4969_);
lean_dec(v___y_4968_);
lean_dec_ref(v___y_4967_);
lean_dec_ref(v_cs_4966_);
lean_dec(v_i_4965_);
v_a_5018_ = lean_ctor_get(v___x_5006_, 0);
v_isSharedCheck_5025_ = !lean_is_exclusive(v___x_5006_);
if (v_isSharedCheck_5025_ == 0)
{
v___x_5020_ = v___x_5006_;
v_isShared_5021_ = v_isSharedCheck_5025_;
goto v_resetjp_5019_;
}
else
{
lean_inc(v_a_5018_);
lean_dec(v___x_5006_);
v___x_5020_ = lean_box(0);
v_isShared_5021_ = v_isSharedCheck_5025_;
goto v_resetjp_5019_;
}
v_resetjp_5019_:
{
lean_object* v___x_5023_; 
if (v_isShared_5021_ == 0)
{
v___x_5023_ = v___x_5020_;
goto v_reusejp_5022_;
}
else
{
lean_object* v_reuseFailAlloc_5024_; 
v_reuseFailAlloc_5024_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5024_, 0, v_a_5018_);
v___x_5023_ = v_reuseFailAlloc_5024_;
goto v_reusejp_5022_;
}
v_reusejp_5022_:
{
return v___x_5023_;
}
}
}
}
else
{
lean_object* v_a_5026_; lean_object* v___x_5028_; uint8_t v_isShared_5029_; uint8_t v_isSharedCheck_5033_; 
lean_dec(v___y_5002_);
lean_dec_ref(v___y_5001_);
lean_dec(v___y_5000_);
lean_dec_ref(v___y_4999_);
lean_dec(v___y_4998_);
lean_dec_ref(v___y_4997_);
lean_dec(v_snd_4996_);
lean_dec_ref(v_fst_4995_);
lean_dec(v_fst_4992_);
lean_dec(v___y_4972_);
lean_dec_ref(v___y_4971_);
lean_dec(v___y_4970_);
lean_dec_ref(v___y_4969_);
lean_dec(v___y_4968_);
lean_dec_ref(v___y_4967_);
lean_dec_ref(v_cs_4966_);
lean_dec(v_i_4965_);
v_a_5026_ = lean_ctor_get(v___x_5003_, 0);
v_isSharedCheck_5033_ = !lean_is_exclusive(v___x_5003_);
if (v_isSharedCheck_5033_ == 0)
{
v___x_5028_ = v___x_5003_;
v_isShared_5029_ = v_isSharedCheck_5033_;
goto v_resetjp_5027_;
}
else
{
lean_inc(v_a_5026_);
lean_dec(v___x_5003_);
v___x_5028_ = lean_box(0);
v_isShared_5029_ = v_isSharedCheck_5033_;
goto v_resetjp_5027_;
}
v_resetjp_5027_:
{
lean_object* v___x_5031_; 
if (v_isShared_5029_ == 0)
{
v___x_5031_ = v___x_5028_;
goto v_reusejp_5030_;
}
else
{
lean_object* v_reuseFailAlloc_5032_; 
v_reuseFailAlloc_5032_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5032_, 0, v_a_5026_);
v___x_5031_ = v_reuseFailAlloc_5032_;
goto v_reusejp_5030_;
}
v_reusejp_5030_:
{
return v___x_5031_;
}
}
}
}
}
}
v___jp_4974_:
{
lean_object* v___x_4979_; lean_object* v___x_4980_; lean_object* v___x_4981_; lean_object* v___x_4982_; lean_object* v___x_4983_; 
v___x_4979_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v___x_4979_, 0, v___y_4977_);
lean_ctor_set(v___x_4979_, 1, v___y_4975_);
lean_ctor_set(v___x_4979_, 2, v___y_4978_);
v___x_4980_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4980_, 0, v___y_4976_);
lean_ctor_set(v___x_4980_, 1, v___x_4979_);
v___x_4981_ = lean_unsigned_to_nat(1u);
v___x_4982_ = lean_nat_add(v_i_4965_, v___x_4981_);
lean_dec(v_i_4965_);
v___x_4983_ = lean_array_push(v_cs_4966_, v___x_4980_);
v_i_4965_ = v___x_4982_;
v_cs_4966_ = v___x_4983_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l_Array_zipWithMAux___at___00Lean_Elab_Tactic_RCases_rcases_spec__0___boxed(lean_object* v_as_5085_, lean_object* v_bs_5086_, lean_object* v_i_5087_, lean_object* v_cs_5088_, lean_object* v___y_5089_, lean_object* v___y_5090_, lean_object* v___y_5091_, lean_object* v___y_5092_, lean_object* v___y_5093_, lean_object* v___y_5094_, lean_object* v___y_5095_){
_start:
{
lean_object* v_res_5096_; 
v_res_5096_ = l_Array_zipWithMAux___at___00Lean_Elab_Tactic_RCases_rcases_spec__0(v_as_5085_, v_bs_5086_, v_i_5087_, v_cs_5088_, v___y_5089_, v___y_5090_, v___y_5091_, v___y_5092_, v___y_5093_, v___y_5094_);
lean_dec_ref(v_bs_5086_);
lean_dec_ref(v_as_5085_);
return v_res_5096_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rcases___lam__0(lean_object* v_tgts_5099_, lean_object* v_g_5100_, lean_object* v_pats_5101_, lean_object* v___y_5102_, lean_object* v___y_5103_, lean_object* v___y_5104_, lean_object* v___y_5105_, lean_object* v___y_5106_, lean_object* v___y_5107_){
_start:
{
lean_object* v___x_5109_; lean_object* v___x_5110_; lean_object* v___x_5111_; lean_object* v___x_5112_; 
v___x_5109_ = lean_array_mk(v_pats_5101_);
v___x_5110_ = lean_unsigned_to_nat(0u);
v___x_5111_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_rcases___lam__0___closed__0));
lean_inc(v___y_5107_);
lean_inc_ref(v___y_5106_);
lean_inc(v___y_5105_);
lean_inc_ref(v___y_5104_);
lean_inc(v___y_5103_);
lean_inc_ref(v___y_5102_);
v___x_5112_ = l_Array_zipWithMAux___at___00Lean_Elab_Tactic_RCases_rcases_spec__0(v_tgts_5099_, v___x_5109_, v___x_5110_, v___x_5111_, v___y_5102_, v___y_5103_, v___y_5104_, v___y_5105_, v___y_5106_, v___y_5107_);
lean_dec_ref(v___x_5109_);
if (lean_obj_tag(v___x_5112_) == 0)
{
lean_object* v_a_5113_; lean_object* v___x_5114_; lean_object* v_fst_5115_; lean_object* v_snd_5116_; lean_object* v___x_5117_; 
v_a_5113_ = lean_ctor_get(v___x_5112_, 0);
lean_inc(v_a_5113_);
lean_dec_ref(v___x_5112_);
v___x_5114_ = l_Array_unzip___redArg(v_a_5113_);
lean_dec(v_a_5113_);
v_fst_5115_ = lean_ctor_get(v___x_5114_, 0);
lean_inc(v_fst_5115_);
v_snd_5116_ = lean_ctor_get(v___x_5114_, 1);
lean_inc(v_snd_5116_);
lean_dec_ref(v___x_5114_);
lean_inc(v___y_5107_);
lean_inc_ref(v___y_5106_);
lean_inc(v___y_5105_);
lean_inc_ref(v___y_5104_);
v___x_5117_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_generalizeExceptFVar(v_g_5100_, v_snd_5116_, v___y_5104_, v___y_5105_, v___y_5106_, v___y_5107_);
lean_dec(v_snd_5116_);
if (lean_obj_tag(v___x_5117_) == 0)
{
lean_object* v_a_5118_; lean_object* v_snd_5119_; lean_object* v_fst_5120_; lean_object* v_fst_5121_; lean_object* v_snd_5122_; lean_object* v___x_5123_; lean_object* v___x_5124_; lean_object* v___x_5125_; lean_object* v___x_5126_; lean_object* v___x_5127_; lean_object* v___x_5128_; lean_object* v___x_5129_; lean_object* v___x_5130_; 
v_a_5118_ = lean_ctor_get(v___x_5117_, 0);
lean_inc(v_a_5118_);
lean_dec_ref(v___x_5117_);
v_snd_5119_ = lean_ctor_get(v_a_5118_, 1);
lean_inc(v_snd_5119_);
v_fst_5120_ = lean_ctor_get(v_a_5118_, 0);
lean_inc(v_fst_5120_);
lean_dec(v_a_5118_);
v_fst_5121_ = lean_ctor_get(v_snd_5119_, 0);
lean_inc(v_fst_5121_);
v_snd_5122_ = lean_ctor_get(v_snd_5119_, 1);
lean_inc(v_snd_5122_);
lean_dec(v_snd_5119_);
v___x_5123_ = lean_array_get_size(v_tgts_5099_);
v___x_5124_ = l_Array_filterMapM___at___00Lean_Elab_Tactic_RCases_rcases_spec__1(v_tgts_5099_, v___x_5110_, v___x_5123_);
v___x_5125_ = l_Array_zip___redArg(v___x_5124_, v_fst_5121_);
lean_dec(v_fst_5121_);
lean_dec_ref(v___x_5124_);
v___x_5126_ = lean_box(0);
v___x_5127_ = l_Array_zip___redArg(v_fst_5115_, v_fst_5120_);
lean_dec(v_fst_5120_);
lean_dec(v_fst_5115_);
v___x_5128_ = lean_array_to_list(v___x_5127_);
v___x_5129_ = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_finish___boxed), 12, 1);
lean_closure_set(v___x_5129_, 0, v___x_5125_);
v___x_5130_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesContinue___redArg(v_snd_5122_, v___x_5126_, v___x_5111_, v___x_5111_, v___x_5128_, v___x_5129_, v___y_5102_, v___y_5103_, v___y_5104_, v___y_5105_, v___y_5106_, v___y_5107_);
if (lean_obj_tag(v___x_5130_) == 0)
{
lean_object* v_a_5131_; lean_object* v___x_5133_; uint8_t v_isShared_5134_; uint8_t v_isSharedCheck_5139_; 
v_a_5131_ = lean_ctor_get(v___x_5130_, 0);
v_isSharedCheck_5139_ = !lean_is_exclusive(v___x_5130_);
if (v_isSharedCheck_5139_ == 0)
{
v___x_5133_ = v___x_5130_;
v_isShared_5134_ = v_isSharedCheck_5139_;
goto v_resetjp_5132_;
}
else
{
lean_inc(v_a_5131_);
lean_dec(v___x_5130_);
v___x_5133_ = lean_box(0);
v_isShared_5134_ = v_isSharedCheck_5139_;
goto v_resetjp_5132_;
}
v_resetjp_5132_:
{
lean_object* v___x_5135_; lean_object* v___x_5137_; 
v___x_5135_ = lean_array_to_list(v_a_5131_);
if (v_isShared_5134_ == 0)
{
lean_ctor_set(v___x_5133_, 0, v___x_5135_);
v___x_5137_ = v___x_5133_;
goto v_reusejp_5136_;
}
else
{
lean_object* v_reuseFailAlloc_5138_; 
v_reuseFailAlloc_5138_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5138_, 0, v___x_5135_);
v___x_5137_ = v_reuseFailAlloc_5138_;
goto v_reusejp_5136_;
}
v_reusejp_5136_:
{
return v___x_5137_;
}
}
}
else
{
lean_object* v_a_5140_; lean_object* v___x_5142_; uint8_t v_isShared_5143_; uint8_t v_isSharedCheck_5147_; 
v_a_5140_ = lean_ctor_get(v___x_5130_, 0);
v_isSharedCheck_5147_ = !lean_is_exclusive(v___x_5130_);
if (v_isSharedCheck_5147_ == 0)
{
v___x_5142_ = v___x_5130_;
v_isShared_5143_ = v_isSharedCheck_5147_;
goto v_resetjp_5141_;
}
else
{
lean_inc(v_a_5140_);
lean_dec(v___x_5130_);
v___x_5142_ = lean_box(0);
v_isShared_5143_ = v_isSharedCheck_5147_;
goto v_resetjp_5141_;
}
v_resetjp_5141_:
{
lean_object* v___x_5145_; 
if (v_isShared_5143_ == 0)
{
v___x_5145_ = v___x_5142_;
goto v_reusejp_5144_;
}
else
{
lean_object* v_reuseFailAlloc_5146_; 
v_reuseFailAlloc_5146_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5146_, 0, v_a_5140_);
v___x_5145_ = v_reuseFailAlloc_5146_;
goto v_reusejp_5144_;
}
v_reusejp_5144_:
{
return v___x_5145_;
}
}
}
}
else
{
lean_object* v_a_5148_; lean_object* v___x_5150_; uint8_t v_isShared_5151_; uint8_t v_isSharedCheck_5155_; 
lean_dec(v_fst_5115_);
lean_dec(v___y_5107_);
lean_dec_ref(v___y_5106_);
lean_dec(v___y_5105_);
lean_dec_ref(v___y_5104_);
lean_dec(v___y_5103_);
lean_dec_ref(v___y_5102_);
v_a_5148_ = lean_ctor_get(v___x_5117_, 0);
v_isSharedCheck_5155_ = !lean_is_exclusive(v___x_5117_);
if (v_isSharedCheck_5155_ == 0)
{
v___x_5150_ = v___x_5117_;
v_isShared_5151_ = v_isSharedCheck_5155_;
goto v_resetjp_5149_;
}
else
{
lean_inc(v_a_5148_);
lean_dec(v___x_5117_);
v___x_5150_ = lean_box(0);
v_isShared_5151_ = v_isSharedCheck_5155_;
goto v_resetjp_5149_;
}
v_resetjp_5149_:
{
lean_object* v___x_5153_; 
if (v_isShared_5151_ == 0)
{
v___x_5153_ = v___x_5150_;
goto v_reusejp_5152_;
}
else
{
lean_object* v_reuseFailAlloc_5154_; 
v_reuseFailAlloc_5154_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5154_, 0, v_a_5148_);
v___x_5153_ = v_reuseFailAlloc_5154_;
goto v_reusejp_5152_;
}
v_reusejp_5152_:
{
return v___x_5153_;
}
}
}
}
else
{
lean_object* v_a_5156_; lean_object* v___x_5158_; uint8_t v_isShared_5159_; uint8_t v_isSharedCheck_5163_; 
lean_dec(v___y_5107_);
lean_dec_ref(v___y_5106_);
lean_dec(v___y_5105_);
lean_dec_ref(v___y_5104_);
lean_dec(v___y_5103_);
lean_dec_ref(v___y_5102_);
lean_dec(v_g_5100_);
v_a_5156_ = lean_ctor_get(v___x_5112_, 0);
v_isSharedCheck_5163_ = !lean_is_exclusive(v___x_5112_);
if (v_isSharedCheck_5163_ == 0)
{
v___x_5158_ = v___x_5112_;
v_isShared_5159_ = v_isSharedCheck_5163_;
goto v_resetjp_5157_;
}
else
{
lean_inc(v_a_5156_);
lean_dec(v___x_5112_);
v___x_5158_ = lean_box(0);
v_isShared_5159_ = v_isSharedCheck_5163_;
goto v_resetjp_5157_;
}
v_resetjp_5157_:
{
lean_object* v___x_5161_; 
if (v_isShared_5159_ == 0)
{
v___x_5161_ = v___x_5158_;
goto v_reusejp_5160_;
}
else
{
lean_object* v_reuseFailAlloc_5162_; 
v_reuseFailAlloc_5162_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5162_, 0, v_a_5156_);
v___x_5161_ = v_reuseFailAlloc_5162_;
goto v_reusejp_5160_;
}
v_reusejp_5160_:
{
return v___x_5161_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rcases___lam__0___boxed(lean_object* v_tgts_5164_, lean_object* v_g_5165_, lean_object* v_pats_5166_, lean_object* v___y_5167_, lean_object* v___y_5168_, lean_object* v___y_5169_, lean_object* v___y_5170_, lean_object* v___y_5171_, lean_object* v___y_5172_, lean_object* v___y_5173_){
_start:
{
lean_object* v_res_5174_; 
v_res_5174_ = l_Lean_Elab_Tactic_RCases_rcases___lam__0(v_tgts_5164_, v_g_5165_, v_pats_5166_, v___y_5167_, v___y_5168_, v___y_5169_, v___y_5170_, v___y_5171_, v___y_5172_);
lean_dec_ref(v_tgts_5164_);
return v_res_5174_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Elab_Tactic_RCases_rcases_spec__2(size_t v_sz_5179_, size_t v_i_5180_, lean_object* v_bs_5181_){
_start:
{
uint8_t v___x_5182_; 
v___x_5182_ = lean_usize_dec_lt(v_i_5180_, v_sz_5179_);
if (v___x_5182_ == 0)
{
return v_bs_5181_;
}
else
{
lean_object* v___x_5183_; lean_object* v_bs_x27_5184_; lean_object* v___x_5185_; size_t v___x_5186_; size_t v___x_5187_; lean_object* v___x_5188_; 
v___x_5183_ = lean_unsigned_to_nat(0u);
v_bs_x27_5184_ = lean_array_uset(v_bs_5181_, v_i_5180_, v___x_5183_);
v___x_5185_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Elab_Tactic_RCases_rcases_spec__2___closed__0));
v___x_5186_ = ((size_t)1ULL);
v___x_5187_ = lean_usize_add(v_i_5180_, v___x_5186_);
v___x_5188_ = lean_array_uset(v_bs_x27_5184_, v_i_5180_, v___x_5185_);
v_i_5180_ = v___x_5187_;
v_bs_5181_ = v___x_5188_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Elab_Tactic_RCases_rcases_spec__2___boxed(lean_object* v_sz_5190_, lean_object* v_i_5191_, lean_object* v_bs_5192_){
_start:
{
size_t v_sz_boxed_5193_; size_t v_i_boxed_5194_; lean_object* v_res_5195_; 
v_sz_boxed_5193_ = lean_unbox_usize(v_sz_5190_);
lean_dec(v_sz_5190_);
v_i_boxed_5194_ = lean_unbox_usize(v_i_5191_);
lean_dec(v_i_5191_);
v_res_5195_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Elab_Tactic_RCases_rcases_spec__2(v_sz_boxed_5193_, v_i_boxed_5194_, v_bs_5192_);
return v_res_5195_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rcases___lam__1(uint8_t v___x_5196_, lean_object* v___x_5197_, lean_object* v_pat_5198_, lean_object* v_tgts_5199_, lean_object* v___x_5200_, lean_object* v___f_5201_, lean_object* v_g_5202_, lean_object* v___y_5203_, lean_object* v___y_5204_, lean_object* v___y_5205_, lean_object* v___y_5206_, lean_object* v___y_5207_, lean_object* v___y_5208_){
_start:
{
if (v___x_5196_ == 0)
{
lean_object* v___x_5210_; uint8_t v___x_5211_; lean_object* v___y_5213_; 
lean_dec(v_g_5202_);
v___x_5210_ = lean_unsigned_to_nat(1u);
v___x_5211_ = lean_nat_dec_eq(v___x_5197_, v___x_5210_);
if (v___x_5211_ == 0)
{
lean_object* v_ref_5222_; 
v_ref_5222_ = lean_ctor_get(v_pat_5198_, 0);
lean_inc(v_ref_5222_);
v___y_5213_ = v_ref_5222_;
goto v___jp_5212_;
}
else
{
lean_object* v___x_5223_; lean_object* v___x_5224_; lean_object* v___x_5225_; 
lean_dec_ref(v_tgts_5199_);
v___x_5223_ = lean_box(0);
v___x_5224_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_5224_, 0, v_pat_5198_);
lean_ctor_set(v___x_5224_, 1, v___x_5223_);
v___x_5225_ = lean_apply_8(v___f_5201_, v___x_5224_, v___y_5203_, v___y_5204_, v___y_5205_, v___y_5206_, v___y_5207_, v___y_5208_, lean_box(0));
return v___x_5225_;
}
v___jp_5212_:
{
lean_object* v___x_5214_; lean_object* v_snd_5215_; size_t v_sz_5216_; size_t v___x_5217_; lean_object* v___x_5218_; lean_object* v___x_5219_; lean_object* v_snd_5220_; lean_object* v___x_5221_; 
v___x_5214_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_asTuple(v_pat_5198_);
v_snd_5215_ = lean_ctor_get(v___x_5214_, 1);
lean_inc(v_snd_5215_);
lean_dec_ref(v___x_5214_);
v_sz_5216_ = lean_array_size(v_tgts_5199_);
v___x_5217_ = ((size_t)0ULL);
v___x_5218_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Elab_Tactic_RCases_rcases_spec__2(v_sz_5216_, v___x_5217_, v_tgts_5199_);
v___x_5219_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructor(v___y_5213_, v___x_5218_, v___x_5211_, v___x_5200_, v_snd_5215_);
lean_dec_ref(v___x_5218_);
v_snd_5220_ = lean_ctor_get(v___x_5219_, 1);
lean_inc(v_snd_5220_);
lean_dec_ref(v___x_5219_);
v___x_5221_ = lean_apply_8(v___f_5201_, v_snd_5220_, v___y_5203_, v___y_5204_, v___y_5205_, v___y_5206_, v___y_5207_, v___y_5208_, lean_box(0));
return v___x_5221_;
}
}
else
{
lean_object* v___x_5226_; lean_object* v___x_5227_; lean_object* v___x_5228_; 
lean_dec(v___y_5208_);
lean_dec_ref(v___y_5207_);
lean_dec(v___y_5206_);
lean_dec_ref(v___y_5205_);
lean_dec(v___y_5204_);
lean_dec_ref(v___y_5203_);
lean_dec_ref(v___f_5201_);
lean_dec_ref(v_tgts_5199_);
lean_dec_ref(v_pat_5198_);
v___x_5226_ = lean_box(0);
v___x_5227_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_5227_, 0, v_g_5202_);
lean_ctor_set(v___x_5227_, 1, v___x_5226_);
v___x_5228_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5228_, 0, v___x_5227_);
return v___x_5228_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rcases___lam__1___boxed(lean_object* v___x_5229_, lean_object* v___x_5230_, lean_object* v_pat_5231_, lean_object* v_tgts_5232_, lean_object* v___x_5233_, lean_object* v___f_5234_, lean_object* v_g_5235_, lean_object* v___y_5236_, lean_object* v___y_5237_, lean_object* v___y_5238_, lean_object* v___y_5239_, lean_object* v___y_5240_, lean_object* v___y_5241_, lean_object* v___y_5242_){
_start:
{
uint8_t v___x_5490__boxed_5243_; lean_object* v_res_5244_; 
v___x_5490__boxed_5243_ = lean_unbox(v___x_5229_);
v_res_5244_ = l_Lean_Elab_Tactic_RCases_rcases___lam__1(v___x_5490__boxed_5243_, v___x_5230_, v_pat_5231_, v_tgts_5232_, v___x_5233_, v___f_5234_, v_g_5235_, v___y_5236_, v___y_5237_, v___y_5238_, v___y_5239_, v___y_5240_, v___y_5241_);
lean_dec(v___x_5233_);
lean_dec(v___x_5230_);
return v_res_5244_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rcases(lean_object* v_tgts_5245_, lean_object* v_pat_5246_, lean_object* v_g_5247_, lean_object* v_a_5248_, lean_object* v_a_5249_, lean_object* v_a_5250_, lean_object* v_a_5251_, lean_object* v_a_5252_, lean_object* v_a_5253_){
_start:
{
lean_object* v___f_5255_; lean_object* v___x_5256_; lean_object* v___x_5257_; uint8_t v___x_5258_; lean_object* v___x_5259_; lean_object* v___y_5260_; uint8_t v___x_5261_; lean_object* v___x_5262_; 
lean_inc(v_g_5247_);
lean_inc_ref(v_tgts_5245_);
v___f_5255_ = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_RCases_rcases___lam__0___boxed), 10, 2);
lean_closure_set(v___f_5255_, 0, v_tgts_5245_);
lean_closure_set(v___f_5255_, 1, v_g_5247_);
v___x_5256_ = lean_array_get_size(v_tgts_5245_);
v___x_5257_ = lean_unsigned_to_nat(0u);
v___x_5258_ = lean_nat_dec_eq(v___x_5256_, v___x_5257_);
v___x_5259_ = lean_box(v___x_5258_);
v___y_5260_ = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_RCases_rcases___lam__1___boxed), 14, 7);
lean_closure_set(v___y_5260_, 0, v___x_5259_);
lean_closure_set(v___y_5260_, 1, v___x_5256_);
lean_closure_set(v___y_5260_, 2, v_pat_5246_);
lean_closure_set(v___y_5260_, 3, v_tgts_5245_);
lean_closure_set(v___y_5260_, 4, v___x_5257_);
lean_closure_set(v___y_5260_, 5, v___f_5255_);
lean_closure_set(v___y_5260_, 6, v_g_5247_);
v___x_5261_ = 1;
v___x_5262_ = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_withSynthesizeImp(lean_box(0), v___y_5260_, v___x_5261_, v_a_5248_, v_a_5249_, v_a_5250_, v_a_5251_, v_a_5252_, v_a_5253_);
return v___x_5262_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rcases___boxed(lean_object* v_tgts_5263_, lean_object* v_pat_5264_, lean_object* v_g_5265_, lean_object* v_a_5266_, lean_object* v_a_5267_, lean_object* v_a_5268_, lean_object* v_a_5269_, lean_object* v_a_5270_, lean_object* v_a_5271_, lean_object* v_a_5272_){
_start:
{
lean_object* v_res_5273_; 
v_res_5273_ = l_Lean_Elab_Tactic_RCases_rcases(v_tgts_5263_, v_pat_5264_, v_g_5265_, v_a_5266_, v_a_5267_, v_a_5268_, v_a_5269_, v_a_5270_, v_a_5271_);
return v_res_5273_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone___lam__0(lean_object* v_ty_5278_, lean_object* v_g_5279_, lean_object* v_pat_5280_, lean_object* v___y_5281_, lean_object* v___y_5282_, lean_object* v___y_5283_, lean_object* v___y_5284_, lean_object* v___y_5285_, lean_object* v___y_5286_){
_start:
{
lean_object* v___x_5288_; 
lean_inc(v___y_5286_);
lean_inc_ref(v___y_5285_);
lean_inc(v___y_5284_);
lean_inc_ref(v___y_5283_);
lean_inc(v___y_5282_);
lean_inc_ref(v___y_5281_);
v___x_5288_ = l_Lean_Elab_Term_elabType(v_ty_5278_, v___y_5281_, v___y_5282_, v___y_5283_, v___y_5284_, v___y_5285_, v___y_5286_);
if (lean_obj_tag(v___x_5288_) == 0)
{
lean_object* v_a_5289_; lean_object* v___x_5290_; uint8_t v___x_5291_; lean_object* v___x_5292_; lean_object* v___x_5293_; 
v_a_5289_ = lean_ctor_get(v___x_5288_, 0);
lean_inc(v_a_5289_);
lean_dec_ref(v___x_5288_);
lean_inc(v_a_5289_);
v___x_5290_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_5290_, 0, v_a_5289_);
v___x_5291_ = 0;
v___x_5292_ = lean_box(0);
lean_inc_ref(v___y_5283_);
v___x_5293_ = l_Lean_Meta_mkFreshExprMVar(v___x_5290_, v___x_5291_, v___x_5292_, v___y_5283_, v___y_5284_, v___y_5285_, v___y_5286_);
if (lean_obj_tag(v___x_5293_) == 0)
{
lean_object* v_a_5294_; lean_object* v___y_5296_; lean_object* v___x_5350_; 
v_a_5294_ = lean_ctor_get(v___x_5293_, 0);
lean_inc(v_a_5294_);
lean_dec_ref(v___x_5293_);
v___x_5350_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_name_x3f(v_pat_5280_);
if (lean_obj_tag(v___x_5350_) == 0)
{
v___y_5296_ = v___x_5292_;
goto v___jp_5295_;
}
else
{
lean_object* v_val_5351_; 
v_val_5351_ = lean_ctor_get(v___x_5350_, 0);
lean_inc(v_val_5351_);
lean_dec_ref(v___x_5350_);
v___y_5296_ = v_val_5351_;
goto v___jp_5295_;
}
v___jp_5295_:
{
lean_object* v___x_5297_; 
lean_inc(v___y_5286_);
lean_inc_ref(v___y_5285_);
lean_inc(v___y_5284_);
lean_inc_ref(v___y_5283_);
lean_inc(v_a_5294_);
v___x_5297_ = l_Lean_MVarId_assert(v_g_5279_, v___y_5296_, v_a_5289_, v_a_5294_, v___y_5283_, v___y_5284_, v___y_5285_, v___y_5286_);
if (lean_obj_tag(v___x_5297_) == 0)
{
lean_object* v_a_5298_; uint8_t v___x_5299_; lean_object* v___x_5300_; 
v_a_5298_ = lean_ctor_get(v___x_5297_, 0);
lean_inc(v_a_5298_);
lean_dec_ref(v___x_5297_);
v___x_5299_ = 0;
lean_inc(v___y_5286_);
lean_inc_ref(v___y_5285_);
lean_inc(v___y_5284_);
lean_inc_ref(v___y_5283_);
v___x_5300_ = l_Lean_Meta_intro1Core(v_a_5298_, v___x_5299_, v___y_5283_, v___y_5284_, v___y_5285_, v___y_5286_);
if (lean_obj_tag(v___x_5300_) == 0)
{
lean_object* v_a_5301_; lean_object* v_fst_5302_; lean_object* v_snd_5303_; lean_object* v___x_5305_; uint8_t v_isShared_5306_; uint8_t v_isSharedCheck_5333_; 
v_a_5301_ = lean_ctor_get(v___x_5300_, 0);
lean_inc(v_a_5301_);
lean_dec_ref(v___x_5300_);
v_fst_5302_ = lean_ctor_get(v_a_5301_, 0);
v_snd_5303_ = lean_ctor_get(v_a_5301_, 1);
v_isSharedCheck_5333_ = !lean_is_exclusive(v_a_5301_);
if (v_isSharedCheck_5333_ == 0)
{
v___x_5305_ = v_a_5301_;
v_isShared_5306_ = v_isSharedCheck_5333_;
goto v_resetjp_5304_;
}
else
{
lean_inc(v_snd_5303_);
lean_inc(v_fst_5302_);
lean_dec(v_a_5301_);
v___x_5305_ = lean_box(0);
v_isShared_5306_ = v_isSharedCheck_5333_;
goto v_resetjp_5304_;
}
v_resetjp_5304_:
{
lean_object* v___x_5307_; lean_object* v___x_5308_; lean_object* v___x_5309_; lean_object* v___x_5310_; lean_object* v___x_5311_; 
v___x_5307_ = lean_box(0);
v___x_5308_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone___lam__0___closed__0));
v___x_5309_ = l_Lean_Expr_fvar___override(v_fst_5302_);
v___x_5310_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone___lam__0___closed__1));
v___x_5311_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg(v_snd_5303_, v___x_5307_, v___x_5308_, v___x_5309_, v___x_5308_, v_pat_5280_, v___x_5310_, v___y_5281_, v___y_5282_, v___y_5283_, v___y_5284_, v___y_5285_, v___y_5286_);
if (lean_obj_tag(v___x_5311_) == 0)
{
lean_object* v_a_5312_; lean_object* v___x_5314_; uint8_t v_isShared_5315_; uint8_t v_isSharedCheck_5324_; 
v_a_5312_ = lean_ctor_get(v___x_5311_, 0);
v_isSharedCheck_5324_ = !lean_is_exclusive(v___x_5311_);
if (v_isSharedCheck_5324_ == 0)
{
v___x_5314_ = v___x_5311_;
v_isShared_5315_ = v_isSharedCheck_5324_;
goto v_resetjp_5313_;
}
else
{
lean_inc(v_a_5312_);
lean_dec(v___x_5311_);
v___x_5314_ = lean_box(0);
v_isShared_5315_ = v_isSharedCheck_5324_;
goto v_resetjp_5313_;
}
v_resetjp_5313_:
{
lean_object* v___x_5316_; lean_object* v___x_5317_; lean_object* v___x_5319_; 
v___x_5316_ = l_Lean_Expr_mvarId_x21(v_a_5294_);
lean_dec(v_a_5294_);
v___x_5317_ = lean_array_to_list(v_a_5312_);
if (v_isShared_5306_ == 0)
{
lean_ctor_set_tag(v___x_5305_, 1);
lean_ctor_set(v___x_5305_, 1, v___x_5317_);
lean_ctor_set(v___x_5305_, 0, v___x_5316_);
v___x_5319_ = v___x_5305_;
goto v_reusejp_5318_;
}
else
{
lean_object* v_reuseFailAlloc_5323_; 
v_reuseFailAlloc_5323_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_5323_, 0, v___x_5316_);
lean_ctor_set(v_reuseFailAlloc_5323_, 1, v___x_5317_);
v___x_5319_ = v_reuseFailAlloc_5323_;
goto v_reusejp_5318_;
}
v_reusejp_5318_:
{
lean_object* v___x_5321_; 
if (v_isShared_5315_ == 0)
{
lean_ctor_set(v___x_5314_, 0, v___x_5319_);
v___x_5321_ = v___x_5314_;
goto v_reusejp_5320_;
}
else
{
lean_object* v_reuseFailAlloc_5322_; 
v_reuseFailAlloc_5322_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5322_, 0, v___x_5319_);
v___x_5321_ = v_reuseFailAlloc_5322_;
goto v_reusejp_5320_;
}
v_reusejp_5320_:
{
return v___x_5321_;
}
}
}
}
else
{
lean_object* v_a_5325_; lean_object* v___x_5327_; uint8_t v_isShared_5328_; uint8_t v_isSharedCheck_5332_; 
lean_del_object(v___x_5305_);
lean_dec(v_a_5294_);
v_a_5325_ = lean_ctor_get(v___x_5311_, 0);
v_isSharedCheck_5332_ = !lean_is_exclusive(v___x_5311_);
if (v_isSharedCheck_5332_ == 0)
{
v___x_5327_ = v___x_5311_;
v_isShared_5328_ = v_isSharedCheck_5332_;
goto v_resetjp_5326_;
}
else
{
lean_inc(v_a_5325_);
lean_dec(v___x_5311_);
v___x_5327_ = lean_box(0);
v_isShared_5328_ = v_isSharedCheck_5332_;
goto v_resetjp_5326_;
}
v_resetjp_5326_:
{
lean_object* v___x_5330_; 
if (v_isShared_5328_ == 0)
{
v___x_5330_ = v___x_5327_;
goto v_reusejp_5329_;
}
else
{
lean_object* v_reuseFailAlloc_5331_; 
v_reuseFailAlloc_5331_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5331_, 0, v_a_5325_);
v___x_5330_ = v_reuseFailAlloc_5331_;
goto v_reusejp_5329_;
}
v_reusejp_5329_:
{
return v___x_5330_;
}
}
}
}
}
else
{
lean_object* v_a_5334_; lean_object* v___x_5336_; uint8_t v_isShared_5337_; uint8_t v_isSharedCheck_5341_; 
lean_dec(v_a_5294_);
lean_dec(v___y_5286_);
lean_dec_ref(v___y_5285_);
lean_dec(v___y_5284_);
lean_dec_ref(v___y_5283_);
lean_dec(v___y_5282_);
lean_dec_ref(v___y_5281_);
lean_dec_ref(v_pat_5280_);
v_a_5334_ = lean_ctor_get(v___x_5300_, 0);
v_isSharedCheck_5341_ = !lean_is_exclusive(v___x_5300_);
if (v_isSharedCheck_5341_ == 0)
{
v___x_5336_ = v___x_5300_;
v_isShared_5337_ = v_isSharedCheck_5341_;
goto v_resetjp_5335_;
}
else
{
lean_inc(v_a_5334_);
lean_dec(v___x_5300_);
v___x_5336_ = lean_box(0);
v_isShared_5337_ = v_isSharedCheck_5341_;
goto v_resetjp_5335_;
}
v_resetjp_5335_:
{
lean_object* v___x_5339_; 
if (v_isShared_5337_ == 0)
{
v___x_5339_ = v___x_5336_;
goto v_reusejp_5338_;
}
else
{
lean_object* v_reuseFailAlloc_5340_; 
v_reuseFailAlloc_5340_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5340_, 0, v_a_5334_);
v___x_5339_ = v_reuseFailAlloc_5340_;
goto v_reusejp_5338_;
}
v_reusejp_5338_:
{
return v___x_5339_;
}
}
}
}
else
{
lean_object* v_a_5342_; lean_object* v___x_5344_; uint8_t v_isShared_5345_; uint8_t v_isSharedCheck_5349_; 
lean_dec(v_a_5294_);
lean_dec(v___y_5286_);
lean_dec_ref(v___y_5285_);
lean_dec(v___y_5284_);
lean_dec_ref(v___y_5283_);
lean_dec(v___y_5282_);
lean_dec_ref(v___y_5281_);
lean_dec_ref(v_pat_5280_);
v_a_5342_ = lean_ctor_get(v___x_5297_, 0);
v_isSharedCheck_5349_ = !lean_is_exclusive(v___x_5297_);
if (v_isSharedCheck_5349_ == 0)
{
v___x_5344_ = v___x_5297_;
v_isShared_5345_ = v_isSharedCheck_5349_;
goto v_resetjp_5343_;
}
else
{
lean_inc(v_a_5342_);
lean_dec(v___x_5297_);
v___x_5344_ = lean_box(0);
v_isShared_5345_ = v_isSharedCheck_5349_;
goto v_resetjp_5343_;
}
v_resetjp_5343_:
{
lean_object* v___x_5347_; 
if (v_isShared_5345_ == 0)
{
v___x_5347_ = v___x_5344_;
goto v_reusejp_5346_;
}
else
{
lean_object* v_reuseFailAlloc_5348_; 
v_reuseFailAlloc_5348_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5348_, 0, v_a_5342_);
v___x_5347_ = v_reuseFailAlloc_5348_;
goto v_reusejp_5346_;
}
v_reusejp_5346_:
{
return v___x_5347_;
}
}
}
}
}
else
{
lean_object* v_a_5352_; lean_object* v___x_5354_; uint8_t v_isShared_5355_; uint8_t v_isSharedCheck_5359_; 
lean_dec(v_a_5289_);
lean_dec(v___y_5286_);
lean_dec_ref(v___y_5285_);
lean_dec(v___y_5284_);
lean_dec_ref(v___y_5283_);
lean_dec(v___y_5282_);
lean_dec_ref(v___y_5281_);
lean_dec_ref(v_pat_5280_);
lean_dec(v_g_5279_);
v_a_5352_ = lean_ctor_get(v___x_5293_, 0);
v_isSharedCheck_5359_ = !lean_is_exclusive(v___x_5293_);
if (v_isSharedCheck_5359_ == 0)
{
v___x_5354_ = v___x_5293_;
v_isShared_5355_ = v_isSharedCheck_5359_;
goto v_resetjp_5353_;
}
else
{
lean_inc(v_a_5352_);
lean_dec(v___x_5293_);
v___x_5354_ = lean_box(0);
v_isShared_5355_ = v_isSharedCheck_5359_;
goto v_resetjp_5353_;
}
v_resetjp_5353_:
{
lean_object* v___x_5357_; 
if (v_isShared_5355_ == 0)
{
v___x_5357_ = v___x_5354_;
goto v_reusejp_5356_;
}
else
{
lean_object* v_reuseFailAlloc_5358_; 
v_reuseFailAlloc_5358_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5358_, 0, v_a_5352_);
v___x_5357_ = v_reuseFailAlloc_5358_;
goto v_reusejp_5356_;
}
v_reusejp_5356_:
{
return v___x_5357_;
}
}
}
}
else
{
lean_object* v_a_5360_; lean_object* v___x_5362_; uint8_t v_isShared_5363_; uint8_t v_isSharedCheck_5367_; 
lean_dec(v___y_5286_);
lean_dec_ref(v___y_5285_);
lean_dec(v___y_5284_);
lean_dec_ref(v___y_5283_);
lean_dec(v___y_5282_);
lean_dec_ref(v___y_5281_);
lean_dec_ref(v_pat_5280_);
lean_dec(v_g_5279_);
v_a_5360_ = lean_ctor_get(v___x_5288_, 0);
v_isSharedCheck_5367_ = !lean_is_exclusive(v___x_5288_);
if (v_isSharedCheck_5367_ == 0)
{
v___x_5362_ = v___x_5288_;
v_isShared_5363_ = v_isSharedCheck_5367_;
goto v_resetjp_5361_;
}
else
{
lean_inc(v_a_5360_);
lean_dec(v___x_5288_);
v___x_5362_ = lean_box(0);
v_isShared_5363_ = v_isSharedCheck_5367_;
goto v_resetjp_5361_;
}
v_resetjp_5361_:
{
lean_object* v___x_5365_; 
if (v_isShared_5363_ == 0)
{
v___x_5365_ = v___x_5362_;
goto v_reusejp_5364_;
}
else
{
lean_object* v_reuseFailAlloc_5366_; 
v_reuseFailAlloc_5366_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5366_, 0, v_a_5360_);
v___x_5365_ = v_reuseFailAlloc_5366_;
goto v_reusejp_5364_;
}
v_reusejp_5364_:
{
return v___x_5365_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone___lam__0___boxed(lean_object* v_ty_5368_, lean_object* v_g_5369_, lean_object* v_pat_5370_, lean_object* v___y_5371_, lean_object* v___y_5372_, lean_object* v___y_5373_, lean_object* v___y_5374_, lean_object* v___y_5375_, lean_object* v___y_5376_, lean_object* v___y_5377_){
_start:
{
lean_object* v_res_5378_; 
v_res_5378_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone___lam__0(v_ty_5368_, v_g_5369_, v_pat_5370_, v___y_5371_, v___y_5372_, v___y_5373_, v___y_5374_, v___y_5375_, v___y_5376_);
return v_res_5378_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone(lean_object* v_pat_5379_, lean_object* v_ty_5380_, lean_object* v_g_5381_, lean_object* v_a_5382_, lean_object* v_a_5383_, lean_object* v_a_5384_, lean_object* v_a_5385_, lean_object* v_a_5386_, lean_object* v_a_5387_){
_start:
{
lean_object* v___f_5389_; uint8_t v___x_5390_; lean_object* v___x_5391_; 
v___f_5389_ = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone___lam__0___boxed), 10, 3);
lean_closure_set(v___f_5389_, 0, v_ty_5380_);
lean_closure_set(v___f_5389_, 1, v_g_5381_);
lean_closure_set(v___f_5389_, 2, v_pat_5379_);
v___x_5390_ = 1;
v___x_5391_ = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_withSynthesizeImp(lean_box(0), v___f_5389_, v___x_5390_, v_a_5382_, v_a_5383_, v_a_5384_, v_a_5385_, v_a_5386_, v_a_5387_);
return v___x_5391_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone___boxed(lean_object* v_pat_5392_, lean_object* v_ty_5393_, lean_object* v_g_5394_, lean_object* v_a_5395_, lean_object* v_a_5396_, lean_object* v_a_5397_, lean_object* v_a_5398_, lean_object* v_a_5399_, lean_object* v_a_5400_, lean_object* v_a_5401_){
_start:
{
lean_object* v_res_5402_; 
v_res_5402_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone(v_pat_5392_, v_ty_5393_, v_g_5394_, v_a_5395_, v_a_5396_, v_a_5397_, v_a_5398_, v_a_5399_, v_a_5400_);
return v_res_5402_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_expandRIntroPats(lean_object* v_pats_5410_, lean_object* v_acc_5411_, lean_object* v_ty_x3f_5412_){
_start:
{
lean_object* v___x_5413_; lean_object* v___x_5414_; uint8_t v___x_5415_; 
v___x_5413_ = lean_unsigned_to_nat(0u);
v___x_5414_ = lean_array_get_size(v_pats_5410_);
v___x_5415_ = lean_nat_dec_lt(v___x_5413_, v___x_5414_);
if (v___x_5415_ == 0)
{
lean_dec(v_ty_x3f_5412_);
return v_acc_5411_;
}
else
{
uint8_t v___x_5416_; 
v___x_5416_ = lean_nat_dec_le(v___x_5414_, v___x_5414_);
if (v___x_5416_ == 0)
{
if (v___x_5415_ == 0)
{
lean_dec(v_ty_x3f_5412_);
return v_acc_5411_;
}
else
{
size_t v___x_5417_; size_t v___x_5418_; lean_object* v___x_5419_; 
v___x_5417_ = ((size_t)0ULL);
v___x_5418_ = lean_usize_of_nat(v___x_5414_);
v___x_5419_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Elab_Tactic_RCases_expandRIntroPats_spec__1(v_ty_x3f_5412_, v_pats_5410_, v___x_5417_, v___x_5418_, v_acc_5411_);
return v___x_5419_;
}
}
else
{
size_t v___x_5420_; size_t v___x_5421_; lean_object* v___x_5422_; 
v___x_5420_ = ((size_t)0ULL);
v___x_5421_ = lean_usize_of_nat(v___x_5414_);
v___x_5422_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Elab_Tactic_RCases_expandRIntroPats_spec__1(v_ty_x3f_5412_, v_pats_5410_, v___x_5420_, v___x_5421_, v_acc_5411_);
return v___x_5422_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat(lean_object* v_pat_5426_, lean_object* v_acc_5427_, lean_object* v_ty_x3f_5428_){
_start:
{
lean_object* v___x_5429_; uint8_t v___x_5430_; 
v___x_5429_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1));
lean_inc(v_pat_5426_);
v___x_5430_ = l_Lean_Syntax_isOfKind(v_pat_5426_, v___x_5429_);
if (v___x_5430_ == 0)
{
lean_object* v___x_5431_; uint8_t v___x_5432_; 
v___x_5431_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__1));
lean_inc(v_pat_5426_);
v___x_5432_ = l_Lean_Syntax_isOfKind(v_pat_5426_, v___x_5431_);
if (v___x_5432_ == 0)
{
lean_dec(v_ty_x3f_5428_);
lean_dec(v_pat_5426_);
return v_acc_5427_;
}
else
{
lean_object* v___x_5433_; lean_object* v___x_5434_; lean_object* v___x_5435_; lean_object* v___x_5436_; uint8_t v___x_5437_; 
v___x_5433_ = lean_unsigned_to_nat(1u);
v___x_5434_ = l_Lean_Syntax_getArg(v_pat_5426_, v___x_5433_);
v___x_5435_ = lean_unsigned_to_nat(2u);
v___x_5436_ = l_Lean_Syntax_getArg(v_pat_5426_, v___x_5435_);
lean_dec(v_pat_5426_);
v___x_5437_ = l_Lean_Syntax_isNone(v___x_5436_);
if (v___x_5437_ == 0)
{
uint8_t v___x_5438_; 
lean_dec(v_ty_x3f_5428_);
lean_inc(v___x_5436_);
v___x_5438_ = l_Lean_Syntax_matchesNull(v___x_5436_, v___x_5435_);
if (v___x_5438_ == 0)
{
lean_dec(v___x_5436_);
lean_dec(v___x_5434_);
return v_acc_5427_;
}
else
{
lean_object* v_ty_x3f_x27_5439_; lean_object* v___x_5440_; lean_object* v_pats_5441_; lean_object* v___x_5442_; 
v_ty_x3f_x27_5439_ = l_Lean_Syntax_getArg(v___x_5436_, v___x_5433_);
lean_dec(v___x_5436_);
v___x_5440_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_5440_, 0, v_ty_x3f_x27_5439_);
v_pats_5441_ = l_Lean_Syntax_getArgs(v___x_5434_);
lean_dec(v___x_5434_);
v___x_5442_ = l_Lean_Elab_Tactic_RCases_expandRIntroPats(v_pats_5441_, v_acc_5427_, v___x_5440_);
lean_dec_ref(v_pats_5441_);
return v___x_5442_;
}
}
else
{
lean_object* v_pats_5443_; lean_object* v___x_5444_; 
lean_dec(v___x_5436_);
v_pats_5443_ = l_Lean_Syntax_getArgs(v___x_5434_);
lean_dec(v___x_5434_);
v___x_5444_ = l_Lean_Elab_Tactic_RCases_expandRIntroPats(v_pats_5443_, v_acc_5427_, v_ty_x3f_5428_);
lean_dec_ref(v_pats_5443_);
return v___x_5444_;
}
}
}
else
{
lean_object* v___x_5445_; lean_object* v_p_5446_; 
v___x_5445_ = lean_unsigned_to_nat(0u);
v_p_5446_ = l_Lean_Syntax_getArg(v_pat_5426_, v___x_5445_);
lean_dec(v_pat_5426_);
if (lean_obj_tag(v_ty_x3f_5428_) == 0)
{
lean_object* v___x_5447_; 
v___x_5447_ = lean_array_push(v_acc_5427_, v_p_5446_);
return v___x_5447_;
}
else
{
lean_object* v_val_5448_; lean_object* v___x_5449_; lean_object* v_ref_5450_; uint8_t v___x_5451_; lean_object* v___x_5452_; lean_object* v___x_5453_; lean_object* v___x_5454_; lean_object* v___x_5455_; lean_object* v___x_5456_; lean_object* v___x_5457_; lean_object* v___x_5458_; lean_object* v___x_5459_; lean_object* v___x_5460_; lean_object* v___x_5461_; lean_object* v___x_5462_; lean_object* v___x_5463_; lean_object* v___x_5464_; lean_object* v___x_5465_; lean_object* v___x_5466_; lean_object* v___x_5467_; lean_object* v___x_5468_; 
v_val_5448_ = lean_ctor_get(v_ty_x3f_5428_, 0);
lean_inc(v_val_5448_);
lean_dec_ref(v_ty_x3f_5428_);
v___x_5449_ = lean_box(0);
v_ref_5450_ = l_Lean_replaceRef(v_p_5446_, v___x_5449_);
v___x_5451_ = 0;
v___x_5452_ = l_Lean_SourceInfo_fromRef(v_ref_5450_, v___x_5451_);
lean_dec(v_ref_5450_);
v___x_5453_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse___closed__9));
v___x_5454_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__2));
lean_inc(v___x_5452_);
v___x_5455_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_5455_, 0, v___x_5452_);
lean_ctor_set(v___x_5455_, 1, v___x_5454_);
v___x_5456_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___lam__0___closed__1));
v___x_5457_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__1));
v___x_5458_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__3));
lean_inc(v___x_5452_);
v___x_5459_ = l_Lean_Syntax_node1(v___x_5452_, v___x_5458_, v_p_5446_);
lean_inc(v___x_5452_);
v___x_5460_ = l_Lean_Syntax_node1(v___x_5452_, v___x_5457_, v___x_5459_);
v___x_5461_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__3));
lean_inc(v___x_5452_);
v___x_5462_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_5462_, 0, v___x_5452_);
lean_ctor_set(v___x_5462_, 1, v___x_5461_);
lean_inc(v___x_5452_);
v___x_5463_ = l_Lean_Syntax_node2(v___x_5452_, v___x_5458_, v___x_5462_, v_val_5448_);
lean_inc(v___x_5452_);
v___x_5464_ = l_Lean_Syntax_node2(v___x_5452_, v___x_5456_, v___x_5460_, v___x_5463_);
v___x_5465_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__4));
lean_inc(v___x_5452_);
v___x_5466_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_5466_, 0, v___x_5452_);
lean_ctor_set(v___x_5466_, 1, v___x_5465_);
v___x_5467_ = l_Lean_Syntax_node3(v___x_5452_, v___x_5453_, v___x_5455_, v___x_5464_, v___x_5466_);
v___x_5468_ = lean_array_push(v_acc_5427_, v___x_5467_);
return v___x_5468_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Elab_Tactic_RCases_expandRIntroPats_spec__1(lean_object* v_ty_x3f_5469_, lean_object* v_as_5470_, size_t v_i_5471_, size_t v_stop_5472_, lean_object* v_b_5473_){
_start:
{
uint8_t v___x_5474_; 
v___x_5474_ = lean_usize_dec_eq(v_i_5471_, v_stop_5472_);
if (v___x_5474_ == 0)
{
lean_object* v___x_5475_; lean_object* v___x_5476_; size_t v___x_5477_; size_t v___x_5478_; 
v___x_5475_ = lean_array_uget_borrowed(v_as_5470_, v_i_5471_);
lean_inc(v_ty_x3f_5469_);
lean_inc(v___x_5475_);
v___x_5476_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat(v___x_5475_, v_b_5473_, v_ty_x3f_5469_);
v___x_5477_ = ((size_t)1ULL);
v___x_5478_ = lean_usize_add(v_i_5471_, v___x_5477_);
v_i_5471_ = v___x_5478_;
v_b_5473_ = v___x_5476_;
goto _start;
}
else
{
lean_dec(v_ty_x3f_5469_);
return v_b_5473_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Elab_Tactic_RCases_expandRIntroPats_spec__1___boxed(lean_object* v_ty_x3f_5480_, lean_object* v_as_5481_, lean_object* v_i_5482_, lean_object* v_stop_5483_, lean_object* v_b_5484_){
_start:
{
size_t v_i_boxed_5485_; size_t v_stop_boxed_5486_; lean_object* v_res_5487_; 
v_i_boxed_5485_ = lean_unbox_usize(v_i_5482_);
lean_dec(v_i_5482_);
v_stop_boxed_5486_ = lean_unbox_usize(v_stop_5483_);
lean_dec(v_stop_5483_);
v_res_5487_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Elab_Tactic_RCases_expandRIntroPats_spec__1(v_ty_x3f_5480_, v_as_5481_, v_i_boxed_5485_, v_stop_boxed_5486_, v_b_5484_);
lean_dec_ref(v_as_5481_);
return v_res_5487_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_expandRIntroPats___boxed(lean_object* v_pats_5488_, lean_object* v_acc_5489_, lean_object* v_ty_x3f_5490_){
_start:
{
lean_object* v_res_5491_; 
v_res_5491_ = l_Lean_Elab_Tactic_RCases_expandRIntroPats(v_pats_5488_, v_acc_5489_, v_ty_x3f_5490_);
lean_dec_ref(v_pats_5488_);
return v_res_5491_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore_spec__1___redArg(){
_start:
{
lean_object* v___x_5493_; lean_object* v___x_5494_; 
v___x_5493_ = lean_obj_once(&l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg___closed__0, &l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg___closed__0_once, _init_l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg___closed__0);
v___x_5494_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_5494_, 0, v___x_5493_);
return v___x_5494_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore_spec__1___redArg___boxed(lean_object* v___y_5495_){
_start:
{
lean_object* v_res_5496_; 
v_res_5496_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore_spec__1___redArg();
return v_res_5496_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue_loop___redArg___boxed(lean_object* v_ref_5497_, lean_object* v_pats_5498_, lean_object* v_ty_x3f_5499_, lean_object* v_cont_5500_, lean_object* v_i_5501_, lean_object* v_g_5502_, lean_object* v_fs_5503_, lean_object* v_clears_5504_, lean_object* v_a_5505_, lean_object* v_a_5506_, lean_object* v_a_5507_, lean_object* v_a_5508_, lean_object* v_a_5509_, lean_object* v_a_5510_, lean_object* v_a_5511_, lean_object* v_a_5512_){
_start:
{
lean_object* v_res_5513_; 
v_res_5513_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue_loop___redArg(v_ref_5497_, v_pats_5498_, v_ty_x3f_5499_, v_cont_5500_, v_i_5501_, v_g_5502_, v_fs_5503_, v_clears_5504_, v_a_5505_, v_a_5506_, v_a_5507_, v_a_5508_, v_a_5509_, v_a_5510_, v_a_5511_);
lean_dec(v_i_5501_);
return v_res_5513_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue_loop___boxed(lean_object** _args){
lean_object* v_00_u03b1_5514_ = _args[0];
lean_object* v_ref_5515_ = _args[1];
lean_object* v_pats_5516_ = _args[2];
lean_object* v_ty_x3f_5517_ = _args[3];
lean_object* v_cont_5518_ = _args[4];
lean_object* v_i_5519_ = _args[5];
lean_object* v_g_5520_ = _args[6];
lean_object* v_fs_5521_ = _args[7];
lean_object* v_clears_5522_ = _args[8];
lean_object* v_a_5523_ = _args[9];
lean_object* v_a_5524_ = _args[10];
lean_object* v_a_5525_ = _args[11];
lean_object* v_a_5526_ = _args[12];
lean_object* v_a_5527_ = _args[13];
lean_object* v_a_5528_ = _args[14];
lean_object* v_a_5529_ = _args[15];
lean_object* v_a_5530_ = _args[16];
_start:
{
lean_object* v_res_5531_; 
v_res_5531_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue_loop(v_00_u03b1_5514_, v_ref_5515_, v_pats_5516_, v_ty_x3f_5517_, v_cont_5518_, v_i_5519_, v_g_5520_, v_fs_5521_, v_clears_5522_, v_a_5523_, v_a_5524_, v_a_5525_, v_a_5526_, v_a_5527_, v_a_5528_, v_a_5529_);
lean_dec(v_i_5519_);
return v_res_5531_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue___redArg(lean_object* v_g_5532_, lean_object* v_fs_5533_, lean_object* v_clears_5534_, lean_object* v_ref_5535_, lean_object* v_pats_5536_, lean_object* v_ty_x3f_5537_, lean_object* v_a_5538_, lean_object* v_cont_5539_, lean_object* v_a_5540_, lean_object* v_a_5541_, lean_object* v_a_5542_, lean_object* v_a_5543_, lean_object* v_a_5544_, lean_object* v_a_5545_){
_start:
{
lean_object* v___x_5547_; lean_object* v___x_5548_; lean_object* v___x_5549_; 
v___x_5547_ = lean_unsigned_to_nat(0u);
lean_inc(v_g_5532_);
v___x_5548_ = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue_loop___boxed), 17, 10);
lean_closure_set(v___x_5548_, 0, lean_box(0));
lean_closure_set(v___x_5548_, 1, v_ref_5535_);
lean_closure_set(v___x_5548_, 2, v_pats_5536_);
lean_closure_set(v___x_5548_, 3, v_ty_x3f_5537_);
lean_closure_set(v___x_5548_, 4, v_cont_5539_);
lean_closure_set(v___x_5548_, 5, v___x_5547_);
lean_closure_set(v___x_5548_, 6, v_g_5532_);
lean_closure_set(v___x_5548_, 7, v_fs_5533_);
lean_closure_set(v___x_5548_, 8, v_clears_5534_);
lean_closure_set(v___x_5548_, 9, v_a_5538_);
v___x_5549_ = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore_spec__7___redArg(v_g_5532_, v___x_5548_, v_a_5540_, v_a_5541_, v_a_5542_, v_a_5543_, v_a_5544_, v_a_5545_);
return v___x_5549_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore___redArg(lean_object* v_g_5550_, lean_object* v_fs_5551_, lean_object* v_clears_5552_, lean_object* v_a_5553_, lean_object* v_ref_5554_, lean_object* v_pat_5555_, lean_object* v_ty_x3f_5556_, lean_object* v_cont_5557_, lean_object* v_a_5558_, lean_object* v_a_5559_, lean_object* v_a_5560_, lean_object* v_a_5561_, lean_object* v_a_5562_, lean_object* v_a_5563_){
_start:
{
lean_object* v___y_5566_; lean_object* v___y_5567_; lean_object* v___y_5568_; lean_object* v___y_5569_; lean_object* v___y_5570_; lean_object* v___y_5571_; lean_object* v___y_5572_; lean_object* v___y_5573_; lean_object* v___y_5574_; lean_object* v___x_5577_; uint8_t v___x_5578_; 
v___x_5577_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1Nil__lean___lam__0___closed__1));
lean_inc(v_pat_5555_);
v___x_5578_ = l_Lean_Syntax_isOfKind(v_pat_5555_, v___x_5577_);
if (v___x_5578_ == 0)
{
lean_object* v___x_5579_; uint8_t v___x_5580_; 
lean_dec(v_ref_5554_);
v___x_5579_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_expandRIntroPat___closed__1));
lean_inc(v_pat_5555_);
v___x_5580_ = l_Lean_Syntax_isOfKind(v_pat_5555_, v___x_5579_);
if (v___x_5580_ == 0)
{
lean_object* v___x_5581_; 
lean_dec(v_a_5563_);
lean_dec_ref(v_a_5562_);
lean_dec(v_a_5561_);
lean_dec_ref(v_a_5560_);
lean_dec(v_a_5559_);
lean_dec_ref(v_a_5558_);
lean_dec_ref(v_cont_5557_);
lean_dec(v_ty_x3f_5556_);
lean_dec(v_pat_5555_);
lean_dec(v_a_5553_);
lean_dec_ref(v_clears_5552_);
lean_dec(v_fs_5551_);
lean_dec(v_g_5550_);
v___x_5581_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore_spec__1___redArg();
return v___x_5581_;
}
else
{
lean_object* v___x_5582_; lean_object* v___x_5583_; lean_object* v_ty_x3f_x27_5585_; lean_object* v___y_5586_; lean_object* v___y_5587_; lean_object* v___y_5588_; lean_object* v___y_5589_; lean_object* v___y_5590_; lean_object* v___y_5591_; lean_object* v___x_5596_; lean_object* v___x_5597_; uint8_t v___x_5598_; 
v___x_5582_ = lean_unsigned_to_nat(1u);
v___x_5583_ = l_Lean_Syntax_getArg(v_pat_5555_, v___x_5582_);
v___x_5596_ = lean_unsigned_to_nat(2u);
v___x_5597_ = l_Lean_Syntax_getArg(v_pat_5555_, v___x_5596_);
v___x_5598_ = l_Lean_Syntax_isNone(v___x_5597_);
if (v___x_5598_ == 0)
{
uint8_t v___x_5599_; 
lean_inc(v___x_5597_);
v___x_5599_ = l_Lean_Syntax_matchesNull(v___x_5597_, v___x_5596_);
if (v___x_5599_ == 0)
{
lean_object* v___x_5600_; 
lean_dec(v___x_5597_);
lean_dec(v___x_5583_);
lean_dec(v_a_5563_);
lean_dec_ref(v_a_5562_);
lean_dec(v_a_5561_);
lean_dec_ref(v_a_5560_);
lean_dec(v_a_5559_);
lean_dec_ref(v_a_5558_);
lean_dec_ref(v_cont_5557_);
lean_dec(v_ty_x3f_5556_);
lean_dec(v_pat_5555_);
lean_dec(v_a_5553_);
lean_dec_ref(v_clears_5552_);
lean_dec(v_fs_5551_);
lean_dec(v_g_5550_);
v___x_5600_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore_spec__1___redArg();
return v___x_5600_;
}
else
{
lean_object* v_ty_x3f_x27_5601_; lean_object* v___x_5602_; 
v_ty_x3f_x27_5601_ = l_Lean_Syntax_getArg(v___x_5597_, v___x_5582_);
lean_dec(v___x_5597_);
v___x_5602_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_5602_, 0, v_ty_x3f_x27_5601_);
v_ty_x3f_x27_5585_ = v___x_5602_;
v___y_5586_ = v_a_5558_;
v___y_5587_ = v_a_5559_;
v___y_5588_ = v_a_5560_;
v___y_5589_ = v_a_5561_;
v___y_5590_ = v_a_5562_;
v___y_5591_ = v_a_5563_;
goto v___jp_5584_;
}
}
else
{
lean_object* v___x_5603_; 
lean_dec(v___x_5597_);
v___x_5603_ = lean_box(0);
v_ty_x3f_x27_5585_ = v___x_5603_;
v___y_5586_ = v_a_5558_;
v___y_5587_ = v_a_5559_;
v___y_5588_ = v_a_5560_;
v___y_5589_ = v_a_5561_;
v___y_5590_ = v_a_5562_;
v___y_5591_ = v_a_5563_;
goto v___jp_5584_;
}
v___jp_5584_:
{
lean_object* v_pats_5592_; lean_object* v___x_5593_; uint8_t v___x_5594_; 
v_pats_5592_ = l_Lean_Syntax_getArgs(v___x_5583_);
lean_dec(v___x_5583_);
v___x_5593_ = lean_array_get_size(v_pats_5592_);
v___x_5594_ = lean_nat_dec_eq(v___x_5593_, v___x_5582_);
if (v___x_5594_ == 0)
{
lean_object* v___x_5595_; 
lean_dec(v_pat_5555_);
v___x_5595_ = lean_box(0);
v___y_5566_ = v_pats_5592_;
v___y_5567_ = v___y_5590_;
v___y_5568_ = v___y_5588_;
v___y_5569_ = v___y_5589_;
v___y_5570_ = v___y_5587_;
v___y_5571_ = v___y_5586_;
v___y_5572_ = v_ty_x3f_x27_5585_;
v___y_5573_ = v___y_5591_;
v___y_5574_ = v___x_5595_;
goto v___jp_5565_;
}
else
{
v___y_5566_ = v_pats_5592_;
v___y_5567_ = v___y_5590_;
v___y_5568_ = v___y_5588_;
v___y_5569_ = v___y_5589_;
v___y_5570_ = v___y_5587_;
v___y_5571_ = v___y_5586_;
v___y_5572_ = v_ty_x3f_x27_5585_;
v___y_5573_ = v___y_5591_;
v___y_5574_ = v_pat_5555_;
goto v___jp_5565_;
}
}
}
}
else
{
lean_object* v___x_5604_; lean_object* v___x_5605_; lean_object* v___x_5606_; 
v___x_5604_ = lean_unsigned_to_nat(0u);
v___x_5605_ = l_Lean_Syntax_getArg(v_pat_5555_, v___x_5604_);
lean_dec(v_pat_5555_);
v___x_5606_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse(v___x_5605_, v_a_5560_, v_a_5561_, v_a_5562_, v_a_5563_);
if (lean_obj_tag(v___x_5606_) == 0)
{
lean_object* v_a_5607_; lean_object* v___x_5608_; lean_object* v___y_5610_; lean_object* v___y_5611_; lean_object* v___y_5645_; lean_object* v_ref_5649_; 
v_a_5607_ = lean_ctor_get(v___x_5606_, 0);
lean_inc(v_a_5607_);
lean_dec_ref(v___x_5606_);
v___x_5608_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_typed_x3f(v_ref_5554_, v_a_5607_, v_ty_x3f_5556_);
lean_dec(v_ty_x3f_5556_);
v_ref_5649_ = lean_ctor_get(v___x_5608_, 0);
lean_inc(v_ref_5649_);
v___y_5645_ = v_ref_5649_;
goto v___jp_5644_;
v___jp_5609_:
{
lean_object* v_fileName_5612_; lean_object* v_fileMap_5613_; lean_object* v_options_5614_; lean_object* v_currRecDepth_5615_; lean_object* v_maxRecDepth_5616_; lean_object* v_ref_5617_; lean_object* v_currNamespace_5618_; lean_object* v_openDecls_5619_; lean_object* v_initHeartbeats_5620_; lean_object* v_maxHeartbeats_5621_; lean_object* v_quotContext_5622_; lean_object* v_currMacroScope_5623_; uint8_t v_diag_5624_; lean_object* v_cancelTk_x3f_5625_; uint8_t v_suppressElabErrors_5626_; lean_object* v_inheritedTraceOptions_5627_; lean_object* v_ref_5628_; lean_object* v___x_5629_; lean_object* v___x_5630_; 
v_fileName_5612_ = lean_ctor_get(v_a_5562_, 0);
v_fileMap_5613_ = lean_ctor_get(v_a_5562_, 1);
v_options_5614_ = lean_ctor_get(v_a_5562_, 2);
v_currRecDepth_5615_ = lean_ctor_get(v_a_5562_, 3);
v_maxRecDepth_5616_ = lean_ctor_get(v_a_5562_, 4);
v_ref_5617_ = lean_ctor_get(v_a_5562_, 5);
v_currNamespace_5618_ = lean_ctor_get(v_a_5562_, 6);
v_openDecls_5619_ = lean_ctor_get(v_a_5562_, 7);
v_initHeartbeats_5620_ = lean_ctor_get(v_a_5562_, 8);
v_maxHeartbeats_5621_ = lean_ctor_get(v_a_5562_, 9);
v_quotContext_5622_ = lean_ctor_get(v_a_5562_, 10);
v_currMacroScope_5623_ = lean_ctor_get(v_a_5562_, 11);
v_diag_5624_ = lean_ctor_get_uint8(v_a_5562_, sizeof(void*)*14);
v_cancelTk_x3f_5625_ = lean_ctor_get(v_a_5562_, 12);
v_suppressElabErrors_5626_ = lean_ctor_get_uint8(v_a_5562_, sizeof(void*)*14 + 1);
v_inheritedTraceOptions_5627_ = lean_ctor_get(v_a_5562_, 13);
v_ref_5628_ = l_Lean_replaceRef(v___y_5610_, v_ref_5617_);
lean_dec(v___y_5610_);
lean_inc_ref(v_inheritedTraceOptions_5627_);
lean_inc(v_cancelTk_x3f_5625_);
lean_inc(v_currMacroScope_5623_);
lean_inc(v_quotContext_5622_);
lean_inc(v_maxHeartbeats_5621_);
lean_inc(v_initHeartbeats_5620_);
lean_inc(v_openDecls_5619_);
lean_inc(v_currNamespace_5618_);
lean_inc(v_maxRecDepth_5616_);
lean_inc(v_currRecDepth_5615_);
lean_inc_ref(v_options_5614_);
lean_inc_ref(v_fileMap_5613_);
lean_inc_ref(v_fileName_5612_);
v___x_5629_ = lean_alloc_ctor(0, 14, 2);
lean_ctor_set(v___x_5629_, 0, v_fileName_5612_);
lean_ctor_set(v___x_5629_, 1, v_fileMap_5613_);
lean_ctor_set(v___x_5629_, 2, v_options_5614_);
lean_ctor_set(v___x_5629_, 3, v_currRecDepth_5615_);
lean_ctor_set(v___x_5629_, 4, v_maxRecDepth_5616_);
lean_ctor_set(v___x_5629_, 5, v_ref_5628_);
lean_ctor_set(v___x_5629_, 6, v_currNamespace_5618_);
lean_ctor_set(v___x_5629_, 7, v_openDecls_5619_);
lean_ctor_set(v___x_5629_, 8, v_initHeartbeats_5620_);
lean_ctor_set(v___x_5629_, 9, v_maxHeartbeats_5621_);
lean_ctor_set(v___x_5629_, 10, v_quotContext_5622_);
lean_ctor_set(v___x_5629_, 11, v_currMacroScope_5623_);
lean_ctor_set(v___x_5629_, 12, v_cancelTk_x3f_5625_);
lean_ctor_set(v___x_5629_, 13, v_inheritedTraceOptions_5627_);
lean_ctor_set_uint8(v___x_5629_, sizeof(void*)*14, v_diag_5624_);
lean_ctor_set_uint8(v___x_5629_, sizeof(void*)*14 + 1, v_suppressElabErrors_5626_);
lean_inc(v_a_5563_);
lean_inc(v_a_5561_);
lean_inc_ref(v_a_5560_);
v___x_5630_ = l_Lean_MVarId_intro(v_g_5550_, v___y_5611_, v_a_5560_, v_a_5561_, v___x_5629_, v_a_5563_);
if (lean_obj_tag(v___x_5630_) == 0)
{
lean_object* v_a_5631_; lean_object* v_fst_5632_; lean_object* v_snd_5633_; lean_object* v___x_5634_; lean_object* v___x_5635_; 
v_a_5631_ = lean_ctor_get(v___x_5630_, 0);
lean_inc(v_a_5631_);
lean_dec_ref(v___x_5630_);
v_fst_5632_ = lean_ctor_get(v_a_5631_, 0);
lean_inc(v_fst_5632_);
v_snd_5633_ = lean_ctor_get(v_a_5631_, 1);
lean_inc(v_snd_5633_);
lean_dec(v_a_5631_);
v___x_5634_ = l_Lean_Expr_fvar___override(v_fst_5632_);
v___x_5635_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rcasesCore___redArg(v_snd_5633_, v_fs_5551_, v_clears_5552_, v___x_5634_, v_a_5553_, v___x_5608_, v_cont_5557_, v_a_5558_, v_a_5559_, v_a_5560_, v_a_5561_, v_a_5562_, v_a_5563_);
return v___x_5635_;
}
else
{
lean_object* v_a_5636_; lean_object* v___x_5638_; uint8_t v_isShared_5639_; uint8_t v_isSharedCheck_5643_; 
lean_dec_ref(v___x_5608_);
lean_dec(v_a_5563_);
lean_dec_ref(v_a_5562_);
lean_dec(v_a_5561_);
lean_dec_ref(v_a_5560_);
lean_dec(v_a_5559_);
lean_dec_ref(v_a_5558_);
lean_dec_ref(v_cont_5557_);
lean_dec(v_a_5553_);
lean_dec_ref(v_clears_5552_);
lean_dec(v_fs_5551_);
v_a_5636_ = lean_ctor_get(v___x_5630_, 0);
v_isSharedCheck_5643_ = !lean_is_exclusive(v___x_5630_);
if (v_isSharedCheck_5643_ == 0)
{
v___x_5638_ = v___x_5630_;
v_isShared_5639_ = v_isSharedCheck_5643_;
goto v_resetjp_5637_;
}
else
{
lean_inc(v_a_5636_);
lean_dec(v___x_5630_);
v___x_5638_ = lean_box(0);
v_isShared_5639_ = v_isSharedCheck_5643_;
goto v_resetjp_5637_;
}
v_resetjp_5637_:
{
lean_object* v___x_5641_; 
if (v_isShared_5639_ == 0)
{
v___x_5641_ = v___x_5638_;
goto v_reusejp_5640_;
}
else
{
lean_object* v_reuseFailAlloc_5642_; 
v_reuseFailAlloc_5642_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5642_, 0, v_a_5636_);
v___x_5641_ = v_reuseFailAlloc_5642_;
goto v_reusejp_5640_;
}
v_reusejp_5640_:
{
return v___x_5641_;
}
}
}
}
v___jp_5644_:
{
lean_object* v___x_5646_; 
v___x_5646_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_name_x3f(v___x_5608_);
if (lean_obj_tag(v___x_5646_) == 0)
{
lean_object* v___x_5647_; 
v___x_5647_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__1));
v___y_5610_ = v___y_5645_;
v___y_5611_ = v___x_5647_;
goto v___jp_5609_;
}
else
{
lean_object* v_val_5648_; 
v_val_5648_ = lean_ctor_get(v___x_5646_, 0);
lean_inc(v_val_5648_);
lean_dec_ref(v___x_5646_);
v___y_5610_ = v___y_5645_;
v___y_5611_ = v_val_5648_;
goto v___jp_5609_;
}
}
}
else
{
lean_object* v_a_5650_; lean_object* v___x_5652_; uint8_t v_isShared_5653_; uint8_t v_isSharedCheck_5657_; 
lean_dec(v_a_5563_);
lean_dec_ref(v_a_5562_);
lean_dec(v_a_5561_);
lean_dec_ref(v_a_5560_);
lean_dec(v_a_5559_);
lean_dec_ref(v_a_5558_);
lean_dec_ref(v_cont_5557_);
lean_dec(v_ty_x3f_5556_);
lean_dec(v_ref_5554_);
lean_dec(v_a_5553_);
lean_dec_ref(v_clears_5552_);
lean_dec(v_fs_5551_);
lean_dec(v_g_5550_);
v_a_5650_ = lean_ctor_get(v___x_5606_, 0);
v_isSharedCheck_5657_ = !lean_is_exclusive(v___x_5606_);
if (v_isSharedCheck_5657_ == 0)
{
v___x_5652_ = v___x_5606_;
v_isShared_5653_ = v_isSharedCheck_5657_;
goto v_resetjp_5651_;
}
else
{
lean_inc(v_a_5650_);
lean_dec(v___x_5606_);
v___x_5652_ = lean_box(0);
v_isShared_5653_ = v_isSharedCheck_5657_;
goto v_resetjp_5651_;
}
v_resetjp_5651_:
{
lean_object* v___x_5655_; 
if (v_isShared_5653_ == 0)
{
v___x_5655_ = v___x_5652_;
goto v_reusejp_5654_;
}
else
{
lean_object* v_reuseFailAlloc_5656_; 
v_reuseFailAlloc_5656_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5656_, 0, v_a_5650_);
v___x_5655_ = v_reuseFailAlloc_5656_;
goto v_reusejp_5654_;
}
v_reusejp_5654_:
{
return v___x_5655_;
}
}
}
}
v___jp_5565_:
{
if (lean_obj_tag(v___y_5572_) == 0)
{
lean_object* v___x_5575_; 
v___x_5575_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue___redArg(v_g_5550_, v_fs_5551_, v_clears_5552_, v___y_5574_, v___y_5566_, v_ty_x3f_5556_, v_a_5553_, v_cont_5557_, v___y_5571_, v___y_5570_, v___y_5568_, v___y_5569_, v___y_5567_, v___y_5573_);
return v___x_5575_;
}
else
{
lean_object* v___x_5576_; 
lean_dec(v_ty_x3f_5556_);
v___x_5576_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue___redArg(v_g_5550_, v_fs_5551_, v_clears_5552_, v___y_5574_, v___y_5566_, v___y_5572_, v_a_5553_, v_cont_5557_, v___y_5571_, v___y_5570_, v___y_5568_, v___y_5569_, v___y_5567_, v___y_5573_);
return v___x_5576_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue_loop___redArg(lean_object* v_ref_5658_, lean_object* v_pats_5659_, lean_object* v_ty_x3f_5660_, lean_object* v_cont_5661_, lean_object* v_i_5662_, lean_object* v_g_5663_, lean_object* v_fs_5664_, lean_object* v_clears_5665_, lean_object* v_a_5666_, lean_object* v_a_5667_, lean_object* v_a_5668_, lean_object* v_a_5669_, lean_object* v_a_5670_, lean_object* v_a_5671_, lean_object* v_a_5672_){
_start:
{
lean_object* v___x_5674_; uint8_t v___x_5675_; 
v___x_5674_ = lean_array_get_size(v_pats_5659_);
v___x_5675_ = lean_nat_dec_lt(v_i_5662_, v___x_5674_);
if (v___x_5675_ == 0)
{
lean_object* v___x_5676_; 
lean_dec(v_ty_x3f_5660_);
lean_dec_ref(v_pats_5659_);
lean_dec(v_ref_5658_);
v___x_5676_ = lean_apply_11(v_cont_5661_, v_g_5663_, v_fs_5664_, v_clears_5665_, v_a_5666_, v_a_5667_, v_a_5668_, v_a_5669_, v_a_5670_, v_a_5671_, v_a_5672_, lean_box(0));
return v___x_5676_;
}
else
{
lean_object* v___x_5677_; lean_object* v___x_5678_; lean_object* v___x_5679_; lean_object* v___x_5680_; lean_object* v___x_5681_; 
v___x_5677_ = lean_array_fget(v_pats_5659_, v_i_5662_);
v___x_5678_ = lean_unsigned_to_nat(1u);
v___x_5679_ = lean_nat_add(v_i_5662_, v___x_5678_);
lean_inc(v_ty_x3f_5660_);
lean_inc(v_ref_5658_);
v___x_5680_ = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue_loop___redArg___boxed), 16, 5);
lean_closure_set(v___x_5680_, 0, v_ref_5658_);
lean_closure_set(v___x_5680_, 1, v_pats_5659_);
lean_closure_set(v___x_5680_, 2, v_ty_x3f_5660_);
lean_closure_set(v___x_5680_, 3, v_cont_5661_);
lean_closure_set(v___x_5680_, 4, v___x_5679_);
v___x_5681_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore___redArg(v_g_5663_, v_fs_5664_, v_clears_5665_, v_a_5666_, v_ref_5658_, v___x_5677_, v_ty_x3f_5660_, v___x_5680_, v_a_5667_, v_a_5668_, v_a_5669_, v_a_5670_, v_a_5671_, v_a_5672_);
return v___x_5681_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue_loop(lean_object* v_00_u03b1_5682_, lean_object* v_ref_5683_, lean_object* v_pats_5684_, lean_object* v_ty_x3f_5685_, lean_object* v_cont_5686_, lean_object* v_i_5687_, lean_object* v_g_5688_, lean_object* v_fs_5689_, lean_object* v_clears_5690_, lean_object* v_a_5691_, lean_object* v_a_5692_, lean_object* v_a_5693_, lean_object* v_a_5694_, lean_object* v_a_5695_, lean_object* v_a_5696_, lean_object* v_a_5697_){
_start:
{
lean_object* v___x_5699_; 
v___x_5699_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue_loop___redArg(v_ref_5683_, v_pats_5684_, v_ty_x3f_5685_, v_cont_5686_, v_i_5687_, v_g_5688_, v_fs_5689_, v_clears_5690_, v_a_5691_, v_a_5692_, v_a_5693_, v_a_5694_, v_a_5695_, v_a_5696_, v_a_5697_);
return v___x_5699_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue___redArg___boxed(lean_object* v_g_5700_, lean_object* v_fs_5701_, lean_object* v_clears_5702_, lean_object* v_ref_5703_, lean_object* v_pats_5704_, lean_object* v_ty_x3f_5705_, lean_object* v_a_5706_, lean_object* v_cont_5707_, lean_object* v_a_5708_, lean_object* v_a_5709_, lean_object* v_a_5710_, lean_object* v_a_5711_, lean_object* v_a_5712_, lean_object* v_a_5713_, lean_object* v_a_5714_){
_start:
{
lean_object* v_res_5715_; 
v_res_5715_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue___redArg(v_g_5700_, v_fs_5701_, v_clears_5702_, v_ref_5703_, v_pats_5704_, v_ty_x3f_5705_, v_a_5706_, v_cont_5707_, v_a_5708_, v_a_5709_, v_a_5710_, v_a_5711_, v_a_5712_, v_a_5713_);
return v_res_5715_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore___redArg___boxed(lean_object* v_g_5716_, lean_object* v_fs_5717_, lean_object* v_clears_5718_, lean_object* v_a_5719_, lean_object* v_ref_5720_, lean_object* v_pat_5721_, lean_object* v_ty_x3f_5722_, lean_object* v_cont_5723_, lean_object* v_a_5724_, lean_object* v_a_5725_, lean_object* v_a_5726_, lean_object* v_a_5727_, lean_object* v_a_5728_, lean_object* v_a_5729_, lean_object* v_a_5730_){
_start:
{
lean_object* v_res_5731_; 
v_res_5731_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore___redArg(v_g_5716_, v_fs_5717_, v_clears_5718_, v_a_5719_, v_ref_5720_, v_pat_5721_, v_ty_x3f_5722_, v_cont_5723_, v_a_5724_, v_a_5725_, v_a_5726_, v_a_5727_, v_a_5728_, v_a_5729_);
return v_res_5731_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore_spec__1(lean_object* v_00_u03b1_5732_, lean_object* v___y_5733_, lean_object* v___y_5734_, lean_object* v___y_5735_, lean_object* v___y_5736_, lean_object* v___y_5737_, lean_object* v___y_5738_){
_start:
{
lean_object* v___x_5740_; 
v___x_5740_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore_spec__1___redArg();
return v___x_5740_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore_spec__1___boxed(lean_object* v_00_u03b1_5741_, lean_object* v___y_5742_, lean_object* v___y_5743_, lean_object* v___y_5744_, lean_object* v___y_5745_, lean_object* v___y_5746_, lean_object* v___y_5747_, lean_object* v___y_5748_){
_start:
{
lean_object* v_res_5749_; 
v_res_5749_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore_spec__1(v_00_u03b1_5741_, v___y_5742_, v___y_5743_, v___y_5744_, v___y_5745_, v___y_5746_, v___y_5747_);
lean_dec(v___y_5747_);
lean_dec_ref(v___y_5746_);
lean_dec(v___y_5745_);
lean_dec_ref(v___y_5744_);
lean_dec(v___y_5743_);
lean_dec_ref(v___y_5742_);
return v_res_5749_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore(lean_object* v_00_u03b1_5750_, lean_object* v_g_5751_, lean_object* v_fs_5752_, lean_object* v_clears_5753_, lean_object* v_a_5754_, lean_object* v_ref_5755_, lean_object* v_pat_5756_, lean_object* v_ty_x3f_5757_, lean_object* v_cont_5758_, lean_object* v_a_5759_, lean_object* v_a_5760_, lean_object* v_a_5761_, lean_object* v_a_5762_, lean_object* v_a_5763_, lean_object* v_a_5764_){
_start:
{
lean_object* v___x_5766_; 
v___x_5766_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore___redArg(v_g_5751_, v_fs_5752_, v_clears_5753_, v_a_5754_, v_ref_5755_, v_pat_5756_, v_ty_x3f_5757_, v_cont_5758_, v_a_5759_, v_a_5760_, v_a_5761_, v_a_5762_, v_a_5763_, v_a_5764_);
return v___x_5766_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore___boxed(lean_object* v_00_u03b1_5767_, lean_object* v_g_5768_, lean_object* v_fs_5769_, lean_object* v_clears_5770_, lean_object* v_a_5771_, lean_object* v_ref_5772_, lean_object* v_pat_5773_, lean_object* v_ty_x3f_5774_, lean_object* v_cont_5775_, lean_object* v_a_5776_, lean_object* v_a_5777_, lean_object* v_a_5778_, lean_object* v_a_5779_, lean_object* v_a_5780_, lean_object* v_a_5781_, lean_object* v_a_5782_){
_start:
{
lean_object* v_res_5783_; 
v_res_5783_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroCore(v_00_u03b1_5767_, v_g_5768_, v_fs_5769_, v_clears_5770_, v_a_5771_, v_ref_5772_, v_pat_5773_, v_ty_x3f_5774_, v_cont_5775_, v_a_5776_, v_a_5777_, v_a_5778_, v_a_5779_, v_a_5780_, v_a_5781_);
return v_res_5783_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue(lean_object* v_00_u03b1_5784_, lean_object* v_g_5785_, lean_object* v_fs_5786_, lean_object* v_clears_5787_, lean_object* v_ref_5788_, lean_object* v_pats_5789_, lean_object* v_ty_x3f_5790_, lean_object* v_a_5791_, lean_object* v_cont_5792_, lean_object* v_a_5793_, lean_object* v_a_5794_, lean_object* v_a_5795_, lean_object* v_a_5796_, lean_object* v_a_5797_, lean_object* v_a_5798_){
_start:
{
lean_object* v___x_5800_; 
v___x_5800_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue___redArg(v_g_5785_, v_fs_5786_, v_clears_5787_, v_ref_5788_, v_pats_5789_, v_ty_x3f_5790_, v_a_5791_, v_cont_5792_, v_a_5793_, v_a_5794_, v_a_5795_, v_a_5796_, v_a_5797_, v_a_5798_);
return v___x_5800_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue___boxed(lean_object* v_00_u03b1_5801_, lean_object* v_g_5802_, lean_object* v_fs_5803_, lean_object* v_clears_5804_, lean_object* v_ref_5805_, lean_object* v_pats_5806_, lean_object* v_ty_x3f_5807_, lean_object* v_a_5808_, lean_object* v_cont_5809_, lean_object* v_a_5810_, lean_object* v_a_5811_, lean_object* v_a_5812_, lean_object* v_a_5813_, lean_object* v_a_5814_, lean_object* v_a_5815_, lean_object* v_a_5816_){
_start:
{
lean_object* v_res_5817_; 
v_res_5817_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue(v_00_u03b1_5801_, v_g_5802_, v_fs_5803_, v_clears_5804_, v_ref_5805_, v_pats_5806_, v_ty_x3f_5807_, v_a_5808_, v_cont_5809_, v_a_5810_, v_a_5811_, v_a_5812_, v_a_5813_, v_a_5814_, v_a_5815_);
return v_res_5817_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rintro___lam__0(lean_object* v_g_5818_, lean_object* v___x_5819_, lean_object* v___x_5820_, lean_object* v___x_5821_, lean_object* v_pats_5822_, lean_object* v_ty_x3f_5823_, lean_object* v___x_5824_, lean_object* v___x_5825_, lean_object* v___y_5826_, lean_object* v___y_5827_, lean_object* v___y_5828_, lean_object* v___y_5829_, lean_object* v___y_5830_, lean_object* v___y_5831_){
_start:
{
lean_object* v___x_5833_; 
v___x_5833_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_rintroContinue___redArg(v_g_5818_, v___x_5819_, v___x_5820_, v___x_5821_, v_pats_5822_, v_ty_x3f_5823_, v___x_5824_, v___x_5825_, v___y_5826_, v___y_5827_, v___y_5828_, v___y_5829_, v___y_5830_, v___y_5831_);
if (lean_obj_tag(v___x_5833_) == 0)
{
lean_object* v_a_5834_; lean_object* v___x_5836_; uint8_t v_isShared_5837_; uint8_t v_isSharedCheck_5842_; 
v_a_5834_ = lean_ctor_get(v___x_5833_, 0);
v_isSharedCheck_5842_ = !lean_is_exclusive(v___x_5833_);
if (v_isSharedCheck_5842_ == 0)
{
v___x_5836_ = v___x_5833_;
v_isShared_5837_ = v_isSharedCheck_5842_;
goto v_resetjp_5835_;
}
else
{
lean_inc(v_a_5834_);
lean_dec(v___x_5833_);
v___x_5836_ = lean_box(0);
v_isShared_5837_ = v_isSharedCheck_5842_;
goto v_resetjp_5835_;
}
v_resetjp_5835_:
{
lean_object* v___x_5838_; lean_object* v___x_5840_; 
v___x_5838_ = lean_array_to_list(v_a_5834_);
if (v_isShared_5837_ == 0)
{
lean_ctor_set(v___x_5836_, 0, v___x_5838_);
v___x_5840_ = v___x_5836_;
goto v_reusejp_5839_;
}
else
{
lean_object* v_reuseFailAlloc_5841_; 
v_reuseFailAlloc_5841_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5841_, 0, v___x_5838_);
v___x_5840_ = v_reuseFailAlloc_5841_;
goto v_reusejp_5839_;
}
v_reusejp_5839_:
{
return v___x_5840_;
}
}
}
else
{
lean_object* v_a_5843_; lean_object* v___x_5845_; uint8_t v_isShared_5846_; uint8_t v_isSharedCheck_5850_; 
v_a_5843_ = lean_ctor_get(v___x_5833_, 0);
v_isSharedCheck_5850_ = !lean_is_exclusive(v___x_5833_);
if (v_isSharedCheck_5850_ == 0)
{
v___x_5845_ = v___x_5833_;
v_isShared_5846_ = v_isSharedCheck_5850_;
goto v_resetjp_5844_;
}
else
{
lean_inc(v_a_5843_);
lean_dec(v___x_5833_);
v___x_5845_ = lean_box(0);
v_isShared_5846_ = v_isSharedCheck_5850_;
goto v_resetjp_5844_;
}
v_resetjp_5844_:
{
lean_object* v___x_5848_; 
if (v_isShared_5846_ == 0)
{
v___x_5848_ = v___x_5845_;
goto v_reusejp_5847_;
}
else
{
lean_object* v_reuseFailAlloc_5849_; 
v_reuseFailAlloc_5849_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5849_, 0, v_a_5843_);
v___x_5848_ = v_reuseFailAlloc_5849_;
goto v_reusejp_5847_;
}
v_reusejp_5847_:
{
return v___x_5848_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rintro___lam__0___boxed(lean_object* v_g_5851_, lean_object* v___x_5852_, lean_object* v___x_5853_, lean_object* v___x_5854_, lean_object* v_pats_5855_, lean_object* v_ty_x3f_5856_, lean_object* v___x_5857_, lean_object* v___x_5858_, lean_object* v___y_5859_, lean_object* v___y_5860_, lean_object* v___y_5861_, lean_object* v___y_5862_, lean_object* v___y_5863_, lean_object* v___y_5864_, lean_object* v___y_5865_){
_start:
{
lean_object* v_res_5866_; 
v_res_5866_ = l_Lean_Elab_Tactic_RCases_rintro___lam__0(v_g_5851_, v___x_5852_, v___x_5853_, v___x_5854_, v_pats_5855_, v_ty_x3f_5856_, v___x_5857_, v___x_5858_, v___y_5859_, v___y_5860_, v___y_5861_, v___y_5862_, v___y_5863_, v___y_5864_);
return v_res_5866_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rintro(lean_object* v_pats_5867_, lean_object* v_ty_x3f_5868_, lean_object* v_g_5869_, lean_object* v_a_5870_, lean_object* v_a_5871_, lean_object* v_a_5872_, lean_object* v_a_5873_, lean_object* v_a_5874_, lean_object* v_a_5875_){
_start:
{
lean_object* v___x_5877_; lean_object* v___x_5878_; lean_object* v___x_5879_; lean_object* v___x_5880_; lean_object* v___f_5881_; uint8_t v___x_5882_; lean_object* v___x_5883_; 
v___x_5877_ = lean_box(0);
v___x_5878_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone___lam__0___closed__0));
v___x_5879_ = lean_box(0);
v___x_5880_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone___lam__0___closed__1));
v___f_5881_ = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_RCases_rintro___lam__0___boxed), 15, 8);
lean_closure_set(v___f_5881_, 0, v_g_5869_);
lean_closure_set(v___f_5881_, 1, v___x_5877_);
lean_closure_set(v___f_5881_, 2, v___x_5878_);
lean_closure_set(v___f_5881_, 3, v___x_5879_);
lean_closure_set(v___f_5881_, 4, v_pats_5867_);
lean_closure_set(v___f_5881_, 5, v_ty_x3f_5868_);
lean_closure_set(v___f_5881_, 6, v___x_5878_);
lean_closure_set(v___f_5881_, 7, v___x_5880_);
v___x_5882_ = 1;
v___x_5883_ = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_withSynthesizeImp(lean_box(0), v___f_5881_, v___x_5882_, v_a_5870_, v_a_5871_, v_a_5872_, v_a_5873_, v_a_5874_, v_a_5875_);
return v___x_5883_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_RCases_rintro___boxed(lean_object* v_pats_5884_, lean_object* v_ty_x3f_5885_, lean_object* v_g_5886_, lean_object* v_a_5887_, lean_object* v_a_5888_, lean_object* v_a_5889_, lean_object* v_a_5890_, lean_object* v_a_5891_, lean_object* v_a_5892_, lean_object* v_a_5893_){
_start:
{
lean_object* v_res_5894_; 
v_res_5894_ = l_Lean_Elab_Tactic_RCases_rintro(v_pats_5884_, v_ty_x3f_5885_, v_g_5886_, v_a_5887_, v_a_5888_, v_a_5889_, v_a_5890_, v_a_5891_, v_a_5892_);
return v_res_5894_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0___redArg(){
_start:
{
lean_object* v___x_5896_; lean_object* v___x_5897_; 
v___x_5896_ = lean_obj_once(&l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg___closed__0, &l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg___closed__0_once, _init_l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse_spec__0___redArg___closed__0);
v___x_5897_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_5897_, 0, v___x_5896_);
return v___x_5897_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0___redArg___boxed(lean_object* v___y_5898_){
_start:
{
lean_object* v_res_5899_; 
v_res_5899_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0___redArg();
return v_res_5899_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0(lean_object* v_00_u03b1_5900_, lean_object* v___y_5901_, lean_object* v___y_5902_, lean_object* v___y_5903_, lean_object* v___y_5904_, lean_object* v___y_5905_, lean_object* v___y_5906_, lean_object* v___y_5907_, lean_object* v___y_5908_){
_start:
{
lean_object* v___x_5910_; 
v___x_5910_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0___redArg();
return v___x_5910_;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0___boxed(lean_object* v_00_u03b1_5911_, lean_object* v___y_5912_, lean_object* v___y_5913_, lean_object* v___y_5914_, lean_object* v___y_5915_, lean_object* v___y_5916_, lean_object* v___y_5917_, lean_object* v___y_5918_, lean_object* v___y_5919_, lean_object* v___y_5920_){
_start:
{
lean_object* v_res_5921_; 
v_res_5921_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0(v_00_u03b1_5911_, v___y_5912_, v___y_5913_, v___y_5914_, v___y_5915_, v___y_5916_, v___y_5917_, v___y_5918_, v___y_5919_);
lean_dec(v___y_5919_);
lean_dec_ref(v___y_5918_);
lean_dec(v___y_5917_);
lean_dec_ref(v___y_5916_);
lean_dec(v___y_5915_);
lean_dec_ref(v___y_5914_);
lean_dec(v___y_5913_);
lean_dec_ref(v___y_5912_);
return v_res_5921_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg___lam__0(lean_object* v_x_5922_, lean_object* v___y_5923_, lean_object* v___y_5924_, lean_object* v___y_5925_, lean_object* v___y_5926_, lean_object* v___y_5927_, lean_object* v___y_5928_, lean_object* v___y_5929_, lean_object* v___y_5930_){
_start:
{
lean_object* v___x_5932_; 
v___x_5932_ = lean_apply_9(v_x_5922_, v___y_5923_, v___y_5924_, v___y_5925_, v___y_5926_, v___y_5927_, v___y_5928_, v___y_5929_, v___y_5930_, lean_box(0));
return v___x_5932_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg___lam__0___boxed(lean_object* v_x_5933_, lean_object* v___y_5934_, lean_object* v___y_5935_, lean_object* v___y_5936_, lean_object* v___y_5937_, lean_object* v___y_5938_, lean_object* v___y_5939_, lean_object* v___y_5940_, lean_object* v___y_5941_, lean_object* v___y_5942_){
_start:
{
lean_object* v_res_5943_; 
v_res_5943_ = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg___lam__0(v_x_5933_, v___y_5934_, v___y_5935_, v___y_5936_, v___y_5937_, v___y_5938_, v___y_5939_, v___y_5940_, v___y_5941_);
return v_res_5943_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg(lean_object* v_mvarId_5944_, lean_object* v_x_5945_, lean_object* v___y_5946_, lean_object* v___y_5947_, lean_object* v___y_5948_, lean_object* v___y_5949_, lean_object* v___y_5950_, lean_object* v___y_5951_, lean_object* v___y_5952_, lean_object* v___y_5953_){
_start:
{
lean_object* v___f_5955_; lean_object* v___x_5956_; 
v___f_5955_ = lean_alloc_closure((void*)(l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg___lam__0___boxed), 10, 5);
lean_closure_set(v___f_5955_, 0, v_x_5945_);
lean_closure_set(v___f_5955_, 1, v___y_5946_);
lean_closure_set(v___f_5955_, 2, v___y_5947_);
lean_closure_set(v___f_5955_, 3, v___y_5948_);
lean_closure_set(v___f_5955_, 4, v___y_5949_);
v___x_5956_ = l___private_Lean_Meta_Basic_0__Lean_Meta_withMVarContextImp(lean_box(0), v_mvarId_5944_, v___f_5955_, v___y_5950_, v___y_5951_, v___y_5952_, v___y_5953_);
if (lean_obj_tag(v___x_5956_) == 0)
{
return v___x_5956_;
}
else
{
lean_object* v_a_5957_; lean_object* v___x_5959_; uint8_t v_isShared_5960_; uint8_t v_isSharedCheck_5964_; 
v_a_5957_ = lean_ctor_get(v___x_5956_, 0);
v_isSharedCheck_5964_ = !lean_is_exclusive(v___x_5956_);
if (v_isSharedCheck_5964_ == 0)
{
v___x_5959_ = v___x_5956_;
v_isShared_5960_ = v_isSharedCheck_5964_;
goto v_resetjp_5958_;
}
else
{
lean_inc(v_a_5957_);
lean_dec(v___x_5956_);
v___x_5959_ = lean_box(0);
v_isShared_5960_ = v_isSharedCheck_5964_;
goto v_resetjp_5958_;
}
v_resetjp_5958_:
{
lean_object* v___x_5962_; 
if (v_isShared_5960_ == 0)
{
v___x_5962_ = v___x_5959_;
goto v_reusejp_5961_;
}
else
{
lean_object* v_reuseFailAlloc_5963_; 
v_reuseFailAlloc_5963_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5963_, 0, v_a_5957_);
v___x_5962_ = v_reuseFailAlloc_5963_;
goto v_reusejp_5961_;
}
v_reusejp_5961_:
{
return v___x_5962_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg___boxed(lean_object* v_mvarId_5965_, lean_object* v_x_5966_, lean_object* v___y_5967_, lean_object* v___y_5968_, lean_object* v___y_5969_, lean_object* v___y_5970_, lean_object* v___y_5971_, lean_object* v___y_5972_, lean_object* v___y_5973_, lean_object* v___y_5974_, lean_object* v___y_5975_){
_start:
{
lean_object* v_res_5976_; 
v_res_5976_ = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg(v_mvarId_5965_, v_x_5966_, v___y_5967_, v___y_5968_, v___y_5969_, v___y_5970_, v___y_5971_, v___y_5972_, v___y_5973_, v___y_5974_);
return v_res_5976_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2(lean_object* v_00_u03b1_5977_, lean_object* v_mvarId_5978_, lean_object* v_x_5979_, lean_object* v___y_5980_, lean_object* v___y_5981_, lean_object* v___y_5982_, lean_object* v___y_5983_, lean_object* v___y_5984_, lean_object* v___y_5985_, lean_object* v___y_5986_, lean_object* v___y_5987_){
_start:
{
lean_object* v___x_5989_; 
v___x_5989_ = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg(v_mvarId_5978_, v_x_5979_, v___y_5980_, v___y_5981_, v___y_5982_, v___y_5983_, v___y_5984_, v___y_5985_, v___y_5986_, v___y_5987_);
return v___x_5989_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___boxed(lean_object* v_00_u03b1_5990_, lean_object* v_mvarId_5991_, lean_object* v_x_5992_, lean_object* v___y_5993_, lean_object* v___y_5994_, lean_object* v___y_5995_, lean_object* v___y_5996_, lean_object* v___y_5997_, lean_object* v___y_5998_, lean_object* v___y_5999_, lean_object* v___y_6000_, lean_object* v___y_6001_){
_start:
{
lean_object* v_res_6002_; 
v_res_6002_ = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2(v_00_u03b1_5990_, v_mvarId_5991_, v_x_5992_, v___y_5993_, v___y_5994_, v___y_5995_, v___y_5996_, v___y_5997_, v___y_5998_, v___y_5999_, v___y_6000_);
return v_res_6002_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___lam__0(lean_object* v_a_6003_, lean_object* v_pat_6004_, lean_object* v_a_6005_, lean_object* v___y_6006_, lean_object* v___y_6007_, lean_object* v___y_6008_, lean_object* v___y_6009_, lean_object* v___y_6010_, lean_object* v___y_6011_, lean_object* v___y_6012_, lean_object* v___y_6013_){
_start:
{
lean_object* v___x_6015_; 
lean_inc(v___y_6013_);
lean_inc_ref(v___y_6012_);
lean_inc(v___y_6011_);
lean_inc_ref(v___y_6010_);
v___x_6015_ = l_Lean_Elab_Tactic_RCases_rcases(v_a_6003_, v_pat_6004_, v_a_6005_, v___y_6008_, v___y_6009_, v___y_6010_, v___y_6011_, v___y_6012_, v___y_6013_);
if (lean_obj_tag(v___x_6015_) == 0)
{
lean_object* v_a_6016_; lean_object* v___x_6017_; 
v_a_6016_ = lean_ctor_get(v___x_6015_, 0);
lean_inc(v_a_6016_);
lean_dec_ref(v___x_6015_);
v___x_6017_ = l_Lean_Elab_Tactic_replaceMainGoal___redArg(v_a_6016_, v___y_6007_, v___y_6010_, v___y_6011_, v___y_6012_, v___y_6013_);
lean_dec(v___y_6013_);
lean_dec_ref(v___y_6012_);
lean_dec(v___y_6011_);
lean_dec_ref(v___y_6010_);
return v___x_6017_;
}
else
{
lean_object* v_a_6018_; lean_object* v___x_6020_; uint8_t v_isShared_6021_; uint8_t v_isSharedCheck_6025_; 
lean_dec(v___y_6013_);
lean_dec_ref(v___y_6012_);
lean_dec(v___y_6011_);
lean_dec_ref(v___y_6010_);
v_a_6018_ = lean_ctor_get(v___x_6015_, 0);
v_isSharedCheck_6025_ = !lean_is_exclusive(v___x_6015_);
if (v_isSharedCheck_6025_ == 0)
{
v___x_6020_ = v___x_6015_;
v_isShared_6021_ = v_isSharedCheck_6025_;
goto v_resetjp_6019_;
}
else
{
lean_inc(v_a_6018_);
lean_dec(v___x_6015_);
v___x_6020_ = lean_box(0);
v_isShared_6021_ = v_isSharedCheck_6025_;
goto v_resetjp_6019_;
}
v_resetjp_6019_:
{
lean_object* v___x_6023_; 
if (v_isShared_6021_ == 0)
{
v___x_6023_ = v___x_6020_;
goto v_reusejp_6022_;
}
else
{
lean_object* v_reuseFailAlloc_6024_; 
v_reuseFailAlloc_6024_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6024_, 0, v_a_6018_);
v___x_6023_ = v_reuseFailAlloc_6024_;
goto v_reusejp_6022_;
}
v_reusejp_6022_:
{
return v___x_6023_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___lam__0___boxed(lean_object* v_a_6026_, lean_object* v_pat_6027_, lean_object* v_a_6028_, lean_object* v___y_6029_, lean_object* v___y_6030_, lean_object* v___y_6031_, lean_object* v___y_6032_, lean_object* v___y_6033_, lean_object* v___y_6034_, lean_object* v___y_6035_, lean_object* v___y_6036_, lean_object* v___y_6037_){
_start:
{
lean_object* v_res_6038_; 
v_res_6038_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___lam__0(v_a_6026_, v_pat_6027_, v_a_6028_, v___y_6029_, v___y_6030_, v___y_6031_, v___y_6032_, v___y_6033_, v___y_6034_, v___y_6035_, v___y_6036_);
lean_dec(v___y_6030_);
lean_dec_ref(v___y_6029_);
return v_res_6038_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__1___redArg(size_t v_sz_6039_, size_t v_i_6040_, lean_object* v_bs_6041_, lean_object* v___y_6042_, lean_object* v___y_6043_, lean_object* v___y_6044_){
_start:
{
uint8_t v___x_6046_; 
v___x_6046_ = lean_usize_dec_lt(v_i_6040_, v_sz_6039_);
if (v___x_6046_ == 0)
{
lean_object* v___x_6047_; 
lean_dec(v___y_6044_);
lean_dec_ref(v___y_6043_);
v___x_6047_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6047_, 0, v_bs_6041_);
return v___x_6047_;
}
else
{
lean_object* v_v_6048_; lean_object* v___x_6049_; 
v_v_6048_ = lean_array_uget_borrowed(v_bs_6041_, v_i_6040_);
lean_inc(v___y_6044_);
lean_inc_ref(v___y_6043_);
lean_inc(v_v_6048_);
v___x_6049_ = l_Lean_Elab_Tactic_mkTargetView___redArg(v_v_6048_, v___y_6042_, v___y_6043_, v___y_6044_);
if (lean_obj_tag(v___x_6049_) == 0)
{
lean_object* v_a_6050_; lean_object* v_hIdent_x3f_6051_; lean_object* v_term_6052_; lean_object* v___x_6054_; uint8_t v_isShared_6055_; uint8_t v_isSharedCheck_6065_; 
v_a_6050_ = lean_ctor_get(v___x_6049_, 0);
lean_inc(v_a_6050_);
lean_dec_ref(v___x_6049_);
v_hIdent_x3f_6051_ = lean_ctor_get(v_a_6050_, 0);
v_term_6052_ = lean_ctor_get(v_a_6050_, 1);
v_isSharedCheck_6065_ = !lean_is_exclusive(v_a_6050_);
if (v_isSharedCheck_6065_ == 0)
{
v___x_6054_ = v_a_6050_;
v_isShared_6055_ = v_isSharedCheck_6065_;
goto v_resetjp_6053_;
}
else
{
lean_inc(v_term_6052_);
lean_inc(v_hIdent_x3f_6051_);
lean_dec(v_a_6050_);
v___x_6054_ = lean_box(0);
v_isShared_6055_ = v_isSharedCheck_6065_;
goto v_resetjp_6053_;
}
v_resetjp_6053_:
{
lean_object* v___x_6056_; lean_object* v_bs_x27_6057_; lean_object* v___x_6059_; 
v___x_6056_ = lean_unsigned_to_nat(0u);
v_bs_x27_6057_ = lean_array_uset(v_bs_6041_, v_i_6040_, v___x_6056_);
if (v_isShared_6055_ == 0)
{
v___x_6059_ = v___x_6054_;
goto v_reusejp_6058_;
}
else
{
lean_object* v_reuseFailAlloc_6064_; 
v_reuseFailAlloc_6064_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_6064_, 0, v_hIdent_x3f_6051_);
lean_ctor_set(v_reuseFailAlloc_6064_, 1, v_term_6052_);
v___x_6059_ = v_reuseFailAlloc_6064_;
goto v_reusejp_6058_;
}
v_reusejp_6058_:
{
size_t v___x_6060_; size_t v___x_6061_; lean_object* v___x_6062_; 
v___x_6060_ = ((size_t)1ULL);
v___x_6061_ = lean_usize_add(v_i_6040_, v___x_6060_);
v___x_6062_ = lean_array_uset(v_bs_x27_6057_, v_i_6040_, v___x_6059_);
v_i_6040_ = v___x_6061_;
v_bs_6041_ = v___x_6062_;
goto _start;
}
}
}
else
{
lean_object* v_a_6066_; lean_object* v___x_6068_; uint8_t v_isShared_6069_; uint8_t v_isSharedCheck_6073_; 
lean_dec(v___y_6044_);
lean_dec_ref(v___y_6043_);
lean_dec_ref(v_bs_6041_);
v_a_6066_ = lean_ctor_get(v___x_6049_, 0);
v_isSharedCheck_6073_ = !lean_is_exclusive(v___x_6049_);
if (v_isSharedCheck_6073_ == 0)
{
v___x_6068_ = v___x_6049_;
v_isShared_6069_ = v_isSharedCheck_6073_;
goto v_resetjp_6067_;
}
else
{
lean_inc(v_a_6066_);
lean_dec(v___x_6049_);
v___x_6068_ = lean_box(0);
v_isShared_6069_ = v_isSharedCheck_6073_;
goto v_resetjp_6067_;
}
v_resetjp_6067_:
{
lean_object* v___x_6071_; 
if (v_isShared_6069_ == 0)
{
v___x_6071_ = v___x_6068_;
goto v_reusejp_6070_;
}
else
{
lean_object* v_reuseFailAlloc_6072_; 
v_reuseFailAlloc_6072_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6072_, 0, v_a_6066_);
v___x_6071_ = v_reuseFailAlloc_6072_;
goto v_reusejp_6070_;
}
v_reusejp_6070_:
{
return v___x_6071_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__1___redArg___boxed(lean_object* v_sz_6074_, lean_object* v_i_6075_, lean_object* v_bs_6076_, lean_object* v___y_6077_, lean_object* v___y_6078_, lean_object* v___y_6079_, lean_object* v___y_6080_){
_start:
{
size_t v_sz_boxed_6081_; size_t v_i_boxed_6082_; lean_object* v_res_6083_; 
v_sz_boxed_6081_ = lean_unbox_usize(v_sz_6074_);
lean_dec(v_sz_6074_);
v_i_boxed_6082_ = lean_unbox_usize(v_i_6075_);
lean_dec(v_i_6075_);
v_res_6083_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__1___redArg(v_sz_boxed_6081_, v_i_boxed_6082_, v_bs_6076_, v___y_6077_, v___y_6078_, v___y_6079_);
lean_dec_ref(v___y_6077_);
return v_res_6083_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases(lean_object* v_stx_6090_, lean_object* v_a_6091_, lean_object* v_a_6092_, lean_object* v_a_6093_, lean_object* v_a_6094_, lean_object* v_a_6095_, lean_object* v_a_6096_, lean_object* v_a_6097_, lean_object* v_a_6098_){
_start:
{
lean_object* v___y_6101_; lean_object* v_pat_6102_; lean_object* v___y_6103_; lean_object* v___y_6104_; lean_object* v___y_6105_; lean_object* v___y_6106_; lean_object* v___y_6107_; lean_object* v___y_6108_; lean_object* v___y_6109_; lean_object* v___y_6110_; lean_object* v___x_6136_; uint8_t v___x_6137_; 
v___x_6136_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___closed__1));
lean_inc(v_stx_6090_);
v___x_6137_ = l_Lean_Syntax_isOfKind(v_stx_6090_, v___x_6136_);
if (v___x_6137_ == 0)
{
lean_object* v___x_6138_; 
lean_dec(v_a_6098_);
lean_dec_ref(v_a_6097_);
lean_dec(v_a_6096_);
lean_dec_ref(v_a_6095_);
lean_dec(v_a_6094_);
lean_dec_ref(v_a_6093_);
lean_dec(v_a_6092_);
lean_dec_ref(v_a_6091_);
lean_dec(v_stx_6090_);
v___x_6138_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0___redArg();
return v___x_6138_;
}
else
{
lean_object* v___x_6139_; lean_object* v___x_6140_; lean_object* v___x_6141_; lean_object* v___x_6142_; uint8_t v___x_6143_; 
v___x_6139_ = lean_unsigned_to_nat(1u);
v___x_6140_ = l_Lean_Syntax_getArg(v_stx_6090_, v___x_6139_);
v___x_6141_ = lean_unsigned_to_nat(2u);
v___x_6142_ = l_Lean_Syntax_getArg(v_stx_6090_, v___x_6141_);
v___x_6143_ = l_Lean_Syntax_isNone(v___x_6142_);
if (v___x_6143_ == 0)
{
uint8_t v___x_6144_; 
lean_dec(v_stx_6090_);
lean_inc(v___x_6142_);
v___x_6144_ = l_Lean_Syntax_matchesNull(v___x_6142_, v___x_6141_);
if (v___x_6144_ == 0)
{
lean_object* v___x_6145_; 
lean_dec(v___x_6142_);
lean_dec(v___x_6140_);
lean_dec(v_a_6098_);
lean_dec_ref(v_a_6097_);
lean_dec(v_a_6096_);
lean_dec_ref(v_a_6095_);
lean_dec(v_a_6094_);
lean_dec_ref(v_a_6093_);
lean_dec(v_a_6092_);
lean_dec_ref(v_a_6091_);
v___x_6145_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0___redArg();
return v___x_6145_;
}
else
{
lean_object* v_pat_x3f_6146_; lean_object* v___x_6147_; 
v_pat_x3f_6146_ = l_Lean_Syntax_getArg(v___x_6142_, v___x_6139_);
lean_dec(v___x_6142_);
v___x_6147_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse(v_pat_x3f_6146_, v_a_6095_, v_a_6096_, v_a_6097_, v_a_6098_);
if (lean_obj_tag(v___x_6147_) == 0)
{
lean_object* v_a_6148_; lean_object* v_tgts_6149_; 
v_a_6148_ = lean_ctor_get(v___x_6147_, 0);
lean_inc(v_a_6148_);
lean_dec_ref(v___x_6147_);
v_tgts_6149_ = l_Lean_Syntax_getArgs(v___x_6140_);
lean_dec(v___x_6140_);
v___y_6101_ = v_tgts_6149_;
v_pat_6102_ = v_a_6148_;
v___y_6103_ = v_a_6091_;
v___y_6104_ = v_a_6092_;
v___y_6105_ = v_a_6093_;
v___y_6106_ = v_a_6094_;
v___y_6107_ = v_a_6095_;
v___y_6108_ = v_a_6096_;
v___y_6109_ = v_a_6097_;
v___y_6110_ = v_a_6098_;
goto v___jp_6100_;
}
else
{
lean_object* v_a_6150_; lean_object* v___x_6152_; uint8_t v_isShared_6153_; uint8_t v_isSharedCheck_6157_; 
lean_dec(v___x_6140_);
lean_dec(v_a_6098_);
lean_dec_ref(v_a_6097_);
lean_dec(v_a_6096_);
lean_dec_ref(v_a_6095_);
lean_dec(v_a_6094_);
lean_dec_ref(v_a_6093_);
lean_dec(v_a_6092_);
lean_dec_ref(v_a_6091_);
v_a_6150_ = lean_ctor_get(v___x_6147_, 0);
v_isSharedCheck_6157_ = !lean_is_exclusive(v___x_6147_);
if (v_isSharedCheck_6157_ == 0)
{
v___x_6152_ = v___x_6147_;
v_isShared_6153_ = v_isSharedCheck_6157_;
goto v_resetjp_6151_;
}
else
{
lean_inc(v_a_6150_);
lean_dec(v___x_6147_);
v___x_6152_ = lean_box(0);
v_isShared_6153_ = v_isSharedCheck_6157_;
goto v_resetjp_6151_;
}
v_resetjp_6151_:
{
lean_object* v___x_6155_; 
if (v_isShared_6153_ == 0)
{
v___x_6155_ = v___x_6152_;
goto v_reusejp_6154_;
}
else
{
lean_object* v_reuseFailAlloc_6156_; 
v_reuseFailAlloc_6156_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6156_, 0, v_a_6150_);
v___x_6155_ = v_reuseFailAlloc_6156_;
goto v_reusejp_6154_;
}
v_reusejp_6154_:
{
return v___x_6155_;
}
}
}
}
}
else
{
lean_object* v___x_6158_; lean_object* v_tk_6159_; lean_object* v_tgts_6160_; lean_object* v___x_6161_; lean_object* v___x_6162_; 
lean_dec(v___x_6142_);
v___x_6158_ = lean_unsigned_to_nat(0u);
v_tk_6159_ = l_Lean_Syntax_getArg(v_stx_6090_, v___x_6158_);
lean_dec(v_stx_6090_);
v_tgts_6160_ = l_Lean_Syntax_getArgs(v___x_6140_);
lean_dec(v___x_6140_);
v___x_6161_ = lean_box(0);
v___x_6162_ = lean_alloc_ctor(5, 2, 0);
lean_ctor_set(v___x_6162_, 0, v_tk_6159_);
lean_ctor_set(v___x_6162_, 1, v___x_6161_);
v___y_6101_ = v_tgts_6160_;
v_pat_6102_ = v___x_6162_;
v___y_6103_ = v_a_6091_;
v___y_6104_ = v_a_6092_;
v___y_6105_ = v_a_6093_;
v___y_6106_ = v_a_6094_;
v___y_6107_ = v_a_6095_;
v___y_6108_ = v_a_6096_;
v___y_6109_ = v_a_6097_;
v___y_6110_ = v_a_6098_;
goto v___jp_6100_;
}
}
v___jp_6100_:
{
lean_object* v___x_6111_; size_t v_sz_6112_; size_t v___x_6113_; lean_object* v___x_6114_; 
v___x_6111_ = l_Lean_Syntax_TSepArray_getElems___redArg(v___y_6101_);
lean_dec_ref(v___y_6101_);
v_sz_6112_ = lean_array_size(v___x_6111_);
v___x_6113_ = ((size_t)0ULL);
lean_inc(v___y_6110_);
lean_inc_ref(v___y_6109_);
v___x_6114_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__1___redArg(v_sz_6112_, v___x_6113_, v___x_6111_, v___y_6107_, v___y_6109_, v___y_6110_);
if (lean_obj_tag(v___x_6114_) == 0)
{
lean_object* v_a_6115_; lean_object* v___x_6116_; 
v_a_6115_ = lean_ctor_get(v___x_6114_, 0);
lean_inc(v_a_6115_);
lean_dec_ref(v___x_6114_);
v___x_6116_ = l_Lean_Elab_Tactic_getMainGoal___redArg(v___y_6104_, v___y_6107_, v___y_6108_, v___y_6109_, v___y_6110_);
if (lean_obj_tag(v___x_6116_) == 0)
{
lean_object* v_a_6117_; lean_object* v___f_6118_; lean_object* v___x_6119_; 
v_a_6117_ = lean_ctor_get(v___x_6116_, 0);
lean_inc(v_a_6117_);
lean_dec_ref(v___x_6116_);
lean_inc(v_a_6117_);
v___f_6118_ = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___lam__0___boxed), 12, 3);
lean_closure_set(v___f_6118_, 0, v_a_6115_);
lean_closure_set(v___f_6118_, 1, v_pat_6102_);
lean_closure_set(v___f_6118_, 2, v_a_6117_);
v___x_6119_ = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg(v_a_6117_, v___f_6118_, v___y_6103_, v___y_6104_, v___y_6105_, v___y_6106_, v___y_6107_, v___y_6108_, v___y_6109_, v___y_6110_);
return v___x_6119_;
}
else
{
lean_object* v_a_6120_; lean_object* v___x_6122_; uint8_t v_isShared_6123_; uint8_t v_isSharedCheck_6127_; 
lean_dec(v_a_6115_);
lean_dec(v___y_6110_);
lean_dec_ref(v___y_6109_);
lean_dec(v___y_6108_);
lean_dec_ref(v___y_6107_);
lean_dec(v___y_6106_);
lean_dec_ref(v___y_6105_);
lean_dec(v___y_6104_);
lean_dec_ref(v___y_6103_);
lean_dec_ref(v_pat_6102_);
v_a_6120_ = lean_ctor_get(v___x_6116_, 0);
v_isSharedCheck_6127_ = !lean_is_exclusive(v___x_6116_);
if (v_isSharedCheck_6127_ == 0)
{
v___x_6122_ = v___x_6116_;
v_isShared_6123_ = v_isSharedCheck_6127_;
goto v_resetjp_6121_;
}
else
{
lean_inc(v_a_6120_);
lean_dec(v___x_6116_);
v___x_6122_ = lean_box(0);
v_isShared_6123_ = v_isSharedCheck_6127_;
goto v_resetjp_6121_;
}
v_resetjp_6121_:
{
lean_object* v___x_6125_; 
if (v_isShared_6123_ == 0)
{
v___x_6125_ = v___x_6122_;
goto v_reusejp_6124_;
}
else
{
lean_object* v_reuseFailAlloc_6126_; 
v_reuseFailAlloc_6126_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6126_, 0, v_a_6120_);
v___x_6125_ = v_reuseFailAlloc_6126_;
goto v_reusejp_6124_;
}
v_reusejp_6124_:
{
return v___x_6125_;
}
}
}
}
else
{
lean_object* v_a_6128_; lean_object* v___x_6130_; uint8_t v_isShared_6131_; uint8_t v_isSharedCheck_6135_; 
lean_dec(v___y_6110_);
lean_dec_ref(v___y_6109_);
lean_dec(v___y_6108_);
lean_dec_ref(v___y_6107_);
lean_dec(v___y_6106_);
lean_dec_ref(v___y_6105_);
lean_dec(v___y_6104_);
lean_dec_ref(v___y_6103_);
lean_dec_ref(v_pat_6102_);
v_a_6128_ = lean_ctor_get(v___x_6114_, 0);
v_isSharedCheck_6135_ = !lean_is_exclusive(v___x_6114_);
if (v_isSharedCheck_6135_ == 0)
{
v___x_6130_ = v___x_6114_;
v_isShared_6131_ = v_isSharedCheck_6135_;
goto v_resetjp_6129_;
}
else
{
lean_inc(v_a_6128_);
lean_dec(v___x_6114_);
v___x_6130_ = lean_box(0);
v_isShared_6131_ = v_isSharedCheck_6135_;
goto v_resetjp_6129_;
}
v_resetjp_6129_:
{
lean_object* v___x_6133_; 
if (v_isShared_6131_ == 0)
{
v___x_6133_ = v___x_6130_;
goto v_reusejp_6132_;
}
else
{
lean_object* v_reuseFailAlloc_6134_; 
v_reuseFailAlloc_6134_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6134_, 0, v_a_6128_);
v___x_6133_ = v_reuseFailAlloc_6134_;
goto v_reusejp_6132_;
}
v_reusejp_6132_:
{
return v___x_6133_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___boxed(lean_object* v_stx_6163_, lean_object* v_a_6164_, lean_object* v_a_6165_, lean_object* v_a_6166_, lean_object* v_a_6167_, lean_object* v_a_6168_, lean_object* v_a_6169_, lean_object* v_a_6170_, lean_object* v_a_6171_, lean_object* v_a_6172_){
_start:
{
lean_object* v_res_6173_; 
v_res_6173_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases(v_stx_6163_, v_a_6164_, v_a_6165_, v_a_6166_, v_a_6167_, v_a_6168_, v_a_6169_, v_a_6170_, v_a_6171_);
return v_res_6173_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__1(size_t v_sz_6174_, size_t v_i_6175_, lean_object* v_bs_6176_, lean_object* v___y_6177_, lean_object* v___y_6178_, lean_object* v___y_6179_, lean_object* v___y_6180_, lean_object* v___y_6181_, lean_object* v___y_6182_, lean_object* v___y_6183_, lean_object* v___y_6184_){
_start:
{
lean_object* v___x_6186_; 
v___x_6186_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__1___redArg(v_sz_6174_, v_i_6175_, v_bs_6176_, v___y_6181_, v___y_6183_, v___y_6184_);
return v___x_6186_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__1___boxed(lean_object* v_sz_6187_, lean_object* v_i_6188_, lean_object* v_bs_6189_, lean_object* v___y_6190_, lean_object* v___y_6191_, lean_object* v___y_6192_, lean_object* v___y_6193_, lean_object* v___y_6194_, lean_object* v___y_6195_, lean_object* v___y_6196_, lean_object* v___y_6197_, lean_object* v___y_6198_){
_start:
{
size_t v_sz_boxed_6199_; size_t v_i_boxed_6200_; lean_object* v_res_6201_; 
v_sz_boxed_6199_ = lean_unbox_usize(v_sz_6187_);
lean_dec(v_sz_6187_);
v_i_boxed_6200_ = lean_unbox_usize(v_i_6188_);
lean_dec(v_i_6188_);
v_res_6201_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__1(v_sz_boxed_6199_, v_i_boxed_6200_, v_bs_6189_, v___y_6190_, v___y_6191_, v___y_6192_, v___y_6193_, v___y_6194_, v___y_6195_, v___y_6196_, v___y_6197_);
lean_dec(v___y_6195_);
lean_dec_ref(v___y_6194_);
lean_dec(v___y_6193_);
lean_dec_ref(v___y_6192_);
lean_dec(v___y_6191_);
lean_dec_ref(v___y_6190_);
return v_res_6201_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1(){
_start:
{
lean_object* v___x_6238_; lean_object* v___x_6239_; lean_object* v___x_6240_; lean_object* v___x_6241_; lean_object* v___x_6242_; 
v___x_6238_ = l_Lean_Elab_Tactic_tacticElabAttribute;
v___x_6239_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___closed__1));
v___x_6240_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___closed__12));
v___x_6241_ = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___boxed), 10, 0);
v___x_6242_ = l_Lean_KeyedDeclsAttribute_addBuiltin___redArg(v___x_6238_, v___x_6239_, v___x_6240_, v___x_6241_);
return v___x_6242_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1___boxed(lean_object* v_a_6243_){
_start:
{
lean_object* v_res_6244_; 
v_res_6244_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1();
return v_res_6244_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___lam__0(lean_object* v___x_6245_, lean_object* v___x_6246_, lean_object* v_a_6247_, lean_object* v___y_6248_, lean_object* v___y_6249_, lean_object* v___y_6250_, lean_object* v___y_6251_, lean_object* v___y_6252_, lean_object* v___y_6253_, lean_object* v___y_6254_, lean_object* v___y_6255_){
_start:
{
lean_object* v___x_6257_; 
lean_inc(v___y_6255_);
lean_inc_ref(v___y_6254_);
lean_inc(v___y_6253_);
lean_inc_ref(v___y_6252_);
v___x_6257_ = l_Lean_Elab_Tactic_RCases_rcases(v___x_6245_, v___x_6246_, v_a_6247_, v___y_6250_, v___y_6251_, v___y_6252_, v___y_6253_, v___y_6254_, v___y_6255_);
if (lean_obj_tag(v___x_6257_) == 0)
{
lean_object* v_a_6258_; lean_object* v___x_6259_; 
v_a_6258_ = lean_ctor_get(v___x_6257_, 0);
lean_inc(v_a_6258_);
lean_dec_ref(v___x_6257_);
v___x_6259_ = l_Lean_Elab_Tactic_replaceMainGoal___redArg(v_a_6258_, v___y_6249_, v___y_6252_, v___y_6253_, v___y_6254_, v___y_6255_);
lean_dec(v___y_6255_);
lean_dec_ref(v___y_6254_);
lean_dec(v___y_6253_);
lean_dec_ref(v___y_6252_);
return v___x_6259_;
}
else
{
lean_object* v_a_6260_; lean_object* v___x_6262_; uint8_t v_isShared_6263_; uint8_t v_isSharedCheck_6267_; 
lean_dec(v___y_6255_);
lean_dec_ref(v___y_6254_);
lean_dec(v___y_6253_);
lean_dec_ref(v___y_6252_);
v_a_6260_ = lean_ctor_get(v___x_6257_, 0);
v_isSharedCheck_6267_ = !lean_is_exclusive(v___x_6257_);
if (v_isSharedCheck_6267_ == 0)
{
v___x_6262_ = v___x_6257_;
v_isShared_6263_ = v_isSharedCheck_6267_;
goto v_resetjp_6261_;
}
else
{
lean_inc(v_a_6260_);
lean_dec(v___x_6257_);
v___x_6262_ = lean_box(0);
v_isShared_6263_ = v_isSharedCheck_6267_;
goto v_resetjp_6261_;
}
v_resetjp_6261_:
{
lean_object* v___x_6265_; 
if (v_isShared_6263_ == 0)
{
v___x_6265_ = v___x_6262_;
goto v_reusejp_6264_;
}
else
{
lean_object* v_reuseFailAlloc_6266_; 
v_reuseFailAlloc_6266_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6266_, 0, v_a_6260_);
v___x_6265_ = v_reuseFailAlloc_6266_;
goto v_reusejp_6264_;
}
v_reusejp_6264_:
{
return v___x_6265_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___lam__0___boxed(lean_object* v___x_6268_, lean_object* v___x_6269_, lean_object* v_a_6270_, lean_object* v___y_6271_, lean_object* v___y_6272_, lean_object* v___y_6273_, lean_object* v___y_6274_, lean_object* v___y_6275_, lean_object* v___y_6276_, lean_object* v___y_6277_, lean_object* v___y_6278_, lean_object* v___y_6279_){
_start:
{
lean_object* v_res_6280_; 
v_res_6280_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___lam__0(v___x_6268_, v___x_6269_, v_a_6270_, v___y_6271_, v___y_6272_, v___y_6273_, v___y_6274_, v___y_6275_, v___y_6276_, v___y_6277_, v___y_6278_);
lean_dec(v___y_6272_);
lean_dec_ref(v___y_6271_);
return v_res_6280_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___lam__1(lean_object* v___y_6281_, lean_object* v_val_6282_, lean_object* v_a_6283_, lean_object* v___y_6284_, lean_object* v___y_6285_, lean_object* v___y_6286_, lean_object* v___y_6287_, lean_object* v___y_6288_, lean_object* v___y_6289_, lean_object* v___y_6290_, lean_object* v___y_6291_){
_start:
{
lean_object* v___x_6293_; 
lean_inc(v___y_6291_);
lean_inc_ref(v___y_6290_);
lean_inc(v___y_6289_);
lean_inc_ref(v___y_6288_);
v___x_6293_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_obtainNone(v___y_6281_, v_val_6282_, v_a_6283_, v___y_6286_, v___y_6287_, v___y_6288_, v___y_6289_, v___y_6290_, v___y_6291_);
if (lean_obj_tag(v___x_6293_) == 0)
{
lean_object* v_a_6294_; lean_object* v___x_6295_; 
v_a_6294_ = lean_ctor_get(v___x_6293_, 0);
lean_inc(v_a_6294_);
lean_dec_ref(v___x_6293_);
v___x_6295_ = l_Lean_Elab_Tactic_replaceMainGoal___redArg(v_a_6294_, v___y_6285_, v___y_6288_, v___y_6289_, v___y_6290_, v___y_6291_);
lean_dec(v___y_6291_);
lean_dec_ref(v___y_6290_);
lean_dec(v___y_6289_);
lean_dec_ref(v___y_6288_);
return v___x_6295_;
}
else
{
lean_object* v_a_6296_; lean_object* v___x_6298_; uint8_t v_isShared_6299_; uint8_t v_isSharedCheck_6303_; 
lean_dec(v___y_6291_);
lean_dec_ref(v___y_6290_);
lean_dec(v___y_6289_);
lean_dec_ref(v___y_6288_);
v_a_6296_ = lean_ctor_get(v___x_6293_, 0);
v_isSharedCheck_6303_ = !lean_is_exclusive(v___x_6293_);
if (v_isSharedCheck_6303_ == 0)
{
v___x_6298_ = v___x_6293_;
v_isShared_6299_ = v_isSharedCheck_6303_;
goto v_resetjp_6297_;
}
else
{
lean_inc(v_a_6296_);
lean_dec(v___x_6293_);
v___x_6298_ = lean_box(0);
v_isShared_6299_ = v_isSharedCheck_6303_;
goto v_resetjp_6297_;
}
v_resetjp_6297_:
{
lean_object* v___x_6301_; 
if (v_isShared_6299_ == 0)
{
v___x_6301_ = v___x_6298_;
goto v_reusejp_6300_;
}
else
{
lean_object* v_reuseFailAlloc_6302_; 
v_reuseFailAlloc_6302_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6302_, 0, v_a_6296_);
v___x_6301_ = v_reuseFailAlloc_6302_;
goto v_reusejp_6300_;
}
v_reusejp_6300_:
{
return v___x_6301_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___lam__1___boxed(lean_object* v___y_6304_, lean_object* v_val_6305_, lean_object* v_a_6306_, lean_object* v___y_6307_, lean_object* v___y_6308_, lean_object* v___y_6309_, lean_object* v___y_6310_, lean_object* v___y_6311_, lean_object* v___y_6312_, lean_object* v___y_6313_, lean_object* v___y_6314_, lean_object* v___y_6315_){
_start:
{
lean_object* v_res_6316_; 
v_res_6316_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___lam__1(v___y_6304_, v_val_6305_, v_a_6306_, v___y_6307_, v___y_6308_, v___y_6309_, v___y_6310_, v___y_6311_, v___y_6312_, v___y_6313_, v___y_6314_);
lean_dec(v___y_6308_);
lean_dec_ref(v___y_6307_);
return v_res_6316_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__1___redArg(lean_object* v_msg_6317_, lean_object* v___y_6318_, lean_object* v___y_6319_, lean_object* v___y_6320_, lean_object* v___y_6321_){
_start:
{
lean_object* v_ref_6323_; lean_object* v___x_6324_; lean_object* v_a_6325_; lean_object* v___x_6327_; uint8_t v_isShared_6328_; uint8_t v_isSharedCheck_6333_; 
v_ref_6323_ = lean_ctor_get(v___y_6320_, 5);
v___x_6324_ = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_processConstructors_spec__0_spec__0_spec__1_spec__2_spec__4_spec__6_spec__8_spec__9(v_msg_6317_, v___y_6318_, v___y_6319_, v___y_6320_, v___y_6321_);
v_a_6325_ = lean_ctor_get(v___x_6324_, 0);
v_isSharedCheck_6333_ = !lean_is_exclusive(v___x_6324_);
if (v_isSharedCheck_6333_ == 0)
{
v___x_6327_ = v___x_6324_;
v_isShared_6328_ = v_isSharedCheck_6333_;
goto v_resetjp_6326_;
}
else
{
lean_inc(v_a_6325_);
lean_dec(v___x_6324_);
v___x_6327_ = lean_box(0);
v_isShared_6328_ = v_isSharedCheck_6333_;
goto v_resetjp_6326_;
}
v_resetjp_6326_:
{
lean_object* v___x_6329_; lean_object* v___x_6331_; 
lean_inc(v_ref_6323_);
v___x_6329_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_6329_, 0, v_ref_6323_);
lean_ctor_set(v___x_6329_, 1, v_a_6325_);
if (v_isShared_6328_ == 0)
{
lean_ctor_set_tag(v___x_6327_, 1);
lean_ctor_set(v___x_6327_, 0, v___x_6329_);
v___x_6331_ = v___x_6327_;
goto v_reusejp_6330_;
}
else
{
lean_object* v_reuseFailAlloc_6332_; 
v_reuseFailAlloc_6332_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6332_, 0, v___x_6329_);
v___x_6331_ = v_reuseFailAlloc_6332_;
goto v_reusejp_6330_;
}
v_reusejp_6330_:
{
return v___x_6331_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__1___redArg___boxed(lean_object* v_msg_6334_, lean_object* v___y_6335_, lean_object* v___y_6336_, lean_object* v___y_6337_, lean_object* v___y_6338_, lean_object* v___y_6339_){
_start:
{
lean_object* v_res_6340_; 
v_res_6340_ = l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__1___redArg(v_msg_6334_, v___y_6335_, v___y_6336_, v___y_6337_, v___y_6338_);
lean_dec(v___y_6338_);
lean_dec_ref(v___y_6337_);
lean_dec(v___y_6336_);
lean_dec_ref(v___y_6335_);
return v_res_6340_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__0(size_t v_sz_6341_, size_t v_i_6342_, lean_object* v_bs_6343_){
_start:
{
uint8_t v___x_6344_; 
v___x_6344_ = lean_usize_dec_lt(v_i_6342_, v_sz_6341_);
if (v___x_6344_ == 0)
{
return v_bs_6343_;
}
else
{
lean_object* v_v_6345_; lean_object* v___x_6346_; lean_object* v_bs_x27_6347_; lean_object* v___x_6348_; lean_object* v___x_6349_; size_t v___x_6350_; size_t v___x_6351_; lean_object* v___x_6352_; 
v_v_6345_ = lean_array_uget(v_bs_6343_, v_i_6342_);
v___x_6346_ = lean_unsigned_to_nat(0u);
v_bs_x27_6347_ = lean_array_uset(v_bs_6343_, v_i_6342_, v___x_6346_);
v___x_6348_ = lean_box(0);
v___x_6349_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_6349_, 0, v___x_6348_);
lean_ctor_set(v___x_6349_, 1, v_v_6345_);
v___x_6350_ = ((size_t)1ULL);
v___x_6351_ = lean_usize_add(v_i_6342_, v___x_6350_);
v___x_6352_ = lean_array_uset(v_bs_x27_6347_, v_i_6342_, v___x_6349_);
v_i_6342_ = v___x_6351_;
v_bs_6343_ = v___x_6352_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__0___boxed(lean_object* v_sz_6354_, lean_object* v_i_6355_, lean_object* v_bs_6356_){
_start:
{
size_t v_sz_boxed_6357_; size_t v_i_boxed_6358_; lean_object* v_res_6359_; 
v_sz_boxed_6357_ = lean_unbox_usize(v_sz_6354_);
lean_dec(v_sz_6354_);
v_i_boxed_6358_ = lean_unbox_usize(v_i_6355_);
lean_dec(v_i_6355_);
v_res_6359_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__0(v_sz_boxed_6357_, v_i_boxed_6358_, v_bs_6356_);
return v_res_6359_;
}
}
static lean_object* _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__5(void){
_start:
{
lean_object* v___x_6370_; lean_object* v___x_6371_; 
v___x_6370_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__4));
v___x_6371_ = l_Lean_stringToMessageData(v___x_6370_);
return v___x_6371_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain(lean_object* v_stx_6372_, lean_object* v_a_6373_, lean_object* v_a_6374_, lean_object* v_a_6375_, lean_object* v_a_6376_, lean_object* v_a_6377_, lean_object* v_a_6378_, lean_object* v_a_6379_, lean_object* v_a_6380_){
_start:
{
lean_object* v___y_6383_; lean_object* v___y_6384_; lean_object* v___y_6385_; lean_object* v___y_6386_; lean_object* v___y_6387_; lean_object* v___y_6388_; lean_object* v___y_6389_; lean_object* v___y_6390_; lean_object* v___y_6391_; lean_object* v___y_6392_; lean_object* v___x_6405_; uint8_t v___x_6406_; 
v___x_6405_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__1));
lean_inc(v_stx_6372_);
v___x_6406_ = l_Lean_Syntax_isOfKind(v_stx_6372_, v___x_6405_);
if (v___x_6406_ == 0)
{
lean_object* v___x_6407_; 
lean_dec(v_a_6380_);
lean_dec_ref(v_a_6379_);
lean_dec(v_a_6378_);
lean_dec_ref(v_a_6377_);
lean_dec(v_a_6376_);
lean_dec_ref(v_a_6375_);
lean_dec(v_a_6374_);
lean_dec_ref(v_a_6373_);
lean_dec(v_stx_6372_);
v___x_6407_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0___redArg();
return v___x_6407_;
}
else
{
lean_object* v___x_6408_; lean_object* v_tk_6409_; lean_object* v___y_6411_; lean_object* v___y_6412_; lean_object* v___y_6413_; lean_object* v___y_6414_; lean_object* v___y_6415_; lean_object* v___y_6416_; lean_object* v___y_6417_; lean_object* v___y_6418_; lean_object* v___y_6419_; lean_object* v___y_6420_; lean_object* v___y_6421_; lean_object* v___y_6440_; lean_object* v___y_6441_; lean_object* v___y_6442_; lean_object* v___y_6443_; lean_object* v___y_6444_; lean_object* v___y_6445_; lean_object* v___y_6446_; lean_object* v___y_6447_; lean_object* v___y_6448_; lean_object* v___y_6449_; lean_object* v_a_6450_; lean_object* v___y_6464_; lean_object* v___y_6465_; lean_object* v_val_x3f_6466_; lean_object* v___y_6467_; lean_object* v___y_6468_; lean_object* v___y_6469_; lean_object* v___y_6470_; lean_object* v___y_6471_; lean_object* v___y_6472_; lean_object* v___y_6473_; lean_object* v___y_6474_; lean_object* v___x_6494_; lean_object* v___y_6496_; lean_object* v___y_6497_; lean_object* v_ty_x3f_6498_; lean_object* v___y_6499_; lean_object* v___y_6500_; lean_object* v___y_6501_; lean_object* v___y_6502_; lean_object* v___y_6503_; lean_object* v___y_6504_; lean_object* v___y_6505_; lean_object* v___y_6506_; lean_object* v_pat_x3f_6517_; lean_object* v___y_6518_; lean_object* v___y_6519_; lean_object* v___y_6520_; lean_object* v___y_6521_; lean_object* v___y_6522_; lean_object* v___y_6523_; lean_object* v___y_6524_; lean_object* v___y_6525_; lean_object* v___x_6534_; uint8_t v___x_6535_; 
v___x_6408_ = lean_unsigned_to_nat(0u);
v_tk_6409_ = l_Lean_Syntax_getArg(v_stx_6372_, v___x_6408_);
v___x_6494_ = lean_unsigned_to_nat(1u);
v___x_6534_ = l_Lean_Syntax_getArg(v_stx_6372_, v___x_6494_);
v___x_6535_ = l_Lean_Syntax_isNone(v___x_6534_);
if (v___x_6535_ == 0)
{
uint8_t v___x_6536_; 
lean_inc(v___x_6534_);
v___x_6536_ = l_Lean_Syntax_matchesNull(v___x_6534_, v___x_6494_);
if (v___x_6536_ == 0)
{
lean_object* v___x_6537_; 
lean_dec(v___x_6534_);
lean_dec(v_tk_6409_);
lean_dec(v_a_6380_);
lean_dec_ref(v_a_6379_);
lean_dec(v_a_6378_);
lean_dec_ref(v_a_6377_);
lean_dec(v_a_6376_);
lean_dec_ref(v_a_6375_);
lean_dec(v_a_6374_);
lean_dec_ref(v_a_6373_);
lean_dec(v_stx_6372_);
v___x_6537_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0___redArg();
return v___x_6537_;
}
else
{
lean_object* v_pat_x3f_6538_; lean_object* v___x_6539_; uint8_t v___x_6540_; 
v_pat_x3f_6538_ = l_Lean_Syntax_getArg(v___x_6534_, v___x_6408_);
lean_dec(v___x_6534_);
v___x_6539_ = ((lean_object*)(l_Lean_Elab_Tactic_RCases_instCoeTSyntaxConsSyntaxNodeKindMkStr1NilMkStr4__lean___lam__0___closed__1));
lean_inc(v_pat_x3f_6538_);
v___x_6540_ = l_Lean_Syntax_isOfKind(v_pat_x3f_6538_, v___x_6539_);
if (v___x_6540_ == 0)
{
lean_object* v___x_6541_; 
lean_dec(v_pat_x3f_6538_);
lean_dec(v_tk_6409_);
lean_dec(v_a_6380_);
lean_dec_ref(v_a_6379_);
lean_dec(v_a_6378_);
lean_dec_ref(v_a_6377_);
lean_dec(v_a_6376_);
lean_dec_ref(v_a_6375_);
lean_dec(v_a_6374_);
lean_dec_ref(v_a_6373_);
lean_dec(v_stx_6372_);
v___x_6541_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0___redArg();
return v___x_6541_;
}
else
{
lean_object* v___x_6542_; 
v___x_6542_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_6542_, 0, v_pat_x3f_6538_);
v_pat_x3f_6517_ = v___x_6542_;
v___y_6518_ = v_a_6373_;
v___y_6519_ = v_a_6374_;
v___y_6520_ = v_a_6375_;
v___y_6521_ = v_a_6376_;
v___y_6522_ = v_a_6377_;
v___y_6523_ = v_a_6378_;
v___y_6524_ = v_a_6379_;
v___y_6525_ = v_a_6380_;
goto v___jp_6516_;
}
}
}
else
{
lean_object* v___x_6543_; 
lean_dec(v___x_6534_);
v___x_6543_ = lean_box(0);
v_pat_x3f_6517_ = v___x_6543_;
v___y_6518_ = v_a_6373_;
v___y_6519_ = v_a_6374_;
v___y_6520_ = v_a_6375_;
v___y_6521_ = v_a_6376_;
v___y_6522_ = v_a_6377_;
v___y_6523_ = v_a_6378_;
v___y_6524_ = v_a_6379_;
v___y_6525_ = v_a_6380_;
goto v___jp_6516_;
}
v___jp_6410_:
{
lean_object* v___x_6422_; 
v___x_6422_ = l_Lean_Elab_Tactic_getMainGoal___redArg(v___y_6420_, v___y_6412_, v___y_6418_, v___y_6419_, v___y_6416_);
if (lean_obj_tag(v___x_6422_) == 0)
{
lean_object* v_a_6423_; lean_object* v___x_6424_; size_t v_sz_6425_; lean_object* v___x_6426_; size_t v___x_6427_; lean_object* v___x_6428_; lean_object* v___f_6429_; lean_object* v___x_6430_; 
v_a_6423_ = lean_ctor_get(v___x_6422_, 0);
lean_inc(v_a_6423_);
lean_dec_ref(v___x_6422_);
v___x_6424_ = l_Lean_Syntax_TSepArray_getElems___redArg(v___y_6413_);
lean_dec_ref(v___y_6413_);
v_sz_6425_ = lean_array_size(v___x_6424_);
v___x_6426_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_typed_x3f(v_tk_6409_, v___y_6421_, v___y_6417_);
lean_dec(v___y_6417_);
v___x_6427_ = ((size_t)0ULL);
v___x_6428_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__0(v_sz_6425_, v___x_6427_, v___x_6424_);
lean_inc(v_a_6423_);
v___f_6429_ = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___lam__0___boxed), 12, 3);
lean_closure_set(v___f_6429_, 0, v___x_6428_);
lean_closure_set(v___f_6429_, 1, v___x_6426_);
lean_closure_set(v___f_6429_, 2, v_a_6423_);
v___x_6430_ = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg(v_a_6423_, v___f_6429_, v___y_6411_, v___y_6420_, v___y_6415_, v___y_6414_, v___y_6412_, v___y_6418_, v___y_6419_, v___y_6416_);
return v___x_6430_;
}
else
{
lean_object* v_a_6431_; lean_object* v___x_6433_; uint8_t v_isShared_6434_; uint8_t v_isSharedCheck_6438_; 
lean_dec_ref(v___y_6421_);
lean_dec(v___y_6420_);
lean_dec_ref(v___y_6419_);
lean_dec(v___y_6418_);
lean_dec(v___y_6417_);
lean_dec(v___y_6416_);
lean_dec_ref(v___y_6415_);
lean_dec(v___y_6414_);
lean_dec_ref(v___y_6413_);
lean_dec_ref(v___y_6412_);
lean_dec_ref(v___y_6411_);
lean_dec(v_tk_6409_);
v_a_6431_ = lean_ctor_get(v___x_6422_, 0);
v_isSharedCheck_6438_ = !lean_is_exclusive(v___x_6422_);
if (v_isSharedCheck_6438_ == 0)
{
v___x_6433_ = v___x_6422_;
v_isShared_6434_ = v_isSharedCheck_6438_;
goto v_resetjp_6432_;
}
else
{
lean_inc(v_a_6431_);
lean_dec(v___x_6422_);
v___x_6433_ = lean_box(0);
v_isShared_6434_ = v_isSharedCheck_6438_;
goto v_resetjp_6432_;
}
v_resetjp_6432_:
{
lean_object* v___x_6436_; 
if (v_isShared_6434_ == 0)
{
v___x_6436_ = v___x_6433_;
goto v_reusejp_6435_;
}
else
{
lean_object* v_reuseFailAlloc_6437_; 
v_reuseFailAlloc_6437_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6437_, 0, v_a_6431_);
v___x_6436_ = v_reuseFailAlloc_6437_;
goto v_reusejp_6435_;
}
v_reusejp_6435_:
{
return v___x_6436_;
}
}
}
}
v___jp_6439_:
{
if (lean_obj_tag(v___y_6442_) == 1)
{
if (lean_obj_tag(v_a_6450_) == 0)
{
lean_object* v_val_6451_; lean_object* v___x_6452_; lean_object* v___x_6453_; 
v_val_6451_ = lean_ctor_get(v___y_6442_, 0);
lean_inc(v_val_6451_);
lean_dec_ref(v___y_6442_);
v___x_6452_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_instInhabited___closed__1));
lean_inc(v_tk_6409_);
v___x_6453_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_6453_, 0, v_tk_6409_);
lean_ctor_set(v___x_6453_, 1, v___x_6452_);
v___y_6411_ = v___y_6441_;
v___y_6412_ = v___y_6440_;
v___y_6413_ = v_val_6451_;
v___y_6414_ = v___y_6444_;
v___y_6415_ = v___y_6443_;
v___y_6416_ = v___y_6445_;
v___y_6417_ = v___y_6446_;
v___y_6418_ = v___y_6447_;
v___y_6419_ = v___y_6449_;
v___y_6420_ = v___y_6448_;
v___y_6421_ = v___x_6453_;
goto v___jp_6410_;
}
else
{
lean_object* v_val_6454_; lean_object* v_val_6455_; 
v_val_6454_ = lean_ctor_get(v___y_6442_, 0);
lean_inc(v_val_6454_);
lean_dec_ref(v___y_6442_);
v_val_6455_ = lean_ctor_get(v_a_6450_, 0);
lean_inc(v_val_6455_);
lean_dec_ref(v_a_6450_);
v___y_6411_ = v___y_6441_;
v___y_6412_ = v___y_6440_;
v___y_6413_ = v_val_6454_;
v___y_6414_ = v___y_6444_;
v___y_6415_ = v___y_6443_;
v___y_6416_ = v___y_6445_;
v___y_6417_ = v___y_6446_;
v___y_6418_ = v___y_6447_;
v___y_6419_ = v___y_6449_;
v___y_6420_ = v___y_6448_;
v___y_6421_ = v_val_6455_;
goto v___jp_6410_;
}
}
else
{
lean_dec(v___y_6442_);
if (lean_obj_tag(v___y_6446_) == 1)
{
if (lean_obj_tag(v_a_6450_) == 0)
{
lean_object* v_val_6456_; lean_object* v___x_6457_; lean_object* v___x_6458_; 
v_val_6456_ = lean_ctor_get(v___y_6446_, 0);
lean_inc(v_val_6456_);
lean_dec_ref(v___y_6446_);
v___x_6457_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__3));
v___x_6458_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_6458_, 0, v_tk_6409_);
lean_ctor_set(v___x_6458_, 1, v___x_6457_);
v___y_6383_ = v_val_6456_;
v___y_6384_ = v___y_6441_;
v___y_6385_ = v___y_6440_;
v___y_6386_ = v___y_6444_;
v___y_6387_ = v___y_6443_;
v___y_6388_ = v___y_6445_;
v___y_6389_ = v___y_6447_;
v___y_6390_ = v___y_6449_;
v___y_6391_ = v___y_6448_;
v___y_6392_ = v___x_6458_;
goto v___jp_6382_;
}
else
{
lean_object* v_val_6459_; lean_object* v_val_6460_; 
lean_dec(v_tk_6409_);
v_val_6459_ = lean_ctor_get(v___y_6446_, 0);
lean_inc(v_val_6459_);
lean_dec_ref(v___y_6446_);
v_val_6460_ = lean_ctor_get(v_a_6450_, 0);
lean_inc(v_val_6460_);
lean_dec_ref(v_a_6450_);
v___y_6383_ = v_val_6459_;
v___y_6384_ = v___y_6441_;
v___y_6385_ = v___y_6440_;
v___y_6386_ = v___y_6444_;
v___y_6387_ = v___y_6443_;
v___y_6388_ = v___y_6445_;
v___y_6389_ = v___y_6447_;
v___y_6390_ = v___y_6449_;
v___y_6391_ = v___y_6448_;
v___y_6392_ = v_val_6460_;
goto v___jp_6382_;
}
}
else
{
lean_object* v___x_6461_; lean_object* v___x_6462_; 
lean_dec(v_a_6450_);
lean_dec(v___y_6448_);
lean_dec(v___y_6446_);
lean_dec(v___y_6444_);
lean_dec_ref(v___y_6443_);
lean_dec_ref(v___y_6441_);
lean_dec(v_tk_6409_);
v___x_6461_ = lean_obj_once(&l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__5, &l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__5_once, _init_l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__5);
v___x_6462_ = l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__1___redArg(v___x_6461_, v___y_6440_, v___y_6447_, v___y_6449_, v___y_6445_);
lean_dec(v___y_6445_);
lean_dec_ref(v___y_6449_);
lean_dec(v___y_6447_);
lean_dec_ref(v___y_6440_);
return v___x_6462_;
}
}
}
v___jp_6463_:
{
if (lean_obj_tag(v___y_6464_) == 0)
{
lean_object* v___x_6475_; 
v___x_6475_ = lean_box(0);
v___y_6440_ = v___y_6471_;
v___y_6441_ = v___y_6467_;
v___y_6442_ = v_val_x3f_6466_;
v___y_6443_ = v___y_6469_;
v___y_6444_ = v___y_6470_;
v___y_6445_ = v___y_6474_;
v___y_6446_ = v___y_6465_;
v___y_6447_ = v___y_6472_;
v___y_6448_ = v___y_6468_;
v___y_6449_ = v___y_6473_;
v_a_6450_ = v___x_6475_;
goto v___jp_6439_;
}
else
{
lean_object* v_val_6476_; lean_object* v___x_6478_; uint8_t v_isShared_6479_; uint8_t v_isSharedCheck_6493_; 
v_val_6476_ = lean_ctor_get(v___y_6464_, 0);
v_isSharedCheck_6493_ = !lean_is_exclusive(v___y_6464_);
if (v_isSharedCheck_6493_ == 0)
{
v___x_6478_ = v___y_6464_;
v_isShared_6479_ = v_isSharedCheck_6493_;
goto v_resetjp_6477_;
}
else
{
lean_inc(v_val_6476_);
lean_dec(v___y_6464_);
v___x_6478_ = lean_box(0);
v_isShared_6479_ = v_isSharedCheck_6493_;
goto v_resetjp_6477_;
}
v_resetjp_6477_:
{
lean_object* v___x_6480_; 
v___x_6480_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_RCasesPatt_parse(v_val_6476_, v___y_6471_, v___y_6472_, v___y_6473_, v___y_6474_);
if (lean_obj_tag(v___x_6480_) == 0)
{
lean_object* v_a_6481_; lean_object* v___x_6483_; 
v_a_6481_ = lean_ctor_get(v___x_6480_, 0);
lean_inc(v_a_6481_);
lean_dec_ref(v___x_6480_);
if (v_isShared_6479_ == 0)
{
lean_ctor_set(v___x_6478_, 0, v_a_6481_);
v___x_6483_ = v___x_6478_;
goto v_reusejp_6482_;
}
else
{
lean_object* v_reuseFailAlloc_6484_; 
v_reuseFailAlloc_6484_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6484_, 0, v_a_6481_);
v___x_6483_ = v_reuseFailAlloc_6484_;
goto v_reusejp_6482_;
}
v_reusejp_6482_:
{
v___y_6440_ = v___y_6471_;
v___y_6441_ = v___y_6467_;
v___y_6442_ = v_val_x3f_6466_;
v___y_6443_ = v___y_6469_;
v___y_6444_ = v___y_6470_;
v___y_6445_ = v___y_6474_;
v___y_6446_ = v___y_6465_;
v___y_6447_ = v___y_6472_;
v___y_6448_ = v___y_6468_;
v___y_6449_ = v___y_6473_;
v_a_6450_ = v___x_6483_;
goto v___jp_6439_;
}
}
else
{
lean_object* v_a_6485_; lean_object* v___x_6487_; uint8_t v_isShared_6488_; uint8_t v_isSharedCheck_6492_; 
lean_del_object(v___x_6478_);
lean_dec(v___y_6474_);
lean_dec_ref(v___y_6473_);
lean_dec(v___y_6472_);
lean_dec_ref(v___y_6471_);
lean_dec(v___y_6470_);
lean_dec_ref(v___y_6469_);
lean_dec(v___y_6468_);
lean_dec_ref(v___y_6467_);
lean_dec(v_val_x3f_6466_);
lean_dec(v___y_6465_);
lean_dec(v_tk_6409_);
v_a_6485_ = lean_ctor_get(v___x_6480_, 0);
v_isSharedCheck_6492_ = !lean_is_exclusive(v___x_6480_);
if (v_isSharedCheck_6492_ == 0)
{
v___x_6487_ = v___x_6480_;
v_isShared_6488_ = v_isSharedCheck_6492_;
goto v_resetjp_6486_;
}
else
{
lean_inc(v_a_6485_);
lean_dec(v___x_6480_);
v___x_6487_ = lean_box(0);
v_isShared_6488_ = v_isSharedCheck_6492_;
goto v_resetjp_6486_;
}
v_resetjp_6486_:
{
lean_object* v___x_6490_; 
if (v_isShared_6488_ == 0)
{
v___x_6490_ = v___x_6487_;
goto v_reusejp_6489_;
}
else
{
lean_object* v_reuseFailAlloc_6491_; 
v_reuseFailAlloc_6491_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6491_, 0, v_a_6485_);
v___x_6490_ = v_reuseFailAlloc_6491_;
goto v_reusejp_6489_;
}
v_reusejp_6489_:
{
return v___x_6490_;
}
}
}
}
}
}
v___jp_6495_:
{
lean_object* v___x_6507_; lean_object* v___x_6508_; uint8_t v___x_6509_; 
v___x_6507_ = lean_unsigned_to_nat(3u);
v___x_6508_ = l_Lean_Syntax_getArg(v_stx_6372_, v___x_6507_);
lean_dec(v_stx_6372_);
v___x_6509_ = l_Lean_Syntax_isNone(v___x_6508_);
if (v___x_6509_ == 0)
{
uint8_t v___x_6510_; 
lean_inc(v___x_6508_);
v___x_6510_ = l_Lean_Syntax_matchesNull(v___x_6508_, v___y_6497_);
if (v___x_6510_ == 0)
{
lean_object* v___x_6511_; 
lean_dec(v___x_6508_);
lean_dec(v___y_6506_);
lean_dec_ref(v___y_6505_);
lean_dec(v___y_6504_);
lean_dec_ref(v___y_6503_);
lean_dec(v___y_6502_);
lean_dec_ref(v___y_6501_);
lean_dec(v___y_6500_);
lean_dec_ref(v___y_6499_);
lean_dec(v_ty_x3f_6498_);
lean_dec(v___y_6496_);
lean_dec(v_tk_6409_);
v___x_6511_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0___redArg();
return v___x_6511_;
}
else
{
lean_object* v___x_6512_; lean_object* v_val_x3f_6513_; lean_object* v___x_6514_; 
v___x_6512_ = l_Lean_Syntax_getArg(v___x_6508_, v___x_6494_);
lean_dec(v___x_6508_);
v_val_x3f_6513_ = l_Lean_Syntax_getArgs(v___x_6512_);
lean_dec(v___x_6512_);
v___x_6514_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_6514_, 0, v_val_x3f_6513_);
v___y_6464_ = v___y_6496_;
v___y_6465_ = v_ty_x3f_6498_;
v_val_x3f_6466_ = v___x_6514_;
v___y_6467_ = v___y_6499_;
v___y_6468_ = v___y_6500_;
v___y_6469_ = v___y_6501_;
v___y_6470_ = v___y_6502_;
v___y_6471_ = v___y_6503_;
v___y_6472_ = v___y_6504_;
v___y_6473_ = v___y_6505_;
v___y_6474_ = v___y_6506_;
goto v___jp_6463_;
}
}
else
{
lean_object* v___x_6515_; 
lean_dec(v___x_6508_);
v___x_6515_ = lean_box(0);
v___y_6464_ = v___y_6496_;
v___y_6465_ = v_ty_x3f_6498_;
v_val_x3f_6466_ = v___x_6515_;
v___y_6467_ = v___y_6499_;
v___y_6468_ = v___y_6500_;
v___y_6469_ = v___y_6501_;
v___y_6470_ = v___y_6502_;
v___y_6471_ = v___y_6503_;
v___y_6472_ = v___y_6504_;
v___y_6473_ = v___y_6505_;
v___y_6474_ = v___y_6506_;
goto v___jp_6463_;
}
}
v___jp_6516_:
{
lean_object* v___x_6526_; lean_object* v___x_6527_; uint8_t v___x_6528_; 
v___x_6526_ = lean_unsigned_to_nat(2u);
v___x_6527_ = l_Lean_Syntax_getArg(v_stx_6372_, v___x_6526_);
v___x_6528_ = l_Lean_Syntax_isNone(v___x_6527_);
if (v___x_6528_ == 0)
{
uint8_t v___x_6529_; 
lean_inc(v___x_6527_);
v___x_6529_ = l_Lean_Syntax_matchesNull(v___x_6527_, v___x_6526_);
if (v___x_6529_ == 0)
{
lean_object* v___x_6530_; 
lean_dec(v___x_6527_);
lean_dec(v___y_6525_);
lean_dec_ref(v___y_6524_);
lean_dec(v___y_6523_);
lean_dec_ref(v___y_6522_);
lean_dec(v___y_6521_);
lean_dec_ref(v___y_6520_);
lean_dec(v___y_6519_);
lean_dec_ref(v___y_6518_);
lean_dec(v_pat_x3f_6517_);
lean_dec(v_tk_6409_);
lean_dec(v_stx_6372_);
v___x_6530_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0___redArg();
return v___x_6530_;
}
else
{
lean_object* v_ty_x3f_6531_; lean_object* v___x_6532_; 
v_ty_x3f_6531_ = l_Lean_Syntax_getArg(v___x_6527_, v___x_6494_);
lean_dec(v___x_6527_);
v___x_6532_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_6532_, 0, v_ty_x3f_6531_);
v___y_6496_ = v_pat_x3f_6517_;
v___y_6497_ = v___x_6526_;
v_ty_x3f_6498_ = v___x_6532_;
v___y_6499_ = v___y_6518_;
v___y_6500_ = v___y_6519_;
v___y_6501_ = v___y_6520_;
v___y_6502_ = v___y_6521_;
v___y_6503_ = v___y_6522_;
v___y_6504_ = v___y_6523_;
v___y_6505_ = v___y_6524_;
v___y_6506_ = v___y_6525_;
goto v___jp_6495_;
}
}
else
{
lean_object* v___x_6533_; 
lean_dec(v___x_6527_);
v___x_6533_ = lean_box(0);
v___y_6496_ = v_pat_x3f_6517_;
v___y_6497_ = v___x_6526_;
v_ty_x3f_6498_ = v___x_6533_;
v___y_6499_ = v___y_6518_;
v___y_6500_ = v___y_6519_;
v___y_6501_ = v___y_6520_;
v___y_6502_ = v___y_6521_;
v___y_6503_ = v___y_6522_;
v___y_6504_ = v___y_6523_;
v___y_6505_ = v___y_6524_;
v___y_6506_ = v___y_6525_;
goto v___jp_6495_;
}
}
}
v___jp_6382_:
{
lean_object* v___x_6393_; 
v___x_6393_ = l_Lean_Elab_Tactic_getMainGoal___redArg(v___y_6391_, v___y_6385_, v___y_6389_, v___y_6390_, v___y_6388_);
if (lean_obj_tag(v___x_6393_) == 0)
{
lean_object* v_a_6394_; lean_object* v___f_6395_; lean_object* v___x_6396_; 
v_a_6394_ = lean_ctor_get(v___x_6393_, 0);
lean_inc(v_a_6394_);
lean_dec_ref(v___x_6393_);
lean_inc(v_a_6394_);
v___f_6395_ = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___lam__1___boxed), 12, 3);
lean_closure_set(v___f_6395_, 0, v___y_6392_);
lean_closure_set(v___f_6395_, 1, v___y_6383_);
lean_closure_set(v___f_6395_, 2, v_a_6394_);
v___x_6396_ = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg(v_a_6394_, v___f_6395_, v___y_6384_, v___y_6391_, v___y_6387_, v___y_6386_, v___y_6385_, v___y_6389_, v___y_6390_, v___y_6388_);
return v___x_6396_;
}
else
{
lean_object* v_a_6397_; lean_object* v___x_6399_; uint8_t v_isShared_6400_; uint8_t v_isSharedCheck_6404_; 
lean_dec_ref(v___y_6392_);
lean_dec(v___y_6391_);
lean_dec_ref(v___y_6390_);
lean_dec(v___y_6389_);
lean_dec(v___y_6388_);
lean_dec_ref(v___y_6387_);
lean_dec(v___y_6386_);
lean_dec_ref(v___y_6385_);
lean_dec_ref(v___y_6384_);
lean_dec(v___y_6383_);
v_a_6397_ = lean_ctor_get(v___x_6393_, 0);
v_isSharedCheck_6404_ = !lean_is_exclusive(v___x_6393_);
if (v_isSharedCheck_6404_ == 0)
{
v___x_6399_ = v___x_6393_;
v_isShared_6400_ = v_isSharedCheck_6404_;
goto v_resetjp_6398_;
}
else
{
lean_inc(v_a_6397_);
lean_dec(v___x_6393_);
v___x_6399_ = lean_box(0);
v_isShared_6400_ = v_isSharedCheck_6404_;
goto v_resetjp_6398_;
}
v_resetjp_6398_:
{
lean_object* v___x_6402_; 
if (v_isShared_6400_ == 0)
{
v___x_6402_ = v___x_6399_;
goto v_reusejp_6401_;
}
else
{
lean_object* v_reuseFailAlloc_6403_; 
v_reuseFailAlloc_6403_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6403_, 0, v_a_6397_);
v___x_6402_ = v_reuseFailAlloc_6403_;
goto v_reusejp_6401_;
}
v_reusejp_6401_:
{
return v___x_6402_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___boxed(lean_object* v_stx_6544_, lean_object* v_a_6545_, lean_object* v_a_6546_, lean_object* v_a_6547_, lean_object* v_a_6548_, lean_object* v_a_6549_, lean_object* v_a_6550_, lean_object* v_a_6551_, lean_object* v_a_6552_, lean_object* v_a_6553_){
_start:
{
lean_object* v_res_6554_; 
v_res_6554_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain(v_stx_6544_, v_a_6545_, v_a_6546_, v_a_6547_, v_a_6548_, v_a_6549_, v_a_6550_, v_a_6551_, v_a_6552_);
return v_res_6554_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__1(lean_object* v_00_u03b1_6555_, lean_object* v_msg_6556_, lean_object* v___y_6557_, lean_object* v___y_6558_, lean_object* v___y_6559_, lean_object* v___y_6560_, lean_object* v___y_6561_, lean_object* v___y_6562_, lean_object* v___y_6563_, lean_object* v___y_6564_){
_start:
{
lean_object* v___x_6566_; 
v___x_6566_ = l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__1___redArg(v_msg_6556_, v___y_6561_, v___y_6562_, v___y_6563_, v___y_6564_);
return v___x_6566_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__1___boxed(lean_object* v_00_u03b1_6567_, lean_object* v_msg_6568_, lean_object* v___y_6569_, lean_object* v___y_6570_, lean_object* v___y_6571_, lean_object* v___y_6572_, lean_object* v___y_6573_, lean_object* v___y_6574_, lean_object* v___y_6575_, lean_object* v___y_6576_, lean_object* v___y_6577_){
_start:
{
lean_object* v_res_6578_; 
v_res_6578_ = l_Lean_throwError___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain_spec__1(v_00_u03b1_6567_, v_msg_6568_, v___y_6569_, v___y_6570_, v___y_6571_, v___y_6572_, v___y_6573_, v___y_6574_, v___y_6575_, v___y_6576_);
lean_dec(v___y_6576_);
lean_dec_ref(v___y_6575_);
lean_dec(v___y_6574_);
lean_dec_ref(v___y_6573_);
lean_dec(v___y_6572_);
lean_dec_ref(v___y_6571_);
lean_dec(v___y_6570_);
lean_dec_ref(v___y_6569_);
return v_res_6578_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain__1(){
_start:
{
lean_object* v___x_6584_; lean_object* v___x_6585_; lean_object* v___x_6586_; lean_object* v___x_6587_; lean_object* v___x_6588_; 
v___x_6584_ = l_Lean_Elab_Tactic_tacticElabAttribute;
v___x_6585_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___closed__1));
v___x_6586_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain__1___closed__1));
v___x_6587_ = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___boxed), 10, 0);
v___x_6588_ = l_Lean_KeyedDeclsAttribute_addBuiltin___redArg(v___x_6584_, v___x_6585_, v___x_6586_, v___x_6587_);
return v___x_6588_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain__1___boxed(lean_object* v_a_6589_){
_start:
{
lean_object* v_res_6590_; 
v_res_6590_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain__1();
return v_res_6590_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___lam__0(lean_object* v_pats_6591_, lean_object* v_ty_x3f_6592_, lean_object* v_a_6593_, lean_object* v___y_6594_, lean_object* v___y_6595_, lean_object* v___y_6596_, lean_object* v___y_6597_, lean_object* v___y_6598_, lean_object* v___y_6599_, lean_object* v___y_6600_, lean_object* v___y_6601_){
_start:
{
lean_object* v___x_6603_; 
lean_inc(v___y_6601_);
lean_inc_ref(v___y_6600_);
lean_inc(v___y_6599_);
lean_inc_ref(v___y_6598_);
v___x_6603_ = l_Lean_Elab_Tactic_RCases_rintro(v_pats_6591_, v_ty_x3f_6592_, v_a_6593_, v___y_6596_, v___y_6597_, v___y_6598_, v___y_6599_, v___y_6600_, v___y_6601_);
if (lean_obj_tag(v___x_6603_) == 0)
{
lean_object* v_a_6604_; lean_object* v___x_6605_; 
v_a_6604_ = lean_ctor_get(v___x_6603_, 0);
lean_inc(v_a_6604_);
lean_dec_ref(v___x_6603_);
v___x_6605_ = l_Lean_Elab_Tactic_replaceMainGoal___redArg(v_a_6604_, v___y_6595_, v___y_6598_, v___y_6599_, v___y_6600_, v___y_6601_);
lean_dec(v___y_6601_);
lean_dec_ref(v___y_6600_);
lean_dec(v___y_6599_);
lean_dec_ref(v___y_6598_);
return v___x_6605_;
}
else
{
lean_object* v_a_6606_; lean_object* v___x_6608_; uint8_t v_isShared_6609_; uint8_t v_isSharedCheck_6613_; 
lean_dec(v___y_6601_);
lean_dec_ref(v___y_6600_);
lean_dec(v___y_6599_);
lean_dec_ref(v___y_6598_);
v_a_6606_ = lean_ctor_get(v___x_6603_, 0);
v_isSharedCheck_6613_ = !lean_is_exclusive(v___x_6603_);
if (v_isSharedCheck_6613_ == 0)
{
v___x_6608_ = v___x_6603_;
v_isShared_6609_ = v_isSharedCheck_6613_;
goto v_resetjp_6607_;
}
else
{
lean_inc(v_a_6606_);
lean_dec(v___x_6603_);
v___x_6608_ = lean_box(0);
v_isShared_6609_ = v_isSharedCheck_6613_;
goto v_resetjp_6607_;
}
v_resetjp_6607_:
{
lean_object* v___x_6611_; 
if (v_isShared_6609_ == 0)
{
v___x_6611_ = v___x_6608_;
goto v_reusejp_6610_;
}
else
{
lean_object* v_reuseFailAlloc_6612_; 
v_reuseFailAlloc_6612_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6612_, 0, v_a_6606_);
v___x_6611_ = v_reuseFailAlloc_6612_;
goto v_reusejp_6610_;
}
v_reusejp_6610_:
{
return v___x_6611_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___lam__0___boxed(lean_object* v_pats_6614_, lean_object* v_ty_x3f_6615_, lean_object* v_a_6616_, lean_object* v___y_6617_, lean_object* v___y_6618_, lean_object* v___y_6619_, lean_object* v___y_6620_, lean_object* v___y_6621_, lean_object* v___y_6622_, lean_object* v___y_6623_, lean_object* v___y_6624_, lean_object* v___y_6625_){
_start:
{
lean_object* v_res_6626_; 
v_res_6626_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___lam__0(v_pats_6614_, v_ty_x3f_6615_, v_a_6616_, v___y_6617_, v___y_6618_, v___y_6619_, v___y_6620_, v___y_6621_, v___y_6622_, v___y_6623_, v___y_6624_);
lean_dec(v___y_6618_);
lean_dec_ref(v___y_6617_);
return v_res_6626_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro(lean_object* v_stx_6633_, lean_object* v_a_6634_, lean_object* v_a_6635_, lean_object* v_a_6636_, lean_object* v_a_6637_, lean_object* v_a_6638_, lean_object* v_a_6639_, lean_object* v_a_6640_, lean_object* v_a_6641_){
_start:
{
lean_object* v___x_6643_; uint8_t v___x_6644_; 
v___x_6643_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___closed__1));
lean_inc(v_stx_6633_);
v___x_6644_ = l_Lean_Syntax_isOfKind(v_stx_6633_, v___x_6643_);
if (v___x_6644_ == 0)
{
lean_object* v___x_6645_; 
lean_dec(v_a_6641_);
lean_dec_ref(v_a_6640_);
lean_dec(v_a_6639_);
lean_dec_ref(v_a_6638_);
lean_dec(v_a_6637_);
lean_dec_ref(v_a_6636_);
lean_dec(v_a_6635_);
lean_dec_ref(v_a_6634_);
lean_dec(v_stx_6633_);
v___x_6645_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0___redArg();
return v___x_6645_;
}
else
{
lean_object* v___x_6646_; lean_object* v___x_6647_; lean_object* v_ty_x3f_6649_; lean_object* v___y_6650_; lean_object* v___y_6651_; lean_object* v___y_6652_; lean_object* v___y_6653_; lean_object* v___y_6654_; lean_object* v___y_6655_; lean_object* v___y_6656_; lean_object* v___y_6657_; lean_object* v___x_6671_; lean_object* v___x_6672_; uint8_t v___x_6673_; 
v___x_6646_ = lean_unsigned_to_nat(1u);
v___x_6647_ = l_Lean_Syntax_getArg(v_stx_6633_, v___x_6646_);
v___x_6671_ = lean_unsigned_to_nat(2u);
v___x_6672_ = l_Lean_Syntax_getArg(v_stx_6633_, v___x_6671_);
lean_dec(v_stx_6633_);
v___x_6673_ = l_Lean_Syntax_isNone(v___x_6672_);
if (v___x_6673_ == 0)
{
uint8_t v___x_6674_; 
lean_inc(v___x_6672_);
v___x_6674_ = l_Lean_Syntax_matchesNull(v___x_6672_, v___x_6671_);
if (v___x_6674_ == 0)
{
lean_object* v___x_6675_; 
lean_dec(v___x_6672_);
lean_dec(v___x_6647_);
lean_dec(v_a_6641_);
lean_dec_ref(v_a_6640_);
lean_dec(v_a_6639_);
lean_dec_ref(v_a_6638_);
lean_dec(v_a_6637_);
lean_dec_ref(v_a_6636_);
lean_dec(v_a_6635_);
lean_dec_ref(v_a_6634_);
v___x_6675_ = l_Lean_Elab_throwUnsupportedSyntax___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__0___redArg();
return v___x_6675_;
}
else
{
lean_object* v_ty_x3f_6676_; lean_object* v___x_6677_; 
v_ty_x3f_6676_ = l_Lean_Syntax_getArg(v___x_6672_, v___x_6646_);
lean_dec(v___x_6672_);
v___x_6677_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_6677_, 0, v_ty_x3f_6676_);
v_ty_x3f_6649_ = v___x_6677_;
v___y_6650_ = v_a_6634_;
v___y_6651_ = v_a_6635_;
v___y_6652_ = v_a_6636_;
v___y_6653_ = v_a_6637_;
v___y_6654_ = v_a_6638_;
v___y_6655_ = v_a_6639_;
v___y_6656_ = v_a_6640_;
v___y_6657_ = v_a_6641_;
goto v___jp_6648_;
}
}
else
{
lean_object* v___x_6678_; 
lean_dec(v___x_6672_);
v___x_6678_ = lean_box(0);
v_ty_x3f_6649_ = v___x_6678_;
v___y_6650_ = v_a_6634_;
v___y_6651_ = v_a_6635_;
v___y_6652_ = v_a_6636_;
v___y_6653_ = v_a_6637_;
v___y_6654_ = v_a_6638_;
v___y_6655_ = v_a_6639_;
v___y_6656_ = v_a_6640_;
v___y_6657_ = v_a_6641_;
goto v___jp_6648_;
}
v___jp_6648_:
{
lean_object* v___x_6658_; 
v___x_6658_ = l_Lean_Elab_Tactic_getMainGoal___redArg(v___y_6651_, v___y_6654_, v___y_6655_, v___y_6656_, v___y_6657_);
if (lean_obj_tag(v___x_6658_) == 0)
{
lean_object* v_a_6659_; lean_object* v_pats_6660_; lean_object* v___f_6661_; lean_object* v___x_6662_; 
v_a_6659_ = lean_ctor_get(v___x_6658_, 0);
lean_inc(v_a_6659_);
lean_dec_ref(v___x_6658_);
v_pats_6660_ = l_Lean_Syntax_getArgs(v___x_6647_);
lean_dec(v___x_6647_);
lean_inc(v_a_6659_);
v___f_6661_ = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___lam__0___boxed), 12, 3);
lean_closure_set(v___f_6661_, 0, v_pats_6660_);
lean_closure_set(v___f_6661_, 1, v_ty_x3f_6649_);
lean_closure_set(v___f_6661_, 2, v_a_6659_);
v___x_6662_ = l_Lean_MVarId_withContext___at___00__private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases_spec__2___redArg(v_a_6659_, v___f_6661_, v___y_6650_, v___y_6651_, v___y_6652_, v___y_6653_, v___y_6654_, v___y_6655_, v___y_6656_, v___y_6657_);
return v___x_6662_;
}
else
{
lean_object* v_a_6663_; lean_object* v___x_6665_; uint8_t v_isShared_6666_; uint8_t v_isSharedCheck_6670_; 
lean_dec(v___y_6657_);
lean_dec_ref(v___y_6656_);
lean_dec(v___y_6655_);
lean_dec_ref(v___y_6654_);
lean_dec(v___y_6653_);
lean_dec_ref(v___y_6652_);
lean_dec(v___y_6651_);
lean_dec_ref(v___y_6650_);
lean_dec(v_ty_x3f_6649_);
lean_dec(v___x_6647_);
v_a_6663_ = lean_ctor_get(v___x_6658_, 0);
v_isSharedCheck_6670_ = !lean_is_exclusive(v___x_6658_);
if (v_isSharedCheck_6670_ == 0)
{
v___x_6665_ = v___x_6658_;
v_isShared_6666_ = v_isSharedCheck_6670_;
goto v_resetjp_6664_;
}
else
{
lean_inc(v_a_6663_);
lean_dec(v___x_6658_);
v___x_6665_ = lean_box(0);
v_isShared_6666_ = v_isSharedCheck_6670_;
goto v_resetjp_6664_;
}
v_resetjp_6664_:
{
lean_object* v___x_6668_; 
if (v_isShared_6666_ == 0)
{
v___x_6668_ = v___x_6665_;
goto v_reusejp_6667_;
}
else
{
lean_object* v_reuseFailAlloc_6669_; 
v_reuseFailAlloc_6669_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6669_, 0, v_a_6663_);
v___x_6668_ = v_reuseFailAlloc_6669_;
goto v_reusejp_6667_;
}
v_reusejp_6667_:
{
return v___x_6668_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___boxed(lean_object* v_stx_6679_, lean_object* v_a_6680_, lean_object* v_a_6681_, lean_object* v_a_6682_, lean_object* v_a_6683_, lean_object* v_a_6684_, lean_object* v_a_6685_, lean_object* v_a_6686_, lean_object* v_a_6687_, lean_object* v_a_6688_){
_start:
{
lean_object* v_res_6689_; 
v_res_6689_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro(v_stx_6679_, v_a_6680_, v_a_6681_, v_a_6682_, v_a_6683_, v_a_6684_, v_a_6685_, v_a_6686_, v_a_6687_);
return v_res_6689_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro__1(){
_start:
{
lean_object* v___x_6695_; lean_object* v___x_6696_; lean_object* v___x_6697_; lean_object* v___x_6698_; lean_object* v___x_6699_; 
v___x_6695_ = l_Lean_Elab_Tactic_tacticElabAttribute;
v___x_6696_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___closed__1));
v___x_6697_ = ((lean_object*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro__1___closed__1));
v___x_6698_ = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___boxed), 10, 0);
v___x_6699_ = l_Lean_KeyedDeclsAttribute_addBuiltin___redArg(v___x_6695_, v___x_6696_, v___x_6697_, v___x_6698_);
return v___x_6699_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro__1___boxed(lean_object* v_a_6700_){
_start:
{
lean_object* v_res_6701_; 
v_res_6701_ = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro__1();
return v_res_6701_;
}
}
lean_object* runtime_initialize_Lean_Elab_Tactic_ElabTerm(uint8_t builtin);
lean_object* runtime_initialize_Lean_Elab_Tactic_Induction(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Replace(uint8_t builtin);
lean_object* runtime_initialize_Init_Omega(uint8_t builtin);
lean_object* runtime_initialize_Lean_Elab_Binders(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Generalize(uint8_t builtin);
static bool _G_runtime_initialized = false;
LEAN_EXPORT lean_object* runtime_initialize_Lean_Elab_Tactic_RCases(uint8_t builtin) {
lean_object * res;
if (_G_runtime_initialized) return lean_io_result_mk_ok(lean_box(0));
_G_runtime_initialized = true;
res = runtime_initialize_Lean_Elab_Tactic_ElabTerm(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Elab_Tactic_Induction(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Replace(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Init_Omega(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Elab_Binders(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Generalize(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = l_Lean_Elab_Tactic_RCases_initFn_00___x40_Lean_Elab_Tactic_RCases_1136698826____hygCtx___hyg_4_();
if (lean_io_result_is_error(res)) return res;
l_Lean_Elab_Tactic_RCases_linter_unusedRCasesPattern = lean_io_result_get_value(res);
lean_mark_persistent(l_Lean_Elab_Tactic_RCases_linter_unusedRCasesPattern);
lean_dec_ref(res);
res = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRCases__1();
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalObtain__1();
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = l___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro___regBuiltin___private_Lean_Elab_Tactic_RCases_0__Lean_Elab_Tactic_RCases_evalRIntro__1();
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
return lean_io_result_mk_ok(lean_box(0));
}
static bool _G_meta_initialized = false;
LEAN_EXPORT lean_object* meta_initialize_Lean_Elab_Tactic_RCases(uint8_t builtin) {
lean_object * res;
if (_G_meta_initialized) return lean_io_result_mk_ok(lean_box(0));
_G_meta_initialized = true;
return lean_io_result_mk_ok(lean_box(0));
}
lean_object* initialize_Lean_Elab_Tactic_ElabTerm(uint8_t builtin);
lean_object* initialize_Lean_Elab_Tactic_Induction(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Replace(uint8_t builtin);
lean_object* initialize_Init_Omega(uint8_t builtin);
lean_object* initialize_Lean_Elab_Binders(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Generalize(uint8_t builtin);
static bool _G_initialized = false;
LEAN_EXPORT lean_object* initialize_Lean_Elab_Tactic_RCases(uint8_t builtin) {
lean_object * res;
if (_G_initialized) return lean_io_result_mk_ok(lean_box(0));
_G_initialized = true;
res = initialize_Lean_Elab_Tactic_ElabTerm(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Elab_Tactic_Induction(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Replace(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Init_Omega(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Elab_Binders(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Generalize(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Elab_Tactic_RCases(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = meta_initialize_Lean_Elab_Tactic_RCases(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
return initialize_Lean_Elab_Tactic_RCases(builtin);
}
#ifdef __cplusplus
}
#endif
