// Lean compiler output
// Module: Lean.Meta.SizeOf
// Imports: public import Lean.AddDecl public import Lean.Meta.AppBuilder public import Lean.DefEqAttrib import Lean.Meta.WHNF
#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_replaceRef(lean_object*, lean_object*);
lean_object* lean_st_ref_get(lean_object*);
lean_object* l_Lean_Name_mkStr1(lean_object*);
lean_object* l_Lean_stringToMessageData(lean_object*);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Expr_getAppFn(lean_object*);
lean_object* l_List_reverse___redArg(lean_object*);
lean_object* l_Lean_MessageData_ofName(lean_object*);
lean_object* lean_name_append_after(lean_object*, lean_object*);
uint8_t l_Lean_Environment_contains(lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Expr_appArg_x21(lean_object*);
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_whnf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Environment_find_x3f(lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Expr_getAppNumArgs(lean_object*);
lean_object* l_Lean_Expr_sort___override(lean_object*);
lean_object* lean_mk_array(lean_object*, 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* l_Array_toSubarray___redArg(lean_object*, lean_object*, lean_object*);
lean_object* l_Subarray_copy___redArg(lean_object*);
lean_object* l_Lean_mkAppN(lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
lean_object* l_Array_append___redArg(lean_object*, lean_object*);
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkAppM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkForallFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkRecName(lean_object*);
lean_object* l_Lean_MessageData_ofConstName(lean_object*, uint8_t);
lean_object* l_Lean_Environment_findAsync_x3f(lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_AsyncConstantInfo_toConstantInfo(lean_object*);
lean_object* l_mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_instMonadEST(lean_object*, lean_object*);
lean_object* l_ReaderT_instMonad___redArg(lean_object*);
lean_object* l_Lean_Core_instMonadCoreM___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Core_instMonadCoreM___lam__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_instFunctorOfMonad___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_instFunctorOfMonad___redArg___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_instApplicativeOfMonad___redArg___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_instApplicativeOfMonad___redArg___lam__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_instApplicativeOfMonad___redArg___lam__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_instMonadMetaM___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_instMonadMetaM___lam__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_instInhabitedOfMonad___redArg(lean_object*, lean_object*);
lean_object* lean_panic_fn(lean_object*, lean_object*);
lean_object* l_Lean_mkConst(lean_object*, lean_object*);
lean_object* l_Lean_Expr_constLevels_x21(lean_object*);
size_t lean_array_size(lean_object*);
uint8_t lean_usize_dec_lt(size_t, size_t);
lean_object* lean_array_uget_borrowed(lean_object*, size_t);
extern lean_object* l_Lean_instInhabitedExpr;
lean_object* l_Lean_Meta_isTypeCorrect(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
size_t lean_usize_add(size_t, size_t);
lean_object* lean_array_get_borrowed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkLambdaFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingImp(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*);
uint8_t l_Lean_Expr_isAppOfArity(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_appFn_x21(lean_object*);
lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_unfoldDefinition(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_indentExpr(lean_object*);
lean_object* l_Lean_Name_append(lean_object*, lean_object*);
uint8_t l_Lean_Name_isAnonymous(lean_object*);
lean_object* l_Lean_Environment_setExporting(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*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_isPrivateName(lean_object*);
extern lean_object* l_Lean_unknownIdentifierMessageTag;
lean_object* l_Lean_ConstantInfo_type(lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* lean_array_fget(lean_object*, lean_object*);
lean_object* lean_array_uget(lean_object*, size_t);
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
lean_object* l_Lean_Meta_mkAppOptM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
lean_object* l_Lean_Meta_whnfI(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_natAdd_x3f(lean_object*);
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_RecursorVal_getFirstIndexIdx(lean_object*);
lean_object* l_Lean_RecursorVal_getMajorIdx(lean_object*);
lean_object* l_List_tail_x21___redArg(lean_object*);
lean_object* l_Lean_Name_mkStr4(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l___private_Lean_Util_Trace_0__Lean_checkTraceOption_go(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MessageData_ofExpr(lean_object*);
lean_object* lean_st_ref_take(lean_object*);
double lean_float_of_nat(lean_object*);
lean_object* l_Lean_PersistentArray_push___redArg(lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkEqRefl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkCongrArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkCongr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr3(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkEqSymm(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkEqTrans(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingAux(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_addDecl(lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_maxRecDepthErrorMessage;
lean_object* l_Lean_MessageData_ofFormat(lean_object*);
lean_object* l_Lean_PersistentArray_toArray___redArg(lean_object*);
lean_object* l_Lean_Level_succ___override(lean_object*);
lean_object* l_Lean_mkLevelParam(lean_object*);
lean_object* l_Lean_enableRealizationsForConst(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_withInstImplicitAsImplicit___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_instInhabitedMetaM___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkNumeral(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_isApp(lean_object*);
size_t lean_usize_of_nat(lean_object*);
uint8_t lean_usize_dec_eq(size_t, size_t);
uint8_t lean_expr_eqv(lean_object*, lean_object*);
uint8_t l_Lean_Expr_isForall(lean_object*);
lean_object* l_Lean_Expr_bindingBody_x21(lean_object*);
uint8_t l_Lean_Expr_isArrow(lean_object*);
lean_object* l_Lean_Expr_bindingDomain_x21(lean_object*);
uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkAdd(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_inferDefEqAttr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_InductiveVal_isNested(lean_object*);
lean_object* l_Lean_Meta_getLevel(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkApp3(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_str___override(lean_object*, lean_object*);
lean_object* l_Lean_isInductiveCore_x3f(lean_object*, lean_object*);
lean_object* lean_array_fget_borrowed(lean_object*, lean_object*);
uint8_t l_Lean_Exception_isInterrupt(lean_object*);
uint8_t l_Lean_Exception_isRuntime(lean_object*);
lean_object* l_Lean_Core_mkFreshUserName(lean_object*, lean_object*, lean_object*);
lean_object* lean_name_append_index_after(lean_object*, lean_object*);
lean_object* l_Lean_RecursorVal_getFirstMinorIdx(lean_object*);
lean_object* l_Std_DTreeMap_Internal_Impl_insert___at___00Lean_NameMap_insert_spec__0___redArg(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_trace_profiler;
lean_object* l_Lean_TraceResult_toEmoji(uint8_t);
lean_object* l_Lean_PersistentArray_append___redArg(lean_object*, lean_object*);
double lean_float_sub(double, double);
uint8_t lean_float_decLt(double, double);
extern lean_object* l_Lean_trace_profiler_useHeartbeats;
extern lean_object* l_Lean_trace_profiler_threshold;
double lean_float_div(double, double);
lean_object* l_Lean_indentD(lean_object*);
lean_object* l_Lean_Meta_isInductivePredicate(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_register_option(lean_object*, lean_object*);
lean_object* l_List_head_x21___redArg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_registerInstance(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_mk(lean_object*);
lean_object* l_Lean_getAttributeImpl(lean_object*, lean_object*);
lean_object* l_Lean_SourceInfo_fromRef(lean_object*, uint8_t);
lean_object* l_Array_mkArray0(lean_object*);
lean_object* l_Lean_Syntax_node2(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_node1(lean_object*, lean_object*, lean_object*);
lean_object* lean_io_mono_nanos_now();
lean_object* lean_io_get_num_heartbeats();
lean_object* l_Lean_isPrivateName___boxed(lean_object*);
uint8_t l_List_any___redArg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_mapErrorImp___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_num___override(lean_object*, lean_object*);
lean_object* l_Lean_registerTraceClass(lean_object*, uint8_t, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___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_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_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_Meta_withLocalDecl___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__1___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__1___redArg___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__1___redArg(lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__1(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0___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 = "SizeOf"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0___closed__0 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0___closed__0_value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___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*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0___closed__0_value),LEAN_SCALAR_PTR_LITERAL(65, 190, 244, 45, 165, 196, 61, 198)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0___closed__1 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0___closed__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0___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_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___closed__0_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 = "inst"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___closed__0 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___closed__0_value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___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_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___closed__0_value),LEAN_SCALAR_PTR_LITERAL(170, 188, 240, 205, 110, 63, 170, 91)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___closed__1 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___closed__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___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_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___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_Meta_SizeOf_0__Lean_Meta_mkLocalInstances___redArg___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_Meta_SizeOf_0__Lean_Meta_mkLocalInstances___redArg___closed__0 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances___redArg___closed__0_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances___boxed(lean_object*, lean_object*, lean_object*, 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_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f_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_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Array_contains___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f_spec__0(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_contains___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f_spec__0___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis___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_Meta_SizeOf_0__Lean_Meta_isRecField_x3f_spec__0(lean_object*, 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_Meta_SizeOf_0__Lean_Meta_isRecField_x3f_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_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_isRecField_x3f___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*)(((size_t)(0) << 1) | 1)),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_isRecField_x3f___closed__0 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_isRecField_x3f___closed__0_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_isRecField_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_isRecField_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg___closed__0_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 = "trace"};
static const lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg___closed__0 = (const lean_object*)&l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg___closed__0_value;
static const lean_ctor_object l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg___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_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg___closed__0_value),LEAN_SCALAR_PTR_LITERAL(212, 145, 141, 177, 67, 149, 127, 197)}};
static const lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg___closed__1 = (const lean_object*)&l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg___closed__1_value;
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___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 = "Nat"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__0 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__0_value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___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*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__0_value),LEAN_SCALAR_PTR_LITERAL(155, 221, 223, 104, 58, 13, 204, 158)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__1 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__1_value;
static lean_once_cell_t l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__2;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___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_addMessageContextFull___at___00Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static double l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__0;
static const lean_string_object l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 1, .m_capacity = 1, .m_length = 0, .m_data = ""};
static const lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__1 = (const lean_object*)&l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__1_value;
static const lean_array_object l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__2_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_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__2 = (const lean_object*)&l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__2_value;
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__0_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 = "Meta"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__0 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__0_value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__1_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 = "sizeOf"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__1 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__1_value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__2_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_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__0_value),LEAN_SCALAR_PTR_LITERAL(211, 174, 49, 251, 64, 24, 251, 1)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___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_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__2_value_aux_0),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__1_value),LEAN_SCALAR_PTR_LITERAL(157, 123, 61, 199, 19, 54, 20, 234)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__2 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__2_value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__3_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 = "motive: "};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__3 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__3_value;
static lean_once_cell_t l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__4_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__4;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives___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_Meta_SizeOf_0__Lean_Meta_ignoreFieldType___closed__0_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 = "Unit"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreFieldType___closed__0 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreFieldType___closed__0_value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreFieldType___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_Meta_SizeOf_0__Lean_Meta_ignoreFieldType___closed__0_value),LEAN_SCALAR_PTR_LITERAL(230, 84, 106, 234, 91, 210, 120, 136)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreFieldType___closed__1 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreFieldType___closed__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreFieldType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreFieldType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreField(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreField___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH___closed__0_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 = "unit"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH___closed__0 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH___closed__0_value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH___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___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreFieldType___closed__0_value),LEAN_SCALAR_PTR_LITERAL(230, 84, 106, 234, 91, 210, 120, 136)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH___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_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH___closed__1_value_aux_0),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH___closed__0_value),LEAN_SCALAR_PTR_LITERAL(87, 186, 243, 194, 96, 12, 218, 7)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH___closed__1 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH___closed__1_value;
static lean_once_cell_t l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH___closed__2;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__1___redArg(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_ctor_object l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__0___closed__0_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_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0___closed__0_value),LEAN_SCALAR_PTR_LITERAL(65, 190, 244, 45, 165, 196, 61, 198)}};
static const lean_ctor_object l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__0___closed__0_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_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__0___closed__0_value_aux_0),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__1_value),LEAN_SCALAR_PTR_LITERAL(151, 205, 72, 249, 57, 72, 20, 171)}};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__0___closed__0 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__0___closed__0_value;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__0(lean_object*, lean_object*, 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_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_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*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___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_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg(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_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__0___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 8, .m_capacity = 8, .m_length = 7, .m_data = "minor: "};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__0___closed__0 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__0___closed__0_value;
static lean_once_cell_t l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__0___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__0___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__0(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___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*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_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_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_closure_object l_panic___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_spec__0___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_Lean_Meta_instInhabitedMetaM___lam__0___boxed, .m_arity = 5, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_panic___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_spec__0___redArg___closed__0 = (const lean_object*)&l_panic___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_spec__0___redArg___closed__0_value;
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 17, .m_capacity = 17, .m_length = 16, .m_data = "Lean.Meta.SizeOf"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___closed__0 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___closed__0_value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 53, .m_capacity = 53, .m_length = 52, .m_data = "_private.Lean.Meta.SizeOf.0.Lean.Meta.mkSizeOfMinors"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___closed__1 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___closed__1_value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 60, .m_capacity = 60, .m_length = 59, .m_data = "assertion violation: minorFVars.size == minorFVars'.size\n  "};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___closed__2 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___closed__2_value;
static lean_once_cell_t l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___closed__3;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___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_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___lam__0(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__0;
static lean_once_cell_t l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__1;
static lean_once_cell_t l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__2;
static lean_once_cell_t l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__3;
LEAN_EXPORT lean_object* l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__0(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_Meta_mkSizeOfFn___lam__1___closed__0_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 = "val: "};
static const lean_object* l_Lean_Meta_mkSizeOfFn___lam__1___closed__0 = (const lean_object*)&l_Lean_Meta_mkSizeOfFn___lam__1___closed__0_value;
static lean_once_cell_t l_Lean_Meta_mkSizeOfFn___lam__1___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_mkSizeOfFn___lam__1___closed__1;
static const lean_string_object l_Lean_Meta_mkSizeOfFn___lam__1___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 = "type: "};
static const lean_object* l_Lean_Meta_mkSizeOfFn___lam__1___closed__2 = (const lean_object*)&l_Lean_Meta_mkSizeOfFn___lam__1___closed__2_value;
static lean_once_cell_t l_Lean_Meta_mkSizeOfFn___lam__1___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_mkSizeOfFn___lam__1___closed__3;
static const lean_string_object l_Lean_Meta_mkSizeOfFn___lam__1___closed__4_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 = "declName: "};
static const lean_object* l_Lean_Meta_mkSizeOfFn___lam__1___closed__4 = (const lean_object*)&l_Lean_Meta_mkSizeOfFn___lam__1___closed__4_value;
static lean_once_cell_t l_Lean_Meta_mkSizeOfFn___lam__1___closed__5_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_mkSizeOfFn___lam__1___closed__5;
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__1(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__1___boxed(lean_object**);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___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_Lean_Meta_mkSizeOfFn___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_Meta_mkSizeOfFn___lam__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__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_List_mapTR_loop___at___00Lean_Meta_mkSizeOfFn_spec__1(lean_object*, lean_object*);
static lean_once_cell_t l_Lean_Meta_mkSizeOfFn___lam__4___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_mkSizeOfFn___lam__4___closed__0;
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__4___boxed(lean_object**);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__5___boxed(lean_object**);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___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_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__6___boxed(lean_object**);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__0;
static const lean_closure_object l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__1_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_Core_instMonadCoreM___lam__0___boxed, .m_arity = 5, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__1 = (const lean_object*)&l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__1_value;
static const lean_closure_object l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__2_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_Core_instMonadCoreM___lam__1___boxed, .m_arity = 7, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__2 = (const lean_object*)&l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__2_value;
static const lean_closure_object l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__3_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_Meta_instMonadMetaM___lam__0___boxed, .m_arity = 7, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__3 = (const lean_object*)&l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__3_value;
static const lean_closure_object l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__4_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_Meta_instMonadMetaM___lam__1___boxed, .m_arity = 9, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__4 = (const lean_object*)&l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__4_value;
LEAN_EXPORT lean_object* l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___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_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__0 = (const lean_object*)&l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__0_value;
static lean_once_cell_t l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__1;
static const lean_string_object l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__2_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 = "` is not a recursor"};
static const lean_object* l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__2 = (const lean_object*)&l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__2_value;
static lean_once_cell_t l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__3;
static const lean_string_object l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 14, .m_capacity = 14, .m_length = 13, .m_data = "Lean.MonadEnv"};
static const lean_object* l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__4 = (const lean_object*)&l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__4_value;
static const lean_string_object l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__5_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 = "Lean.isRec\?"};
static const lean_object* l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__5 = (const lean_object*)&l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__5_value;
static const lean_string_object l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__6_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_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__6 = (const lean_object*)&l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__6_value;
static lean_once_cell_t l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__7_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__7;
LEAN_EXPORT lean_object* l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_Meta_mkSizeOfFn___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 = "recName: "};
static const lean_object* l_Lean_Meta_mkSizeOfFn___closed__0 = (const lean_object*)&l_Lean_Meta_mkSizeOfFn___closed__0_value;
static lean_once_cell_t l_Lean_Meta_mkSizeOfFn___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_mkSizeOfFn___closed__1;
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Meta_mkSizeOfFns_spec__2___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Meta_mkSizeOfFns_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_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfFns_spec__1___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfFns_spec__1___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_getConstInfoInduct___at___00Lean_Meta_mkSizeOfFns_spec__0___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 27, .m_capacity = 27, .m_length = 26, .m_data = "` is not an inductive type"};
static const lean_object* l_Lean_getConstInfoInduct___at___00Lean_Meta_mkSizeOfFns_spec__0___closed__0 = (const lean_object*)&l_Lean_getConstInfoInduct___at___00Lean_Meta_mkSizeOfFns_spec__0___closed__0_value;
static lean_once_cell_t l_Lean_getConstInfoInduct___at___00Lean_Meta_mkSizeOfFns_spec__0___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_getConstInfoInduct___at___00Lean_Meta_mkSizeOfFns_spec__0___closed__1;
LEAN_EXPORT lean_object* l_Lean_getConstInfoInduct___at___00Lean_Meta_mkSizeOfFns_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getConstInfoInduct___at___00Lean_Meta_mkSizeOfFns_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_array_object l_Lean_Meta_mkSizeOfFns___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_Meta_mkSizeOfFns___closed__0 = (const lean_object*)&l_Lean_Meta_mkSizeOfFns___closed__0_value;
static const lean_string_object l_Lean_Meta_mkSizeOfFns___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 8, .m_capacity = 8, .m_length = 7, .m_data = "_sizeOf"};
static const lean_object* l_Lean_Meta_mkSizeOfFns___closed__1 = (const lean_object*)&l_Lean_Meta_mkSizeOfFns___closed__1_value;
static const lean_ctor_object l_Lean_Meta_mkSizeOfFns___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*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Meta_mkSizeOfFns___closed__1_value),LEAN_SCALAR_PTR_LITERAL(210, 95, 129, 124, 156, 242, 61, 104)}};
static const lean_object* l_Lean_Meta_mkSizeOfFns___closed__2 = (const lean_object*)&l_Lean_Meta_mkSizeOfFns___closed__2_value;
static const lean_ctor_object l_Lean_Meta_mkSizeOfFns___closed__3_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*)(((size_t)(1) << 1) | 1))}};
static const lean_object* l_Lean_Meta_mkSizeOfFns___closed__3 = (const lean_object*)&l_Lean_Meta_mkSizeOfFns___closed__3_value;
static const lean_ctor_object l_Lean_Meta_mkSizeOfFns___closed__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*)&l_Lean_Meta_mkSizeOfFns___closed__0_value),((lean_object*)&l_Lean_Meta_mkSizeOfFns___closed__3_value)}};
static const lean_object* l_Lean_Meta_mkSizeOfFns___closed__4 = (const lean_object*)&l_Lean_Meta_mkSizeOfFns___closed__4_value;
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFns(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFns___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfFns_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfFns_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Meta_mkSizeOfFns_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_object*);
LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Meta_mkSizeOfFns_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_Meta_mkSizeOfSpecLemmaName___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 = "sizeOf_spec"};
static const lean_object* l_Lean_Meta_mkSizeOfSpecLemmaName___closed__0 = (const lean_object*)&l_Lean_Meta_mkSizeOfSpecLemmaName___closed__0_value;
static const lean_ctor_object l_Lean_Meta_mkSizeOfSpecLemmaName___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_Lean_Meta_mkSizeOfSpecLemmaName___closed__0_value),LEAN_SCALAR_PTR_LITERAL(26, 156, 136, 91, 46, 126, 16, 102)}};
static const lean_object* l_Lean_Meta_mkSizeOfSpecLemmaName___closed__1 = (const lean_object*)&l_Lean_Meta_mkSizeOfSpecLemmaName___closed__1_value;
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfSpecLemmaName(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfSpecLemmaInstance___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfSpecLemmaInstance___lam__0___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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__6___redArg___boxed(lean_object*, lean_object*, lean_object*, 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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1___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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1___redArg___closed__0 = (const lean_object*)&l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1___redArg___closed__0_value;
static lean_once_cell_t l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1___redArg___closed__1;
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1___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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1___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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_WFExtrinsicFix_0__WellFounded_opaqueFix_u2082___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__1___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__2(size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__2___boxed(lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 52, .m_capacity = 52, .m_length = 51, .m_data = "failed to apply 'sizeOf' spec, constructor expected"};
static const lean_object* l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__0 = (const lean_object*)&l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__0_value;
static lean_once_cell_t l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__1;
static const lean_closure_object l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__2_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_Meta_mkSizeOfSpecLemmaInstance___lam__0___boxed, .m_arity = 7, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__2 = (const lean_object*)&l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__2_value;
static lean_once_cell_t l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3;
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfSpecLemmaInstance(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfSpecLemmaInstance___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_WFExtrinsicFix_0__WellFounded_opaqueFix_u2082___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0___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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1(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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_Meta_SizeOfSpecNested_throwUnexpected_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_Meta_SizeOfSpecNested_throwUnexpected_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__0_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 = "failed to generate sizeOf theorem for "};
static const lean_object* l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__0 = (const lean_object*)&l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__0_value;
static lean_once_cell_t l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__1;
static const lean_string_object l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 72, .m_capacity = 72, .m_length = 71, .m_data = " (use `set_option genSizeOfSpec false` to disable theorem generation), "};
static const lean_object* l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__2 = (const lean_object*)&l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__2_value;
static lean_once_cell_t l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__3;
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_throwUnexpected(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_throwUnexpected___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_Meta_SizeOfSpecNested_throwUnexpected_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_Meta_SizeOfSpecNested_throwUnexpected_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 71, .m_capacity = 71, .m_length = 70, .m_data = ", (use `set_option genSizeOfSpec false` to disable theorem generation)"};
static const lean_object* l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg___closed__0 = (const lean_object*)&l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg___closed__0_value;
static lean_once_cell_t l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg___closed__1;
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_throwFailed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_throwFailed___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_recToSizeOf___closed__0_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 = "expected recursor application "};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_recToSizeOf___closed__0 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_recToSizeOf___closed__0_value;
static lean_once_cell_t l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_recToSizeOf___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_recToSizeOf___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_recToSizeOf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_recToSizeOf___boxed(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_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf_spec__0___redArg___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*)(((size_t)(0) << 1) | 1)),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf_spec__0___redArg___closed__0 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf_spec__0___redArg___closed__0_value;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf_spec__0___redArg(lean_object*, lean_object*, 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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf_spec__0___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_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf___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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf_spec__0(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_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf_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*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__1___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__1___redArg___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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep_spec__3___redArg(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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep_spec__3___redArg___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_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 8, .m_capacity = 8, .m_length = 7, .m_data = "runtime"};
static const lean_object* l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__0 = (const lean_object*)&l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__0_value;
static const lean_string_object l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__1_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 = "maxRecDepth"};
static const lean_object* l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__1 = (const lean_object*)&l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__1_value;
static const lean_ctor_object l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__2_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_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__0_value),LEAN_SCALAR_PTR_LITERAL(2, 128, 123, 132, 117, 90, 116, 101)}};
static const lean_ctor_object l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___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_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__2_value_aux_0),((lean_object*)&l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__1_value),LEAN_SCALAR_PTR_LITERAL(88, 230, 219, 180, 63, 89, 202, 3)}};
static const lean_object* l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__2 = (const lean_object*)&l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__2_value;
static lean_once_cell_t l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__3;
static lean_once_cell_t l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__4_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__4;
static lean_once_cell_t l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__5_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__5;
LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00Lean_getConstInfoRec___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__10_spec__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00Lean_getConstInfoRec___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__10_spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getConstInfoRec___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getConstInfoRec___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7___redArg___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__13___redArg(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__13___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___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__11___lam__0(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__11___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_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7___redArg(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7___redArg___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_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__11(lean_object*, lean_object*, lean_object*, size_t, size_t, 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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6_spec__6___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6_spec__6___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_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6_spec__6___redArg(lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6_spec__6___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_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6___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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__1___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 = "x"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__1___closed__0 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__1___closed__0_value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(243, 101, 181, 186, 114, 114, 131, 189)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__1___closed__1 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__1___closed__1_value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___lam__1___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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___lam__1___boxed__const__1 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___lam__1___boxed__const__1_value;
static const lean_string_object l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12___lam__0___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 = "Eq"};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12___lam__0___closed__0 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12___lam__0___closed__0_value;
static const lean_ctor_object l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12___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*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12___lam__0___closed__0_value),LEAN_SCALAR_PTR_LITERAL(143, 37, 101, 248, 9, 246, 191, 223)}};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12___lam__0___closed__1 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12___lam__0___closed__1_value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__0_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 = "expected 'Nat.add' application, lhs is "};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__0 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__0_value;
static lean_once_cell_t l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__1;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 8, .m_capacity = 8, .m_length = 7, .m_data = "\nrhs is"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__2 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__2_value;
static lean_once_cell_t l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__3;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___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 = "_eq"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___closed__0 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___closed__0_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__1___boxed(lean_object**);
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___closed__1_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 = "aux"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___closed__1 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___closed__1_value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___closed__2_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_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__0_value),LEAN_SCALAR_PTR_LITERAL(211, 174, 49, 251, 64, 24, 251, 1)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___closed__2_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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___closed__2_value_aux_0),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__1_value),LEAN_SCALAR_PTR_LITERAL(157, 123, 61, 199, 19, 54, 20, 234)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___closed__2_value_aux_1),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___closed__1_value),LEAN_SCALAR_PTR_LITERAL(132, 105, 157, 86, 24, 108, 63, 49)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___closed__2 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___closed__2_value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__3_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 = " =\?= "};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__3 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__3_value;
static lean_once_cell_t l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__4_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__4;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__1_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 = "step"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__1 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__1_value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__0_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 = "minor"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__0 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__0_value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__2_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_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__0_value),LEAN_SCALAR_PTR_LITERAL(211, 174, 49, 251, 64, 24, 251, 1)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__2_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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__2_value_aux_0),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__1_value),LEAN_SCALAR_PTR_LITERAL(157, 123, 61, 199, 19, 54, 20, 234)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__2_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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__2_value_aux_1),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__0_value),LEAN_SCALAR_PTR_LITERAL(222, 92, 77, 13, 196, 27, 121, 90)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__2_value_aux_2),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__1_value),LEAN_SCALAR_PTR_LITERAL(222, 19, 48, 48, 239, 244, 202, 92)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__2 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__2_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__4_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 = "add"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__4 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__4_value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___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___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__0_value),LEAN_SCALAR_PTR_LITERAL(155, 221, 223, 104, 58, 13, 204, 158)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__5_value_aux_0),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__4_value),LEAN_SCALAR_PTR_LITERAL(210, 189, 86, 121, 130, 22, 242, 236)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__5 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__5_value;
static lean_once_cell_t l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__6_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__6;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___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___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__0_value),LEAN_SCALAR_PTR_LITERAL(211, 174, 49, 251, 64, 24, 251, 1)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__7_value_aux_0),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__1_value),LEAN_SCALAR_PTR_LITERAL(157, 123, 61, 199, 19, 54, 20, 234)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__7_value_aux_1),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__0_value),LEAN_SCALAR_PTR_LITERAL(222, 92, 77, 13, 196, 27, 121, 90)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__7 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__7_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof(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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12___lam__0(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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12___lam__0___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_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___lam__0(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_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___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_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___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_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___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_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__0___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 = "thmValue: "};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__0___closed__0 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__0___closed__0_value;
static lean_once_cell_t l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__0___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__0___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__0(lean_object*, lean_object*, 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*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__0___boxed(lean_object**);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__1(lean_object*, 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*, 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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__13(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_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_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep_spec__3(lean_object*, lean_object*, size_t, size_t, 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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6_spec__6(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_step(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_step___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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop___closed__0_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 = "loop"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop___closed__0 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop___closed__0_value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop___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___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__0_value),LEAN_SCALAR_PTR_LITERAL(211, 174, 49, 251, 64, 24, 251, 1)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop___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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop___closed__1_value_aux_0),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__1_value),LEAN_SCALAR_PTR_LITERAL(157, 123, 61, 199, 19, 54, 20, 234)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop___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_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop___closed__1_value_aux_1),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop___closed__0_value),LEAN_SCALAR_PTR_LITERAL(173, 185, 67, 169, 161, 115, 178, 199)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop___closed__1 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop___closed__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_main___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__2___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 14, .m_capacity = 14, .m_length = 13, .m_data = "type mismatch"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__0 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__0_value;
static lean_once_cell_t l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__1;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 28, .m_capacity = 28, .m_length = 27, .m_data = "sizeOf spec theorem value: "};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__2 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__2_value;
static lean_once_cell_t l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__3;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 27, .m_capacity = 27, .m_length = 26, .m_data = "sizeOf spec theorem type: "};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__4 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__4_value;
static lean_once_cell_t l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__5_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__5;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 27, .m_capacity = 27, .m_length = 26, .m_data = "sizeOf spec theorem name: "};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__6 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__6_value;
static lean_once_cell_t l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__7_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__7;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__8_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 = "_sizeOf_inst"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__8 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__8_value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___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*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__8_value),LEAN_SCALAR_PTR_LITERAL(90, 161, 26, 192, 108, 87, 142, 145)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__9 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__9_value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__10_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 = "ctor: "};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__10 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__10_value;
static lean_once_cell_t l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__11_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__11;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__12_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 = ", target: "};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__12 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__12_value;
static lean_once_cell_t l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__13_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__13;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___boxed(lean_object**);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__1___boxed(lean_object**);
LEAN_EXPORT lean_object* l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__0_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 = "` is not a constructor"};
static const lean_object* l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__0 = (const lean_object*)&l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__0_value;
static lean_once_cell_t l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__1;
static const lean_string_object l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__2_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 = "Lean.isCtor\?"};
static const lean_object* l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__2 = (const lean_object*)&l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__2_value;
static lean_once_cell_t l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__3;
LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_ofExcept___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__1___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_ofExcept___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__0_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 = "simp"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__0 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__0_value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___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_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__0_value),LEAN_SCALAR_PTR_LITERAL(195, 61, 75, 186, 44, 210, 52, 194)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__1 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__1_value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___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 = "grind"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__2 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__2_value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___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_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__2_value),LEAN_SCALAR_PTR_LITERAL(223, 115, 241, 203, 181, 236, 81, 221)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__3 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__3_value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__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___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__4 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__4_value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__5_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___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__5 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__5_value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__6_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 = "Attr"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__6 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__6_value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___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___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__4_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___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_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__7_value_aux_0),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__5_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___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_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__7_value_aux_1),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__6_value),LEAN_SCALAR_PTR_LITERAL(7, 175, 252, 195, 22, 42, 161, 63)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___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_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__7_value_aux_2),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__2_value),LEAN_SCALAR_PTR_LITERAL(11, 96, 164, 147, 27, 132, 207, 84)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__7 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__7_value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__8_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___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__8 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__8_value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___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*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__8_value),LEAN_SCALAR_PTR_LITERAL(24, 58, 49, 223, 146, 207, 197, 136)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__9 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__9_value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__10_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 = "grindMod"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__10 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__10_value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__11_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_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__4_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__11_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_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__11_value_aux_0),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__5_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__11_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_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__11_value_aux_1),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__6_value),LEAN_SCALAR_PTR_LITERAL(7, 175, 252, 195, 22, 42, 161, 63)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___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*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__11_value_aux_2),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__10_value),LEAN_SCALAR_PTR_LITERAL(166, 252, 83, 80, 136, 168, 19, 119)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__11 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__11_value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__12_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 8, .m_capacity = 8, .m_length = 7, .m_data = "grindEq"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__12 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__12_value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__13_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_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__4_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__13_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_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__13_value_aux_0),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__5_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__13_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_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__13_value_aux_1),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__6_value),LEAN_SCALAR_PTR_LITERAL(7, 175, 252, 195, 22, 42, 161, 63)}};
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__13_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_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__13_value_aux_2),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__12_value),LEAN_SCALAR_PTR_LITERAL(179, 34, 219, 24, 240, 38, 65, 204)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__13 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__13_value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__14_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_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__14 = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__14_value;
static lean_once_cell_t l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__15_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__15;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___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_ofExcept___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_ofExcept___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems_spec__0___redArg___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_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems_spec__1(lean_object*, 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_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems_spec__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_List_forIn_x27_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems_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*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Option_register___at___00Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4__spec__0(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Option_register___at___00Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4__spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_Meta_initFn___closed__0_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4__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 = "genSizeOf"};
static const lean_object* l_Lean_Meta_initFn___closed__0_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Meta_initFn___closed__0_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4__value;
static const lean_ctor_object l_Lean_Meta_initFn___closed__1_00___x40_Lean_Meta_SizeOf_3942519336____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*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Meta_initFn___closed__0_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(219, 41, 231, 171, 40, 215, 128, 53)}};
static const lean_object* l_Lean_Meta_initFn___closed__1_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Meta_initFn___closed__1_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4__value;
static const lean_string_object l_Lean_Meta_initFn___closed__2_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 62, .m_capacity = 62, .m_length = 61, .m_data = "generate `SizeOf` instance for inductive types and structures"};
static const lean_object* l_Lean_Meta_initFn___closed__2_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Meta_initFn___closed__2_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4__value;
static const lean_ctor_object l_Lean_Meta_initFn___closed__3_00___x40_Lean_Meta_SizeOf_3942519336____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_Meta_initFn___closed__2_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4__value)}};
static const lean_object* l_Lean_Meta_initFn___closed__3_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Meta_initFn___closed__3_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4__value;
static const lean_ctor_object l_Lean_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_3942519336____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___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__4_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_3942519336____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_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4__value_aux_0),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__0_value),LEAN_SCALAR_PTR_LITERAL(194, 50, 106, 158, 41, 60, 103, 214)}};
static const lean_ctor_object l_Lean_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_3942519336____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_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4__value_aux_1),((lean_object*)&l_Lean_Meta_initFn___closed__0_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(142, 3, 54, 82, 25, 122, 33, 63)}};
static const lean_object* l_Lean_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4__value;
LEAN_EXPORT lean_object* l_Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4_();
LEAN_EXPORT lean_object* l_Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4____boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_genSizeOf;
static const lean_string_object l_Lean_Meta_initFn___closed__0_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 14, .m_capacity = 14, .m_length = 13, .m_data = "genSizeOfSpec"};
static const lean_object* l_Lean_Meta_initFn___closed__0_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Meta_initFn___closed__0_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4__value;
static const lean_ctor_object l_Lean_Meta_initFn___closed__1_00___x40_Lean_Meta_SizeOf_3847602515____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*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Meta_initFn___closed__0_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(92, 60, 10, 78, 174, 36, 49, 227)}};
static const lean_object* l_Lean_Meta_initFn___closed__1_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Meta_initFn___closed__1_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4__value;
static const lean_string_object l_Lean_Meta_initFn___closed__2_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4__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 = "generate `SizeOf` specification theorems for automatically generated instances"};
static const lean_object* l_Lean_Meta_initFn___closed__2_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Meta_initFn___closed__2_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4__value;
static const lean_ctor_object l_Lean_Meta_initFn___closed__3_00___x40_Lean_Meta_SizeOf_3847602515____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_Meta_initFn___closed__2_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4__value)}};
static const lean_object* l_Lean_Meta_initFn___closed__3_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Meta_initFn___closed__3_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4__value;
static const lean_ctor_object l_Lean_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_3847602515____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___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__4_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_3847602515____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_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4__value_aux_0),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__0_value),LEAN_SCALAR_PTR_LITERAL(194, 50, 106, 158, 41, 60, 103, 214)}};
static const lean_ctor_object l_Lean_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_3847602515____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_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4__value_aux_1),((lean_object*)&l_Lean_Meta_initFn___closed__0_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(185, 30, 68, 23, 199, 116, 0, 249)}};
static const lean_object* l_Lean_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4__value;
LEAN_EXPORT lean_object* l_Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4_();
LEAN_EXPORT lean_object* l_Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4____boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_genSizeOfSpec;
LEAN_EXPORT uint8_t l_Lean_Option_get___at___00Lean_Meta_mkSizeOfInstances_spec__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00Lean_Meta_mkSizeOfInstances_spec__1___boxed(lean_object*, lean_object*);
static lean_once_cell_t l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___redArg___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___redArg___closed__0;
static lean_once_cell_t l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___redArg___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___redArg(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___lam__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00Lean_Meta_mkSizeOfInstances_spec__2___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00Lean_Meta_mkSizeOfInstances_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__0(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___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 = "mk"};
static const lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__0 = (const lean_object*)&l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__0_value;
static const lean_string_object l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__1_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_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__1 = (const lean_object*)&l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__1_value;
static lean_once_cell_t l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__2;
static const lean_string_object l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___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 = " : "};
static const lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__3 = (const lean_object*)&l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__3_value;
static lean_once_cell_t l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__4_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__4;
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1(lean_object*, 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*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___boxed(lean_object**);
static const lean_string_object l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__2___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 = "m"};
static const lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__2___closed__0 = (const lean_object*)&l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__2___closed__0_value;
static const lean_ctor_object l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__2___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_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__2___closed__0_value),LEAN_SCALAR_PTR_LITERAL(165, 239, 73, 172, 230, 126, 139, 134)}};
static const lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__2___closed__1 = (const lean_object*)&l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__2___closed__1_value;
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__2(lean_object*, lean_object*, 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*, lean_object*);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__2___boxed(lean_object**);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__3(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*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___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_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___lam__2(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___lam__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_mapMUnsafe_map___at___00__private_Lean_Util_Trace_0__Lean_addTraceNode___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__6_spec__7(size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Util_Trace_0__Lean_addTraceNode___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__6_spec__7___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_addTraceNode___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_addTraceNode___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_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_Lean_Option_get___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__8(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__8___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__7___redArg(lean_object*);
LEAN_EXPORT lean_object* l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__7___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Except_toTraceResult___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__5(lean_object*);
LEAN_EXPORT lean_object* l_Except_toTraceResult___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__5___boxed(lean_object*);
static const lean_string_object l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___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_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__0 = (const lean_object*)&l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__0_value;
static lean_once_cell_t l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__1;
static const lean_string_object l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__2_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 = "<exception thrown while producing trace node message>"};
static const lean_object* l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__2 = (const lean_object*)&l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__2_value;
static lean_once_cell_t l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__3;
static lean_once_cell_t l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__4_once = LEAN_ONCE_CELL_INITIALIZER;
static double l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__4;
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5(lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l_Lean_Meta_mkSizeOfInstances___lam__3___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static double l_Lean_Meta_mkSizeOfInstances___lam__3___closed__0;
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___lam__3(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___lam__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_withoutExporting___at___00Lean_Meta_mkSizeOfInstances_spec__0___redArg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_withoutExporting___at___00Lean_Meta_mkSizeOfInstances_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_closure_object l_Lean_Meta_mkSizeOfInstances___lam__4___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_isPrivateName___boxed, .m_arity = 1, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Meta_mkSizeOfInstances___lam__4___closed__0 = (const lean_object*)&l_Lean_Meta_mkSizeOfInstances___lam__4___closed__0_value;
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___lam__4(lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___lam__4___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_Lean_Meta_mkSizeOfInstances___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 43, .m_capacity = 43, .m_length = 42, .m_data = "failed to generate `SizeOf` instance for `"};
static const lean_object* l_Lean_Meta_mkSizeOfInstances___closed__0 = (const lean_object*)&l_Lean_Meta_mkSizeOfInstances___closed__0_value;
static lean_once_cell_t l_Lean_Meta_mkSizeOfInstances___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_mkSizeOfInstances___closed__1;
static const lean_string_object l_Lean_Meta_mkSizeOfInstances___closed__2_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_Meta_mkSizeOfInstances___closed__2 = (const lean_object*)&l_Lean_Meta_mkSizeOfInstances___closed__2_value;
static lean_once_cell_t l_Lean_Meta_mkSizeOfInstances___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_mkSizeOfInstances___closed__3;
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_withoutExporting___at___00Lean_Meta_mkSizeOfInstances_spec__0(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_withoutExporting___at___00Lean_Meta_mkSizeOfInstances_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00Lean_Meta_mkSizeOfInstances_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00Lean_Meta_mkSizeOfInstances_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_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_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__0_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__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_Meta_SizeOf_0__Lean_Meta_initFn___closed__0_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__0_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__1_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_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*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__0_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(103, 214, 75, 80, 34, 198, 193, 153)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__1_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__1_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__2_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_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_Meta_SizeOf_0__Lean_Meta_initFn___closed__1_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__4_value),LEAN_SCALAR_PTR_LITERAL(90, 18, 126, 130, 18, 214, 172, 143)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__2_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__2_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__3_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_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_Meta_SizeOf_0__Lean_Meta_initFn___closed__2_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__0_value),LEAN_SCALAR_PTR_LITERAL(30, 196, 118, 96, 111, 225, 34, 188)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__3_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__3_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_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_Meta_SizeOf_0__Lean_Meta_initFn___closed__3_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0___closed__0_value),LEAN_SCALAR_PTR_LITERAL(56, 71, 184, 17, 85, 89, 154, 165)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__5_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__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_Meta_SizeOf_0__Lean_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),((lean_object*)(((size_t)(0) << 1) | 1)),LEAN_SCALAR_PTR_LITERAL(177, 31, 187, 153, 217, 60, 89, 246)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__5_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__5_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__6_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_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_Meta_SizeOf_0__Lean_Meta_initFn___closed__5_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__4_value),LEAN_SCALAR_PTR_LITERAL(116, 46, 169, 158, 189, 224, 40, 136)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__6_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__6_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__7_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_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_Meta_SizeOf_0__Lean_Meta_initFn___closed__6_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__0_value),LEAN_SCALAR_PTR_LITERAL(168, 32, 72, 114, 221, 190, 164, 184)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__7_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__7_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__8_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_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 = "initFn"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__8_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__8_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__9_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_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_Meta_SizeOf_0__Lean_Meta_initFn___closed__7_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__8_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(69, 143, 37, 4, 35, 187, 44, 37)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__9_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__9_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__10_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__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_Meta_SizeOf_0__Lean_Meta_initFn___closed__10_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__10_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__11_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_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_Meta_SizeOf_0__Lean_Meta_initFn___closed__9_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__10_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(56, 137, 6, 66, 249, 114, 250, 138)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__11_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__11_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__12_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_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_Meta_SizeOf_0__Lean_Meta_initFn___closed__11_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__4_value),LEAN_SCALAR_PTR_LITERAL(49, 76, 1, 171, 92, 81, 80, 149)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__12_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__12_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__13_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_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_Meta_SizeOf_0__Lean_Meta_initFn___closed__12_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__0_value),LEAN_SCALAR_PTR_LITERAL(209, 31, 127, 209, 92, 172, 230, 128)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__13_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__13_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__14_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_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_Meta_SizeOf_0__Lean_Meta_initFn___closed__13_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0___closed__0_value),LEAN_SCALAR_PTR_LITERAL(227, 233, 92, 237, 107, 220, 9, 22)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__14_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__14_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__15_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__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_Meta_SizeOf_0__Lean_Meta_initFn___closed__14_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),((lean_object*)(((size_t)(726572898) << 1) | 1)),LEAN_SCALAR_PTR_LITERAL(181, 120, 32, 188, 173, 212, 161, 114)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__15_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__15_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__16_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 8, .m_capacity = 8, .m_length = 7, .m_data = "_hygCtx"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__16_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__16_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__17_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_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_Meta_SizeOf_0__Lean_Meta_initFn___closed__15_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__16_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(38, 148, 73, 236, 17, 172, 177, 89)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__17_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__17_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__18_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_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 = "_hyg"};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__18_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__18_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__19_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_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_Meta_SizeOf_0__Lean_Meta_initFn___closed__17_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__18_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(90, 61, 171, 157, 156, 200, 15, 24)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__19_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__19_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__20_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__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_Meta_SizeOf_0__Lean_Meta_initFn___closed__19_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value),((lean_object*)(((size_t)(2) << 1) | 1)),LEAN_SCALAR_PTR_LITERAL(67, 117, 193, 80, 251, 192, 189, 227)}};
static const lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__20_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__20_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2__value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_();
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2____boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg___lam__0(lean_object* v_k_1_, lean_object* v_b_2_, lean_object* v_c_3_, lean_object* v___y_4_, lean_object* v___y_5_, lean_object* v___y_6_, lean_object* v___y_7_){
_start:
{
lean_object* v___x_9_; 
v___x_9_ = lean_apply_7(v_k_1_, v_b_2_, v_c_3_, v___y_4_, v___y_5_, v___y_6_, v___y_7_, lean_box(0));
return v___x_9_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg___lam__0___boxed(lean_object* v_k_10_, lean_object* v_b_11_, lean_object* v_c_12_, lean_object* v___y_13_, lean_object* v___y_14_, lean_object* v___y_15_, lean_object* v___y_16_, lean_object* v___y_17_){
_start:
{
lean_object* v_res_18_; 
v_res_18_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg___lam__0(v_k_10_, v_b_11_, v_c_12_, v___y_13_, v___y_14_, v___y_15_, v___y_16_);
return v_res_18_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg(lean_object* v_type_19_, lean_object* v_k_20_, uint8_t v_cleanupAnnotations_21_, uint8_t v_whnfType_22_, lean_object* v___y_23_, lean_object* v___y_24_, lean_object* v___y_25_, lean_object* v___y_26_){
_start:
{
lean_object* v___f_28_; lean_object* v___x_29_; 
v___f_28_ = lean_alloc_closure((void*)(l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg___lam__0___boxed), 8, 1);
lean_closure_set(v___f_28_, 0, v_k_20_);
v___x_29_ = l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingImp(lean_box(0), v_type_19_, v___f_28_, v_cleanupAnnotations_21_, v_whnfType_22_, v___y_23_, v___y_24_, v___y_25_, v___y_26_);
if (lean_obj_tag(v___x_29_) == 0)
{
lean_object* v_a_30_; lean_object* v___x_32_; uint8_t v_isShared_33_; uint8_t v_isSharedCheck_37_; 
v_a_30_ = lean_ctor_get(v___x_29_, 0);
v_isSharedCheck_37_ = !lean_is_exclusive(v___x_29_);
if (v_isSharedCheck_37_ == 0)
{
v___x_32_ = v___x_29_;
v_isShared_33_ = v_isSharedCheck_37_;
goto v_resetjp_31_;
}
else
{
lean_inc(v_a_30_);
lean_dec(v___x_29_);
v___x_32_ = lean_box(0);
v_isShared_33_ = v_isSharedCheck_37_;
goto v_resetjp_31_;
}
v_resetjp_31_:
{
lean_object* v___x_35_; 
if (v_isShared_33_ == 0)
{
v___x_35_ = v___x_32_;
goto v_reusejp_34_;
}
else
{
lean_object* v_reuseFailAlloc_36_; 
v_reuseFailAlloc_36_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_36_, 0, v_a_30_);
v___x_35_ = v_reuseFailAlloc_36_;
goto v_reusejp_34_;
}
v_reusejp_34_:
{
return v___x_35_;
}
}
}
else
{
lean_object* v_a_38_; lean_object* v___x_40_; uint8_t v_isShared_41_; uint8_t v_isSharedCheck_45_; 
v_a_38_ = lean_ctor_get(v___x_29_, 0);
v_isSharedCheck_45_ = !lean_is_exclusive(v___x_29_);
if (v_isSharedCheck_45_ == 0)
{
v___x_40_ = v___x_29_;
v_isShared_41_ = v_isSharedCheck_45_;
goto v_resetjp_39_;
}
else
{
lean_inc(v_a_38_);
lean_dec(v___x_29_);
v___x_40_ = lean_box(0);
v_isShared_41_ = v_isSharedCheck_45_;
goto v_resetjp_39_;
}
v_resetjp_39_:
{
lean_object* v___x_43_; 
if (v_isShared_41_ == 0)
{
v___x_43_ = v___x_40_;
goto v_reusejp_42_;
}
else
{
lean_object* v_reuseFailAlloc_44_; 
v_reuseFailAlloc_44_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_44_, 0, v_a_38_);
v___x_43_ = v_reuseFailAlloc_44_;
goto v_reusejp_42_;
}
v_reusejp_42_:
{
return v___x_43_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg___boxed(lean_object* v_type_46_, lean_object* v_k_47_, lean_object* v_cleanupAnnotations_48_, lean_object* v_whnfType_49_, lean_object* v___y_50_, lean_object* v___y_51_, lean_object* v___y_52_, lean_object* v___y_53_, lean_object* v___y_54_){
_start:
{
uint8_t v_cleanupAnnotations_boxed_55_; uint8_t v_whnfType_boxed_56_; lean_object* v_res_57_; 
v_cleanupAnnotations_boxed_55_ = lean_unbox(v_cleanupAnnotations_48_);
v_whnfType_boxed_56_ = lean_unbox(v_whnfType_49_);
v_res_57_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg(v_type_46_, v_k_47_, v_cleanupAnnotations_boxed_55_, v_whnfType_boxed_56_, v___y_50_, v___y_51_, v___y_52_, v___y_53_);
return v_res_57_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0(lean_object* v_00_u03b1_58_, lean_object* v_type_59_, lean_object* v_k_60_, uint8_t v_cleanupAnnotations_61_, uint8_t v_whnfType_62_, lean_object* v___y_63_, lean_object* v___y_64_, lean_object* v___y_65_, lean_object* v___y_66_){
_start:
{
lean_object* v___x_68_; 
v___x_68_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg(v_type_59_, v_k_60_, v_cleanupAnnotations_61_, v_whnfType_62_, v___y_63_, v___y_64_, v___y_65_, v___y_66_);
return v___x_68_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___boxed(lean_object* v_00_u03b1_69_, lean_object* v_type_70_, lean_object* v_k_71_, lean_object* v_cleanupAnnotations_72_, lean_object* v_whnfType_73_, lean_object* v___y_74_, lean_object* v___y_75_, lean_object* v___y_76_, lean_object* v___y_77_, lean_object* v___y_78_){
_start:
{
uint8_t v_cleanupAnnotations_boxed_79_; uint8_t v_whnfType_boxed_80_; lean_object* v_res_81_; 
v_cleanupAnnotations_boxed_79_ = lean_unbox(v_cleanupAnnotations_72_);
v_whnfType_boxed_80_ = lean_unbox(v_whnfType_73_);
v_res_81_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0(v_00_u03b1_69_, v_type_70_, v_k_71_, v_cleanupAnnotations_boxed_79_, v_whnfType_boxed_80_, v___y_74_, v___y_75_, v___y_76_, v___y_77_);
return v_res_81_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__1___redArg___lam__0(lean_object* v_k_82_, lean_object* v_b_83_, lean_object* v___y_84_, lean_object* v___y_85_, lean_object* v___y_86_, lean_object* v___y_87_){
_start:
{
lean_object* v___x_89_; 
v___x_89_ = lean_apply_6(v_k_82_, v_b_83_, v___y_84_, v___y_85_, v___y_86_, v___y_87_, lean_box(0));
return v___x_89_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__1___redArg___lam__0___boxed(lean_object* v_k_90_, lean_object* v_b_91_, lean_object* v___y_92_, lean_object* v___y_93_, lean_object* v___y_94_, lean_object* v___y_95_, lean_object* v___y_96_){
_start:
{
lean_object* v_res_97_; 
v_res_97_ = l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__1___redArg___lam__0(v_k_90_, v_b_91_, v___y_92_, v___y_93_, v___y_94_, v___y_95_);
return v_res_97_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__1___redArg(lean_object* v_name_98_, uint8_t v_bi_99_, lean_object* v_type_100_, lean_object* v_k_101_, uint8_t v_kind_102_, lean_object* v___y_103_, lean_object* v___y_104_, lean_object* v___y_105_, lean_object* v___y_106_){
_start:
{
lean_object* v___f_108_; lean_object* v___x_109_; 
v___f_108_ = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__1___redArg___lam__0___boxed), 7, 1);
lean_closure_set(v___f_108_, 0, v_k_101_);
v___x_109_ = l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp(lean_box(0), v_name_98_, v_bi_99_, v_type_100_, v___f_108_, v_kind_102_, v___y_103_, v___y_104_, v___y_105_, v___y_106_);
if (lean_obj_tag(v___x_109_) == 0)
{
lean_object* v_a_110_; lean_object* v___x_112_; uint8_t v_isShared_113_; uint8_t v_isSharedCheck_117_; 
v_a_110_ = lean_ctor_get(v___x_109_, 0);
v_isSharedCheck_117_ = !lean_is_exclusive(v___x_109_);
if (v_isSharedCheck_117_ == 0)
{
v___x_112_ = v___x_109_;
v_isShared_113_ = v_isSharedCheck_117_;
goto v_resetjp_111_;
}
else
{
lean_inc(v_a_110_);
lean_dec(v___x_109_);
v___x_112_ = lean_box(0);
v_isShared_113_ = v_isSharedCheck_117_;
goto v_resetjp_111_;
}
v_resetjp_111_:
{
lean_object* v___x_115_; 
if (v_isShared_113_ == 0)
{
v___x_115_ = v___x_112_;
goto v_reusejp_114_;
}
else
{
lean_object* v_reuseFailAlloc_116_; 
v_reuseFailAlloc_116_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_116_, 0, v_a_110_);
v___x_115_ = v_reuseFailAlloc_116_;
goto v_reusejp_114_;
}
v_reusejp_114_:
{
return v___x_115_;
}
}
}
else
{
lean_object* v_a_118_; lean_object* v___x_120_; uint8_t v_isShared_121_; uint8_t v_isSharedCheck_125_; 
v_a_118_ = lean_ctor_get(v___x_109_, 0);
v_isSharedCheck_125_ = !lean_is_exclusive(v___x_109_);
if (v_isSharedCheck_125_ == 0)
{
v___x_120_ = v___x_109_;
v_isShared_121_ = v_isSharedCheck_125_;
goto v_resetjp_119_;
}
else
{
lean_inc(v_a_118_);
lean_dec(v___x_109_);
v___x_120_ = lean_box(0);
v_isShared_121_ = v_isSharedCheck_125_;
goto v_resetjp_119_;
}
v_resetjp_119_:
{
lean_object* v___x_123_; 
if (v_isShared_121_ == 0)
{
v___x_123_ = v___x_120_;
goto v_reusejp_122_;
}
else
{
lean_object* v_reuseFailAlloc_124_; 
v_reuseFailAlloc_124_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_124_, 0, v_a_118_);
v___x_123_ = v_reuseFailAlloc_124_;
goto v_reusejp_122_;
}
v_reusejp_122_:
{
return v___x_123_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__1___redArg___boxed(lean_object* v_name_126_, lean_object* v_bi_127_, lean_object* v_type_128_, lean_object* v_k_129_, lean_object* v_kind_130_, lean_object* v___y_131_, lean_object* v___y_132_, lean_object* v___y_133_, lean_object* v___y_134_, lean_object* v___y_135_){
_start:
{
uint8_t v_bi_boxed_136_; uint8_t v_kind_boxed_137_; lean_object* v_res_138_; 
v_bi_boxed_136_ = lean_unbox(v_bi_127_);
v_kind_boxed_137_ = lean_unbox(v_kind_130_);
v_res_138_ = l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__1___redArg(v_name_126_, v_bi_boxed_136_, v_type_128_, v_k_129_, v_kind_boxed_137_, v___y_131_, v___y_132_, v___y_133_, v___y_134_);
return v_res_138_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__1(lean_object* v_00_u03b1_139_, lean_object* v_name_140_, uint8_t v_bi_141_, lean_object* v_type_142_, lean_object* v_k_143_, uint8_t v_kind_144_, lean_object* v___y_145_, lean_object* v___y_146_, lean_object* v___y_147_, lean_object* v___y_148_){
_start:
{
lean_object* v___x_150_; 
v___x_150_ = l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__1___redArg(v_name_140_, v_bi_141_, v_type_142_, v_k_143_, v_kind_144_, v___y_145_, v___y_146_, v___y_147_, v___y_148_);
return v___x_150_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__1___boxed(lean_object* v_00_u03b1_151_, lean_object* v_name_152_, lean_object* v_bi_153_, lean_object* v_type_154_, lean_object* v_k_155_, lean_object* v_kind_156_, lean_object* v___y_157_, lean_object* v___y_158_, lean_object* v___y_159_, lean_object* v___y_160_, lean_object* v___y_161_){
_start:
{
uint8_t v_bi_boxed_162_; uint8_t v_kind_boxed_163_; lean_object* v_res_164_; 
v_bi_boxed_162_ = lean_unbox(v_bi_153_);
v_kind_boxed_163_ = lean_unbox(v_kind_156_);
v_res_164_ = l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__1(v_00_u03b1_151_, v_name_152_, v_bi_boxed_162_, v_type_154_, v_k_155_, v_kind_boxed_163_, v___y_157_, v___y_158_, v___y_159_, v___y_160_);
return v_res_164_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0(lean_object* v_param_168_, uint8_t v___x_169_, lean_object* v_xs_170_, lean_object* v_x_171_, lean_object* v___y_172_, lean_object* v___y_173_, lean_object* v___y_174_, lean_object* v___y_175_){
_start:
{
lean_object* v___y_178_; uint8_t v___y_179_; lean_object* v_a_184_; lean_object* v___x_187_; lean_object* v___x_188_; lean_object* v___x_189_; lean_object* v___x_190_; lean_object* v___x_191_; lean_object* v___x_192_; 
v___x_187_ = l_Lean_mkAppN(v_param_168_, v_xs_170_);
v___x_188_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0___closed__1));
v___x_189_ = lean_unsigned_to_nat(1u);
v___x_190_ = lean_mk_empty_array_with_capacity(v___x_189_);
v___x_191_ = lean_array_push(v___x_190_, v___x_187_);
lean_inc(v___y_175_);
lean_inc_ref(v___y_174_);
lean_inc(v___y_173_);
lean_inc_ref(v___y_172_);
v___x_192_ = l_Lean_Meta_mkAppM(v___x_188_, v___x_191_, v___y_172_, v___y_173_, v___y_174_, v___y_175_);
if (lean_obj_tag(v___x_192_) == 0)
{
lean_object* v_a_193_; lean_object* v___x_195_; uint8_t v_isShared_196_; uint8_t v_isSharedCheck_212_; 
v_a_193_ = lean_ctor_get(v___x_192_, 0);
v_isSharedCheck_212_ = !lean_is_exclusive(v___x_192_);
if (v_isSharedCheck_212_ == 0)
{
v___x_195_ = v___x_192_;
v_isShared_196_ = v_isSharedCheck_212_;
goto v_resetjp_194_;
}
else
{
lean_inc(v_a_193_);
lean_dec(v___x_192_);
v___x_195_ = lean_box(0);
v_isShared_196_ = v_isSharedCheck_212_;
goto v_resetjp_194_;
}
v_resetjp_194_:
{
uint8_t v___x_197_; uint8_t v___x_198_; lean_object* v___x_199_; 
v___x_197_ = 0;
v___x_198_ = 1;
v___x_199_ = l_Lean_Meta_mkForallFVars(v_xs_170_, v_a_193_, v___x_197_, v___x_169_, v___x_169_, v___x_198_, v___y_172_, v___y_173_, v___y_174_, v___y_175_);
lean_dec(v___y_175_);
lean_dec_ref(v___y_174_);
lean_dec(v___y_173_);
lean_dec_ref(v___y_172_);
if (lean_obj_tag(v___x_199_) == 0)
{
lean_object* v_a_200_; lean_object* v___x_202_; uint8_t v_isShared_203_; uint8_t v_isSharedCheck_210_; 
v_a_200_ = lean_ctor_get(v___x_199_, 0);
v_isSharedCheck_210_ = !lean_is_exclusive(v___x_199_);
if (v_isSharedCheck_210_ == 0)
{
v___x_202_ = v___x_199_;
v_isShared_203_ = v_isSharedCheck_210_;
goto v_resetjp_201_;
}
else
{
lean_inc(v_a_200_);
lean_dec(v___x_199_);
v___x_202_ = lean_box(0);
v_isShared_203_ = v_isSharedCheck_210_;
goto v_resetjp_201_;
}
v_resetjp_201_:
{
lean_object* v___x_205_; 
if (v_isShared_196_ == 0)
{
lean_ctor_set_tag(v___x_195_, 1);
lean_ctor_set(v___x_195_, 0, v_a_200_);
v___x_205_ = v___x_195_;
goto v_reusejp_204_;
}
else
{
lean_object* v_reuseFailAlloc_209_; 
v_reuseFailAlloc_209_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_209_, 0, v_a_200_);
v___x_205_ = v_reuseFailAlloc_209_;
goto v_reusejp_204_;
}
v_reusejp_204_:
{
lean_object* v___x_207_; 
if (v_isShared_203_ == 0)
{
lean_ctor_set(v___x_202_, 0, v___x_205_);
v___x_207_ = v___x_202_;
goto v_reusejp_206_;
}
else
{
lean_object* v_reuseFailAlloc_208_; 
v_reuseFailAlloc_208_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_208_, 0, v___x_205_);
v___x_207_ = v_reuseFailAlloc_208_;
goto v_reusejp_206_;
}
v_reusejp_206_:
{
return v___x_207_;
}
}
}
}
else
{
lean_object* v_a_211_; 
lean_del_object(v___x_195_);
v_a_211_ = lean_ctor_get(v___x_199_, 0);
lean_inc(v_a_211_);
lean_dec_ref(v___x_199_);
v_a_184_ = v_a_211_;
goto v___jp_183_;
}
}
}
else
{
lean_object* v_a_213_; 
lean_dec(v___y_175_);
lean_dec_ref(v___y_174_);
lean_dec(v___y_173_);
lean_dec_ref(v___y_172_);
v_a_213_ = lean_ctor_get(v___x_192_, 0);
lean_inc(v_a_213_);
lean_dec_ref(v___x_192_);
v_a_184_ = v_a_213_;
goto v___jp_183_;
}
v___jp_177_:
{
if (v___y_179_ == 0)
{
lean_object* v___x_180_; lean_object* v___x_181_; 
lean_dec_ref(v___y_178_);
v___x_180_ = lean_box(0);
v___x_181_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_181_, 0, v___x_180_);
return v___x_181_;
}
else
{
lean_object* v___x_182_; 
v___x_182_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_182_, 0, v___y_178_);
return v___x_182_;
}
}
v___jp_183_:
{
uint8_t v___x_185_; 
v___x_185_ = l_Lean_Exception_isInterrupt(v_a_184_);
if (v___x_185_ == 0)
{
uint8_t v___x_186_; 
lean_inc_ref(v_a_184_);
v___x_186_ = l_Lean_Exception_isRuntime(v_a_184_);
v___y_178_ = v_a_184_;
v___y_179_ = v___x_186_;
goto v___jp_177_;
}
else
{
v___y_178_ = v_a_184_;
v___y_179_ = v___x_185_;
goto v___jp_177_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0___boxed(lean_object* v_param_214_, lean_object* v___x_215_, lean_object* v_xs_216_, lean_object* v_x_217_, lean_object* v___y_218_, lean_object* v___y_219_, lean_object* v___y_220_, lean_object* v___y_221_, lean_object* v___y_222_){
_start:
{
uint8_t v___x_2513__boxed_223_; lean_object* v_res_224_; 
v___x_2513__boxed_223_ = lean_unbox(v___x_215_);
v_res_224_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0(v_param_214_, v___x_2513__boxed_223_, v_xs_216_, v_x_217_, v___y_218_, v___y_219_, v___y_220_, v___y_221_);
lean_dec_ref(v_x_217_);
lean_dec_ref(v_xs_216_);
return v_res_224_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__1___boxed(lean_object* v_i_228_, lean_object* v_insts_229_, lean_object* v_params_230_, lean_object* v_k_231_, lean_object* v_inst_232_, lean_object* v___y_233_, lean_object* v___y_234_, lean_object* v___y_235_, lean_object* v___y_236_, lean_object* v___y_237_){
_start:
{
lean_object* v_res_238_; 
v_res_238_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__1(v_i_228_, v_insts_229_, v_params_230_, v_k_231_, v_inst_232_, v___y_233_, v___y_234_, v___y_235_, v___y_236_);
lean_dec(v_i_228_);
return v_res_238_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg(lean_object* v_params_239_, lean_object* v_k_240_, lean_object* v_i_241_, lean_object* v_insts_242_, lean_object* v_a_243_, lean_object* v_a_244_, lean_object* v_a_245_, lean_object* v_a_246_){
_start:
{
lean_object* v___x_248_; uint8_t v___x_249_; 
v___x_248_ = lean_array_get_size(v_params_239_);
v___x_249_ = lean_nat_dec_lt(v_i_241_, v___x_248_);
if (v___x_249_ == 0)
{
lean_object* v___x_250_; 
lean_dec(v_i_241_);
lean_dec_ref(v_params_239_);
v___x_250_ = lean_apply_6(v_k_240_, v_insts_242_, v_a_243_, v_a_244_, v_a_245_, v_a_246_, lean_box(0));
return v___x_250_;
}
else
{
lean_object* v_param_251_; lean_object* v___x_252_; 
v_param_251_ = lean_array_fget_borrowed(v_params_239_, v_i_241_);
lean_inc(v_a_246_);
lean_inc_ref(v_a_245_);
lean_inc(v_a_244_);
lean_inc_ref(v_a_243_);
lean_inc(v_param_251_);
v___x_252_ = lean_infer_type(v_param_251_, v_a_243_, v_a_244_, v_a_245_, v_a_246_);
if (lean_obj_tag(v___x_252_) == 0)
{
lean_object* v_a_253_; lean_object* v___x_254_; lean_object* v___f_255_; uint8_t v___x_256_; lean_object* v___x_257_; 
v_a_253_ = lean_ctor_get(v___x_252_, 0);
lean_inc(v_a_253_);
lean_dec_ref(v___x_252_);
v___x_254_ = lean_box(v___x_249_);
lean_inc(v_param_251_);
v___f_255_ = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0___boxed), 9, 2);
lean_closure_set(v___f_255_, 0, v_param_251_);
lean_closure_set(v___f_255_, 1, v___x_254_);
v___x_256_ = 0;
lean_inc(v_a_246_);
lean_inc_ref(v_a_245_);
lean_inc(v_a_244_);
lean_inc_ref(v_a_243_);
v___x_257_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg(v_a_253_, v___f_255_, v___x_256_, v___x_256_, v_a_243_, v_a_244_, v_a_245_, v_a_246_);
if (lean_obj_tag(v___x_257_) == 0)
{
lean_object* v_a_258_; 
v_a_258_ = lean_ctor_get(v___x_257_, 0);
lean_inc(v_a_258_);
lean_dec_ref(v___x_257_);
if (lean_obj_tag(v_a_258_) == 0)
{
lean_object* v___x_259_; lean_object* v___x_260_; 
v___x_259_ = lean_unsigned_to_nat(1u);
v___x_260_ = lean_nat_add(v_i_241_, v___x_259_);
lean_dec(v_i_241_);
v_i_241_ = v___x_260_;
goto _start;
}
else
{
lean_object* v_val_262_; lean_object* v___x_263_; lean_object* v___x_264_; 
v_val_262_ = lean_ctor_get(v_a_258_, 0);
lean_inc(v_val_262_);
lean_dec_ref(v_a_258_);
v___x_263_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___closed__1));
lean_inc(v_a_246_);
lean_inc_ref(v_a_245_);
v___x_264_ = l_Lean_Core_mkFreshUserName(v___x_263_, v_a_245_, v_a_246_);
if (lean_obj_tag(v___x_264_) == 0)
{
lean_object* v_a_265_; lean_object* v___f_266_; uint8_t v___x_267_; uint8_t v___x_268_; lean_object* v___x_269_; 
v_a_265_ = lean_ctor_get(v___x_264_, 0);
lean_inc(v_a_265_);
lean_dec_ref(v___x_264_);
v___f_266_ = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__1___boxed), 10, 4);
lean_closure_set(v___f_266_, 0, v_i_241_);
lean_closure_set(v___f_266_, 1, v_insts_242_);
lean_closure_set(v___f_266_, 2, v_params_239_);
lean_closure_set(v___f_266_, 3, v_k_240_);
v___x_267_ = 3;
v___x_268_ = 0;
v___x_269_ = l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__1___redArg(v_a_265_, v___x_267_, v_val_262_, v___f_266_, v___x_268_, v_a_243_, v_a_244_, v_a_245_, v_a_246_);
return v___x_269_;
}
else
{
lean_object* v_a_270_; lean_object* v___x_272_; uint8_t v_isShared_273_; uint8_t v_isSharedCheck_277_; 
lean_dec(v_val_262_);
lean_dec(v_a_246_);
lean_dec_ref(v_a_245_);
lean_dec(v_a_244_);
lean_dec_ref(v_a_243_);
lean_dec_ref(v_insts_242_);
lean_dec(v_i_241_);
lean_dec_ref(v_k_240_);
lean_dec_ref(v_params_239_);
v_a_270_ = lean_ctor_get(v___x_264_, 0);
v_isSharedCheck_277_ = !lean_is_exclusive(v___x_264_);
if (v_isSharedCheck_277_ == 0)
{
v___x_272_ = v___x_264_;
v_isShared_273_ = v_isSharedCheck_277_;
goto v_resetjp_271_;
}
else
{
lean_inc(v_a_270_);
lean_dec(v___x_264_);
v___x_272_ = lean_box(0);
v_isShared_273_ = v_isSharedCheck_277_;
goto v_resetjp_271_;
}
v_resetjp_271_:
{
lean_object* v___x_275_; 
if (v_isShared_273_ == 0)
{
v___x_275_ = v___x_272_;
goto v_reusejp_274_;
}
else
{
lean_object* v_reuseFailAlloc_276_; 
v_reuseFailAlloc_276_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_276_, 0, v_a_270_);
v___x_275_ = v_reuseFailAlloc_276_;
goto v_reusejp_274_;
}
v_reusejp_274_:
{
return v___x_275_;
}
}
}
}
}
else
{
lean_object* v_a_278_; lean_object* v___x_280_; uint8_t v_isShared_281_; uint8_t v_isSharedCheck_285_; 
lean_dec(v_a_246_);
lean_dec_ref(v_a_245_);
lean_dec(v_a_244_);
lean_dec_ref(v_a_243_);
lean_dec_ref(v_insts_242_);
lean_dec(v_i_241_);
lean_dec_ref(v_k_240_);
lean_dec_ref(v_params_239_);
v_a_278_ = lean_ctor_get(v___x_257_, 0);
v_isSharedCheck_285_ = !lean_is_exclusive(v___x_257_);
if (v_isSharedCheck_285_ == 0)
{
v___x_280_ = v___x_257_;
v_isShared_281_ = v_isSharedCheck_285_;
goto v_resetjp_279_;
}
else
{
lean_inc(v_a_278_);
lean_dec(v___x_257_);
v___x_280_ = lean_box(0);
v_isShared_281_ = v_isSharedCheck_285_;
goto v_resetjp_279_;
}
v_resetjp_279_:
{
lean_object* v___x_283_; 
if (v_isShared_281_ == 0)
{
v___x_283_ = v___x_280_;
goto v_reusejp_282_;
}
else
{
lean_object* v_reuseFailAlloc_284_; 
v_reuseFailAlloc_284_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_284_, 0, v_a_278_);
v___x_283_ = v_reuseFailAlloc_284_;
goto v_reusejp_282_;
}
v_reusejp_282_:
{
return v___x_283_;
}
}
}
}
else
{
lean_object* v_a_286_; lean_object* v___x_288_; uint8_t v_isShared_289_; uint8_t v_isSharedCheck_293_; 
lean_dec(v_a_246_);
lean_dec_ref(v_a_245_);
lean_dec(v_a_244_);
lean_dec_ref(v_a_243_);
lean_dec_ref(v_insts_242_);
lean_dec(v_i_241_);
lean_dec_ref(v_k_240_);
lean_dec_ref(v_params_239_);
v_a_286_ = lean_ctor_get(v___x_252_, 0);
v_isSharedCheck_293_ = !lean_is_exclusive(v___x_252_);
if (v_isSharedCheck_293_ == 0)
{
v___x_288_ = v___x_252_;
v_isShared_289_ = v_isSharedCheck_293_;
goto v_resetjp_287_;
}
else
{
lean_inc(v_a_286_);
lean_dec(v___x_252_);
v___x_288_ = lean_box(0);
v_isShared_289_ = v_isSharedCheck_293_;
goto v_resetjp_287_;
}
v_resetjp_287_:
{
lean_object* v___x_291_; 
if (v_isShared_289_ == 0)
{
v___x_291_ = v___x_288_;
goto v_reusejp_290_;
}
else
{
lean_object* v_reuseFailAlloc_292_; 
v_reuseFailAlloc_292_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_292_, 0, v_a_286_);
v___x_291_ = v_reuseFailAlloc_292_;
goto v_reusejp_290_;
}
v_reusejp_290_:
{
return v___x_291_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__1(lean_object* v_i_294_, lean_object* v_insts_295_, lean_object* v_params_296_, lean_object* v_k_297_, lean_object* v_inst_298_, lean_object* v___y_299_, lean_object* v___y_300_, lean_object* v___y_301_, lean_object* v___y_302_){
_start:
{
lean_object* v___x_304_; lean_object* v___x_305_; lean_object* v___x_306_; lean_object* v___x_307_; 
v___x_304_ = lean_unsigned_to_nat(1u);
v___x_305_ = lean_nat_add(v_i_294_, v___x_304_);
v___x_306_ = lean_array_push(v_insts_295_, v_inst_298_);
v___x_307_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg(v_params_296_, v_k_297_, v___x_305_, v___x_306_, v___y_299_, v___y_300_, v___y_301_, v___y_302_);
return v___x_307_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___boxed(lean_object* v_params_308_, lean_object* v_k_309_, lean_object* v_i_310_, lean_object* v_insts_311_, lean_object* v_a_312_, lean_object* v_a_313_, lean_object* v_a_314_, lean_object* v_a_315_, lean_object* v_a_316_){
_start:
{
lean_object* v_res_317_; 
v_res_317_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg(v_params_308_, v_k_309_, v_i_310_, v_insts_311_, v_a_312_, v_a_313_, v_a_314_, v_a_315_);
return v_res_317_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop(lean_object* v_00_u03b1_318_, lean_object* v_params_319_, lean_object* v_k_320_, lean_object* v_i_321_, lean_object* v_insts_322_, lean_object* v_a_323_, lean_object* v_a_324_, lean_object* v_a_325_, lean_object* v_a_326_){
_start:
{
lean_object* v___x_328_; 
v___x_328_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg(v_params_319_, v_k_320_, v_i_321_, v_insts_322_, v_a_323_, v_a_324_, v_a_325_, v_a_326_);
return v___x_328_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___boxed(lean_object* v_00_u03b1_329_, lean_object* v_params_330_, lean_object* v_k_331_, lean_object* v_i_332_, lean_object* v_insts_333_, lean_object* v_a_334_, lean_object* v_a_335_, lean_object* v_a_336_, lean_object* v_a_337_, lean_object* v_a_338_){
_start:
{
lean_object* v_res_339_; 
v_res_339_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop(v_00_u03b1_329_, v_params_330_, v_k_331_, v_i_332_, v_insts_333_, v_a_334_, v_a_335_, v_a_336_, v_a_337_);
return v_res_339_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances___redArg(lean_object* v_params_342_, lean_object* v_k_343_, lean_object* v_a_344_, lean_object* v_a_345_, lean_object* v_a_346_, lean_object* v_a_347_){
_start:
{
lean_object* v___x_349_; lean_object* v___x_350_; lean_object* v___x_351_; 
v___x_349_ = lean_unsigned_to_nat(0u);
v___x_350_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances___redArg___closed__0));
v___x_351_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg(v_params_342_, v_k_343_, v___x_349_, v___x_350_, v_a_344_, v_a_345_, v_a_346_, v_a_347_);
return v___x_351_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances___redArg___boxed(lean_object* v_params_352_, lean_object* v_k_353_, lean_object* v_a_354_, lean_object* v_a_355_, lean_object* v_a_356_, lean_object* v_a_357_, lean_object* v_a_358_){
_start:
{
lean_object* v_res_359_; 
v_res_359_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances___redArg(v_params_352_, v_k_353_, v_a_354_, v_a_355_, v_a_356_, v_a_357_);
return v_res_359_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances(lean_object* v_00_u03b1_360_, lean_object* v_params_361_, lean_object* v_k_362_, lean_object* v_a_363_, lean_object* v_a_364_, lean_object* v_a_365_, lean_object* v_a_366_){
_start:
{
lean_object* v___x_368_; 
v___x_368_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances___redArg(v_params_361_, v_k_362_, v_a_363_, v_a_364_, v_a_365_, v_a_366_);
return v___x_368_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances___boxed(lean_object* v_00_u03b1_369_, lean_object* v_params_370_, lean_object* v_k_371_, lean_object* v_a_372_, lean_object* v_a_373_, lean_object* v_a_374_, lean_object* v_a_375_, lean_object* v_a_376_){
_start:
{
lean_object* v_res_377_; 
v_res_377_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances(v_00_u03b1_369_, v_params_370_, v_k_371_, v_a_372_, v_a_373_, v_a_374_, v_a_375_);
return v_res_377_;
}
}
LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f_spec__0_spec__0(lean_object* v_a_378_, lean_object* v_as_379_, size_t v_i_380_, size_t v_stop_381_){
_start:
{
uint8_t v___x_382_; 
v___x_382_ = lean_usize_dec_eq(v_i_380_, v_stop_381_);
if (v___x_382_ == 0)
{
lean_object* v___x_383_; uint8_t v___x_384_; 
v___x_383_ = lean_array_uget_borrowed(v_as_379_, v_i_380_);
v___x_384_ = lean_expr_eqv(v_a_378_, v___x_383_);
if (v___x_384_ == 0)
{
size_t v___x_385_; size_t v___x_386_; 
v___x_385_ = ((size_t)1ULL);
v___x_386_ = lean_usize_add(v_i_380_, v___x_385_);
v_i_380_ = v___x_386_;
goto _start;
}
else
{
return v___x_384_;
}
}
else
{
uint8_t v___x_388_; 
v___x_388_ = 0;
return v___x_388_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f_spec__0_spec__0___boxed(lean_object* v_a_389_, lean_object* v_as_390_, lean_object* v_i_391_, lean_object* v_stop_392_){
_start:
{
size_t v_i_boxed_393_; size_t v_stop_boxed_394_; uint8_t v_res_395_; lean_object* v_r_396_; 
v_i_boxed_393_ = lean_unbox_usize(v_i_391_);
lean_dec(v_i_391_);
v_stop_boxed_394_ = lean_unbox_usize(v_stop_392_);
lean_dec(v_stop_392_);
v_res_395_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f_spec__0_spec__0(v_a_389_, v_as_390_, v_i_boxed_393_, v_stop_boxed_394_);
lean_dec_ref(v_as_390_);
lean_dec_ref(v_a_389_);
v_r_396_ = lean_box(v_res_395_);
return v_r_396_;
}
}
LEAN_EXPORT uint8_t l_Array_contains___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f_spec__0(lean_object* v_as_397_, lean_object* v_a_398_){
_start:
{
lean_object* v___x_399_; lean_object* v___x_400_; uint8_t v___x_401_; 
v___x_399_ = lean_unsigned_to_nat(0u);
v___x_400_ = lean_array_get_size(v_as_397_);
v___x_401_ = lean_nat_dec_lt(v___x_399_, v___x_400_);
if (v___x_401_ == 0)
{
return v___x_401_;
}
else
{
if (v___x_401_ == 0)
{
return v___x_401_;
}
else
{
size_t v___x_402_; size_t v___x_403_; uint8_t v___x_404_; 
v___x_402_ = ((size_t)0ULL);
v___x_403_ = lean_usize_of_nat(v___x_400_);
v___x_404_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f_spec__0_spec__0(v_a_398_, v_as_397_, v___x_402_, v___x_403_);
return v___x_404_;
}
}
}
}
LEAN_EXPORT lean_object* l_Array_contains___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f_spec__0___boxed(lean_object* v_as_405_, lean_object* v_a_406_){
_start:
{
uint8_t v_res_407_; lean_object* v_r_408_; 
v_res_407_ = l_Array_contains___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f_spec__0(v_as_405_, v_a_406_);
lean_dec_ref(v_a_406_);
lean_dec_ref(v_as_405_);
v_r_408_ = lean_box(v_res_407_);
return v_r_408_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f___lam__0(lean_object* v_motiveFVars_409_, lean_object* v_x_410_, lean_object* v_type_411_, lean_object* v___y_412_, lean_object* v___y_413_, lean_object* v___y_414_, lean_object* v___y_415_){
_start:
{
uint8_t v___y_418_; uint8_t v___x_424_; 
v___x_424_ = l_Lean_Expr_isApp(v_type_411_);
if (v___x_424_ == 0)
{
v___y_418_ = v___x_424_;
goto v___jp_417_;
}
else
{
lean_object* v___x_425_; uint8_t v___x_426_; 
v___x_425_ = l_Lean_Expr_getAppFn(v_type_411_);
v___x_426_ = l_Array_contains___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f_spec__0(v_motiveFVars_409_, v___x_425_);
lean_dec_ref(v___x_425_);
v___y_418_ = v___x_426_;
goto v___jp_417_;
}
v___jp_417_:
{
if (v___y_418_ == 0)
{
lean_object* v___x_419_; lean_object* v___x_420_; 
v___x_419_ = lean_box(0);
v___x_420_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_420_, 0, v___x_419_);
return v___x_420_;
}
else
{
lean_object* v___x_421_; lean_object* v___x_422_; lean_object* v___x_423_; 
v___x_421_ = l_Lean_Expr_appArg_x21(v_type_411_);
v___x_422_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_422_, 0, v___x_421_);
v___x_423_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_423_, 0, v___x_422_);
return v___x_423_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f___lam__0___boxed(lean_object* v_motiveFVars_427_, lean_object* v_x_428_, lean_object* v_type_429_, lean_object* v___y_430_, lean_object* v___y_431_, lean_object* v___y_432_, lean_object* v___y_433_, lean_object* v___y_434_){
_start:
{
lean_object* v_res_435_; 
v_res_435_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f___lam__0(v_motiveFVars_427_, v_x_428_, v_type_429_, v___y_430_, v___y_431_, v___y_432_, v___y_433_);
lean_dec(v___y_433_);
lean_dec_ref(v___y_432_);
lean_dec(v___y_431_);
lean_dec_ref(v___y_430_);
lean_dec_ref(v_type_429_);
lean_dec_ref(v_x_428_);
lean_dec_ref(v_motiveFVars_427_);
return v_res_435_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f(lean_object* v_motiveFVars_436_, lean_object* v_fvar_437_, lean_object* v_a_438_, lean_object* v_a_439_, lean_object* v_a_440_, lean_object* v_a_441_){
_start:
{
lean_object* v___x_443_; 
lean_inc(v_a_441_);
lean_inc_ref(v_a_440_);
lean_inc(v_a_439_);
lean_inc_ref(v_a_438_);
v___x_443_ = lean_infer_type(v_fvar_437_, v_a_438_, v_a_439_, v_a_440_, v_a_441_);
if (lean_obj_tag(v___x_443_) == 0)
{
lean_object* v_a_444_; lean_object* v___f_445_; uint8_t v___x_446_; lean_object* v___x_447_; 
v_a_444_ = lean_ctor_get(v___x_443_, 0);
lean_inc(v_a_444_);
lean_dec_ref(v___x_443_);
v___f_445_ = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f___lam__0___boxed), 8, 1);
lean_closure_set(v___f_445_, 0, v_motiveFVars_436_);
v___x_446_ = 0;
v___x_447_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg(v_a_444_, v___f_445_, v___x_446_, v___x_446_, v_a_438_, v_a_439_, v_a_440_, v_a_441_);
return v___x_447_;
}
else
{
lean_object* v_a_448_; lean_object* v___x_450_; uint8_t v_isShared_451_; uint8_t v_isSharedCheck_455_; 
lean_dec(v_a_441_);
lean_dec_ref(v_a_440_);
lean_dec(v_a_439_);
lean_dec_ref(v_a_438_);
lean_dec_ref(v_motiveFVars_436_);
v_a_448_ = lean_ctor_get(v___x_443_, 0);
v_isSharedCheck_455_ = !lean_is_exclusive(v___x_443_);
if (v_isSharedCheck_455_ == 0)
{
v___x_450_ = v___x_443_;
v_isShared_451_ = v_isSharedCheck_455_;
goto v_resetjp_449_;
}
else
{
lean_inc(v_a_448_);
lean_dec(v___x_443_);
v___x_450_ = lean_box(0);
v_isShared_451_ = v_isSharedCheck_455_;
goto v_resetjp_449_;
}
v_resetjp_449_:
{
lean_object* v___x_453_; 
if (v_isShared_451_ == 0)
{
v___x_453_ = v___x_450_;
goto v_reusejp_452_;
}
else
{
lean_object* v_reuseFailAlloc_454_; 
v_reuseFailAlloc_454_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_454_, 0, v_a_448_);
v___x_453_ = v_reuseFailAlloc_454_;
goto v_reusejp_452_;
}
v_reusejp_452_:
{
return v___x_453_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f___boxed(lean_object* v_motiveFVars_456_, lean_object* v_fvar_457_, lean_object* v_a_458_, lean_object* v_a_459_, lean_object* v_a_460_, lean_object* v_a_461_, lean_object* v_a_462_){
_start:
{
lean_object* v_res_463_; 
v_res_463_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f(v_motiveFVars_456_, v_fvar_457_, v_a_458_, v_a_459_, v_a_460_, v_a_461_);
return v_res_463_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis(lean_object* v_motiveFVars_464_, lean_object* v_fvar_465_, lean_object* v_a_466_, lean_object* v_a_467_, lean_object* v_a_468_, lean_object* v_a_469_){
_start:
{
lean_object* v___x_471_; 
v___x_471_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f(v_motiveFVars_464_, v_fvar_465_, v_a_466_, v_a_467_, v_a_468_, v_a_469_);
if (lean_obj_tag(v___x_471_) == 0)
{
lean_object* v_a_472_; lean_object* v___x_474_; uint8_t v_isShared_475_; uint8_t v_isSharedCheck_486_; 
v_a_472_ = lean_ctor_get(v___x_471_, 0);
v_isSharedCheck_486_ = !lean_is_exclusive(v___x_471_);
if (v_isSharedCheck_486_ == 0)
{
v___x_474_ = v___x_471_;
v_isShared_475_ = v_isSharedCheck_486_;
goto v_resetjp_473_;
}
else
{
lean_inc(v_a_472_);
lean_dec(v___x_471_);
v___x_474_ = lean_box(0);
v_isShared_475_ = v_isSharedCheck_486_;
goto v_resetjp_473_;
}
v_resetjp_473_:
{
if (lean_obj_tag(v_a_472_) == 0)
{
uint8_t v___x_476_; lean_object* v___x_477_; lean_object* v___x_479_; 
v___x_476_ = 0;
v___x_477_ = lean_box(v___x_476_);
if (v_isShared_475_ == 0)
{
lean_ctor_set(v___x_474_, 0, v___x_477_);
v___x_479_ = v___x_474_;
goto v_reusejp_478_;
}
else
{
lean_object* v_reuseFailAlloc_480_; 
v_reuseFailAlloc_480_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_480_, 0, v___x_477_);
v___x_479_ = v_reuseFailAlloc_480_;
goto v_reusejp_478_;
}
v_reusejp_478_:
{
return v___x_479_;
}
}
else
{
uint8_t v___x_481_; lean_object* v___x_482_; lean_object* v___x_484_; 
lean_dec_ref(v_a_472_);
v___x_481_ = 1;
v___x_482_ = lean_box(v___x_481_);
if (v_isShared_475_ == 0)
{
lean_ctor_set(v___x_474_, 0, v___x_482_);
v___x_484_ = v___x_474_;
goto v_reusejp_483_;
}
else
{
lean_object* v_reuseFailAlloc_485_; 
v_reuseFailAlloc_485_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_485_, 0, v___x_482_);
v___x_484_ = v_reuseFailAlloc_485_;
goto v_reusejp_483_;
}
v_reusejp_483_:
{
return v___x_484_;
}
}
}
}
else
{
lean_object* v_a_487_; lean_object* v___x_489_; uint8_t v_isShared_490_; uint8_t v_isSharedCheck_494_; 
v_a_487_ = lean_ctor_get(v___x_471_, 0);
v_isSharedCheck_494_ = !lean_is_exclusive(v___x_471_);
if (v_isSharedCheck_494_ == 0)
{
v___x_489_ = v___x_471_;
v_isShared_490_ = v_isSharedCheck_494_;
goto v_resetjp_488_;
}
else
{
lean_inc(v_a_487_);
lean_dec(v___x_471_);
v___x_489_ = lean_box(0);
v_isShared_490_ = v_isSharedCheck_494_;
goto v_resetjp_488_;
}
v_resetjp_488_:
{
lean_object* v___x_492_; 
if (v_isShared_490_ == 0)
{
v___x_492_ = v___x_489_;
goto v_reusejp_491_;
}
else
{
lean_object* v_reuseFailAlloc_493_; 
v_reuseFailAlloc_493_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_493_, 0, v_a_487_);
v___x_492_ = v_reuseFailAlloc_493_;
goto v_reusejp_491_;
}
v_reusejp_491_:
{
return v___x_492_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis___boxed(lean_object* v_motiveFVars_495_, lean_object* v_fvar_496_, lean_object* v_a_497_, lean_object* v_a_498_, lean_object* v_a_499_, lean_object* v_a_500_, lean_object* v_a_501_){
_start:
{
lean_object* v_res_502_; 
v_res_502_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis(v_motiveFVars_495_, v_fvar_496_, v_a_497_, v_a_498_, v_a_499_, v_a_500_);
return v_res_502_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_isRecField_x3f_spec__0(lean_object* v_motiveFVars_503_, lean_object* v_fvar_504_, lean_object* v_as_505_, size_t v_sz_506_, size_t v_i_507_, lean_object* v_b_508_, lean_object* v___y_509_, lean_object* v___y_510_, lean_object* v___y_511_, lean_object* v___y_512_){
_start:
{
uint8_t v___x_514_; 
v___x_514_ = lean_usize_dec_lt(v_i_507_, v_sz_506_);
if (v___x_514_ == 0)
{
lean_object* v___x_515_; 
lean_dec(v___y_512_);
lean_dec_ref(v___y_511_);
lean_dec(v___y_510_);
lean_dec_ref(v___y_509_);
lean_dec_ref(v_motiveFVars_503_);
v___x_515_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_515_, 0, v_b_508_);
return v___x_515_;
}
else
{
lean_object* v_a_516_; lean_object* v___x_517_; 
v_a_516_ = lean_array_uget_borrowed(v_as_505_, v_i_507_);
lean_inc(v___y_512_);
lean_inc_ref(v___y_511_);
lean_inc(v___y_510_);
lean_inc_ref(v___y_509_);
lean_inc(v_a_516_);
lean_inc_ref(v_motiveFVars_503_);
v___x_517_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis_x3f(v_motiveFVars_503_, v_a_516_, v___y_509_, v___y_510_, v___y_511_, v___y_512_);
if (lean_obj_tag(v___x_517_) == 0)
{
lean_object* v_a_518_; lean_object* v___x_520_; uint8_t v_isShared_521_; uint8_t v_isSharedCheck_553_; 
v_a_518_ = lean_ctor_get(v___x_517_, 0);
v_isSharedCheck_553_ = !lean_is_exclusive(v___x_517_);
if (v_isSharedCheck_553_ == 0)
{
v___x_520_ = v___x_517_;
v_isShared_521_ = v_isSharedCheck_553_;
goto v_resetjp_519_;
}
else
{
lean_inc(v_a_518_);
lean_dec(v___x_517_);
v___x_520_ = lean_box(0);
v_isShared_521_ = v_isSharedCheck_553_;
goto v_resetjp_519_;
}
v_resetjp_519_:
{
lean_object* v_snd_522_; lean_object* v___x_524_; uint8_t v_isShared_525_; uint8_t v_isSharedCheck_551_; 
v_snd_522_ = lean_ctor_get(v_b_508_, 1);
v_isSharedCheck_551_ = !lean_is_exclusive(v_b_508_);
if (v_isSharedCheck_551_ == 0)
{
lean_object* v_unused_552_; 
v_unused_552_ = lean_ctor_get(v_b_508_, 0);
lean_dec(v_unused_552_);
v___x_524_ = v_b_508_;
v_isShared_525_ = v_isSharedCheck_551_;
goto v_resetjp_523_;
}
else
{
lean_inc(v_snd_522_);
lean_dec(v_b_508_);
v___x_524_ = lean_box(0);
v_isShared_525_ = v_isSharedCheck_551_;
goto v_resetjp_523_;
}
v_resetjp_523_:
{
lean_object* v___x_526_; 
v___x_526_ = lean_box(0);
if (lean_obj_tag(v_a_518_) == 1)
{
lean_object* v_val_536_; lean_object* v___x_538_; uint8_t v_isShared_539_; uint8_t v_isSharedCheck_550_; 
v_val_536_ = lean_ctor_get(v_a_518_, 0);
v_isSharedCheck_550_ = !lean_is_exclusive(v_a_518_);
if (v_isSharedCheck_550_ == 0)
{
v___x_538_ = v_a_518_;
v_isShared_539_ = v_isSharedCheck_550_;
goto v_resetjp_537_;
}
else
{
lean_inc(v_val_536_);
lean_dec(v_a_518_);
v___x_538_ = lean_box(0);
v_isShared_539_ = v_isSharedCheck_550_;
goto v_resetjp_537_;
}
v_resetjp_537_:
{
lean_object* v___x_540_; uint8_t v___x_541_; 
v___x_540_ = l_Lean_Expr_getAppFn(v_val_536_);
lean_dec(v_val_536_);
v___x_541_ = lean_expr_eqv(v_fvar_504_, v___x_540_);
lean_dec_ref(v___x_540_);
if (v___x_541_ == 0)
{
lean_del_object(v___x_538_);
lean_del_object(v___x_520_);
goto v___jp_527_;
}
else
{
lean_object* v___x_543_; 
lean_del_object(v___x_524_);
lean_dec(v___y_512_);
lean_dec_ref(v___y_511_);
lean_dec(v___y_510_);
lean_dec_ref(v___y_509_);
lean_dec_ref(v_motiveFVars_503_);
lean_inc(v_snd_522_);
if (v_isShared_539_ == 0)
{
lean_ctor_set(v___x_538_, 0, v_snd_522_);
v___x_543_ = v___x_538_;
goto v_reusejp_542_;
}
else
{
lean_object* v_reuseFailAlloc_549_; 
v_reuseFailAlloc_549_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_549_, 0, v_snd_522_);
v___x_543_ = v_reuseFailAlloc_549_;
goto v_reusejp_542_;
}
v_reusejp_542_:
{
lean_object* v___x_544_; lean_object* v___x_545_; lean_object* v___x_547_; 
v___x_544_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_544_, 0, v___x_543_);
v___x_545_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_545_, 0, v___x_544_);
lean_ctor_set(v___x_545_, 1, v_snd_522_);
if (v_isShared_521_ == 0)
{
lean_ctor_set(v___x_520_, 0, v___x_545_);
v___x_547_ = v___x_520_;
goto v_reusejp_546_;
}
else
{
lean_object* v_reuseFailAlloc_548_; 
v_reuseFailAlloc_548_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_548_, 0, v___x_545_);
v___x_547_ = v_reuseFailAlloc_548_;
goto v_reusejp_546_;
}
v_reusejp_546_:
{
return v___x_547_;
}
}
}
}
}
else
{
lean_del_object(v___x_520_);
lean_dec(v_a_518_);
goto v___jp_527_;
}
v___jp_527_:
{
lean_object* v___x_528_; lean_object* v___x_529_; lean_object* v___x_531_; 
v___x_528_ = lean_unsigned_to_nat(1u);
v___x_529_ = lean_nat_add(v_snd_522_, v___x_528_);
lean_dec(v_snd_522_);
if (v_isShared_525_ == 0)
{
lean_ctor_set(v___x_524_, 1, v___x_529_);
lean_ctor_set(v___x_524_, 0, v___x_526_);
v___x_531_ = v___x_524_;
goto v_reusejp_530_;
}
else
{
lean_object* v_reuseFailAlloc_535_; 
v_reuseFailAlloc_535_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_535_, 0, v___x_526_);
lean_ctor_set(v_reuseFailAlloc_535_, 1, v___x_529_);
v___x_531_ = v_reuseFailAlloc_535_;
goto v_reusejp_530_;
}
v_reusejp_530_:
{
size_t v___x_532_; size_t v___x_533_; 
v___x_532_ = ((size_t)1ULL);
v___x_533_ = lean_usize_add(v_i_507_, v___x_532_);
v_i_507_ = v___x_533_;
v_b_508_ = v___x_531_;
goto _start;
}
}
}
}
}
else
{
lean_object* v_a_554_; lean_object* v___x_556_; uint8_t v_isShared_557_; uint8_t v_isSharedCheck_561_; 
lean_dec(v___y_512_);
lean_dec_ref(v___y_511_);
lean_dec(v___y_510_);
lean_dec_ref(v___y_509_);
lean_dec_ref(v_b_508_);
lean_dec_ref(v_motiveFVars_503_);
v_a_554_ = lean_ctor_get(v___x_517_, 0);
v_isSharedCheck_561_ = !lean_is_exclusive(v___x_517_);
if (v_isSharedCheck_561_ == 0)
{
v___x_556_ = v___x_517_;
v_isShared_557_ = v_isSharedCheck_561_;
goto v_resetjp_555_;
}
else
{
lean_inc(v_a_554_);
lean_dec(v___x_517_);
v___x_556_ = lean_box(0);
v_isShared_557_ = v_isSharedCheck_561_;
goto v_resetjp_555_;
}
v_resetjp_555_:
{
lean_object* v___x_559_; 
if (v_isShared_557_ == 0)
{
v___x_559_ = v___x_556_;
goto v_reusejp_558_;
}
else
{
lean_object* v_reuseFailAlloc_560_; 
v_reuseFailAlloc_560_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_560_, 0, v_a_554_);
v___x_559_ = v_reuseFailAlloc_560_;
goto v_reusejp_558_;
}
v_reusejp_558_:
{
return v___x_559_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_isRecField_x3f_spec__0___boxed(lean_object* v_motiveFVars_562_, lean_object* v_fvar_563_, lean_object* v_as_564_, lean_object* v_sz_565_, lean_object* v_i_566_, lean_object* v_b_567_, lean_object* v___y_568_, lean_object* v___y_569_, lean_object* v___y_570_, lean_object* v___y_571_, lean_object* v___y_572_){
_start:
{
size_t v_sz_boxed_573_; size_t v_i_boxed_574_; lean_object* v_res_575_; 
v_sz_boxed_573_ = lean_unbox_usize(v_sz_565_);
lean_dec(v_sz_565_);
v_i_boxed_574_ = lean_unbox_usize(v_i_566_);
lean_dec(v_i_566_);
v_res_575_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_isRecField_x3f_spec__0(v_motiveFVars_562_, v_fvar_563_, v_as_564_, v_sz_boxed_573_, v_i_boxed_574_, v_b_567_, v___y_568_, v___y_569_, v___y_570_, v___y_571_);
lean_dec_ref(v_as_564_);
lean_dec_ref(v_fvar_563_);
return v_res_575_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_isRecField_x3f(lean_object* v_motiveFVars_579_, lean_object* v_minorFVars_580_, lean_object* v_fvar_581_, lean_object* v_a_582_, lean_object* v_a_583_, lean_object* v_a_584_, lean_object* v_a_585_){
_start:
{
lean_object* v___x_587_; lean_object* v___x_588_; size_t v_sz_589_; size_t v___x_590_; lean_object* v___x_591_; 
v___x_587_ = lean_box(0);
v___x_588_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_isRecField_x3f___closed__0));
v_sz_589_ = lean_array_size(v_minorFVars_580_);
v___x_590_ = ((size_t)0ULL);
v___x_591_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_isRecField_x3f_spec__0(v_motiveFVars_579_, v_fvar_581_, v_minorFVars_580_, v_sz_589_, v___x_590_, v___x_588_, v_a_582_, v_a_583_, v_a_584_, v_a_585_);
if (lean_obj_tag(v___x_591_) == 0)
{
lean_object* v_a_592_; lean_object* v___x_594_; uint8_t v_isShared_595_; uint8_t v_isSharedCheck_604_; 
v_a_592_ = lean_ctor_get(v___x_591_, 0);
v_isSharedCheck_604_ = !lean_is_exclusive(v___x_591_);
if (v_isSharedCheck_604_ == 0)
{
v___x_594_ = v___x_591_;
v_isShared_595_ = v_isSharedCheck_604_;
goto v_resetjp_593_;
}
else
{
lean_inc(v_a_592_);
lean_dec(v___x_591_);
v___x_594_ = lean_box(0);
v_isShared_595_ = v_isSharedCheck_604_;
goto v_resetjp_593_;
}
v_resetjp_593_:
{
lean_object* v_fst_596_; 
v_fst_596_ = lean_ctor_get(v_a_592_, 0);
lean_inc(v_fst_596_);
lean_dec(v_a_592_);
if (lean_obj_tag(v_fst_596_) == 0)
{
lean_object* v___x_598_; 
if (v_isShared_595_ == 0)
{
lean_ctor_set(v___x_594_, 0, v___x_587_);
v___x_598_ = v___x_594_;
goto v_reusejp_597_;
}
else
{
lean_object* v_reuseFailAlloc_599_; 
v_reuseFailAlloc_599_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_599_, 0, v___x_587_);
v___x_598_ = v_reuseFailAlloc_599_;
goto v_reusejp_597_;
}
v_reusejp_597_:
{
return v___x_598_;
}
}
else
{
lean_object* v_val_600_; lean_object* v___x_602_; 
v_val_600_ = lean_ctor_get(v_fst_596_, 0);
lean_inc(v_val_600_);
lean_dec_ref(v_fst_596_);
if (v_isShared_595_ == 0)
{
lean_ctor_set(v___x_594_, 0, v_val_600_);
v___x_602_ = v___x_594_;
goto v_reusejp_601_;
}
else
{
lean_object* v_reuseFailAlloc_603_; 
v_reuseFailAlloc_603_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_603_, 0, v_val_600_);
v___x_602_ = v_reuseFailAlloc_603_;
goto v_reusejp_601_;
}
v_reusejp_601_:
{
return v___x_602_;
}
}
}
}
else
{
lean_object* v_a_605_; lean_object* v___x_607_; uint8_t v_isShared_608_; uint8_t v_isSharedCheck_612_; 
v_a_605_ = lean_ctor_get(v___x_591_, 0);
v_isSharedCheck_612_ = !lean_is_exclusive(v___x_591_);
if (v_isSharedCheck_612_ == 0)
{
v___x_607_ = v___x_591_;
v_isShared_608_ = v_isSharedCheck_612_;
goto v_resetjp_606_;
}
else
{
lean_inc(v_a_605_);
lean_dec(v___x_591_);
v___x_607_ = lean_box(0);
v_isShared_608_ = v_isSharedCheck_612_;
goto v_resetjp_606_;
}
v_resetjp_606_:
{
lean_object* v___x_610_; 
if (v_isShared_608_ == 0)
{
v___x_610_ = v___x_607_;
goto v_reusejp_609_;
}
else
{
lean_object* v_reuseFailAlloc_611_; 
v_reuseFailAlloc_611_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_611_, 0, v_a_605_);
v___x_610_ = v_reuseFailAlloc_611_;
goto v_reusejp_609_;
}
v_reusejp_609_:
{
return v___x_610_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_isRecField_x3f___boxed(lean_object* v_motiveFVars_613_, lean_object* v_minorFVars_614_, lean_object* v_fvar_615_, lean_object* v_a_616_, lean_object* v_a_617_, lean_object* v_a_618_, lean_object* v_a_619_, lean_object* v_a_620_){
_start:
{
lean_object* v_res_621_; 
v_res_621_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_isRecField_x3f(v_motiveFVars_613_, v_minorFVars_614_, v_fvar_615_, v_a_616_, v_a_617_, v_a_618_, v_a_619_);
lean_dec_ref(v_fvar_615_);
lean_dec_ref(v_minorFVars_614_);
return v_res_621_;
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg(lean_object* v_cls_625_, lean_object* v___y_626_){
_start:
{
lean_object* v_options_628_; uint8_t v_hasTrace_629_; 
v_options_628_ = lean_ctor_get(v___y_626_, 2);
v_hasTrace_629_ = lean_ctor_get_uint8(v_options_628_, sizeof(void*)*1);
if (v_hasTrace_629_ == 0)
{
lean_object* v___x_630_; lean_object* v___x_631_; 
lean_dec(v_cls_625_);
v___x_630_ = lean_box(v_hasTrace_629_);
v___x_631_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_631_, 0, v___x_630_);
return v___x_631_;
}
else
{
lean_object* v_inheritedTraceOptions_632_; lean_object* v___x_633_; lean_object* v___x_634_; uint8_t v___x_635_; lean_object* v___x_636_; lean_object* v___x_637_; 
v_inheritedTraceOptions_632_ = lean_ctor_get(v___y_626_, 13);
v___x_633_ = ((lean_object*)(l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg___closed__1));
v___x_634_ = l_Lean_Name_append(v___x_633_, v_cls_625_);
v___x_635_ = l___private_Lean_Util_Trace_0__Lean_checkTraceOption_go(v_inheritedTraceOptions_632_, v_options_628_, v___x_634_);
lean_dec(v___x_634_);
v___x_636_ = lean_box(v___x_635_);
v___x_637_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_637_, 0, v___x_636_);
return v___x_637_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg___boxed(lean_object* v_cls_638_, lean_object* v___y_639_, lean_object* v___y_640_){
_start:
{
lean_object* v_res_641_; 
v_res_641_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg(v_cls_638_, v___y_639_);
lean_dec_ref(v___y_639_);
return v_res_641_;
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0(lean_object* v_cls_642_, lean_object* v___y_643_, lean_object* v___y_644_, lean_object* v___y_645_, lean_object* v___y_646_){
_start:
{
lean_object* v___x_648_; 
v___x_648_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg(v_cls_642_, v___y_645_);
return v___x_648_;
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___boxed(lean_object* v_cls_649_, lean_object* v___y_650_, lean_object* v___y_651_, lean_object* v___y_652_, lean_object* v___y_653_, lean_object* v___y_654_){
_start:
{
lean_object* v_res_655_; 
v_res_655_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0(v_cls_649_, v___y_650_, v___y_651_, v___y_652_, v___y_653_);
lean_dec(v___y_653_);
lean_dec_ref(v___y_652_);
lean_dec(v___y_651_);
lean_dec_ref(v___y_650_);
return v_res_655_;
}
}
static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__2(void){
_start:
{
lean_object* v___x_659_; lean_object* v___x_660_; lean_object* v___x_661_; 
v___x_659_ = lean_box(0);
v___x_660_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__1));
v___x_661_ = l_Lean_mkConst(v___x_660_, v___x_659_);
return v___x_661_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0(uint8_t v___x_662_, lean_object* v_xs_663_, lean_object* v_x_664_, lean_object* v___y_665_, lean_object* v___y_666_, lean_object* v___y_667_, lean_object* v___y_668_){
_start:
{
lean_object* v___x_670_; uint8_t v___x_671_; uint8_t v___x_672_; lean_object* v___x_673_; 
v___x_670_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__2, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__2_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__2);
v___x_671_ = 0;
v___x_672_ = 1;
v___x_673_ = l_Lean_Meta_mkLambdaFVars(v_xs_663_, v___x_670_, v___x_671_, v___x_662_, v___x_671_, v___x_662_, v___x_672_, v___y_665_, v___y_666_, v___y_667_, v___y_668_);
return v___x_673_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___boxed(lean_object* v___x_674_, lean_object* v_xs_675_, lean_object* v_x_676_, lean_object* v___y_677_, lean_object* v___y_678_, lean_object* v___y_679_, lean_object* v___y_680_, lean_object* v___y_681_){
_start:
{
uint8_t v___x_2427__boxed_682_; lean_object* v_res_683_; 
v___x_2427__boxed_682_ = lean_unbox(v___x_674_);
v_res_683_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0(v___x_2427__boxed_682_, v_xs_675_, v_x_676_, v___y_677_, v___y_678_, v___y_679_, v___y_680_);
lean_dec(v___y_680_);
lean_dec_ref(v___y_679_);
lean_dec(v___y_678_);
lean_dec_ref(v___y_677_);
lean_dec_ref(v_x_676_);
lean_dec_ref(v_xs_675_);
return v_res_683_;
}
}
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1_spec__1(lean_object* v_msgData_684_, lean_object* v___y_685_, lean_object* v___y_686_, lean_object* v___y_687_, lean_object* v___y_688_){
_start:
{
lean_object* v___x_690_; lean_object* v_env_691_; lean_object* v___x_692_; lean_object* v_mctx_693_; lean_object* v_lctx_694_; lean_object* v_options_695_; lean_object* v___x_696_; lean_object* v___x_697_; lean_object* v___x_698_; 
v___x_690_ = lean_st_ref_get(v___y_688_);
v_env_691_ = lean_ctor_get(v___x_690_, 0);
lean_inc_ref(v_env_691_);
lean_dec(v___x_690_);
v___x_692_ = lean_st_ref_get(v___y_686_);
v_mctx_693_ = lean_ctor_get(v___x_692_, 0);
lean_inc_ref(v_mctx_693_);
lean_dec(v___x_692_);
v_lctx_694_ = lean_ctor_get(v___y_685_, 2);
v_options_695_ = lean_ctor_get(v___y_687_, 2);
lean_inc_ref(v_options_695_);
lean_inc_ref(v_lctx_694_);
v___x_696_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_696_, 0, v_env_691_);
lean_ctor_set(v___x_696_, 1, v_mctx_693_);
lean_ctor_set(v___x_696_, 2, v_lctx_694_);
lean_ctor_set(v___x_696_, 3, v_options_695_);
v___x_697_ = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(v___x_697_, 0, v___x_696_);
lean_ctor_set(v___x_697_, 1, v_msgData_684_);
v___x_698_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_698_, 0, v___x_697_);
return v___x_698_;
}
}
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1_spec__1___boxed(lean_object* v_msgData_699_, lean_object* v___y_700_, lean_object* v___y_701_, lean_object* v___y_702_, lean_object* v___y_703_, lean_object* v___y_704_){
_start:
{
lean_object* v_res_705_; 
v_res_705_ = l_Lean_addMessageContextFull___at___00Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1_spec__1(v_msgData_699_, v___y_700_, v___y_701_, v___y_702_, v___y_703_);
lean_dec(v___y_703_);
lean_dec_ref(v___y_702_);
lean_dec(v___y_701_);
lean_dec_ref(v___y_700_);
return v_res_705_;
}
}
static double _init_l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__0(void){
_start:
{
lean_object* v___x_706_; double v___x_707_; 
v___x_706_ = lean_unsigned_to_nat(0u);
v___x_707_ = lean_float_of_nat(v___x_706_);
return v___x_707_;
}
}
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1(lean_object* v_cls_711_, lean_object* v_msg_712_, lean_object* v___y_713_, lean_object* v___y_714_, lean_object* v___y_715_, lean_object* v___y_716_){
_start:
{
lean_object* v_ref_718_; lean_object* v___x_719_; lean_object* v_a_720_; lean_object* v___x_722_; uint8_t v_isShared_723_; uint8_t v_isSharedCheck_764_; 
v_ref_718_ = lean_ctor_get(v___y_715_, 5);
v___x_719_ = l_Lean_addMessageContextFull___at___00Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1_spec__1(v_msg_712_, v___y_713_, v___y_714_, v___y_715_, v___y_716_);
v_a_720_ = lean_ctor_get(v___x_719_, 0);
v_isSharedCheck_764_ = !lean_is_exclusive(v___x_719_);
if (v_isSharedCheck_764_ == 0)
{
v___x_722_ = v___x_719_;
v_isShared_723_ = v_isSharedCheck_764_;
goto v_resetjp_721_;
}
else
{
lean_inc(v_a_720_);
lean_dec(v___x_719_);
v___x_722_ = lean_box(0);
v_isShared_723_ = v_isSharedCheck_764_;
goto v_resetjp_721_;
}
v_resetjp_721_:
{
lean_object* v___x_724_; lean_object* v_traceState_725_; lean_object* v_env_726_; lean_object* v_nextMacroScope_727_; lean_object* v_ngen_728_; lean_object* v_auxDeclNGen_729_; lean_object* v_cache_730_; lean_object* v_messages_731_; lean_object* v_infoState_732_; lean_object* v_snapshotTasks_733_; lean_object* v___x_735_; uint8_t v_isShared_736_; uint8_t v_isSharedCheck_763_; 
v___x_724_ = lean_st_ref_take(v___y_716_);
v_traceState_725_ = lean_ctor_get(v___x_724_, 4);
v_env_726_ = lean_ctor_get(v___x_724_, 0);
v_nextMacroScope_727_ = lean_ctor_get(v___x_724_, 1);
v_ngen_728_ = lean_ctor_get(v___x_724_, 2);
v_auxDeclNGen_729_ = lean_ctor_get(v___x_724_, 3);
v_cache_730_ = lean_ctor_get(v___x_724_, 5);
v_messages_731_ = lean_ctor_get(v___x_724_, 6);
v_infoState_732_ = lean_ctor_get(v___x_724_, 7);
v_snapshotTasks_733_ = lean_ctor_get(v___x_724_, 8);
v_isSharedCheck_763_ = !lean_is_exclusive(v___x_724_);
if (v_isSharedCheck_763_ == 0)
{
v___x_735_ = v___x_724_;
v_isShared_736_ = v_isSharedCheck_763_;
goto v_resetjp_734_;
}
else
{
lean_inc(v_snapshotTasks_733_);
lean_inc(v_infoState_732_);
lean_inc(v_messages_731_);
lean_inc(v_cache_730_);
lean_inc(v_traceState_725_);
lean_inc(v_auxDeclNGen_729_);
lean_inc(v_ngen_728_);
lean_inc(v_nextMacroScope_727_);
lean_inc(v_env_726_);
lean_dec(v___x_724_);
v___x_735_ = lean_box(0);
v_isShared_736_ = v_isSharedCheck_763_;
goto v_resetjp_734_;
}
v_resetjp_734_:
{
uint64_t v_tid_737_; lean_object* v_traces_738_; lean_object* v___x_740_; uint8_t v_isShared_741_; uint8_t v_isSharedCheck_762_; 
v_tid_737_ = lean_ctor_get_uint64(v_traceState_725_, sizeof(void*)*1);
v_traces_738_ = lean_ctor_get(v_traceState_725_, 0);
v_isSharedCheck_762_ = !lean_is_exclusive(v_traceState_725_);
if (v_isSharedCheck_762_ == 0)
{
v___x_740_ = v_traceState_725_;
v_isShared_741_ = v_isSharedCheck_762_;
goto v_resetjp_739_;
}
else
{
lean_inc(v_traces_738_);
lean_dec(v_traceState_725_);
v___x_740_ = lean_box(0);
v_isShared_741_ = v_isSharedCheck_762_;
goto v_resetjp_739_;
}
v_resetjp_739_:
{
lean_object* v___x_742_; double v___x_743_; uint8_t v___x_744_; lean_object* v___x_745_; lean_object* v___x_746_; lean_object* v___x_747_; lean_object* v___x_748_; lean_object* v___x_749_; lean_object* v___x_750_; lean_object* v___x_752_; 
v___x_742_ = lean_box(0);
v___x_743_ = lean_float_once(&l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__0, &l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__0_once, _init_l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__0);
v___x_744_ = 0;
v___x_745_ = ((lean_object*)(l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__1));
v___x_746_ = lean_alloc_ctor(0, 3, 17);
lean_ctor_set(v___x_746_, 0, v_cls_711_);
lean_ctor_set(v___x_746_, 1, v___x_742_);
lean_ctor_set(v___x_746_, 2, v___x_745_);
lean_ctor_set_float(v___x_746_, sizeof(void*)*3, v___x_743_);
lean_ctor_set_float(v___x_746_, sizeof(void*)*3 + 8, v___x_743_);
lean_ctor_set_uint8(v___x_746_, sizeof(void*)*3 + 16, v___x_744_);
v___x_747_ = ((lean_object*)(l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__2));
v___x_748_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v___x_748_, 0, v___x_746_);
lean_ctor_set(v___x_748_, 1, v_a_720_);
lean_ctor_set(v___x_748_, 2, v___x_747_);
lean_inc(v_ref_718_);
v___x_749_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_749_, 0, v_ref_718_);
lean_ctor_set(v___x_749_, 1, v___x_748_);
v___x_750_ = l_Lean_PersistentArray_push___redArg(v_traces_738_, v___x_749_);
if (v_isShared_741_ == 0)
{
lean_ctor_set(v___x_740_, 0, v___x_750_);
v___x_752_ = v___x_740_;
goto v_reusejp_751_;
}
else
{
lean_object* v_reuseFailAlloc_761_; 
v_reuseFailAlloc_761_ = lean_alloc_ctor(0, 1, 8);
lean_ctor_set(v_reuseFailAlloc_761_, 0, v___x_750_);
lean_ctor_set_uint64(v_reuseFailAlloc_761_, sizeof(void*)*1, v_tid_737_);
v___x_752_ = v_reuseFailAlloc_761_;
goto v_reusejp_751_;
}
v_reusejp_751_:
{
lean_object* v___x_754_; 
if (v_isShared_736_ == 0)
{
lean_ctor_set(v___x_735_, 4, v___x_752_);
v___x_754_ = v___x_735_;
goto v_reusejp_753_;
}
else
{
lean_object* v_reuseFailAlloc_760_; 
v_reuseFailAlloc_760_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_760_, 0, v_env_726_);
lean_ctor_set(v_reuseFailAlloc_760_, 1, v_nextMacroScope_727_);
lean_ctor_set(v_reuseFailAlloc_760_, 2, v_ngen_728_);
lean_ctor_set(v_reuseFailAlloc_760_, 3, v_auxDeclNGen_729_);
lean_ctor_set(v_reuseFailAlloc_760_, 4, v___x_752_);
lean_ctor_set(v_reuseFailAlloc_760_, 5, v_cache_730_);
lean_ctor_set(v_reuseFailAlloc_760_, 6, v_messages_731_);
lean_ctor_set(v_reuseFailAlloc_760_, 7, v_infoState_732_);
lean_ctor_set(v_reuseFailAlloc_760_, 8, v_snapshotTasks_733_);
v___x_754_ = v_reuseFailAlloc_760_;
goto v_reusejp_753_;
}
v_reusejp_753_:
{
lean_object* v___x_755_; lean_object* v___x_756_; lean_object* v___x_758_; 
v___x_755_ = lean_st_ref_set(v___y_716_, v___x_754_);
v___x_756_ = lean_box(0);
if (v_isShared_723_ == 0)
{
lean_ctor_set(v___x_722_, 0, v___x_756_);
v___x_758_ = v___x_722_;
goto v_reusejp_757_;
}
else
{
lean_object* v_reuseFailAlloc_759_; 
v_reuseFailAlloc_759_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_759_, 0, v___x_756_);
v___x_758_ = v_reuseFailAlloc_759_;
goto v_reusejp_757_;
}
v_reusejp_757_:
{
return v___x_758_;
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___boxed(lean_object* v_cls_765_, lean_object* v_msg_766_, lean_object* v___y_767_, lean_object* v___y_768_, lean_object* v___y_769_, lean_object* v___y_770_, lean_object* v___y_771_){
_start:
{
lean_object* v_res_772_; 
v_res_772_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1(v_cls_765_, v_msg_766_, v___y_767_, v___y_768_, v___y_769_, v___y_770_);
lean_dec(v___y_770_);
lean_dec_ref(v___y_769_);
lean_dec(v___y_768_);
lean_dec_ref(v___y_767_);
return v_res_772_;
}
}
static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__4(void){
_start:
{
lean_object* v___x_779_; lean_object* v___x_780_; 
v___x_779_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__3));
v___x_780_ = l_Lean_stringToMessageData(v___x_779_);
return v___x_780_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg(lean_object* v_motiveFVars_781_, lean_object* v_k_782_, lean_object* v_i_783_, lean_object* v_motives_784_, lean_object* v_a_785_, lean_object* v_a_786_, lean_object* v_a_787_, lean_object* v_a_788_){
_start:
{
lean_object* v___x_790_; uint8_t v___x_791_; 
v___x_790_ = lean_array_get_size(v_motiveFVars_781_);
v___x_791_ = lean_nat_dec_lt(v_i_783_, v___x_790_);
if (v___x_791_ == 0)
{
lean_object* v___x_792_; 
lean_dec(v_i_783_);
v___x_792_ = lean_apply_6(v_k_782_, v_motives_784_, v_a_785_, v_a_786_, v_a_787_, v_a_788_, lean_box(0));
return v___x_792_;
}
else
{
lean_object* v___x_793_; lean_object* v___x_794_; 
v___x_793_ = lean_array_fget_borrowed(v_motiveFVars_781_, v_i_783_);
lean_inc(v_a_788_);
lean_inc_ref(v_a_787_);
lean_inc(v_a_786_);
lean_inc_ref(v_a_785_);
lean_inc(v___x_793_);
v___x_794_ = lean_infer_type(v___x_793_, v_a_785_, v_a_786_, v_a_787_, v_a_788_);
if (lean_obj_tag(v___x_794_) == 0)
{
lean_object* v_a_795_; lean_object* v___x_796_; lean_object* v___f_797_; uint8_t v___x_798_; lean_object* v___x_799_; 
v_a_795_ = lean_ctor_get(v___x_794_, 0);
lean_inc(v_a_795_);
lean_dec_ref(v___x_794_);
v___x_796_ = lean_box(v___x_791_);
v___f_797_ = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___boxed), 8, 1);
lean_closure_set(v___f_797_, 0, v___x_796_);
v___x_798_ = 0;
lean_inc(v_a_788_);
lean_inc_ref(v_a_787_);
lean_inc(v_a_786_);
lean_inc_ref(v_a_785_);
v___x_799_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg(v_a_795_, v___f_797_, v___x_798_, v___x_798_, v_a_785_, v_a_786_, v_a_787_, v_a_788_);
if (lean_obj_tag(v___x_799_) == 0)
{
lean_object* v_a_800_; lean_object* v___y_802_; lean_object* v___y_803_; lean_object* v___y_804_; lean_object* v___y_805_; lean_object* v___x_810_; lean_object* v___x_811_; 
v_a_800_ = lean_ctor_get(v___x_799_, 0);
lean_inc(v_a_800_);
lean_dec_ref(v___x_799_);
v___x_810_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__2));
v___x_811_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg(v___x_810_, v_a_787_);
if (lean_obj_tag(v___x_811_) == 0)
{
lean_object* v_a_812_; uint8_t v___x_813_; 
v_a_812_ = lean_ctor_get(v___x_811_, 0);
lean_inc(v_a_812_);
lean_dec_ref(v___x_811_);
v___x_813_ = lean_unbox(v_a_812_);
lean_dec(v_a_812_);
if (v___x_813_ == 0)
{
v___y_802_ = v_a_785_;
v___y_803_ = v_a_786_;
v___y_804_ = v_a_787_;
v___y_805_ = v_a_788_;
goto v___jp_801_;
}
else
{
lean_object* v___x_814_; lean_object* v___x_815_; lean_object* v___x_816_; lean_object* v___x_817_; 
v___x_814_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__4, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__4_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__4);
lean_inc(v_a_800_);
v___x_815_ = l_Lean_MessageData_ofExpr(v_a_800_);
v___x_816_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_816_, 0, v___x_814_);
lean_ctor_set(v___x_816_, 1, v___x_815_);
v___x_817_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1(v___x_810_, v___x_816_, v_a_785_, v_a_786_, v_a_787_, v_a_788_);
if (lean_obj_tag(v___x_817_) == 0)
{
lean_dec_ref(v___x_817_);
v___y_802_ = v_a_785_;
v___y_803_ = v_a_786_;
v___y_804_ = v_a_787_;
v___y_805_ = v_a_788_;
goto v___jp_801_;
}
else
{
lean_object* v_a_818_; lean_object* v___x_820_; uint8_t v_isShared_821_; uint8_t v_isSharedCheck_825_; 
lean_dec(v_a_800_);
lean_dec(v_a_788_);
lean_dec_ref(v_a_787_);
lean_dec(v_a_786_);
lean_dec_ref(v_a_785_);
lean_dec_ref(v_motives_784_);
lean_dec(v_i_783_);
lean_dec_ref(v_k_782_);
v_a_818_ = lean_ctor_get(v___x_817_, 0);
v_isSharedCheck_825_ = !lean_is_exclusive(v___x_817_);
if (v_isSharedCheck_825_ == 0)
{
v___x_820_ = v___x_817_;
v_isShared_821_ = v_isSharedCheck_825_;
goto v_resetjp_819_;
}
else
{
lean_inc(v_a_818_);
lean_dec(v___x_817_);
v___x_820_ = lean_box(0);
v_isShared_821_ = v_isSharedCheck_825_;
goto v_resetjp_819_;
}
v_resetjp_819_:
{
lean_object* v___x_823_; 
if (v_isShared_821_ == 0)
{
v___x_823_ = v___x_820_;
goto v_reusejp_822_;
}
else
{
lean_object* v_reuseFailAlloc_824_; 
v_reuseFailAlloc_824_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_824_, 0, v_a_818_);
v___x_823_ = v_reuseFailAlloc_824_;
goto v_reusejp_822_;
}
v_reusejp_822_:
{
return v___x_823_;
}
}
}
}
}
else
{
lean_object* v_a_826_; lean_object* v___x_828_; uint8_t v_isShared_829_; uint8_t v_isSharedCheck_833_; 
lean_dec(v_a_800_);
lean_dec(v_a_788_);
lean_dec_ref(v_a_787_);
lean_dec(v_a_786_);
lean_dec_ref(v_a_785_);
lean_dec_ref(v_motives_784_);
lean_dec(v_i_783_);
lean_dec_ref(v_k_782_);
v_a_826_ = lean_ctor_get(v___x_811_, 0);
v_isSharedCheck_833_ = !lean_is_exclusive(v___x_811_);
if (v_isSharedCheck_833_ == 0)
{
v___x_828_ = v___x_811_;
v_isShared_829_ = v_isSharedCheck_833_;
goto v_resetjp_827_;
}
else
{
lean_inc(v_a_826_);
lean_dec(v___x_811_);
v___x_828_ = lean_box(0);
v_isShared_829_ = v_isSharedCheck_833_;
goto v_resetjp_827_;
}
v_resetjp_827_:
{
lean_object* v___x_831_; 
if (v_isShared_829_ == 0)
{
v___x_831_ = v___x_828_;
goto v_reusejp_830_;
}
else
{
lean_object* v_reuseFailAlloc_832_; 
v_reuseFailAlloc_832_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_832_, 0, v_a_826_);
v___x_831_ = v_reuseFailAlloc_832_;
goto v_reusejp_830_;
}
v_reusejp_830_:
{
return v___x_831_;
}
}
}
v___jp_801_:
{
lean_object* v___x_806_; lean_object* v___x_807_; lean_object* v___x_808_; 
v___x_806_ = lean_unsigned_to_nat(1u);
v___x_807_ = lean_nat_add(v_i_783_, v___x_806_);
lean_dec(v_i_783_);
v___x_808_ = lean_array_push(v_motives_784_, v_a_800_);
v_i_783_ = v___x_807_;
v_motives_784_ = v___x_808_;
v_a_785_ = v___y_802_;
v_a_786_ = v___y_803_;
v_a_787_ = v___y_804_;
v_a_788_ = v___y_805_;
goto _start;
}
}
else
{
lean_object* v_a_834_; lean_object* v___x_836_; uint8_t v_isShared_837_; uint8_t v_isSharedCheck_841_; 
lean_dec(v_a_788_);
lean_dec_ref(v_a_787_);
lean_dec(v_a_786_);
lean_dec_ref(v_a_785_);
lean_dec_ref(v_motives_784_);
lean_dec(v_i_783_);
lean_dec_ref(v_k_782_);
v_a_834_ = lean_ctor_get(v___x_799_, 0);
v_isSharedCheck_841_ = !lean_is_exclusive(v___x_799_);
if (v_isSharedCheck_841_ == 0)
{
v___x_836_ = v___x_799_;
v_isShared_837_ = v_isSharedCheck_841_;
goto v_resetjp_835_;
}
else
{
lean_inc(v_a_834_);
lean_dec(v___x_799_);
v___x_836_ = lean_box(0);
v_isShared_837_ = v_isSharedCheck_841_;
goto v_resetjp_835_;
}
v_resetjp_835_:
{
lean_object* v___x_839_; 
if (v_isShared_837_ == 0)
{
v___x_839_ = v___x_836_;
goto v_reusejp_838_;
}
else
{
lean_object* v_reuseFailAlloc_840_; 
v_reuseFailAlloc_840_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_840_, 0, v_a_834_);
v___x_839_ = v_reuseFailAlloc_840_;
goto v_reusejp_838_;
}
v_reusejp_838_:
{
return v___x_839_;
}
}
}
}
else
{
lean_object* v_a_842_; lean_object* v___x_844_; uint8_t v_isShared_845_; uint8_t v_isSharedCheck_849_; 
lean_dec(v_a_788_);
lean_dec_ref(v_a_787_);
lean_dec(v_a_786_);
lean_dec_ref(v_a_785_);
lean_dec_ref(v_motives_784_);
lean_dec(v_i_783_);
lean_dec_ref(v_k_782_);
v_a_842_ = lean_ctor_get(v___x_794_, 0);
v_isSharedCheck_849_ = !lean_is_exclusive(v___x_794_);
if (v_isSharedCheck_849_ == 0)
{
v___x_844_ = v___x_794_;
v_isShared_845_ = v_isSharedCheck_849_;
goto v_resetjp_843_;
}
else
{
lean_inc(v_a_842_);
lean_dec(v___x_794_);
v___x_844_ = lean_box(0);
v_isShared_845_ = v_isSharedCheck_849_;
goto v_resetjp_843_;
}
v_resetjp_843_:
{
lean_object* v___x_847_; 
if (v_isShared_845_ == 0)
{
v___x_847_ = v___x_844_;
goto v_reusejp_846_;
}
else
{
lean_object* v_reuseFailAlloc_848_; 
v_reuseFailAlloc_848_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_848_, 0, v_a_842_);
v___x_847_ = v_reuseFailAlloc_848_;
goto v_reusejp_846_;
}
v_reusejp_846_:
{
return v___x_847_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___boxed(lean_object* v_motiveFVars_850_, lean_object* v_k_851_, lean_object* v_i_852_, lean_object* v_motives_853_, lean_object* v_a_854_, lean_object* v_a_855_, lean_object* v_a_856_, lean_object* v_a_857_, lean_object* v_a_858_){
_start:
{
lean_object* v_res_859_; 
v_res_859_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg(v_motiveFVars_850_, v_k_851_, v_i_852_, v_motives_853_, v_a_854_, v_a_855_, v_a_856_, v_a_857_);
lean_dec_ref(v_motiveFVars_850_);
return v_res_859_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop(lean_object* v_00_u03b1_860_, lean_object* v_motiveFVars_861_, lean_object* v_k_862_, lean_object* v_i_863_, lean_object* v_motives_864_, lean_object* v_a_865_, lean_object* v_a_866_, lean_object* v_a_867_, lean_object* v_a_868_){
_start:
{
lean_object* v___x_870_; 
v___x_870_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg(v_motiveFVars_861_, v_k_862_, v_i_863_, v_motives_864_, v_a_865_, v_a_866_, v_a_867_, v_a_868_);
return v___x_870_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___boxed(lean_object* v_00_u03b1_871_, lean_object* v_motiveFVars_872_, lean_object* v_k_873_, lean_object* v_i_874_, lean_object* v_motives_875_, lean_object* v_a_876_, lean_object* v_a_877_, lean_object* v_a_878_, lean_object* v_a_879_, lean_object* v_a_880_){
_start:
{
lean_object* v_res_881_; 
v_res_881_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop(v_00_u03b1_871_, v_motiveFVars_872_, v_k_873_, v_i_874_, v_motives_875_, v_a_876_, v_a_877_, v_a_878_, v_a_879_);
lean_dec_ref(v_motiveFVars_872_);
return v_res_881_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives___redArg(lean_object* v_motiveFVars_882_, lean_object* v_k_883_, lean_object* v_a_884_, lean_object* v_a_885_, lean_object* v_a_886_, lean_object* v_a_887_){
_start:
{
lean_object* v___x_889_; lean_object* v___x_890_; lean_object* v___x_891_; 
v___x_889_ = lean_unsigned_to_nat(0u);
v___x_890_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances___redArg___closed__0));
v___x_891_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg(v_motiveFVars_882_, v_k_883_, v___x_889_, v___x_890_, v_a_884_, v_a_885_, v_a_886_, v_a_887_);
return v___x_891_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives___redArg___boxed(lean_object* v_motiveFVars_892_, lean_object* v_k_893_, lean_object* v_a_894_, lean_object* v_a_895_, lean_object* v_a_896_, lean_object* v_a_897_, lean_object* v_a_898_){
_start:
{
lean_object* v_res_899_; 
v_res_899_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives___redArg(v_motiveFVars_892_, v_k_893_, v_a_894_, v_a_895_, v_a_896_, v_a_897_);
lean_dec_ref(v_motiveFVars_892_);
return v_res_899_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives(lean_object* v_00_u03b1_900_, lean_object* v_motiveFVars_901_, lean_object* v_k_902_, lean_object* v_a_903_, lean_object* v_a_904_, lean_object* v_a_905_, lean_object* v_a_906_){
_start:
{
lean_object* v___x_908_; 
v___x_908_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives___redArg(v_motiveFVars_901_, v_k_902_, v_a_903_, v_a_904_, v_a_905_, v_a_906_);
return v___x_908_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives___boxed(lean_object* v_00_u03b1_909_, lean_object* v_motiveFVars_910_, lean_object* v_k_911_, lean_object* v_a_912_, lean_object* v_a_913_, lean_object* v_a_914_, lean_object* v_a_915_, lean_object* v_a_916_){
_start:
{
lean_object* v_res_917_; 
v_res_917_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives(v_00_u03b1_909_, v_motiveFVars_910_, v_k_911_, v_a_912_, v_a_913_, v_a_914_, v_a_915_);
lean_dec_ref(v_motiveFVars_910_);
return v_res_917_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreFieldType(lean_object* v_type_921_, lean_object* v_a_922_, lean_object* v_a_923_, lean_object* v_a_924_, lean_object* v_a_925_){
_start:
{
lean_object* v___x_927_; 
lean_inc(v_a_925_);
lean_inc_ref(v_a_924_);
lean_inc(v_a_923_);
lean_inc_ref(v_a_922_);
v___x_927_ = lean_whnf(v_type_921_, v_a_922_, v_a_923_, v_a_924_, v_a_925_);
if (lean_obj_tag(v___x_927_) == 0)
{
lean_object* v_a_928_; lean_object* v___x_930_; uint8_t v_isShared_931_; uint8_t v_isSharedCheck_947_; 
v_a_928_ = lean_ctor_get(v___x_927_, 0);
v_isSharedCheck_947_ = !lean_is_exclusive(v___x_927_);
if (v_isSharedCheck_947_ == 0)
{
v___x_930_ = v___x_927_;
v_isShared_931_ = v_isSharedCheck_947_;
goto v_resetjp_929_;
}
else
{
lean_inc(v_a_928_);
lean_dec(v___x_927_);
v___x_930_ = lean_box(0);
v_isShared_931_ = v_isSharedCheck_947_;
goto v_resetjp_929_;
}
v_resetjp_929_:
{
uint8_t v___x_932_; uint8_t v___y_934_; 
v___x_932_ = l_Lean_Expr_isForall(v_a_928_);
if (v___x_932_ == 0)
{
lean_object* v___x_941_; lean_object* v___x_942_; 
lean_del_object(v___x_930_);
lean_dec(v_a_928_);
lean_dec(v_a_925_);
lean_dec_ref(v_a_924_);
lean_dec(v_a_923_);
lean_dec_ref(v_a_922_);
v___x_941_ = lean_box(v___x_932_);
v___x_942_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_942_, 0, v___x_941_);
return v___x_942_;
}
else
{
uint8_t v___x_943_; 
v___x_943_ = l_Lean_Expr_isArrow(v_a_928_);
if (v___x_943_ == 0)
{
v___y_934_ = v___x_943_;
goto v___jp_933_;
}
else
{
lean_object* v___x_944_; lean_object* v___x_945_; uint8_t v___x_946_; 
v___x_944_ = l_Lean_Expr_bindingDomain_x21(v_a_928_);
v___x_945_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreFieldType___closed__1));
v___x_946_ = l_Lean_Expr_isConstOf(v___x_944_, v___x_945_);
lean_dec_ref(v___x_944_);
v___y_934_ = v___x_946_;
goto v___jp_933_;
}
}
v___jp_933_:
{
if (v___y_934_ == 0)
{
lean_object* v___x_935_; lean_object* v___x_937_; 
lean_dec(v_a_928_);
lean_dec(v_a_925_);
lean_dec_ref(v_a_924_);
lean_dec(v_a_923_);
lean_dec_ref(v_a_922_);
v___x_935_ = lean_box(v___x_932_);
if (v_isShared_931_ == 0)
{
lean_ctor_set(v___x_930_, 0, v___x_935_);
v___x_937_ = v___x_930_;
goto v_reusejp_936_;
}
else
{
lean_object* v_reuseFailAlloc_938_; 
v_reuseFailAlloc_938_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_938_, 0, v___x_935_);
v___x_937_ = v_reuseFailAlloc_938_;
goto v_reusejp_936_;
}
v_reusejp_936_:
{
return v___x_937_;
}
}
else
{
lean_object* v___x_939_; 
lean_del_object(v___x_930_);
v___x_939_ = l_Lean_Expr_bindingBody_x21(v_a_928_);
lean_dec(v_a_928_);
v_type_921_ = v___x_939_;
goto _start;
}
}
}
}
else
{
lean_object* v_a_948_; lean_object* v___x_950_; uint8_t v_isShared_951_; uint8_t v_isSharedCheck_955_; 
lean_dec(v_a_925_);
lean_dec_ref(v_a_924_);
lean_dec(v_a_923_);
lean_dec_ref(v_a_922_);
v_a_948_ = lean_ctor_get(v___x_927_, 0);
v_isSharedCheck_955_ = !lean_is_exclusive(v___x_927_);
if (v_isSharedCheck_955_ == 0)
{
v___x_950_ = v___x_927_;
v_isShared_951_ = v_isSharedCheck_955_;
goto v_resetjp_949_;
}
else
{
lean_inc(v_a_948_);
lean_dec(v___x_927_);
v___x_950_ = lean_box(0);
v_isShared_951_ = v_isSharedCheck_955_;
goto v_resetjp_949_;
}
v_resetjp_949_:
{
lean_object* v___x_953_; 
if (v_isShared_951_ == 0)
{
v___x_953_ = v___x_950_;
goto v_reusejp_952_;
}
else
{
lean_object* v_reuseFailAlloc_954_; 
v_reuseFailAlloc_954_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_954_, 0, v_a_948_);
v___x_953_ = v_reuseFailAlloc_954_;
goto v_reusejp_952_;
}
v_reusejp_952_:
{
return v___x_953_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreFieldType___boxed(lean_object* v_type_956_, lean_object* v_a_957_, lean_object* v_a_958_, lean_object* v_a_959_, lean_object* v_a_960_, lean_object* v_a_961_){
_start:
{
lean_object* v_res_962_; 
v_res_962_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreFieldType(v_type_956_, v_a_957_, v_a_958_, v_a_959_, v_a_960_);
return v_res_962_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreField(lean_object* v_x_963_, lean_object* v_a_964_, lean_object* v_a_965_, lean_object* v_a_966_, lean_object* v_a_967_){
_start:
{
lean_object* v___x_969_; 
lean_inc(v_a_967_);
lean_inc_ref(v_a_966_);
lean_inc(v_a_965_);
lean_inc_ref(v_a_964_);
v___x_969_ = lean_infer_type(v_x_963_, v_a_964_, v_a_965_, v_a_966_, v_a_967_);
if (lean_obj_tag(v___x_969_) == 0)
{
lean_object* v_a_970_; lean_object* v___x_971_; 
v_a_970_ = lean_ctor_get(v___x_969_, 0);
lean_inc(v_a_970_);
lean_dec_ref(v___x_969_);
v___x_971_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreFieldType(v_a_970_, v_a_964_, v_a_965_, v_a_966_, v_a_967_);
return v___x_971_;
}
else
{
lean_object* v_a_972_; lean_object* v___x_974_; uint8_t v_isShared_975_; uint8_t v_isSharedCheck_979_; 
lean_dec(v_a_967_);
lean_dec_ref(v_a_966_);
lean_dec(v_a_965_);
lean_dec_ref(v_a_964_);
v_a_972_ = lean_ctor_get(v___x_969_, 0);
v_isSharedCheck_979_ = !lean_is_exclusive(v___x_969_);
if (v_isSharedCheck_979_ == 0)
{
v___x_974_ = v___x_969_;
v_isShared_975_ = v_isSharedCheck_979_;
goto v_resetjp_973_;
}
else
{
lean_inc(v_a_972_);
lean_dec(v___x_969_);
v___x_974_ = lean_box(0);
v_isShared_975_ = v_isSharedCheck_979_;
goto v_resetjp_973_;
}
v_resetjp_973_:
{
lean_object* v___x_977_; 
if (v_isShared_975_ == 0)
{
v___x_977_ = v___x_974_;
goto v_reusejp_976_;
}
else
{
lean_object* v_reuseFailAlloc_978_; 
v_reuseFailAlloc_978_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_978_, 0, v_a_972_);
v___x_977_ = v_reuseFailAlloc_978_;
goto v_reusejp_976_;
}
v_reusejp_976_:
{
return v___x_977_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreField___boxed(lean_object* v_x_980_, lean_object* v_a_981_, lean_object* v_a_982_, lean_object* v_a_983_, lean_object* v_a_984_, lean_object* v_a_985_){
_start:
{
lean_object* v_res_986_; 
v_res_986_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreField(v_x_980_, v_a_981_, v_a_982_, v_a_983_, v_a_984_);
return v_res_986_;
}
}
static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH___closed__2(void){
_start:
{
lean_object* v___x_991_; lean_object* v___x_992_; lean_object* v___x_993_; 
v___x_991_ = lean_box(0);
v___x_992_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH___closed__1));
v___x_993_ = l_Lean_mkConst(v___x_992_, v___x_991_);
return v___x_993_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH(lean_object* v_ih_994_, lean_object* v_a_995_, lean_object* v_a_996_, lean_object* v_a_997_, lean_object* v_a_998_){
_start:
{
lean_object* v___x_1000_; 
lean_inc(v_a_998_);
lean_inc_ref(v_a_997_);
lean_inc(v_a_996_);
lean_inc_ref(v_a_995_);
lean_inc_ref(v_ih_994_);
v___x_1000_ = lean_infer_type(v_ih_994_, v_a_995_, v_a_996_, v_a_997_, v_a_998_);
if (lean_obj_tag(v___x_1000_) == 0)
{
lean_object* v_a_1001_; lean_object* v___x_1002_; 
v_a_1001_ = lean_ctor_get(v___x_1000_, 0);
lean_inc(v_a_1001_);
lean_dec_ref(v___x_1000_);
lean_inc(v_a_998_);
lean_inc_ref(v_a_997_);
lean_inc(v_a_996_);
lean_inc_ref(v_a_995_);
v___x_1002_ = lean_whnf(v_a_1001_, v_a_995_, v_a_996_, v_a_997_, v_a_998_);
if (lean_obj_tag(v___x_1002_) == 0)
{
lean_object* v_a_1003_; lean_object* v___x_1005_; uint8_t v_isShared_1006_; uint8_t v_isSharedCheck_1014_; 
v_a_1003_ = lean_ctor_get(v___x_1002_, 0);
v_isSharedCheck_1014_ = !lean_is_exclusive(v___x_1002_);
if (v_isSharedCheck_1014_ == 0)
{
v___x_1005_ = v___x_1002_;
v_isShared_1006_ = v_isSharedCheck_1014_;
goto v_resetjp_1004_;
}
else
{
lean_inc(v_a_1003_);
lean_dec(v___x_1002_);
v___x_1005_ = lean_box(0);
v_isShared_1006_ = v_isSharedCheck_1014_;
goto v_resetjp_1004_;
}
v_resetjp_1004_:
{
uint8_t v___x_1007_; 
v___x_1007_ = l_Lean_Expr_isForall(v_a_1003_);
lean_dec(v_a_1003_);
if (v___x_1007_ == 0)
{
lean_object* v___x_1009_; 
lean_dec(v_a_998_);
lean_dec_ref(v_a_997_);
lean_dec(v_a_996_);
lean_dec_ref(v_a_995_);
if (v_isShared_1006_ == 0)
{
lean_ctor_set(v___x_1005_, 0, v_ih_994_);
v___x_1009_ = v___x_1005_;
goto v_reusejp_1008_;
}
else
{
lean_object* v_reuseFailAlloc_1010_; 
v_reuseFailAlloc_1010_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1010_, 0, v_ih_994_);
v___x_1009_ = v_reuseFailAlloc_1010_;
goto v_reusejp_1008_;
}
v_reusejp_1008_:
{
return v___x_1009_;
}
}
else
{
lean_object* v___x_1011_; lean_object* v___x_1012_; 
lean_del_object(v___x_1005_);
v___x_1011_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH___closed__2, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH___closed__2_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH___closed__2);
v___x_1012_ = l_Lean_Expr_app___override(v_ih_994_, v___x_1011_);
v_ih_994_ = v___x_1012_;
goto _start;
}
}
}
else
{
lean_dec(v_a_998_);
lean_dec_ref(v_a_997_);
lean_dec(v_a_996_);
lean_dec_ref(v_a_995_);
lean_dec_ref(v_ih_994_);
return v___x_1002_;
}
}
else
{
lean_dec(v_a_998_);
lean_dec_ref(v_a_997_);
lean_dec(v_a_996_);
lean_dec_ref(v_a_995_);
lean_dec_ref(v_ih_994_);
return v___x_1000_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH___boxed(lean_object* v_ih_1015_, lean_object* v_a_1016_, lean_object* v_a_1017_, lean_object* v_a_1018_, lean_object* v_a_1019_, lean_object* v_a_1020_){
_start:
{
lean_object* v_res_1021_; 
v_res_1021_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH(v_ih_1015_, v_a_1016_, v_a_1017_, v_a_1018_, v_a_1019_);
return v_res_1021_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__1___redArg(lean_object* v_type_1022_, lean_object* v_maxFVars_x3f_1023_, lean_object* v_k_1024_, uint8_t v_cleanupAnnotations_1025_, uint8_t v_whnfType_1026_, lean_object* v___y_1027_, lean_object* v___y_1028_, lean_object* v___y_1029_, lean_object* v___y_1030_){
_start:
{
lean_object* v___f_1032_; lean_object* v___x_1033_; 
v___f_1032_ = lean_alloc_closure((void*)(l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg___lam__0___boxed), 8, 1);
lean_closure_set(v___f_1032_, 0, v_k_1024_);
v___x_1033_ = l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingAux(lean_box(0), v_type_1022_, v_maxFVars_x3f_1023_, v___f_1032_, v_cleanupAnnotations_1025_, v_whnfType_1026_, v___y_1027_, v___y_1028_, v___y_1029_, v___y_1030_);
if (lean_obj_tag(v___x_1033_) == 0)
{
lean_object* v_a_1034_; lean_object* v___x_1036_; uint8_t v_isShared_1037_; uint8_t v_isSharedCheck_1041_; 
v_a_1034_ = lean_ctor_get(v___x_1033_, 0);
v_isSharedCheck_1041_ = !lean_is_exclusive(v___x_1033_);
if (v_isSharedCheck_1041_ == 0)
{
v___x_1036_ = v___x_1033_;
v_isShared_1037_ = v_isSharedCheck_1041_;
goto v_resetjp_1035_;
}
else
{
lean_inc(v_a_1034_);
lean_dec(v___x_1033_);
v___x_1036_ = lean_box(0);
v_isShared_1037_ = v_isSharedCheck_1041_;
goto v_resetjp_1035_;
}
v_resetjp_1035_:
{
lean_object* v___x_1039_; 
if (v_isShared_1037_ == 0)
{
v___x_1039_ = v___x_1036_;
goto v_reusejp_1038_;
}
else
{
lean_object* v_reuseFailAlloc_1040_; 
v_reuseFailAlloc_1040_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1040_, 0, v_a_1034_);
v___x_1039_ = v_reuseFailAlloc_1040_;
goto v_reusejp_1038_;
}
v_reusejp_1038_:
{
return v___x_1039_;
}
}
}
else
{
lean_object* v_a_1042_; lean_object* v___x_1044_; uint8_t v_isShared_1045_; uint8_t v_isSharedCheck_1049_; 
v_a_1042_ = lean_ctor_get(v___x_1033_, 0);
v_isSharedCheck_1049_ = !lean_is_exclusive(v___x_1033_);
if (v_isSharedCheck_1049_ == 0)
{
v___x_1044_ = v___x_1033_;
v_isShared_1045_ = v_isSharedCheck_1049_;
goto v_resetjp_1043_;
}
else
{
lean_inc(v_a_1042_);
lean_dec(v___x_1033_);
v___x_1044_ = lean_box(0);
v_isShared_1045_ = v_isSharedCheck_1049_;
goto v_resetjp_1043_;
}
v_resetjp_1043_:
{
lean_object* v___x_1047_; 
if (v_isShared_1045_ == 0)
{
v___x_1047_ = v___x_1044_;
goto v_reusejp_1046_;
}
else
{
lean_object* v_reuseFailAlloc_1048_; 
v_reuseFailAlloc_1048_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1048_, 0, v_a_1042_);
v___x_1047_ = v_reuseFailAlloc_1048_;
goto v_reusejp_1046_;
}
v_reusejp_1046_:
{
return v___x_1047_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__1___redArg___boxed(lean_object* v_type_1050_, lean_object* v_maxFVars_x3f_1051_, lean_object* v_k_1052_, lean_object* v_cleanupAnnotations_1053_, lean_object* v_whnfType_1054_, lean_object* v___y_1055_, lean_object* v___y_1056_, lean_object* v___y_1057_, lean_object* v___y_1058_, lean_object* v___y_1059_){
_start:
{
uint8_t v_cleanupAnnotations_boxed_1060_; uint8_t v_whnfType_boxed_1061_; lean_object* v_res_1062_; 
v_cleanupAnnotations_boxed_1060_ = lean_unbox(v_cleanupAnnotations_1053_);
v_whnfType_boxed_1061_ = lean_unbox(v_whnfType_1054_);
v_res_1062_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__1___redArg(v_type_1050_, v_maxFVars_x3f_1051_, v_k_1052_, v_cleanupAnnotations_boxed_1060_, v_whnfType_boxed_1061_, v___y_1055_, v___y_1056_, v___y_1057_, v___y_1058_);
return v_res_1062_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__1(lean_object* v_00_u03b1_1063_, lean_object* v_type_1064_, lean_object* v_maxFVars_x3f_1065_, lean_object* v_k_1066_, uint8_t v_cleanupAnnotations_1067_, uint8_t v_whnfType_1068_, lean_object* v___y_1069_, lean_object* v___y_1070_, lean_object* v___y_1071_, lean_object* v___y_1072_){
_start:
{
lean_object* v___x_1074_; 
v___x_1074_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__1___redArg(v_type_1064_, v_maxFVars_x3f_1065_, v_k_1066_, v_cleanupAnnotations_1067_, v_whnfType_1068_, v___y_1069_, v___y_1070_, v___y_1071_, v___y_1072_);
return v___x_1074_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__1___boxed(lean_object* v_00_u03b1_1075_, lean_object* v_type_1076_, lean_object* v_maxFVars_x3f_1077_, lean_object* v_k_1078_, lean_object* v_cleanupAnnotations_1079_, lean_object* v_whnfType_1080_, lean_object* v___y_1081_, lean_object* v___y_1082_, lean_object* v___y_1083_, lean_object* v___y_1084_, lean_object* v___y_1085_){
_start:
{
uint8_t v_cleanupAnnotations_boxed_1086_; uint8_t v_whnfType_boxed_1087_; lean_object* v_res_1088_; 
v_cleanupAnnotations_boxed_1086_ = lean_unbox(v_cleanupAnnotations_1079_);
v_whnfType_boxed_1087_ = lean_unbox(v_whnfType_1080_);
v_res_1088_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__1(v_00_u03b1_1075_, v_type_1076_, v_maxFVars_x3f_1077_, v_k_1078_, v_cleanupAnnotations_boxed_1086_, v_whnfType_boxed_1087_, v___y_1081_, v___y_1082_, v___y_1083_, v___y_1084_);
return v_res_1088_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__0(lean_object* v_motiveFVars_1092_, lean_object* v_xs_1093_, lean_object* v_xs_x27_1094_, lean_object* v_as_1095_, size_t v_sz_1096_, size_t v_i_1097_, lean_object* v_b_1098_, lean_object* v___y_1099_, lean_object* v___y_1100_, lean_object* v___y_1101_, lean_object* v___y_1102_){
_start:
{
lean_object* v_a_1105_; uint8_t v___x_1109_; 
v___x_1109_ = lean_usize_dec_lt(v_i_1097_, v_sz_1096_);
if (v___x_1109_ == 0)
{
lean_object* v___x_1110_; 
lean_dec(v___y_1102_);
lean_dec_ref(v___y_1101_);
lean_dec(v___y_1100_);
lean_dec_ref(v___y_1099_);
lean_dec_ref(v_motiveFVars_1092_);
v___x_1110_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1110_, 0, v_b_1098_);
return v___x_1110_;
}
else
{
lean_object* v_snd_1111_; lean_object* v_fst_1112_; lean_object* v___x_1114_; uint8_t v_isShared_1115_; uint8_t v_isSharedCheck_1228_; 
v_snd_1111_ = lean_ctor_get(v_b_1098_, 1);
v_fst_1112_ = lean_ctor_get(v_b_1098_, 0);
v_isSharedCheck_1228_ = !lean_is_exclusive(v_b_1098_);
if (v_isSharedCheck_1228_ == 0)
{
v___x_1114_ = v_b_1098_;
v_isShared_1115_ = v_isSharedCheck_1228_;
goto v_resetjp_1113_;
}
else
{
lean_inc(v_snd_1111_);
lean_inc(v_fst_1112_);
lean_dec(v_b_1098_);
v___x_1114_ = lean_box(0);
v_isShared_1115_ = v_isSharedCheck_1228_;
goto v_resetjp_1113_;
}
v_resetjp_1113_:
{
lean_object* v_array_1116_; lean_object* v_start_1117_; lean_object* v_stop_1118_; uint8_t v___x_1119_; 
v_array_1116_ = lean_ctor_get(v_snd_1111_, 0);
v_start_1117_ = lean_ctor_get(v_snd_1111_, 1);
v_stop_1118_ = lean_ctor_get(v_snd_1111_, 2);
v___x_1119_ = lean_nat_dec_lt(v_start_1117_, v_stop_1118_);
if (v___x_1119_ == 0)
{
lean_object* v___x_1121_; 
lean_dec(v___y_1102_);
lean_dec_ref(v___y_1101_);
lean_dec(v___y_1100_);
lean_dec_ref(v___y_1099_);
lean_dec_ref(v_motiveFVars_1092_);
if (v_isShared_1115_ == 0)
{
v___x_1121_ = v___x_1114_;
goto v_reusejp_1120_;
}
else
{
lean_object* v_reuseFailAlloc_1123_; 
v_reuseFailAlloc_1123_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1123_, 0, v_fst_1112_);
lean_ctor_set(v_reuseFailAlloc_1123_, 1, v_snd_1111_);
v___x_1121_ = v_reuseFailAlloc_1123_;
goto v_reusejp_1120_;
}
v_reusejp_1120_:
{
lean_object* v___x_1122_; 
v___x_1122_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1122_, 0, v___x_1121_);
return v___x_1122_;
}
}
else
{
lean_object* v___x_1125_; uint8_t v_isShared_1126_; uint8_t v_isSharedCheck_1224_; 
lean_inc(v_stop_1118_);
lean_inc(v_start_1117_);
lean_inc_ref(v_array_1116_);
v_isSharedCheck_1224_ = !lean_is_exclusive(v_snd_1111_);
if (v_isSharedCheck_1224_ == 0)
{
lean_object* v_unused_1225_; lean_object* v_unused_1226_; lean_object* v_unused_1227_; 
v_unused_1225_ = lean_ctor_get(v_snd_1111_, 2);
lean_dec(v_unused_1225_);
v_unused_1226_ = lean_ctor_get(v_snd_1111_, 1);
lean_dec(v_unused_1226_);
v_unused_1227_ = lean_ctor_get(v_snd_1111_, 0);
lean_dec(v_unused_1227_);
v___x_1125_ = v_snd_1111_;
v_isShared_1126_ = v_isSharedCheck_1224_;
goto v_resetjp_1124_;
}
else
{
lean_dec(v_snd_1111_);
v___x_1125_ = lean_box(0);
v_isShared_1126_ = v_isSharedCheck_1224_;
goto v_resetjp_1124_;
}
v_resetjp_1124_:
{
lean_object* v_a_1127_; lean_object* v___x_1128_; 
v_a_1127_ = lean_array_uget_borrowed(v_as_1095_, v_i_1097_);
lean_inc(v___y_1102_);
lean_inc_ref(v___y_1101_);
lean_inc(v___y_1100_);
lean_inc_ref(v___y_1099_);
lean_inc(v_a_1127_);
lean_inc_ref(v_motiveFVars_1092_);
v___x_1128_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_isInductiveHypothesis(v_motiveFVars_1092_, v_a_1127_, v___y_1099_, v___y_1100_, v___y_1101_, v___y_1102_);
if (lean_obj_tag(v___x_1128_) == 0)
{
lean_object* v_a_1129_; lean_object* v___x_1130_; lean_object* v___x_1131_; lean_object* v___x_1132_; lean_object* v___x_1134_; 
v_a_1129_ = lean_ctor_get(v___x_1128_, 0);
lean_inc(v_a_1129_);
lean_dec_ref(v___x_1128_);
v___x_1130_ = lean_array_fget(v_array_1116_, v_start_1117_);
v___x_1131_ = lean_unsigned_to_nat(1u);
v___x_1132_ = lean_nat_add(v_start_1117_, v___x_1131_);
lean_dec(v_start_1117_);
if (v_isShared_1126_ == 0)
{
lean_ctor_set(v___x_1125_, 1, v___x_1132_);
v___x_1134_ = v___x_1125_;
goto v_reusejp_1133_;
}
else
{
lean_object* v_reuseFailAlloc_1215_; 
v_reuseFailAlloc_1215_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v_reuseFailAlloc_1215_, 0, v_array_1116_);
lean_ctor_set(v_reuseFailAlloc_1215_, 1, v___x_1132_);
lean_ctor_set(v_reuseFailAlloc_1215_, 2, v_stop_1118_);
v___x_1134_ = v_reuseFailAlloc_1215_;
goto v_reusejp_1133_;
}
v_reusejp_1133_:
{
uint8_t v___x_1135_; 
v___x_1135_ = lean_unbox(v_a_1129_);
lean_dec(v_a_1129_);
if (v___x_1135_ == 0)
{
lean_object* v___x_1136_; 
lean_inc(v___y_1102_);
lean_inc_ref(v___y_1101_);
lean_inc(v___y_1100_);
lean_inc_ref(v___y_1099_);
lean_inc(v_a_1127_);
v___x_1136_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreField(v_a_1127_, v___y_1099_, v___y_1100_, v___y_1101_, v___y_1102_);
if (lean_obj_tag(v___x_1136_) == 0)
{
lean_object* v_a_1137_; uint8_t v___x_1138_; 
v_a_1137_ = lean_ctor_get(v___x_1136_, 0);
lean_inc(v_a_1137_);
lean_dec_ref(v___x_1136_);
v___x_1138_ = lean_unbox(v_a_1137_);
lean_dec(v_a_1137_);
if (v___x_1138_ == 0)
{
lean_object* v___x_1139_; 
lean_inc(v___y_1102_);
lean_inc_ref(v___y_1101_);
lean_inc(v___y_1100_);
lean_inc_ref(v___y_1099_);
lean_inc_ref(v_motiveFVars_1092_);
v___x_1139_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_isRecField_x3f(v_motiveFVars_1092_, v_xs_1093_, v_a_1127_, v___y_1099_, v___y_1100_, v___y_1101_, v___y_1102_);
if (lean_obj_tag(v___x_1139_) == 0)
{
lean_object* v_a_1140_; 
v_a_1140_ = lean_ctor_get(v___x_1139_, 0);
lean_inc(v_a_1140_);
lean_dec_ref(v___x_1139_);
if (lean_obj_tag(v_a_1140_) == 0)
{
lean_object* v___x_1141_; lean_object* v___x_1142_; lean_object* v___x_1143_; lean_object* v___x_1144_; 
v___x_1141_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__0___closed__0));
v___x_1142_ = lean_mk_empty_array_with_capacity(v___x_1131_);
v___x_1143_ = lean_array_push(v___x_1142_, v___x_1130_);
lean_inc(v___y_1102_);
lean_inc_ref(v___y_1101_);
lean_inc(v___y_1100_);
lean_inc_ref(v___y_1099_);
v___x_1144_ = l_Lean_Meta_mkAppM(v___x_1141_, v___x_1143_, v___y_1099_, v___y_1100_, v___y_1101_, v___y_1102_);
if (lean_obj_tag(v___x_1144_) == 0)
{
lean_object* v_a_1145_; lean_object* v___x_1146_; 
v_a_1145_ = lean_ctor_get(v___x_1144_, 0);
lean_inc(v_a_1145_);
lean_dec_ref(v___x_1144_);
lean_inc(v___y_1102_);
lean_inc_ref(v___y_1101_);
lean_inc(v___y_1100_);
lean_inc_ref(v___y_1099_);
v___x_1146_ = l_Lean_Meta_mkAdd(v_fst_1112_, v_a_1145_, v___y_1099_, v___y_1100_, v___y_1101_, v___y_1102_);
if (lean_obj_tag(v___x_1146_) == 0)
{
lean_object* v_a_1147_; lean_object* v___x_1149_; 
v_a_1147_ = lean_ctor_get(v___x_1146_, 0);
lean_inc(v_a_1147_);
lean_dec_ref(v___x_1146_);
if (v_isShared_1115_ == 0)
{
lean_ctor_set(v___x_1114_, 1, v___x_1134_);
lean_ctor_set(v___x_1114_, 0, v_a_1147_);
v___x_1149_ = v___x_1114_;
goto v_reusejp_1148_;
}
else
{
lean_object* v_reuseFailAlloc_1150_; 
v_reuseFailAlloc_1150_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1150_, 0, v_a_1147_);
lean_ctor_set(v_reuseFailAlloc_1150_, 1, v___x_1134_);
v___x_1149_ = v_reuseFailAlloc_1150_;
goto v_reusejp_1148_;
}
v_reusejp_1148_:
{
v_a_1105_ = v___x_1149_;
goto v___jp_1104_;
}
}
else
{
lean_object* v_a_1151_; lean_object* v___x_1153_; uint8_t v_isShared_1154_; uint8_t v_isSharedCheck_1158_; 
lean_dec_ref(v___x_1134_);
lean_del_object(v___x_1114_);
lean_dec(v___y_1102_);
lean_dec_ref(v___y_1101_);
lean_dec(v___y_1100_);
lean_dec_ref(v___y_1099_);
lean_dec_ref(v_motiveFVars_1092_);
v_a_1151_ = lean_ctor_get(v___x_1146_, 0);
v_isSharedCheck_1158_ = !lean_is_exclusive(v___x_1146_);
if (v_isSharedCheck_1158_ == 0)
{
v___x_1153_ = v___x_1146_;
v_isShared_1154_ = v_isSharedCheck_1158_;
goto v_resetjp_1152_;
}
else
{
lean_inc(v_a_1151_);
lean_dec(v___x_1146_);
v___x_1153_ = lean_box(0);
v_isShared_1154_ = v_isSharedCheck_1158_;
goto v_resetjp_1152_;
}
v_resetjp_1152_:
{
lean_object* v___x_1156_; 
if (v_isShared_1154_ == 0)
{
v___x_1156_ = v___x_1153_;
goto v_reusejp_1155_;
}
else
{
lean_object* v_reuseFailAlloc_1157_; 
v_reuseFailAlloc_1157_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1157_, 0, v_a_1151_);
v___x_1156_ = v_reuseFailAlloc_1157_;
goto v_reusejp_1155_;
}
v_reusejp_1155_:
{
return v___x_1156_;
}
}
}
}
else
{
lean_object* v_a_1159_; lean_object* v___x_1161_; uint8_t v_isShared_1162_; uint8_t v_isSharedCheck_1166_; 
lean_dec_ref(v___x_1134_);
lean_del_object(v___x_1114_);
lean_dec(v_fst_1112_);
lean_dec(v___y_1102_);
lean_dec_ref(v___y_1101_);
lean_dec(v___y_1100_);
lean_dec_ref(v___y_1099_);
lean_dec_ref(v_motiveFVars_1092_);
v_a_1159_ = lean_ctor_get(v___x_1144_, 0);
v_isSharedCheck_1166_ = !lean_is_exclusive(v___x_1144_);
if (v_isSharedCheck_1166_ == 0)
{
v___x_1161_ = v___x_1144_;
v_isShared_1162_ = v_isSharedCheck_1166_;
goto v_resetjp_1160_;
}
else
{
lean_inc(v_a_1159_);
lean_dec(v___x_1144_);
v___x_1161_ = lean_box(0);
v_isShared_1162_ = v_isSharedCheck_1166_;
goto v_resetjp_1160_;
}
v_resetjp_1160_:
{
lean_object* v___x_1164_; 
if (v_isShared_1162_ == 0)
{
v___x_1164_ = v___x_1161_;
goto v_reusejp_1163_;
}
else
{
lean_object* v_reuseFailAlloc_1165_; 
v_reuseFailAlloc_1165_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1165_, 0, v_a_1159_);
v___x_1164_ = v_reuseFailAlloc_1165_;
goto v_reusejp_1163_;
}
v_reusejp_1163_:
{
return v___x_1164_;
}
}
}
}
else
{
lean_object* v_val_1167_; lean_object* v___x_1168_; lean_object* v___x_1169_; lean_object* v___x_1170_; 
lean_dec(v___x_1130_);
v_val_1167_ = lean_ctor_get(v_a_1140_, 0);
lean_inc(v_val_1167_);
lean_dec_ref(v_a_1140_);
v___x_1168_ = l_Lean_instInhabitedExpr;
v___x_1169_ = lean_array_get_borrowed(v___x_1168_, v_xs_x27_1094_, v_val_1167_);
lean_dec(v_val_1167_);
lean_inc(v___y_1102_);
lean_inc_ref(v___y_1101_);
lean_inc(v___y_1100_);
lean_inc_ref(v___y_1099_);
lean_inc(v___x_1169_);
v___x_1170_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH(v___x_1169_, v___y_1099_, v___y_1100_, v___y_1101_, v___y_1102_);
if (lean_obj_tag(v___x_1170_) == 0)
{
lean_object* v_a_1171_; lean_object* v___x_1172_; 
v_a_1171_ = lean_ctor_get(v___x_1170_, 0);
lean_inc(v_a_1171_);
lean_dec_ref(v___x_1170_);
lean_inc(v___y_1102_);
lean_inc_ref(v___y_1101_);
lean_inc(v___y_1100_);
lean_inc_ref(v___y_1099_);
v___x_1172_ = l_Lean_Meta_mkAdd(v_fst_1112_, v_a_1171_, v___y_1099_, v___y_1100_, v___y_1101_, v___y_1102_);
if (lean_obj_tag(v___x_1172_) == 0)
{
lean_object* v_a_1173_; lean_object* v___x_1175_; 
v_a_1173_ = lean_ctor_get(v___x_1172_, 0);
lean_inc(v_a_1173_);
lean_dec_ref(v___x_1172_);
if (v_isShared_1115_ == 0)
{
lean_ctor_set(v___x_1114_, 1, v___x_1134_);
lean_ctor_set(v___x_1114_, 0, v_a_1173_);
v___x_1175_ = v___x_1114_;
goto v_reusejp_1174_;
}
else
{
lean_object* v_reuseFailAlloc_1176_; 
v_reuseFailAlloc_1176_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1176_, 0, v_a_1173_);
lean_ctor_set(v_reuseFailAlloc_1176_, 1, v___x_1134_);
v___x_1175_ = v_reuseFailAlloc_1176_;
goto v_reusejp_1174_;
}
v_reusejp_1174_:
{
v_a_1105_ = v___x_1175_;
goto v___jp_1104_;
}
}
else
{
lean_object* v_a_1177_; lean_object* v___x_1179_; uint8_t v_isShared_1180_; uint8_t v_isSharedCheck_1184_; 
lean_dec_ref(v___x_1134_);
lean_del_object(v___x_1114_);
lean_dec(v___y_1102_);
lean_dec_ref(v___y_1101_);
lean_dec(v___y_1100_);
lean_dec_ref(v___y_1099_);
lean_dec_ref(v_motiveFVars_1092_);
v_a_1177_ = lean_ctor_get(v___x_1172_, 0);
v_isSharedCheck_1184_ = !lean_is_exclusive(v___x_1172_);
if (v_isSharedCheck_1184_ == 0)
{
v___x_1179_ = v___x_1172_;
v_isShared_1180_ = v_isSharedCheck_1184_;
goto v_resetjp_1178_;
}
else
{
lean_inc(v_a_1177_);
lean_dec(v___x_1172_);
v___x_1179_ = lean_box(0);
v_isShared_1180_ = v_isSharedCheck_1184_;
goto v_resetjp_1178_;
}
v_resetjp_1178_:
{
lean_object* v___x_1182_; 
if (v_isShared_1180_ == 0)
{
v___x_1182_ = v___x_1179_;
goto v_reusejp_1181_;
}
else
{
lean_object* v_reuseFailAlloc_1183_; 
v_reuseFailAlloc_1183_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1183_, 0, v_a_1177_);
v___x_1182_ = v_reuseFailAlloc_1183_;
goto v_reusejp_1181_;
}
v_reusejp_1181_:
{
return v___x_1182_;
}
}
}
}
else
{
lean_object* v_a_1185_; lean_object* v___x_1187_; uint8_t v_isShared_1188_; uint8_t v_isSharedCheck_1192_; 
lean_dec_ref(v___x_1134_);
lean_del_object(v___x_1114_);
lean_dec(v_fst_1112_);
lean_dec(v___y_1102_);
lean_dec_ref(v___y_1101_);
lean_dec(v___y_1100_);
lean_dec_ref(v___y_1099_);
lean_dec_ref(v_motiveFVars_1092_);
v_a_1185_ = lean_ctor_get(v___x_1170_, 0);
v_isSharedCheck_1192_ = !lean_is_exclusive(v___x_1170_);
if (v_isSharedCheck_1192_ == 0)
{
v___x_1187_ = v___x_1170_;
v_isShared_1188_ = v_isSharedCheck_1192_;
goto v_resetjp_1186_;
}
else
{
lean_inc(v_a_1185_);
lean_dec(v___x_1170_);
v___x_1187_ = lean_box(0);
v_isShared_1188_ = v_isSharedCheck_1192_;
goto v_resetjp_1186_;
}
v_resetjp_1186_:
{
lean_object* v___x_1190_; 
if (v_isShared_1188_ == 0)
{
v___x_1190_ = v___x_1187_;
goto v_reusejp_1189_;
}
else
{
lean_object* v_reuseFailAlloc_1191_; 
v_reuseFailAlloc_1191_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1191_, 0, v_a_1185_);
v___x_1190_ = v_reuseFailAlloc_1191_;
goto v_reusejp_1189_;
}
v_reusejp_1189_:
{
return v___x_1190_;
}
}
}
}
}
else
{
lean_object* v_a_1193_; lean_object* v___x_1195_; uint8_t v_isShared_1196_; uint8_t v_isSharedCheck_1200_; 
lean_dec_ref(v___x_1134_);
lean_dec(v___x_1130_);
lean_del_object(v___x_1114_);
lean_dec(v_fst_1112_);
lean_dec(v___y_1102_);
lean_dec_ref(v___y_1101_);
lean_dec(v___y_1100_);
lean_dec_ref(v___y_1099_);
lean_dec_ref(v_motiveFVars_1092_);
v_a_1193_ = lean_ctor_get(v___x_1139_, 0);
v_isSharedCheck_1200_ = !lean_is_exclusive(v___x_1139_);
if (v_isSharedCheck_1200_ == 0)
{
v___x_1195_ = v___x_1139_;
v_isShared_1196_ = v_isSharedCheck_1200_;
goto v_resetjp_1194_;
}
else
{
lean_inc(v_a_1193_);
lean_dec(v___x_1139_);
v___x_1195_ = lean_box(0);
v_isShared_1196_ = v_isSharedCheck_1200_;
goto v_resetjp_1194_;
}
v_resetjp_1194_:
{
lean_object* v___x_1198_; 
if (v_isShared_1196_ == 0)
{
v___x_1198_ = v___x_1195_;
goto v_reusejp_1197_;
}
else
{
lean_object* v_reuseFailAlloc_1199_; 
v_reuseFailAlloc_1199_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1199_, 0, v_a_1193_);
v___x_1198_ = v_reuseFailAlloc_1199_;
goto v_reusejp_1197_;
}
v_reusejp_1197_:
{
return v___x_1198_;
}
}
}
}
else
{
lean_object* v___x_1202_; 
lean_dec(v___x_1130_);
if (v_isShared_1115_ == 0)
{
lean_ctor_set(v___x_1114_, 1, v___x_1134_);
v___x_1202_ = v___x_1114_;
goto v_reusejp_1201_;
}
else
{
lean_object* v_reuseFailAlloc_1203_; 
v_reuseFailAlloc_1203_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1203_, 0, v_fst_1112_);
lean_ctor_set(v_reuseFailAlloc_1203_, 1, v___x_1134_);
v___x_1202_ = v_reuseFailAlloc_1203_;
goto v_reusejp_1201_;
}
v_reusejp_1201_:
{
v_a_1105_ = v___x_1202_;
goto v___jp_1104_;
}
}
}
else
{
lean_object* v_a_1204_; lean_object* v___x_1206_; uint8_t v_isShared_1207_; uint8_t v_isSharedCheck_1211_; 
lean_dec_ref(v___x_1134_);
lean_dec(v___x_1130_);
lean_del_object(v___x_1114_);
lean_dec(v_fst_1112_);
lean_dec(v___y_1102_);
lean_dec_ref(v___y_1101_);
lean_dec(v___y_1100_);
lean_dec_ref(v___y_1099_);
lean_dec_ref(v_motiveFVars_1092_);
v_a_1204_ = lean_ctor_get(v___x_1136_, 0);
v_isSharedCheck_1211_ = !lean_is_exclusive(v___x_1136_);
if (v_isSharedCheck_1211_ == 0)
{
v___x_1206_ = v___x_1136_;
v_isShared_1207_ = v_isSharedCheck_1211_;
goto v_resetjp_1205_;
}
else
{
lean_inc(v_a_1204_);
lean_dec(v___x_1136_);
v___x_1206_ = lean_box(0);
v_isShared_1207_ = v_isSharedCheck_1211_;
goto v_resetjp_1205_;
}
v_resetjp_1205_:
{
lean_object* v___x_1209_; 
if (v_isShared_1207_ == 0)
{
v___x_1209_ = v___x_1206_;
goto v_reusejp_1208_;
}
else
{
lean_object* v_reuseFailAlloc_1210_; 
v_reuseFailAlloc_1210_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1210_, 0, v_a_1204_);
v___x_1209_ = v_reuseFailAlloc_1210_;
goto v_reusejp_1208_;
}
v_reusejp_1208_:
{
return v___x_1209_;
}
}
}
}
else
{
lean_object* v___x_1213_; 
lean_dec(v___x_1130_);
if (v_isShared_1115_ == 0)
{
lean_ctor_set(v___x_1114_, 1, v___x_1134_);
v___x_1213_ = v___x_1114_;
goto v_reusejp_1212_;
}
else
{
lean_object* v_reuseFailAlloc_1214_; 
v_reuseFailAlloc_1214_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1214_, 0, v_fst_1112_);
lean_ctor_set(v_reuseFailAlloc_1214_, 1, v___x_1134_);
v___x_1213_ = v_reuseFailAlloc_1214_;
goto v_reusejp_1212_;
}
v_reusejp_1212_:
{
v_a_1105_ = v___x_1213_;
goto v___jp_1104_;
}
}
}
}
else
{
lean_object* v_a_1216_; lean_object* v___x_1218_; uint8_t v_isShared_1219_; uint8_t v_isSharedCheck_1223_; 
lean_del_object(v___x_1125_);
lean_dec(v_stop_1118_);
lean_dec(v_start_1117_);
lean_dec_ref(v_array_1116_);
lean_del_object(v___x_1114_);
lean_dec(v_fst_1112_);
lean_dec(v___y_1102_);
lean_dec_ref(v___y_1101_);
lean_dec(v___y_1100_);
lean_dec_ref(v___y_1099_);
lean_dec_ref(v_motiveFVars_1092_);
v_a_1216_ = lean_ctor_get(v___x_1128_, 0);
v_isSharedCheck_1223_ = !lean_is_exclusive(v___x_1128_);
if (v_isSharedCheck_1223_ == 0)
{
v___x_1218_ = v___x_1128_;
v_isShared_1219_ = v_isSharedCheck_1223_;
goto v_resetjp_1217_;
}
else
{
lean_inc(v_a_1216_);
lean_dec(v___x_1128_);
v___x_1218_ = lean_box(0);
v_isShared_1219_ = v_isSharedCheck_1223_;
goto v_resetjp_1217_;
}
v_resetjp_1217_:
{
lean_object* v___x_1221_; 
if (v_isShared_1219_ == 0)
{
v___x_1221_ = v___x_1218_;
goto v_reusejp_1220_;
}
else
{
lean_object* v_reuseFailAlloc_1222_; 
v_reuseFailAlloc_1222_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1222_, 0, v_a_1216_);
v___x_1221_ = v_reuseFailAlloc_1222_;
goto v_reusejp_1220_;
}
v_reusejp_1220_:
{
return v___x_1221_;
}
}
}
}
}
}
}
v___jp_1104_:
{
size_t v___x_1106_; size_t v___x_1107_; 
v___x_1106_ = ((size_t)1ULL);
v___x_1107_ = lean_usize_add(v_i_1097_, v___x_1106_);
v_i_1097_ = v___x_1107_;
v_b_1098_ = v_a_1105_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__0___boxed(lean_object* v_motiveFVars_1229_, lean_object* v_xs_1230_, lean_object* v_xs_x27_1231_, lean_object* v_as_1232_, lean_object* v_sz_1233_, lean_object* v_i_1234_, lean_object* v_b_1235_, lean_object* v___y_1236_, lean_object* v___y_1237_, lean_object* v___y_1238_, lean_object* v___y_1239_, lean_object* v___y_1240_){
_start:
{
size_t v_sz_boxed_1241_; size_t v_i_boxed_1242_; lean_object* v_res_1243_; 
v_sz_boxed_1241_ = lean_unbox_usize(v_sz_1233_);
lean_dec(v_sz_1233_);
v_i_boxed_1242_ = lean_unbox_usize(v_i_1234_);
lean_dec(v_i_1234_);
v_res_1243_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__0(v_motiveFVars_1229_, v_xs_1230_, v_xs_x27_1231_, v_as_1232_, v_sz_boxed_1241_, v_i_boxed_1242_, v_b_1235_, v___y_1236_, v___y_1237_, v___y_1238_, v___y_1239_);
lean_dec_ref(v_as_1232_);
lean_dec_ref(v_xs_x27_1231_);
lean_dec_ref(v_xs_1230_);
return v_res_1243_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__1___boxed(lean_object* v___x_1244_, lean_object* v_minorFVars_x27_1245_, lean_object* v_i_1246_, lean_object* v_motiveFVars_1247_, lean_object* v___x_1248_, lean_object* v_minors_1249_, lean_object* v_minorFVars_1250_, lean_object* v_k_1251_, lean_object* v_xs_1252_, lean_object* v_x_1253_, lean_object* v___y_1254_, lean_object* v___y_1255_, lean_object* v___y_1256_, lean_object* v___y_1257_, lean_object* v___y_1258_){
_start:
{
uint8_t v___x_5762__boxed_1259_; lean_object* v_res_1260_; 
v___x_5762__boxed_1259_ = lean_unbox(v___x_1248_);
v_res_1260_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__1(v___x_1244_, v_minorFVars_x27_1245_, v_i_1246_, v_motiveFVars_1247_, v___x_5762__boxed_1259_, v_minors_1249_, v_minorFVars_1250_, v_k_1251_, v_xs_1252_, v_x_1253_, v___y_1254_, v___y_1255_, v___y_1256_, v___y_1257_);
lean_dec_ref(v_x_1253_);
return v_res_1260_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg(lean_object* v_motiveFVars_1261_, lean_object* v_minorFVars_1262_, lean_object* v_minorFVars_x27_1263_, lean_object* v_k_1264_, lean_object* v_i_1265_, lean_object* v_minors_1266_, lean_object* v_a_1267_, lean_object* v_a_1268_, lean_object* v_a_1269_, lean_object* v_a_1270_){
_start:
{
lean_object* v___x_1272_; uint8_t v___x_1273_; 
v___x_1272_ = lean_array_get_size(v_minorFVars_1262_);
v___x_1273_ = lean_nat_dec_lt(v_i_1265_, v___x_1272_);
if (v___x_1273_ == 0)
{
lean_object* v___x_1274_; 
lean_dec(v_i_1265_);
lean_dec_ref(v_minorFVars_x27_1263_);
lean_dec_ref(v_minorFVars_1262_);
lean_dec_ref(v_motiveFVars_1261_);
v___x_1274_ = lean_apply_6(v_k_1264_, v_minors_1266_, v_a_1267_, v_a_1268_, v_a_1269_, v_a_1270_, lean_box(0));
return v___x_1274_;
}
else
{
lean_object* v___x_1275_; lean_object* v___x_1276_; lean_object* v___x_1277_; 
v___x_1275_ = l_Lean_instInhabitedExpr;
v___x_1276_ = lean_array_get_borrowed(v___x_1275_, v_minorFVars_1262_, v_i_1265_);
lean_inc(v_a_1270_);
lean_inc_ref(v_a_1269_);
lean_inc(v_a_1268_);
lean_inc_ref(v_a_1267_);
lean_inc(v___x_1276_);
v___x_1277_ = lean_infer_type(v___x_1276_, v_a_1267_, v_a_1268_, v_a_1269_, v_a_1270_);
if (lean_obj_tag(v___x_1277_) == 0)
{
lean_object* v_a_1278_; lean_object* v___x_1279_; lean_object* v___f_1280_; uint8_t v___x_1281_; lean_object* v___x_1282_; 
v_a_1278_ = lean_ctor_get(v___x_1277_, 0);
lean_inc(v_a_1278_);
lean_dec_ref(v___x_1277_);
v___x_1279_ = lean_box(v___x_1273_);
v___f_1280_ = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__1___boxed), 15, 8);
lean_closure_set(v___f_1280_, 0, v___x_1275_);
lean_closure_set(v___f_1280_, 1, v_minorFVars_x27_1263_);
lean_closure_set(v___f_1280_, 2, v_i_1265_);
lean_closure_set(v___f_1280_, 3, v_motiveFVars_1261_);
lean_closure_set(v___f_1280_, 4, v___x_1279_);
lean_closure_set(v___f_1280_, 5, v_minors_1266_);
lean_closure_set(v___f_1280_, 6, v_minorFVars_1262_);
lean_closure_set(v___f_1280_, 7, v_k_1264_);
v___x_1281_ = 0;
v___x_1282_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg(v_a_1278_, v___f_1280_, v___x_1281_, v___x_1281_, v_a_1267_, v_a_1268_, v_a_1269_, v_a_1270_);
return v___x_1282_;
}
else
{
lean_object* v_a_1283_; lean_object* v___x_1285_; uint8_t v_isShared_1286_; uint8_t v_isSharedCheck_1290_; 
lean_dec(v_a_1270_);
lean_dec_ref(v_a_1269_);
lean_dec(v_a_1268_);
lean_dec_ref(v_a_1267_);
lean_dec_ref(v_minors_1266_);
lean_dec(v_i_1265_);
lean_dec_ref(v_k_1264_);
lean_dec_ref(v_minorFVars_x27_1263_);
lean_dec_ref(v_minorFVars_1262_);
lean_dec_ref(v_motiveFVars_1261_);
v_a_1283_ = lean_ctor_get(v___x_1277_, 0);
v_isSharedCheck_1290_ = !lean_is_exclusive(v___x_1277_);
if (v_isSharedCheck_1290_ == 0)
{
v___x_1285_ = v___x_1277_;
v_isShared_1286_ = v_isSharedCheck_1290_;
goto v_resetjp_1284_;
}
else
{
lean_inc(v_a_1283_);
lean_dec(v___x_1277_);
v___x_1285_ = lean_box(0);
v_isShared_1286_ = v_isSharedCheck_1290_;
goto v_resetjp_1284_;
}
v_resetjp_1284_:
{
lean_object* v___x_1288_; 
if (v_isShared_1286_ == 0)
{
v___x_1288_ = v___x_1285_;
goto v_reusejp_1287_;
}
else
{
lean_object* v_reuseFailAlloc_1289_; 
v_reuseFailAlloc_1289_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1289_, 0, v_a_1283_);
v___x_1288_ = v_reuseFailAlloc_1289_;
goto v_reusejp_1287_;
}
v_reusejp_1287_:
{
return v___x_1288_;
}
}
}
}
}
}
static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__0___closed__1(void){
_start:
{
lean_object* v___x_1292_; lean_object* v___x_1293_; 
v___x_1292_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__0___closed__0));
v___x_1293_ = l_Lean_stringToMessageData(v___x_1292_);
return v___x_1293_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__0(lean_object* v_xs_1294_, lean_object* v_motiveFVars_1295_, uint8_t v___x_1296_, lean_object* v_i_1297_, lean_object* v_minors_1298_, lean_object* v_minorFVars_1299_, lean_object* v_minorFVars_x27_1300_, lean_object* v_k_1301_, lean_object* v_xs_x27_1302_, lean_object* v_x_1303_, lean_object* v___y_1304_, lean_object* v___y_1305_, lean_object* v___y_1306_, lean_object* v___y_1307_){
_start:
{
lean_object* v___x_1309_; lean_object* v___x_1310_; lean_object* v___x_1311_; 
v___x_1309_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__2, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__2_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__2);
v___x_1310_ = lean_unsigned_to_nat(1u);
lean_inc(v___y_1307_);
lean_inc_ref(v___y_1306_);
lean_inc(v___y_1305_);
lean_inc_ref(v___y_1304_);
v___x_1311_ = l_Lean_Meta_mkNumeral(v___x_1309_, v___x_1310_, v___y_1304_, v___y_1305_, v___y_1306_, v___y_1307_);
if (lean_obj_tag(v___x_1311_) == 0)
{
lean_object* v_a_1312_; lean_object* v___x_1313_; lean_object* v___x_1314_; lean_object* v___x_1315_; lean_object* v___x_1316_; size_t v_sz_1317_; size_t v___x_1318_; lean_object* v___x_1319_; 
v_a_1312_ = lean_ctor_get(v___x_1311_, 0);
lean_inc(v_a_1312_);
lean_dec_ref(v___x_1311_);
v___x_1313_ = lean_unsigned_to_nat(0u);
v___x_1314_ = lean_array_get_size(v_xs_x27_1302_);
lean_inc_ref(v_xs_x27_1302_);
v___x_1315_ = l_Array_toSubarray___redArg(v_xs_x27_1302_, v___x_1313_, v___x_1314_);
v___x_1316_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_1316_, 0, v_a_1312_);
lean_ctor_set(v___x_1316_, 1, v___x_1315_);
v_sz_1317_ = lean_array_size(v_xs_1294_);
v___x_1318_ = ((size_t)0ULL);
lean_inc(v___y_1307_);
lean_inc_ref(v___y_1306_);
lean_inc(v___y_1305_);
lean_inc_ref(v___y_1304_);
lean_inc_ref(v_motiveFVars_1295_);
v___x_1319_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__0(v_motiveFVars_1295_, v_xs_1294_, v_xs_x27_1302_, v_xs_1294_, v_sz_1317_, v___x_1318_, v___x_1316_, v___y_1304_, v___y_1305_, v___y_1306_, v___y_1307_);
if (lean_obj_tag(v___x_1319_) == 0)
{
lean_object* v_a_1320_; lean_object* v_fst_1321_; lean_object* v___x_1323_; uint8_t v_isShared_1324_; uint8_t v_isSharedCheck_1371_; 
v_a_1320_ = lean_ctor_get(v___x_1319_, 0);
lean_inc(v_a_1320_);
lean_dec_ref(v___x_1319_);
v_fst_1321_ = lean_ctor_get(v_a_1320_, 0);
v_isSharedCheck_1371_ = !lean_is_exclusive(v_a_1320_);
if (v_isSharedCheck_1371_ == 0)
{
lean_object* v_unused_1372_; 
v_unused_1372_ = lean_ctor_get(v_a_1320_, 1);
lean_dec(v_unused_1372_);
v___x_1323_ = v_a_1320_;
v_isShared_1324_ = v_isSharedCheck_1371_;
goto v_resetjp_1322_;
}
else
{
lean_inc(v_fst_1321_);
lean_dec(v_a_1320_);
v___x_1323_ = lean_box(0);
v_isShared_1324_ = v_isSharedCheck_1371_;
goto v_resetjp_1322_;
}
v_resetjp_1322_:
{
uint8_t v___x_1325_; uint8_t v___x_1326_; lean_object* v___x_1327_; 
v___x_1325_ = 0;
v___x_1326_ = 1;
v___x_1327_ = l_Lean_Meta_mkLambdaFVars(v_xs_x27_1302_, v_fst_1321_, v___x_1325_, v___x_1296_, v___x_1325_, v___x_1296_, v___x_1326_, v___y_1304_, v___y_1305_, v___y_1306_, v___y_1307_);
lean_dec_ref(v_xs_x27_1302_);
if (lean_obj_tag(v___x_1327_) == 0)
{
lean_object* v_a_1328_; lean_object* v___y_1330_; lean_object* v___y_1331_; lean_object* v___y_1332_; lean_object* v___y_1333_; lean_object* v___x_1337_; lean_object* v___x_1338_; 
v_a_1328_ = lean_ctor_get(v___x_1327_, 0);
lean_inc(v_a_1328_);
lean_dec_ref(v___x_1327_);
v___x_1337_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__2));
v___x_1338_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg(v___x_1337_, v___y_1306_);
if (lean_obj_tag(v___x_1338_) == 0)
{
lean_object* v_a_1339_; uint8_t v___x_1340_; 
v_a_1339_ = lean_ctor_get(v___x_1338_, 0);
lean_inc(v_a_1339_);
lean_dec_ref(v___x_1338_);
v___x_1340_ = lean_unbox(v_a_1339_);
lean_dec(v_a_1339_);
if (v___x_1340_ == 0)
{
lean_del_object(v___x_1323_);
v___y_1330_ = v___y_1304_;
v___y_1331_ = v___y_1305_;
v___y_1332_ = v___y_1306_;
v___y_1333_ = v___y_1307_;
goto v___jp_1329_;
}
else
{
lean_object* v___x_1341_; lean_object* v___x_1342_; lean_object* v___x_1344_; 
v___x_1341_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__0___closed__1, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__0___closed__1_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__0___closed__1);
lean_inc(v_a_1328_);
v___x_1342_ = l_Lean_MessageData_ofExpr(v_a_1328_);
if (v_isShared_1324_ == 0)
{
lean_ctor_set_tag(v___x_1323_, 7);
lean_ctor_set(v___x_1323_, 1, v___x_1342_);
lean_ctor_set(v___x_1323_, 0, v___x_1341_);
v___x_1344_ = v___x_1323_;
goto v_reusejp_1343_;
}
else
{
lean_object* v_reuseFailAlloc_1354_; 
v_reuseFailAlloc_1354_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1354_, 0, v___x_1341_);
lean_ctor_set(v_reuseFailAlloc_1354_, 1, v___x_1342_);
v___x_1344_ = v_reuseFailAlloc_1354_;
goto v_reusejp_1343_;
}
v_reusejp_1343_:
{
lean_object* v___x_1345_; 
v___x_1345_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1(v___x_1337_, v___x_1344_, v___y_1304_, v___y_1305_, v___y_1306_, v___y_1307_);
if (lean_obj_tag(v___x_1345_) == 0)
{
lean_dec_ref(v___x_1345_);
v___y_1330_ = v___y_1304_;
v___y_1331_ = v___y_1305_;
v___y_1332_ = v___y_1306_;
v___y_1333_ = v___y_1307_;
goto v___jp_1329_;
}
else
{
lean_object* v_a_1346_; lean_object* v___x_1348_; uint8_t v_isShared_1349_; uint8_t v_isSharedCheck_1353_; 
lean_dec(v_a_1328_);
lean_dec(v___y_1307_);
lean_dec_ref(v___y_1306_);
lean_dec(v___y_1305_);
lean_dec_ref(v___y_1304_);
lean_dec_ref(v_k_1301_);
lean_dec_ref(v_minorFVars_x27_1300_);
lean_dec_ref(v_minorFVars_1299_);
lean_dec_ref(v_minors_1298_);
lean_dec_ref(v_motiveFVars_1295_);
v_a_1346_ = lean_ctor_get(v___x_1345_, 0);
v_isSharedCheck_1353_ = !lean_is_exclusive(v___x_1345_);
if (v_isSharedCheck_1353_ == 0)
{
v___x_1348_ = v___x_1345_;
v_isShared_1349_ = v_isSharedCheck_1353_;
goto v_resetjp_1347_;
}
else
{
lean_inc(v_a_1346_);
lean_dec(v___x_1345_);
v___x_1348_ = lean_box(0);
v_isShared_1349_ = v_isSharedCheck_1353_;
goto v_resetjp_1347_;
}
v_resetjp_1347_:
{
lean_object* v___x_1351_; 
if (v_isShared_1349_ == 0)
{
v___x_1351_ = v___x_1348_;
goto v_reusejp_1350_;
}
else
{
lean_object* v_reuseFailAlloc_1352_; 
v_reuseFailAlloc_1352_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1352_, 0, v_a_1346_);
v___x_1351_ = v_reuseFailAlloc_1352_;
goto v_reusejp_1350_;
}
v_reusejp_1350_:
{
return v___x_1351_;
}
}
}
}
}
}
else
{
lean_object* v_a_1355_; lean_object* v___x_1357_; uint8_t v_isShared_1358_; uint8_t v_isSharedCheck_1362_; 
lean_dec(v_a_1328_);
lean_del_object(v___x_1323_);
lean_dec(v___y_1307_);
lean_dec_ref(v___y_1306_);
lean_dec(v___y_1305_);
lean_dec_ref(v___y_1304_);
lean_dec_ref(v_k_1301_);
lean_dec_ref(v_minorFVars_x27_1300_);
lean_dec_ref(v_minorFVars_1299_);
lean_dec_ref(v_minors_1298_);
lean_dec_ref(v_motiveFVars_1295_);
v_a_1355_ = lean_ctor_get(v___x_1338_, 0);
v_isSharedCheck_1362_ = !lean_is_exclusive(v___x_1338_);
if (v_isSharedCheck_1362_ == 0)
{
v___x_1357_ = v___x_1338_;
v_isShared_1358_ = v_isSharedCheck_1362_;
goto v_resetjp_1356_;
}
else
{
lean_inc(v_a_1355_);
lean_dec(v___x_1338_);
v___x_1357_ = lean_box(0);
v_isShared_1358_ = v_isSharedCheck_1362_;
goto v_resetjp_1356_;
}
v_resetjp_1356_:
{
lean_object* v___x_1360_; 
if (v_isShared_1358_ == 0)
{
v___x_1360_ = v___x_1357_;
goto v_reusejp_1359_;
}
else
{
lean_object* v_reuseFailAlloc_1361_; 
v_reuseFailAlloc_1361_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1361_, 0, v_a_1355_);
v___x_1360_ = v_reuseFailAlloc_1361_;
goto v_reusejp_1359_;
}
v_reusejp_1359_:
{
return v___x_1360_;
}
}
}
v___jp_1329_:
{
lean_object* v___x_1334_; lean_object* v___x_1335_; lean_object* v___x_1336_; 
v___x_1334_ = lean_nat_add(v_i_1297_, v___x_1310_);
v___x_1335_ = lean_array_push(v_minors_1298_, v_a_1328_);
v___x_1336_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg(v_motiveFVars_1295_, v_minorFVars_1299_, v_minorFVars_x27_1300_, v_k_1301_, v___x_1334_, v___x_1335_, v___y_1330_, v___y_1331_, v___y_1332_, v___y_1333_);
return v___x_1336_;
}
}
else
{
lean_object* v_a_1363_; lean_object* v___x_1365_; uint8_t v_isShared_1366_; uint8_t v_isSharedCheck_1370_; 
lean_del_object(v___x_1323_);
lean_dec(v___y_1307_);
lean_dec_ref(v___y_1306_);
lean_dec(v___y_1305_);
lean_dec_ref(v___y_1304_);
lean_dec_ref(v_k_1301_);
lean_dec_ref(v_minorFVars_x27_1300_);
lean_dec_ref(v_minorFVars_1299_);
lean_dec_ref(v_minors_1298_);
lean_dec_ref(v_motiveFVars_1295_);
v_a_1363_ = lean_ctor_get(v___x_1327_, 0);
v_isSharedCheck_1370_ = !lean_is_exclusive(v___x_1327_);
if (v_isSharedCheck_1370_ == 0)
{
v___x_1365_ = v___x_1327_;
v_isShared_1366_ = v_isSharedCheck_1370_;
goto v_resetjp_1364_;
}
else
{
lean_inc(v_a_1363_);
lean_dec(v___x_1327_);
v___x_1365_ = lean_box(0);
v_isShared_1366_ = v_isSharedCheck_1370_;
goto v_resetjp_1364_;
}
v_resetjp_1364_:
{
lean_object* v___x_1368_; 
if (v_isShared_1366_ == 0)
{
v___x_1368_ = v___x_1365_;
goto v_reusejp_1367_;
}
else
{
lean_object* v_reuseFailAlloc_1369_; 
v_reuseFailAlloc_1369_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1369_, 0, v_a_1363_);
v___x_1368_ = v_reuseFailAlloc_1369_;
goto v_reusejp_1367_;
}
v_reusejp_1367_:
{
return v___x_1368_;
}
}
}
}
}
else
{
lean_object* v_a_1373_; lean_object* v___x_1375_; uint8_t v_isShared_1376_; uint8_t v_isSharedCheck_1380_; 
lean_dec(v___y_1307_);
lean_dec_ref(v___y_1306_);
lean_dec(v___y_1305_);
lean_dec_ref(v___y_1304_);
lean_dec_ref(v_xs_x27_1302_);
lean_dec_ref(v_k_1301_);
lean_dec_ref(v_minorFVars_x27_1300_);
lean_dec_ref(v_minorFVars_1299_);
lean_dec_ref(v_minors_1298_);
lean_dec_ref(v_motiveFVars_1295_);
v_a_1373_ = lean_ctor_get(v___x_1319_, 0);
v_isSharedCheck_1380_ = !lean_is_exclusive(v___x_1319_);
if (v_isSharedCheck_1380_ == 0)
{
v___x_1375_ = v___x_1319_;
v_isShared_1376_ = v_isSharedCheck_1380_;
goto v_resetjp_1374_;
}
else
{
lean_inc(v_a_1373_);
lean_dec(v___x_1319_);
v___x_1375_ = lean_box(0);
v_isShared_1376_ = v_isSharedCheck_1380_;
goto v_resetjp_1374_;
}
v_resetjp_1374_:
{
lean_object* v___x_1378_; 
if (v_isShared_1376_ == 0)
{
v___x_1378_ = v___x_1375_;
goto v_reusejp_1377_;
}
else
{
lean_object* v_reuseFailAlloc_1379_; 
v_reuseFailAlloc_1379_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1379_, 0, v_a_1373_);
v___x_1378_ = v_reuseFailAlloc_1379_;
goto v_reusejp_1377_;
}
v_reusejp_1377_:
{
return v___x_1378_;
}
}
}
}
else
{
lean_object* v_a_1381_; lean_object* v___x_1383_; uint8_t v_isShared_1384_; uint8_t v_isSharedCheck_1388_; 
lean_dec(v___y_1307_);
lean_dec_ref(v___y_1306_);
lean_dec(v___y_1305_);
lean_dec_ref(v___y_1304_);
lean_dec_ref(v_xs_x27_1302_);
lean_dec_ref(v_k_1301_);
lean_dec_ref(v_minorFVars_x27_1300_);
lean_dec_ref(v_minorFVars_1299_);
lean_dec_ref(v_minors_1298_);
lean_dec_ref(v_motiveFVars_1295_);
v_a_1381_ = lean_ctor_get(v___x_1311_, 0);
v_isSharedCheck_1388_ = !lean_is_exclusive(v___x_1311_);
if (v_isSharedCheck_1388_ == 0)
{
v___x_1383_ = v___x_1311_;
v_isShared_1384_ = v_isSharedCheck_1388_;
goto v_resetjp_1382_;
}
else
{
lean_inc(v_a_1381_);
lean_dec(v___x_1311_);
v___x_1383_ = lean_box(0);
v_isShared_1384_ = v_isSharedCheck_1388_;
goto v_resetjp_1382_;
}
v_resetjp_1382_:
{
lean_object* v___x_1386_; 
if (v_isShared_1384_ == 0)
{
v___x_1386_ = v___x_1383_;
goto v_reusejp_1385_;
}
else
{
lean_object* v_reuseFailAlloc_1387_; 
v_reuseFailAlloc_1387_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1387_, 0, v_a_1381_);
v___x_1386_ = v_reuseFailAlloc_1387_;
goto v_reusejp_1385_;
}
v_reusejp_1385_:
{
return v___x_1386_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__0___boxed(lean_object* v_xs_1389_, lean_object* v_motiveFVars_1390_, lean_object* v___x_1391_, lean_object* v_i_1392_, lean_object* v_minors_1393_, lean_object* v_minorFVars_1394_, lean_object* v_minorFVars_x27_1395_, lean_object* v_k_1396_, lean_object* v_xs_x27_1397_, lean_object* v_x_1398_, lean_object* v___y_1399_, lean_object* v___y_1400_, lean_object* v___y_1401_, lean_object* v___y_1402_, lean_object* v___y_1403_){
_start:
{
uint8_t v___x_5799__boxed_1404_; lean_object* v_res_1405_; 
v___x_5799__boxed_1404_ = lean_unbox(v___x_1391_);
v_res_1405_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__0(v_xs_1389_, v_motiveFVars_1390_, v___x_5799__boxed_1404_, v_i_1392_, v_minors_1393_, v_minorFVars_1394_, v_minorFVars_x27_1395_, v_k_1396_, v_xs_x27_1397_, v_x_1398_, v___y_1399_, v___y_1400_, v___y_1401_, v___y_1402_);
lean_dec_ref(v_x_1398_);
lean_dec(v_i_1392_);
lean_dec_ref(v_xs_1389_);
return v_res_1405_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__1(lean_object* v___x_1406_, lean_object* v_minorFVars_x27_1407_, lean_object* v_i_1408_, lean_object* v_motiveFVars_1409_, uint8_t v___x_1410_, lean_object* v_minors_1411_, lean_object* v_minorFVars_1412_, lean_object* v_k_1413_, lean_object* v_xs_1414_, lean_object* v_x_1415_, lean_object* v___y_1416_, lean_object* v___y_1417_, lean_object* v___y_1418_, lean_object* v___y_1419_){
_start:
{
lean_object* v___x_1421_; lean_object* v___x_1422_; 
v___x_1421_ = lean_array_get_borrowed(v___x_1406_, v_minorFVars_x27_1407_, v_i_1408_);
lean_inc(v___y_1419_);
lean_inc_ref(v___y_1418_);
lean_inc(v___y_1417_);
lean_inc_ref(v___y_1416_);
lean_inc(v___x_1421_);
v___x_1422_ = lean_infer_type(v___x_1421_, v___y_1416_, v___y_1417_, v___y_1418_, v___y_1419_);
if (lean_obj_tag(v___x_1422_) == 0)
{
lean_object* v_a_1423_; lean_object* v___x_1424_; lean_object* v___f_1425_; lean_object* v___x_1426_; lean_object* v___x_1427_; uint8_t v___x_1428_; lean_object* v___x_1429_; 
v_a_1423_ = lean_ctor_get(v___x_1422_, 0);
lean_inc(v_a_1423_);
lean_dec_ref(v___x_1422_);
v___x_1424_ = lean_box(v___x_1410_);
lean_inc_ref(v_xs_1414_);
v___f_1425_ = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___lam__0___boxed), 15, 8);
lean_closure_set(v___f_1425_, 0, v_xs_1414_);
lean_closure_set(v___f_1425_, 1, v_motiveFVars_1409_);
lean_closure_set(v___f_1425_, 2, v___x_1424_);
lean_closure_set(v___f_1425_, 3, v_i_1408_);
lean_closure_set(v___f_1425_, 4, v_minors_1411_);
lean_closure_set(v___f_1425_, 5, v_minorFVars_1412_);
lean_closure_set(v___f_1425_, 6, v_minorFVars_x27_1407_);
lean_closure_set(v___f_1425_, 7, v_k_1413_);
v___x_1426_ = lean_array_get_size(v_xs_1414_);
lean_dec_ref(v_xs_1414_);
v___x_1427_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_1427_, 0, v___x_1426_);
v___x_1428_ = 0;
v___x_1429_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__1___redArg(v_a_1423_, v___x_1427_, v___f_1425_, v___x_1428_, v___x_1428_, v___y_1416_, v___y_1417_, v___y_1418_, v___y_1419_);
return v___x_1429_;
}
else
{
lean_object* v_a_1430_; lean_object* v___x_1432_; uint8_t v_isShared_1433_; uint8_t v_isSharedCheck_1437_; 
lean_dec(v___y_1419_);
lean_dec_ref(v___y_1418_);
lean_dec(v___y_1417_);
lean_dec_ref(v___y_1416_);
lean_dec_ref(v_xs_1414_);
lean_dec_ref(v_k_1413_);
lean_dec_ref(v_minorFVars_1412_);
lean_dec_ref(v_minors_1411_);
lean_dec_ref(v_motiveFVars_1409_);
lean_dec(v_i_1408_);
lean_dec_ref(v_minorFVars_x27_1407_);
v_a_1430_ = lean_ctor_get(v___x_1422_, 0);
v_isSharedCheck_1437_ = !lean_is_exclusive(v___x_1422_);
if (v_isSharedCheck_1437_ == 0)
{
v___x_1432_ = v___x_1422_;
v_isShared_1433_ = v_isSharedCheck_1437_;
goto v_resetjp_1431_;
}
else
{
lean_inc(v_a_1430_);
lean_dec(v___x_1422_);
v___x_1432_ = lean_box(0);
v_isShared_1433_ = v_isSharedCheck_1437_;
goto v_resetjp_1431_;
}
v_resetjp_1431_:
{
lean_object* v___x_1435_; 
if (v_isShared_1433_ == 0)
{
v___x_1435_ = v___x_1432_;
goto v_reusejp_1434_;
}
else
{
lean_object* v_reuseFailAlloc_1436_; 
v_reuseFailAlloc_1436_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1436_, 0, v_a_1430_);
v___x_1435_ = v_reuseFailAlloc_1436_;
goto v_reusejp_1434_;
}
v_reusejp_1434_:
{
return v___x_1435_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg___boxed(lean_object* v_motiveFVars_1438_, lean_object* v_minorFVars_1439_, lean_object* v_minorFVars_x27_1440_, lean_object* v_k_1441_, lean_object* v_i_1442_, lean_object* v_minors_1443_, lean_object* v_a_1444_, lean_object* v_a_1445_, lean_object* v_a_1446_, lean_object* v_a_1447_, lean_object* v_a_1448_){
_start:
{
lean_object* v_res_1449_; 
v_res_1449_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg(v_motiveFVars_1438_, v_minorFVars_1439_, v_minorFVars_x27_1440_, v_k_1441_, v_i_1442_, v_minors_1443_, v_a_1444_, v_a_1445_, v_a_1446_, v_a_1447_);
return v_res_1449_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop(lean_object* v_00_u03b1_1450_, lean_object* v_motiveFVars_1451_, lean_object* v_minorFVars_1452_, lean_object* v_minorFVars_x27_1453_, lean_object* v_k_1454_, lean_object* v_i_1455_, lean_object* v_minors_1456_, lean_object* v_a_1457_, lean_object* v_a_1458_, lean_object* v_a_1459_, lean_object* v_a_1460_){
_start:
{
lean_object* v___x_1462_; 
v___x_1462_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg(v_motiveFVars_1451_, v_minorFVars_1452_, v_minorFVars_x27_1453_, v_k_1454_, v_i_1455_, v_minors_1456_, v_a_1457_, v_a_1458_, v_a_1459_, v_a_1460_);
return v___x_1462_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___boxed(lean_object* v_00_u03b1_1463_, lean_object* v_motiveFVars_1464_, lean_object* v_minorFVars_1465_, lean_object* v_minorFVars_x27_1466_, lean_object* v_k_1467_, lean_object* v_i_1468_, lean_object* v_minors_1469_, lean_object* v_a_1470_, lean_object* v_a_1471_, lean_object* v_a_1472_, lean_object* v_a_1473_, lean_object* v_a_1474_){
_start:
{
lean_object* v_res_1475_; 
v_res_1475_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop(v_00_u03b1_1463_, v_motiveFVars_1464_, v_minorFVars_1465_, v_minorFVars_x27_1466_, v_k_1467_, v_i_1468_, v_minors_1469_, v_a_1470_, v_a_1471_, v_a_1472_, v_a_1473_);
return v_res_1475_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_spec__0___redArg(lean_object* v_msg_1477_, lean_object* v___y_1478_, lean_object* v___y_1479_, lean_object* v___y_1480_, lean_object* v___y_1481_){
_start:
{
lean_object* v___f_1483_; lean_object* v___x_142__overap_1484_; lean_object* v___x_1485_; 
v___f_1483_ = ((lean_object*)(l_panic___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_spec__0___redArg___closed__0));
v___x_142__overap_1484_ = lean_panic_fn(v___f_1483_, v_msg_1477_);
v___x_1485_ = lean_apply_5(v___x_142__overap_1484_, v___y_1478_, v___y_1479_, v___y_1480_, v___y_1481_, lean_box(0));
return v___x_1485_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_spec__0___redArg___boxed(lean_object* v_msg_1486_, lean_object* v___y_1487_, lean_object* v___y_1488_, lean_object* v___y_1489_, lean_object* v___y_1490_, lean_object* v___y_1491_){
_start:
{
lean_object* v_res_1492_; 
v_res_1492_ = l_panic___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_spec__0___redArg(v_msg_1486_, v___y_1487_, v___y_1488_, v___y_1489_, v___y_1490_);
return v_res_1492_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_spec__0(lean_object* v_00_u03b1_1493_, lean_object* v_msg_1494_, lean_object* v___y_1495_, lean_object* v___y_1496_, lean_object* v___y_1497_, lean_object* v___y_1498_){
_start:
{
lean_object* v___x_1500_; 
v___x_1500_ = l_panic___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_spec__0___redArg(v_msg_1494_, v___y_1495_, v___y_1496_, v___y_1497_, v___y_1498_);
return v___x_1500_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_spec__0___boxed(lean_object* v_00_u03b1_1501_, lean_object* v_msg_1502_, lean_object* v___y_1503_, lean_object* v___y_1504_, lean_object* v___y_1505_, lean_object* v___y_1506_, lean_object* v___y_1507_){
_start:
{
lean_object* v_res_1508_; 
v_res_1508_ = l_panic___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_spec__0(v_00_u03b1_1501_, v_msg_1502_, v___y_1503_, v___y_1504_, v___y_1505_, v___y_1506_);
return v_res_1508_;
}
}
static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___closed__3(void){
_start:
{
lean_object* v___x_1512_; lean_object* v___x_1513_; lean_object* v___x_1514_; lean_object* v___x_1515_; lean_object* v___x_1516_; lean_object* v___x_1517_; 
v___x_1512_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___closed__2));
v___x_1513_ = lean_unsigned_to_nat(2u);
v___x_1514_ = lean_unsigned_to_nat(103u);
v___x_1515_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___closed__1));
v___x_1516_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___closed__0));
v___x_1517_ = l_mkPanicMessageWithDecl(v___x_1516_, v___x_1515_, v___x_1514_, v___x_1513_, v___x_1512_);
return v___x_1517_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg(lean_object* v_motiveFVars_1518_, lean_object* v_minorFVars_1519_, lean_object* v_minorFVars_x27_1520_, lean_object* v_k_1521_, lean_object* v_a_1522_, lean_object* v_a_1523_, lean_object* v_a_1524_, lean_object* v_a_1525_){
_start:
{
lean_object* v___x_1527_; lean_object* v___x_1528_; uint8_t v___x_1529_; 
v___x_1527_ = lean_array_get_size(v_minorFVars_1519_);
v___x_1528_ = lean_array_get_size(v_minorFVars_x27_1520_);
v___x_1529_ = lean_nat_dec_eq(v___x_1527_, v___x_1528_);
if (v___x_1529_ == 0)
{
lean_object* v___x_1530_; lean_object* v___x_1531_; 
lean_dec_ref(v_k_1521_);
lean_dec_ref(v_minorFVars_x27_1520_);
lean_dec_ref(v_minorFVars_1519_);
lean_dec_ref(v_motiveFVars_1518_);
v___x_1530_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___closed__3, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___closed__3_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___closed__3);
v___x_1531_ = l_panic___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_spec__0___redArg(v___x_1530_, v_a_1522_, v_a_1523_, v_a_1524_, v_a_1525_);
return v___x_1531_;
}
else
{
lean_object* v___x_1532_; lean_object* v___x_1533_; lean_object* v___x_1534_; 
v___x_1532_ = lean_unsigned_to_nat(0u);
v___x_1533_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances___redArg___closed__0));
v___x_1534_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___redArg(v_motiveFVars_1518_, v_minorFVars_1519_, v_minorFVars_x27_1520_, v_k_1521_, v___x_1532_, v___x_1533_, v_a_1522_, v_a_1523_, v_a_1524_, v_a_1525_);
return v___x_1534_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg___boxed(lean_object* v_motiveFVars_1535_, lean_object* v_minorFVars_1536_, lean_object* v_minorFVars_x27_1537_, lean_object* v_k_1538_, lean_object* v_a_1539_, lean_object* v_a_1540_, lean_object* v_a_1541_, lean_object* v_a_1542_, lean_object* v_a_1543_){
_start:
{
lean_object* v_res_1544_; 
v_res_1544_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg(v_motiveFVars_1535_, v_minorFVars_1536_, v_minorFVars_x27_1537_, v_k_1538_, v_a_1539_, v_a_1540_, v_a_1541_, v_a_1542_);
return v_res_1544_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors(lean_object* v_00_u03b1_1545_, lean_object* v_motiveFVars_1546_, lean_object* v_minorFVars_1547_, lean_object* v_minorFVars_x27_1548_, lean_object* v_k_1549_, lean_object* v_a_1550_, lean_object* v_a_1551_, lean_object* v_a_1552_, lean_object* v_a_1553_){
_start:
{
lean_object* v___x_1555_; 
v___x_1555_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg(v_motiveFVars_1546_, v_minorFVars_1547_, v_minorFVars_x27_1548_, v_k_1549_, v_a_1550_, v_a_1551_, v_a_1552_, v_a_1553_);
return v___x_1555_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___boxed(lean_object* v_00_u03b1_1556_, lean_object* v_motiveFVars_1557_, lean_object* v_minorFVars_1558_, lean_object* v_minorFVars_x27_1559_, lean_object* v_k_1560_, lean_object* v_a_1561_, lean_object* v_a_1562_, lean_object* v_a_1563_, lean_object* v_a_1564_, lean_object* v_a_1565_){
_start:
{
lean_object* v_res_1566_; 
v_res_1566_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors(v_00_u03b1_1556_, v_motiveFVars_1557_, v_minorFVars_1558_, v_minorFVars_x27_1559_, v_k_1560_, v_a_1561_, v_a_1562_, v_a_1563_, v_a_1564_);
return v_res_1566_;
}
}
LEAN_EXPORT lean_object* l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___lam__0(lean_object* v___y_1567_, uint8_t v_isExporting_1568_, lean_object* v___x_1569_, lean_object* v___y_1570_, lean_object* v___x_1571_, lean_object* v_a_x3f_1572_){
_start:
{
lean_object* v___x_1574_; lean_object* v_env_1575_; lean_object* v_nextMacroScope_1576_; lean_object* v_ngen_1577_; lean_object* v_auxDeclNGen_1578_; lean_object* v_traceState_1579_; lean_object* v_messages_1580_; lean_object* v_infoState_1581_; lean_object* v_snapshotTasks_1582_; lean_object* v___x_1584_; uint8_t v_isShared_1585_; uint8_t v_isSharedCheck_1607_; 
v___x_1574_ = lean_st_ref_take(v___y_1567_);
v_env_1575_ = lean_ctor_get(v___x_1574_, 0);
v_nextMacroScope_1576_ = lean_ctor_get(v___x_1574_, 1);
v_ngen_1577_ = lean_ctor_get(v___x_1574_, 2);
v_auxDeclNGen_1578_ = lean_ctor_get(v___x_1574_, 3);
v_traceState_1579_ = lean_ctor_get(v___x_1574_, 4);
v_messages_1580_ = lean_ctor_get(v___x_1574_, 6);
v_infoState_1581_ = lean_ctor_get(v___x_1574_, 7);
v_snapshotTasks_1582_ = lean_ctor_get(v___x_1574_, 8);
v_isSharedCheck_1607_ = !lean_is_exclusive(v___x_1574_);
if (v_isSharedCheck_1607_ == 0)
{
lean_object* v_unused_1608_; 
v_unused_1608_ = lean_ctor_get(v___x_1574_, 5);
lean_dec(v_unused_1608_);
v___x_1584_ = v___x_1574_;
v_isShared_1585_ = v_isSharedCheck_1607_;
goto v_resetjp_1583_;
}
else
{
lean_inc(v_snapshotTasks_1582_);
lean_inc(v_infoState_1581_);
lean_inc(v_messages_1580_);
lean_inc(v_traceState_1579_);
lean_inc(v_auxDeclNGen_1578_);
lean_inc(v_ngen_1577_);
lean_inc(v_nextMacroScope_1576_);
lean_inc(v_env_1575_);
lean_dec(v___x_1574_);
v___x_1584_ = lean_box(0);
v_isShared_1585_ = v_isSharedCheck_1607_;
goto v_resetjp_1583_;
}
v_resetjp_1583_:
{
lean_object* v___x_1586_; lean_object* v___x_1588_; 
v___x_1586_ = l_Lean_Environment_setExporting(v_env_1575_, v_isExporting_1568_);
if (v_isShared_1585_ == 0)
{
lean_ctor_set(v___x_1584_, 5, v___x_1569_);
lean_ctor_set(v___x_1584_, 0, v___x_1586_);
v___x_1588_ = v___x_1584_;
goto v_reusejp_1587_;
}
else
{
lean_object* v_reuseFailAlloc_1606_; 
v_reuseFailAlloc_1606_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_1606_, 0, v___x_1586_);
lean_ctor_set(v_reuseFailAlloc_1606_, 1, v_nextMacroScope_1576_);
lean_ctor_set(v_reuseFailAlloc_1606_, 2, v_ngen_1577_);
lean_ctor_set(v_reuseFailAlloc_1606_, 3, v_auxDeclNGen_1578_);
lean_ctor_set(v_reuseFailAlloc_1606_, 4, v_traceState_1579_);
lean_ctor_set(v_reuseFailAlloc_1606_, 5, v___x_1569_);
lean_ctor_set(v_reuseFailAlloc_1606_, 6, v_messages_1580_);
lean_ctor_set(v_reuseFailAlloc_1606_, 7, v_infoState_1581_);
lean_ctor_set(v_reuseFailAlloc_1606_, 8, v_snapshotTasks_1582_);
v___x_1588_ = v_reuseFailAlloc_1606_;
goto v_reusejp_1587_;
}
v_reusejp_1587_:
{
lean_object* v___x_1589_; lean_object* v___x_1590_; lean_object* v_mctx_1591_; lean_object* v_zetaDeltaFVarIds_1592_; lean_object* v_postponed_1593_; lean_object* v_diag_1594_; lean_object* v___x_1596_; uint8_t v_isShared_1597_; uint8_t v_isSharedCheck_1604_; 
v___x_1589_ = lean_st_ref_set(v___y_1567_, v___x_1588_);
v___x_1590_ = lean_st_ref_take(v___y_1570_);
v_mctx_1591_ = lean_ctor_get(v___x_1590_, 0);
v_zetaDeltaFVarIds_1592_ = lean_ctor_get(v___x_1590_, 2);
v_postponed_1593_ = lean_ctor_get(v___x_1590_, 3);
v_diag_1594_ = lean_ctor_get(v___x_1590_, 4);
v_isSharedCheck_1604_ = !lean_is_exclusive(v___x_1590_);
if (v_isSharedCheck_1604_ == 0)
{
lean_object* v_unused_1605_; 
v_unused_1605_ = lean_ctor_get(v___x_1590_, 1);
lean_dec(v_unused_1605_);
v___x_1596_ = v___x_1590_;
v_isShared_1597_ = v_isSharedCheck_1604_;
goto v_resetjp_1595_;
}
else
{
lean_inc(v_diag_1594_);
lean_inc(v_postponed_1593_);
lean_inc(v_zetaDeltaFVarIds_1592_);
lean_inc(v_mctx_1591_);
lean_dec(v___x_1590_);
v___x_1596_ = lean_box(0);
v_isShared_1597_ = v_isSharedCheck_1604_;
goto v_resetjp_1595_;
}
v_resetjp_1595_:
{
lean_object* v___x_1599_; 
if (v_isShared_1597_ == 0)
{
lean_ctor_set(v___x_1596_, 1, v___x_1571_);
v___x_1599_ = v___x_1596_;
goto v_reusejp_1598_;
}
else
{
lean_object* v_reuseFailAlloc_1603_; 
v_reuseFailAlloc_1603_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_1603_, 0, v_mctx_1591_);
lean_ctor_set(v_reuseFailAlloc_1603_, 1, v___x_1571_);
lean_ctor_set(v_reuseFailAlloc_1603_, 2, v_zetaDeltaFVarIds_1592_);
lean_ctor_set(v_reuseFailAlloc_1603_, 3, v_postponed_1593_);
lean_ctor_set(v_reuseFailAlloc_1603_, 4, v_diag_1594_);
v___x_1599_ = v_reuseFailAlloc_1603_;
goto v_reusejp_1598_;
}
v_reusejp_1598_:
{
lean_object* v___x_1600_; lean_object* v___x_1601_; lean_object* v___x_1602_; 
v___x_1600_ = lean_st_ref_set(v___y_1570_, v___x_1599_);
v___x_1601_ = lean_box(0);
v___x_1602_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1602_, 0, v___x_1601_);
return v___x_1602_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___lam__0___boxed(lean_object* v___y_1609_, lean_object* v_isExporting_1610_, lean_object* v___x_1611_, lean_object* v___y_1612_, lean_object* v___x_1613_, lean_object* v_a_x3f_1614_, lean_object* v___y_1615_){
_start:
{
uint8_t v_isExporting_boxed_1616_; lean_object* v_res_1617_; 
v_isExporting_boxed_1616_ = lean_unbox(v_isExporting_1610_);
v_res_1617_ = l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___lam__0(v___y_1609_, v_isExporting_boxed_1616_, v___x_1611_, v___y_1612_, v___x_1613_, v_a_x3f_1614_);
lean_dec(v_a_x3f_1614_);
lean_dec(v___y_1612_);
lean_dec(v___y_1609_);
return v_res_1617_;
}
}
static lean_object* _init_l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__0(void){
_start:
{
lean_object* v___x_1618_; 
v___x_1618_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
return v___x_1618_;
}
}
static lean_object* _init_l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__1(void){
_start:
{
lean_object* v___x_1619_; lean_object* v___x_1620_; 
v___x_1619_ = lean_obj_once(&l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__0, &l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__0_once, _init_l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__0);
v___x_1620_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1620_, 0, v___x_1619_);
return v___x_1620_;
}
}
static lean_object* _init_l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__2(void){
_start:
{
lean_object* v___x_1621_; lean_object* v___x_1622_; 
v___x_1621_ = lean_obj_once(&l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__1, &l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__1_once, _init_l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__1);
v___x_1622_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_1622_, 0, v___x_1621_);
lean_ctor_set(v___x_1622_, 1, v___x_1621_);
return v___x_1622_;
}
}
static lean_object* _init_l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__3(void){
_start:
{
lean_object* v___x_1623_; lean_object* v___x_1624_; 
v___x_1623_ = lean_obj_once(&l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__1, &l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__1_once, _init_l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__1);
v___x_1624_ = lean_alloc_ctor(0, 6, 0);
lean_ctor_set(v___x_1624_, 0, v___x_1623_);
lean_ctor_set(v___x_1624_, 1, v___x_1623_);
lean_ctor_set(v___x_1624_, 2, v___x_1623_);
lean_ctor_set(v___x_1624_, 3, v___x_1623_);
lean_ctor_set(v___x_1624_, 4, v___x_1623_);
lean_ctor_set(v___x_1624_, 5, v___x_1623_);
return v___x_1624_;
}
}
LEAN_EXPORT lean_object* l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg(lean_object* v_x_1625_, uint8_t v_isExporting_1626_, lean_object* v___y_1627_, lean_object* v___y_1628_, lean_object* v___y_1629_, lean_object* v___y_1630_){
_start:
{
lean_object* v___x_1632_; lean_object* v_env_1633_; uint8_t v_isExporting_1634_; lean_object* v___x_1635_; lean_object* v_env_1636_; lean_object* v_nextMacroScope_1637_; lean_object* v_ngen_1638_; lean_object* v_auxDeclNGen_1639_; lean_object* v_traceState_1640_; lean_object* v_messages_1641_; lean_object* v_infoState_1642_; lean_object* v_snapshotTasks_1643_; lean_object* v___x_1645_; uint8_t v_isShared_1646_; uint8_t v_isSharedCheck_1697_; 
v___x_1632_ = lean_st_ref_get(v___y_1630_);
v_env_1633_ = lean_ctor_get(v___x_1632_, 0);
lean_inc_ref(v_env_1633_);
lean_dec(v___x_1632_);
v_isExporting_1634_ = lean_ctor_get_uint8(v_env_1633_, sizeof(void*)*8);
lean_dec_ref(v_env_1633_);
v___x_1635_ = lean_st_ref_take(v___y_1630_);
v_env_1636_ = lean_ctor_get(v___x_1635_, 0);
v_nextMacroScope_1637_ = lean_ctor_get(v___x_1635_, 1);
v_ngen_1638_ = lean_ctor_get(v___x_1635_, 2);
v_auxDeclNGen_1639_ = lean_ctor_get(v___x_1635_, 3);
v_traceState_1640_ = lean_ctor_get(v___x_1635_, 4);
v_messages_1641_ = lean_ctor_get(v___x_1635_, 6);
v_infoState_1642_ = lean_ctor_get(v___x_1635_, 7);
v_snapshotTasks_1643_ = lean_ctor_get(v___x_1635_, 8);
v_isSharedCheck_1697_ = !lean_is_exclusive(v___x_1635_);
if (v_isSharedCheck_1697_ == 0)
{
lean_object* v_unused_1698_; 
v_unused_1698_ = lean_ctor_get(v___x_1635_, 5);
lean_dec(v_unused_1698_);
v___x_1645_ = v___x_1635_;
v_isShared_1646_ = v_isSharedCheck_1697_;
goto v_resetjp_1644_;
}
else
{
lean_inc(v_snapshotTasks_1643_);
lean_inc(v_infoState_1642_);
lean_inc(v_messages_1641_);
lean_inc(v_traceState_1640_);
lean_inc(v_auxDeclNGen_1639_);
lean_inc(v_ngen_1638_);
lean_inc(v_nextMacroScope_1637_);
lean_inc(v_env_1636_);
lean_dec(v___x_1635_);
v___x_1645_ = lean_box(0);
v_isShared_1646_ = v_isSharedCheck_1697_;
goto v_resetjp_1644_;
}
v_resetjp_1644_:
{
lean_object* v___x_1647_; lean_object* v___x_1648_; lean_object* v___x_1650_; 
v___x_1647_ = l_Lean_Environment_setExporting(v_env_1636_, v_isExporting_1626_);
v___x_1648_ = lean_obj_once(&l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__2, &l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__2_once, _init_l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__2);
if (v_isShared_1646_ == 0)
{
lean_ctor_set(v___x_1645_, 5, v___x_1648_);
lean_ctor_set(v___x_1645_, 0, v___x_1647_);
v___x_1650_ = v___x_1645_;
goto v_reusejp_1649_;
}
else
{
lean_object* v_reuseFailAlloc_1696_; 
v_reuseFailAlloc_1696_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_1696_, 0, v___x_1647_);
lean_ctor_set(v_reuseFailAlloc_1696_, 1, v_nextMacroScope_1637_);
lean_ctor_set(v_reuseFailAlloc_1696_, 2, v_ngen_1638_);
lean_ctor_set(v_reuseFailAlloc_1696_, 3, v_auxDeclNGen_1639_);
lean_ctor_set(v_reuseFailAlloc_1696_, 4, v_traceState_1640_);
lean_ctor_set(v_reuseFailAlloc_1696_, 5, v___x_1648_);
lean_ctor_set(v_reuseFailAlloc_1696_, 6, v_messages_1641_);
lean_ctor_set(v_reuseFailAlloc_1696_, 7, v_infoState_1642_);
lean_ctor_set(v_reuseFailAlloc_1696_, 8, v_snapshotTasks_1643_);
v___x_1650_ = v_reuseFailAlloc_1696_;
goto v_reusejp_1649_;
}
v_reusejp_1649_:
{
lean_object* v___x_1651_; lean_object* v___x_1652_; lean_object* v_mctx_1653_; lean_object* v_zetaDeltaFVarIds_1654_; lean_object* v_postponed_1655_; lean_object* v_diag_1656_; lean_object* v___x_1658_; uint8_t v_isShared_1659_; uint8_t v_isSharedCheck_1694_; 
v___x_1651_ = lean_st_ref_set(v___y_1630_, v___x_1650_);
v___x_1652_ = lean_st_ref_take(v___y_1628_);
v_mctx_1653_ = lean_ctor_get(v___x_1652_, 0);
v_zetaDeltaFVarIds_1654_ = lean_ctor_get(v___x_1652_, 2);
v_postponed_1655_ = lean_ctor_get(v___x_1652_, 3);
v_diag_1656_ = lean_ctor_get(v___x_1652_, 4);
v_isSharedCheck_1694_ = !lean_is_exclusive(v___x_1652_);
if (v_isSharedCheck_1694_ == 0)
{
lean_object* v_unused_1695_; 
v_unused_1695_ = lean_ctor_get(v___x_1652_, 1);
lean_dec(v_unused_1695_);
v___x_1658_ = v___x_1652_;
v_isShared_1659_ = v_isSharedCheck_1694_;
goto v_resetjp_1657_;
}
else
{
lean_inc(v_diag_1656_);
lean_inc(v_postponed_1655_);
lean_inc(v_zetaDeltaFVarIds_1654_);
lean_inc(v_mctx_1653_);
lean_dec(v___x_1652_);
v___x_1658_ = lean_box(0);
v_isShared_1659_ = v_isSharedCheck_1694_;
goto v_resetjp_1657_;
}
v_resetjp_1657_:
{
lean_object* v___x_1660_; lean_object* v___x_1662_; 
v___x_1660_ = lean_obj_once(&l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__3, &l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__3_once, _init_l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___closed__3);
if (v_isShared_1659_ == 0)
{
lean_ctor_set(v___x_1658_, 1, v___x_1660_);
v___x_1662_ = v___x_1658_;
goto v_reusejp_1661_;
}
else
{
lean_object* v_reuseFailAlloc_1693_; 
v_reuseFailAlloc_1693_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_1693_, 0, v_mctx_1653_);
lean_ctor_set(v_reuseFailAlloc_1693_, 1, v___x_1660_);
lean_ctor_set(v_reuseFailAlloc_1693_, 2, v_zetaDeltaFVarIds_1654_);
lean_ctor_set(v_reuseFailAlloc_1693_, 3, v_postponed_1655_);
lean_ctor_set(v_reuseFailAlloc_1693_, 4, v_diag_1656_);
v___x_1662_ = v_reuseFailAlloc_1693_;
goto v_reusejp_1661_;
}
v_reusejp_1661_:
{
lean_object* v___x_1663_; lean_object* v_r_1664_; 
v___x_1663_ = lean_st_ref_set(v___y_1628_, v___x_1662_);
lean_inc(v___y_1630_);
lean_inc(v___y_1628_);
v_r_1664_ = lean_apply_5(v_x_1625_, v___y_1627_, v___y_1628_, v___y_1629_, v___y_1630_, lean_box(0));
if (lean_obj_tag(v_r_1664_) == 0)
{
lean_object* v_a_1665_; lean_object* v___x_1667_; uint8_t v_isShared_1668_; uint8_t v_isSharedCheck_1681_; 
v_a_1665_ = lean_ctor_get(v_r_1664_, 0);
v_isSharedCheck_1681_ = !lean_is_exclusive(v_r_1664_);
if (v_isSharedCheck_1681_ == 0)
{
v___x_1667_ = v_r_1664_;
v_isShared_1668_ = v_isSharedCheck_1681_;
goto v_resetjp_1666_;
}
else
{
lean_inc(v_a_1665_);
lean_dec(v_r_1664_);
v___x_1667_ = lean_box(0);
v_isShared_1668_ = v_isSharedCheck_1681_;
goto v_resetjp_1666_;
}
v_resetjp_1666_:
{
lean_object* v___x_1670_; 
lean_inc(v_a_1665_);
if (v_isShared_1668_ == 0)
{
lean_ctor_set_tag(v___x_1667_, 1);
v___x_1670_ = v___x_1667_;
goto v_reusejp_1669_;
}
else
{
lean_object* v_reuseFailAlloc_1680_; 
v_reuseFailAlloc_1680_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1680_, 0, v_a_1665_);
v___x_1670_ = v_reuseFailAlloc_1680_;
goto v_reusejp_1669_;
}
v_reusejp_1669_:
{
lean_object* v___x_1671_; lean_object* v___x_1673_; uint8_t v_isShared_1674_; uint8_t v_isSharedCheck_1678_; 
v___x_1671_ = l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___lam__0(v___y_1630_, v_isExporting_1634_, v___x_1648_, v___y_1628_, v___x_1660_, v___x_1670_);
lean_dec_ref(v___x_1670_);
lean_dec(v___y_1628_);
lean_dec(v___y_1630_);
v_isSharedCheck_1678_ = !lean_is_exclusive(v___x_1671_);
if (v_isSharedCheck_1678_ == 0)
{
lean_object* v_unused_1679_; 
v_unused_1679_ = lean_ctor_get(v___x_1671_, 0);
lean_dec(v_unused_1679_);
v___x_1673_ = v___x_1671_;
v_isShared_1674_ = v_isSharedCheck_1678_;
goto v_resetjp_1672_;
}
else
{
lean_dec(v___x_1671_);
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)
{
lean_ctor_set(v___x_1673_, 0, v_a_1665_);
v___x_1676_ = v___x_1673_;
goto v_reusejp_1675_;
}
else
{
lean_object* v_reuseFailAlloc_1677_; 
v_reuseFailAlloc_1677_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1677_, 0, v_a_1665_);
v___x_1676_ = v_reuseFailAlloc_1677_;
goto v_reusejp_1675_;
}
v_reusejp_1675_:
{
return v___x_1676_;
}
}
}
}
}
else
{
lean_object* v_a_1682_; lean_object* v___x_1683_; lean_object* v___x_1684_; lean_object* v___x_1686_; uint8_t v_isShared_1687_; uint8_t v_isSharedCheck_1691_; 
v_a_1682_ = lean_ctor_get(v_r_1664_, 0);
lean_inc(v_a_1682_);
lean_dec_ref(v_r_1664_);
v___x_1683_ = lean_box(0);
v___x_1684_ = l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___lam__0(v___y_1630_, v_isExporting_1634_, v___x_1648_, v___y_1628_, v___x_1660_, v___x_1683_);
lean_dec(v___y_1628_);
lean_dec(v___y_1630_);
v_isSharedCheck_1691_ = !lean_is_exclusive(v___x_1684_);
if (v_isSharedCheck_1691_ == 0)
{
lean_object* v_unused_1692_; 
v_unused_1692_ = lean_ctor_get(v___x_1684_, 0);
lean_dec(v_unused_1692_);
v___x_1686_ = v___x_1684_;
v_isShared_1687_ = v_isSharedCheck_1691_;
goto v_resetjp_1685_;
}
else
{
lean_dec(v___x_1684_);
v___x_1686_ = lean_box(0);
v_isShared_1687_ = v_isSharedCheck_1691_;
goto v_resetjp_1685_;
}
v_resetjp_1685_:
{
lean_object* v___x_1689_; 
if (v_isShared_1687_ == 0)
{
lean_ctor_set_tag(v___x_1686_, 1);
lean_ctor_set(v___x_1686_, 0, v_a_1682_);
v___x_1689_ = v___x_1686_;
goto v_reusejp_1688_;
}
else
{
lean_object* v_reuseFailAlloc_1690_; 
v_reuseFailAlloc_1690_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1690_, 0, v_a_1682_);
v___x_1689_ = v_reuseFailAlloc_1690_;
goto v_reusejp_1688_;
}
v_reusejp_1688_:
{
return v___x_1689_;
}
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg___boxed(lean_object* v_x_1699_, lean_object* v_isExporting_1700_, lean_object* v___y_1701_, lean_object* v___y_1702_, lean_object* v___y_1703_, lean_object* v___y_1704_, lean_object* v___y_1705_){
_start:
{
uint8_t v_isExporting_boxed_1706_; lean_object* v_res_1707_; 
v_isExporting_boxed_1706_ = lean_unbox(v_isExporting_1700_);
v_res_1707_ = l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg(v_x_1699_, v_isExporting_boxed_1706_, v___y_1701_, v___y_1702_, v___y_1703_, v___y_1704_);
return v_res_1707_;
}
}
LEAN_EXPORT lean_object* l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2(lean_object* v_00_u03b1_1708_, lean_object* v_x_1709_, uint8_t v_isExporting_1710_, lean_object* v___y_1711_, lean_object* v___y_1712_, lean_object* v___y_1713_, lean_object* v___y_1714_){
_start:
{
lean_object* v___x_1716_; 
v___x_1716_ = l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg(v_x_1709_, v_isExporting_1710_, v___y_1711_, v___y_1712_, v___y_1713_, v___y_1714_);
return v___x_1716_;
}
}
LEAN_EXPORT lean_object* l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___boxed(lean_object* v_00_u03b1_1717_, lean_object* v_x_1718_, lean_object* v_isExporting_1719_, lean_object* v___y_1720_, lean_object* v___y_1721_, lean_object* v___y_1722_, lean_object* v___y_1723_, lean_object* v___y_1724_){
_start:
{
uint8_t v_isExporting_boxed_1725_; lean_object* v_res_1726_; 
v_isExporting_boxed_1725_ = lean_unbox(v_isExporting_1719_);
v_res_1726_ = l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2(v_00_u03b1_1717_, v_x_1718_, v_isExporting_boxed_1725_, v___y_1720_, v___y_1721_, v___y_1722_, v___y_1723_);
return v_res_1726_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__0(lean_object* v___x_1727_, uint8_t v___x_1728_, lean_object* v_declName_1729_, lean_object* v___y_1730_, lean_object* v___y_1731_, lean_object* v___y_1732_, lean_object* v___y_1733_){
_start:
{
lean_object* v___x_1735_; 
lean_inc(v___y_1733_);
lean_inc_ref(v___y_1732_);
v___x_1735_ = l_Lean_addDecl(v___x_1727_, v___x_1728_, v___y_1732_, v___y_1733_);
if (lean_obj_tag(v___x_1735_) == 0)
{
lean_object* v___x_1736_; 
lean_dec_ref(v___x_1735_);
v___x_1736_ = l_Lean_enableRealizationsForConst(v_declName_1729_, v___y_1732_, v___y_1733_);
lean_dec(v___y_1733_);
return v___x_1736_;
}
else
{
lean_dec(v___y_1733_);
lean_dec_ref(v___y_1732_);
lean_dec(v_declName_1729_);
return v___x_1735_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__0___boxed(lean_object* v___x_1737_, lean_object* v___x_1738_, lean_object* v_declName_1739_, lean_object* v___y_1740_, lean_object* v___y_1741_, lean_object* v___y_1742_, lean_object* v___y_1743_, lean_object* v___y_1744_){
_start:
{
uint8_t v___x_7959__boxed_1745_; lean_object* v_res_1746_; 
v___x_7959__boxed_1745_ = lean_unbox(v___x_1738_);
v_res_1746_ = l_Lean_Meta_mkSizeOfFn___lam__0(v___x_1737_, v___x_7959__boxed_1745_, v_declName_1739_, v___y_1740_, v___y_1741_, v___y_1742_, v___y_1743_);
lean_dec(v___y_1741_);
lean_dec_ref(v___y_1740_);
return v_res_1746_;
}
}
static lean_object* _init_l_Lean_Meta_mkSizeOfFn___lam__1___closed__1(void){
_start:
{
lean_object* v___x_1748_; lean_object* v___x_1749_; 
v___x_1748_ = ((lean_object*)(l_Lean_Meta_mkSizeOfFn___lam__1___closed__0));
v___x_1749_ = l_Lean_stringToMessageData(v___x_1748_);
return v___x_1749_;
}
}
static lean_object* _init_l_Lean_Meta_mkSizeOfFn___lam__1___closed__3(void){
_start:
{
lean_object* v___x_1751_; lean_object* v___x_1752_; 
v___x_1751_ = ((lean_object*)(l_Lean_Meta_mkSizeOfFn___lam__1___closed__2));
v___x_1752_ = l_Lean_stringToMessageData(v___x_1751_);
return v___x_1752_;
}
}
static lean_object* _init_l_Lean_Meta_mkSizeOfFn___lam__1___closed__5(void){
_start:
{
lean_object* v___x_1754_; lean_object* v___x_1755_; 
v___x_1754_ = ((lean_object*)(l_Lean_Meta_mkSizeOfFn___lam__1___closed__4));
v___x_1755_ = l_Lean_stringToMessageData(v___x_1754_);
return v___x_1755_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__1(lean_object* v___x_1756_, lean_object* v___x_1757_, uint8_t v___x_1758_, uint8_t v___x_1759_, uint8_t v___x_1760_, lean_object* v_minors_1761_, lean_object* v___x_1762_, lean_object* v___x_1763_, lean_object* v___x_1764_, lean_object* v_cls_1765_, lean_object* v_declName_1766_, lean_object* v___x_1767_, lean_object* v___y_1768_, lean_object* v___y_1769_, lean_object* v___y_1770_, lean_object* v___y_1771_){
_start:
{
lean_object* v___x_1773_; 
v___x_1773_ = l_Lean_Meta_mkForallFVars(v___x_1756_, v___x_1757_, v___x_1758_, v___x_1759_, v___x_1759_, v___x_1760_, v___y_1768_, v___y_1769_, v___y_1770_, v___y_1771_);
if (lean_obj_tag(v___x_1773_) == 0)
{
lean_object* v_a_1774_; lean_object* v___x_1775_; lean_object* v___x_1776_; lean_object* v___x_1777_; lean_object* v___x_1778_; 
v_a_1774_ = lean_ctor_get(v___x_1773_, 0);
lean_inc(v_a_1774_);
lean_dec_ref(v___x_1773_);
v___x_1775_ = l_Array_append___redArg(v_minors_1761_, v___x_1762_);
v___x_1776_ = l_Array_append___redArg(v___x_1775_, v___x_1763_);
v___x_1777_ = l_Lean_mkAppN(v___x_1764_, v___x_1776_);
lean_dec_ref(v___x_1776_);
v___x_1778_ = l_Lean_Meta_mkLambdaFVars(v___x_1756_, v___x_1777_, v___x_1758_, v___x_1759_, v___x_1758_, v___x_1759_, v___x_1760_, v___y_1768_, v___y_1769_, v___y_1770_, v___y_1771_);
if (lean_obj_tag(v___x_1778_) == 0)
{
lean_object* v_a_1779_; lean_object* v___y_1781_; lean_object* v___y_1782_; lean_object* v___y_1783_; lean_object* v___y_1784_; lean_object* v___y_1796_; lean_object* v___y_1797_; lean_object* v___y_1798_; lean_object* v___y_1799_; lean_object* v___y_1808_; lean_object* v___y_1809_; lean_object* v___y_1810_; lean_object* v___y_1811_; lean_object* v___x_1819_; lean_object* v_a_1820_; uint8_t v___x_1821_; 
v_a_1779_ = lean_ctor_get(v___x_1778_, 0);
lean_inc(v_a_1779_);
lean_dec_ref(v___x_1778_);
lean_inc(v_cls_1765_);
v___x_1819_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg(v_cls_1765_, v___y_1770_);
v_a_1820_ = lean_ctor_get(v___x_1819_, 0);
lean_inc(v_a_1820_);
lean_dec_ref(v___x_1819_);
v___x_1821_ = lean_unbox(v_a_1820_);
lean_dec(v_a_1820_);
if (v___x_1821_ == 0)
{
v___y_1808_ = v___y_1768_;
v___y_1809_ = v___y_1769_;
v___y_1810_ = v___y_1770_;
v___y_1811_ = v___y_1771_;
goto v___jp_1807_;
}
else
{
lean_object* v___x_1822_; lean_object* v___x_1823_; lean_object* v___x_1824_; lean_object* v___x_1825_; 
v___x_1822_ = lean_obj_once(&l_Lean_Meta_mkSizeOfFn___lam__1___closed__5, &l_Lean_Meta_mkSizeOfFn___lam__1___closed__5_once, _init_l_Lean_Meta_mkSizeOfFn___lam__1___closed__5);
lean_inc(v_declName_1766_);
v___x_1823_ = l_Lean_MessageData_ofName(v_declName_1766_);
v___x_1824_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1824_, 0, v___x_1822_);
lean_ctor_set(v___x_1824_, 1, v___x_1823_);
lean_inc(v_cls_1765_);
v___x_1825_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1(v_cls_1765_, v___x_1824_, v___y_1768_, v___y_1769_, v___y_1770_, v___y_1771_);
if (lean_obj_tag(v___x_1825_) == 0)
{
lean_dec_ref(v___x_1825_);
v___y_1808_ = v___y_1768_;
v___y_1809_ = v___y_1769_;
v___y_1810_ = v___y_1770_;
v___y_1811_ = v___y_1771_;
goto v___jp_1807_;
}
else
{
lean_dec(v_a_1779_);
lean_dec(v_a_1774_);
lean_dec(v___y_1771_);
lean_dec_ref(v___y_1770_);
lean_dec(v___y_1769_);
lean_dec_ref(v___y_1768_);
lean_dec(v___x_1767_);
lean_dec(v_declName_1766_);
lean_dec(v_cls_1765_);
return v___x_1825_;
}
}
v___jp_1780_:
{
lean_object* v___x_1785_; lean_object* v___x_1786_; uint8_t v___x_1787_; lean_object* v___x_1788_; lean_object* v___x_1789_; lean_object* v___x_1790_; lean_object* v___x_1791_; lean_object* v___x_1792_; lean_object* v___f_1793_; lean_object* v___x_1794_; 
lean_inc(v_declName_1766_);
v___x_1785_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v___x_1785_, 0, v_declName_1766_);
lean_ctor_set(v___x_1785_, 1, v___x_1767_);
lean_ctor_set(v___x_1785_, 2, v_a_1774_);
v___x_1786_ = lean_box(1);
v___x_1787_ = 1;
v___x_1788_ = lean_box(0);
lean_inc(v_declName_1766_);
v___x_1789_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_1789_, 0, v_declName_1766_);
lean_ctor_set(v___x_1789_, 1, v___x_1788_);
v___x_1790_ = lean_alloc_ctor(0, 4, 1);
lean_ctor_set(v___x_1790_, 0, v___x_1785_);
lean_ctor_set(v___x_1790_, 1, v_a_1779_);
lean_ctor_set(v___x_1790_, 2, v___x_1786_);
lean_ctor_set(v___x_1790_, 3, v___x_1789_);
lean_ctor_set_uint8(v___x_1790_, sizeof(void*)*4, v___x_1787_);
v___x_1791_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_1791_, 0, v___x_1790_);
v___x_1792_ = lean_box(v___x_1758_);
v___f_1793_ = lean_alloc_closure((void*)(l_Lean_Meta_mkSizeOfFn___lam__0___boxed), 8, 3);
lean_closure_set(v___f_1793_, 0, v___x_1791_);
lean_closure_set(v___f_1793_, 1, v___x_1792_);
lean_closure_set(v___f_1793_, 2, v_declName_1766_);
v___x_1794_ = l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg(v___f_1793_, v___x_1759_, v___y_1781_, v___y_1782_, v___y_1783_, v___y_1784_);
return v___x_1794_;
}
v___jp_1795_:
{
lean_object* v___x_1800_; lean_object* v_a_1801_; uint8_t v___x_1802_; 
lean_inc(v_cls_1765_);
v___x_1800_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg(v_cls_1765_, v___y_1798_);
v_a_1801_ = lean_ctor_get(v___x_1800_, 0);
lean_inc(v_a_1801_);
lean_dec_ref(v___x_1800_);
v___x_1802_ = lean_unbox(v_a_1801_);
lean_dec(v_a_1801_);
if (v___x_1802_ == 0)
{
lean_dec(v_cls_1765_);
v___y_1781_ = v___y_1796_;
v___y_1782_ = v___y_1797_;
v___y_1783_ = v___y_1798_;
v___y_1784_ = v___y_1799_;
goto v___jp_1780_;
}
else
{
lean_object* v___x_1803_; lean_object* v___x_1804_; lean_object* v___x_1805_; lean_object* v___x_1806_; 
v___x_1803_ = lean_obj_once(&l_Lean_Meta_mkSizeOfFn___lam__1___closed__1, &l_Lean_Meta_mkSizeOfFn___lam__1___closed__1_once, _init_l_Lean_Meta_mkSizeOfFn___lam__1___closed__1);
lean_inc(v_a_1779_);
v___x_1804_ = l_Lean_MessageData_ofExpr(v_a_1779_);
v___x_1805_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1805_, 0, v___x_1803_);
lean_ctor_set(v___x_1805_, 1, v___x_1804_);
v___x_1806_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1(v_cls_1765_, v___x_1805_, v___y_1796_, v___y_1797_, v___y_1798_, v___y_1799_);
if (lean_obj_tag(v___x_1806_) == 0)
{
lean_dec_ref(v___x_1806_);
v___y_1781_ = v___y_1796_;
v___y_1782_ = v___y_1797_;
v___y_1783_ = v___y_1798_;
v___y_1784_ = v___y_1799_;
goto v___jp_1780_;
}
else
{
lean_dec(v___y_1799_);
lean_dec_ref(v___y_1798_);
lean_dec(v___y_1797_);
lean_dec_ref(v___y_1796_);
lean_dec(v_a_1779_);
lean_dec(v_a_1774_);
lean_dec(v___x_1767_);
lean_dec(v_declName_1766_);
return v___x_1806_;
}
}
}
v___jp_1807_:
{
lean_object* v___x_1812_; lean_object* v_a_1813_; uint8_t v___x_1814_; 
lean_inc(v_cls_1765_);
v___x_1812_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg(v_cls_1765_, v___y_1810_);
v_a_1813_ = lean_ctor_get(v___x_1812_, 0);
lean_inc(v_a_1813_);
lean_dec_ref(v___x_1812_);
v___x_1814_ = lean_unbox(v_a_1813_);
lean_dec(v_a_1813_);
if (v___x_1814_ == 0)
{
v___y_1796_ = v___y_1808_;
v___y_1797_ = v___y_1809_;
v___y_1798_ = v___y_1810_;
v___y_1799_ = v___y_1811_;
goto v___jp_1795_;
}
else
{
lean_object* v___x_1815_; lean_object* v___x_1816_; lean_object* v___x_1817_; lean_object* v___x_1818_; 
v___x_1815_ = lean_obj_once(&l_Lean_Meta_mkSizeOfFn___lam__1___closed__3, &l_Lean_Meta_mkSizeOfFn___lam__1___closed__3_once, _init_l_Lean_Meta_mkSizeOfFn___lam__1___closed__3);
lean_inc(v_a_1774_);
v___x_1816_ = l_Lean_MessageData_ofExpr(v_a_1774_);
v___x_1817_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_1817_, 0, v___x_1815_);
lean_ctor_set(v___x_1817_, 1, v___x_1816_);
lean_inc(v_cls_1765_);
v___x_1818_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1(v_cls_1765_, v___x_1817_, v___y_1808_, v___y_1809_, v___y_1810_, v___y_1811_);
if (lean_obj_tag(v___x_1818_) == 0)
{
lean_dec_ref(v___x_1818_);
v___y_1796_ = v___y_1808_;
v___y_1797_ = v___y_1809_;
v___y_1798_ = v___y_1810_;
v___y_1799_ = v___y_1811_;
goto v___jp_1795_;
}
else
{
lean_dec(v___y_1811_);
lean_dec_ref(v___y_1810_);
lean_dec(v___y_1809_);
lean_dec_ref(v___y_1808_);
lean_dec(v_a_1779_);
lean_dec(v_a_1774_);
lean_dec(v___x_1767_);
lean_dec(v_declName_1766_);
lean_dec(v_cls_1765_);
return v___x_1818_;
}
}
}
}
else
{
lean_object* v_a_1826_; lean_object* v___x_1828_; uint8_t v_isShared_1829_; uint8_t v_isSharedCheck_1833_; 
lean_dec(v_a_1774_);
lean_dec(v___y_1771_);
lean_dec_ref(v___y_1770_);
lean_dec(v___y_1769_);
lean_dec_ref(v___y_1768_);
lean_dec(v___x_1767_);
lean_dec(v_declName_1766_);
lean_dec(v_cls_1765_);
v_a_1826_ = lean_ctor_get(v___x_1778_, 0);
v_isSharedCheck_1833_ = !lean_is_exclusive(v___x_1778_);
if (v_isSharedCheck_1833_ == 0)
{
v___x_1828_ = v___x_1778_;
v_isShared_1829_ = v_isSharedCheck_1833_;
goto v_resetjp_1827_;
}
else
{
lean_inc(v_a_1826_);
lean_dec(v___x_1778_);
v___x_1828_ = lean_box(0);
v_isShared_1829_ = v_isSharedCheck_1833_;
goto v_resetjp_1827_;
}
v_resetjp_1827_:
{
lean_object* v___x_1831_; 
if (v_isShared_1829_ == 0)
{
v___x_1831_ = v___x_1828_;
goto v_reusejp_1830_;
}
else
{
lean_object* v_reuseFailAlloc_1832_; 
v_reuseFailAlloc_1832_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1832_, 0, v_a_1826_);
v___x_1831_ = v_reuseFailAlloc_1832_;
goto v_reusejp_1830_;
}
v_reusejp_1830_:
{
return v___x_1831_;
}
}
}
}
else
{
lean_object* v_a_1834_; lean_object* v___x_1836_; uint8_t v_isShared_1837_; uint8_t v_isSharedCheck_1841_; 
lean_dec(v___y_1771_);
lean_dec_ref(v___y_1770_);
lean_dec(v___y_1769_);
lean_dec_ref(v___y_1768_);
lean_dec(v___x_1767_);
lean_dec(v_declName_1766_);
lean_dec(v_cls_1765_);
lean_dec_ref(v___x_1764_);
lean_dec_ref(v_minors_1761_);
v_a_1834_ = lean_ctor_get(v___x_1773_, 0);
v_isSharedCheck_1841_ = !lean_is_exclusive(v___x_1773_);
if (v_isSharedCheck_1841_ == 0)
{
v___x_1836_ = v___x_1773_;
v_isShared_1837_ = v_isSharedCheck_1841_;
goto v_resetjp_1835_;
}
else
{
lean_inc(v_a_1834_);
lean_dec(v___x_1773_);
v___x_1836_ = lean_box(0);
v_isShared_1837_ = v_isSharedCheck_1841_;
goto v_resetjp_1835_;
}
v_resetjp_1835_:
{
lean_object* v___x_1839_; 
if (v_isShared_1837_ == 0)
{
v___x_1839_ = v___x_1836_;
goto v_reusejp_1838_;
}
else
{
lean_object* v_reuseFailAlloc_1840_; 
v_reuseFailAlloc_1840_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1840_, 0, v_a_1834_);
v___x_1839_ = v_reuseFailAlloc_1840_;
goto v_reusejp_1838_;
}
v_reusejp_1838_:
{
return v___x_1839_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__1___boxed(lean_object** _args){
lean_object* v___x_1842_ = _args[0];
lean_object* v___x_1843_ = _args[1];
lean_object* v___x_1844_ = _args[2];
lean_object* v___x_1845_ = _args[3];
lean_object* v___x_1846_ = _args[4];
lean_object* v_minors_1847_ = _args[5];
lean_object* v___x_1848_ = _args[6];
lean_object* v___x_1849_ = _args[7];
lean_object* v___x_1850_ = _args[8];
lean_object* v_cls_1851_ = _args[9];
lean_object* v_declName_1852_ = _args[10];
lean_object* v___x_1853_ = _args[11];
lean_object* v___y_1854_ = _args[12];
lean_object* v___y_1855_ = _args[13];
lean_object* v___y_1856_ = _args[14];
lean_object* v___y_1857_ = _args[15];
lean_object* v___y_1858_ = _args[16];
_start:
{
uint8_t v___x_8005__boxed_1859_; uint8_t v___x_8006__boxed_1860_; uint8_t v___x_8007__boxed_1861_; lean_object* v_res_1862_; 
v___x_8005__boxed_1859_ = lean_unbox(v___x_1844_);
v___x_8006__boxed_1860_ = lean_unbox(v___x_1845_);
v___x_8007__boxed_1861_ = lean_unbox(v___x_1846_);
v_res_1862_ = l_Lean_Meta_mkSizeOfFn___lam__1(v___x_1842_, v___x_1843_, v___x_8005__boxed_1859_, v___x_8006__boxed_1860_, v___x_8007__boxed_1861_, v_minors_1847_, v___x_1848_, v___x_1849_, v___x_1850_, v_cls_1851_, v_declName_1852_, v___x_1853_, v___y_1854_, v___y_1855_, v___y_1856_, v___y_1857_);
lean_dec_ref(v___x_1849_);
lean_dec_ref(v___x_1848_);
lean_dec_ref(v___x_1842_);
return v_res_1862_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__2(lean_object* v___x_1863_, lean_object* v_localInsts_1864_, lean_object* v___x_1865_, lean_object* v___x_1866_, lean_object* v___x_1867_, lean_object* v___x_1868_, lean_object* v_cls_1869_, lean_object* v_declName_1870_, lean_object* v___x_1871_, lean_object* v_minors_1872_, lean_object* v___y_1873_, lean_object* v___y_1874_, lean_object* v___y_1875_, lean_object* v___y_1876_){
_start:
{
lean_object* v___x_1878_; lean_object* v___x_1879_; lean_object* v___x_1880_; lean_object* v___x_1881_; lean_object* v___x_1882_; lean_object* v___x_1883_; lean_object* v___x_1884_; uint8_t v___x_1885_; uint8_t v___x_1886_; uint8_t v___x_1887_; lean_object* v___x_1888_; lean_object* v___x_1889_; lean_object* v___x_1890_; lean_object* v___f_1891_; lean_object* v___x_1892_; 
lean_inc_ref(v___x_1863_);
v___x_1878_ = l_Array_append___redArg(v___x_1863_, v_localInsts_1864_);
v___x_1879_ = l_Subarray_copy___redArg(v___x_1865_);
v___x_1880_ = l_Array_append___redArg(v___x_1878_, v___x_1879_);
v___x_1881_ = lean_unsigned_to_nat(1u);
v___x_1882_ = lean_mk_empty_array_with_capacity(v___x_1881_);
v___x_1883_ = lean_array_push(v___x_1882_, v___x_1866_);
v___x_1884_ = l_Array_append___redArg(v___x_1880_, v___x_1883_);
v___x_1885_ = 0;
v___x_1886_ = 1;
v___x_1887_ = 1;
v___x_1888_ = lean_box(v___x_1885_);
v___x_1889_ = lean_box(v___x_1886_);
v___x_1890_ = lean_box(v___x_1887_);
v___f_1891_ = lean_alloc_closure((void*)(l_Lean_Meta_mkSizeOfFn___lam__1___boxed), 17, 12);
lean_closure_set(v___f_1891_, 0, v___x_1884_);
lean_closure_set(v___f_1891_, 1, v___x_1867_);
lean_closure_set(v___f_1891_, 2, v___x_1888_);
lean_closure_set(v___f_1891_, 3, v___x_1889_);
lean_closure_set(v___f_1891_, 4, v___x_1890_);
lean_closure_set(v___f_1891_, 5, v_minors_1872_);
lean_closure_set(v___f_1891_, 6, v___x_1879_);
lean_closure_set(v___f_1891_, 7, v___x_1883_);
lean_closure_set(v___f_1891_, 8, v___x_1868_);
lean_closure_set(v___f_1891_, 9, v_cls_1869_);
lean_closure_set(v___f_1891_, 10, v_declName_1870_);
lean_closure_set(v___f_1891_, 11, v___x_1871_);
v___x_1892_ = l_Lean_Meta_withInstImplicitAsImplicit___redArg(v___x_1863_, v___f_1891_, v___y_1873_, v___y_1874_, v___y_1875_, v___y_1876_);
lean_dec_ref(v___x_1863_);
return v___x_1892_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__2___boxed(lean_object* v___x_1893_, lean_object* v_localInsts_1894_, lean_object* v___x_1895_, lean_object* v___x_1896_, lean_object* v___x_1897_, lean_object* v___x_1898_, lean_object* v_cls_1899_, lean_object* v_declName_1900_, lean_object* v___x_1901_, lean_object* v_minors_1902_, lean_object* v___y_1903_, lean_object* v___y_1904_, lean_object* v___y_1905_, lean_object* v___y_1906_, lean_object* v___y_1907_){
_start:
{
lean_object* v_res_1908_; 
v_res_1908_ = l_Lean_Meta_mkSizeOfFn___lam__2(v___x_1893_, v_localInsts_1894_, v___x_1895_, v___x_1896_, v___x_1897_, v___x_1898_, v_cls_1899_, v_declName_1900_, v___x_1901_, v_minors_1902_, v___y_1903_, v___y_1904_, v___y_1905_, v___y_1906_);
lean_dec_ref(v_localInsts_1894_);
return v_res_1908_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__3(lean_object* v___x_1909_, lean_object* v___x_1910_, lean_object* v___f_1911_, lean_object* v_minorFVars_x27_1912_, lean_object* v_x_1913_, lean_object* v___y_1914_, lean_object* v___y_1915_, lean_object* v___y_1916_, lean_object* v___y_1917_){
_start:
{
lean_object* v___x_1919_; lean_object* v___x_1920_; 
v___x_1919_ = l_Subarray_copy___redArg(v___x_1909_);
v___x_1920_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___redArg(v___x_1910_, v___x_1919_, v_minorFVars_x27_1912_, v___f_1911_, v___y_1914_, v___y_1915_, v___y_1916_, v___y_1917_);
return v___x_1920_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__3___boxed(lean_object* v___x_1921_, lean_object* v___x_1922_, lean_object* v___f_1923_, lean_object* v_minorFVars_x27_1924_, lean_object* v_x_1925_, lean_object* v___y_1926_, lean_object* v___y_1927_, lean_object* v___y_1928_, lean_object* v___y_1929_, lean_object* v___y_1930_){
_start:
{
lean_object* v_res_1931_; 
v_res_1931_ = l_Lean_Meta_mkSizeOfFn___lam__3(v___x_1921_, v___x_1922_, v___f_1923_, v_minorFVars_x27_1924_, v_x_1925_, v___y_1926_, v___y_1927_, v___y_1928_, v___y_1929_);
lean_dec_ref(v_x_1925_);
return v_res_1931_;
}
}
LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00Lean_Meta_mkSizeOfFn_spec__1(lean_object* v_a_1932_, lean_object* v_a_1933_){
_start:
{
if (lean_obj_tag(v_a_1932_) == 0)
{
lean_object* v___x_1934_; 
v___x_1934_ = l_List_reverse___redArg(v_a_1933_);
return v___x_1934_;
}
else
{
lean_object* v_head_1935_; lean_object* v_tail_1936_; lean_object* v___x_1938_; uint8_t v_isShared_1939_; uint8_t v_isSharedCheck_1945_; 
v_head_1935_ = lean_ctor_get(v_a_1932_, 0);
v_tail_1936_ = lean_ctor_get(v_a_1932_, 1);
v_isSharedCheck_1945_ = !lean_is_exclusive(v_a_1932_);
if (v_isSharedCheck_1945_ == 0)
{
v___x_1938_ = v_a_1932_;
v_isShared_1939_ = v_isSharedCheck_1945_;
goto v_resetjp_1937_;
}
else
{
lean_inc(v_tail_1936_);
lean_inc(v_head_1935_);
lean_dec(v_a_1932_);
v___x_1938_ = lean_box(0);
v_isShared_1939_ = v_isSharedCheck_1945_;
goto v_resetjp_1937_;
}
v_resetjp_1937_:
{
lean_object* v___x_1940_; lean_object* v___x_1942_; 
v___x_1940_ = l_Lean_mkLevelParam(v_head_1935_);
if (v_isShared_1939_ == 0)
{
lean_ctor_set(v___x_1938_, 1, v_a_1933_);
lean_ctor_set(v___x_1938_, 0, v___x_1940_);
v___x_1942_ = v___x_1938_;
goto v_reusejp_1941_;
}
else
{
lean_object* v_reuseFailAlloc_1944_; 
v_reuseFailAlloc_1944_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1944_, 0, v___x_1940_);
lean_ctor_set(v_reuseFailAlloc_1944_, 1, v_a_1933_);
v___x_1942_ = v_reuseFailAlloc_1944_;
goto v_reusejp_1941_;
}
v_reusejp_1941_:
{
v_a_1932_ = v_tail_1936_;
v_a_1933_ = v___x_1942_;
goto _start;
}
}
}
}
}
static lean_object* _init_l_Lean_Meta_mkSizeOfFn___lam__4___closed__0(void){
_start:
{
lean_object* v___x_1946_; lean_object* v___x_1947_; 
v___x_1946_ = lean_box(0);
v___x_1947_ = l_Lean_Level_succ___override(v___x_1946_);
return v___x_1947_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__4(lean_object* v___x_1948_, lean_object* v___x_1949_, lean_object* v_recName_1950_, lean_object* v___x_1951_, lean_object* v_localInsts_1952_, lean_object* v___x_1953_, lean_object* v___x_1954_, lean_object* v___x_1955_, lean_object* v_cls_1956_, lean_object* v_declName_1957_, lean_object* v___x_1958_, lean_object* v___x_1959_, lean_object* v_numMinors_1960_, lean_object* v_motives_1961_, lean_object* v___y_1962_, lean_object* v___y_1963_, lean_object* v___y_1964_, lean_object* v___y_1965_){
_start:
{
lean_object* v___x_1967_; lean_object* v___x_1968_; lean_object* v___x_1969_; lean_object* v___x_1970_; lean_object* v___x_1971_; lean_object* v___x_1972_; lean_object* v___x_1973_; 
v___x_1967_ = lean_obj_once(&l_Lean_Meta_mkSizeOfFn___lam__4___closed__0, &l_Lean_Meta_mkSizeOfFn___lam__4___closed__0_once, _init_l_Lean_Meta_mkSizeOfFn___lam__4___closed__0);
lean_inc(v___x_1948_);
v___x_1968_ = l_List_mapTR_loop___at___00Lean_Meta_mkSizeOfFn_spec__1(v___x_1948_, v___x_1949_);
v___x_1969_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_1969_, 0, v___x_1967_);
lean_ctor_set(v___x_1969_, 1, v___x_1968_);
v___x_1970_ = l_Lean_mkConst(v_recName_1950_, v___x_1969_);
lean_inc_ref(v___x_1951_);
v___x_1971_ = l_Array_append___redArg(v___x_1951_, v_motives_1961_);
v___x_1972_ = l_Lean_mkAppN(v___x_1970_, v___x_1971_);
lean_dec_ref(v___x_1971_);
lean_inc(v___y_1965_);
lean_inc_ref(v___y_1964_);
lean_inc(v___y_1963_);
lean_inc_ref(v___y_1962_);
lean_inc_ref(v___x_1972_);
v___x_1973_ = lean_infer_type(v___x_1972_, v___y_1962_, v___y_1963_, v___y_1964_, v___y_1965_);
if (lean_obj_tag(v___x_1973_) == 0)
{
lean_object* v_a_1974_; lean_object* v___f_1975_; lean_object* v___f_1976_; lean_object* v___x_1977_; uint8_t v___x_1978_; lean_object* v___x_1979_; 
v_a_1974_ = lean_ctor_get(v___x_1973_, 0);
lean_inc(v_a_1974_);
lean_dec_ref(v___x_1973_);
v___f_1975_ = lean_alloc_closure((void*)(l_Lean_Meta_mkSizeOfFn___lam__2___boxed), 15, 9);
lean_closure_set(v___f_1975_, 0, v___x_1951_);
lean_closure_set(v___f_1975_, 1, v_localInsts_1952_);
lean_closure_set(v___f_1975_, 2, v___x_1953_);
lean_closure_set(v___f_1975_, 3, v___x_1954_);
lean_closure_set(v___f_1975_, 4, v___x_1955_);
lean_closure_set(v___f_1975_, 5, v___x_1972_);
lean_closure_set(v___f_1975_, 6, v_cls_1956_);
lean_closure_set(v___f_1975_, 7, v_declName_1957_);
lean_closure_set(v___f_1975_, 8, v___x_1948_);
v___f_1976_ = lean_alloc_closure((void*)(l_Lean_Meta_mkSizeOfFn___lam__3___boxed), 10, 3);
lean_closure_set(v___f_1976_, 0, v___x_1958_);
lean_closure_set(v___f_1976_, 1, v___x_1959_);
lean_closure_set(v___f_1976_, 2, v___f_1975_);
v___x_1977_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_1977_, 0, v_numMinors_1960_);
v___x_1978_ = 0;
v___x_1979_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__1___redArg(v_a_1974_, v___x_1977_, v___f_1976_, v___x_1978_, v___x_1978_, v___y_1962_, v___y_1963_, v___y_1964_, v___y_1965_);
return v___x_1979_;
}
else
{
lean_object* v_a_1980_; lean_object* v___x_1982_; uint8_t v_isShared_1983_; uint8_t v_isSharedCheck_1987_; 
lean_dec_ref(v___x_1972_);
lean_dec(v___y_1965_);
lean_dec_ref(v___y_1964_);
lean_dec(v___y_1963_);
lean_dec_ref(v___y_1962_);
lean_dec(v_numMinors_1960_);
lean_dec_ref(v___x_1959_);
lean_dec_ref(v___x_1958_);
lean_dec(v_declName_1957_);
lean_dec(v_cls_1956_);
lean_dec_ref(v___x_1955_);
lean_dec_ref(v___x_1954_);
lean_dec_ref(v___x_1953_);
lean_dec_ref(v_localInsts_1952_);
lean_dec_ref(v___x_1951_);
lean_dec(v___x_1948_);
v_a_1980_ = lean_ctor_get(v___x_1973_, 0);
v_isSharedCheck_1987_ = !lean_is_exclusive(v___x_1973_);
if (v_isSharedCheck_1987_ == 0)
{
v___x_1982_ = v___x_1973_;
v_isShared_1983_ = v_isSharedCheck_1987_;
goto v_resetjp_1981_;
}
else
{
lean_inc(v_a_1980_);
lean_dec(v___x_1973_);
v___x_1982_ = lean_box(0);
v_isShared_1983_ = v_isSharedCheck_1987_;
goto v_resetjp_1981_;
}
v_resetjp_1981_:
{
lean_object* v___x_1985_; 
if (v_isShared_1983_ == 0)
{
v___x_1985_ = v___x_1982_;
goto v_reusejp_1984_;
}
else
{
lean_object* v_reuseFailAlloc_1986_; 
v_reuseFailAlloc_1986_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1986_, 0, v_a_1980_);
v___x_1985_ = v_reuseFailAlloc_1986_;
goto v_reusejp_1984_;
}
v_reusejp_1984_:
{
return v___x_1985_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__4___boxed(lean_object** _args){
lean_object* v___x_1988_ = _args[0];
lean_object* v___x_1989_ = _args[1];
lean_object* v_recName_1990_ = _args[2];
lean_object* v___x_1991_ = _args[3];
lean_object* v_localInsts_1992_ = _args[4];
lean_object* v___x_1993_ = _args[5];
lean_object* v___x_1994_ = _args[6];
lean_object* v___x_1995_ = _args[7];
lean_object* v_cls_1996_ = _args[8];
lean_object* v_declName_1997_ = _args[9];
lean_object* v___x_1998_ = _args[10];
lean_object* v___x_1999_ = _args[11];
lean_object* v_numMinors_2000_ = _args[12];
lean_object* v_motives_2001_ = _args[13];
lean_object* v___y_2002_ = _args[14];
lean_object* v___y_2003_ = _args[15];
lean_object* v___y_2004_ = _args[16];
lean_object* v___y_2005_ = _args[17];
lean_object* v___y_2006_ = _args[18];
_start:
{
lean_object* v_res_2007_; 
v_res_2007_ = l_Lean_Meta_mkSizeOfFn___lam__4(v___x_1988_, v___x_1989_, v_recName_1990_, v___x_1991_, v_localInsts_1992_, v___x_1993_, v___x_1994_, v___x_1995_, v_cls_1996_, v_declName_1997_, v___x_1998_, v___x_1999_, v_numMinors_2000_, v_motives_2001_, v___y_2002_, v___y_2003_, v___y_2004_, v___y_2005_);
lean_dec_ref(v_motives_2001_);
return v_res_2007_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__5(lean_object* v___x_2008_, lean_object* v___x_2009_, lean_object* v___x_2010_, lean_object* v_recName_2011_, lean_object* v___x_2012_, lean_object* v___x_2013_, lean_object* v___x_2014_, lean_object* v___x_2015_, lean_object* v_cls_2016_, lean_object* v_declName_2017_, lean_object* v___x_2018_, lean_object* v_numMinors_2019_, lean_object* v_localInsts_2020_, lean_object* v___y_2021_, lean_object* v___y_2022_, lean_object* v___y_2023_, lean_object* v___y_2024_){
_start:
{
lean_object* v___x_2026_; lean_object* v___f_2027_; lean_object* v___x_2028_; 
v___x_2026_ = l_Subarray_copy___redArg(v___x_2008_);
lean_inc_ref(v___x_2026_);
v___f_2027_ = lean_alloc_closure((void*)(l_Lean_Meta_mkSizeOfFn___lam__4___boxed), 19, 13);
lean_closure_set(v___f_2027_, 0, v___x_2009_);
lean_closure_set(v___f_2027_, 1, v___x_2010_);
lean_closure_set(v___f_2027_, 2, v_recName_2011_);
lean_closure_set(v___f_2027_, 3, v___x_2012_);
lean_closure_set(v___f_2027_, 4, v_localInsts_2020_);
lean_closure_set(v___f_2027_, 5, v___x_2013_);
lean_closure_set(v___f_2027_, 6, v___x_2014_);
lean_closure_set(v___f_2027_, 7, v___x_2015_);
lean_closure_set(v___f_2027_, 8, v_cls_2016_);
lean_closure_set(v___f_2027_, 9, v_declName_2017_);
lean_closure_set(v___f_2027_, 10, v___x_2018_);
lean_closure_set(v___f_2027_, 11, v___x_2026_);
lean_closure_set(v___f_2027_, 12, v_numMinors_2019_);
v___x_2028_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives___redArg(v___x_2026_, v___f_2027_, v___y_2021_, v___y_2022_, v___y_2023_, v___y_2024_);
lean_dec_ref(v___x_2026_);
return v___x_2028_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__5___boxed(lean_object** _args){
lean_object* v___x_2029_ = _args[0];
lean_object* v___x_2030_ = _args[1];
lean_object* v___x_2031_ = _args[2];
lean_object* v_recName_2032_ = _args[3];
lean_object* v___x_2033_ = _args[4];
lean_object* v___x_2034_ = _args[5];
lean_object* v___x_2035_ = _args[6];
lean_object* v___x_2036_ = _args[7];
lean_object* v_cls_2037_ = _args[8];
lean_object* v_declName_2038_ = _args[9];
lean_object* v___x_2039_ = _args[10];
lean_object* v_numMinors_2040_ = _args[11];
lean_object* v_localInsts_2041_ = _args[12];
lean_object* v___y_2042_ = _args[13];
lean_object* v___y_2043_ = _args[14];
lean_object* v___y_2044_ = _args[15];
lean_object* v___y_2045_ = _args[16];
lean_object* v___y_2046_ = _args[17];
_start:
{
lean_object* v_res_2047_; 
v_res_2047_ = l_Lean_Meta_mkSizeOfFn___lam__5(v___x_2029_, v___x_2030_, v___x_2031_, v_recName_2032_, v___x_2033_, v___x_2034_, v___x_2035_, v___x_2036_, v_cls_2037_, v_declName_2038_, v___x_2039_, v_numMinors_2040_, v_localInsts_2041_, v___y_2042_, v___y_2043_, v___y_2044_, v___y_2045_);
return v_res_2047_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__6(lean_object* v_levelParams_2048_, lean_object* v_numParams_2049_, lean_object* v_numMotives_2050_, lean_object* v_a_2051_, lean_object* v_numMinors_2052_, lean_object* v_numIndices_2053_, lean_object* v___x_2054_, lean_object* v_recName_2055_, lean_object* v_cls_2056_, lean_object* v_declName_2057_, lean_object* v_xs_2058_, lean_object* v_x_2059_, lean_object* v___y_2060_, lean_object* v___y_2061_, lean_object* v___y_2062_, lean_object* v___y_2063_){
_start:
{
lean_object* v___x_2065_; lean_object* v___x_2066_; lean_object* v___x_2067_; lean_object* v___x_2068_; lean_object* v___x_2069_; lean_object* v___x_2070_; lean_object* v___x_2071_; lean_object* v___x_2072_; lean_object* v___x_2073_; lean_object* v___x_2074_; lean_object* v___x_2075_; lean_object* v___x_2076_; lean_object* v___x_2077_; lean_object* v___x_2078_; lean_object* v___x_2079_; lean_object* v___x_2080_; lean_object* v___f_2081_; lean_object* v___x_2082_; 
v___x_2065_ = l_List_tail_x21___redArg(v_levelParams_2048_);
v___x_2066_ = lean_unsigned_to_nat(0u);
lean_inc(v_numParams_2049_);
lean_inc_ref(v_xs_2058_);
v___x_2067_ = l_Array_toSubarray___redArg(v_xs_2058_, v___x_2066_, v_numParams_2049_);
v___x_2068_ = lean_nat_add(v_numParams_2049_, v_numMotives_2050_);
lean_inc_ref(v_xs_2058_);
v___x_2069_ = l_Array_toSubarray___redArg(v_xs_2058_, v_numParams_2049_, v___x_2068_);
v___x_2070_ = l_Lean_RecursorVal_getFirstMinorIdx(v_a_2051_);
v___x_2071_ = lean_nat_add(v___x_2070_, v_numMinors_2052_);
lean_inc_ref(v_xs_2058_);
v___x_2072_ = l_Array_toSubarray___redArg(v_xs_2058_, v___x_2070_, v___x_2071_);
v___x_2073_ = l_Lean_RecursorVal_getFirstIndexIdx(v_a_2051_);
v___x_2074_ = lean_nat_add(v___x_2073_, v_numIndices_2053_);
lean_inc_ref(v_xs_2058_);
v___x_2075_ = l_Array_toSubarray___redArg(v_xs_2058_, v___x_2073_, v___x_2074_);
v___x_2076_ = l_Lean_RecursorVal_getMajorIdx(v_a_2051_);
v___x_2077_ = lean_array_get(v___x_2054_, v_xs_2058_, v___x_2076_);
lean_dec(v___x_2076_);
lean_dec_ref(v_xs_2058_);
v___x_2078_ = lean_box(0);
v___x_2079_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__2, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__2_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__2);
v___x_2080_ = l_Subarray_copy___redArg(v___x_2067_);
lean_inc_ref(v___x_2080_);
v___f_2081_ = lean_alloc_closure((void*)(l_Lean_Meta_mkSizeOfFn___lam__5___boxed), 18, 12);
lean_closure_set(v___f_2081_, 0, v___x_2069_);
lean_closure_set(v___f_2081_, 1, v___x_2065_);
lean_closure_set(v___f_2081_, 2, v___x_2078_);
lean_closure_set(v___f_2081_, 3, v_recName_2055_);
lean_closure_set(v___f_2081_, 4, v___x_2080_);
lean_closure_set(v___f_2081_, 5, v___x_2075_);
lean_closure_set(v___f_2081_, 6, v___x_2077_);
lean_closure_set(v___f_2081_, 7, v___x_2079_);
lean_closure_set(v___f_2081_, 8, v_cls_2056_);
lean_closure_set(v___f_2081_, 9, v_declName_2057_);
lean_closure_set(v___f_2081_, 10, v___x_2072_);
lean_closure_set(v___f_2081_, 11, v_numMinors_2052_);
v___x_2082_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances___redArg(v___x_2080_, v___f_2081_, v___y_2060_, v___y_2061_, v___y_2062_, v___y_2063_);
return v___x_2082_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lam__6___boxed(lean_object** _args){
lean_object* v_levelParams_2083_ = _args[0];
lean_object* v_numParams_2084_ = _args[1];
lean_object* v_numMotives_2085_ = _args[2];
lean_object* v_a_2086_ = _args[3];
lean_object* v_numMinors_2087_ = _args[4];
lean_object* v_numIndices_2088_ = _args[5];
lean_object* v___x_2089_ = _args[6];
lean_object* v_recName_2090_ = _args[7];
lean_object* v_cls_2091_ = _args[8];
lean_object* v_declName_2092_ = _args[9];
lean_object* v_xs_2093_ = _args[10];
lean_object* v_x_2094_ = _args[11];
lean_object* v___y_2095_ = _args[12];
lean_object* v___y_2096_ = _args[13];
lean_object* v___y_2097_ = _args[14];
lean_object* v___y_2098_ = _args[15];
lean_object* v___y_2099_ = _args[16];
_start:
{
lean_object* v_res_2100_; 
v_res_2100_ = l_Lean_Meta_mkSizeOfFn___lam__6(v_levelParams_2083_, v_numParams_2084_, v_numMotives_2085_, v_a_2086_, v_numMinors_2087_, v_numIndices_2088_, v___x_2089_, v_recName_2090_, v_cls_2091_, v_declName_2092_, v_xs_2093_, v_x_2094_, v___y_2095_, v___y_2096_, v___y_2097_, v___y_2098_);
lean_dec_ref(v_x_2094_);
lean_dec(v_numIndices_2088_);
lean_dec_ref(v_a_2086_);
lean_dec(v_numMotives_2085_);
lean_dec(v_levelParams_2083_);
return v_res_2100_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__0___redArg(lean_object* v_msg_2101_, lean_object* v___y_2102_, lean_object* v___y_2103_, lean_object* v___y_2104_, lean_object* v___y_2105_){
_start:
{
lean_object* v_ref_2107_; lean_object* v___x_2108_; lean_object* v_a_2109_; lean_object* v___x_2111_; uint8_t v_isShared_2112_; uint8_t v_isSharedCheck_2117_; 
v_ref_2107_ = lean_ctor_get(v___y_2104_, 5);
v___x_2108_ = l_Lean_addMessageContextFull___at___00Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1_spec__1(v_msg_2101_, v___y_2102_, v___y_2103_, v___y_2104_, v___y_2105_);
v_a_2109_ = lean_ctor_get(v___x_2108_, 0);
v_isSharedCheck_2117_ = !lean_is_exclusive(v___x_2108_);
if (v_isSharedCheck_2117_ == 0)
{
v___x_2111_ = v___x_2108_;
v_isShared_2112_ = v_isSharedCheck_2117_;
goto v_resetjp_2110_;
}
else
{
lean_inc(v_a_2109_);
lean_dec(v___x_2108_);
v___x_2111_ = lean_box(0);
v_isShared_2112_ = v_isSharedCheck_2117_;
goto v_resetjp_2110_;
}
v_resetjp_2110_:
{
lean_object* v___x_2113_; lean_object* v___x_2115_; 
lean_inc(v_ref_2107_);
v___x_2113_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_2113_, 0, v_ref_2107_);
lean_ctor_set(v___x_2113_, 1, v_a_2109_);
if (v_isShared_2112_ == 0)
{
lean_ctor_set_tag(v___x_2111_, 1);
lean_ctor_set(v___x_2111_, 0, v___x_2113_);
v___x_2115_ = v___x_2111_;
goto v_reusejp_2114_;
}
else
{
lean_object* v_reuseFailAlloc_2116_; 
v_reuseFailAlloc_2116_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2116_, 0, v___x_2113_);
v___x_2115_ = v_reuseFailAlloc_2116_;
goto v_reusejp_2114_;
}
v_reusejp_2114_:
{
return v___x_2115_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__0___redArg___boxed(lean_object* v_msg_2118_, lean_object* v___y_2119_, lean_object* v___y_2120_, lean_object* v___y_2121_, lean_object* v___y_2122_, lean_object* v___y_2123_){
_start:
{
lean_object* v_res_2124_; 
v_res_2124_ = l_Lean_throwError___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__0___redArg(v_msg_2118_, v___y_2119_, v___y_2120_, v___y_2121_, v___y_2122_);
lean_dec(v___y_2122_);
lean_dec_ref(v___y_2121_);
lean_dec(v___y_2120_);
lean_dec_ref(v___y_2119_);
return v_res_2124_;
}
}
static lean_object* _init_l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__0(void){
_start:
{
lean_object* v___x_2125_; 
v___x_2125_ = l_instMonadEST(lean_box(0), lean_box(0));
return v___x_2125_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1(lean_object* v_msg_2130_, lean_object* v___y_2131_, lean_object* v___y_2132_, lean_object* v___y_2133_, lean_object* v___y_2134_){
_start:
{
lean_object* v___x_2136_; lean_object* v___x_2137_; lean_object* v_toApplicative_2138_; lean_object* v___x_2140_; uint8_t v_isShared_2141_; uint8_t v_isSharedCheck_2199_; 
v___x_2136_ = lean_obj_once(&l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__0, &l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__0_once, _init_l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__0);
v___x_2137_ = l_ReaderT_instMonad___redArg(v___x_2136_);
v_toApplicative_2138_ = lean_ctor_get(v___x_2137_, 0);
v_isSharedCheck_2199_ = !lean_is_exclusive(v___x_2137_);
if (v_isSharedCheck_2199_ == 0)
{
lean_object* v_unused_2200_; 
v_unused_2200_ = lean_ctor_get(v___x_2137_, 1);
lean_dec(v_unused_2200_);
v___x_2140_ = v___x_2137_;
v_isShared_2141_ = v_isSharedCheck_2199_;
goto v_resetjp_2139_;
}
else
{
lean_inc(v_toApplicative_2138_);
lean_dec(v___x_2137_);
v___x_2140_ = lean_box(0);
v_isShared_2141_ = v_isSharedCheck_2199_;
goto v_resetjp_2139_;
}
v_resetjp_2139_:
{
lean_object* v_toFunctor_2142_; lean_object* v_toSeq_2143_; lean_object* v_toSeqLeft_2144_; lean_object* v_toSeqRight_2145_; lean_object* v___x_2147_; uint8_t v_isShared_2148_; uint8_t v_isSharedCheck_2197_; 
v_toFunctor_2142_ = lean_ctor_get(v_toApplicative_2138_, 0);
v_toSeq_2143_ = lean_ctor_get(v_toApplicative_2138_, 2);
v_toSeqLeft_2144_ = lean_ctor_get(v_toApplicative_2138_, 3);
v_toSeqRight_2145_ = lean_ctor_get(v_toApplicative_2138_, 4);
v_isSharedCheck_2197_ = !lean_is_exclusive(v_toApplicative_2138_);
if (v_isSharedCheck_2197_ == 0)
{
lean_object* v_unused_2198_; 
v_unused_2198_ = lean_ctor_get(v_toApplicative_2138_, 1);
lean_dec(v_unused_2198_);
v___x_2147_ = v_toApplicative_2138_;
v_isShared_2148_ = v_isSharedCheck_2197_;
goto v_resetjp_2146_;
}
else
{
lean_inc(v_toSeqRight_2145_);
lean_inc(v_toSeqLeft_2144_);
lean_inc(v_toSeq_2143_);
lean_inc(v_toFunctor_2142_);
lean_dec(v_toApplicative_2138_);
v___x_2147_ = lean_box(0);
v_isShared_2148_ = v_isSharedCheck_2197_;
goto v_resetjp_2146_;
}
v_resetjp_2146_:
{
lean_object* v___f_2149_; lean_object* v___f_2150_; lean_object* v___f_2151_; lean_object* v___f_2152_; lean_object* v___x_2153_; lean_object* v___f_2154_; lean_object* v___f_2155_; lean_object* v___f_2156_; lean_object* v___x_2158_; 
v___f_2149_ = ((lean_object*)(l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__1));
v___f_2150_ = ((lean_object*)(l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__2));
lean_inc_ref(v_toFunctor_2142_);
v___f_2151_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1);
lean_closure_set(v___f_2151_, 0, v_toFunctor_2142_);
v___f_2152_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_2152_, 0, v_toFunctor_2142_);
v___x_2153_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_2153_, 0, v___f_2151_);
lean_ctor_set(v___x_2153_, 1, v___f_2152_);
v___f_2154_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_2154_, 0, v_toSeqRight_2145_);
v___f_2155_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1);
lean_closure_set(v___f_2155_, 0, v_toSeqLeft_2144_);
v___f_2156_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1);
lean_closure_set(v___f_2156_, 0, v_toSeq_2143_);
if (v_isShared_2148_ == 0)
{
lean_ctor_set(v___x_2147_, 4, v___f_2154_);
lean_ctor_set(v___x_2147_, 3, v___f_2155_);
lean_ctor_set(v___x_2147_, 2, v___f_2156_);
lean_ctor_set(v___x_2147_, 1, v___f_2149_);
lean_ctor_set(v___x_2147_, 0, v___x_2153_);
v___x_2158_ = v___x_2147_;
goto v_reusejp_2157_;
}
else
{
lean_object* v_reuseFailAlloc_2196_; 
v_reuseFailAlloc_2196_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_2196_, 0, v___x_2153_);
lean_ctor_set(v_reuseFailAlloc_2196_, 1, v___f_2149_);
lean_ctor_set(v_reuseFailAlloc_2196_, 2, v___f_2156_);
lean_ctor_set(v_reuseFailAlloc_2196_, 3, v___f_2155_);
lean_ctor_set(v_reuseFailAlloc_2196_, 4, v___f_2154_);
v___x_2158_ = v_reuseFailAlloc_2196_;
goto v_reusejp_2157_;
}
v_reusejp_2157_:
{
lean_object* v___x_2160_; 
if (v_isShared_2141_ == 0)
{
lean_ctor_set(v___x_2140_, 1, v___f_2150_);
lean_ctor_set(v___x_2140_, 0, v___x_2158_);
v___x_2160_ = v___x_2140_;
goto v_reusejp_2159_;
}
else
{
lean_object* v_reuseFailAlloc_2195_; 
v_reuseFailAlloc_2195_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2195_, 0, v___x_2158_);
lean_ctor_set(v_reuseFailAlloc_2195_, 1, v___f_2150_);
v___x_2160_ = v_reuseFailAlloc_2195_;
goto v_reusejp_2159_;
}
v_reusejp_2159_:
{
lean_object* v___x_2161_; lean_object* v_toApplicative_2162_; lean_object* v___x_2164_; uint8_t v_isShared_2165_; uint8_t v_isSharedCheck_2193_; 
v___x_2161_ = l_ReaderT_instMonad___redArg(v___x_2160_);
v_toApplicative_2162_ = lean_ctor_get(v___x_2161_, 0);
v_isSharedCheck_2193_ = !lean_is_exclusive(v___x_2161_);
if (v_isSharedCheck_2193_ == 0)
{
lean_object* v_unused_2194_; 
v_unused_2194_ = lean_ctor_get(v___x_2161_, 1);
lean_dec(v_unused_2194_);
v___x_2164_ = v___x_2161_;
v_isShared_2165_ = v_isSharedCheck_2193_;
goto v_resetjp_2163_;
}
else
{
lean_inc(v_toApplicative_2162_);
lean_dec(v___x_2161_);
v___x_2164_ = lean_box(0);
v_isShared_2165_ = v_isSharedCheck_2193_;
goto v_resetjp_2163_;
}
v_resetjp_2163_:
{
lean_object* v_toFunctor_2166_; lean_object* v_toSeq_2167_; lean_object* v_toSeqLeft_2168_; lean_object* v_toSeqRight_2169_; lean_object* v___x_2171_; uint8_t v_isShared_2172_; uint8_t v_isSharedCheck_2191_; 
v_toFunctor_2166_ = lean_ctor_get(v_toApplicative_2162_, 0);
v_toSeq_2167_ = lean_ctor_get(v_toApplicative_2162_, 2);
v_toSeqLeft_2168_ = lean_ctor_get(v_toApplicative_2162_, 3);
v_toSeqRight_2169_ = lean_ctor_get(v_toApplicative_2162_, 4);
v_isSharedCheck_2191_ = !lean_is_exclusive(v_toApplicative_2162_);
if (v_isSharedCheck_2191_ == 0)
{
lean_object* v_unused_2192_; 
v_unused_2192_ = lean_ctor_get(v_toApplicative_2162_, 1);
lean_dec(v_unused_2192_);
v___x_2171_ = v_toApplicative_2162_;
v_isShared_2172_ = v_isSharedCheck_2191_;
goto v_resetjp_2170_;
}
else
{
lean_inc(v_toSeqRight_2169_);
lean_inc(v_toSeqLeft_2168_);
lean_inc(v_toSeq_2167_);
lean_inc(v_toFunctor_2166_);
lean_dec(v_toApplicative_2162_);
v___x_2171_ = lean_box(0);
v_isShared_2172_ = v_isSharedCheck_2191_;
goto v_resetjp_2170_;
}
v_resetjp_2170_:
{
lean_object* v___f_2173_; lean_object* v___f_2174_; lean_object* v___f_2175_; lean_object* v___f_2176_; lean_object* v___x_2177_; lean_object* v___f_2178_; lean_object* v___f_2179_; lean_object* v___f_2180_; lean_object* v___x_2182_; 
v___f_2173_ = ((lean_object*)(l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__3));
v___f_2174_ = ((lean_object*)(l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__4));
lean_inc_ref(v_toFunctor_2166_);
v___f_2175_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1);
lean_closure_set(v___f_2175_, 0, v_toFunctor_2166_);
v___f_2176_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_2176_, 0, v_toFunctor_2166_);
v___x_2177_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_2177_, 0, v___f_2175_);
lean_ctor_set(v___x_2177_, 1, v___f_2176_);
v___f_2178_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_2178_, 0, v_toSeqRight_2169_);
v___f_2179_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1);
lean_closure_set(v___f_2179_, 0, v_toSeqLeft_2168_);
v___f_2180_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1);
lean_closure_set(v___f_2180_, 0, v_toSeq_2167_);
if (v_isShared_2172_ == 0)
{
lean_ctor_set(v___x_2171_, 4, v___f_2178_);
lean_ctor_set(v___x_2171_, 3, v___f_2179_);
lean_ctor_set(v___x_2171_, 2, v___f_2180_);
lean_ctor_set(v___x_2171_, 1, v___f_2173_);
lean_ctor_set(v___x_2171_, 0, v___x_2177_);
v___x_2182_ = v___x_2171_;
goto v_reusejp_2181_;
}
else
{
lean_object* v_reuseFailAlloc_2190_; 
v_reuseFailAlloc_2190_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_2190_, 0, v___x_2177_);
lean_ctor_set(v_reuseFailAlloc_2190_, 1, v___f_2173_);
lean_ctor_set(v_reuseFailAlloc_2190_, 2, v___f_2180_);
lean_ctor_set(v_reuseFailAlloc_2190_, 3, v___f_2179_);
lean_ctor_set(v_reuseFailAlloc_2190_, 4, v___f_2178_);
v___x_2182_ = v_reuseFailAlloc_2190_;
goto v_reusejp_2181_;
}
v_reusejp_2181_:
{
lean_object* v___x_2184_; 
if (v_isShared_2165_ == 0)
{
lean_ctor_set(v___x_2164_, 1, v___f_2174_);
lean_ctor_set(v___x_2164_, 0, v___x_2182_);
v___x_2184_ = v___x_2164_;
goto v_reusejp_2183_;
}
else
{
lean_object* v_reuseFailAlloc_2189_; 
v_reuseFailAlloc_2189_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2189_, 0, v___x_2182_);
lean_ctor_set(v_reuseFailAlloc_2189_, 1, v___f_2174_);
v___x_2184_ = v_reuseFailAlloc_2189_;
goto v_reusejp_2183_;
}
v_reusejp_2183_:
{
lean_object* v___x_2185_; lean_object* v___x_2186_; lean_object* v___x_7424__overap_2187_; lean_object* v___x_2188_; 
v___x_2185_ = lean_box(0);
v___x_2186_ = l_instInhabitedOfMonad___redArg(v___x_2184_, v___x_2185_);
v___x_7424__overap_2187_ = lean_panic_fn(v___x_2186_, v_msg_2130_);
v___x_2188_ = lean_apply_5(v___x_7424__overap_2187_, v___y_2131_, v___y_2132_, v___y_2133_, v___y_2134_, lean_box(0));
return v___x_2188_;
}
}
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___boxed(lean_object* v_msg_2201_, lean_object* v___y_2202_, lean_object* v___y_2203_, lean_object* v___y_2204_, lean_object* v___y_2205_, lean_object* v___y_2206_){
_start:
{
lean_object* v_res_2207_; 
v_res_2207_ = l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1(v_msg_2201_, v___y_2202_, v___y_2203_, v___y_2204_, v___y_2205_);
return v_res_2207_;
}
}
static lean_object* _init_l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__1(void){
_start:
{
lean_object* v___x_2209_; lean_object* v___x_2210_; 
v___x_2209_ = ((lean_object*)(l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__0));
v___x_2210_ = l_Lean_stringToMessageData(v___x_2209_);
return v___x_2210_;
}
}
static lean_object* _init_l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__3(void){
_start:
{
lean_object* v___x_2212_; lean_object* v___x_2213_; 
v___x_2212_ = ((lean_object*)(l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__2));
v___x_2213_ = l_Lean_stringToMessageData(v___x_2212_);
return v___x_2213_;
}
}
static lean_object* _init_l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__7(void){
_start:
{
lean_object* v___x_2217_; lean_object* v___x_2218_; lean_object* v___x_2219_; lean_object* v___x_2220_; lean_object* v___x_2221_; lean_object* v___x_2222_; 
v___x_2217_ = ((lean_object*)(l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__6));
v___x_2218_ = lean_unsigned_to_nat(11u);
v___x_2219_ = lean_unsigned_to_nat(129u);
v___x_2220_ = ((lean_object*)(l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__5));
v___x_2221_ = ((lean_object*)(l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__4));
v___x_2222_ = l_mkPanicMessageWithDecl(v___x_2221_, v___x_2220_, v___x_2219_, v___x_2218_, v___x_2217_);
return v___x_2222_;
}
}
LEAN_EXPORT lean_object* l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0(lean_object* v_constName_2223_, lean_object* v___y_2224_, lean_object* v___y_2225_, lean_object* v___y_2226_, lean_object* v___y_2227_){
_start:
{
lean_object* v___x_2237_; lean_object* v_env_2238_; uint8_t v___x_2239_; lean_object* v___x_2240_; 
v___x_2237_ = lean_st_ref_get(v___y_2227_);
v_env_2238_ = lean_ctor_get(v___x_2237_, 0);
lean_inc_ref(v_env_2238_);
lean_dec(v___x_2237_);
v___x_2239_ = 0;
lean_inc(v_constName_2223_);
v___x_2240_ = l_Lean_Environment_findAsync_x3f(v_env_2238_, v_constName_2223_, v___x_2239_);
if (lean_obj_tag(v___x_2240_) == 1)
{
lean_object* v_val_2241_; uint8_t v_kind_2242_; 
v_val_2241_ = lean_ctor_get(v___x_2240_, 0);
lean_inc(v_val_2241_);
lean_dec_ref(v___x_2240_);
v_kind_2242_ = lean_ctor_get_uint8(v_val_2241_, sizeof(void*)*3);
if (v_kind_2242_ == 7)
{
lean_object* v___x_2243_; 
v___x_2243_ = l_Lean_AsyncConstantInfo_toConstantInfo(v_val_2241_);
if (lean_obj_tag(v___x_2243_) == 7)
{
lean_object* v_val_2244_; lean_object* v___x_2246_; uint8_t v_isShared_2247_; uint8_t v_isSharedCheck_2251_; 
lean_dec(v___y_2227_);
lean_dec_ref(v___y_2226_);
lean_dec(v___y_2225_);
lean_dec_ref(v___y_2224_);
lean_dec(v_constName_2223_);
v_val_2244_ = lean_ctor_get(v___x_2243_, 0);
v_isSharedCheck_2251_ = !lean_is_exclusive(v___x_2243_);
if (v_isSharedCheck_2251_ == 0)
{
v___x_2246_ = v___x_2243_;
v_isShared_2247_ = v_isSharedCheck_2251_;
goto v_resetjp_2245_;
}
else
{
lean_inc(v_val_2244_);
lean_dec(v___x_2243_);
v___x_2246_ = lean_box(0);
v_isShared_2247_ = v_isSharedCheck_2251_;
goto v_resetjp_2245_;
}
v_resetjp_2245_:
{
lean_object* v___x_2249_; 
if (v_isShared_2247_ == 0)
{
lean_ctor_set_tag(v___x_2246_, 0);
v___x_2249_ = v___x_2246_;
goto v_reusejp_2248_;
}
else
{
lean_object* v_reuseFailAlloc_2250_; 
v_reuseFailAlloc_2250_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2250_, 0, v_val_2244_);
v___x_2249_ = v_reuseFailAlloc_2250_;
goto v_reusejp_2248_;
}
v_reusejp_2248_:
{
return v___x_2249_;
}
}
}
else
{
lean_object* v___x_2252_; lean_object* v___x_2253_; 
lean_dec_ref(v___x_2243_);
v___x_2252_ = lean_obj_once(&l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__7, &l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__7_once, _init_l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__7);
lean_inc(v___y_2227_);
lean_inc_ref(v___y_2226_);
lean_inc(v___y_2225_);
lean_inc_ref(v___y_2224_);
v___x_2253_ = l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1(v___x_2252_, v___y_2224_, v___y_2225_, v___y_2226_, v___y_2227_);
if (lean_obj_tag(v___x_2253_) == 0)
{
lean_object* v_a_2254_; lean_object* v___x_2256_; uint8_t v_isShared_2257_; uint8_t v_isSharedCheck_2262_; 
v_a_2254_ = lean_ctor_get(v___x_2253_, 0);
v_isSharedCheck_2262_ = !lean_is_exclusive(v___x_2253_);
if (v_isSharedCheck_2262_ == 0)
{
v___x_2256_ = v___x_2253_;
v_isShared_2257_ = v_isSharedCheck_2262_;
goto v_resetjp_2255_;
}
else
{
lean_inc(v_a_2254_);
lean_dec(v___x_2253_);
v___x_2256_ = lean_box(0);
v_isShared_2257_ = v_isSharedCheck_2262_;
goto v_resetjp_2255_;
}
v_resetjp_2255_:
{
if (lean_obj_tag(v_a_2254_) == 0)
{
lean_del_object(v___x_2256_);
goto v___jp_2229_;
}
else
{
lean_object* v_val_2258_; lean_object* v___x_2260_; 
lean_dec(v___y_2227_);
lean_dec_ref(v___y_2226_);
lean_dec(v___y_2225_);
lean_dec_ref(v___y_2224_);
lean_dec(v_constName_2223_);
v_val_2258_ = lean_ctor_get(v_a_2254_, 0);
lean_inc(v_val_2258_);
lean_dec_ref(v_a_2254_);
if (v_isShared_2257_ == 0)
{
lean_ctor_set(v___x_2256_, 0, v_val_2258_);
v___x_2260_ = v___x_2256_;
goto v_reusejp_2259_;
}
else
{
lean_object* v_reuseFailAlloc_2261_; 
v_reuseFailAlloc_2261_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2261_, 0, v_val_2258_);
v___x_2260_ = v_reuseFailAlloc_2261_;
goto v_reusejp_2259_;
}
v_reusejp_2259_:
{
return v___x_2260_;
}
}
}
}
else
{
lean_object* v_a_2263_; lean_object* v___x_2265_; uint8_t v_isShared_2266_; uint8_t v_isSharedCheck_2270_; 
lean_dec(v___y_2227_);
lean_dec_ref(v___y_2226_);
lean_dec(v___y_2225_);
lean_dec_ref(v___y_2224_);
lean_dec(v_constName_2223_);
v_a_2263_ = lean_ctor_get(v___x_2253_, 0);
v_isSharedCheck_2270_ = !lean_is_exclusive(v___x_2253_);
if (v_isSharedCheck_2270_ == 0)
{
v___x_2265_ = v___x_2253_;
v_isShared_2266_ = v_isSharedCheck_2270_;
goto v_resetjp_2264_;
}
else
{
lean_inc(v_a_2263_);
lean_dec(v___x_2253_);
v___x_2265_ = lean_box(0);
v_isShared_2266_ = v_isSharedCheck_2270_;
goto v_resetjp_2264_;
}
v_resetjp_2264_:
{
lean_object* v___x_2268_; 
if (v_isShared_2266_ == 0)
{
v___x_2268_ = v___x_2265_;
goto v_reusejp_2267_;
}
else
{
lean_object* v_reuseFailAlloc_2269_; 
v_reuseFailAlloc_2269_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2269_, 0, v_a_2263_);
v___x_2268_ = v_reuseFailAlloc_2269_;
goto v_reusejp_2267_;
}
v_reusejp_2267_:
{
return v___x_2268_;
}
}
}
}
}
else
{
lean_dec(v_val_2241_);
goto v___jp_2229_;
}
}
else
{
lean_dec(v___x_2240_);
goto v___jp_2229_;
}
v___jp_2229_:
{
lean_object* v___x_2230_; uint8_t v___x_2231_; lean_object* v___x_2232_; lean_object* v___x_2233_; lean_object* v___x_2234_; lean_object* v___x_2235_; lean_object* v___x_2236_; 
v___x_2230_ = lean_obj_once(&l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__1, &l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__1_once, _init_l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__1);
v___x_2231_ = 0;
v___x_2232_ = l_Lean_MessageData_ofConstName(v_constName_2223_, v___x_2231_);
v___x_2233_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2233_, 0, v___x_2230_);
lean_ctor_set(v___x_2233_, 1, v___x_2232_);
v___x_2234_ = lean_obj_once(&l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__3, &l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__3_once, _init_l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__3);
v___x_2235_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2235_, 0, v___x_2233_);
lean_ctor_set(v___x_2235_, 1, v___x_2234_);
v___x_2236_ = l_Lean_throwError___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__0___redArg(v___x_2235_, v___y_2224_, v___y_2225_, v___y_2226_, v___y_2227_);
lean_dec(v___y_2227_);
lean_dec_ref(v___y_2226_);
lean_dec(v___y_2225_);
lean_dec_ref(v___y_2224_);
return v___x_2236_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___boxed(lean_object* v_constName_2271_, lean_object* v___y_2272_, lean_object* v___y_2273_, lean_object* v___y_2274_, lean_object* v___y_2275_, lean_object* v___y_2276_){
_start:
{
lean_object* v_res_2277_; 
v_res_2277_ = l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0(v_constName_2271_, v___y_2272_, v___y_2273_, v___y_2274_, v___y_2275_);
return v_res_2277_;
}
}
static lean_object* _init_l_Lean_Meta_mkSizeOfFn___closed__1(void){
_start:
{
lean_object* v___x_2279_; lean_object* v___x_2280_; 
v___x_2279_ = ((lean_object*)(l_Lean_Meta_mkSizeOfFn___closed__0));
v___x_2280_ = l_Lean_stringToMessageData(v___x_2279_);
return v___x_2280_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn(lean_object* v_recName_2281_, lean_object* v_declName_2282_, lean_object* v_a_2283_, lean_object* v_a_2284_, lean_object* v_a_2285_, lean_object* v_a_2286_){
_start:
{
lean_object* v_cls_2288_; lean_object* v___x_2289_; lean_object* v_a_2290_; lean_object* v___x_2291_; lean_object* v___y_2293_; lean_object* v___y_2294_; lean_object* v___y_2295_; lean_object* v___y_2296_; uint8_t v___x_2317_; 
v_cls_2288_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__2));
v___x_2289_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg(v_cls_2288_, v_a_2285_);
v_a_2290_ = lean_ctor_get(v___x_2289_, 0);
lean_inc(v_a_2290_);
lean_dec_ref(v___x_2289_);
v___x_2291_ = l_Lean_instInhabitedExpr;
v___x_2317_ = lean_unbox(v_a_2290_);
lean_dec(v_a_2290_);
if (v___x_2317_ == 0)
{
v___y_2293_ = v_a_2283_;
v___y_2294_ = v_a_2284_;
v___y_2295_ = v_a_2285_;
v___y_2296_ = v_a_2286_;
goto v___jp_2292_;
}
else
{
lean_object* v___x_2318_; lean_object* v___x_2319_; lean_object* v___x_2320_; lean_object* v___x_2321_; 
v___x_2318_ = lean_obj_once(&l_Lean_Meta_mkSizeOfFn___closed__1, &l_Lean_Meta_mkSizeOfFn___closed__1_once, _init_l_Lean_Meta_mkSizeOfFn___closed__1);
lean_inc(v_recName_2281_);
v___x_2319_ = l_Lean_MessageData_ofName(v_recName_2281_);
v___x_2320_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2320_, 0, v___x_2318_);
lean_ctor_set(v___x_2320_, 1, v___x_2319_);
v___x_2321_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1(v_cls_2288_, v___x_2320_, v_a_2283_, v_a_2284_, v_a_2285_, v_a_2286_);
if (lean_obj_tag(v___x_2321_) == 0)
{
lean_dec_ref(v___x_2321_);
v___y_2293_ = v_a_2283_;
v___y_2294_ = v_a_2284_;
v___y_2295_ = v_a_2285_;
v___y_2296_ = v_a_2286_;
goto v___jp_2292_;
}
else
{
lean_dec(v_a_2286_);
lean_dec_ref(v_a_2285_);
lean_dec(v_a_2284_);
lean_dec_ref(v_a_2283_);
lean_dec(v_declName_2282_);
lean_dec(v_recName_2281_);
return v___x_2321_;
}
}
v___jp_2292_:
{
lean_object* v___x_2297_; 
lean_inc(v___y_2296_);
lean_inc_ref(v___y_2295_);
lean_inc(v___y_2294_);
lean_inc_ref(v___y_2293_);
lean_inc(v_recName_2281_);
v___x_2297_ = l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0(v_recName_2281_, v___y_2293_, v___y_2294_, v___y_2295_, v___y_2296_);
if (lean_obj_tag(v___x_2297_) == 0)
{
lean_object* v_a_2298_; lean_object* v_toConstantVal_2299_; lean_object* v_numParams_2300_; lean_object* v_numIndices_2301_; lean_object* v_numMotives_2302_; lean_object* v_numMinors_2303_; lean_object* v_levelParams_2304_; lean_object* v_type_2305_; lean_object* v___f_2306_; uint8_t v___x_2307_; lean_object* v___x_2308_; 
v_a_2298_ = lean_ctor_get(v___x_2297_, 0);
lean_inc(v_a_2298_);
lean_dec_ref(v___x_2297_);
v_toConstantVal_2299_ = lean_ctor_get(v_a_2298_, 0);
v_numParams_2300_ = lean_ctor_get(v_a_2298_, 2);
lean_inc(v_numParams_2300_);
v_numIndices_2301_ = lean_ctor_get(v_a_2298_, 3);
lean_inc(v_numIndices_2301_);
v_numMotives_2302_ = lean_ctor_get(v_a_2298_, 4);
lean_inc(v_numMotives_2302_);
v_numMinors_2303_ = lean_ctor_get(v_a_2298_, 5);
lean_inc(v_numMinors_2303_);
v_levelParams_2304_ = lean_ctor_get(v_toConstantVal_2299_, 1);
lean_inc(v_levelParams_2304_);
v_type_2305_ = lean_ctor_get(v_toConstantVal_2299_, 2);
lean_inc_ref(v_type_2305_);
v___f_2306_ = lean_alloc_closure((void*)(l_Lean_Meta_mkSizeOfFn___lam__6___boxed), 17, 10);
lean_closure_set(v___f_2306_, 0, v_levelParams_2304_);
lean_closure_set(v___f_2306_, 1, v_numParams_2300_);
lean_closure_set(v___f_2306_, 2, v_numMotives_2302_);
lean_closure_set(v___f_2306_, 3, v_a_2298_);
lean_closure_set(v___f_2306_, 4, v_numMinors_2303_);
lean_closure_set(v___f_2306_, 5, v_numIndices_2301_);
lean_closure_set(v___f_2306_, 6, v___x_2291_);
lean_closure_set(v___f_2306_, 7, v_recName_2281_);
lean_closure_set(v___f_2306_, 8, v_cls_2288_);
lean_closure_set(v___f_2306_, 9, v_declName_2282_);
v___x_2307_ = 0;
v___x_2308_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg(v_type_2305_, v___f_2306_, v___x_2307_, v___x_2307_, v___y_2293_, v___y_2294_, v___y_2295_, v___y_2296_);
return v___x_2308_;
}
else
{
lean_object* v_a_2309_; lean_object* v___x_2311_; uint8_t v_isShared_2312_; uint8_t v_isSharedCheck_2316_; 
lean_dec(v___y_2296_);
lean_dec_ref(v___y_2295_);
lean_dec(v___y_2294_);
lean_dec_ref(v___y_2293_);
lean_dec(v_declName_2282_);
lean_dec(v_recName_2281_);
v_a_2309_ = lean_ctor_get(v___x_2297_, 0);
v_isSharedCheck_2316_ = !lean_is_exclusive(v___x_2297_);
if (v_isSharedCheck_2316_ == 0)
{
v___x_2311_ = v___x_2297_;
v_isShared_2312_ = v_isSharedCheck_2316_;
goto v_resetjp_2310_;
}
else
{
lean_inc(v_a_2309_);
lean_dec(v___x_2297_);
v___x_2311_ = lean_box(0);
v_isShared_2312_ = v_isSharedCheck_2316_;
goto v_resetjp_2310_;
}
v_resetjp_2310_:
{
lean_object* v___x_2314_; 
if (v_isShared_2312_ == 0)
{
v___x_2314_ = v___x_2311_;
goto v_reusejp_2313_;
}
else
{
lean_object* v_reuseFailAlloc_2315_; 
v_reuseFailAlloc_2315_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2315_, 0, v_a_2309_);
v___x_2314_ = v_reuseFailAlloc_2315_;
goto v_reusejp_2313_;
}
v_reusejp_2313_:
{
return v___x_2314_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___boxed(lean_object* v_recName_2322_, lean_object* v_declName_2323_, lean_object* v_a_2324_, lean_object* v_a_2325_, lean_object* v_a_2326_, lean_object* v_a_2327_, lean_object* v_a_2328_){
_start:
{
lean_object* v_res_2329_; 
v_res_2329_ = l_Lean_Meta_mkSizeOfFn(v_recName_2322_, v_declName_2323_, v_a_2324_, v_a_2325_, v_a_2326_, v_a_2327_);
return v_res_2329_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__0(lean_object* v_00_u03b1_2330_, lean_object* v_msg_2331_, lean_object* v___y_2332_, lean_object* v___y_2333_, lean_object* v___y_2334_, lean_object* v___y_2335_){
_start:
{
lean_object* v___x_2337_; 
v___x_2337_ = l_Lean_throwError___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__0___redArg(v_msg_2331_, v___y_2332_, v___y_2333_, v___y_2334_, v___y_2335_);
return v___x_2337_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__0___boxed(lean_object* v_00_u03b1_2338_, lean_object* v_msg_2339_, lean_object* v___y_2340_, lean_object* v___y_2341_, lean_object* v___y_2342_, lean_object* v___y_2343_, lean_object* v___y_2344_){
_start:
{
lean_object* v_res_2345_; 
v_res_2345_ = l_Lean_throwError___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__0(v_00_u03b1_2338_, v_msg_2339_, v___y_2340_, v___y_2341_, v___y_2342_, v___y_2343_);
lean_dec(v___y_2343_);
lean_dec_ref(v___y_2342_);
lean_dec(v___y_2341_);
lean_dec_ref(v___y_2340_);
return v_res_2345_;
}
}
LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Meta_mkSizeOfFns_spec__2___redArg(lean_object* v_upperBound_2346_, lean_object* v___x_2347_, lean_object* v___x_2348_, lean_object* v_a_2349_, lean_object* v_b_2350_, lean_object* v___y_2351_, lean_object* v___y_2352_, lean_object* v___y_2353_, lean_object* v___y_2354_){
_start:
{
uint8_t v___x_2356_; 
v___x_2356_ = lean_nat_dec_lt(v_a_2349_, v_upperBound_2346_);
if (v___x_2356_ == 0)
{
lean_object* v___x_2357_; 
lean_dec(v___y_2354_);
lean_dec_ref(v___y_2353_);
lean_dec(v___y_2352_);
lean_dec_ref(v___y_2351_);
lean_dec(v_a_2349_);
lean_dec(v___x_2348_);
lean_dec(v___x_2347_);
v___x_2357_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2357_, 0, v_b_2350_);
return v___x_2357_;
}
else
{
lean_object* v_snd_2358_; lean_object* v_fst_2359_; lean_object* v___x_2361_; uint8_t v_isShared_2362_; uint8_t v_isSharedCheck_2393_; 
v_snd_2358_ = lean_ctor_get(v_b_2350_, 1);
v_fst_2359_ = lean_ctor_get(v_b_2350_, 0);
v_isSharedCheck_2393_ = !lean_is_exclusive(v_b_2350_);
if (v_isSharedCheck_2393_ == 0)
{
v___x_2361_ = v_b_2350_;
v_isShared_2362_ = v_isSharedCheck_2393_;
goto v_resetjp_2360_;
}
else
{
lean_inc(v_snd_2358_);
lean_inc(v_fst_2359_);
lean_dec(v_b_2350_);
v___x_2361_ = lean_box(0);
v_isShared_2362_ = v_isSharedCheck_2393_;
goto v_resetjp_2360_;
}
v_resetjp_2360_:
{
lean_object* v_fst_2363_; lean_object* v_snd_2364_; lean_object* v___x_2366_; uint8_t v_isShared_2367_; uint8_t v_isSharedCheck_2392_; 
v_fst_2363_ = lean_ctor_get(v_snd_2358_, 0);
v_snd_2364_ = lean_ctor_get(v_snd_2358_, 1);
v_isSharedCheck_2392_ = !lean_is_exclusive(v_snd_2358_);
if (v_isSharedCheck_2392_ == 0)
{
v___x_2366_ = v_snd_2358_;
v_isShared_2367_ = v_isSharedCheck_2392_;
goto v_resetjp_2365_;
}
else
{
lean_inc(v_snd_2364_);
lean_inc(v_fst_2363_);
lean_dec(v_snd_2358_);
v___x_2366_ = lean_box(0);
v_isShared_2367_ = v_isSharedCheck_2392_;
goto v_resetjp_2365_;
}
v_resetjp_2365_:
{
lean_object* v___x_2368_; lean_object* v___x_2369_; lean_object* v___x_2370_; lean_object* v___x_2371_; lean_object* v___x_2372_; lean_object* v___x_2373_; 
v___x_2368_ = lean_unsigned_to_nat(1u);
lean_inc(v___x_2347_);
v___x_2369_ = l_Lean_mkRecName(v___x_2347_);
v___x_2370_ = lean_nat_add(v_a_2349_, v___x_2368_);
lean_dec(v_a_2349_);
lean_inc(v___x_2370_);
v___x_2371_ = lean_name_append_index_after(v___x_2369_, v___x_2370_);
lean_inc(v_fst_2363_);
lean_inc(v___x_2348_);
v___x_2372_ = lean_name_append_index_after(v___x_2348_, v_fst_2363_);
lean_inc(v___y_2354_);
lean_inc_ref(v___y_2353_);
lean_inc(v___y_2352_);
lean_inc_ref(v___y_2351_);
lean_inc(v___x_2372_);
lean_inc(v___x_2371_);
v___x_2373_ = l_Lean_Meta_mkSizeOfFn(v___x_2371_, v___x_2372_, v___y_2351_, v___y_2352_, v___y_2353_, v___y_2354_);
if (lean_obj_tag(v___x_2373_) == 0)
{
lean_object* v___x_2374_; lean_object* v___x_2375_; lean_object* v___x_2376_; lean_object* v___x_2378_; 
lean_dec_ref(v___x_2373_);
lean_inc(v___x_2372_);
v___x_2374_ = l_Std_DTreeMap_Internal_Impl_insert___at___00Lean_NameMap_insert_spec__0___redArg(v___x_2371_, v___x_2372_, v_snd_2364_);
v___x_2375_ = lean_array_push(v_fst_2359_, v___x_2372_);
v___x_2376_ = lean_nat_add(v_fst_2363_, v___x_2368_);
lean_dec(v_fst_2363_);
if (v_isShared_2367_ == 0)
{
lean_ctor_set(v___x_2366_, 1, v___x_2374_);
lean_ctor_set(v___x_2366_, 0, v___x_2376_);
v___x_2378_ = v___x_2366_;
goto v_reusejp_2377_;
}
else
{
lean_object* v_reuseFailAlloc_2383_; 
v_reuseFailAlloc_2383_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2383_, 0, v___x_2376_);
lean_ctor_set(v_reuseFailAlloc_2383_, 1, v___x_2374_);
v___x_2378_ = v_reuseFailAlloc_2383_;
goto v_reusejp_2377_;
}
v_reusejp_2377_:
{
lean_object* v___x_2380_; 
if (v_isShared_2362_ == 0)
{
lean_ctor_set(v___x_2361_, 1, v___x_2378_);
lean_ctor_set(v___x_2361_, 0, v___x_2375_);
v___x_2380_ = v___x_2361_;
goto v_reusejp_2379_;
}
else
{
lean_object* v_reuseFailAlloc_2382_; 
v_reuseFailAlloc_2382_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2382_, 0, v___x_2375_);
lean_ctor_set(v_reuseFailAlloc_2382_, 1, v___x_2378_);
v___x_2380_ = v_reuseFailAlloc_2382_;
goto v_reusejp_2379_;
}
v_reusejp_2379_:
{
v_a_2349_ = v___x_2370_;
v_b_2350_ = v___x_2380_;
goto _start;
}
}
}
else
{
lean_object* v_a_2384_; lean_object* v___x_2386_; uint8_t v_isShared_2387_; uint8_t v_isSharedCheck_2391_; 
lean_dec(v___x_2372_);
lean_dec(v___x_2371_);
lean_dec(v___x_2370_);
lean_del_object(v___x_2366_);
lean_dec(v_snd_2364_);
lean_dec(v_fst_2363_);
lean_del_object(v___x_2361_);
lean_dec(v_fst_2359_);
lean_dec(v___y_2354_);
lean_dec_ref(v___y_2353_);
lean_dec(v___y_2352_);
lean_dec_ref(v___y_2351_);
lean_dec(v___x_2348_);
lean_dec(v___x_2347_);
v_a_2384_ = lean_ctor_get(v___x_2373_, 0);
v_isSharedCheck_2391_ = !lean_is_exclusive(v___x_2373_);
if (v_isSharedCheck_2391_ == 0)
{
v___x_2386_ = v___x_2373_;
v_isShared_2387_ = v_isSharedCheck_2391_;
goto v_resetjp_2385_;
}
else
{
lean_inc(v_a_2384_);
lean_dec(v___x_2373_);
v___x_2386_ = lean_box(0);
v_isShared_2387_ = v_isSharedCheck_2391_;
goto v_resetjp_2385_;
}
v_resetjp_2385_:
{
lean_object* v___x_2389_; 
if (v_isShared_2387_ == 0)
{
v___x_2389_ = v___x_2386_;
goto v_reusejp_2388_;
}
else
{
lean_object* v_reuseFailAlloc_2390_; 
v_reuseFailAlloc_2390_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2390_, 0, v_a_2384_);
v___x_2389_ = v_reuseFailAlloc_2390_;
goto v_reusejp_2388_;
}
v_reusejp_2388_:
{
return v___x_2389_;
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Meta_mkSizeOfFns_spec__2___redArg___boxed(lean_object* v_upperBound_2394_, lean_object* v___x_2395_, lean_object* v___x_2396_, lean_object* v_a_2397_, lean_object* v_b_2398_, lean_object* v___y_2399_, lean_object* v___y_2400_, lean_object* v___y_2401_, lean_object* v___y_2402_, lean_object* v___y_2403_){
_start:
{
lean_object* v_res_2404_; 
v_res_2404_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Meta_mkSizeOfFns_spec__2___redArg(v_upperBound_2394_, v___x_2395_, v___x_2396_, v_a_2397_, v_b_2398_, v___y_2399_, v___y_2400_, v___y_2401_, v___y_2402_);
lean_dec(v_upperBound_2394_);
return v_res_2404_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfFns_spec__1___redArg(lean_object* v___x_2405_, lean_object* v_as_x27_2406_, lean_object* v_b_2407_, lean_object* v___y_2408_, lean_object* v___y_2409_, lean_object* v___y_2410_, lean_object* v___y_2411_){
_start:
{
if (lean_obj_tag(v_as_x27_2406_) == 0)
{
lean_object* v___x_2413_; 
lean_dec(v___y_2411_);
lean_dec_ref(v___y_2410_);
lean_dec(v___y_2409_);
lean_dec_ref(v___y_2408_);
lean_dec(v___x_2405_);
v___x_2413_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2413_, 0, v_b_2407_);
return v___x_2413_;
}
else
{
lean_object* v_snd_2414_; lean_object* v_head_2415_; lean_object* v_tail_2416_; lean_object* v_fst_2417_; lean_object* v___x_2419_; uint8_t v_isShared_2420_; uint8_t v_isSharedCheck_2449_; 
v_snd_2414_ = lean_ctor_get(v_b_2407_, 1);
lean_inc(v_snd_2414_);
v_head_2415_ = lean_ctor_get(v_as_x27_2406_, 0);
lean_inc(v_head_2415_);
v_tail_2416_ = lean_ctor_get(v_as_x27_2406_, 1);
lean_inc(v_tail_2416_);
lean_dec_ref(v_as_x27_2406_);
v_fst_2417_ = lean_ctor_get(v_b_2407_, 0);
v_isSharedCheck_2449_ = !lean_is_exclusive(v_b_2407_);
if (v_isSharedCheck_2449_ == 0)
{
lean_object* v_unused_2450_; 
v_unused_2450_ = lean_ctor_get(v_b_2407_, 1);
lean_dec(v_unused_2450_);
v___x_2419_ = v_b_2407_;
v_isShared_2420_ = v_isSharedCheck_2449_;
goto v_resetjp_2418_;
}
else
{
lean_inc(v_fst_2417_);
lean_dec(v_b_2407_);
v___x_2419_ = lean_box(0);
v_isShared_2420_ = v_isSharedCheck_2449_;
goto v_resetjp_2418_;
}
v_resetjp_2418_:
{
lean_object* v_fst_2421_; lean_object* v_snd_2422_; lean_object* v___x_2424_; uint8_t v_isShared_2425_; uint8_t v_isSharedCheck_2448_; 
v_fst_2421_ = lean_ctor_get(v_snd_2414_, 0);
v_snd_2422_ = lean_ctor_get(v_snd_2414_, 1);
v_isSharedCheck_2448_ = !lean_is_exclusive(v_snd_2414_);
if (v_isSharedCheck_2448_ == 0)
{
v___x_2424_ = v_snd_2414_;
v_isShared_2425_ = v_isSharedCheck_2448_;
goto v_resetjp_2423_;
}
else
{
lean_inc(v_snd_2422_);
lean_inc(v_fst_2421_);
lean_dec(v_snd_2414_);
v___x_2424_ = lean_box(0);
v_isShared_2425_ = v_isSharedCheck_2448_;
goto v_resetjp_2423_;
}
v_resetjp_2423_:
{
lean_object* v___x_2426_; lean_object* v___x_2427_; lean_object* v___x_2428_; 
lean_inc(v_fst_2421_);
lean_inc(v___x_2405_);
v___x_2426_ = lean_name_append_index_after(v___x_2405_, v_fst_2421_);
v___x_2427_ = l_Lean_mkRecName(v_head_2415_);
lean_inc(v___y_2411_);
lean_inc_ref(v___y_2410_);
lean_inc(v___y_2409_);
lean_inc_ref(v___y_2408_);
lean_inc(v___x_2426_);
lean_inc(v___x_2427_);
v___x_2428_ = l_Lean_Meta_mkSizeOfFn(v___x_2427_, v___x_2426_, v___y_2408_, v___y_2409_, v___y_2410_, v___y_2411_);
if (lean_obj_tag(v___x_2428_) == 0)
{
lean_object* v___x_2429_; lean_object* v___x_2430_; lean_object* v___x_2431_; lean_object* v___x_2432_; lean_object* v___x_2434_; 
lean_dec_ref(v___x_2428_);
v___x_2429_ = lean_unsigned_to_nat(1u);
lean_inc(v___x_2426_);
v___x_2430_ = l_Std_DTreeMap_Internal_Impl_insert___at___00Lean_NameMap_insert_spec__0___redArg(v___x_2427_, v___x_2426_, v_snd_2422_);
v___x_2431_ = lean_array_push(v_fst_2417_, v___x_2426_);
v___x_2432_ = lean_nat_add(v_fst_2421_, v___x_2429_);
lean_dec(v_fst_2421_);
if (v_isShared_2425_ == 0)
{
lean_ctor_set(v___x_2424_, 1, v___x_2430_);
lean_ctor_set(v___x_2424_, 0, v___x_2432_);
v___x_2434_ = v___x_2424_;
goto v_reusejp_2433_;
}
else
{
lean_object* v_reuseFailAlloc_2439_; 
v_reuseFailAlloc_2439_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2439_, 0, v___x_2432_);
lean_ctor_set(v_reuseFailAlloc_2439_, 1, v___x_2430_);
v___x_2434_ = v_reuseFailAlloc_2439_;
goto v_reusejp_2433_;
}
v_reusejp_2433_:
{
lean_object* v___x_2436_; 
if (v_isShared_2420_ == 0)
{
lean_ctor_set(v___x_2419_, 1, v___x_2434_);
lean_ctor_set(v___x_2419_, 0, v___x_2431_);
v___x_2436_ = v___x_2419_;
goto v_reusejp_2435_;
}
else
{
lean_object* v_reuseFailAlloc_2438_; 
v_reuseFailAlloc_2438_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2438_, 0, v___x_2431_);
lean_ctor_set(v_reuseFailAlloc_2438_, 1, v___x_2434_);
v___x_2436_ = v_reuseFailAlloc_2438_;
goto v_reusejp_2435_;
}
v_reusejp_2435_:
{
v_as_x27_2406_ = v_tail_2416_;
v_b_2407_ = v___x_2436_;
goto _start;
}
}
}
else
{
lean_object* v_a_2440_; lean_object* v___x_2442_; uint8_t v_isShared_2443_; uint8_t v_isSharedCheck_2447_; 
lean_dec(v___x_2427_);
lean_dec(v___x_2426_);
lean_del_object(v___x_2424_);
lean_dec(v_snd_2422_);
lean_dec(v_fst_2421_);
lean_del_object(v___x_2419_);
lean_dec(v_fst_2417_);
lean_dec(v_tail_2416_);
lean_dec(v___y_2411_);
lean_dec_ref(v___y_2410_);
lean_dec(v___y_2409_);
lean_dec_ref(v___y_2408_);
lean_dec(v___x_2405_);
v_a_2440_ = lean_ctor_get(v___x_2428_, 0);
v_isSharedCheck_2447_ = !lean_is_exclusive(v___x_2428_);
if (v_isSharedCheck_2447_ == 0)
{
v___x_2442_ = v___x_2428_;
v_isShared_2443_ = v_isSharedCheck_2447_;
goto v_resetjp_2441_;
}
else
{
lean_inc(v_a_2440_);
lean_dec(v___x_2428_);
v___x_2442_ = lean_box(0);
v_isShared_2443_ = v_isSharedCheck_2447_;
goto v_resetjp_2441_;
}
v_resetjp_2441_:
{
lean_object* v___x_2445_; 
if (v_isShared_2443_ == 0)
{
v___x_2445_ = v___x_2442_;
goto v_reusejp_2444_;
}
else
{
lean_object* v_reuseFailAlloc_2446_; 
v_reuseFailAlloc_2446_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2446_, 0, v_a_2440_);
v___x_2445_ = v_reuseFailAlloc_2446_;
goto v_reusejp_2444_;
}
v_reusejp_2444_:
{
return v___x_2445_;
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfFns_spec__1___redArg___boxed(lean_object* v___x_2451_, lean_object* v_as_x27_2452_, lean_object* v_b_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_){
_start:
{
lean_object* v_res_2459_; 
v_res_2459_ = l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfFns_spec__1___redArg(v___x_2451_, v_as_x27_2452_, v_b_2453_, v___y_2454_, v___y_2455_, v___y_2456_, v___y_2457_);
return v_res_2459_;
}
}
static lean_object* _init_l_Lean_getConstInfoInduct___at___00Lean_Meta_mkSizeOfFns_spec__0___closed__1(void){
_start:
{
lean_object* v___x_2461_; lean_object* v___x_2462_; 
v___x_2461_ = ((lean_object*)(l_Lean_getConstInfoInduct___at___00Lean_Meta_mkSizeOfFns_spec__0___closed__0));
v___x_2462_ = l_Lean_stringToMessageData(v___x_2461_);
return v___x_2462_;
}
}
LEAN_EXPORT lean_object* l_Lean_getConstInfoInduct___at___00Lean_Meta_mkSizeOfFns_spec__0(lean_object* v_constName_2463_, lean_object* v___y_2464_, lean_object* v___y_2465_, lean_object* v___y_2466_, lean_object* v___y_2467_){
_start:
{
lean_object* v___x_2469_; lean_object* v_env_2470_; lean_object* v___x_2471_; 
v___x_2469_ = lean_st_ref_get(v___y_2467_);
v_env_2470_ = lean_ctor_get(v___x_2469_, 0);
lean_inc_ref(v_env_2470_);
lean_dec(v___x_2469_);
lean_inc(v_constName_2463_);
v___x_2471_ = l_Lean_isInductiveCore_x3f(v_env_2470_, v_constName_2463_);
if (lean_obj_tag(v___x_2471_) == 0)
{
lean_object* v___x_2472_; uint8_t v___x_2473_; lean_object* v___x_2474_; lean_object* v___x_2475_; lean_object* v___x_2476_; lean_object* v___x_2477_; lean_object* v___x_2478_; 
v___x_2472_ = lean_obj_once(&l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__1, &l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__1_once, _init_l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__1);
v___x_2473_ = 0;
v___x_2474_ = l_Lean_MessageData_ofConstName(v_constName_2463_, v___x_2473_);
v___x_2475_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2475_, 0, v___x_2472_);
lean_ctor_set(v___x_2475_, 1, v___x_2474_);
v___x_2476_ = lean_obj_once(&l_Lean_getConstInfoInduct___at___00Lean_Meta_mkSizeOfFns_spec__0___closed__1, &l_Lean_getConstInfoInduct___at___00Lean_Meta_mkSizeOfFns_spec__0___closed__1_once, _init_l_Lean_getConstInfoInduct___at___00Lean_Meta_mkSizeOfFns_spec__0___closed__1);
v___x_2477_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2477_, 0, v___x_2475_);
lean_ctor_set(v___x_2477_, 1, v___x_2476_);
v___x_2478_ = l_Lean_throwError___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__0___redArg(v___x_2477_, v___y_2464_, v___y_2465_, v___y_2466_, v___y_2467_);
return v___x_2478_;
}
else
{
lean_object* v_val_2479_; lean_object* v___x_2481_; uint8_t v_isShared_2482_; uint8_t v_isSharedCheck_2486_; 
lean_dec(v_constName_2463_);
v_val_2479_ = lean_ctor_get(v___x_2471_, 0);
v_isSharedCheck_2486_ = !lean_is_exclusive(v___x_2471_);
if (v_isSharedCheck_2486_ == 0)
{
v___x_2481_ = v___x_2471_;
v_isShared_2482_ = v_isSharedCheck_2486_;
goto v_resetjp_2480_;
}
else
{
lean_inc(v_val_2479_);
lean_dec(v___x_2471_);
v___x_2481_ = lean_box(0);
v_isShared_2482_ = v_isSharedCheck_2486_;
goto v_resetjp_2480_;
}
v_resetjp_2480_:
{
lean_object* v___x_2484_; 
if (v_isShared_2482_ == 0)
{
lean_ctor_set_tag(v___x_2481_, 0);
v___x_2484_ = v___x_2481_;
goto v_reusejp_2483_;
}
else
{
lean_object* v_reuseFailAlloc_2485_; 
v_reuseFailAlloc_2485_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2485_, 0, v_val_2479_);
v___x_2484_ = v_reuseFailAlloc_2485_;
goto v_reusejp_2483_;
}
v_reusejp_2483_:
{
return v___x_2484_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_getConstInfoInduct___at___00Lean_Meta_mkSizeOfFns_spec__0___boxed(lean_object* v_constName_2487_, lean_object* v___y_2488_, lean_object* v___y_2489_, lean_object* v___y_2490_, lean_object* v___y_2491_, lean_object* v___y_2492_){
_start:
{
lean_object* v_res_2493_; 
v_res_2493_ = l_Lean_getConstInfoInduct___at___00Lean_Meta_mkSizeOfFns_spec__0(v_constName_2487_, v___y_2488_, v___y_2489_, v___y_2490_, v___y_2491_);
lean_dec(v___y_2491_);
lean_dec_ref(v___y_2490_);
lean_dec(v___y_2489_);
lean_dec_ref(v___y_2488_);
return v_res_2493_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFns(lean_object* v_typeName_2505_, lean_object* v_a_2506_, lean_object* v_a_2507_, lean_object* v_a_2508_, lean_object* v_a_2509_){
_start:
{
lean_object* v___x_2511_; 
v___x_2511_ = l_Lean_getConstInfoInduct___at___00Lean_Meta_mkSizeOfFns_spec__0(v_typeName_2505_, v_a_2506_, v_a_2507_, v_a_2508_, v_a_2509_);
if (lean_obj_tag(v___x_2511_) == 0)
{
lean_object* v_a_2512_; lean_object* v_all_2513_; lean_object* v_numNested_2514_; lean_object* v___x_2515_; lean_object* v___x_2516_; lean_object* v___x_2517_; lean_object* v___x_2518_; lean_object* v___x_2519_; lean_object* v___x_2520_; lean_object* v___x_2521_; 
v_a_2512_ = lean_ctor_get(v___x_2511_, 0);
lean_inc(v_a_2512_);
lean_dec_ref(v___x_2511_);
v_all_2513_ = lean_ctor_get(v_a_2512_, 3);
lean_inc(v_all_2513_);
v_numNested_2514_ = lean_ctor_get(v_a_2512_, 5);
lean_inc(v_numNested_2514_);
lean_dec(v_a_2512_);
v___x_2515_ = lean_box(0);
v___x_2516_ = lean_unsigned_to_nat(0u);
v___x_2517_ = l_List_head_x21___redArg(v___x_2515_, v_all_2513_);
v___x_2518_ = ((lean_object*)(l_Lean_Meta_mkSizeOfFns___closed__2));
lean_inc(v___x_2517_);
v___x_2519_ = l_Lean_Name_append(v___x_2517_, v___x_2518_);
v___x_2520_ = ((lean_object*)(l_Lean_Meta_mkSizeOfFns___closed__4));
lean_inc(v_a_2509_);
lean_inc_ref(v_a_2508_);
lean_inc(v_a_2507_);
lean_inc_ref(v_a_2506_);
lean_inc(v___x_2519_);
v___x_2521_ = l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfFns_spec__1___redArg(v___x_2519_, v_all_2513_, v___x_2520_, v_a_2506_, v_a_2507_, v_a_2508_, v_a_2509_);
if (lean_obj_tag(v___x_2521_) == 0)
{
lean_object* v_a_2522_; lean_object* v_snd_2523_; lean_object* v_fst_2524_; lean_object* v___x_2526_; uint8_t v_isShared_2527_; uint8_t v_isSharedCheck_2568_; 
v_a_2522_ = lean_ctor_get(v___x_2521_, 0);
lean_inc(v_a_2522_);
lean_dec_ref(v___x_2521_);
v_snd_2523_ = lean_ctor_get(v_a_2522_, 1);
v_fst_2524_ = lean_ctor_get(v_a_2522_, 0);
v_isSharedCheck_2568_ = !lean_is_exclusive(v_a_2522_);
if (v_isSharedCheck_2568_ == 0)
{
v___x_2526_ = v_a_2522_;
v_isShared_2527_ = v_isSharedCheck_2568_;
goto v_resetjp_2525_;
}
else
{
lean_inc(v_snd_2523_);
lean_inc(v_fst_2524_);
lean_dec(v_a_2522_);
v___x_2526_ = lean_box(0);
v_isShared_2527_ = v_isSharedCheck_2568_;
goto v_resetjp_2525_;
}
v_resetjp_2525_:
{
lean_object* v_fst_2528_; lean_object* v_snd_2529_; lean_object* v___x_2531_; uint8_t v_isShared_2532_; uint8_t v_isSharedCheck_2567_; 
v_fst_2528_ = lean_ctor_get(v_snd_2523_, 0);
v_snd_2529_ = lean_ctor_get(v_snd_2523_, 1);
v_isSharedCheck_2567_ = !lean_is_exclusive(v_snd_2523_);
if (v_isSharedCheck_2567_ == 0)
{
v___x_2531_ = v_snd_2523_;
v_isShared_2532_ = v_isSharedCheck_2567_;
goto v_resetjp_2530_;
}
else
{
lean_inc(v_snd_2529_);
lean_inc(v_fst_2528_);
lean_dec(v_snd_2523_);
v___x_2531_ = lean_box(0);
v_isShared_2532_ = v_isSharedCheck_2567_;
goto v_resetjp_2530_;
}
v_resetjp_2530_:
{
lean_object* v___x_2534_; 
if (v_isShared_2532_ == 0)
{
v___x_2534_ = v___x_2531_;
goto v_reusejp_2533_;
}
else
{
lean_object* v_reuseFailAlloc_2566_; 
v_reuseFailAlloc_2566_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2566_, 0, v_fst_2528_);
lean_ctor_set(v_reuseFailAlloc_2566_, 1, v_snd_2529_);
v___x_2534_ = v_reuseFailAlloc_2566_;
goto v_reusejp_2533_;
}
v_reusejp_2533_:
{
lean_object* v___x_2536_; 
if (v_isShared_2527_ == 0)
{
lean_ctor_set(v___x_2526_, 1, v___x_2534_);
v___x_2536_ = v___x_2526_;
goto v_reusejp_2535_;
}
else
{
lean_object* v_reuseFailAlloc_2565_; 
v_reuseFailAlloc_2565_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2565_, 0, v_fst_2524_);
lean_ctor_set(v_reuseFailAlloc_2565_, 1, v___x_2534_);
v___x_2536_ = v_reuseFailAlloc_2565_;
goto v_reusejp_2535_;
}
v_reusejp_2535_:
{
lean_object* v___x_2537_; 
v___x_2537_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Meta_mkSizeOfFns_spec__2___redArg(v_numNested_2514_, v___x_2517_, v___x_2519_, v___x_2516_, v___x_2536_, v_a_2506_, v_a_2507_, v_a_2508_, v_a_2509_);
lean_dec(v_numNested_2514_);
if (lean_obj_tag(v___x_2537_) == 0)
{
lean_object* v_a_2538_; lean_object* v___x_2540_; uint8_t v_isShared_2541_; uint8_t v_isSharedCheck_2556_; 
v_a_2538_ = lean_ctor_get(v___x_2537_, 0);
v_isSharedCheck_2556_ = !lean_is_exclusive(v___x_2537_);
if (v_isSharedCheck_2556_ == 0)
{
v___x_2540_ = v___x_2537_;
v_isShared_2541_ = v_isSharedCheck_2556_;
goto v_resetjp_2539_;
}
else
{
lean_inc(v_a_2538_);
lean_dec(v___x_2537_);
v___x_2540_ = lean_box(0);
v_isShared_2541_ = v_isSharedCheck_2556_;
goto v_resetjp_2539_;
}
v_resetjp_2539_:
{
lean_object* v_snd_2542_; lean_object* v_fst_2543_; lean_object* v_snd_2544_; lean_object* v___x_2546_; uint8_t v_isShared_2547_; uint8_t v_isSharedCheck_2554_; 
v_snd_2542_ = lean_ctor_get(v_a_2538_, 1);
lean_inc(v_snd_2542_);
v_fst_2543_ = lean_ctor_get(v_a_2538_, 0);
lean_inc(v_fst_2543_);
lean_dec(v_a_2538_);
v_snd_2544_ = lean_ctor_get(v_snd_2542_, 1);
v_isSharedCheck_2554_ = !lean_is_exclusive(v_snd_2542_);
if (v_isSharedCheck_2554_ == 0)
{
lean_object* v_unused_2555_; 
v_unused_2555_ = lean_ctor_get(v_snd_2542_, 0);
lean_dec(v_unused_2555_);
v___x_2546_ = v_snd_2542_;
v_isShared_2547_ = v_isSharedCheck_2554_;
goto v_resetjp_2545_;
}
else
{
lean_inc(v_snd_2544_);
lean_dec(v_snd_2542_);
v___x_2546_ = lean_box(0);
v_isShared_2547_ = v_isSharedCheck_2554_;
goto v_resetjp_2545_;
}
v_resetjp_2545_:
{
lean_object* v___x_2549_; 
if (v_isShared_2547_ == 0)
{
lean_ctor_set(v___x_2546_, 0, v_fst_2543_);
v___x_2549_ = v___x_2546_;
goto v_reusejp_2548_;
}
else
{
lean_object* v_reuseFailAlloc_2553_; 
v_reuseFailAlloc_2553_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2553_, 0, v_fst_2543_);
lean_ctor_set(v_reuseFailAlloc_2553_, 1, v_snd_2544_);
v___x_2549_ = v_reuseFailAlloc_2553_;
goto v_reusejp_2548_;
}
v_reusejp_2548_:
{
lean_object* v___x_2551_; 
if (v_isShared_2541_ == 0)
{
lean_ctor_set(v___x_2540_, 0, v___x_2549_);
v___x_2551_ = v___x_2540_;
goto v_reusejp_2550_;
}
else
{
lean_object* v_reuseFailAlloc_2552_; 
v_reuseFailAlloc_2552_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2552_, 0, v___x_2549_);
v___x_2551_ = v_reuseFailAlloc_2552_;
goto v_reusejp_2550_;
}
v_reusejp_2550_:
{
return v___x_2551_;
}
}
}
}
}
else
{
lean_object* v_a_2557_; lean_object* v___x_2559_; uint8_t v_isShared_2560_; uint8_t v_isSharedCheck_2564_; 
v_a_2557_ = lean_ctor_get(v___x_2537_, 0);
v_isSharedCheck_2564_ = !lean_is_exclusive(v___x_2537_);
if (v_isSharedCheck_2564_ == 0)
{
v___x_2559_ = v___x_2537_;
v_isShared_2560_ = v_isSharedCheck_2564_;
goto v_resetjp_2558_;
}
else
{
lean_inc(v_a_2557_);
lean_dec(v___x_2537_);
v___x_2559_ = lean_box(0);
v_isShared_2560_ = v_isSharedCheck_2564_;
goto v_resetjp_2558_;
}
v_resetjp_2558_:
{
lean_object* v___x_2562_; 
if (v_isShared_2560_ == 0)
{
v___x_2562_ = v___x_2559_;
goto v_reusejp_2561_;
}
else
{
lean_object* v_reuseFailAlloc_2563_; 
v_reuseFailAlloc_2563_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2563_, 0, v_a_2557_);
v___x_2562_ = v_reuseFailAlloc_2563_;
goto v_reusejp_2561_;
}
v_reusejp_2561_:
{
return v___x_2562_;
}
}
}
}
}
}
}
}
else
{
lean_object* v_a_2569_; lean_object* v___x_2571_; uint8_t v_isShared_2572_; uint8_t v_isSharedCheck_2576_; 
lean_dec(v___x_2519_);
lean_dec(v___x_2517_);
lean_dec(v_numNested_2514_);
lean_dec(v_a_2509_);
lean_dec_ref(v_a_2508_);
lean_dec(v_a_2507_);
lean_dec_ref(v_a_2506_);
v_a_2569_ = lean_ctor_get(v___x_2521_, 0);
v_isSharedCheck_2576_ = !lean_is_exclusive(v___x_2521_);
if (v_isSharedCheck_2576_ == 0)
{
v___x_2571_ = v___x_2521_;
v_isShared_2572_ = v_isSharedCheck_2576_;
goto v_resetjp_2570_;
}
else
{
lean_inc(v_a_2569_);
lean_dec(v___x_2521_);
v___x_2571_ = lean_box(0);
v_isShared_2572_ = v_isSharedCheck_2576_;
goto v_resetjp_2570_;
}
v_resetjp_2570_:
{
lean_object* v___x_2574_; 
if (v_isShared_2572_ == 0)
{
v___x_2574_ = v___x_2571_;
goto v_reusejp_2573_;
}
else
{
lean_object* v_reuseFailAlloc_2575_; 
v_reuseFailAlloc_2575_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2575_, 0, v_a_2569_);
v___x_2574_ = v_reuseFailAlloc_2575_;
goto v_reusejp_2573_;
}
v_reusejp_2573_:
{
return v___x_2574_;
}
}
}
}
else
{
lean_object* v_a_2577_; lean_object* v___x_2579_; uint8_t v_isShared_2580_; uint8_t v_isSharedCheck_2584_; 
lean_dec(v_a_2509_);
lean_dec_ref(v_a_2508_);
lean_dec(v_a_2507_);
lean_dec_ref(v_a_2506_);
v_a_2577_ = lean_ctor_get(v___x_2511_, 0);
v_isSharedCheck_2584_ = !lean_is_exclusive(v___x_2511_);
if (v_isSharedCheck_2584_ == 0)
{
v___x_2579_ = v___x_2511_;
v_isShared_2580_ = v_isSharedCheck_2584_;
goto v_resetjp_2578_;
}
else
{
lean_inc(v_a_2577_);
lean_dec(v___x_2511_);
v___x_2579_ = lean_box(0);
v_isShared_2580_ = v_isSharedCheck_2584_;
goto v_resetjp_2578_;
}
v_resetjp_2578_:
{
lean_object* v___x_2582_; 
if (v_isShared_2580_ == 0)
{
v___x_2582_ = v___x_2579_;
goto v_reusejp_2581_;
}
else
{
lean_object* v_reuseFailAlloc_2583_; 
v_reuseFailAlloc_2583_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2583_, 0, v_a_2577_);
v___x_2582_ = v_reuseFailAlloc_2583_;
goto v_reusejp_2581_;
}
v_reusejp_2581_:
{
return v___x_2582_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFns___boxed(lean_object* v_typeName_2585_, lean_object* v_a_2586_, lean_object* v_a_2587_, lean_object* v_a_2588_, lean_object* v_a_2589_, lean_object* v_a_2590_){
_start:
{
lean_object* v_res_2591_; 
v_res_2591_ = l_Lean_Meta_mkSizeOfFns(v_typeName_2585_, v_a_2586_, v_a_2587_, v_a_2588_, v_a_2589_);
return v_res_2591_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfFns_spec__1(lean_object* v___x_2592_, lean_object* v_as_2593_, lean_object* v_as_x27_2594_, lean_object* v_b_2595_, lean_object* v_a_2596_, lean_object* v___y_2597_, lean_object* v___y_2598_, lean_object* v___y_2599_, lean_object* v___y_2600_){
_start:
{
lean_object* v___x_2602_; 
v___x_2602_ = l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfFns_spec__1___redArg(v___x_2592_, v_as_x27_2594_, v_b_2595_, v___y_2597_, v___y_2598_, v___y_2599_, v___y_2600_);
return v___x_2602_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfFns_spec__1___boxed(lean_object* v___x_2603_, lean_object* v_as_2604_, lean_object* v_as_x27_2605_, lean_object* v_b_2606_, lean_object* v_a_2607_, lean_object* v___y_2608_, lean_object* v___y_2609_, lean_object* v___y_2610_, lean_object* v___y_2611_, lean_object* v___y_2612_){
_start:
{
lean_object* v_res_2613_; 
v_res_2613_ = l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfFns_spec__1(v___x_2603_, v_as_2604_, v_as_x27_2605_, v_b_2606_, v_a_2607_, v___y_2608_, v___y_2609_, v___y_2610_, v___y_2611_);
lean_dec(v_as_2604_);
return v_res_2613_;
}
}
LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Meta_mkSizeOfFns_spec__2(lean_object* v_upperBound_2614_, lean_object* v___x_2615_, lean_object* v___x_2616_, lean_object* v_inst_2617_, lean_object* v_R_2618_, lean_object* v_a_2619_, lean_object* v_b_2620_, lean_object* v_c_2621_, lean_object* v___y_2622_, lean_object* v___y_2623_, lean_object* v___y_2624_, lean_object* v___y_2625_){
_start:
{
lean_object* v___x_2627_; 
v___x_2627_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Meta_mkSizeOfFns_spec__2___redArg(v_upperBound_2614_, v___x_2615_, v___x_2616_, v_a_2619_, v_b_2620_, v___y_2622_, v___y_2623_, v___y_2624_, v___y_2625_);
return v___x_2627_;
}
}
LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Meta_mkSizeOfFns_spec__2___boxed(lean_object* v_upperBound_2628_, lean_object* v___x_2629_, lean_object* v___x_2630_, lean_object* v_inst_2631_, lean_object* v_R_2632_, lean_object* v_a_2633_, lean_object* v_b_2634_, lean_object* v_c_2635_, lean_object* v___y_2636_, lean_object* v___y_2637_, lean_object* v___y_2638_, lean_object* v___y_2639_, lean_object* v___y_2640_){
_start:
{
lean_object* v_res_2641_; 
v_res_2641_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Meta_mkSizeOfFns_spec__2(v_upperBound_2628_, v___x_2629_, v___x_2630_, v_inst_2631_, v_R_2632_, v_a_2633_, v_b_2634_, v_c_2635_, v___y_2636_, v___y_2637_, v___y_2638_, v___y_2639_);
lean_dec(v_upperBound_2628_);
return v_res_2641_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfSpecLemmaName(lean_object* v_ctorName_2645_){
_start:
{
lean_object* v___x_2646_; lean_object* v___x_2647_; 
v___x_2646_ = ((lean_object*)(l_Lean_Meta_mkSizeOfSpecLemmaName___closed__1));
v___x_2647_ = l_Lean_Name_append(v_ctorName_2645_, v___x_2646_);
return v___x_2647_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfSpecLemmaInstance___lam__0(lean_object* v_xs_2648_, lean_object* v_x_2649_, lean_object* v___y_2650_, lean_object* v___y_2651_, lean_object* v___y_2652_, lean_object* v___y_2653_){
_start:
{
lean_object* v___x_2655_; lean_object* v___x_2656_; 
v___x_2655_ = lean_array_get_size(v_xs_2648_);
v___x_2656_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2656_, 0, v___x_2655_);
return v___x_2656_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfSpecLemmaInstance___lam__0___boxed(lean_object* v_xs_2657_, lean_object* v_x_2658_, lean_object* v___y_2659_, lean_object* v___y_2660_, lean_object* v___y_2661_, lean_object* v___y_2662_, lean_object* v___y_2663_){
_start:
{
lean_object* v_res_2664_; 
v_res_2664_ = l_Lean_Meta_mkSizeOfSpecLemmaInstance___lam__0(v_xs_2657_, v_x_2658_, v___y_2659_, v___y_2660_, v___y_2661_, v___y_2662_);
lean_dec(v___y_2662_);
lean_dec_ref(v___y_2661_);
lean_dec(v___y_2660_);
lean_dec_ref(v___y_2659_);
lean_dec_ref(v_x_2658_);
lean_dec_ref(v_xs_2657_);
return v_res_2664_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__6___redArg(lean_object* v_ref_2665_, lean_object* v_msg_2666_, lean_object* v___y_2667_, lean_object* v___y_2668_, lean_object* v___y_2669_, lean_object* v___y_2670_){
_start:
{
lean_object* v_fileName_2672_; lean_object* v_fileMap_2673_; lean_object* v_options_2674_; lean_object* v_currRecDepth_2675_; lean_object* v_maxRecDepth_2676_; lean_object* v_ref_2677_; lean_object* v_currNamespace_2678_; lean_object* v_openDecls_2679_; lean_object* v_initHeartbeats_2680_; lean_object* v_maxHeartbeats_2681_; lean_object* v_quotContext_2682_; lean_object* v_currMacroScope_2683_; uint8_t v_diag_2684_; lean_object* v_cancelTk_x3f_2685_; uint8_t v_suppressElabErrors_2686_; lean_object* v_inheritedTraceOptions_2687_; lean_object* v___x_2689_; uint8_t v_isShared_2690_; uint8_t v_isSharedCheck_2696_; 
v_fileName_2672_ = lean_ctor_get(v___y_2669_, 0);
v_fileMap_2673_ = lean_ctor_get(v___y_2669_, 1);
v_options_2674_ = lean_ctor_get(v___y_2669_, 2);
v_currRecDepth_2675_ = lean_ctor_get(v___y_2669_, 3);
v_maxRecDepth_2676_ = lean_ctor_get(v___y_2669_, 4);
v_ref_2677_ = lean_ctor_get(v___y_2669_, 5);
v_currNamespace_2678_ = lean_ctor_get(v___y_2669_, 6);
v_openDecls_2679_ = lean_ctor_get(v___y_2669_, 7);
v_initHeartbeats_2680_ = lean_ctor_get(v___y_2669_, 8);
v_maxHeartbeats_2681_ = lean_ctor_get(v___y_2669_, 9);
v_quotContext_2682_ = lean_ctor_get(v___y_2669_, 10);
v_currMacroScope_2683_ = lean_ctor_get(v___y_2669_, 11);
v_diag_2684_ = lean_ctor_get_uint8(v___y_2669_, sizeof(void*)*14);
v_cancelTk_x3f_2685_ = lean_ctor_get(v___y_2669_, 12);
v_suppressElabErrors_2686_ = lean_ctor_get_uint8(v___y_2669_, sizeof(void*)*14 + 1);
v_inheritedTraceOptions_2687_ = lean_ctor_get(v___y_2669_, 13);
v_isSharedCheck_2696_ = !lean_is_exclusive(v___y_2669_);
if (v_isSharedCheck_2696_ == 0)
{
v___x_2689_ = v___y_2669_;
v_isShared_2690_ = v_isSharedCheck_2696_;
goto v_resetjp_2688_;
}
else
{
lean_inc(v_inheritedTraceOptions_2687_);
lean_inc(v_cancelTk_x3f_2685_);
lean_inc(v_currMacroScope_2683_);
lean_inc(v_quotContext_2682_);
lean_inc(v_maxHeartbeats_2681_);
lean_inc(v_initHeartbeats_2680_);
lean_inc(v_openDecls_2679_);
lean_inc(v_currNamespace_2678_);
lean_inc(v_ref_2677_);
lean_inc(v_maxRecDepth_2676_);
lean_inc(v_currRecDepth_2675_);
lean_inc(v_options_2674_);
lean_inc(v_fileMap_2673_);
lean_inc(v_fileName_2672_);
lean_dec(v___y_2669_);
v___x_2689_ = lean_box(0);
v_isShared_2690_ = v_isSharedCheck_2696_;
goto v_resetjp_2688_;
}
v_resetjp_2688_:
{
lean_object* v_ref_2691_; lean_object* v___x_2693_; 
v_ref_2691_ = l_Lean_replaceRef(v_ref_2665_, v_ref_2677_);
lean_dec(v_ref_2677_);
if (v_isShared_2690_ == 0)
{
lean_ctor_set(v___x_2689_, 5, v_ref_2691_);
v___x_2693_ = v___x_2689_;
goto v_reusejp_2692_;
}
else
{
lean_object* v_reuseFailAlloc_2695_; 
v_reuseFailAlloc_2695_ = lean_alloc_ctor(0, 14, 2);
lean_ctor_set(v_reuseFailAlloc_2695_, 0, v_fileName_2672_);
lean_ctor_set(v_reuseFailAlloc_2695_, 1, v_fileMap_2673_);
lean_ctor_set(v_reuseFailAlloc_2695_, 2, v_options_2674_);
lean_ctor_set(v_reuseFailAlloc_2695_, 3, v_currRecDepth_2675_);
lean_ctor_set(v_reuseFailAlloc_2695_, 4, v_maxRecDepth_2676_);
lean_ctor_set(v_reuseFailAlloc_2695_, 5, v_ref_2691_);
lean_ctor_set(v_reuseFailAlloc_2695_, 6, v_currNamespace_2678_);
lean_ctor_set(v_reuseFailAlloc_2695_, 7, v_openDecls_2679_);
lean_ctor_set(v_reuseFailAlloc_2695_, 8, v_initHeartbeats_2680_);
lean_ctor_set(v_reuseFailAlloc_2695_, 9, v_maxHeartbeats_2681_);
lean_ctor_set(v_reuseFailAlloc_2695_, 10, v_quotContext_2682_);
lean_ctor_set(v_reuseFailAlloc_2695_, 11, v_currMacroScope_2683_);
lean_ctor_set(v_reuseFailAlloc_2695_, 12, v_cancelTk_x3f_2685_);
lean_ctor_set(v_reuseFailAlloc_2695_, 13, v_inheritedTraceOptions_2687_);
lean_ctor_set_uint8(v_reuseFailAlloc_2695_, sizeof(void*)*14, v_diag_2684_);
lean_ctor_set_uint8(v_reuseFailAlloc_2695_, sizeof(void*)*14 + 1, v_suppressElabErrors_2686_);
v___x_2693_ = v_reuseFailAlloc_2695_;
goto v_reusejp_2692_;
}
v_reusejp_2692_:
{
lean_object* v___x_2694_; 
v___x_2694_ = l_Lean_throwError___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__0___redArg(v_msg_2666_, v___y_2667_, v___y_2668_, v___x_2693_, v___y_2670_);
lean_dec_ref(v___x_2693_);
return v___x_2694_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__6___redArg___boxed(lean_object* v_ref_2697_, lean_object* v_msg_2698_, lean_object* v___y_2699_, lean_object* v___y_2700_, lean_object* v___y_2701_, lean_object* v___y_2702_, lean_object* v___y_2703_){
_start:
{
lean_object* v_res_2704_; 
v_res_2704_ = l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__6___redArg(v_ref_2697_, v_msg_2698_, v___y_2699_, v___y_2700_, v___y_2701_, v___y_2702_);
lean_dec(v___y_2702_);
lean_dec(v___y_2700_);
lean_dec_ref(v___y_2699_);
lean_dec(v_ref_2697_);
return v_res_2704_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__0(void){
_start:
{
lean_object* v___x_2705_; 
v___x_2705_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
return v___x_2705_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__1(void){
_start:
{
lean_object* v___x_2706_; lean_object* v___x_2707_; 
v___x_2706_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__0);
v___x_2707_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2707_, 0, v___x_2706_);
return v___x_2707_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__2(void){
_start:
{
lean_object* v___x_2708_; lean_object* v___x_2709_; lean_object* v___x_2710_; 
v___x_2708_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__1);
v___x_2709_ = lean_unsigned_to_nat(0u);
v___x_2710_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v___x_2710_, 0, v___x_2709_);
lean_ctor_set(v___x_2710_, 1, v___x_2709_);
lean_ctor_set(v___x_2710_, 2, v___x_2709_);
lean_ctor_set(v___x_2710_, 3, v___x_2708_);
lean_ctor_set(v___x_2710_, 4, v___x_2708_);
lean_ctor_set(v___x_2710_, 5, v___x_2708_);
lean_ctor_set(v___x_2710_, 6, v___x_2708_);
lean_ctor_set(v___x_2710_, 7, v___x_2708_);
lean_ctor_set(v___x_2710_, 8, v___x_2708_);
return v___x_2710_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__3(void){
_start:
{
lean_object* v___x_2711_; lean_object* v___x_2712_; lean_object* v___x_2713_; 
v___x_2711_ = lean_unsigned_to_nat(32u);
v___x_2712_ = lean_mk_empty_array_with_capacity(v___x_2711_);
v___x_2713_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2713_, 0, v___x_2712_);
return v___x_2713_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__4(void){
_start:
{
size_t v___x_2714_; lean_object* v___x_2715_; lean_object* v___x_2716_; lean_object* v___x_2717_; lean_object* v___x_2718_; lean_object* v___x_2719_; 
v___x_2714_ = ((size_t)5ULL);
v___x_2715_ = lean_unsigned_to_nat(0u);
v___x_2716_ = lean_unsigned_to_nat(32u);
v___x_2717_ = lean_mk_empty_array_with_capacity(v___x_2716_);
v___x_2718_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__3);
v___x_2719_ = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
lean_ctor_set(v___x_2719_, 0, v___x_2718_);
lean_ctor_set(v___x_2719_, 1, v___x_2717_);
lean_ctor_set(v___x_2719_, 2, v___x_2715_);
lean_ctor_set(v___x_2719_, 3, v___x_2715_);
lean_ctor_set_usize(v___x_2719_, 4, v___x_2714_);
return v___x_2719_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__5(void){
_start:
{
lean_object* v___x_2720_; lean_object* v___x_2721_; lean_object* v___x_2722_; lean_object* v___x_2723_; 
v___x_2720_ = lean_box(1);
v___x_2721_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__4);
v___x_2722_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__1);
v___x_2723_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v___x_2723_, 0, v___x_2722_);
lean_ctor_set(v___x_2723_, 1, v___x_2721_);
lean_ctor_set(v___x_2723_, 2, v___x_2720_);
return v___x_2723_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__7(void){
_start:
{
lean_object* v___x_2725_; lean_object* v___x_2726_; 
v___x_2725_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__6));
v___x_2726_ = l_Lean_stringToMessageData(v___x_2725_);
return v___x_2726_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__9(void){
_start:
{
lean_object* v___x_2728_; lean_object* v___x_2729_; 
v___x_2728_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__8));
v___x_2729_ = l_Lean_stringToMessageData(v___x_2728_);
return v___x_2729_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__11(void){
_start:
{
lean_object* v___x_2731_; lean_object* v___x_2732_; 
v___x_2731_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__10));
v___x_2732_ = l_Lean_stringToMessageData(v___x_2731_);
return v___x_2732_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__13(void){
_start:
{
lean_object* v___x_2734_; lean_object* v___x_2735_; 
v___x_2734_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__12));
v___x_2735_ = l_Lean_stringToMessageData(v___x_2734_);
return v___x_2735_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__15(void){
_start:
{
lean_object* v___x_2737_; lean_object* v___x_2738_; 
v___x_2737_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__14));
v___x_2738_ = l_Lean_stringToMessageData(v___x_2737_);
return v___x_2738_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__17(void){
_start:
{
lean_object* v___x_2740_; lean_object* v___x_2741_; 
v___x_2740_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__16));
v___x_2741_ = l_Lean_stringToMessageData(v___x_2740_);
return v___x_2741_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__19(void){
_start:
{
lean_object* v___x_2743_; lean_object* v___x_2744_; 
v___x_2743_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__18));
v___x_2744_ = l_Lean_stringToMessageData(v___x_2743_);
return v___x_2744_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg(lean_object* v_msg_2745_, lean_object* v_declHint_2746_, lean_object* v___y_2747_){
_start:
{
lean_object* v___x_2749_; lean_object* v_env_2750_; uint8_t v___x_2751_; 
v___x_2749_ = lean_st_ref_get(v___y_2747_);
v_env_2750_ = lean_ctor_get(v___x_2749_, 0);
lean_inc_ref(v_env_2750_);
lean_dec(v___x_2749_);
v___x_2751_ = l_Lean_Name_isAnonymous(v_declHint_2746_);
if (v___x_2751_ == 0)
{
uint8_t v_isExporting_2752_; 
v_isExporting_2752_ = lean_ctor_get_uint8(v_env_2750_, sizeof(void*)*8);
if (v_isExporting_2752_ == 0)
{
lean_object* v___x_2753_; 
lean_dec_ref(v_env_2750_);
lean_dec(v_declHint_2746_);
v___x_2753_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2753_, 0, v_msg_2745_);
return v___x_2753_;
}
else
{
lean_object* v___x_2754_; uint8_t v___x_2755_; 
lean_inc_ref(v_env_2750_);
v___x_2754_ = l_Lean_Environment_setExporting(v_env_2750_, v___x_2751_);
lean_inc(v_declHint_2746_);
lean_inc_ref(v___x_2754_);
v___x_2755_ = l_Lean_Environment_contains(v___x_2754_, v_declHint_2746_, v_isExporting_2752_);
if (v___x_2755_ == 0)
{
lean_object* v___x_2756_; 
lean_dec_ref(v___x_2754_);
lean_dec_ref(v_env_2750_);
lean_dec(v_declHint_2746_);
v___x_2756_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2756_, 0, v_msg_2745_);
return v___x_2756_;
}
else
{
lean_object* v___x_2757_; lean_object* v___x_2758_; lean_object* v___x_2759_; lean_object* v___x_2760_; lean_object* v___x_2761_; lean_object* v_c_2762_; lean_object* v___x_2763_; 
v___x_2757_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__2);
v___x_2758_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__5);
v___x_2759_ = l_Lean_Options_empty;
v___x_2760_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_2760_, 0, v___x_2754_);
lean_ctor_set(v___x_2760_, 1, v___x_2757_);
lean_ctor_set(v___x_2760_, 2, v___x_2758_);
lean_ctor_set(v___x_2760_, 3, v___x_2759_);
lean_inc(v_declHint_2746_);
v___x_2761_ = l_Lean_MessageData_ofConstName(v_declHint_2746_, v___x_2751_);
v_c_2762_ = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(v_c_2762_, 0, v___x_2760_);
lean_ctor_set(v_c_2762_, 1, v___x_2761_);
v___x_2763_ = l_Lean_Environment_getModuleIdxFor_x3f(v_env_2750_, v_declHint_2746_);
if (lean_obj_tag(v___x_2763_) == 0)
{
lean_object* v___x_2764_; lean_object* v___x_2765_; lean_object* v___x_2766_; lean_object* v___x_2767_; lean_object* v___x_2768_; lean_object* v___x_2769_; lean_object* v___x_2770_; 
lean_dec_ref(v_env_2750_);
lean_dec(v_declHint_2746_);
v___x_2764_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__7);
v___x_2765_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2765_, 0, v___x_2764_);
lean_ctor_set(v___x_2765_, 1, v_c_2762_);
v___x_2766_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__9);
v___x_2767_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2767_, 0, v___x_2765_);
lean_ctor_set(v___x_2767_, 1, v___x_2766_);
v___x_2768_ = l_Lean_MessageData_note(v___x_2767_);
v___x_2769_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2769_, 0, v_msg_2745_);
lean_ctor_set(v___x_2769_, 1, v___x_2768_);
v___x_2770_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2770_, 0, v___x_2769_);
return v___x_2770_;
}
else
{
lean_object* v_val_2771_; lean_object* v___x_2773_; uint8_t v_isShared_2774_; uint8_t v_isSharedCheck_2806_; 
v_val_2771_ = lean_ctor_get(v___x_2763_, 0);
v_isSharedCheck_2806_ = !lean_is_exclusive(v___x_2763_);
if (v_isSharedCheck_2806_ == 0)
{
v___x_2773_ = v___x_2763_;
v_isShared_2774_ = v_isSharedCheck_2806_;
goto v_resetjp_2772_;
}
else
{
lean_inc(v_val_2771_);
lean_dec(v___x_2763_);
v___x_2773_ = lean_box(0);
v_isShared_2774_ = v_isSharedCheck_2806_;
goto v_resetjp_2772_;
}
v_resetjp_2772_:
{
lean_object* v___x_2775_; lean_object* v___x_2776_; lean_object* v___x_2777_; lean_object* v_mod_2778_; uint8_t v___x_2779_; 
v___x_2775_ = lean_box(0);
v___x_2776_ = l_Lean_Environment_header(v_env_2750_);
lean_dec_ref(v_env_2750_);
v___x_2777_ = l_Lean_EnvironmentHeader_moduleNames(v___x_2776_);
v_mod_2778_ = lean_array_get(v___x_2775_, v___x_2777_, v_val_2771_);
lean_dec(v_val_2771_);
lean_dec_ref(v___x_2777_);
v___x_2779_ = l_Lean_isPrivateName(v_declHint_2746_);
lean_dec(v_declHint_2746_);
if (v___x_2779_ == 0)
{
lean_object* v___x_2780_; lean_object* v___x_2781_; lean_object* v___x_2782_; lean_object* v___x_2783_; lean_object* v___x_2784_; lean_object* v___x_2785_; lean_object* v___x_2786_; lean_object* v___x_2787_; lean_object* v___x_2788_; lean_object* v___x_2789_; lean_object* v___x_2791_; 
v___x_2780_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__11);
v___x_2781_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2781_, 0, v___x_2780_);
lean_ctor_set(v___x_2781_, 1, v_c_2762_);
v___x_2782_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__13);
v___x_2783_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2783_, 0, v___x_2781_);
lean_ctor_set(v___x_2783_, 1, v___x_2782_);
v___x_2784_ = l_Lean_MessageData_ofName(v_mod_2778_);
v___x_2785_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2785_, 0, v___x_2783_);
lean_ctor_set(v___x_2785_, 1, v___x_2784_);
v___x_2786_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__15);
v___x_2787_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2787_, 0, v___x_2785_);
lean_ctor_set(v___x_2787_, 1, v___x_2786_);
v___x_2788_ = l_Lean_MessageData_note(v___x_2787_);
v___x_2789_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2789_, 0, v_msg_2745_);
lean_ctor_set(v___x_2789_, 1, v___x_2788_);
if (v_isShared_2774_ == 0)
{
lean_ctor_set_tag(v___x_2773_, 0);
lean_ctor_set(v___x_2773_, 0, v___x_2789_);
v___x_2791_ = v___x_2773_;
goto v_reusejp_2790_;
}
else
{
lean_object* v_reuseFailAlloc_2792_; 
v_reuseFailAlloc_2792_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2792_, 0, v___x_2789_);
v___x_2791_ = v_reuseFailAlloc_2792_;
goto v_reusejp_2790_;
}
v_reusejp_2790_:
{
return v___x_2791_;
}
}
else
{
lean_object* v___x_2793_; lean_object* v___x_2794_; lean_object* v___x_2795_; lean_object* v___x_2796_; lean_object* v___x_2797_; lean_object* v___x_2798_; lean_object* v___x_2799_; lean_object* v___x_2800_; lean_object* v___x_2801_; lean_object* v___x_2802_; lean_object* v___x_2804_; 
v___x_2793_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__7);
v___x_2794_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2794_, 0, v___x_2793_);
lean_ctor_set(v___x_2794_, 1, v_c_2762_);
v___x_2795_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__17);
v___x_2796_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2796_, 0, v___x_2794_);
lean_ctor_set(v___x_2796_, 1, v___x_2795_);
v___x_2797_ = l_Lean_MessageData_ofName(v_mod_2778_);
v___x_2798_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2798_, 0, v___x_2796_);
lean_ctor_set(v___x_2798_, 1, v___x_2797_);
v___x_2799_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_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_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___closed__19);
v___x_2800_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2800_, 0, v___x_2798_);
lean_ctor_set(v___x_2800_, 1, v___x_2799_);
v___x_2801_ = l_Lean_MessageData_note(v___x_2800_);
v___x_2802_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2802_, 0, v_msg_2745_);
lean_ctor_set(v___x_2802_, 1, v___x_2801_);
if (v_isShared_2774_ == 0)
{
lean_ctor_set_tag(v___x_2773_, 0);
lean_ctor_set(v___x_2773_, 0, v___x_2802_);
v___x_2804_ = v___x_2773_;
goto v_reusejp_2803_;
}
else
{
lean_object* v_reuseFailAlloc_2805_; 
v_reuseFailAlloc_2805_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2805_, 0, v___x_2802_);
v___x_2804_ = v_reuseFailAlloc_2805_;
goto v_reusejp_2803_;
}
v_reusejp_2803_:
{
return v___x_2804_;
}
}
}
}
}
}
}
else
{
lean_object* v___x_2807_; 
lean_dec_ref(v_env_2750_);
lean_dec(v_declHint_2746_);
v___x_2807_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2807_, 0, v_msg_2745_);
return v___x_2807_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg___boxed(lean_object* v_msg_2808_, lean_object* v_declHint_2809_, lean_object* v___y_2810_, lean_object* v___y_2811_){
_start:
{
lean_object* v_res_2812_; 
v_res_2812_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg(v_msg_2808_, v_declHint_2809_, v___y_2810_);
lean_dec(v___y_2810_);
return v_res_2812_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5(lean_object* v_msg_2813_, lean_object* v_declHint_2814_, lean_object* v___y_2815_, lean_object* v___y_2816_, lean_object* v___y_2817_, lean_object* v___y_2818_){
_start:
{
lean_object* v___x_2820_; lean_object* v_a_2821_; lean_object* v___x_2823_; uint8_t v_isShared_2824_; uint8_t v_isSharedCheck_2830_; 
v___x_2820_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg(v_msg_2813_, v_declHint_2814_, v___y_2818_);
v_a_2821_ = lean_ctor_get(v___x_2820_, 0);
v_isSharedCheck_2830_ = !lean_is_exclusive(v___x_2820_);
if (v_isSharedCheck_2830_ == 0)
{
v___x_2823_ = v___x_2820_;
v_isShared_2824_ = v_isSharedCheck_2830_;
goto v_resetjp_2822_;
}
else
{
lean_inc(v_a_2821_);
lean_dec(v___x_2820_);
v___x_2823_ = lean_box(0);
v_isShared_2824_ = v_isSharedCheck_2830_;
goto v_resetjp_2822_;
}
v_resetjp_2822_:
{
lean_object* v___x_2825_; lean_object* v___x_2826_; lean_object* v___x_2828_; 
v___x_2825_ = l_Lean_unknownIdentifierMessageTag;
v___x_2826_ = lean_alloc_ctor(8, 2, 0);
lean_ctor_set(v___x_2826_, 0, v___x_2825_);
lean_ctor_set(v___x_2826_, 1, v_a_2821_);
if (v_isShared_2824_ == 0)
{
lean_ctor_set(v___x_2823_, 0, v___x_2826_);
v___x_2828_ = v___x_2823_;
goto v_reusejp_2827_;
}
else
{
lean_object* v_reuseFailAlloc_2829_; 
v_reuseFailAlloc_2829_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2829_, 0, v___x_2826_);
v___x_2828_ = v_reuseFailAlloc_2829_;
goto v_reusejp_2827_;
}
v_reusejp_2827_:
{
return v___x_2828_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5___boxed(lean_object* v_msg_2831_, lean_object* v_declHint_2832_, lean_object* v___y_2833_, lean_object* v___y_2834_, lean_object* v___y_2835_, lean_object* v___y_2836_, lean_object* v___y_2837_){
_start:
{
lean_object* v_res_2838_; 
v_res_2838_ = l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5(v_msg_2831_, v_declHint_2832_, v___y_2833_, v___y_2834_, v___y_2835_, v___y_2836_);
lean_dec(v___y_2836_);
lean_dec_ref(v___y_2835_);
lean_dec(v___y_2834_);
lean_dec_ref(v___y_2833_);
return v_res_2838_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4___redArg(lean_object* v_ref_2839_, lean_object* v_msg_2840_, lean_object* v_declHint_2841_, lean_object* v___y_2842_, lean_object* v___y_2843_, lean_object* v___y_2844_, lean_object* v___y_2845_){
_start:
{
lean_object* v___x_2847_; lean_object* v_a_2848_; lean_object* v___x_2849_; 
v___x_2847_ = l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5(v_msg_2840_, v_declHint_2841_, v___y_2842_, v___y_2843_, v___y_2844_, v___y_2845_);
v_a_2848_ = lean_ctor_get(v___x_2847_, 0);
lean_inc(v_a_2848_);
lean_dec_ref(v___x_2847_);
v___x_2849_ = l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__6___redArg(v_ref_2839_, v_a_2848_, v___y_2842_, v___y_2843_, v___y_2844_, v___y_2845_);
return v___x_2849_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4___redArg___boxed(lean_object* v_ref_2850_, lean_object* v_msg_2851_, lean_object* v_declHint_2852_, lean_object* v___y_2853_, lean_object* v___y_2854_, lean_object* v___y_2855_, lean_object* v___y_2856_, lean_object* v___y_2857_){
_start:
{
lean_object* v_res_2858_; 
v_res_2858_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4___redArg(v_ref_2850_, v_msg_2851_, v_declHint_2852_, v___y_2853_, v___y_2854_, v___y_2855_, v___y_2856_);
lean_dec(v___y_2856_);
lean_dec(v___y_2854_);
lean_dec_ref(v___y_2853_);
lean_dec(v_ref_2850_);
return v_res_2858_;
}
}
static lean_object* _init_l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1___redArg___closed__1(void){
_start:
{
lean_object* v___x_2860_; lean_object* v___x_2861_; 
v___x_2860_ = ((lean_object*)(l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1___redArg___closed__0));
v___x_2861_ = l_Lean_stringToMessageData(v___x_2860_);
return v___x_2861_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1___redArg(lean_object* v_ref_2862_, lean_object* v_constName_2863_, lean_object* v___y_2864_, lean_object* v___y_2865_, lean_object* v___y_2866_, lean_object* v___y_2867_){
_start:
{
lean_object* v___x_2869_; uint8_t v___x_2870_; lean_object* v___x_2871_; lean_object* v___x_2872_; lean_object* v___x_2873_; lean_object* v___x_2874_; lean_object* v___x_2875_; 
v___x_2869_ = lean_obj_once(&l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1___redArg___closed__1, &l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1___redArg___closed__1_once, _init_l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1___redArg___closed__1);
v___x_2870_ = 0;
lean_inc(v_constName_2863_);
v___x_2871_ = l_Lean_MessageData_ofConstName(v_constName_2863_, v___x_2870_);
v___x_2872_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2872_, 0, v___x_2869_);
lean_ctor_set(v___x_2872_, 1, v___x_2871_);
v___x_2873_ = lean_obj_once(&l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__1, &l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__1_once, _init_l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__1);
v___x_2874_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2874_, 0, v___x_2872_);
lean_ctor_set(v___x_2874_, 1, v___x_2873_);
v___x_2875_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4___redArg(v_ref_2862_, v___x_2874_, v_constName_2863_, v___y_2864_, v___y_2865_, v___y_2866_, v___y_2867_);
return v___x_2875_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1___redArg___boxed(lean_object* v_ref_2876_, lean_object* v_constName_2877_, lean_object* v___y_2878_, lean_object* v___y_2879_, lean_object* v___y_2880_, lean_object* v___y_2881_, lean_object* v___y_2882_){
_start:
{
lean_object* v_res_2883_; 
v_res_2883_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1___redArg(v_ref_2876_, v_constName_2877_, v___y_2878_, v___y_2879_, v___y_2880_, v___y_2881_);
lean_dec(v___y_2881_);
lean_dec(v___y_2879_);
lean_dec_ref(v___y_2878_);
lean_dec(v_ref_2876_);
return v_res_2883_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0___redArg(lean_object* v_constName_2884_, lean_object* v___y_2885_, lean_object* v___y_2886_, lean_object* v___y_2887_, lean_object* v___y_2888_){
_start:
{
lean_object* v_ref_2890_; lean_object* v___x_2891_; 
v_ref_2890_ = lean_ctor_get(v___y_2887_, 5);
lean_inc(v_ref_2890_);
v___x_2891_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1___redArg(v_ref_2890_, v_constName_2884_, v___y_2885_, v___y_2886_, v___y_2887_, v___y_2888_);
lean_dec(v_ref_2890_);
return v___x_2891_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0___redArg___boxed(lean_object* v_constName_2892_, lean_object* v___y_2893_, lean_object* v___y_2894_, lean_object* v___y_2895_, lean_object* v___y_2896_, lean_object* v___y_2897_){
_start:
{
lean_object* v_res_2898_; 
v_res_2898_ = l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0___redArg(v_constName_2892_, v___y_2893_, v___y_2894_, v___y_2895_, v___y_2896_);
lean_dec(v___y_2896_);
lean_dec(v___y_2894_);
lean_dec_ref(v___y_2893_);
return v_res_2898_;
}
}
LEAN_EXPORT lean_object* l_Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0(lean_object* v_constName_2899_, lean_object* v___y_2900_, lean_object* v___y_2901_, lean_object* v___y_2902_, lean_object* v___y_2903_){
_start:
{
lean_object* v___x_2905_; lean_object* v_env_2906_; uint8_t v___x_2907_; lean_object* v___x_2908_; 
v___x_2905_ = lean_st_ref_get(v___y_2903_);
v_env_2906_ = lean_ctor_get(v___x_2905_, 0);
lean_inc_ref(v_env_2906_);
lean_dec(v___x_2905_);
v___x_2907_ = 0;
lean_inc(v_constName_2899_);
v___x_2908_ = l_Lean_Environment_find_x3f(v_env_2906_, v_constName_2899_, v___x_2907_);
if (lean_obj_tag(v___x_2908_) == 0)
{
lean_object* v___x_2909_; 
v___x_2909_ = l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0___redArg(v_constName_2899_, v___y_2900_, v___y_2901_, v___y_2902_, v___y_2903_);
return v___x_2909_;
}
else
{
lean_object* v_val_2910_; lean_object* v___x_2912_; uint8_t v_isShared_2913_; uint8_t v_isSharedCheck_2917_; 
lean_dec_ref(v___y_2902_);
lean_dec(v_constName_2899_);
v_val_2910_ = lean_ctor_get(v___x_2908_, 0);
v_isSharedCheck_2917_ = !lean_is_exclusive(v___x_2908_);
if (v_isSharedCheck_2917_ == 0)
{
v___x_2912_ = v___x_2908_;
v_isShared_2913_ = v_isSharedCheck_2917_;
goto v_resetjp_2911_;
}
else
{
lean_inc(v_val_2910_);
lean_dec(v___x_2908_);
v___x_2912_ = lean_box(0);
v_isShared_2913_ = v_isSharedCheck_2917_;
goto v_resetjp_2911_;
}
v_resetjp_2911_:
{
lean_object* v___x_2915_; 
if (v_isShared_2913_ == 0)
{
lean_ctor_set_tag(v___x_2912_, 0);
v___x_2915_ = v___x_2912_;
goto v_reusejp_2914_;
}
else
{
lean_object* v_reuseFailAlloc_2916_; 
v_reuseFailAlloc_2916_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2916_, 0, v_val_2910_);
v___x_2915_ = v_reuseFailAlloc_2916_;
goto v_reusejp_2914_;
}
v_reusejp_2914_:
{
return v___x_2915_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0___boxed(lean_object* v_constName_2918_, lean_object* v___y_2919_, lean_object* v___y_2920_, lean_object* v___y_2921_, lean_object* v___y_2922_, lean_object* v___y_2923_){
_start:
{
lean_object* v_res_2924_; 
v_res_2924_ = l_Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0(v_constName_2918_, v___y_2919_, v___y_2920_, v___y_2921_, v___y_2922_);
lean_dec(v___y_2922_);
lean_dec(v___y_2920_);
lean_dec_ref(v___y_2919_);
return v_res_2924_;
}
}
LEAN_EXPORT lean_object* l___private_Init_WFExtrinsicFix_0__WellFounded_opaqueFix_u2082___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__1___redArg(lean_object* v_a_2925_, lean_object* v_b_2926_){
_start:
{
lean_object* v_array_2927_; lean_object* v_start_2928_; lean_object* v_stop_2929_; lean_object* v___x_2931_; uint8_t v_isShared_2932_; uint8_t v_isSharedCheck_2942_; 
v_array_2927_ = lean_ctor_get(v_a_2925_, 0);
v_start_2928_ = lean_ctor_get(v_a_2925_, 1);
v_stop_2929_ = lean_ctor_get(v_a_2925_, 2);
v_isSharedCheck_2942_ = !lean_is_exclusive(v_a_2925_);
if (v_isSharedCheck_2942_ == 0)
{
v___x_2931_ = v_a_2925_;
v_isShared_2932_ = v_isSharedCheck_2942_;
goto v_resetjp_2930_;
}
else
{
lean_inc(v_stop_2929_);
lean_inc(v_start_2928_);
lean_inc(v_array_2927_);
lean_dec(v_a_2925_);
v___x_2931_ = lean_box(0);
v_isShared_2932_ = v_isSharedCheck_2942_;
goto v_resetjp_2930_;
}
v_resetjp_2930_:
{
uint8_t v___x_2933_; 
v___x_2933_ = lean_nat_dec_lt(v_start_2928_, v_stop_2929_);
if (v___x_2933_ == 0)
{
lean_del_object(v___x_2931_);
lean_dec(v_stop_2929_);
lean_dec(v_start_2928_);
lean_dec_ref(v_array_2927_);
return v_b_2926_;
}
else
{
lean_object* v___x_2934_; lean_object* v___x_2935_; lean_object* v___x_2937_; 
v___x_2934_ = lean_unsigned_to_nat(1u);
v___x_2935_ = lean_nat_add(v_start_2928_, v___x_2934_);
lean_inc_ref(v_array_2927_);
if (v_isShared_2932_ == 0)
{
lean_ctor_set(v___x_2931_, 1, v___x_2935_);
v___x_2937_ = v___x_2931_;
goto v_reusejp_2936_;
}
else
{
lean_object* v_reuseFailAlloc_2941_; 
v_reuseFailAlloc_2941_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v_reuseFailAlloc_2941_, 0, v_array_2927_);
lean_ctor_set(v_reuseFailAlloc_2941_, 1, v___x_2935_);
lean_ctor_set(v_reuseFailAlloc_2941_, 2, v_stop_2929_);
v___x_2937_ = v_reuseFailAlloc_2941_;
goto v_reusejp_2936_;
}
v_reusejp_2936_:
{
lean_object* v___x_2938_; lean_object* v___x_2939_; 
v___x_2938_ = lean_array_fget(v_array_2927_, v_start_2928_);
lean_dec(v_start_2928_);
lean_dec_ref(v_array_2927_);
v___x_2939_ = lean_array_push(v_b_2926_, v___x_2938_);
v_a_2925_ = v___x_2937_;
v_b_2926_ = v___x_2939_;
goto _start;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__2(size_t v_sz_2943_, size_t v_i_2944_, lean_object* v_bs_2945_){
_start:
{
uint8_t v___x_2946_; 
v___x_2946_ = lean_usize_dec_lt(v_i_2944_, v_sz_2943_);
if (v___x_2946_ == 0)
{
return v_bs_2945_;
}
else
{
lean_object* v_v_2947_; lean_object* v___x_2948_; lean_object* v_bs_x27_2949_; lean_object* v___x_2950_; size_t v___x_2951_; size_t v___x_2952_; lean_object* v___x_2953_; 
v_v_2947_ = lean_array_uget(v_bs_2945_, v_i_2944_);
v___x_2948_ = lean_unsigned_to_nat(0u);
v_bs_x27_2949_ = lean_array_uset(v_bs_2945_, v_i_2944_, v___x_2948_);
v___x_2950_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_2950_, 0, v_v_2947_);
v___x_2951_ = ((size_t)1ULL);
v___x_2952_ = lean_usize_add(v_i_2944_, v___x_2951_);
v___x_2953_ = lean_array_uset(v_bs_x27_2949_, v_i_2944_, v___x_2950_);
v_i_2944_ = v___x_2952_;
v_bs_2945_ = v___x_2953_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__2___boxed(lean_object* v_sz_2955_, lean_object* v_i_2956_, lean_object* v_bs_2957_){
_start:
{
size_t v_sz_boxed_2958_; size_t v_i_boxed_2959_; lean_object* v_res_2960_; 
v_sz_boxed_2958_ = lean_unbox_usize(v_sz_2955_);
lean_dec(v_sz_2955_);
v_i_boxed_2959_ = lean_unbox_usize(v_i_2956_);
lean_dec(v_i_2956_);
v_res_2960_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__2(v_sz_boxed_2958_, v_i_boxed_2959_, v_bs_2957_);
return v_res_2960_;
}
}
static lean_object* _init_l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__1(void){
_start:
{
lean_object* v___x_2962_; lean_object* v___x_2963_; 
v___x_2962_ = ((lean_object*)(l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__0));
v___x_2963_ = l_Lean_stringToMessageData(v___x_2962_);
return v___x_2963_;
}
}
static lean_object* _init_l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3(void){
_start:
{
lean_object* v___x_2965_; lean_object* v_dummy_2966_; 
v___x_2965_ = lean_box(0);
v_dummy_2966_ = l_Lean_Expr_sort___override(v___x_2965_);
return v_dummy_2966_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfSpecLemmaInstance(lean_object* v_ctorApp_2967_, lean_object* v_a_2968_, lean_object* v_a_2969_, lean_object* v_a_2970_, lean_object* v_a_2971_){
_start:
{
lean_object* v___y_2974_; lean_object* v___y_2975_; lean_object* v___y_2976_; lean_object* v___y_2977_; lean_object* v___x_2982_; 
v___x_2982_ = l_Lean_Expr_getAppFn(v_ctorApp_2967_);
if (lean_obj_tag(v___x_2982_) == 4)
{
lean_object* v_declName_2983_; lean_object* v___x_2984_; lean_object* v_env_2985_; uint8_t v___x_2986_; lean_object* v___x_2987_; 
v_declName_2983_ = lean_ctor_get(v___x_2982_, 0);
lean_inc(v_declName_2983_);
lean_dec_ref(v___x_2982_);
v___x_2984_ = lean_st_ref_get(v_a_2971_);
v_env_2985_ = lean_ctor_get(v___x_2984_, 0);
lean_inc_ref(v_env_2985_);
lean_dec(v___x_2984_);
v___x_2986_ = 0;
v___x_2987_ = l_Lean_Environment_find_x3f(v_env_2985_, v_declName_2983_, v___x_2986_);
if (lean_obj_tag(v___x_2987_) == 0)
{
v___y_2974_ = v_a_2968_;
v___y_2975_ = v_a_2969_;
v___y_2976_ = v_a_2970_;
v___y_2977_ = v_a_2971_;
goto v___jp_2973_;
}
else
{
lean_object* v_val_2988_; 
v_val_2988_ = lean_ctor_get(v___x_2987_, 0);
lean_inc(v_val_2988_);
lean_dec_ref(v___x_2987_);
if (lean_obj_tag(v_val_2988_) == 6)
{
lean_object* v_val_2989_; lean_object* v_toConstantVal_2990_; lean_object* v_numParams_2991_; lean_object* v_numFields_2992_; lean_object* v_nargs_2993_; lean_object* v___f_2994_; lean_object* v_dummy_2995_; lean_object* v___x_2996_; lean_object* v___x_2997_; lean_object* v___x_2998_; lean_object* v_ctorArgs_2999_; lean_object* v___x_3000_; lean_object* v_ctorParams_3001_; lean_object* v___y_3003_; lean_object* v___x_3045_; uint8_t v___x_3046_; 
v_val_2989_ = lean_ctor_get(v_val_2988_, 0);
lean_inc_ref(v_val_2989_);
lean_dec_ref(v_val_2988_);
v_toConstantVal_2990_ = lean_ctor_get(v_val_2989_, 0);
lean_inc_ref(v_toConstantVal_2990_);
v_numParams_2991_ = lean_ctor_get(v_val_2989_, 3);
lean_inc(v_numParams_2991_);
v_numFields_2992_ = lean_ctor_get(v_val_2989_, 4);
lean_inc(v_numFields_2992_);
lean_dec_ref(v_val_2989_);
v_nargs_2993_ = l_Lean_Expr_getAppNumArgs(v_ctorApp_2967_);
v___f_2994_ = ((lean_object*)(l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__2));
v_dummy_2995_ = lean_obj_once(&l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3, &l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3_once, _init_l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3);
lean_inc(v_nargs_2993_);
v___x_2996_ = lean_mk_array(v_nargs_2993_, v_dummy_2995_);
v___x_2997_ = lean_unsigned_to_nat(1u);
v___x_2998_ = lean_nat_sub(v_nargs_2993_, v___x_2997_);
lean_dec(v_nargs_2993_);
v_ctorArgs_2999_ = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(v_ctorApp_2967_, v___x_2996_, v___x_2998_);
v___x_3000_ = lean_unsigned_to_nat(0u);
lean_inc(v_numParams_2991_);
lean_inc_ref(v_ctorArgs_2999_);
v_ctorParams_3001_ = l_Array_toSubarray___redArg(v_ctorArgs_2999_, v___x_3000_, v_numParams_2991_);
v___x_3045_ = lean_array_get_size(v_ctorArgs_2999_);
v___x_3046_ = lean_nat_dec_le(v_numParams_2991_, v___x_3000_);
if (v___x_3046_ == 0)
{
lean_object* v___x_3047_; 
lean_inc(v_numParams_2991_);
v___x_3047_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3047_, 0, v_numParams_2991_);
lean_ctor_set(v___x_3047_, 1, v___x_3045_);
v___y_3003_ = v___x_3047_;
goto v___jp_3002_;
}
else
{
lean_object* v___x_3048_; 
v___x_3048_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3048_, 0, v___x_3000_);
lean_ctor_set(v___x_3048_, 1, v___x_3045_);
v___y_3003_ = v___x_3048_;
goto v___jp_3002_;
}
v___jp_3002_:
{
lean_object* v_name_3004_; lean_object* v_lemmaName_3005_; lean_object* v___x_3006_; 
v_name_3004_ = lean_ctor_get(v_toConstantVal_2990_, 0);
lean_inc(v_name_3004_);
lean_dec_ref(v_toConstantVal_2990_);
v_lemmaName_3005_ = l_Lean_Meta_mkSizeOfSpecLemmaName(v_name_3004_);
lean_inc_ref(v_a_2970_);
lean_inc(v_lemmaName_3005_);
v___x_3006_ = l_Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0(v_lemmaName_3005_, v_a_2968_, v_a_2969_, v_a_2970_, v_a_2971_);
if (lean_obj_tag(v___x_3006_) == 0)
{
lean_object* v_a_3007_; lean_object* v___x_3008_; lean_object* v___x_3009_; 
v_a_3007_ = lean_ctor_get(v___x_3006_, 0);
lean_inc(v_a_3007_);
lean_dec_ref(v___x_3006_);
v___x_3008_ = l_Lean_ConstantInfo_type(v_a_3007_);
lean_dec(v_a_3007_);
lean_inc(v_a_2971_);
lean_inc_ref(v_a_2970_);
lean_inc(v_a_2969_);
lean_inc_ref(v_a_2968_);
v___x_3009_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg(v___x_3008_, v___f_2994_, v___x_2986_, v___x_2986_, v_a_2968_, v_a_2969_, v_a_2970_, v_a_2971_);
if (lean_obj_tag(v___x_3009_) == 0)
{
lean_object* v_a_3010_; lean_object* v_lower_3011_; lean_object* v_upper_3012_; lean_object* v___x_3013_; lean_object* v___x_3014_; lean_object* v___x_3015_; size_t v_sz_3016_; size_t v___x_3017_; lean_object* v___x_3018_; lean_object* v___x_3019_; lean_object* v___x_3020_; lean_object* v___x_3021_; lean_object* v___x_3022_; lean_object* v___x_3023_; lean_object* v___x_3024_; size_t v_sz_3025_; lean_object* v___x_3026_; lean_object* v___x_3027_; lean_object* v___x_3028_; 
v_a_3010_ = lean_ctor_get(v___x_3009_, 0);
lean_inc(v_a_3010_);
lean_dec_ref(v___x_3009_);
v_lower_3011_ = lean_ctor_get(v___y_3003_, 0);
lean_inc(v_lower_3011_);
v_upper_3012_ = lean_ctor_get(v___y_3003_, 1);
lean_inc(v_upper_3012_);
lean_dec_ref(v___y_3003_);
v___x_3013_ = l_Array_toSubarray___redArg(v_ctorArgs_2999_, v_lower_3011_, v_upper_3012_);
v___x_3014_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances___redArg___closed__0));
v___x_3015_ = l___private_Init_WFExtrinsicFix_0__WellFounded_opaqueFix_u2082___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__1___redArg(v_ctorParams_3001_, v___x_3014_);
v_sz_3016_ = lean_array_size(v___x_3015_);
v___x_3017_ = ((size_t)0ULL);
v___x_3018_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__2(v_sz_3016_, v___x_3017_, v___x_3015_);
v___x_3019_ = lean_nat_sub(v_a_3010_, v_numParams_2991_);
lean_dec(v_numParams_2991_);
lean_dec(v_a_3010_);
v___x_3020_ = lean_nat_sub(v___x_3019_, v_numFields_2992_);
lean_dec(v_numFields_2992_);
lean_dec(v___x_3019_);
v___x_3021_ = lean_box(0);
v___x_3022_ = lean_mk_array(v___x_3020_, v___x_3021_);
v___x_3023_ = l_Array_append___redArg(v___x_3018_, v___x_3022_);
lean_dec_ref(v___x_3022_);
v___x_3024_ = l___private_Init_WFExtrinsicFix_0__WellFounded_opaqueFix_u2082___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__1___redArg(v___x_3013_, v___x_3014_);
v_sz_3025_ = lean_array_size(v___x_3024_);
v___x_3026_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__2(v_sz_3025_, v___x_3017_, v___x_3024_);
v___x_3027_ = l_Array_append___redArg(v___x_3023_, v___x_3026_);
lean_dec_ref(v___x_3026_);
v___x_3028_ = l_Lean_Meta_mkAppOptM(v_lemmaName_3005_, v___x_3027_, v_a_2968_, v_a_2969_, v_a_2970_, v_a_2971_);
return v___x_3028_;
}
else
{
lean_object* v_a_3029_; lean_object* v___x_3031_; uint8_t v_isShared_3032_; uint8_t v_isSharedCheck_3036_; 
lean_dec(v_lemmaName_3005_);
lean_dec_ref(v___y_3003_);
lean_dec_ref(v_ctorParams_3001_);
lean_dec_ref(v_ctorArgs_2999_);
lean_dec(v_numFields_2992_);
lean_dec(v_numParams_2991_);
lean_dec(v_a_2971_);
lean_dec_ref(v_a_2970_);
lean_dec(v_a_2969_);
lean_dec_ref(v_a_2968_);
v_a_3029_ = lean_ctor_get(v___x_3009_, 0);
v_isSharedCheck_3036_ = !lean_is_exclusive(v___x_3009_);
if (v_isSharedCheck_3036_ == 0)
{
v___x_3031_ = v___x_3009_;
v_isShared_3032_ = v_isSharedCheck_3036_;
goto v_resetjp_3030_;
}
else
{
lean_inc(v_a_3029_);
lean_dec(v___x_3009_);
v___x_3031_ = lean_box(0);
v_isShared_3032_ = v_isSharedCheck_3036_;
goto v_resetjp_3030_;
}
v_resetjp_3030_:
{
lean_object* v___x_3034_; 
if (v_isShared_3032_ == 0)
{
v___x_3034_ = v___x_3031_;
goto v_reusejp_3033_;
}
else
{
lean_object* v_reuseFailAlloc_3035_; 
v_reuseFailAlloc_3035_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3035_, 0, v_a_3029_);
v___x_3034_ = v_reuseFailAlloc_3035_;
goto v_reusejp_3033_;
}
v_reusejp_3033_:
{
return v___x_3034_;
}
}
}
}
else
{
lean_object* v_a_3037_; lean_object* v___x_3039_; uint8_t v_isShared_3040_; uint8_t v_isSharedCheck_3044_; 
lean_dec(v_lemmaName_3005_);
lean_dec_ref(v___y_3003_);
lean_dec_ref(v_ctorParams_3001_);
lean_dec_ref(v_ctorArgs_2999_);
lean_dec(v_numFields_2992_);
lean_dec(v_numParams_2991_);
lean_dec(v_a_2971_);
lean_dec_ref(v_a_2970_);
lean_dec(v_a_2969_);
lean_dec_ref(v_a_2968_);
v_a_3037_ = lean_ctor_get(v___x_3006_, 0);
v_isSharedCheck_3044_ = !lean_is_exclusive(v___x_3006_);
if (v_isSharedCheck_3044_ == 0)
{
v___x_3039_ = v___x_3006_;
v_isShared_3040_ = v_isSharedCheck_3044_;
goto v_resetjp_3038_;
}
else
{
lean_inc(v_a_3037_);
lean_dec(v___x_3006_);
v___x_3039_ = lean_box(0);
v_isShared_3040_ = v_isSharedCheck_3044_;
goto v_resetjp_3038_;
}
v_resetjp_3038_:
{
lean_object* v___x_3042_; 
if (v_isShared_3040_ == 0)
{
v___x_3042_ = v___x_3039_;
goto v_reusejp_3041_;
}
else
{
lean_object* v_reuseFailAlloc_3043_; 
v_reuseFailAlloc_3043_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3043_, 0, v_a_3037_);
v___x_3042_ = v_reuseFailAlloc_3043_;
goto v_reusejp_3041_;
}
v_reusejp_3041_:
{
return v___x_3042_;
}
}
}
}
}
else
{
lean_dec(v_val_2988_);
v___y_2974_ = v_a_2968_;
v___y_2975_ = v_a_2969_;
v___y_2976_ = v_a_2970_;
v___y_2977_ = v_a_2971_;
goto v___jp_2973_;
}
}
}
else
{
lean_dec_ref(v___x_2982_);
v___y_2974_ = v_a_2968_;
v___y_2975_ = v_a_2969_;
v___y_2976_ = v_a_2970_;
v___y_2977_ = v_a_2971_;
goto v___jp_2973_;
}
v___jp_2973_:
{
lean_object* v___x_2978_; lean_object* v___x_2979_; lean_object* v___x_2980_; lean_object* v___x_2981_; 
v___x_2978_ = lean_obj_once(&l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__1, &l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__1_once, _init_l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__1);
v___x_2979_ = l_Lean_indentExpr(v_ctorApp_2967_);
v___x_2980_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2980_, 0, v___x_2978_);
lean_ctor_set(v___x_2980_, 1, v___x_2979_);
v___x_2981_ = l_Lean_throwError___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__0___redArg(v___x_2980_, v___y_2974_, v___y_2975_, v___y_2976_, v___y_2977_);
lean_dec(v___y_2977_);
lean_dec_ref(v___y_2976_);
lean_dec(v___y_2975_);
lean_dec_ref(v___y_2974_);
return v___x_2981_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfSpecLemmaInstance___boxed(lean_object* v_ctorApp_3049_, lean_object* v_a_3050_, lean_object* v_a_3051_, lean_object* v_a_3052_, lean_object* v_a_3053_, lean_object* v_a_3054_){
_start:
{
lean_object* v_res_3055_; 
v_res_3055_ = l_Lean_Meta_mkSizeOfSpecLemmaInstance(v_ctorApp_3049_, v_a_3050_, v_a_3051_, v_a_3052_, v_a_3053_);
return v_res_3055_;
}
}
LEAN_EXPORT lean_object* l___private_Init_WFExtrinsicFix_0__WellFounded_opaqueFix_u2082___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__1(lean_object* v_inst_3056_, lean_object* v_R_3057_, lean_object* v_a_3058_, lean_object* v_b_3059_){
_start:
{
lean_object* v___x_3060_; 
v___x_3060_ = l___private_Init_WFExtrinsicFix_0__WellFounded_opaqueFix_u2082___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__1___redArg(v_a_3058_, v_b_3059_);
return v___x_3060_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0(lean_object* v_00_u03b1_3061_, lean_object* v_constName_3062_, lean_object* v___y_3063_, lean_object* v___y_3064_, lean_object* v___y_3065_, lean_object* v___y_3066_){
_start:
{
lean_object* v___x_3068_; 
v___x_3068_ = l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0___redArg(v_constName_3062_, v___y_3063_, v___y_3064_, v___y_3065_, v___y_3066_);
return v___x_3068_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0___boxed(lean_object* v_00_u03b1_3069_, lean_object* v_constName_3070_, lean_object* v___y_3071_, lean_object* v___y_3072_, lean_object* v___y_3073_, lean_object* v___y_3074_, lean_object* v___y_3075_){
_start:
{
lean_object* v_res_3076_; 
v_res_3076_ = l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0(v_00_u03b1_3069_, v_constName_3070_, v___y_3071_, v___y_3072_, v___y_3073_, v___y_3074_);
lean_dec(v___y_3074_);
lean_dec(v___y_3072_);
lean_dec_ref(v___y_3071_);
return v_res_3076_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1(lean_object* v_00_u03b1_3077_, lean_object* v_ref_3078_, lean_object* v_constName_3079_, lean_object* v___y_3080_, lean_object* v___y_3081_, lean_object* v___y_3082_, lean_object* v___y_3083_){
_start:
{
lean_object* v___x_3085_; 
v___x_3085_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1___redArg(v_ref_3078_, v_constName_3079_, v___y_3080_, v___y_3081_, v___y_3082_, v___y_3083_);
return v___x_3085_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1___boxed(lean_object* v_00_u03b1_3086_, lean_object* v_ref_3087_, lean_object* v_constName_3088_, lean_object* v___y_3089_, lean_object* v___y_3090_, lean_object* v___y_3091_, lean_object* v___y_3092_, lean_object* v___y_3093_){
_start:
{
lean_object* v_res_3094_; 
v_res_3094_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1(v_00_u03b1_3086_, v_ref_3087_, v_constName_3088_, v___y_3089_, v___y_3090_, v___y_3091_, v___y_3092_);
lean_dec(v___y_3092_);
lean_dec(v___y_3090_);
lean_dec_ref(v___y_3089_);
lean_dec(v_ref_3087_);
return v_res_3094_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4(lean_object* v_00_u03b1_3095_, lean_object* v_ref_3096_, lean_object* v_msg_3097_, lean_object* v_declHint_3098_, lean_object* v___y_3099_, lean_object* v___y_3100_, lean_object* v___y_3101_, lean_object* v___y_3102_){
_start:
{
lean_object* v___x_3104_; 
v___x_3104_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4___redArg(v_ref_3096_, v_msg_3097_, v_declHint_3098_, v___y_3099_, v___y_3100_, v___y_3101_, v___y_3102_);
return v___x_3104_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4___boxed(lean_object* v_00_u03b1_3105_, lean_object* v_ref_3106_, lean_object* v_msg_3107_, lean_object* v_declHint_3108_, lean_object* v___y_3109_, lean_object* v___y_3110_, lean_object* v___y_3111_, lean_object* v___y_3112_, lean_object* v___y_3113_){
_start:
{
lean_object* v_res_3114_; 
v_res_3114_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4(v_00_u03b1_3105_, v_ref_3106_, v_msg_3107_, v_declHint_3108_, v___y_3109_, v___y_3110_, v___y_3111_, v___y_3112_);
lean_dec(v___y_3112_);
lean_dec(v___y_3110_);
lean_dec_ref(v___y_3109_);
lean_dec(v_ref_3106_);
return v_res_3114_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6(lean_object* v_msg_3115_, lean_object* v_declHint_3116_, lean_object* v___y_3117_, lean_object* v___y_3118_, lean_object* v___y_3119_, lean_object* v___y_3120_){
_start:
{
lean_object* v___x_3122_; 
v___x_3122_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___redArg(v_msg_3115_, v_declHint_3116_, v___y_3120_);
return v___x_3122_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___boxed(lean_object* v_msg_3123_, lean_object* v_declHint_3124_, lean_object* v___y_3125_, lean_object* v___y_3126_, lean_object* v___y_3127_, lean_object* v___y_3128_, lean_object* v___y_3129_){
_start:
{
lean_object* v_res_3130_; 
v_res_3130_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6(v_msg_3123_, v_declHint_3124_, v___y_3125_, v___y_3126_, v___y_3127_, v___y_3128_);
lean_dec(v___y_3128_);
lean_dec_ref(v___y_3127_);
lean_dec(v___y_3126_);
lean_dec_ref(v___y_3125_);
return v_res_3130_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__6(lean_object* v_00_u03b1_3131_, lean_object* v_ref_3132_, lean_object* v_msg_3133_, lean_object* v___y_3134_, lean_object* v___y_3135_, lean_object* v___y_3136_, lean_object* v___y_3137_){
_start:
{
lean_object* v___x_3139_; 
v___x_3139_ = l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__6___redArg(v_ref_3132_, v_msg_3133_, v___y_3134_, v___y_3135_, v___y_3136_, v___y_3137_);
return v___x_3139_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__6___boxed(lean_object* v_00_u03b1_3140_, lean_object* v_ref_3141_, lean_object* v_msg_3142_, lean_object* v___y_3143_, lean_object* v___y_3144_, lean_object* v___y_3145_, lean_object* v___y_3146_, lean_object* v___y_3147_){
_start:
{
lean_object* v_res_3148_; 
v_res_3148_ = l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00Lean_Meta_mkSizeOfSpecLemmaInstance_spec__0_spec__0_spec__1_spec__4_spec__6(v_00_u03b1_3140_, v_ref_3141_, v_msg_3142_, v___y_3143_, v___y_3144_, v___y_3145_, v___y_3146_);
lean_dec(v___y_3146_);
lean_dec(v___y_3144_);
lean_dec_ref(v___y_3143_);
lean_dec(v_ref_3141_);
return v_res_3148_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_Meta_SizeOfSpecNested_throwUnexpected_spec__0___redArg(lean_object* v_msg_3149_, lean_object* v___y_3150_, lean_object* v___y_3151_, lean_object* v___y_3152_, lean_object* v___y_3153_){
_start:
{
lean_object* v_ref_3155_; lean_object* v___x_3156_; lean_object* v_a_3157_; lean_object* v___x_3159_; uint8_t v_isShared_3160_; uint8_t v_isSharedCheck_3165_; 
v_ref_3155_ = lean_ctor_get(v___y_3152_, 5);
v___x_3156_ = l_Lean_addMessageContextFull___at___00Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1_spec__1(v_msg_3149_, v___y_3150_, v___y_3151_, v___y_3152_, v___y_3153_);
v_a_3157_ = lean_ctor_get(v___x_3156_, 0);
v_isSharedCheck_3165_ = !lean_is_exclusive(v___x_3156_);
if (v_isSharedCheck_3165_ == 0)
{
v___x_3159_ = v___x_3156_;
v_isShared_3160_ = v_isSharedCheck_3165_;
goto v_resetjp_3158_;
}
else
{
lean_inc(v_a_3157_);
lean_dec(v___x_3156_);
v___x_3159_ = lean_box(0);
v_isShared_3160_ = v_isSharedCheck_3165_;
goto v_resetjp_3158_;
}
v_resetjp_3158_:
{
lean_object* v___x_3161_; lean_object* v___x_3163_; 
lean_inc(v_ref_3155_);
v___x_3161_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3161_, 0, v_ref_3155_);
lean_ctor_set(v___x_3161_, 1, v_a_3157_);
if (v_isShared_3160_ == 0)
{
lean_ctor_set_tag(v___x_3159_, 1);
lean_ctor_set(v___x_3159_, 0, v___x_3161_);
v___x_3163_ = v___x_3159_;
goto v_reusejp_3162_;
}
else
{
lean_object* v_reuseFailAlloc_3164_; 
v_reuseFailAlloc_3164_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3164_, 0, v___x_3161_);
v___x_3163_ = v_reuseFailAlloc_3164_;
goto v_reusejp_3162_;
}
v_reusejp_3162_:
{
return v___x_3163_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_Meta_SizeOfSpecNested_throwUnexpected_spec__0___redArg___boxed(lean_object* v_msg_3166_, lean_object* v___y_3167_, lean_object* v___y_3168_, lean_object* v___y_3169_, lean_object* v___y_3170_, lean_object* v___y_3171_){
_start:
{
lean_object* v_res_3172_; 
v_res_3172_ = l_Lean_throwError___at___00Lean_Meta_SizeOfSpecNested_throwUnexpected_spec__0___redArg(v_msg_3166_, v___y_3167_, v___y_3168_, v___y_3169_, v___y_3170_);
lean_dec(v___y_3170_);
lean_dec_ref(v___y_3169_);
lean_dec(v___y_3168_);
lean_dec_ref(v___y_3167_);
return v_res_3172_;
}
}
static lean_object* _init_l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__1(void){
_start:
{
lean_object* v___x_3174_; lean_object* v___x_3175_; 
v___x_3174_ = ((lean_object*)(l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__0));
v___x_3175_ = l_Lean_stringToMessageData(v___x_3174_);
return v___x_3175_;
}
}
static lean_object* _init_l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__3(void){
_start:
{
lean_object* v___x_3177_; lean_object* v___x_3178_; 
v___x_3177_ = ((lean_object*)(l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__2));
v___x_3178_ = l_Lean_stringToMessageData(v___x_3177_);
return v___x_3178_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg(lean_object* v_msg_3179_, lean_object* v_a_3180_, lean_object* v_a_3181_, lean_object* v_a_3182_, lean_object* v_a_3183_, lean_object* v_a_3184_){
_start:
{
lean_object* v_ctorName_3186_; lean_object* v___x_3187_; lean_object* v___x_3188_; lean_object* v___x_3189_; lean_object* v___x_3190_; lean_object* v___x_3191_; lean_object* v___x_3192_; lean_object* v___x_3193_; 
v_ctorName_3186_ = lean_ctor_get(v_a_3180_, 2);
lean_inc(v_ctorName_3186_);
lean_dec_ref(v_a_3180_);
v___x_3187_ = lean_obj_once(&l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__1, &l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__1_once, _init_l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__1);
v___x_3188_ = l_Lean_MessageData_ofName(v_ctorName_3186_);
v___x_3189_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3189_, 0, v___x_3187_);
lean_ctor_set(v___x_3189_, 1, v___x_3188_);
v___x_3190_ = lean_obj_once(&l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__3, &l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__3_once, _init_l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__3);
v___x_3191_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3191_, 0, v___x_3189_);
lean_ctor_set(v___x_3191_, 1, v___x_3190_);
v___x_3192_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3192_, 0, v___x_3191_);
lean_ctor_set(v___x_3192_, 1, v_msg_3179_);
v___x_3193_ = l_Lean_throwError___at___00Lean_Meta_SizeOfSpecNested_throwUnexpected_spec__0___redArg(v___x_3192_, v_a_3181_, v_a_3182_, v_a_3183_, v_a_3184_);
return v___x_3193_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___boxed(lean_object* v_msg_3194_, lean_object* v_a_3195_, lean_object* v_a_3196_, lean_object* v_a_3197_, lean_object* v_a_3198_, lean_object* v_a_3199_, lean_object* v_a_3200_){
_start:
{
lean_object* v_res_3201_; 
v_res_3201_ = l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg(v_msg_3194_, v_a_3195_, v_a_3196_, v_a_3197_, v_a_3198_, v_a_3199_);
lean_dec(v_a_3199_);
lean_dec_ref(v_a_3198_);
lean_dec(v_a_3197_);
lean_dec_ref(v_a_3196_);
return v_res_3201_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_throwUnexpected(lean_object* v_00_u03b1_3202_, lean_object* v_msg_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___x_3210_; 
v___x_3210_ = l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg(v_msg_3203_, v_a_3204_, v_a_3205_, v_a_3206_, v_a_3207_, v_a_3208_);
return v___x_3210_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_throwUnexpected___boxed(lean_object* v_00_u03b1_3211_, lean_object* v_msg_3212_, lean_object* v_a_3213_, lean_object* v_a_3214_, lean_object* v_a_3215_, lean_object* v_a_3216_, lean_object* v_a_3217_, lean_object* v_a_3218_){
_start:
{
lean_object* v_res_3219_; 
v_res_3219_ = l_Lean_Meta_SizeOfSpecNested_throwUnexpected(v_00_u03b1_3211_, v_msg_3212_, v_a_3213_, v_a_3214_, v_a_3215_, v_a_3216_, v_a_3217_);
lean_dec(v_a_3217_);
lean_dec_ref(v_a_3216_);
lean_dec(v_a_3215_);
lean_dec_ref(v_a_3214_);
return v_res_3219_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_Meta_SizeOfSpecNested_throwUnexpected_spec__0(lean_object* v_00_u03b1_3220_, lean_object* v_msg_3221_, lean_object* v___y_3222_, lean_object* v___y_3223_, lean_object* v___y_3224_, lean_object* v___y_3225_, lean_object* v___y_3226_){
_start:
{
lean_object* v___x_3228_; 
v___x_3228_ = l_Lean_throwError___at___00Lean_Meta_SizeOfSpecNested_throwUnexpected_spec__0___redArg(v_msg_3221_, v___y_3223_, v___y_3224_, v___y_3225_, v___y_3226_);
return v___x_3228_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_Meta_SizeOfSpecNested_throwUnexpected_spec__0___boxed(lean_object* v_00_u03b1_3229_, lean_object* v_msg_3230_, lean_object* v___y_3231_, lean_object* v___y_3232_, lean_object* v___y_3233_, lean_object* v___y_3234_, lean_object* v___y_3235_, lean_object* v___y_3236_){
_start:
{
lean_object* v_res_3237_; 
v_res_3237_ = l_Lean_throwError___at___00Lean_Meta_SizeOfSpecNested_throwUnexpected_spec__0(v_00_u03b1_3229_, v_msg_3230_, v___y_3231_, v___y_3232_, v___y_3233_, v___y_3234_, v___y_3235_);
lean_dec(v___y_3235_);
lean_dec_ref(v___y_3234_);
lean_dec(v___y_3233_);
lean_dec_ref(v___y_3232_);
lean_dec_ref(v___y_3231_);
return v_res_3237_;
}
}
static lean_object* _init_l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg___closed__1(void){
_start:
{
lean_object* v___x_3239_; lean_object* v___x_3240_; 
v___x_3239_ = ((lean_object*)(l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg___closed__0));
v___x_3240_ = l_Lean_stringToMessageData(v___x_3239_);
return v___x_3240_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg(lean_object* v_a_3241_, lean_object* v_a_3242_, lean_object* v_a_3243_, lean_object* v_a_3244_, lean_object* v_a_3245_){
_start:
{
lean_object* v_ctorName_3247_; lean_object* v___x_3248_; lean_object* v___x_3249_; lean_object* v___x_3250_; lean_object* v___x_3251_; lean_object* v___x_3252_; lean_object* v___x_3253_; 
v_ctorName_3247_ = lean_ctor_get(v_a_3241_, 2);
lean_inc(v_ctorName_3247_);
lean_dec_ref(v_a_3241_);
v___x_3248_ = lean_obj_once(&l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__1, &l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__1_once, _init_l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg___closed__1);
v___x_3249_ = l_Lean_MessageData_ofName(v_ctorName_3247_);
v___x_3250_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3250_, 0, v___x_3248_);
lean_ctor_set(v___x_3250_, 1, v___x_3249_);
v___x_3251_ = lean_obj_once(&l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg___closed__1, &l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg___closed__1_once, _init_l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg___closed__1);
v___x_3252_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3252_, 0, v___x_3250_);
lean_ctor_set(v___x_3252_, 1, v___x_3251_);
v___x_3253_ = l_Lean_throwError___at___00Lean_Meta_SizeOfSpecNested_throwUnexpected_spec__0___redArg(v___x_3252_, v_a_3242_, v_a_3243_, v_a_3244_, v_a_3245_);
return v___x_3253_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg___boxed(lean_object* v_a_3254_, lean_object* v_a_3255_, lean_object* v_a_3256_, lean_object* v_a_3257_, lean_object* v_a_3258_, lean_object* v_a_3259_){
_start:
{
lean_object* v_res_3260_; 
v_res_3260_ = l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg(v_a_3254_, v_a_3255_, v_a_3256_, v_a_3257_, v_a_3258_);
lean_dec(v_a_3258_);
lean_dec_ref(v_a_3257_);
lean_dec(v_a_3256_);
lean_dec_ref(v_a_3255_);
return v_res_3260_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_throwFailed(lean_object* v_00_u03b1_3261_, lean_object* v_a_3262_, lean_object* v_a_3263_, lean_object* v_a_3264_, lean_object* v_a_3265_, lean_object* v_a_3266_){
_start:
{
lean_object* v___x_3268_; 
v___x_3268_ = l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg(v_a_3262_, v_a_3263_, v_a_3264_, v_a_3265_, v_a_3266_);
return v___x_3268_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_throwFailed___boxed(lean_object* v_00_u03b1_3269_, lean_object* v_a_3270_, lean_object* v_a_3271_, lean_object* v_a_3272_, lean_object* v_a_3273_, lean_object* v_a_3274_, lean_object* v_a_3275_){
_start:
{
lean_object* v_res_3276_; 
v_res_3276_ = l_Lean_Meta_SizeOfSpecNested_throwFailed(v_00_u03b1_3269_, v_a_3270_, v_a_3271_, v_a_3272_, v_a_3273_, v_a_3274_);
lean_dec(v_a_3274_);
lean_dec_ref(v_a_3273_);
lean_dec(v_a_3272_);
lean_dec_ref(v_a_3271_);
return v_res_3276_;
}
}
static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_recToSizeOf___closed__1(void){
_start:
{
lean_object* v___x_3278_; lean_object* v___x_3279_; 
v___x_3278_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_recToSizeOf___closed__0));
v___x_3279_ = l_Lean_stringToMessageData(v___x_3278_);
return v___x_3279_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_recToSizeOf(lean_object* v_e_3280_, lean_object* v_a_3281_, lean_object* v_a_3282_, lean_object* v_a_3283_, lean_object* v_a_3284_, lean_object* v_a_3285_){
_start:
{
lean_object* v___x_3287_; 
v___x_3287_ = l_Lean_Expr_getAppFn(v_e_3280_);
if (lean_obj_tag(v___x_3287_) == 4)
{
lean_object* v_declName_3288_; lean_object* v_us_3289_; lean_object* v___x_3290_; lean_object* v_env_3291_; uint8_t v___x_3292_; lean_object* v___x_3293_; 
v_declName_3288_ = lean_ctor_get(v___x_3287_, 0);
lean_inc(v_declName_3288_);
v_us_3289_ = lean_ctor_get(v___x_3287_, 1);
lean_inc(v_us_3289_);
lean_dec_ref(v___x_3287_);
v___x_3290_ = lean_st_ref_get(v_a_3285_);
v_env_3291_ = lean_ctor_get(v___x_3290_, 0);
lean_inc_ref(v_env_3291_);
lean_dec(v___x_3290_);
v___x_3292_ = 0;
v___x_3293_ = l_Lean_Environment_find_x3f(v_env_3291_, v_declName_3288_, v___x_3292_);
if (lean_obj_tag(v___x_3293_) == 0)
{
lean_object* v___x_3294_; 
lean_dec(v_us_3289_);
lean_dec_ref(v_e_3280_);
v___x_3294_ = l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg(v_a_3281_, v_a_3282_, v_a_3283_, v_a_3284_, v_a_3285_);
return v___x_3294_;
}
else
{
lean_object* v_val_3295_; 
v_val_3295_ = lean_ctor_get(v___x_3293_, 0);
lean_inc(v_val_3295_);
lean_dec_ref(v___x_3293_);
if (lean_obj_tag(v_val_3295_) == 7)
{
lean_object* v_val_3296_; lean_object* v_toConstantVal_3297_; lean_object* v_params_3298_; lean_object* v_localInsts_3299_; lean_object* v_recMap_3300_; lean_object* v_numIndices_3301_; lean_object* v_name_3302_; lean_object* v___x_3303_; 
v_val_3296_ = lean_ctor_get(v_val_3295_, 0);
lean_inc_ref(v_val_3296_);
lean_dec_ref(v_val_3295_);
v_toConstantVal_3297_ = lean_ctor_get(v_val_3296_, 0);
v_params_3298_ = lean_ctor_get(v_a_3281_, 3);
v_localInsts_3299_ = lean_ctor_get(v_a_3281_, 4);
v_recMap_3300_ = lean_ctor_get(v_a_3281_, 5);
v_numIndices_3301_ = lean_ctor_get(v_val_3296_, 3);
v_name_3302_ = lean_ctor_get(v_toConstantVal_3297_, 0);
v___x_3303_ = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00Lean_NameMap_find_x3f_spec__0___redArg(v_recMap_3300_, v_name_3302_);
if (lean_obj_tag(v___x_3303_) == 0)
{
lean_object* v___x_3304_; lean_object* v___x_3305_; lean_object* v___x_3306_; lean_object* v___x_3307_; 
lean_dec_ref(v_val_3296_);
lean_dec(v_us_3289_);
v___x_3304_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_recToSizeOf___closed__1, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_recToSizeOf___closed__1_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_recToSizeOf___closed__1);
v___x_3305_ = l_Lean_indentExpr(v_e_3280_);
v___x_3306_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3306_, 0, v___x_3304_);
lean_ctor_set(v___x_3306_, 1, v___x_3305_);
v___x_3307_ = l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg(v___x_3306_, v_a_3281_, v_a_3282_, v_a_3283_, v_a_3284_, v_a_3285_);
return v___x_3307_;
}
else
{
lean_object* v_val_3308_; lean_object* v___x_3310_; uint8_t v_isShared_3311_; uint8_t v_isSharedCheck_3336_; 
lean_inc_ref(v_localInsts_3299_);
lean_inc_ref(v_params_3298_);
lean_dec_ref(v_a_3281_);
v_val_3308_ = lean_ctor_get(v___x_3303_, 0);
v_isSharedCheck_3336_ = !lean_is_exclusive(v___x_3303_);
if (v_isSharedCheck_3336_ == 0)
{
v___x_3310_ = v___x_3303_;
v_isShared_3311_ = v_isSharedCheck_3336_;
goto v_resetjp_3309_;
}
else
{
lean_inc(v_val_3308_);
lean_dec(v___x_3303_);
v___x_3310_ = lean_box(0);
v_isShared_3311_ = v_isSharedCheck_3336_;
goto v_resetjp_3309_;
}
v_resetjp_3309_:
{
lean_object* v___x_3312_; lean_object* v_dummy_3313_; lean_object* v_nargs_3314_; lean_object* v___x_3315_; lean_object* v___x_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_; lean_object* v___x_3322_; lean_object* v___x_3323_; lean_object* v___x_3324_; lean_object* v___x_3325_; lean_object* v___x_3326_; lean_object* v___x_3327_; lean_object* v___x_3328_; lean_object* v___x_3329_; lean_object* v___x_3330_; lean_object* v___x_3331_; lean_object* v___x_3332_; lean_object* v___x_3334_; 
v___x_3312_ = l_Lean_instInhabitedExpr;
v_dummy_3313_ = lean_obj_once(&l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3, &l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3_once, _init_l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3);
v_nargs_3314_ = l_Lean_Expr_getAppNumArgs(v_e_3280_);
lean_inc(v_nargs_3314_);
v___x_3315_ = lean_mk_array(v_nargs_3314_, v_dummy_3313_);
v___x_3316_ = lean_unsigned_to_nat(1u);
v___x_3317_ = lean_nat_sub(v_nargs_3314_, v___x_3316_);
lean_dec(v_nargs_3314_);
v___x_3318_ = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(v_e_3280_, v___x_3315_, v___x_3317_);
v___x_3319_ = l_Lean_RecursorVal_getFirstIndexIdx(v_val_3296_);
v___x_3320_ = lean_nat_add(v___x_3319_, v_numIndices_3301_);
lean_inc_ref(v___x_3318_);
v___x_3321_ = l_Array_toSubarray___redArg(v___x_3318_, v___x_3319_, v___x_3320_);
v___x_3322_ = l_Lean_RecursorVal_getMajorIdx(v_val_3296_);
lean_dec_ref(v_val_3296_);
v___x_3323_ = lean_array_get(v___x_3312_, v___x_3318_, v___x_3322_);
lean_dec(v___x_3322_);
lean_dec_ref(v___x_3318_);
v___x_3324_ = l_List_tail_x21___redArg(v_us_3289_);
lean_dec(v_us_3289_);
v___x_3325_ = l_Lean_mkConst(v_val_3308_, v___x_3324_);
v___x_3326_ = l_Array_append___redArg(v_params_3298_, v_localInsts_3299_);
lean_dec_ref(v_localInsts_3299_);
v___x_3327_ = l_Subarray_copy___redArg(v___x_3321_);
v___x_3328_ = l_Array_append___redArg(v___x_3326_, v___x_3327_);
lean_dec_ref(v___x_3327_);
v___x_3329_ = lean_mk_empty_array_with_capacity(v___x_3316_);
v___x_3330_ = lean_array_push(v___x_3329_, v___x_3323_);
v___x_3331_ = l_Array_append___redArg(v___x_3328_, v___x_3330_);
lean_dec_ref(v___x_3330_);
v___x_3332_ = l_Lean_mkAppN(v___x_3325_, v___x_3331_);
lean_dec_ref(v___x_3331_);
if (v_isShared_3311_ == 0)
{
lean_ctor_set_tag(v___x_3310_, 0);
lean_ctor_set(v___x_3310_, 0, v___x_3332_);
v___x_3334_ = v___x_3310_;
goto v_reusejp_3333_;
}
else
{
lean_object* v_reuseFailAlloc_3335_; 
v_reuseFailAlloc_3335_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3335_, 0, v___x_3332_);
v___x_3334_ = v_reuseFailAlloc_3335_;
goto v_reusejp_3333_;
}
v_reusejp_3333_:
{
return v___x_3334_;
}
}
}
}
else
{
lean_object* v___x_3337_; 
lean_dec(v_val_3295_);
lean_dec(v_us_3289_);
lean_dec_ref(v_e_3280_);
v___x_3337_ = l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg(v_a_3281_, v_a_3282_, v_a_3283_, v_a_3284_, v_a_3285_);
return v___x_3337_;
}
}
}
else
{
lean_object* v___x_3338_; 
lean_dec_ref(v___x_3287_);
lean_dec_ref(v_e_3280_);
v___x_3338_ = l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg(v_a_3281_, v_a_3282_, v_a_3283_, v_a_3284_, v_a_3285_);
return v___x_3338_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_recToSizeOf___boxed(lean_object* v_e_3339_, lean_object* v_a_3340_, lean_object* v_a_3341_, lean_object* v_a_3342_, lean_object* v_a_3343_, lean_object* v_a_3344_, lean_object* v_a_3345_){
_start:
{
lean_object* v_res_3346_; 
v_res_3346_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_recToSizeOf(v_e_3339_, v_a_3340_, v_a_3341_, v_a_3342_, v_a_3343_, v_a_3344_);
lean_dec(v_a_3344_);
lean_dec_ref(v_a_3343_);
lean_dec(v_a_3342_);
lean_dec_ref(v_a_3341_);
return v_res_3346_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf_spec__0___redArg(lean_object* v_sizeOfLevels_3350_, lean_object* v_sizeOfBaseArgs_3351_, lean_object* v_ys_3352_, lean_object* v_as_3353_, size_t v_sz_3354_, size_t v_i_3355_, lean_object* v_b_3356_, lean_object* v___y_3357_, lean_object* v___y_3358_, lean_object* v___y_3359_, lean_object* v___y_3360_){
_start:
{
uint8_t v___x_3362_; 
v___x_3362_ = lean_usize_dec_lt(v_i_3355_, v_sz_3354_);
if (v___x_3362_ == 0)
{
lean_object* v___x_3363_; 
lean_dec(v___y_3360_);
lean_dec_ref(v___y_3359_);
lean_dec(v___y_3358_);
lean_dec_ref(v___y_3357_);
lean_dec_ref(v_sizeOfBaseArgs_3351_);
lean_dec(v_sizeOfLevels_3350_);
v___x_3363_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3363_, 0, v_b_3356_);
return v___x_3363_;
}
else
{
lean_object* v_a_3364_; lean_object* v___x_3365_; lean_object* v___x_3366_; lean_object* v___x_3367_; lean_object* v___x_3368_; lean_object* v___x_3369_; 
lean_dec_ref(v_b_3356_);
v_a_3364_ = lean_array_uget_borrowed(v_as_3353_, v_i_3355_);
lean_inc(v_sizeOfLevels_3350_);
lean_inc(v_a_3364_);
v___x_3365_ = l_Lean_mkConst(v_a_3364_, v_sizeOfLevels_3350_);
lean_inc_ref(v_sizeOfBaseArgs_3351_);
v___x_3366_ = l_Subarray_copy___redArg(v_sizeOfBaseArgs_3351_);
v___x_3367_ = l_Lean_mkAppN(v___x_3365_, v___x_3366_);
lean_dec_ref(v___x_3366_);
v___x_3368_ = l_Lean_mkAppN(v___x_3367_, v_ys_3352_);
lean_inc(v___y_3360_);
lean_inc_ref(v___y_3359_);
lean_inc(v___y_3358_);
lean_inc_ref(v___y_3357_);
lean_inc_ref(v___x_3368_);
v___x_3369_ = l_Lean_Meta_isTypeCorrect(v___x_3368_, v___y_3357_, v___y_3358_, v___y_3359_, v___y_3360_);
if (lean_obj_tag(v___x_3369_) == 0)
{
lean_object* v_a_3370_; lean_object* v___x_3372_; uint8_t v_isShared_3373_; uint8_t v_isSharedCheck_3385_; 
v_a_3370_ = lean_ctor_get(v___x_3369_, 0);
v_isSharedCheck_3385_ = !lean_is_exclusive(v___x_3369_);
if (v_isSharedCheck_3385_ == 0)
{
v___x_3372_ = v___x_3369_;
v_isShared_3373_ = v_isSharedCheck_3385_;
goto v_resetjp_3371_;
}
else
{
lean_inc(v_a_3370_);
lean_dec(v___x_3369_);
v___x_3372_ = lean_box(0);
v_isShared_3373_ = v_isSharedCheck_3385_;
goto v_resetjp_3371_;
}
v_resetjp_3371_:
{
lean_object* v___x_3374_; uint8_t v___x_3375_; 
v___x_3374_ = lean_box(0);
v___x_3375_ = lean_unbox(v_a_3370_);
lean_dec(v_a_3370_);
if (v___x_3375_ == 0)
{
lean_object* v___x_3376_; size_t v___x_3377_; size_t v___x_3378_; 
lean_del_object(v___x_3372_);
lean_dec_ref(v___x_3368_);
v___x_3376_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf_spec__0___redArg___closed__0));
v___x_3377_ = ((size_t)1ULL);
v___x_3378_ = lean_usize_add(v_i_3355_, v___x_3377_);
v_i_3355_ = v___x_3378_;
v_b_3356_ = v___x_3376_;
goto _start;
}
else
{
lean_object* v___x_3380_; lean_object* v___x_3381_; lean_object* v___x_3383_; 
lean_dec(v___y_3360_);
lean_dec_ref(v___y_3359_);
lean_dec(v___y_3358_);
lean_dec_ref(v___y_3357_);
lean_dec_ref(v_sizeOfBaseArgs_3351_);
lean_dec(v_sizeOfLevels_3350_);
v___x_3380_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_3380_, 0, v___x_3368_);
v___x_3381_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3381_, 0, v___x_3380_);
lean_ctor_set(v___x_3381_, 1, v___x_3374_);
if (v_isShared_3373_ == 0)
{
lean_ctor_set(v___x_3372_, 0, v___x_3381_);
v___x_3383_ = v___x_3372_;
goto v_reusejp_3382_;
}
else
{
lean_object* v_reuseFailAlloc_3384_; 
v_reuseFailAlloc_3384_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3384_, 0, v___x_3381_);
v___x_3383_ = v_reuseFailAlloc_3384_;
goto v_reusejp_3382_;
}
v_reusejp_3382_:
{
return v___x_3383_;
}
}
}
}
else
{
lean_object* v_a_3386_; lean_object* v___x_3388_; uint8_t v_isShared_3389_; uint8_t v_isSharedCheck_3393_; 
lean_dec_ref(v___x_3368_);
lean_dec(v___y_3360_);
lean_dec_ref(v___y_3359_);
lean_dec(v___y_3358_);
lean_dec_ref(v___y_3357_);
lean_dec_ref(v_sizeOfBaseArgs_3351_);
lean_dec(v_sizeOfLevels_3350_);
v_a_3386_ = lean_ctor_get(v___x_3369_, 0);
v_isSharedCheck_3393_ = !lean_is_exclusive(v___x_3369_);
if (v_isSharedCheck_3393_ == 0)
{
v___x_3388_ = v___x_3369_;
v_isShared_3389_ = v_isSharedCheck_3393_;
goto v_resetjp_3387_;
}
else
{
lean_inc(v_a_3386_);
lean_dec(v___x_3369_);
v___x_3388_ = lean_box(0);
v_isShared_3389_ = v_isSharedCheck_3393_;
goto v_resetjp_3387_;
}
v_resetjp_3387_:
{
lean_object* v___x_3391_; 
if (v_isShared_3389_ == 0)
{
v___x_3391_ = v___x_3388_;
goto v_reusejp_3390_;
}
else
{
lean_object* v_reuseFailAlloc_3392_; 
v_reuseFailAlloc_3392_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3392_, 0, v_a_3386_);
v___x_3391_ = v_reuseFailAlloc_3392_;
goto v_reusejp_3390_;
}
v_reusejp_3390_:
{
return v___x_3391_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf_spec__0___redArg___boxed(lean_object* v_sizeOfLevels_3394_, lean_object* v_sizeOfBaseArgs_3395_, lean_object* v_ys_3396_, lean_object* v_as_3397_, lean_object* v_sz_3398_, lean_object* v_i_3399_, lean_object* v_b_3400_, lean_object* v___y_3401_, lean_object* v___y_3402_, lean_object* v___y_3403_, lean_object* v___y_3404_, lean_object* v___y_3405_){
_start:
{
size_t v_sz_boxed_3406_; size_t v_i_boxed_3407_; lean_object* v_res_3408_; 
v_sz_boxed_3406_ = lean_unbox_usize(v_sz_3398_);
lean_dec(v_sz_3398_);
v_i_boxed_3407_ = lean_unbox_usize(v_i_3399_);
lean_dec(v_i_3399_);
v_res_3408_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf_spec__0___redArg(v_sizeOfLevels_3394_, v_sizeOfBaseArgs_3395_, v_ys_3396_, v_as_3397_, v_sz_boxed_3406_, v_i_boxed_3407_, v_b_3400_, v___y_3401_, v___y_3402_, v___y_3403_, v___y_3404_);
lean_dec_ref(v_as_3397_);
lean_dec_ref(v_ys_3396_);
return v_res_3408_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf(lean_object* v_sizeOfBaseArgs_3409_, lean_object* v_sizeOfLevels_3410_, lean_object* v_ys_3411_, lean_object* v_a_3412_, lean_object* v_a_3413_, lean_object* v_a_3414_, lean_object* v_a_3415_, lean_object* v_a_3416_){
_start:
{
lean_object* v_sizeOfFns_3418_; lean_object* v___x_3419_; size_t v_sz_3420_; size_t v___x_3421_; lean_object* v___x_3422_; 
v_sizeOfFns_3418_ = lean_ctor_get(v_a_3412_, 1);
v___x_3419_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf_spec__0___redArg___closed__0));
v_sz_3420_ = lean_array_size(v_sizeOfFns_3418_);
v___x_3421_ = ((size_t)0ULL);
lean_inc(v_a_3416_);
lean_inc_ref(v_a_3415_);
lean_inc(v_a_3414_);
lean_inc_ref(v_a_3413_);
v___x_3422_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf_spec__0___redArg(v_sizeOfLevels_3410_, v_sizeOfBaseArgs_3409_, v_ys_3411_, v_sizeOfFns_3418_, v_sz_3420_, v___x_3421_, v___x_3419_, v_a_3413_, v_a_3414_, v_a_3415_, v_a_3416_);
if (lean_obj_tag(v___x_3422_) == 0)
{
lean_object* v_a_3423_; lean_object* v___x_3425_; uint8_t v_isShared_3426_; uint8_t v_isSharedCheck_3433_; 
v_a_3423_ = lean_ctor_get(v___x_3422_, 0);
v_isSharedCheck_3433_ = !lean_is_exclusive(v___x_3422_);
if (v_isSharedCheck_3433_ == 0)
{
v___x_3425_ = v___x_3422_;
v_isShared_3426_ = v_isSharedCheck_3433_;
goto v_resetjp_3424_;
}
else
{
lean_inc(v_a_3423_);
lean_dec(v___x_3422_);
v___x_3425_ = lean_box(0);
v_isShared_3426_ = v_isSharedCheck_3433_;
goto v_resetjp_3424_;
}
v_resetjp_3424_:
{
lean_object* v_fst_3427_; 
v_fst_3427_ = lean_ctor_get(v_a_3423_, 0);
lean_inc(v_fst_3427_);
lean_dec(v_a_3423_);
if (lean_obj_tag(v_fst_3427_) == 0)
{
lean_object* v___x_3428_; 
lean_del_object(v___x_3425_);
v___x_3428_ = l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg(v_a_3412_, v_a_3413_, v_a_3414_, v_a_3415_, v_a_3416_);
lean_dec(v_a_3416_);
lean_dec_ref(v_a_3415_);
lean_dec(v_a_3414_);
lean_dec_ref(v_a_3413_);
return v___x_3428_;
}
else
{
lean_object* v_val_3429_; lean_object* v___x_3431_; 
lean_dec(v_a_3416_);
lean_dec_ref(v_a_3415_);
lean_dec(v_a_3414_);
lean_dec_ref(v_a_3413_);
lean_dec_ref(v_a_3412_);
v_val_3429_ = lean_ctor_get(v_fst_3427_, 0);
lean_inc(v_val_3429_);
lean_dec_ref(v_fst_3427_);
if (v_isShared_3426_ == 0)
{
lean_ctor_set(v___x_3425_, 0, v_val_3429_);
v___x_3431_ = v___x_3425_;
goto v_reusejp_3430_;
}
else
{
lean_object* v_reuseFailAlloc_3432_; 
v_reuseFailAlloc_3432_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3432_, 0, v_val_3429_);
v___x_3431_ = v_reuseFailAlloc_3432_;
goto v_reusejp_3430_;
}
v_reusejp_3430_:
{
return v___x_3431_;
}
}
}
}
else
{
lean_object* v_a_3434_; lean_object* v___x_3436_; uint8_t v_isShared_3437_; uint8_t v_isSharedCheck_3441_; 
lean_dec(v_a_3416_);
lean_dec_ref(v_a_3415_);
lean_dec(v_a_3414_);
lean_dec_ref(v_a_3413_);
lean_dec_ref(v_a_3412_);
v_a_3434_ = lean_ctor_get(v___x_3422_, 0);
v_isSharedCheck_3441_ = !lean_is_exclusive(v___x_3422_);
if (v_isSharedCheck_3441_ == 0)
{
v___x_3436_ = v___x_3422_;
v_isShared_3437_ = v_isSharedCheck_3441_;
goto v_resetjp_3435_;
}
else
{
lean_inc(v_a_3434_);
lean_dec(v___x_3422_);
v___x_3436_ = lean_box(0);
v_isShared_3437_ = v_isSharedCheck_3441_;
goto v_resetjp_3435_;
}
v_resetjp_3435_:
{
lean_object* v___x_3439_; 
if (v_isShared_3437_ == 0)
{
v___x_3439_ = v___x_3436_;
goto v_reusejp_3438_;
}
else
{
lean_object* v_reuseFailAlloc_3440_; 
v_reuseFailAlloc_3440_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3440_, 0, v_a_3434_);
v___x_3439_ = v_reuseFailAlloc_3440_;
goto v_reusejp_3438_;
}
v_reusejp_3438_:
{
return v___x_3439_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf___boxed(lean_object* v_sizeOfBaseArgs_3442_, lean_object* v_sizeOfLevels_3443_, lean_object* v_ys_3444_, lean_object* v_a_3445_, lean_object* v_a_3446_, lean_object* v_a_3447_, lean_object* v_a_3448_, lean_object* v_a_3449_, lean_object* v_a_3450_){
_start:
{
lean_object* v_res_3451_; 
v_res_3451_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf(v_sizeOfBaseArgs_3442_, v_sizeOfLevels_3443_, v_ys_3444_, v_a_3445_, v_a_3446_, v_a_3447_, v_a_3448_, v_a_3449_);
lean_dec_ref(v_ys_3444_);
return v_res_3451_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf_spec__0(lean_object* v_sizeOfLevels_3452_, lean_object* v_sizeOfBaseArgs_3453_, lean_object* v_ys_3454_, lean_object* v_as_3455_, size_t v_sz_3456_, size_t v_i_3457_, lean_object* v_b_3458_, lean_object* v___y_3459_, lean_object* v___y_3460_, lean_object* v___y_3461_, lean_object* v___y_3462_, lean_object* v___y_3463_){
_start:
{
lean_object* v___x_3465_; 
v___x_3465_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf_spec__0___redArg(v_sizeOfLevels_3452_, v_sizeOfBaseArgs_3453_, v_ys_3454_, v_as_3455_, v_sz_3456_, v_i_3457_, v_b_3458_, v___y_3460_, v___y_3461_, v___y_3462_, v___y_3463_);
return v___x_3465_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf_spec__0___boxed(lean_object* v_sizeOfLevels_3466_, lean_object* v_sizeOfBaseArgs_3467_, lean_object* v_ys_3468_, lean_object* v_as_3469_, lean_object* v_sz_3470_, lean_object* v_i_3471_, lean_object* v_b_3472_, lean_object* v___y_3473_, lean_object* v___y_3474_, lean_object* v___y_3475_, lean_object* v___y_3476_, lean_object* v___y_3477_, lean_object* v___y_3478_){
_start:
{
size_t v_sz_boxed_3479_; size_t v_i_boxed_3480_; lean_object* v_res_3481_; 
v_sz_boxed_3479_ = lean_unbox_usize(v_sz_3470_);
lean_dec(v_sz_3470_);
v_i_boxed_3480_ = lean_unbox_usize(v_i_3471_);
lean_dec(v_i_3471_);
v_res_3481_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf_spec__0(v_sizeOfLevels_3466_, v_sizeOfBaseArgs_3467_, v_ys_3468_, v_as_3469_, v_sz_boxed_3479_, v_i_boxed_3480_, v_b_3472_, v___y_3473_, v___y_3474_, v___y_3475_, v___y_3476_, v___y_3477_);
lean_dec_ref(v___y_3473_);
lean_dec_ref(v_as_3469_);
lean_dec_ref(v_ys_3468_);
return v_res_3481_;
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__0___redArg(lean_object* v_cls_3482_, lean_object* v___y_3483_){
_start:
{
lean_object* v_options_3485_; uint8_t v_hasTrace_3486_; 
v_options_3485_ = lean_ctor_get(v___y_3483_, 2);
v_hasTrace_3486_ = lean_ctor_get_uint8(v_options_3485_, sizeof(void*)*1);
if (v_hasTrace_3486_ == 0)
{
lean_object* v___x_3487_; lean_object* v___x_3488_; 
lean_dec(v_cls_3482_);
v___x_3487_ = lean_box(v_hasTrace_3486_);
v___x_3488_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3488_, 0, v___x_3487_);
return v___x_3488_;
}
else
{
lean_object* v_inheritedTraceOptions_3489_; lean_object* v___x_3490_; lean_object* v___x_3491_; uint8_t v___x_3492_; lean_object* v___x_3493_; lean_object* v___x_3494_; 
v_inheritedTraceOptions_3489_ = lean_ctor_get(v___y_3483_, 13);
v___x_3490_ = ((lean_object*)(l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg___closed__1));
v___x_3491_ = l_Lean_Name_append(v___x_3490_, v_cls_3482_);
v___x_3492_ = l___private_Lean_Util_Trace_0__Lean_checkTraceOption_go(v_inheritedTraceOptions_3489_, v_options_3485_, v___x_3491_);
lean_dec(v___x_3491_);
v___x_3493_ = lean_box(v___x_3492_);
v___x_3494_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3494_, 0, v___x_3493_);
return v___x_3494_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__0___redArg___boxed(lean_object* v_cls_3495_, lean_object* v___y_3496_, lean_object* v___y_3497_){
_start:
{
lean_object* v_res_3498_; 
v_res_3498_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__0___redArg(v_cls_3495_, v___y_3496_);
lean_dec_ref(v___y_3496_);
return v_res_3498_;
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__0(lean_object* v_cls_3499_, lean_object* v___y_3500_, lean_object* v___y_3501_, lean_object* v___y_3502_, lean_object* v___y_3503_, lean_object* v___y_3504_){
_start:
{
lean_object* v___x_3506_; 
v___x_3506_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__0___redArg(v_cls_3499_, v___y_3503_);
return v___x_3506_;
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__0___boxed(lean_object* v_cls_3507_, lean_object* v___y_3508_, lean_object* v___y_3509_, lean_object* v___y_3510_, lean_object* v___y_3511_, lean_object* v___y_3512_, lean_object* v___y_3513_){
_start:
{
lean_object* v_res_3514_; 
v_res_3514_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__0(v_cls_3507_, v___y_3508_, v___y_3509_, v___y_3510_, v___y_3511_, v___y_3512_);
lean_dec(v___y_3512_);
lean_dec_ref(v___y_3511_);
lean_dec(v___y_3510_);
lean_dec_ref(v___y_3509_);
lean_dec_ref(v___y_3508_);
return v_res_3514_;
}
}
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__1___redArg(lean_object* v_cls_3515_, lean_object* v_msg_3516_, lean_object* v___y_3517_, lean_object* v___y_3518_, lean_object* v___y_3519_, lean_object* v___y_3520_){
_start:
{
lean_object* v_ref_3522_; lean_object* v___x_3523_; lean_object* v_a_3524_; lean_object* v___x_3526_; uint8_t v_isShared_3527_; uint8_t v_isSharedCheck_3568_; 
v_ref_3522_ = lean_ctor_get(v___y_3519_, 5);
v___x_3523_ = l_Lean_addMessageContextFull___at___00Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1_spec__1(v_msg_3516_, v___y_3517_, v___y_3518_, v___y_3519_, v___y_3520_);
v_a_3524_ = lean_ctor_get(v___x_3523_, 0);
v_isSharedCheck_3568_ = !lean_is_exclusive(v___x_3523_);
if (v_isSharedCheck_3568_ == 0)
{
v___x_3526_ = v___x_3523_;
v_isShared_3527_ = v_isSharedCheck_3568_;
goto v_resetjp_3525_;
}
else
{
lean_inc(v_a_3524_);
lean_dec(v___x_3523_);
v___x_3526_ = lean_box(0);
v_isShared_3527_ = v_isSharedCheck_3568_;
goto v_resetjp_3525_;
}
v_resetjp_3525_:
{
lean_object* v___x_3528_; lean_object* v_traceState_3529_; lean_object* v_env_3530_; lean_object* v_nextMacroScope_3531_; lean_object* v_ngen_3532_; lean_object* v_auxDeclNGen_3533_; lean_object* v_cache_3534_; lean_object* v_messages_3535_; lean_object* v_infoState_3536_; lean_object* v_snapshotTasks_3537_; lean_object* v___x_3539_; uint8_t v_isShared_3540_; uint8_t v_isSharedCheck_3567_; 
v___x_3528_ = lean_st_ref_take(v___y_3520_);
v_traceState_3529_ = lean_ctor_get(v___x_3528_, 4);
v_env_3530_ = lean_ctor_get(v___x_3528_, 0);
v_nextMacroScope_3531_ = lean_ctor_get(v___x_3528_, 1);
v_ngen_3532_ = lean_ctor_get(v___x_3528_, 2);
v_auxDeclNGen_3533_ = lean_ctor_get(v___x_3528_, 3);
v_cache_3534_ = lean_ctor_get(v___x_3528_, 5);
v_messages_3535_ = lean_ctor_get(v___x_3528_, 6);
v_infoState_3536_ = lean_ctor_get(v___x_3528_, 7);
v_snapshotTasks_3537_ = lean_ctor_get(v___x_3528_, 8);
v_isSharedCheck_3567_ = !lean_is_exclusive(v___x_3528_);
if (v_isSharedCheck_3567_ == 0)
{
v___x_3539_ = v___x_3528_;
v_isShared_3540_ = v_isSharedCheck_3567_;
goto v_resetjp_3538_;
}
else
{
lean_inc(v_snapshotTasks_3537_);
lean_inc(v_infoState_3536_);
lean_inc(v_messages_3535_);
lean_inc(v_cache_3534_);
lean_inc(v_traceState_3529_);
lean_inc(v_auxDeclNGen_3533_);
lean_inc(v_ngen_3532_);
lean_inc(v_nextMacroScope_3531_);
lean_inc(v_env_3530_);
lean_dec(v___x_3528_);
v___x_3539_ = lean_box(0);
v_isShared_3540_ = v_isSharedCheck_3567_;
goto v_resetjp_3538_;
}
v_resetjp_3538_:
{
uint64_t v_tid_3541_; lean_object* v_traces_3542_; lean_object* v___x_3544_; uint8_t v_isShared_3545_; uint8_t v_isSharedCheck_3566_; 
v_tid_3541_ = lean_ctor_get_uint64(v_traceState_3529_, sizeof(void*)*1);
v_traces_3542_ = lean_ctor_get(v_traceState_3529_, 0);
v_isSharedCheck_3566_ = !lean_is_exclusive(v_traceState_3529_);
if (v_isSharedCheck_3566_ == 0)
{
v___x_3544_ = v_traceState_3529_;
v_isShared_3545_ = v_isSharedCheck_3566_;
goto v_resetjp_3543_;
}
else
{
lean_inc(v_traces_3542_);
lean_dec(v_traceState_3529_);
v___x_3544_ = lean_box(0);
v_isShared_3545_ = v_isSharedCheck_3566_;
goto v_resetjp_3543_;
}
v_resetjp_3543_:
{
lean_object* v___x_3546_; double v___x_3547_; uint8_t v___x_3548_; lean_object* v___x_3549_; lean_object* v___x_3550_; lean_object* v___x_3551_; lean_object* v___x_3552_; lean_object* v___x_3553_; lean_object* v___x_3554_; lean_object* v___x_3556_; 
v___x_3546_ = lean_box(0);
v___x_3547_ = lean_float_once(&l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__0, &l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__0_once, _init_l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__0);
v___x_3548_ = 0;
v___x_3549_ = ((lean_object*)(l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__1));
v___x_3550_ = lean_alloc_ctor(0, 3, 17);
lean_ctor_set(v___x_3550_, 0, v_cls_3515_);
lean_ctor_set(v___x_3550_, 1, v___x_3546_);
lean_ctor_set(v___x_3550_, 2, v___x_3549_);
lean_ctor_set_float(v___x_3550_, sizeof(void*)*3, v___x_3547_);
lean_ctor_set_float(v___x_3550_, sizeof(void*)*3 + 8, v___x_3547_);
lean_ctor_set_uint8(v___x_3550_, sizeof(void*)*3 + 16, v___x_3548_);
v___x_3551_ = ((lean_object*)(l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__2));
v___x_3552_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v___x_3552_, 0, v___x_3550_);
lean_ctor_set(v___x_3552_, 1, v_a_3524_);
lean_ctor_set(v___x_3552_, 2, v___x_3551_);
lean_inc(v_ref_3522_);
v___x_3553_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3553_, 0, v_ref_3522_);
lean_ctor_set(v___x_3553_, 1, v___x_3552_);
v___x_3554_ = l_Lean_PersistentArray_push___redArg(v_traces_3542_, v___x_3553_);
if (v_isShared_3545_ == 0)
{
lean_ctor_set(v___x_3544_, 0, v___x_3554_);
v___x_3556_ = v___x_3544_;
goto v_reusejp_3555_;
}
else
{
lean_object* v_reuseFailAlloc_3565_; 
v_reuseFailAlloc_3565_ = lean_alloc_ctor(0, 1, 8);
lean_ctor_set(v_reuseFailAlloc_3565_, 0, v___x_3554_);
lean_ctor_set_uint64(v_reuseFailAlloc_3565_, sizeof(void*)*1, v_tid_3541_);
v___x_3556_ = v_reuseFailAlloc_3565_;
goto v_reusejp_3555_;
}
v_reusejp_3555_:
{
lean_object* v___x_3558_; 
if (v_isShared_3540_ == 0)
{
lean_ctor_set(v___x_3539_, 4, v___x_3556_);
v___x_3558_ = v___x_3539_;
goto v_reusejp_3557_;
}
else
{
lean_object* v_reuseFailAlloc_3564_; 
v_reuseFailAlloc_3564_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_3564_, 0, v_env_3530_);
lean_ctor_set(v_reuseFailAlloc_3564_, 1, v_nextMacroScope_3531_);
lean_ctor_set(v_reuseFailAlloc_3564_, 2, v_ngen_3532_);
lean_ctor_set(v_reuseFailAlloc_3564_, 3, v_auxDeclNGen_3533_);
lean_ctor_set(v_reuseFailAlloc_3564_, 4, v___x_3556_);
lean_ctor_set(v_reuseFailAlloc_3564_, 5, v_cache_3534_);
lean_ctor_set(v_reuseFailAlloc_3564_, 6, v_messages_3535_);
lean_ctor_set(v_reuseFailAlloc_3564_, 7, v_infoState_3536_);
lean_ctor_set(v_reuseFailAlloc_3564_, 8, v_snapshotTasks_3537_);
v___x_3558_ = v_reuseFailAlloc_3564_;
goto v_reusejp_3557_;
}
v_reusejp_3557_:
{
lean_object* v___x_3559_; lean_object* v___x_3560_; lean_object* v___x_3562_; 
v___x_3559_ = lean_st_ref_set(v___y_3520_, v___x_3558_);
v___x_3560_ = lean_box(0);
if (v_isShared_3527_ == 0)
{
lean_ctor_set(v___x_3526_, 0, v___x_3560_);
v___x_3562_ = v___x_3526_;
goto v_reusejp_3561_;
}
else
{
lean_object* v_reuseFailAlloc_3563_; 
v_reuseFailAlloc_3563_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3563_, 0, v___x_3560_);
v___x_3562_ = v_reuseFailAlloc_3563_;
goto v_reusejp_3561_;
}
v_reusejp_3561_:
{
return v___x_3562_;
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__1___redArg___boxed(lean_object* v_cls_3569_, lean_object* v_msg_3570_, lean_object* v___y_3571_, lean_object* v___y_3572_, lean_object* v___y_3573_, lean_object* v___y_3574_, lean_object* v___y_3575_){
_start:
{
lean_object* v_res_3576_; 
v_res_3576_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__1___redArg(v_cls_3569_, v_msg_3570_, v___y_3571_, v___y_3572_, v___y_3573_, v___y_3574_);
lean_dec(v___y_3574_);
lean_dec_ref(v___y_3573_);
lean_dec(v___y_3572_);
lean_dec_ref(v___y_3571_);
return v_res_3576_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep_spec__3___redArg(lean_object* v_a_3577_, lean_object* v_as_3578_, size_t v_sz_3579_, size_t v_i_3580_, lean_object* v_b_3581_, lean_object* v___y_3582_, lean_object* v___y_3583_, lean_object* v___y_3584_, lean_object* v___y_3585_){
_start:
{
uint8_t v___x_3587_; 
v___x_3587_ = lean_usize_dec_lt(v_i_3580_, v_sz_3579_);
if (v___x_3587_ == 0)
{
lean_object* v___x_3588_; 
lean_dec(v___y_3585_);
lean_dec_ref(v___y_3584_);
lean_dec(v___y_3583_);
lean_dec_ref(v___y_3582_);
lean_dec_ref(v_a_3577_);
v___x_3588_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3588_, 0, v_b_3581_);
return v___x_3588_;
}
else
{
lean_object* v_a_3589_; lean_object* v___x_3590_; 
lean_dec_ref(v_b_3581_);
v_a_3589_ = lean_array_uget_borrowed(v_as_3578_, v_i_3580_);
lean_inc(v___y_3585_);
lean_inc_ref(v___y_3584_);
lean_inc(v___y_3583_);
lean_inc_ref(v___y_3582_);
lean_inc(v_a_3589_);
v___x_3590_ = lean_infer_type(v_a_3589_, v___y_3582_, v___y_3583_, v___y_3584_, v___y_3585_);
if (lean_obj_tag(v___x_3590_) == 0)
{
lean_object* v_a_3591_; lean_object* v___x_3592_; 
v_a_3591_ = lean_ctor_get(v___x_3590_, 0);
lean_inc(v_a_3591_);
lean_dec_ref(v___x_3590_);
lean_inc(v___y_3585_);
lean_inc_ref(v___y_3584_);
lean_inc(v___y_3583_);
lean_inc_ref(v___y_3582_);
lean_inc_ref(v_a_3577_);
v___x_3592_ = l_Lean_Meta_isExprDefEq(v_a_3591_, v_a_3577_, v___y_3582_, v___y_3583_, v___y_3584_, v___y_3585_);
if (lean_obj_tag(v___x_3592_) == 0)
{
lean_object* v_a_3593_; lean_object* v___x_3595_; uint8_t v_isShared_3596_; uint8_t v_isSharedCheck_3608_; 
v_a_3593_ = lean_ctor_get(v___x_3592_, 0);
v_isSharedCheck_3608_ = !lean_is_exclusive(v___x_3592_);
if (v_isSharedCheck_3608_ == 0)
{
v___x_3595_ = v___x_3592_;
v_isShared_3596_ = v_isSharedCheck_3608_;
goto v_resetjp_3594_;
}
else
{
lean_inc(v_a_3593_);
lean_dec(v___x_3592_);
v___x_3595_ = lean_box(0);
v_isShared_3596_ = v_isSharedCheck_3608_;
goto v_resetjp_3594_;
}
v_resetjp_3594_:
{
lean_object* v___x_3597_; uint8_t v___x_3598_; 
v___x_3597_ = lean_box(0);
v___x_3598_ = lean_unbox(v_a_3593_);
lean_dec(v_a_3593_);
if (v___x_3598_ == 0)
{
lean_object* v___x_3599_; size_t v___x_3600_; size_t v___x_3601_; 
lean_del_object(v___x_3595_);
v___x_3599_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf_spec__0___redArg___closed__0));
v___x_3600_ = ((size_t)1ULL);
v___x_3601_ = lean_usize_add(v_i_3580_, v___x_3600_);
v_i_3580_ = v___x_3601_;
v_b_3581_ = v___x_3599_;
goto _start;
}
else
{
lean_object* v___x_3603_; lean_object* v___x_3604_; lean_object* v___x_3606_; 
lean_dec(v___y_3585_);
lean_dec_ref(v___y_3584_);
lean_dec(v___y_3583_);
lean_dec_ref(v___y_3582_);
lean_dec_ref(v_a_3577_);
lean_inc(v_a_3589_);
v___x_3603_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_3603_, 0, v_a_3589_);
v___x_3604_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3604_, 0, v___x_3603_);
lean_ctor_set(v___x_3604_, 1, v___x_3597_);
if (v_isShared_3596_ == 0)
{
lean_ctor_set(v___x_3595_, 0, v___x_3604_);
v___x_3606_ = v___x_3595_;
goto v_reusejp_3605_;
}
else
{
lean_object* v_reuseFailAlloc_3607_; 
v_reuseFailAlloc_3607_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3607_, 0, v___x_3604_);
v___x_3606_ = v_reuseFailAlloc_3607_;
goto v_reusejp_3605_;
}
v_reusejp_3605_:
{
return v___x_3606_;
}
}
}
}
else
{
lean_object* v_a_3609_; lean_object* v___x_3611_; uint8_t v_isShared_3612_; uint8_t v_isSharedCheck_3616_; 
lean_dec(v___y_3585_);
lean_dec_ref(v___y_3584_);
lean_dec(v___y_3583_);
lean_dec_ref(v___y_3582_);
lean_dec_ref(v_a_3577_);
v_a_3609_ = lean_ctor_get(v___x_3592_, 0);
v_isSharedCheck_3616_ = !lean_is_exclusive(v___x_3592_);
if (v_isSharedCheck_3616_ == 0)
{
v___x_3611_ = v___x_3592_;
v_isShared_3612_ = v_isSharedCheck_3616_;
goto v_resetjp_3610_;
}
else
{
lean_inc(v_a_3609_);
lean_dec(v___x_3592_);
v___x_3611_ = lean_box(0);
v_isShared_3612_ = v_isSharedCheck_3616_;
goto v_resetjp_3610_;
}
v_resetjp_3610_:
{
lean_object* v___x_3614_; 
if (v_isShared_3612_ == 0)
{
v___x_3614_ = v___x_3611_;
goto v_reusejp_3613_;
}
else
{
lean_object* v_reuseFailAlloc_3615_; 
v_reuseFailAlloc_3615_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3615_, 0, v_a_3609_);
v___x_3614_ = v_reuseFailAlloc_3615_;
goto v_reusejp_3613_;
}
v_reusejp_3613_:
{
return v___x_3614_;
}
}
}
}
else
{
lean_object* v_a_3617_; lean_object* v___x_3619_; uint8_t v_isShared_3620_; uint8_t v_isSharedCheck_3624_; 
lean_dec(v___y_3585_);
lean_dec_ref(v___y_3584_);
lean_dec(v___y_3583_);
lean_dec_ref(v___y_3582_);
lean_dec_ref(v_a_3577_);
v_a_3617_ = lean_ctor_get(v___x_3590_, 0);
v_isSharedCheck_3624_ = !lean_is_exclusive(v___x_3590_);
if (v_isSharedCheck_3624_ == 0)
{
v___x_3619_ = v___x_3590_;
v_isShared_3620_ = v_isSharedCheck_3624_;
goto v_resetjp_3618_;
}
else
{
lean_inc(v_a_3617_);
lean_dec(v___x_3590_);
v___x_3619_ = lean_box(0);
v_isShared_3620_ = v_isSharedCheck_3624_;
goto v_resetjp_3618_;
}
v_resetjp_3618_:
{
lean_object* v___x_3622_; 
if (v_isShared_3620_ == 0)
{
v___x_3622_ = v___x_3619_;
goto v_reusejp_3621_;
}
else
{
lean_object* v_reuseFailAlloc_3623_; 
v_reuseFailAlloc_3623_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3623_, 0, v_a_3617_);
v___x_3622_ = v_reuseFailAlloc_3623_;
goto v_reusejp_3621_;
}
v_reusejp_3621_:
{
return v___x_3622_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep_spec__3___redArg___boxed(lean_object* v_a_3625_, lean_object* v_as_3626_, lean_object* v_sz_3627_, lean_object* v_i_3628_, lean_object* v_b_3629_, lean_object* v___y_3630_, lean_object* v___y_3631_, lean_object* v___y_3632_, lean_object* v___y_3633_, lean_object* v___y_3634_){
_start:
{
size_t v_sz_boxed_3635_; size_t v_i_boxed_3636_; lean_object* v_res_3637_; 
v_sz_boxed_3635_ = lean_unbox_usize(v_sz_3627_);
lean_dec(v_sz_3627_);
v_i_boxed_3636_ = lean_unbox_usize(v_i_3628_);
lean_dec(v_i_3628_);
v_res_3637_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep_spec__3___redArg(v_a_3625_, v_as_3626_, v_sz_boxed_3635_, v_i_boxed_3636_, v_b_3629_, v___y_3630_, v___y_3631_, v___y_3632_, v___y_3633_);
lean_dec_ref(v_as_3626_);
return v_res_3637_;
}
}
static lean_object* _init_l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__3(void){
_start:
{
lean_object* v___x_3643_; lean_object* v___x_3644_; 
v___x_3643_ = l_Lean_maxRecDepthErrorMessage;
v___x_3644_ = lean_alloc_ctor(3, 1, 0);
lean_ctor_set(v___x_3644_, 0, v___x_3643_);
return v___x_3644_;
}
}
static lean_object* _init_l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__4(void){
_start:
{
lean_object* v___x_3645_; lean_object* v___x_3646_; 
v___x_3645_ = lean_obj_once(&l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__3, &l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__3_once, _init_l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__3);
v___x_3646_ = l_Lean_MessageData_ofFormat(v___x_3645_);
return v___x_3646_;
}
}
static lean_object* _init_l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__5(void){
_start:
{
lean_object* v___x_3647_; lean_object* v___x_3648_; lean_object* v___x_3649_; 
v___x_3647_ = lean_obj_once(&l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__4, &l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__4_once, _init_l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__4);
v___x_3648_ = ((lean_object*)(l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__2));
v___x_3649_ = lean_alloc_ctor(8, 2, 0);
lean_ctor_set(v___x_3649_, 0, v___x_3648_);
lean_ctor_set(v___x_3649_, 1, v___x_3647_);
return v___x_3649_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg(lean_object* v_ref_3650_){
_start:
{
lean_object* v___x_3652_; lean_object* v___x_3653_; lean_object* v___x_3654_; 
v___x_3652_ = lean_obj_once(&l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__5, &l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__5_once, _init_l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___closed__5);
v___x_3653_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3653_, 0, v_ref_3650_);
lean_ctor_set(v___x_3653_, 1, v___x_3652_);
v___x_3654_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_3654_, 0, v___x_3653_);
return v___x_3654_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg___boxed(lean_object* v_ref_3655_, lean_object* v___y_3656_){
_start:
{
lean_object* v_res_3657_; 
v_res_3657_ = l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg(v_ref_3655_);
return v_res_3657_;
}
}
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__5(lean_object* v_x_3658_, lean_object* v_x_3659_, lean_object* v___y_3660_, lean_object* v___y_3661_, lean_object* v___y_3662_, lean_object* v___y_3663_, lean_object* v___y_3664_){
_start:
{
if (lean_obj_tag(v_x_3658_) == 0)
{
lean_object* v___x_3666_; lean_object* v___x_3667_; 
lean_dec_ref(v___y_3660_);
v___x_3666_ = l_List_reverse___redArg(v_x_3659_);
v___x_3667_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3667_, 0, v___x_3666_);
return v___x_3667_;
}
else
{
lean_object* v_head_3668_; lean_object* v_tail_3669_; lean_object* v___x_3671_; uint8_t v_isShared_3672_; uint8_t v_isSharedCheck_3689_; 
v_head_3668_ = lean_ctor_get(v_x_3658_, 0);
v_tail_3669_ = lean_ctor_get(v_x_3658_, 1);
v_isSharedCheck_3689_ = !lean_is_exclusive(v_x_3658_);
if (v_isSharedCheck_3689_ == 0)
{
v___x_3671_ = v_x_3658_;
v_isShared_3672_ = v_isSharedCheck_3689_;
goto v_resetjp_3670_;
}
else
{
lean_inc(v_tail_3669_);
lean_inc(v_head_3668_);
lean_dec(v_x_3658_);
v___x_3671_ = lean_box(0);
v_isShared_3672_ = v_isSharedCheck_3689_;
goto v_resetjp_3670_;
}
v_resetjp_3670_:
{
lean_object* v_a_3674_; 
if (lean_obj_tag(v_head_3668_) == 4)
{
lean_object* v_a_3679_; 
v_a_3679_ = lean_ctor_get(v_head_3668_, 0);
lean_inc(v_a_3679_);
lean_dec_ref(v_head_3668_);
v_a_3674_ = v_a_3679_;
goto v___jp_3673_;
}
else
{
lean_object* v___x_3680_; lean_object* v_a_3681_; lean_object* v___x_3683_; uint8_t v_isShared_3684_; uint8_t v_isSharedCheck_3688_; 
lean_del_object(v___x_3671_);
lean_dec(v_tail_3669_);
lean_dec(v_head_3668_);
lean_dec(v_x_3659_);
v___x_3680_ = l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg(v___y_3660_, v___y_3661_, v___y_3662_, v___y_3663_, v___y_3664_);
v_a_3681_ = lean_ctor_get(v___x_3680_, 0);
v_isSharedCheck_3688_ = !lean_is_exclusive(v___x_3680_);
if (v_isSharedCheck_3688_ == 0)
{
v___x_3683_ = v___x_3680_;
v_isShared_3684_ = v_isSharedCheck_3688_;
goto v_resetjp_3682_;
}
else
{
lean_inc(v_a_3681_);
lean_dec(v___x_3680_);
v___x_3683_ = lean_box(0);
v_isShared_3684_ = v_isSharedCheck_3688_;
goto v_resetjp_3682_;
}
v_resetjp_3682_:
{
lean_object* v___x_3686_; 
if (v_isShared_3684_ == 0)
{
v___x_3686_ = v___x_3683_;
goto v_reusejp_3685_;
}
else
{
lean_object* v_reuseFailAlloc_3687_; 
v_reuseFailAlloc_3687_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3687_, 0, v_a_3681_);
v___x_3686_ = v_reuseFailAlloc_3687_;
goto v_reusejp_3685_;
}
v_reusejp_3685_:
{
return v___x_3686_;
}
}
}
v___jp_3673_:
{
lean_object* v___x_3676_; 
if (v_isShared_3672_ == 0)
{
lean_ctor_set(v___x_3671_, 1, v_x_3659_);
lean_ctor_set(v___x_3671_, 0, v_a_3674_);
v___x_3676_ = v___x_3671_;
goto v_reusejp_3675_;
}
else
{
lean_object* v_reuseFailAlloc_3678_; 
v_reuseFailAlloc_3678_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3678_, 0, v_a_3674_);
lean_ctor_set(v_reuseFailAlloc_3678_, 1, v_x_3659_);
v___x_3676_ = v_reuseFailAlloc_3678_;
goto v_reusejp_3675_;
}
v_reusejp_3675_:
{
v_x_3658_ = v_tail_3669_;
v_x_3659_ = v___x_3676_;
goto _start;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__5___boxed(lean_object* v_x_3690_, lean_object* v_x_3691_, lean_object* v___y_3692_, lean_object* v___y_3693_, lean_object* v___y_3694_, lean_object* v___y_3695_, lean_object* v___y_3696_, lean_object* v___y_3697_){
_start:
{
lean_object* v_res_3698_; 
v_res_3698_ = l_List_mapM_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__5(v_x_3690_, v_x_3691_, v___y_3692_, v___y_3693_, v___y_3694_, v___y_3695_, v___y_3696_);
lean_dec(v___y_3696_);
lean_dec_ref(v___y_3695_);
lean_dec(v___y_3694_);
lean_dec_ref(v___y_3693_);
return v_res_3698_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00Lean_getConstInfoRec___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__10_spec__11(lean_object* v_msg_3699_, lean_object* v___y_3700_, lean_object* v___y_3701_, lean_object* v___y_3702_, lean_object* v___y_3703_, lean_object* v___y_3704_){
_start:
{
lean_object* v___x_3706_; lean_object* v___x_3707_; lean_object* v_toApplicative_3708_; lean_object* v___x_3710_; uint8_t v_isShared_3711_; uint8_t v_isSharedCheck_3770_; 
v___x_3706_ = lean_obj_once(&l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__0, &l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__0_once, _init_l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__0);
v___x_3707_ = l_ReaderT_instMonad___redArg(v___x_3706_);
v_toApplicative_3708_ = lean_ctor_get(v___x_3707_, 0);
v_isSharedCheck_3770_ = !lean_is_exclusive(v___x_3707_);
if (v_isSharedCheck_3770_ == 0)
{
lean_object* v_unused_3771_; 
v_unused_3771_ = lean_ctor_get(v___x_3707_, 1);
lean_dec(v_unused_3771_);
v___x_3710_ = v___x_3707_;
v_isShared_3711_ = v_isSharedCheck_3770_;
goto v_resetjp_3709_;
}
else
{
lean_inc(v_toApplicative_3708_);
lean_dec(v___x_3707_);
v___x_3710_ = lean_box(0);
v_isShared_3711_ = v_isSharedCheck_3770_;
goto v_resetjp_3709_;
}
v_resetjp_3709_:
{
lean_object* v_toFunctor_3712_; lean_object* v_toSeq_3713_; lean_object* v_toSeqLeft_3714_; lean_object* v_toSeqRight_3715_; lean_object* v___x_3717_; uint8_t v_isShared_3718_; uint8_t v_isSharedCheck_3768_; 
v_toFunctor_3712_ = lean_ctor_get(v_toApplicative_3708_, 0);
v_toSeq_3713_ = lean_ctor_get(v_toApplicative_3708_, 2);
v_toSeqLeft_3714_ = lean_ctor_get(v_toApplicative_3708_, 3);
v_toSeqRight_3715_ = lean_ctor_get(v_toApplicative_3708_, 4);
v_isSharedCheck_3768_ = !lean_is_exclusive(v_toApplicative_3708_);
if (v_isSharedCheck_3768_ == 0)
{
lean_object* v_unused_3769_; 
v_unused_3769_ = lean_ctor_get(v_toApplicative_3708_, 1);
lean_dec(v_unused_3769_);
v___x_3717_ = v_toApplicative_3708_;
v_isShared_3718_ = v_isSharedCheck_3768_;
goto v_resetjp_3716_;
}
else
{
lean_inc(v_toSeqRight_3715_);
lean_inc(v_toSeqLeft_3714_);
lean_inc(v_toSeq_3713_);
lean_inc(v_toFunctor_3712_);
lean_dec(v_toApplicative_3708_);
v___x_3717_ = lean_box(0);
v_isShared_3718_ = v_isSharedCheck_3768_;
goto v_resetjp_3716_;
}
v_resetjp_3716_:
{
lean_object* v___f_3719_; lean_object* v___f_3720_; lean_object* v___f_3721_; lean_object* v___f_3722_; lean_object* v___x_3723_; lean_object* v___f_3724_; lean_object* v___f_3725_; lean_object* v___f_3726_; lean_object* v___x_3728_; 
v___f_3719_ = ((lean_object*)(l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__1));
v___f_3720_ = ((lean_object*)(l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__2));
lean_inc_ref(v_toFunctor_3712_);
v___f_3721_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1);
lean_closure_set(v___f_3721_, 0, v_toFunctor_3712_);
v___f_3722_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_3722_, 0, v_toFunctor_3712_);
v___x_3723_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3723_, 0, v___f_3721_);
lean_ctor_set(v___x_3723_, 1, v___f_3722_);
v___f_3724_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_3724_, 0, v_toSeqRight_3715_);
v___f_3725_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1);
lean_closure_set(v___f_3725_, 0, v_toSeqLeft_3714_);
v___f_3726_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1);
lean_closure_set(v___f_3726_, 0, v_toSeq_3713_);
if (v_isShared_3718_ == 0)
{
lean_ctor_set(v___x_3717_, 4, v___f_3724_);
lean_ctor_set(v___x_3717_, 3, v___f_3725_);
lean_ctor_set(v___x_3717_, 2, v___f_3726_);
lean_ctor_set(v___x_3717_, 1, v___f_3719_);
lean_ctor_set(v___x_3717_, 0, v___x_3723_);
v___x_3728_ = v___x_3717_;
goto v_reusejp_3727_;
}
else
{
lean_object* v_reuseFailAlloc_3767_; 
v_reuseFailAlloc_3767_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_3767_, 0, v___x_3723_);
lean_ctor_set(v_reuseFailAlloc_3767_, 1, v___f_3719_);
lean_ctor_set(v_reuseFailAlloc_3767_, 2, v___f_3726_);
lean_ctor_set(v_reuseFailAlloc_3767_, 3, v___f_3725_);
lean_ctor_set(v_reuseFailAlloc_3767_, 4, v___f_3724_);
v___x_3728_ = v_reuseFailAlloc_3767_;
goto v_reusejp_3727_;
}
v_reusejp_3727_:
{
lean_object* v___x_3730_; 
if (v_isShared_3711_ == 0)
{
lean_ctor_set(v___x_3710_, 1, v___f_3720_);
lean_ctor_set(v___x_3710_, 0, v___x_3728_);
v___x_3730_ = v___x_3710_;
goto v_reusejp_3729_;
}
else
{
lean_object* v_reuseFailAlloc_3766_; 
v_reuseFailAlloc_3766_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3766_, 0, v___x_3728_);
lean_ctor_set(v_reuseFailAlloc_3766_, 1, v___f_3720_);
v___x_3730_ = v_reuseFailAlloc_3766_;
goto v_reusejp_3729_;
}
v_reusejp_3729_:
{
lean_object* v___x_3731_; lean_object* v_toApplicative_3732_; lean_object* v___x_3734_; uint8_t v_isShared_3735_; uint8_t v_isSharedCheck_3764_; 
v___x_3731_ = l_ReaderT_instMonad___redArg(v___x_3730_);
v_toApplicative_3732_ = lean_ctor_get(v___x_3731_, 0);
v_isSharedCheck_3764_ = !lean_is_exclusive(v___x_3731_);
if (v_isSharedCheck_3764_ == 0)
{
lean_object* v_unused_3765_; 
v_unused_3765_ = lean_ctor_get(v___x_3731_, 1);
lean_dec(v_unused_3765_);
v___x_3734_ = v___x_3731_;
v_isShared_3735_ = v_isSharedCheck_3764_;
goto v_resetjp_3733_;
}
else
{
lean_inc(v_toApplicative_3732_);
lean_dec(v___x_3731_);
v___x_3734_ = lean_box(0);
v_isShared_3735_ = v_isSharedCheck_3764_;
goto v_resetjp_3733_;
}
v_resetjp_3733_:
{
lean_object* v_toFunctor_3736_; lean_object* v_toSeq_3737_; lean_object* v_toSeqLeft_3738_; lean_object* v_toSeqRight_3739_; lean_object* v___x_3741_; uint8_t v_isShared_3742_; uint8_t v_isSharedCheck_3762_; 
v_toFunctor_3736_ = lean_ctor_get(v_toApplicative_3732_, 0);
v_toSeq_3737_ = lean_ctor_get(v_toApplicative_3732_, 2);
v_toSeqLeft_3738_ = lean_ctor_get(v_toApplicative_3732_, 3);
v_toSeqRight_3739_ = lean_ctor_get(v_toApplicative_3732_, 4);
v_isSharedCheck_3762_ = !lean_is_exclusive(v_toApplicative_3732_);
if (v_isSharedCheck_3762_ == 0)
{
lean_object* v_unused_3763_; 
v_unused_3763_ = lean_ctor_get(v_toApplicative_3732_, 1);
lean_dec(v_unused_3763_);
v___x_3741_ = v_toApplicative_3732_;
v_isShared_3742_ = v_isSharedCheck_3762_;
goto v_resetjp_3740_;
}
else
{
lean_inc(v_toSeqRight_3739_);
lean_inc(v_toSeqLeft_3738_);
lean_inc(v_toSeq_3737_);
lean_inc(v_toFunctor_3736_);
lean_dec(v_toApplicative_3732_);
v___x_3741_ = lean_box(0);
v_isShared_3742_ = v_isSharedCheck_3762_;
goto v_resetjp_3740_;
}
v_resetjp_3740_:
{
lean_object* v___f_3743_; lean_object* v___f_3744_; lean_object* v___f_3745_; lean_object* v___f_3746_; lean_object* v___x_3747_; lean_object* v___f_3748_; lean_object* v___f_3749_; lean_object* v___f_3750_; lean_object* v___x_3752_; 
v___f_3743_ = ((lean_object*)(l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__3));
v___f_3744_ = ((lean_object*)(l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__4));
lean_inc_ref(v_toFunctor_3736_);
v___f_3745_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1);
lean_closure_set(v___f_3745_, 0, v_toFunctor_3736_);
v___f_3746_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_3746_, 0, v_toFunctor_3736_);
v___x_3747_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3747_, 0, v___f_3745_);
lean_ctor_set(v___x_3747_, 1, v___f_3746_);
v___f_3748_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_3748_, 0, v_toSeqRight_3739_);
v___f_3749_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1);
lean_closure_set(v___f_3749_, 0, v_toSeqLeft_3738_);
v___f_3750_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1);
lean_closure_set(v___f_3750_, 0, v_toSeq_3737_);
if (v_isShared_3742_ == 0)
{
lean_ctor_set(v___x_3741_, 4, v___f_3748_);
lean_ctor_set(v___x_3741_, 3, v___f_3749_);
lean_ctor_set(v___x_3741_, 2, v___f_3750_);
lean_ctor_set(v___x_3741_, 1, v___f_3743_);
lean_ctor_set(v___x_3741_, 0, v___x_3747_);
v___x_3752_ = v___x_3741_;
goto v_reusejp_3751_;
}
else
{
lean_object* v_reuseFailAlloc_3761_; 
v_reuseFailAlloc_3761_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_3761_, 0, v___x_3747_);
lean_ctor_set(v_reuseFailAlloc_3761_, 1, v___f_3743_);
lean_ctor_set(v_reuseFailAlloc_3761_, 2, v___f_3750_);
lean_ctor_set(v_reuseFailAlloc_3761_, 3, v___f_3749_);
lean_ctor_set(v_reuseFailAlloc_3761_, 4, v___f_3748_);
v___x_3752_ = v_reuseFailAlloc_3761_;
goto v_reusejp_3751_;
}
v_reusejp_3751_:
{
lean_object* v___x_3754_; 
if (v_isShared_3735_ == 0)
{
lean_ctor_set(v___x_3734_, 1, v___f_3744_);
lean_ctor_set(v___x_3734_, 0, v___x_3752_);
v___x_3754_ = v___x_3734_;
goto v_reusejp_3753_;
}
else
{
lean_object* v_reuseFailAlloc_3760_; 
v_reuseFailAlloc_3760_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3760_, 0, v___x_3752_);
lean_ctor_set(v_reuseFailAlloc_3760_, 1, v___f_3744_);
v___x_3754_ = v_reuseFailAlloc_3760_;
goto v_reusejp_3753_;
}
v_reusejp_3753_:
{
lean_object* v___x_3755_; lean_object* v___x_3756_; lean_object* v___x_3757_; lean_object* v___x_43805__overap_3758_; lean_object* v___x_3759_; 
v___x_3755_ = l_ReaderT_instMonad___redArg(v___x_3754_);
v___x_3756_ = lean_box(0);
v___x_3757_ = l_instInhabitedOfMonad___redArg(v___x_3755_, v___x_3756_);
v___x_43805__overap_3758_ = lean_panic_fn(v___x_3757_, v_msg_3699_);
v___x_3759_ = lean_apply_6(v___x_43805__overap_3758_, v___y_3700_, v___y_3701_, v___y_3702_, v___y_3703_, v___y_3704_, lean_box(0));
return v___x_3759_;
}
}
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_panic___at___00Lean_getConstInfoRec___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__10_spec__11___boxed(lean_object* v_msg_3772_, lean_object* v___y_3773_, lean_object* v___y_3774_, lean_object* v___y_3775_, lean_object* v___y_3776_, lean_object* v___y_3777_, lean_object* v___y_3778_){
_start:
{
lean_object* v_res_3779_; 
v_res_3779_ = l_panic___at___00Lean_getConstInfoRec___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__10_spec__11(v_msg_3772_, v___y_3773_, v___y_3774_, v___y_3775_, v___y_3776_, v___y_3777_);
return v_res_3779_;
}
}
LEAN_EXPORT lean_object* l_Lean_getConstInfoRec___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__10(lean_object* v_constName_3780_, lean_object* v___y_3781_, lean_object* v___y_3782_, lean_object* v___y_3783_, lean_object* v___y_3784_, lean_object* v___y_3785_){
_start:
{
lean_object* v___x_3795_; lean_object* v_env_3796_; uint8_t v___x_3797_; lean_object* v___x_3798_; 
v___x_3795_ = lean_st_ref_get(v___y_3785_);
v_env_3796_ = lean_ctor_get(v___x_3795_, 0);
lean_inc_ref(v_env_3796_);
lean_dec(v___x_3795_);
v___x_3797_ = 0;
lean_inc(v_constName_3780_);
v___x_3798_ = l_Lean_Environment_findAsync_x3f(v_env_3796_, v_constName_3780_, v___x_3797_);
if (lean_obj_tag(v___x_3798_) == 1)
{
lean_object* v_val_3799_; uint8_t v_kind_3800_; 
v_val_3799_ = lean_ctor_get(v___x_3798_, 0);
lean_inc(v_val_3799_);
lean_dec_ref(v___x_3798_);
v_kind_3800_ = lean_ctor_get_uint8(v_val_3799_, sizeof(void*)*3);
if (v_kind_3800_ == 7)
{
lean_object* v___x_3801_; 
v___x_3801_ = l_Lean_AsyncConstantInfo_toConstantInfo(v_val_3799_);
if (lean_obj_tag(v___x_3801_) == 7)
{
lean_object* v_val_3802_; lean_object* v___x_3804_; uint8_t v_isShared_3805_; uint8_t v_isSharedCheck_3809_; 
lean_dec(v___y_3785_);
lean_dec_ref(v___y_3784_);
lean_dec(v___y_3783_);
lean_dec_ref(v___y_3782_);
lean_dec_ref(v___y_3781_);
lean_dec(v_constName_3780_);
v_val_3802_ = lean_ctor_get(v___x_3801_, 0);
v_isSharedCheck_3809_ = !lean_is_exclusive(v___x_3801_);
if (v_isSharedCheck_3809_ == 0)
{
v___x_3804_ = v___x_3801_;
v_isShared_3805_ = v_isSharedCheck_3809_;
goto v_resetjp_3803_;
}
else
{
lean_inc(v_val_3802_);
lean_dec(v___x_3801_);
v___x_3804_ = lean_box(0);
v_isShared_3805_ = v_isSharedCheck_3809_;
goto v_resetjp_3803_;
}
v_resetjp_3803_:
{
lean_object* v___x_3807_; 
if (v_isShared_3805_ == 0)
{
lean_ctor_set_tag(v___x_3804_, 0);
v___x_3807_ = v___x_3804_;
goto v_reusejp_3806_;
}
else
{
lean_object* v_reuseFailAlloc_3808_; 
v_reuseFailAlloc_3808_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3808_, 0, v_val_3802_);
v___x_3807_ = v_reuseFailAlloc_3808_;
goto v_reusejp_3806_;
}
v_reusejp_3806_:
{
return v___x_3807_;
}
}
}
else
{
lean_object* v___x_3810_; lean_object* v___x_3811_; 
lean_dec_ref(v___x_3801_);
v___x_3810_ = lean_obj_once(&l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__7, &l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__7_once, _init_l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__7);
lean_inc(v___y_3785_);
lean_inc_ref(v___y_3784_);
lean_inc(v___y_3783_);
lean_inc_ref(v___y_3782_);
v___x_3811_ = l_panic___at___00Lean_getConstInfoRec___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__10_spec__11(v___x_3810_, v___y_3781_, v___y_3782_, v___y_3783_, v___y_3784_, v___y_3785_);
if (lean_obj_tag(v___x_3811_) == 0)
{
lean_object* v_a_3812_; lean_object* v___x_3814_; uint8_t v_isShared_3815_; uint8_t v_isSharedCheck_3820_; 
v_a_3812_ = lean_ctor_get(v___x_3811_, 0);
v_isSharedCheck_3820_ = !lean_is_exclusive(v___x_3811_);
if (v_isSharedCheck_3820_ == 0)
{
v___x_3814_ = v___x_3811_;
v_isShared_3815_ = v_isSharedCheck_3820_;
goto v_resetjp_3813_;
}
else
{
lean_inc(v_a_3812_);
lean_dec(v___x_3811_);
v___x_3814_ = lean_box(0);
v_isShared_3815_ = v_isSharedCheck_3820_;
goto v_resetjp_3813_;
}
v_resetjp_3813_:
{
if (lean_obj_tag(v_a_3812_) == 0)
{
lean_del_object(v___x_3814_);
goto v___jp_3787_;
}
else
{
lean_object* v_val_3816_; lean_object* v___x_3818_; 
lean_dec(v___y_3785_);
lean_dec_ref(v___y_3784_);
lean_dec(v___y_3783_);
lean_dec_ref(v___y_3782_);
lean_dec(v_constName_3780_);
v_val_3816_ = lean_ctor_get(v_a_3812_, 0);
lean_inc(v_val_3816_);
lean_dec_ref(v_a_3812_);
if (v_isShared_3815_ == 0)
{
lean_ctor_set(v___x_3814_, 0, v_val_3816_);
v___x_3818_ = v___x_3814_;
goto v_reusejp_3817_;
}
else
{
lean_object* v_reuseFailAlloc_3819_; 
v_reuseFailAlloc_3819_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3819_, 0, v_val_3816_);
v___x_3818_ = v_reuseFailAlloc_3819_;
goto v_reusejp_3817_;
}
v_reusejp_3817_:
{
return v___x_3818_;
}
}
}
}
else
{
lean_object* v_a_3821_; lean_object* v___x_3823_; uint8_t v_isShared_3824_; uint8_t v_isSharedCheck_3828_; 
lean_dec(v___y_3785_);
lean_dec_ref(v___y_3784_);
lean_dec(v___y_3783_);
lean_dec_ref(v___y_3782_);
lean_dec(v_constName_3780_);
v_a_3821_ = lean_ctor_get(v___x_3811_, 0);
v_isSharedCheck_3828_ = !lean_is_exclusive(v___x_3811_);
if (v_isSharedCheck_3828_ == 0)
{
v___x_3823_ = v___x_3811_;
v_isShared_3824_ = v_isSharedCheck_3828_;
goto v_resetjp_3822_;
}
else
{
lean_inc(v_a_3821_);
lean_dec(v___x_3811_);
v___x_3823_ = lean_box(0);
v_isShared_3824_ = v_isSharedCheck_3828_;
goto v_resetjp_3822_;
}
v_resetjp_3822_:
{
lean_object* v___x_3826_; 
if (v_isShared_3824_ == 0)
{
v___x_3826_ = v___x_3823_;
goto v_reusejp_3825_;
}
else
{
lean_object* v_reuseFailAlloc_3827_; 
v_reuseFailAlloc_3827_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3827_, 0, v_a_3821_);
v___x_3826_ = v_reuseFailAlloc_3827_;
goto v_reusejp_3825_;
}
v_reusejp_3825_:
{
return v___x_3826_;
}
}
}
}
}
else
{
lean_dec(v_val_3799_);
lean_dec_ref(v___y_3781_);
goto v___jp_3787_;
}
}
else
{
lean_dec(v___x_3798_);
lean_dec_ref(v___y_3781_);
goto v___jp_3787_;
}
v___jp_3787_:
{
lean_object* v___x_3788_; uint8_t v___x_3789_; lean_object* v___x_3790_; lean_object* v___x_3791_; lean_object* v___x_3792_; lean_object* v___x_3793_; lean_object* v___x_3794_; 
v___x_3788_ = lean_obj_once(&l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__1, &l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__1_once, _init_l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__1);
v___x_3789_ = 0;
v___x_3790_ = l_Lean_MessageData_ofConstName(v_constName_3780_, v___x_3789_);
v___x_3791_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3791_, 0, v___x_3788_);
lean_ctor_set(v___x_3791_, 1, v___x_3790_);
v___x_3792_ = lean_obj_once(&l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__3, &l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__3_once, _init_l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__3);
v___x_3793_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3793_, 0, v___x_3791_);
lean_ctor_set(v___x_3793_, 1, v___x_3792_);
v___x_3794_ = l_Lean_throwError___at___00Lean_Meta_SizeOfSpecNested_throwUnexpected_spec__0___redArg(v___x_3793_, v___y_3782_, v___y_3783_, v___y_3784_, v___y_3785_);
lean_dec(v___y_3785_);
lean_dec_ref(v___y_3784_);
lean_dec(v___y_3783_);
lean_dec_ref(v___y_3782_);
return v___x_3794_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_getConstInfoRec___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__10___boxed(lean_object* v_constName_3829_, lean_object* v___y_3830_, lean_object* v___y_3831_, lean_object* v___y_3832_, lean_object* v___y_3833_, lean_object* v___y_3834_, lean_object* v___y_3835_){
_start:
{
lean_object* v_res_3836_; 
v_res_3836_ = l_Lean_getConstInfoRec___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__10(v_constName_3829_, v___y_3830_, v___y_3831_, v___y_3832_, v___y_3833_, v___y_3834_);
return v_res_3836_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7___redArg___lam__0(lean_object* v_k_3837_, lean_object* v___y_3838_, lean_object* v_b_3839_, lean_object* v_c_3840_, lean_object* v___y_3841_, lean_object* v___y_3842_, lean_object* v___y_3843_, lean_object* v___y_3844_){
_start:
{
lean_object* v___x_3846_; 
v___x_3846_ = lean_apply_8(v_k_3837_, v_b_3839_, v_c_3840_, v___y_3838_, v___y_3841_, v___y_3842_, v___y_3843_, v___y_3844_, lean_box(0));
return v___x_3846_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7___redArg___lam__0___boxed(lean_object* v_k_3847_, lean_object* v___y_3848_, lean_object* v_b_3849_, lean_object* v_c_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_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7___redArg___lam__0(v_k_3847_, v___y_3848_, v_b_3849_, v_c_3850_, v___y_3851_, v___y_3852_, v___y_3853_, v___y_3854_);
return v_res_3856_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__13___redArg(lean_object* v_type_3857_, lean_object* v_maxFVars_x3f_3858_, lean_object* v_k_3859_, uint8_t v_cleanupAnnotations_3860_, uint8_t v_whnfType_3861_, lean_object* v___y_3862_, lean_object* v___y_3863_, lean_object* v___y_3864_, lean_object* v___y_3865_, lean_object* v___y_3866_){
_start:
{
lean_object* v___f_3868_; lean_object* v___x_3869_; 
v___f_3868_ = lean_alloc_closure((void*)(l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7___redArg___lam__0___boxed), 9, 2);
lean_closure_set(v___f_3868_, 0, v_k_3859_);
lean_closure_set(v___f_3868_, 1, v___y_3862_);
v___x_3869_ = l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingAux(lean_box(0), v_type_3857_, v_maxFVars_x3f_3858_, v___f_3868_, v_cleanupAnnotations_3860_, v_whnfType_3861_, v___y_3863_, v___y_3864_, v___y_3865_, v___y_3866_);
if (lean_obj_tag(v___x_3869_) == 0)
{
return v___x_3869_;
}
else
{
lean_object* v_a_3870_; lean_object* v___x_3872_; uint8_t v_isShared_3873_; uint8_t v_isSharedCheck_3877_; 
v_a_3870_ = lean_ctor_get(v___x_3869_, 0);
v_isSharedCheck_3877_ = !lean_is_exclusive(v___x_3869_);
if (v_isSharedCheck_3877_ == 0)
{
v___x_3872_ = v___x_3869_;
v_isShared_3873_ = v_isSharedCheck_3877_;
goto v_resetjp_3871_;
}
else
{
lean_inc(v_a_3870_);
lean_dec(v___x_3869_);
v___x_3872_ = lean_box(0);
v_isShared_3873_ = v_isSharedCheck_3877_;
goto v_resetjp_3871_;
}
v_resetjp_3871_:
{
lean_object* v___x_3875_; 
if (v_isShared_3873_ == 0)
{
v___x_3875_ = v___x_3872_;
goto v_reusejp_3874_;
}
else
{
lean_object* v_reuseFailAlloc_3876_; 
v_reuseFailAlloc_3876_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3876_, 0, v_a_3870_);
v___x_3875_ = v_reuseFailAlloc_3876_;
goto v_reusejp_3874_;
}
v_reusejp_3874_:
{
return v___x_3875_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__13___redArg___boxed(lean_object* v_type_3878_, lean_object* v_maxFVars_x3f_3879_, lean_object* v_k_3880_, lean_object* v_cleanupAnnotations_3881_, lean_object* v_whnfType_3882_, lean_object* v___y_3883_, lean_object* v___y_3884_, lean_object* v___y_3885_, lean_object* v___y_3886_, lean_object* v___y_3887_, lean_object* v___y_3888_){
_start:
{
uint8_t v_cleanupAnnotations_boxed_3889_; uint8_t v_whnfType_boxed_3890_; lean_object* v_res_3891_; 
v_cleanupAnnotations_boxed_3889_ = lean_unbox(v_cleanupAnnotations_3881_);
v_whnfType_boxed_3890_ = lean_unbox(v_whnfType_3882_);
v_res_3891_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__13___redArg(v_type_3878_, v_maxFVars_x3f_3879_, v_k_3880_, v_cleanupAnnotations_boxed_3889_, v_whnfType_boxed_3890_, v___y_3883_, v___y_3884_, v___y_3885_, v___y_3886_, v___y_3887_);
return v_res_3891_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__11___lam__0(lean_object* v_sizeOfBaseArgs_3892_, lean_object* v_sizeOfLevels_3893_, lean_object* v___x_3894_, uint8_t v___x_3895_, lean_object* v_ys_3896_, lean_object* v_x_3897_, lean_object* v___y_3898_, lean_object* v___y_3899_, lean_object* v___y_3900_, lean_object* v___y_3901_, lean_object* v___y_3902_){
_start:
{
lean_object* v___x_3904_; 
lean_inc(v___y_3902_);
lean_inc_ref(v___y_3901_);
lean_inc(v___y_3900_);
lean_inc_ref(v___y_3899_);
v___x_3904_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf(v_sizeOfBaseArgs_3892_, v_sizeOfLevels_3893_, v_ys_3896_, v___y_3898_, v___y_3899_, v___y_3900_, v___y_3901_, v___y_3902_);
if (lean_obj_tag(v___x_3904_) == 0)
{
lean_object* v_a_3905_; lean_object* v___x_3906_; lean_object* v___x_3907_; lean_object* v___x_3908_; lean_object* v___x_3909_; lean_object* v___x_3910_; lean_object* v___x_3911_; lean_object* v___x_3912_; lean_object* v___x_3913_; 
v_a_3905_ = lean_ctor_get(v___x_3904_, 0);
lean_inc(v_a_3905_);
lean_dec_ref(v___x_3904_);
v___x_3906_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__0___closed__0));
v___x_3907_ = lean_array_get_size(v_ys_3896_);
v___x_3908_ = lean_unsigned_to_nat(1u);
v___x_3909_ = lean_nat_sub(v___x_3907_, v___x_3908_);
v___x_3910_ = lean_array_get_borrowed(v___x_3894_, v_ys_3896_, v___x_3909_);
lean_dec(v___x_3909_);
v___x_3911_ = lean_mk_empty_array_with_capacity(v___x_3908_);
lean_inc(v___x_3910_);
v___x_3912_ = lean_array_push(v___x_3911_, v___x_3910_);
lean_inc(v___y_3902_);
lean_inc_ref(v___y_3901_);
lean_inc(v___y_3900_);
lean_inc_ref(v___y_3899_);
v___x_3913_ = l_Lean_Meta_mkAppM(v___x_3906_, v___x_3912_, v___y_3899_, v___y_3900_, v___y_3901_, v___y_3902_);
if (lean_obj_tag(v___x_3913_) == 0)
{
lean_object* v_a_3914_; lean_object* v___x_3915_; 
v_a_3914_ = lean_ctor_get(v___x_3913_, 0);
lean_inc(v_a_3914_);
lean_dec_ref(v___x_3913_);
lean_inc(v___y_3902_);
lean_inc_ref(v___y_3901_);
lean_inc(v___y_3900_);
lean_inc_ref(v___y_3899_);
v___x_3915_ = l_Lean_Meta_mkEq(v_a_3905_, v_a_3914_, v___y_3899_, v___y_3900_, v___y_3901_, v___y_3902_);
if (lean_obj_tag(v___x_3915_) == 0)
{
lean_object* v_a_3916_; uint8_t v___x_3917_; uint8_t v___x_3918_; lean_object* v___x_3919_; 
v_a_3916_ = lean_ctor_get(v___x_3915_, 0);
lean_inc(v_a_3916_);
lean_dec_ref(v___x_3915_);
v___x_3917_ = 0;
v___x_3918_ = 1;
v___x_3919_ = l_Lean_Meta_mkLambdaFVars(v_ys_3896_, v_a_3916_, v___x_3917_, v___x_3895_, v___x_3917_, v___x_3895_, v___x_3918_, v___y_3899_, v___y_3900_, v___y_3901_, v___y_3902_);
lean_dec(v___y_3902_);
lean_dec_ref(v___y_3901_);
lean_dec(v___y_3900_);
lean_dec_ref(v___y_3899_);
return v___x_3919_;
}
else
{
lean_dec(v___y_3902_);
lean_dec_ref(v___y_3901_);
lean_dec(v___y_3900_);
lean_dec_ref(v___y_3899_);
return v___x_3915_;
}
}
else
{
lean_dec(v_a_3905_);
lean_dec(v___y_3902_);
lean_dec_ref(v___y_3901_);
lean_dec(v___y_3900_);
lean_dec_ref(v___y_3899_);
return v___x_3913_;
}
}
else
{
lean_dec(v___y_3902_);
lean_dec_ref(v___y_3901_);
lean_dec(v___y_3900_);
lean_dec_ref(v___y_3899_);
lean_dec_ref(v___x_3894_);
return v___x_3904_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__11___lam__0___boxed(lean_object* v_sizeOfBaseArgs_3920_, lean_object* v_sizeOfLevels_3921_, lean_object* v___x_3922_, lean_object* v___x_3923_, lean_object* v_ys_3924_, lean_object* v_x_3925_, lean_object* v___y_3926_, lean_object* v___y_3927_, lean_object* v___y_3928_, lean_object* v___y_3929_, lean_object* v___y_3930_, lean_object* v___y_3931_){
_start:
{
uint8_t v___x_44956__boxed_3932_; lean_object* v_res_3933_; 
v___x_44956__boxed_3932_ = lean_unbox(v___x_3923_);
v_res_3933_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__11___lam__0(v_sizeOfBaseArgs_3920_, v_sizeOfLevels_3921_, v___x_3922_, v___x_44956__boxed_3932_, v_ys_3924_, v_x_3925_, v___y_3926_, v___y_3927_, v___y_3928_, v___y_3929_, v___y_3930_);
lean_dec_ref(v_x_3925_);
lean_dec_ref(v_ys_3924_);
return v_res_3933_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7___redArg(lean_object* v_type_3934_, lean_object* v_k_3935_, uint8_t v_cleanupAnnotations_3936_, uint8_t v_whnfType_3937_, lean_object* v___y_3938_, lean_object* v___y_3939_, lean_object* v___y_3940_, lean_object* v___y_3941_, lean_object* v___y_3942_){
_start:
{
lean_object* v___f_3944_; lean_object* v___x_3945_; 
v___f_3944_ = lean_alloc_closure((void*)(l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7___redArg___lam__0___boxed), 9, 2);
lean_closure_set(v___f_3944_, 0, v_k_3935_);
lean_closure_set(v___f_3944_, 1, v___y_3938_);
v___x_3945_ = l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingImp(lean_box(0), v_type_3934_, v___f_3944_, v_cleanupAnnotations_3936_, v_whnfType_3937_, v___y_3939_, v___y_3940_, v___y_3941_, v___y_3942_);
if (lean_obj_tag(v___x_3945_) == 0)
{
return v___x_3945_;
}
else
{
lean_object* v_a_3946_; lean_object* v___x_3948_; uint8_t v_isShared_3949_; uint8_t v_isSharedCheck_3953_; 
v_a_3946_ = lean_ctor_get(v___x_3945_, 0);
v_isSharedCheck_3953_ = !lean_is_exclusive(v___x_3945_);
if (v_isSharedCheck_3953_ == 0)
{
v___x_3948_ = v___x_3945_;
v_isShared_3949_ = v_isSharedCheck_3953_;
goto v_resetjp_3947_;
}
else
{
lean_inc(v_a_3946_);
lean_dec(v___x_3945_);
v___x_3948_ = lean_box(0);
v_isShared_3949_ = v_isSharedCheck_3953_;
goto v_resetjp_3947_;
}
v_resetjp_3947_:
{
lean_object* v___x_3951_; 
if (v_isShared_3949_ == 0)
{
v___x_3951_ = v___x_3948_;
goto v_reusejp_3950_;
}
else
{
lean_object* v_reuseFailAlloc_3952_; 
v_reuseFailAlloc_3952_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3952_, 0, v_a_3946_);
v___x_3951_ = v_reuseFailAlloc_3952_;
goto v_reusejp_3950_;
}
v_reusejp_3950_:
{
return v___x_3951_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7___redArg___boxed(lean_object* v_type_3954_, lean_object* v_k_3955_, lean_object* v_cleanupAnnotations_3956_, lean_object* v_whnfType_3957_, lean_object* v___y_3958_, lean_object* v___y_3959_, lean_object* v___y_3960_, lean_object* v___y_3961_, lean_object* v___y_3962_, lean_object* v___y_3963_){
_start:
{
uint8_t v_cleanupAnnotations_boxed_3964_; uint8_t v_whnfType_boxed_3965_; lean_object* v_res_3966_; 
v_cleanupAnnotations_boxed_3964_ = lean_unbox(v_cleanupAnnotations_3956_);
v_whnfType_boxed_3965_ = lean_unbox(v_whnfType_3957_);
v_res_3966_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7___redArg(v_type_3954_, v_k_3955_, v_cleanupAnnotations_boxed_3964_, v_whnfType_boxed_3965_, v___y_3958_, v___y_3959_, v___y_3960_, v___y_3961_, v___y_3962_);
return v_res_3966_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__11(lean_object* v_sizeOfBaseArgs_3967_, lean_object* v_sizeOfLevels_3968_, lean_object* v_as_3969_, size_t v_sz_3970_, size_t v_i_3971_, lean_object* v_b_3972_, lean_object* v___y_3973_, lean_object* v___y_3974_, lean_object* v___y_3975_, lean_object* v___y_3976_, lean_object* v___y_3977_){
_start:
{
uint8_t v___x_3979_; 
v___x_3979_ = lean_usize_dec_lt(v_i_3971_, v_sz_3970_);
if (v___x_3979_ == 0)
{
lean_object* v___x_3980_; 
lean_dec(v___y_3977_);
lean_dec_ref(v___y_3976_);
lean_dec(v___y_3975_);
lean_dec_ref(v___y_3974_);
lean_dec_ref(v___y_3973_);
lean_dec(v_sizeOfLevels_3968_);
lean_dec_ref(v_sizeOfBaseArgs_3967_);
v___x_3980_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3980_, 0, v_b_3972_);
return v___x_3980_;
}
else
{
lean_object* v_a_3981_; lean_object* v___x_3982_; 
v_a_3981_ = lean_array_uget_borrowed(v_as_3969_, v_i_3971_);
lean_inc(v___y_3977_);
lean_inc_ref(v___y_3976_);
lean_inc(v___y_3975_);
lean_inc_ref(v___y_3974_);
lean_inc(v_a_3981_);
v___x_3982_ = lean_infer_type(v_a_3981_, v___y_3974_, v___y_3975_, v___y_3976_, v___y_3977_);
if (lean_obj_tag(v___x_3982_) == 0)
{
lean_object* v_a_3983_; lean_object* v___x_3984_; lean_object* v___x_3985_; lean_object* v___f_3986_; uint8_t v___x_3987_; lean_object* v___x_3988_; 
v_a_3983_ = lean_ctor_get(v___x_3982_, 0);
lean_inc(v_a_3983_);
lean_dec_ref(v___x_3982_);
v___x_3984_ = l_Lean_instInhabitedExpr;
v___x_3985_ = lean_box(v___x_3979_);
lean_inc(v_sizeOfLevels_3968_);
lean_inc_ref(v_sizeOfBaseArgs_3967_);
v___f_3986_ = lean_alloc_closure((void*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__11___lam__0___boxed), 12, 4);
lean_closure_set(v___f_3986_, 0, v_sizeOfBaseArgs_3967_);
lean_closure_set(v___f_3986_, 1, v_sizeOfLevels_3968_);
lean_closure_set(v___f_3986_, 2, v___x_3984_);
lean_closure_set(v___f_3986_, 3, v___x_3985_);
v___x_3987_ = 0;
lean_inc(v___y_3977_);
lean_inc_ref(v___y_3976_);
lean_inc(v___y_3975_);
lean_inc_ref(v___y_3974_);
lean_inc_ref(v___y_3973_);
v___x_3988_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7___redArg(v_a_3983_, v___f_3986_, v___x_3987_, v___x_3987_, v___y_3973_, v___y_3974_, v___y_3975_, v___y_3976_, v___y_3977_);
if (lean_obj_tag(v___x_3988_) == 0)
{
lean_object* v_a_3989_; lean_object* v___x_3990_; size_t v___x_3991_; size_t v___x_3992_; 
v_a_3989_ = lean_ctor_get(v___x_3988_, 0);
lean_inc(v_a_3989_);
lean_dec_ref(v___x_3988_);
v___x_3990_ = l_Lean_Expr_app___override(v_b_3972_, v_a_3989_);
v___x_3991_ = ((size_t)1ULL);
v___x_3992_ = lean_usize_add(v_i_3971_, v___x_3991_);
v_i_3971_ = v___x_3992_;
v_b_3972_ = v___x_3990_;
goto _start;
}
else
{
lean_dec(v___y_3977_);
lean_dec_ref(v___y_3976_);
lean_dec(v___y_3975_);
lean_dec_ref(v___y_3974_);
lean_dec_ref(v___y_3973_);
lean_dec_ref(v_b_3972_);
lean_dec(v_sizeOfLevels_3968_);
lean_dec_ref(v_sizeOfBaseArgs_3967_);
return v___x_3988_;
}
}
else
{
lean_dec(v___y_3977_);
lean_dec_ref(v___y_3976_);
lean_dec(v___y_3975_);
lean_dec_ref(v___y_3974_);
lean_dec_ref(v___y_3973_);
lean_dec_ref(v_b_3972_);
lean_dec(v_sizeOfLevels_3968_);
lean_dec_ref(v_sizeOfBaseArgs_3967_);
return v___x_3982_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__11___boxed(lean_object* v_sizeOfBaseArgs_3994_, lean_object* v_sizeOfLevels_3995_, lean_object* v_as_3996_, lean_object* v_sz_3997_, lean_object* v_i_3998_, lean_object* v_b_3999_, lean_object* v___y_4000_, lean_object* v___y_4001_, lean_object* v___y_4002_, lean_object* v___y_4003_, lean_object* v___y_4004_, lean_object* v___y_4005_){
_start:
{
size_t v_sz_boxed_4006_; size_t v_i_boxed_4007_; lean_object* v_res_4008_; 
v_sz_boxed_4006_ = lean_unbox_usize(v_sz_3997_);
lean_dec(v_sz_3997_);
v_i_boxed_4007_ = lean_unbox_usize(v_i_3998_);
lean_dec(v_i_3998_);
v_res_4008_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__11(v_sizeOfBaseArgs_3994_, v_sizeOfLevels_3995_, v_as_3996_, v_sz_boxed_4006_, v_i_boxed_4007_, v_b_3999_, v___y_4000_, v___y_4001_, v___y_4002_, v___y_4003_, v___y_4004_);
lean_dec_ref(v_as_3996_);
return v_res_4008_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6_spec__6___redArg___lam__0(lean_object* v_k_4009_, lean_object* v___y_4010_, lean_object* v_b_4011_, lean_object* v___y_4012_, lean_object* v___y_4013_, lean_object* v___y_4014_, lean_object* v___y_4015_){
_start:
{
lean_object* v___x_4017_; 
v___x_4017_ = lean_apply_7(v_k_4009_, v_b_4011_, v___y_4010_, v___y_4012_, v___y_4013_, v___y_4014_, v___y_4015_, lean_box(0));
return v___x_4017_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6_spec__6___redArg___lam__0___boxed(lean_object* v_k_4018_, lean_object* v___y_4019_, lean_object* v_b_4020_, lean_object* v___y_4021_, lean_object* v___y_4022_, lean_object* v___y_4023_, lean_object* v___y_4024_, lean_object* v___y_4025_){
_start:
{
lean_object* v_res_4026_; 
v_res_4026_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6_spec__6___redArg___lam__0(v_k_4018_, v___y_4019_, v_b_4020_, v___y_4021_, v___y_4022_, v___y_4023_, v___y_4024_);
return v_res_4026_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6_spec__6___redArg(lean_object* v_name_4027_, uint8_t v_bi_4028_, lean_object* v_type_4029_, lean_object* v_k_4030_, uint8_t v_kind_4031_, lean_object* v___y_4032_, lean_object* v___y_4033_, lean_object* v___y_4034_, lean_object* v___y_4035_, lean_object* v___y_4036_){
_start:
{
lean_object* v___f_4038_; lean_object* v___x_4039_; 
v___f_4038_ = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6_spec__6___redArg___lam__0___boxed), 8, 2);
lean_closure_set(v___f_4038_, 0, v_k_4030_);
lean_closure_set(v___f_4038_, 1, v___y_4032_);
v___x_4039_ = l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp(lean_box(0), v_name_4027_, v_bi_4028_, v_type_4029_, v___f_4038_, v_kind_4031_, v___y_4033_, v___y_4034_, v___y_4035_, v___y_4036_);
if (lean_obj_tag(v___x_4039_) == 0)
{
return v___x_4039_;
}
else
{
lean_object* v_a_4040_; lean_object* v___x_4042_; uint8_t v_isShared_4043_; uint8_t v_isSharedCheck_4047_; 
v_a_4040_ = lean_ctor_get(v___x_4039_, 0);
v_isSharedCheck_4047_ = !lean_is_exclusive(v___x_4039_);
if (v_isSharedCheck_4047_ == 0)
{
v___x_4042_ = v___x_4039_;
v_isShared_4043_ = v_isSharedCheck_4047_;
goto v_resetjp_4041_;
}
else
{
lean_inc(v_a_4040_);
lean_dec(v___x_4039_);
v___x_4042_ = lean_box(0);
v_isShared_4043_ = v_isSharedCheck_4047_;
goto v_resetjp_4041_;
}
v_resetjp_4041_:
{
lean_object* v___x_4045_; 
if (v_isShared_4043_ == 0)
{
v___x_4045_ = v___x_4042_;
goto v_reusejp_4044_;
}
else
{
lean_object* v_reuseFailAlloc_4046_; 
v_reuseFailAlloc_4046_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4046_, 0, v_a_4040_);
v___x_4045_ = v_reuseFailAlloc_4046_;
goto v_reusejp_4044_;
}
v_reusejp_4044_:
{
return v___x_4045_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6_spec__6___redArg___boxed(lean_object* v_name_4048_, lean_object* v_bi_4049_, lean_object* v_type_4050_, lean_object* v_k_4051_, lean_object* v_kind_4052_, lean_object* v___y_4053_, lean_object* v___y_4054_, lean_object* v___y_4055_, lean_object* v___y_4056_, lean_object* v___y_4057_, lean_object* v___y_4058_){
_start:
{
uint8_t v_bi_boxed_4059_; uint8_t v_kind_boxed_4060_; lean_object* v_res_4061_; 
v_bi_boxed_4059_ = lean_unbox(v_bi_4049_);
v_kind_boxed_4060_ = lean_unbox(v_kind_4052_);
v_res_4061_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6_spec__6___redArg(v_name_4048_, v_bi_boxed_4059_, v_type_4050_, v_k_4051_, v_kind_boxed_4060_, v___y_4053_, v___y_4054_, v___y_4055_, v___y_4056_, v___y_4057_);
return v_res_4061_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6___redArg(lean_object* v_name_4062_, lean_object* v_type_4063_, lean_object* v_k_4064_, lean_object* v___y_4065_, lean_object* v___y_4066_, lean_object* v___y_4067_, lean_object* v___y_4068_, lean_object* v___y_4069_){
_start:
{
uint8_t v___x_4071_; uint8_t v___x_4072_; lean_object* v___x_4073_; 
v___x_4071_ = 0;
v___x_4072_ = 0;
v___x_4073_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6_spec__6___redArg(v_name_4062_, v___x_4071_, v_type_4063_, v_k_4064_, v___x_4072_, v___y_4065_, v___y_4066_, v___y_4067_, v___y_4068_, v___y_4069_);
return v___x_4073_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6___redArg___boxed(lean_object* v_name_4074_, lean_object* v_type_4075_, lean_object* v_k_4076_, lean_object* v___y_4077_, lean_object* v___y_4078_, lean_object* v___y_4079_, lean_object* v___y_4080_, lean_object* v___y_4081_, lean_object* v___y_4082_){
_start:
{
lean_object* v_res_4083_; 
v_res_4083_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6___redArg(v_name_4074_, v_type_4075_, v_k_4076_, v___y_4077_, v___y_4078_, v___y_4079_, v___y_4080_, v___y_4081_);
return v_res_4083_;
}
}
static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__1(void){
_start:
{
lean_object* v___x_4093_; lean_object* v___x_4094_; 
v___x_4093_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__0));
v___x_4094_ = l_Lean_stringToMessageData(v___x_4093_);
return v___x_4094_;
}
}
static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__3(void){
_start:
{
lean_object* v___x_4096_; lean_object* v___x_4097_; 
v___x_4096_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__2));
v___x_4097_ = l_Lean_stringToMessageData(v___x_4096_);
return v___x_4097_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__1___boxed(lean_object** _args){
lean_object* v_lhs_4099_ = _args[0];
lean_object* v_dummy_4100_ = _args[1];
lean_object* v___x_4101_ = _args[2];
lean_object* v___x_4102_ = _args[3];
lean_object* v___x_4103_ = _args[4];
lean_object* v___x_4104_ = _args[5];
lean_object* v___x_4105_ = _args[6];
lean_object* v___x_4106_ = _args[7];
lean_object* v_val_4107_ = _args[8];
lean_object* v___x_4108_ = _args[9];
lean_object* v___x_4109_ = _args[10];
lean_object* v_a_4110_ = _args[11];
lean_object* v___x_4111_ = _args[12];
lean_object* v_us_4112_ = _args[13];
lean_object* v___x_4113_ = _args[14];
lean_object* v_indices_4114_ = _args[15];
lean_object* v_x_4115_ = _args[16];
lean_object* v___y_4116_ = _args[17];
lean_object* v___y_4117_ = _args[18];
lean_object* v___y_4118_ = _args[19];
lean_object* v___y_4119_ = _args[20];
lean_object* v___y_4120_ = _args[21];
lean_object* v___y_4121_ = _args[22];
_start:
{
uint8_t v___x_45259__boxed_4122_; uint8_t v___x_45260__boxed_4123_; lean_object* v_res_4124_; 
v___x_45259__boxed_4122_ = lean_unbox(v___x_4105_);
v___x_45260__boxed_4123_ = lean_unbox(v___x_4106_);
v_res_4124_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__1(v_lhs_4099_, v_dummy_4100_, v___x_4101_, v___x_4102_, v___x_4103_, v___x_4104_, v___x_45259__boxed_4122_, v___x_45260__boxed_4123_, v_val_4107_, v___x_4108_, v___x_4109_, v_a_4110_, v___x_4111_, v_us_4112_, v___x_4113_, v_indices_4114_, v_x_4115_, v___y_4116_, v___y_4117_, v___y_4118_, v___y_4119_, v___y_4120_);
lean_dec_ref(v_x_4115_);
return v_res_4124_;
}
}
static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__4(void){
_start:
{
lean_object* v___x_4131_; lean_object* v___x_4132_; 
v___x_4131_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__3));
v___x_4132_ = l_Lean_stringToMessageData(v___x_4131_);
return v___x_4132_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma(lean_object* v_lhs_4133_, lean_object* v_rhs_4134_, lean_object* v_a_4135_, lean_object* v_a_4136_, lean_object* v_a_4137_, lean_object* v_a_4138_, lean_object* v_a_4139_){
_start:
{
lean_object* v_fileName_4141_; lean_object* v_fileMap_4142_; lean_object* v_options_4143_; lean_object* v_currRecDepth_4144_; lean_object* v_maxRecDepth_4145_; lean_object* v_ref_4146_; lean_object* v_currNamespace_4147_; lean_object* v_openDecls_4148_; lean_object* v_initHeartbeats_4149_; lean_object* v_maxHeartbeats_4150_; lean_object* v_quotContext_4151_; lean_object* v_currMacroScope_4152_; uint8_t v_diag_4153_; lean_object* v_cancelTk_x3f_4154_; uint8_t v_suppressElabErrors_4155_; lean_object* v_inheritedTraceOptions_4156_; lean_object* v___x_4158_; uint8_t v_isShared_4159_; uint8_t v_isSharedCheck_4269_; 
v_fileName_4141_ = lean_ctor_get(v_a_4138_, 0);
v_fileMap_4142_ = lean_ctor_get(v_a_4138_, 1);
v_options_4143_ = lean_ctor_get(v_a_4138_, 2);
v_currRecDepth_4144_ = lean_ctor_get(v_a_4138_, 3);
v_maxRecDepth_4145_ = lean_ctor_get(v_a_4138_, 4);
v_ref_4146_ = lean_ctor_get(v_a_4138_, 5);
v_currNamespace_4147_ = lean_ctor_get(v_a_4138_, 6);
v_openDecls_4148_ = lean_ctor_get(v_a_4138_, 7);
v_initHeartbeats_4149_ = lean_ctor_get(v_a_4138_, 8);
v_maxHeartbeats_4150_ = lean_ctor_get(v_a_4138_, 9);
v_quotContext_4151_ = lean_ctor_get(v_a_4138_, 10);
v_currMacroScope_4152_ = lean_ctor_get(v_a_4138_, 11);
v_diag_4153_ = lean_ctor_get_uint8(v_a_4138_, sizeof(void*)*14);
v_cancelTk_x3f_4154_ = lean_ctor_get(v_a_4138_, 12);
v_suppressElabErrors_4155_ = lean_ctor_get_uint8(v_a_4138_, sizeof(void*)*14 + 1);
v_inheritedTraceOptions_4156_ = lean_ctor_get(v_a_4138_, 13);
v_isSharedCheck_4269_ = !lean_is_exclusive(v_a_4138_);
if (v_isSharedCheck_4269_ == 0)
{
v___x_4158_ = v_a_4138_;
v_isShared_4159_ = v_isSharedCheck_4269_;
goto v_resetjp_4157_;
}
else
{
lean_inc(v_inheritedTraceOptions_4156_);
lean_inc(v_cancelTk_x3f_4154_);
lean_inc(v_currMacroScope_4152_);
lean_inc(v_quotContext_4151_);
lean_inc(v_maxHeartbeats_4150_);
lean_inc(v_initHeartbeats_4149_);
lean_inc(v_openDecls_4148_);
lean_inc(v_currNamespace_4147_);
lean_inc(v_ref_4146_);
lean_inc(v_maxRecDepth_4145_);
lean_inc(v_currRecDepth_4144_);
lean_inc(v_options_4143_);
lean_inc(v_fileMap_4142_);
lean_inc(v_fileName_4141_);
lean_dec(v_a_4138_);
v___x_4158_ = lean_box(0);
v_isShared_4159_ = v_isSharedCheck_4269_;
goto v_resetjp_4157_;
}
v_resetjp_4157_:
{
uint8_t v___x_4160_; 
v___x_4160_ = lean_nat_dec_eq(v_currRecDepth_4144_, v_maxRecDepth_4145_);
if (v___x_4160_ == 0)
{
lean_object* v___x_4161_; lean_object* v___x_4162_; lean_object* v___y_4164_; lean_object* v___y_4165_; lean_object* v___y_4166_; lean_object* v___y_4167_; lean_object* v___y_4168_; lean_object* v_cls_4237_; lean_object* v___x_4238_; lean_object* v___x_4239_; lean_object* v___x_4241_; 
v___x_4161_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__0));
v___x_4162_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__1));
v_cls_4237_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___closed__2));
v___x_4238_ = lean_unsigned_to_nat(1u);
v___x_4239_ = lean_nat_add(v_currRecDepth_4144_, v___x_4238_);
lean_dec(v_currRecDepth_4144_);
if (v_isShared_4159_ == 0)
{
lean_ctor_set(v___x_4158_, 3, v___x_4239_);
v___x_4241_ = v___x_4158_;
goto v_reusejp_4240_;
}
else
{
lean_object* v_reuseFailAlloc_4267_; 
v_reuseFailAlloc_4267_ = lean_alloc_ctor(0, 14, 2);
lean_ctor_set(v_reuseFailAlloc_4267_, 0, v_fileName_4141_);
lean_ctor_set(v_reuseFailAlloc_4267_, 1, v_fileMap_4142_);
lean_ctor_set(v_reuseFailAlloc_4267_, 2, v_options_4143_);
lean_ctor_set(v_reuseFailAlloc_4267_, 3, v___x_4239_);
lean_ctor_set(v_reuseFailAlloc_4267_, 4, v_maxRecDepth_4145_);
lean_ctor_set(v_reuseFailAlloc_4267_, 5, v_ref_4146_);
lean_ctor_set(v_reuseFailAlloc_4267_, 6, v_currNamespace_4147_);
lean_ctor_set(v_reuseFailAlloc_4267_, 7, v_openDecls_4148_);
lean_ctor_set(v_reuseFailAlloc_4267_, 8, v_initHeartbeats_4149_);
lean_ctor_set(v_reuseFailAlloc_4267_, 9, v_maxHeartbeats_4150_);
lean_ctor_set(v_reuseFailAlloc_4267_, 10, v_quotContext_4151_);
lean_ctor_set(v_reuseFailAlloc_4267_, 11, v_currMacroScope_4152_);
lean_ctor_set(v_reuseFailAlloc_4267_, 12, v_cancelTk_x3f_4154_);
lean_ctor_set(v_reuseFailAlloc_4267_, 13, v_inheritedTraceOptions_4156_);
lean_ctor_set_uint8(v_reuseFailAlloc_4267_, sizeof(void*)*14, v_diag_4153_);
lean_ctor_set_uint8(v_reuseFailAlloc_4267_, sizeof(void*)*14 + 1, v_suppressElabErrors_4155_);
v___x_4241_ = v_reuseFailAlloc_4267_;
goto v_reusejp_4240_;
}
v___jp_4163_:
{
lean_object* v___x_4169_; 
v___x_4169_ = l_Lean_Expr_getAppFn(v_lhs_4133_);
if (lean_obj_tag(v___x_4169_) == 4)
{
lean_object* v_declName_4170_; lean_object* v_us_4171_; lean_object* v___x_4172_; lean_object* v___x_4173_; 
v_declName_4170_ = lean_ctor_get(v___x_4169_, 0);
lean_inc(v_declName_4170_);
v_us_4171_ = lean_ctor_get(v___x_4169_, 1);
lean_inc(v_us_4171_);
v___x_4172_ = lean_box(0);
lean_inc_ref(v___y_4164_);
lean_inc(v_us_4171_);
v___x_4173_ = l_List_mapM_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__5(v_us_4171_, v___x_4172_, v___y_4164_, v___y_4165_, v___y_4166_, v___y_4167_, v___y_4168_);
if (lean_obj_tag(v___x_4173_) == 0)
{
lean_object* v_a_4174_; lean_object* v___x_4176_; uint8_t v_isShared_4177_; uint8_t v_isSharedCheck_4227_; 
v_a_4174_ = lean_ctor_get(v___x_4173_, 0);
v_isSharedCheck_4227_ = !lean_is_exclusive(v___x_4173_);
if (v_isSharedCheck_4227_ == 0)
{
v___x_4176_ = v___x_4173_;
v_isShared_4177_ = v_isSharedCheck_4227_;
goto v_resetjp_4175_;
}
else
{
lean_inc(v_a_4174_);
lean_dec(v___x_4173_);
v___x_4176_ = lean_box(0);
v_isShared_4177_ = v_isSharedCheck_4227_;
goto v_resetjp_4175_;
}
v_resetjp_4175_:
{
lean_object* v___x_4178_; lean_object* v_env_4179_; lean_object* v___x_4180_; lean_object* v___x_4181_; uint8_t v___x_4182_; uint8_t v___x_4183_; 
v___x_4178_ = lean_st_ref_get(v___y_4168_);
v_env_4179_ = lean_ctor_get(v___x_4178_, 0);
lean_inc_ref(v_env_4179_);
lean_dec(v___x_4178_);
v___x_4180_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___closed__0));
v___x_4181_ = lean_name_append_after(v_declName_4170_, v___x_4180_);
v___x_4182_ = 1;
lean_inc(v___x_4181_);
v___x_4183_ = l_Lean_Environment_contains(v_env_4179_, v___x_4181_, v___x_4182_);
if (v___x_4183_ == 0)
{
lean_object* v___x_4184_; lean_object* v___x_4185_; 
lean_del_object(v___x_4176_);
v___x_4184_ = l_Lean_Expr_appArg_x21(v_lhs_4133_);
lean_inc(v___y_4168_);
lean_inc_ref(v___y_4167_);
lean_inc(v___y_4166_);
lean_inc_ref(v___y_4165_);
v___x_4185_ = lean_infer_type(v___x_4184_, v___y_4165_, v___y_4166_, v___y_4167_, v___y_4168_);
if (lean_obj_tag(v___x_4185_) == 0)
{
lean_object* v_a_4186_; lean_object* v___x_4187_; 
v_a_4186_ = lean_ctor_get(v___x_4185_, 0);
lean_inc(v_a_4186_);
lean_dec_ref(v___x_4185_);
lean_inc(v___y_4168_);
lean_inc_ref(v___y_4167_);
lean_inc(v___y_4166_);
lean_inc_ref(v___y_4165_);
v___x_4187_ = lean_whnf(v_a_4186_, v___y_4165_, v___y_4166_, v___y_4167_, v___y_4168_);
if (lean_obj_tag(v___x_4187_) == 0)
{
lean_object* v_a_4188_; lean_object* v___x_4189_; 
v_a_4188_ = lean_ctor_get(v___x_4187_, 0);
lean_inc(v_a_4188_);
lean_dec_ref(v___x_4187_);
v___x_4189_ = l_Lean_Expr_getAppFn(v_a_4188_);
if (lean_obj_tag(v___x_4189_) == 4)
{
lean_object* v_declName_4190_; lean_object* v___x_4191_; lean_object* v_env_4192_; lean_object* v___x_4193_; 
v_declName_4190_ = lean_ctor_get(v___x_4189_, 0);
lean_inc(v_declName_4190_);
v___x_4191_ = lean_st_ref_get(v___y_4168_);
v_env_4192_ = lean_ctor_get(v___x_4191_, 0);
lean_inc_ref(v_env_4192_);
lean_dec(v___x_4191_);
v___x_4193_ = l_Lean_Environment_find_x3f(v_env_4192_, v_declName_4190_, v___x_4160_);
if (lean_obj_tag(v___x_4193_) == 0)
{
lean_object* v___x_4194_; 
lean_dec_ref(v___x_4189_);
lean_dec(v_a_4188_);
lean_dec(v___x_4181_);
lean_dec(v_a_4174_);
lean_dec(v_us_4171_);
lean_dec_ref(v___x_4169_);
lean_dec_ref(v_lhs_4133_);
v___x_4194_ = l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg(v___y_4164_, v___y_4165_, v___y_4166_, v___y_4167_, v___y_4168_);
lean_dec(v___y_4168_);
lean_dec_ref(v___y_4167_);
lean_dec(v___y_4166_);
lean_dec_ref(v___y_4165_);
return v___x_4194_;
}
else
{
lean_object* v_val_4195_; 
v_val_4195_ = lean_ctor_get(v___x_4193_, 0);
lean_inc(v_val_4195_);
lean_dec_ref(v___x_4193_);
if (lean_obj_tag(v_val_4195_) == 5)
{
lean_object* v_val_4196_; lean_object* v_numParams_4197_; lean_object* v_nargs_4198_; lean_object* v_dummy_4199_; lean_object* v___x_4200_; lean_object* v___x_4201_; lean_object* v___x_4202_; lean_object* v___x_4203_; lean_object* v___x_4204_; lean_object* v___x_4205_; lean_object* v___x_4206_; lean_object* v___x_4207_; lean_object* v___x_4208_; 
v_val_4196_ = lean_ctor_get(v_val_4195_, 0);
lean_inc_ref(v_val_4196_);
lean_dec_ref(v_val_4195_);
v_numParams_4197_ = lean_ctor_get(v_val_4196_, 1);
v_nargs_4198_ = l_Lean_Expr_getAppNumArgs(v_a_4188_);
v_dummy_4199_ = lean_obj_once(&l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3, &l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3_once, _init_l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3);
lean_inc(v_nargs_4198_);
v___x_4200_ = lean_mk_array(v_nargs_4198_, v_dummy_4199_);
v___x_4201_ = lean_unsigned_to_nat(1u);
v___x_4202_ = lean_nat_sub(v_nargs_4198_, v___x_4201_);
lean_dec(v_nargs_4198_);
v___x_4203_ = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(v_a_4188_, v___x_4200_, v___x_4202_);
v___x_4204_ = lean_unsigned_to_nat(0u);
lean_inc(v_numParams_4197_);
v___x_4205_ = l_Array_toSubarray___redArg(v___x_4203_, v___x_4204_, v_numParams_4197_);
v___x_4206_ = l_Subarray_copy___redArg(v___x_4205_);
v___x_4207_ = l_Lean_mkAppN(v___x_4189_, v___x_4206_);
lean_dec_ref(v___x_4206_);
lean_inc(v___y_4168_);
lean_inc_ref(v___y_4167_);
lean_inc(v___y_4166_);
lean_inc_ref(v___y_4165_);
lean_inc_ref(v___x_4207_);
v___x_4208_ = lean_infer_type(v___x_4207_, v___y_4165_, v___y_4166_, v___y_4167_, v___y_4168_);
if (lean_obj_tag(v___x_4208_) == 0)
{
lean_object* v_a_4209_; lean_object* v___x_4210_; lean_object* v___x_4211_; lean_object* v___f_4212_; lean_object* v___x_4213_; 
v_a_4209_ = lean_ctor_get(v___x_4208_, 0);
lean_inc(v_a_4209_);
lean_dec_ref(v___x_4208_);
v___x_4210_ = lean_box(v___x_4160_);
v___x_4211_ = lean_box(v___x_4182_);
v___f_4212_ = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__1___boxed), 23, 15);
lean_closure_set(v___f_4212_, 0, v_lhs_4133_);
lean_closure_set(v___f_4212_, 1, v_dummy_4199_);
lean_closure_set(v___f_4212_, 2, v___x_4201_);
lean_closure_set(v___f_4212_, 3, v___x_4204_);
lean_closure_set(v___f_4212_, 4, v___x_4162_);
lean_closure_set(v___f_4212_, 5, v___x_4169_);
lean_closure_set(v___f_4212_, 6, v___x_4210_);
lean_closure_set(v___f_4212_, 7, v___x_4211_);
lean_closure_set(v___f_4212_, 8, v_val_4196_);
lean_closure_set(v___f_4212_, 9, v___x_4161_);
lean_closure_set(v___f_4212_, 10, v___x_4181_);
lean_closure_set(v___f_4212_, 11, v_a_4174_);
lean_closure_set(v___f_4212_, 12, v___x_4172_);
lean_closure_set(v___f_4212_, 13, v_us_4171_);
lean_closure_set(v___f_4212_, 14, v___x_4207_);
v___x_4213_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7___redArg(v_a_4209_, v___f_4212_, v___x_4160_, v___x_4160_, v___y_4164_, v___y_4165_, v___y_4166_, v___y_4167_, v___y_4168_);
return v___x_4213_;
}
else
{
lean_dec_ref(v___x_4207_);
lean_dec_ref(v_val_4196_);
lean_dec(v___x_4181_);
lean_dec(v_a_4174_);
lean_dec(v_us_4171_);
lean_dec_ref(v___x_4169_);
lean_dec(v___y_4168_);
lean_dec_ref(v___y_4167_);
lean_dec(v___y_4166_);
lean_dec_ref(v___y_4165_);
lean_dec_ref(v___y_4164_);
lean_dec_ref(v_lhs_4133_);
return v___x_4208_;
}
}
else
{
lean_object* v___x_4214_; 
lean_dec(v_val_4195_);
lean_dec_ref(v___x_4189_);
lean_dec(v_a_4188_);
lean_dec(v___x_4181_);
lean_dec(v_a_4174_);
lean_dec(v_us_4171_);
lean_dec_ref(v___x_4169_);
lean_dec_ref(v_lhs_4133_);
v___x_4214_ = l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg(v___y_4164_, v___y_4165_, v___y_4166_, v___y_4167_, v___y_4168_);
lean_dec(v___y_4168_);
lean_dec_ref(v___y_4167_);
lean_dec(v___y_4166_);
lean_dec_ref(v___y_4165_);
return v___x_4214_;
}
}
}
else
{
lean_object* v___x_4215_; 
lean_dec_ref(v___x_4189_);
lean_dec(v_a_4188_);
lean_dec(v___x_4181_);
lean_dec(v_a_4174_);
lean_dec(v_us_4171_);
lean_dec_ref(v___x_4169_);
lean_dec_ref(v_lhs_4133_);
v___x_4215_ = l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg(v___y_4164_, v___y_4165_, v___y_4166_, v___y_4167_, v___y_4168_);
lean_dec(v___y_4168_);
lean_dec_ref(v___y_4167_);
lean_dec(v___y_4166_);
lean_dec_ref(v___y_4165_);
return v___x_4215_;
}
}
else
{
lean_dec(v___x_4181_);
lean_dec(v_a_4174_);
lean_dec(v_us_4171_);
lean_dec_ref(v___x_4169_);
lean_dec(v___y_4168_);
lean_dec_ref(v___y_4167_);
lean_dec(v___y_4166_);
lean_dec_ref(v___y_4165_);
lean_dec_ref(v___y_4164_);
lean_dec_ref(v_lhs_4133_);
return v___x_4187_;
}
}
else
{
lean_dec(v___x_4181_);
lean_dec(v_a_4174_);
lean_dec(v_us_4171_);
lean_dec_ref(v___x_4169_);
lean_dec(v___y_4168_);
lean_dec_ref(v___y_4167_);
lean_dec(v___y_4166_);
lean_dec_ref(v___y_4165_);
lean_dec_ref(v___y_4164_);
lean_dec_ref(v_lhs_4133_);
return v___x_4185_;
}
}
else
{
lean_object* v___x_4216_; lean_object* v_dummy_4217_; lean_object* v_nargs_4218_; lean_object* v___x_4219_; lean_object* v___x_4220_; lean_object* v___x_4221_; lean_object* v___x_4222_; lean_object* v___x_4223_; lean_object* v___x_4225_; 
lean_dec(v_a_4174_);
lean_dec_ref(v___x_4169_);
lean_dec(v___y_4168_);
lean_dec_ref(v___y_4167_);
lean_dec(v___y_4166_);
lean_dec_ref(v___y_4165_);
lean_dec_ref(v___y_4164_);
v___x_4216_ = l_Lean_mkConst(v___x_4181_, v_us_4171_);
v_dummy_4217_ = lean_obj_once(&l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3, &l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3_once, _init_l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3);
v_nargs_4218_ = l_Lean_Expr_getAppNumArgs(v_lhs_4133_);
lean_inc(v_nargs_4218_);
v___x_4219_ = lean_mk_array(v_nargs_4218_, v_dummy_4217_);
v___x_4220_ = lean_unsigned_to_nat(1u);
v___x_4221_ = lean_nat_sub(v_nargs_4218_, v___x_4220_);
lean_dec(v_nargs_4218_);
v___x_4222_ = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(v_lhs_4133_, v___x_4219_, v___x_4221_);
v___x_4223_ = l_Lean_mkAppN(v___x_4216_, v___x_4222_);
lean_dec_ref(v___x_4222_);
if (v_isShared_4177_ == 0)
{
lean_ctor_set(v___x_4176_, 0, v___x_4223_);
v___x_4225_ = v___x_4176_;
goto v_reusejp_4224_;
}
else
{
lean_object* v_reuseFailAlloc_4226_; 
v_reuseFailAlloc_4226_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4226_, 0, v___x_4223_);
v___x_4225_ = v_reuseFailAlloc_4226_;
goto v_reusejp_4224_;
}
v_reusejp_4224_:
{
return v___x_4225_;
}
}
}
}
else
{
lean_object* v_a_4228_; lean_object* v___x_4230_; uint8_t v_isShared_4231_; uint8_t v_isSharedCheck_4235_; 
lean_dec(v_us_4171_);
lean_dec(v_declName_4170_);
lean_dec_ref(v___x_4169_);
lean_dec(v___y_4168_);
lean_dec_ref(v___y_4167_);
lean_dec(v___y_4166_);
lean_dec_ref(v___y_4165_);
lean_dec_ref(v___y_4164_);
lean_dec_ref(v_lhs_4133_);
v_a_4228_ = lean_ctor_get(v___x_4173_, 0);
v_isSharedCheck_4235_ = !lean_is_exclusive(v___x_4173_);
if (v_isSharedCheck_4235_ == 0)
{
v___x_4230_ = v___x_4173_;
v_isShared_4231_ = v_isSharedCheck_4235_;
goto v_resetjp_4229_;
}
else
{
lean_inc(v_a_4228_);
lean_dec(v___x_4173_);
v___x_4230_ = lean_box(0);
v_isShared_4231_ = v_isSharedCheck_4235_;
goto v_resetjp_4229_;
}
v_resetjp_4229_:
{
lean_object* v___x_4233_; 
if (v_isShared_4231_ == 0)
{
v___x_4233_ = v___x_4230_;
goto v_reusejp_4232_;
}
else
{
lean_object* v_reuseFailAlloc_4234_; 
v_reuseFailAlloc_4234_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4234_, 0, v_a_4228_);
v___x_4233_ = v_reuseFailAlloc_4234_;
goto v_reusejp_4232_;
}
v_reusejp_4232_:
{
return v___x_4233_;
}
}
}
}
else
{
lean_object* v___x_4236_; 
lean_dec_ref(v___x_4169_);
lean_dec_ref(v_lhs_4133_);
v___x_4236_ = l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg(v___y_4164_, v___y_4165_, v___y_4166_, v___y_4167_, v___y_4168_);
lean_dec(v___y_4168_);
lean_dec_ref(v___y_4167_);
lean_dec(v___y_4166_);
lean_dec_ref(v___y_4165_);
return v___x_4236_;
}
}
v_reusejp_4240_:
{
lean_object* v___x_4242_; 
v___x_4242_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__0___redArg(v_cls_4237_, v___x_4241_);
if (lean_obj_tag(v___x_4242_) == 0)
{
lean_object* v_a_4243_; uint8_t v___x_4244_; 
v_a_4243_ = lean_ctor_get(v___x_4242_, 0);
lean_inc(v_a_4243_);
lean_dec_ref(v___x_4242_);
v___x_4244_ = lean_unbox(v_a_4243_);
lean_dec(v_a_4243_);
if (v___x_4244_ == 0)
{
lean_dec_ref(v_rhs_4134_);
v___y_4164_ = v_a_4135_;
v___y_4165_ = v_a_4136_;
v___y_4166_ = v_a_4137_;
v___y_4167_ = v___x_4241_;
v___y_4168_ = v_a_4139_;
goto v___jp_4163_;
}
else
{
lean_object* v___x_4245_; lean_object* v___x_4246_; lean_object* v___x_4247_; lean_object* v___x_4248_; lean_object* v___x_4249_; lean_object* v___x_4250_; 
lean_inc_ref(v_lhs_4133_);
v___x_4245_ = l_Lean_MessageData_ofExpr(v_lhs_4133_);
v___x_4246_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__4, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__4_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__4);
v___x_4247_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4247_, 0, v___x_4245_);
lean_ctor_set(v___x_4247_, 1, v___x_4246_);
v___x_4248_ = l_Lean_MessageData_ofExpr(v_rhs_4134_);
v___x_4249_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4249_, 0, v___x_4247_);
lean_ctor_set(v___x_4249_, 1, v___x_4248_);
v___x_4250_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__1___redArg(v_cls_4237_, v___x_4249_, v_a_4136_, v_a_4137_, v___x_4241_, v_a_4139_);
if (lean_obj_tag(v___x_4250_) == 0)
{
lean_dec_ref(v___x_4250_);
v___y_4164_ = v_a_4135_;
v___y_4165_ = v_a_4136_;
v___y_4166_ = v_a_4137_;
v___y_4167_ = v___x_4241_;
v___y_4168_ = v_a_4139_;
goto v___jp_4163_;
}
else
{
lean_object* v_a_4251_; lean_object* v___x_4253_; uint8_t v_isShared_4254_; uint8_t v_isSharedCheck_4258_; 
lean_dec_ref(v___x_4241_);
lean_dec(v_a_4139_);
lean_dec(v_a_4137_);
lean_dec_ref(v_a_4136_);
lean_dec_ref(v_a_4135_);
lean_dec_ref(v_lhs_4133_);
v_a_4251_ = lean_ctor_get(v___x_4250_, 0);
v_isSharedCheck_4258_ = !lean_is_exclusive(v___x_4250_);
if (v_isSharedCheck_4258_ == 0)
{
v___x_4253_ = v___x_4250_;
v_isShared_4254_ = v_isSharedCheck_4258_;
goto v_resetjp_4252_;
}
else
{
lean_inc(v_a_4251_);
lean_dec(v___x_4250_);
v___x_4253_ = lean_box(0);
v_isShared_4254_ = v_isSharedCheck_4258_;
goto v_resetjp_4252_;
}
v_resetjp_4252_:
{
lean_object* v___x_4256_; 
if (v_isShared_4254_ == 0)
{
v___x_4256_ = v___x_4253_;
goto v_reusejp_4255_;
}
else
{
lean_object* v_reuseFailAlloc_4257_; 
v_reuseFailAlloc_4257_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4257_, 0, v_a_4251_);
v___x_4256_ = v_reuseFailAlloc_4257_;
goto v_reusejp_4255_;
}
v_reusejp_4255_:
{
return v___x_4256_;
}
}
}
}
}
else
{
lean_object* v_a_4259_; lean_object* v___x_4261_; uint8_t v_isShared_4262_; uint8_t v_isSharedCheck_4266_; 
lean_dec_ref(v___x_4241_);
lean_dec(v_a_4139_);
lean_dec(v_a_4137_);
lean_dec_ref(v_a_4136_);
lean_dec_ref(v_a_4135_);
lean_dec_ref(v_rhs_4134_);
lean_dec_ref(v_lhs_4133_);
v_a_4259_ = lean_ctor_get(v___x_4242_, 0);
v_isSharedCheck_4266_ = !lean_is_exclusive(v___x_4242_);
if (v_isSharedCheck_4266_ == 0)
{
v___x_4261_ = v___x_4242_;
v_isShared_4262_ = v_isSharedCheck_4266_;
goto v_resetjp_4260_;
}
else
{
lean_inc(v_a_4259_);
lean_dec(v___x_4242_);
v___x_4261_ = lean_box(0);
v_isShared_4262_ = v_isSharedCheck_4266_;
goto v_resetjp_4260_;
}
v_resetjp_4260_:
{
lean_object* v___x_4264_; 
if (v_isShared_4262_ == 0)
{
v___x_4264_ = v___x_4261_;
goto v_reusejp_4263_;
}
else
{
lean_object* v_reuseFailAlloc_4265_; 
v_reuseFailAlloc_4265_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4265_, 0, v_a_4259_);
v___x_4264_ = v_reuseFailAlloc_4265_;
goto v_reusejp_4263_;
}
v_reusejp_4263_:
{
return v___x_4264_;
}
}
}
}
}
else
{
lean_object* v___x_4268_; 
lean_del_object(v___x_4158_);
lean_dec_ref(v_inheritedTraceOptions_4156_);
lean_dec(v_cancelTk_x3f_4154_);
lean_dec(v_currMacroScope_4152_);
lean_dec(v_quotContext_4151_);
lean_dec(v_maxHeartbeats_4150_);
lean_dec(v_initHeartbeats_4149_);
lean_dec(v_openDecls_4148_);
lean_dec(v_currNamespace_4147_);
lean_dec(v_maxRecDepth_4145_);
lean_dec(v_currRecDepth_4144_);
lean_dec_ref(v_options_4143_);
lean_dec_ref(v_fileMap_4142_);
lean_dec_ref(v_fileName_4141_);
lean_dec(v_a_4139_);
lean_dec(v_a_4137_);
lean_dec_ref(v_a_4136_);
lean_dec_ref(v_a_4135_);
lean_dec_ref(v_rhs_4134_);
lean_dec_ref(v_lhs_4133_);
v___x_4268_ = l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg(v_ref_4146_);
return v___x_4268_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep(lean_object* v_ys_4277_, lean_object* v_lhs_4278_, lean_object* v_rhs_4279_, lean_object* v_a_4280_, lean_object* v_a_4281_, lean_object* v_a_4282_, lean_object* v_a_4283_, lean_object* v_a_4284_){
_start:
{
lean_object* v___x_4286_; 
lean_inc(v_a_4284_);
lean_inc_ref(v_a_4283_);
lean_inc(v_a_4282_);
lean_inc_ref(v_a_4281_);
lean_inc_ref(v_rhs_4279_);
lean_inc_ref(v_lhs_4278_);
v___x_4286_ = l_Lean_Meta_isExprDefEq(v_lhs_4278_, v_rhs_4279_, v_a_4281_, v_a_4282_, v_a_4283_, v_a_4284_);
if (lean_obj_tag(v___x_4286_) == 0)
{
lean_object* v_a_4287_; uint8_t v___x_4288_; 
v_a_4287_ = lean_ctor_get(v___x_4286_, 0);
lean_inc(v_a_4287_);
lean_dec_ref(v___x_4286_);
v___x_4288_ = lean_unbox(v_a_4287_);
lean_dec(v_a_4287_);
if (v___x_4288_ == 0)
{
lean_object* v___x_4289_; 
lean_inc_ref(v_a_4280_);
v___x_4289_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_recToSizeOf(v_lhs_4278_, v_a_4280_, v_a_4281_, v_a_4282_, v_a_4283_, v_a_4284_);
if (lean_obj_tag(v___x_4289_) == 0)
{
lean_object* v_a_4290_; lean_object* v___y_4292_; lean_object* v___y_4293_; lean_object* v___y_4294_; lean_object* v___y_4295_; lean_object* v___y_4296_; lean_object* v___x_4322_; lean_object* v___x_4323_; 
v_a_4290_ = lean_ctor_get(v___x_4289_, 0);
lean_inc(v_a_4290_);
lean_dec_ref(v___x_4289_);
v___x_4322_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__2));
v___x_4323_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__0___redArg(v___x_4322_, v_a_4283_);
if (lean_obj_tag(v___x_4323_) == 0)
{
lean_object* v_a_4324_; uint8_t v___x_4325_; 
v_a_4324_ = lean_ctor_get(v___x_4323_, 0);
lean_inc(v_a_4324_);
lean_dec_ref(v___x_4323_);
v___x_4325_ = lean_unbox(v_a_4324_);
lean_dec(v_a_4324_);
if (v___x_4325_ == 0)
{
v___y_4292_ = v_a_4280_;
v___y_4293_ = v_a_4281_;
v___y_4294_ = v_a_4282_;
v___y_4295_ = v_a_4283_;
v___y_4296_ = v_a_4284_;
goto v___jp_4291_;
}
else
{
lean_object* v___x_4326_; lean_object* v___x_4327_; lean_object* v___x_4328_; lean_object* v___x_4329_; lean_object* v___x_4330_; lean_object* v___x_4331_; 
lean_inc(v_a_4290_);
v___x_4326_ = l_Lean_MessageData_ofExpr(v_a_4290_);
v___x_4327_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__4, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__4_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__4);
v___x_4328_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4328_, 0, v___x_4326_);
lean_ctor_set(v___x_4328_, 1, v___x_4327_);
lean_inc_ref(v_rhs_4279_);
v___x_4329_ = l_Lean_MessageData_ofExpr(v_rhs_4279_);
v___x_4330_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4330_, 0, v___x_4328_);
lean_ctor_set(v___x_4330_, 1, v___x_4329_);
v___x_4331_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__1___redArg(v___x_4322_, v___x_4330_, v_a_4281_, v_a_4282_, v_a_4283_, v_a_4284_);
if (lean_obj_tag(v___x_4331_) == 0)
{
lean_dec_ref(v___x_4331_);
v___y_4292_ = v_a_4280_;
v___y_4293_ = v_a_4281_;
v___y_4294_ = v_a_4282_;
v___y_4295_ = v_a_4283_;
v___y_4296_ = v_a_4284_;
goto v___jp_4291_;
}
else
{
lean_object* v_a_4332_; lean_object* v___x_4334_; uint8_t v_isShared_4335_; uint8_t v_isSharedCheck_4339_; 
lean_dec(v_a_4290_);
lean_dec(v_a_4284_);
lean_dec_ref(v_a_4283_);
lean_dec(v_a_4282_);
lean_dec_ref(v_a_4281_);
lean_dec_ref(v_a_4280_);
lean_dec_ref(v_rhs_4279_);
v_a_4332_ = lean_ctor_get(v___x_4331_, 0);
v_isSharedCheck_4339_ = !lean_is_exclusive(v___x_4331_);
if (v_isSharedCheck_4339_ == 0)
{
v___x_4334_ = v___x_4331_;
v_isShared_4335_ = v_isSharedCheck_4339_;
goto v_resetjp_4333_;
}
else
{
lean_inc(v_a_4332_);
lean_dec(v___x_4331_);
v___x_4334_ = lean_box(0);
v_isShared_4335_ = v_isSharedCheck_4339_;
goto v_resetjp_4333_;
}
v_resetjp_4333_:
{
lean_object* v___x_4337_; 
if (v_isShared_4335_ == 0)
{
v___x_4337_ = v___x_4334_;
goto v_reusejp_4336_;
}
else
{
lean_object* v_reuseFailAlloc_4338_; 
v_reuseFailAlloc_4338_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4338_, 0, v_a_4332_);
v___x_4337_ = v_reuseFailAlloc_4338_;
goto v_reusejp_4336_;
}
v_reusejp_4336_:
{
return v___x_4337_;
}
}
}
}
}
else
{
lean_object* v_a_4340_; lean_object* v___x_4342_; uint8_t v_isShared_4343_; uint8_t v_isSharedCheck_4347_; 
lean_dec(v_a_4290_);
lean_dec(v_a_4284_);
lean_dec_ref(v_a_4283_);
lean_dec(v_a_4282_);
lean_dec_ref(v_a_4281_);
lean_dec_ref(v_a_4280_);
lean_dec_ref(v_rhs_4279_);
v_a_4340_ = lean_ctor_get(v___x_4323_, 0);
v_isSharedCheck_4347_ = !lean_is_exclusive(v___x_4323_);
if (v_isSharedCheck_4347_ == 0)
{
v___x_4342_ = v___x_4323_;
v_isShared_4343_ = v_isSharedCheck_4347_;
goto v_resetjp_4341_;
}
else
{
lean_inc(v_a_4340_);
lean_dec(v___x_4323_);
v___x_4342_ = lean_box(0);
v_isShared_4343_ = v_isSharedCheck_4347_;
goto v_resetjp_4341_;
}
v_resetjp_4341_:
{
lean_object* v___x_4345_; 
if (v_isShared_4343_ == 0)
{
v___x_4345_ = v___x_4342_;
goto v_reusejp_4344_;
}
else
{
lean_object* v_reuseFailAlloc_4346_; 
v_reuseFailAlloc_4346_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4346_, 0, v_a_4340_);
v___x_4345_ = v_reuseFailAlloc_4346_;
goto v_reusejp_4344_;
}
v_reusejp_4344_:
{
return v___x_4345_;
}
}
}
v___jp_4291_:
{
lean_object* v___x_4297_; 
lean_inc(v___y_4296_);
lean_inc_ref(v___y_4295_);
lean_inc(v___y_4294_);
lean_inc_ref(v___y_4293_);
lean_inc_ref(v_rhs_4279_);
lean_inc(v_a_4290_);
v___x_4297_ = l_Lean_Meta_mkEq(v_a_4290_, v_rhs_4279_, v___y_4293_, v___y_4294_, v___y_4295_, v___y_4296_);
if (lean_obj_tag(v___x_4297_) == 0)
{
lean_object* v_a_4298_; lean_object* v___x_4299_; size_t v_sz_4300_; size_t v___x_4301_; lean_object* v___x_4302_; 
v_a_4298_ = lean_ctor_get(v___x_4297_, 0);
lean_inc(v_a_4298_);
lean_dec_ref(v___x_4297_);
v___x_4299_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_mkSizeOf_spec__0___redArg___closed__0));
v_sz_4300_ = lean_array_size(v_ys_4277_);
v___x_4301_ = ((size_t)0ULL);
lean_inc(v___y_4296_);
lean_inc_ref(v___y_4295_);
lean_inc(v___y_4294_);
lean_inc_ref(v___y_4293_);
v___x_4302_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep_spec__3___redArg(v_a_4298_, v_ys_4277_, v_sz_4300_, v___x_4301_, v___x_4299_, v___y_4293_, v___y_4294_, v___y_4295_, v___y_4296_);
if (lean_obj_tag(v___x_4302_) == 0)
{
lean_object* v_a_4303_; lean_object* v___x_4305_; uint8_t v_isShared_4306_; uint8_t v_isSharedCheck_4313_; 
v_a_4303_ = lean_ctor_get(v___x_4302_, 0);
v_isSharedCheck_4313_ = !lean_is_exclusive(v___x_4302_);
if (v_isSharedCheck_4313_ == 0)
{
v___x_4305_ = v___x_4302_;
v_isShared_4306_ = v_isSharedCheck_4313_;
goto v_resetjp_4304_;
}
else
{
lean_inc(v_a_4303_);
lean_dec(v___x_4302_);
v___x_4305_ = lean_box(0);
v_isShared_4306_ = v_isSharedCheck_4313_;
goto v_resetjp_4304_;
}
v_resetjp_4304_:
{
lean_object* v_fst_4307_; 
v_fst_4307_ = lean_ctor_get(v_a_4303_, 0);
lean_inc(v_fst_4307_);
lean_dec(v_a_4303_);
if (lean_obj_tag(v_fst_4307_) == 0)
{
lean_object* v___x_4308_; 
lean_del_object(v___x_4305_);
v___x_4308_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma(v_a_4290_, v_rhs_4279_, v___y_4292_, v___y_4293_, v___y_4294_, v___y_4295_, v___y_4296_);
return v___x_4308_;
}
else
{
lean_object* v_val_4309_; lean_object* v___x_4311_; 
lean_dec(v___y_4296_);
lean_dec_ref(v___y_4295_);
lean_dec(v___y_4294_);
lean_dec_ref(v___y_4293_);
lean_dec_ref(v___y_4292_);
lean_dec(v_a_4290_);
lean_dec_ref(v_rhs_4279_);
v_val_4309_ = lean_ctor_get(v_fst_4307_, 0);
lean_inc(v_val_4309_);
lean_dec_ref(v_fst_4307_);
if (v_isShared_4306_ == 0)
{
lean_ctor_set(v___x_4305_, 0, v_val_4309_);
v___x_4311_ = v___x_4305_;
goto v_reusejp_4310_;
}
else
{
lean_object* v_reuseFailAlloc_4312_; 
v_reuseFailAlloc_4312_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4312_, 0, v_val_4309_);
v___x_4311_ = v_reuseFailAlloc_4312_;
goto v_reusejp_4310_;
}
v_reusejp_4310_:
{
return v___x_4311_;
}
}
}
}
else
{
lean_object* v_a_4314_; lean_object* v___x_4316_; uint8_t v_isShared_4317_; uint8_t v_isSharedCheck_4321_; 
lean_dec(v___y_4296_);
lean_dec_ref(v___y_4295_);
lean_dec(v___y_4294_);
lean_dec_ref(v___y_4293_);
lean_dec_ref(v___y_4292_);
lean_dec(v_a_4290_);
lean_dec_ref(v_rhs_4279_);
v_a_4314_ = lean_ctor_get(v___x_4302_, 0);
v_isSharedCheck_4321_ = !lean_is_exclusive(v___x_4302_);
if (v_isSharedCheck_4321_ == 0)
{
v___x_4316_ = v___x_4302_;
v_isShared_4317_ = v_isSharedCheck_4321_;
goto v_resetjp_4315_;
}
else
{
lean_inc(v_a_4314_);
lean_dec(v___x_4302_);
v___x_4316_ = lean_box(0);
v_isShared_4317_ = v_isSharedCheck_4321_;
goto v_resetjp_4315_;
}
v_resetjp_4315_:
{
lean_object* v___x_4319_; 
if (v_isShared_4317_ == 0)
{
v___x_4319_ = v___x_4316_;
goto v_reusejp_4318_;
}
else
{
lean_object* v_reuseFailAlloc_4320_; 
v_reuseFailAlloc_4320_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4320_, 0, v_a_4314_);
v___x_4319_ = v_reuseFailAlloc_4320_;
goto v_reusejp_4318_;
}
v_reusejp_4318_:
{
return v___x_4319_;
}
}
}
}
else
{
lean_dec(v___y_4296_);
lean_dec_ref(v___y_4295_);
lean_dec(v___y_4294_);
lean_dec_ref(v___y_4293_);
lean_dec_ref(v___y_4292_);
lean_dec(v_a_4290_);
lean_dec_ref(v_rhs_4279_);
return v___x_4297_;
}
}
}
else
{
lean_dec(v_a_4284_);
lean_dec_ref(v_a_4283_);
lean_dec(v_a_4282_);
lean_dec_ref(v_a_4281_);
lean_dec_ref(v_a_4280_);
lean_dec_ref(v_rhs_4279_);
return v___x_4289_;
}
}
else
{
lean_object* v___x_4348_; 
lean_dec_ref(v_a_4280_);
lean_dec_ref(v_lhs_4278_);
v___x_4348_ = l_Lean_Meta_mkEqRefl(v_rhs_4279_, v_a_4281_, v_a_4282_, v_a_4283_, v_a_4284_);
return v___x_4348_;
}
}
else
{
lean_object* v_a_4349_; lean_object* v___x_4351_; uint8_t v_isShared_4352_; uint8_t v_isSharedCheck_4356_; 
lean_dec(v_a_4284_);
lean_dec_ref(v_a_4283_);
lean_dec(v_a_4282_);
lean_dec_ref(v_a_4281_);
lean_dec_ref(v_a_4280_);
lean_dec_ref(v_rhs_4279_);
lean_dec_ref(v_lhs_4278_);
v_a_4349_ = lean_ctor_get(v___x_4286_, 0);
v_isSharedCheck_4356_ = !lean_is_exclusive(v___x_4286_);
if (v_isSharedCheck_4356_ == 0)
{
v___x_4351_ = v___x_4286_;
v_isShared_4352_ = v_isSharedCheck_4356_;
goto v_resetjp_4350_;
}
else
{
lean_inc(v_a_4349_);
lean_dec(v___x_4286_);
v___x_4351_ = lean_box(0);
v_isShared_4352_ = v_isSharedCheck_4356_;
goto v_resetjp_4350_;
}
v_resetjp_4350_:
{
lean_object* v___x_4354_; 
if (v_isShared_4352_ == 0)
{
v___x_4354_ = v___x_4351_;
goto v_reusejp_4353_;
}
else
{
lean_object* v_reuseFailAlloc_4355_; 
v_reuseFailAlloc_4355_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4355_, 0, v_a_4349_);
v___x_4354_ = v_reuseFailAlloc_4355_;
goto v_reusejp_4353_;
}
v_reusejp_4353_:
{
return v___x_4354_;
}
}
}
}
}
static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__6(void){
_start:
{
lean_object* v___x_4361_; lean_object* v___x_4362_; lean_object* v___x_4363_; 
v___x_4361_ = lean_box(0);
v___x_4362_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__5));
v___x_4363_ = l_Lean_mkConst(v___x_4362_, v___x_4361_);
return v___x_4363_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof(lean_object* v_ys_4368_, lean_object* v_lhs_4369_, lean_object* v_rhs_4370_, lean_object* v_a_4371_, lean_object* v_a_4372_, lean_object* v_a_4373_, lean_object* v_a_4374_, lean_object* v_a_4375_){
_start:
{
lean_object* v___y_4378_; lean_object* v___y_4379_; lean_object* v___y_4380_; lean_object* v___y_4381_; lean_object* v___y_4382_; lean_object* v___y_4392_; lean_object* v___y_4393_; lean_object* v___y_4394_; lean_object* v___y_4395_; lean_object* v___y_4396_; lean_object* v_cls_4429_; lean_object* v___x_4430_; 
v_cls_4429_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__7));
v___x_4430_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__0___redArg(v_cls_4429_, v_a_4374_);
if (lean_obj_tag(v___x_4430_) == 0)
{
lean_object* v_a_4431_; uint8_t v___x_4432_; 
v_a_4431_ = lean_ctor_get(v___x_4430_, 0);
lean_inc(v_a_4431_);
lean_dec_ref(v___x_4430_);
v___x_4432_ = lean_unbox(v_a_4431_);
lean_dec(v_a_4431_);
if (v___x_4432_ == 0)
{
v___y_4392_ = v_a_4371_;
v___y_4393_ = v_a_4372_;
v___y_4394_ = v_a_4373_;
v___y_4395_ = v_a_4374_;
v___y_4396_ = v_a_4375_;
goto v___jp_4391_;
}
else
{
lean_object* v___x_4433_; lean_object* v___x_4434_; lean_object* v___x_4435_; lean_object* v___x_4436_; lean_object* v___x_4437_; lean_object* v___x_4438_; 
lean_inc_ref(v_lhs_4369_);
v___x_4433_ = l_Lean_MessageData_ofExpr(v_lhs_4369_);
v___x_4434_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__4, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__4_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__4);
v___x_4435_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4435_, 0, v___x_4433_);
lean_ctor_set(v___x_4435_, 1, v___x_4434_);
lean_inc_ref(v_rhs_4370_);
v___x_4436_ = l_Lean_MessageData_ofExpr(v_rhs_4370_);
v___x_4437_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4437_, 0, v___x_4435_);
lean_ctor_set(v___x_4437_, 1, v___x_4436_);
v___x_4438_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__1___redArg(v_cls_4429_, v___x_4437_, v_a_4372_, v_a_4373_, v_a_4374_, v_a_4375_);
if (lean_obj_tag(v___x_4438_) == 0)
{
lean_dec_ref(v___x_4438_);
v___y_4392_ = v_a_4371_;
v___y_4393_ = v_a_4372_;
v___y_4394_ = v_a_4373_;
v___y_4395_ = v_a_4374_;
v___y_4396_ = v_a_4375_;
goto v___jp_4391_;
}
else
{
lean_object* v_a_4439_; lean_object* v___x_4441_; uint8_t v_isShared_4442_; uint8_t v_isSharedCheck_4446_; 
lean_dec(v_a_4375_);
lean_dec_ref(v_a_4374_);
lean_dec(v_a_4373_);
lean_dec_ref(v_a_4372_);
lean_dec_ref(v_a_4371_);
lean_dec_ref(v_rhs_4370_);
lean_dec_ref(v_lhs_4369_);
v_a_4439_ = lean_ctor_get(v___x_4438_, 0);
v_isSharedCheck_4446_ = !lean_is_exclusive(v___x_4438_);
if (v_isSharedCheck_4446_ == 0)
{
v___x_4441_ = v___x_4438_;
v_isShared_4442_ = v_isSharedCheck_4446_;
goto v_resetjp_4440_;
}
else
{
lean_inc(v_a_4439_);
lean_dec(v___x_4438_);
v___x_4441_ = lean_box(0);
v_isShared_4442_ = v_isSharedCheck_4446_;
goto v_resetjp_4440_;
}
v_resetjp_4440_:
{
lean_object* v___x_4444_; 
if (v_isShared_4442_ == 0)
{
v___x_4444_ = v___x_4441_;
goto v_reusejp_4443_;
}
else
{
lean_object* v_reuseFailAlloc_4445_; 
v_reuseFailAlloc_4445_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4445_, 0, v_a_4439_);
v___x_4444_ = v_reuseFailAlloc_4445_;
goto v_reusejp_4443_;
}
v_reusejp_4443_:
{
return v___x_4444_;
}
}
}
}
}
else
{
lean_object* v_a_4447_; lean_object* v___x_4449_; uint8_t v_isShared_4450_; uint8_t v_isSharedCheck_4454_; 
lean_dec(v_a_4375_);
lean_dec_ref(v_a_4374_);
lean_dec(v_a_4373_);
lean_dec_ref(v_a_4372_);
lean_dec_ref(v_a_4371_);
lean_dec_ref(v_rhs_4370_);
lean_dec_ref(v_lhs_4369_);
v_a_4447_ = lean_ctor_get(v___x_4430_, 0);
v_isSharedCheck_4454_ = !lean_is_exclusive(v___x_4430_);
if (v_isSharedCheck_4454_ == 0)
{
v___x_4449_ = v___x_4430_;
v_isShared_4450_ = v_isSharedCheck_4454_;
goto v_resetjp_4448_;
}
else
{
lean_inc(v_a_4447_);
lean_dec(v___x_4430_);
v___x_4449_ = lean_box(0);
v_isShared_4450_ = v_isSharedCheck_4454_;
goto v_resetjp_4448_;
}
v_resetjp_4448_:
{
lean_object* v___x_4452_; 
if (v_isShared_4450_ == 0)
{
v___x_4452_ = v___x_4449_;
goto v_reusejp_4451_;
}
else
{
lean_object* v_reuseFailAlloc_4453_; 
v_reuseFailAlloc_4453_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4453_, 0, v_a_4447_);
v___x_4452_ = v_reuseFailAlloc_4453_;
goto v_reusejp_4451_;
}
v_reusejp_4451_:
{
return v___x_4452_;
}
}
}
v___jp_4377_:
{
lean_object* v___x_4383_; lean_object* v___x_4384_; lean_object* v___x_4385_; lean_object* v___x_4386_; lean_object* v___x_4387_; lean_object* v___x_4388_; lean_object* v___x_4389_; lean_object* v___x_4390_; 
v___x_4383_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__1, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__1_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__1);
v___x_4384_ = l_Lean_indentExpr(v_lhs_4369_);
v___x_4385_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4385_, 0, v___x_4383_);
lean_ctor_set(v___x_4385_, 1, v___x_4384_);
v___x_4386_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__3, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__3_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__3);
v___x_4387_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4387_, 0, v___x_4385_);
lean_ctor_set(v___x_4387_, 1, v___x_4386_);
v___x_4388_ = l_Lean_indentExpr(v_rhs_4370_);
v___x_4389_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4389_, 0, v___x_4387_);
lean_ctor_set(v___x_4389_, 1, v___x_4388_);
v___x_4390_ = l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg(v___x_4389_, v___y_4378_, v___y_4379_, v___y_4380_, v___y_4381_, v___y_4382_);
lean_dec(v___y_4382_);
lean_dec_ref(v___y_4381_);
lean_dec(v___y_4380_);
lean_dec_ref(v___y_4379_);
return v___x_4390_;
}
v___jp_4391_:
{
lean_object* v___x_4397_; 
lean_inc(v___y_4396_);
lean_inc_ref(v___y_4395_);
lean_inc(v___y_4394_);
lean_inc_ref(v___y_4393_);
lean_inc_ref(v_rhs_4370_);
lean_inc_ref(v_lhs_4369_);
v___x_4397_ = l_Lean_Meta_isExprDefEq(v_lhs_4369_, v_rhs_4370_, v___y_4393_, v___y_4394_, v___y_4395_, v___y_4396_);
if (lean_obj_tag(v___x_4397_) == 0)
{
lean_object* v_a_4398_; uint8_t v___x_4399_; 
v_a_4398_ = lean_ctor_get(v___x_4397_, 0);
lean_inc(v_a_4398_);
lean_dec_ref(v___x_4397_);
v___x_4399_ = lean_unbox(v_a_4398_);
lean_dec(v_a_4398_);
if (v___x_4399_ == 0)
{
lean_object* v___x_4400_; 
lean_inc(v___y_4396_);
lean_inc_ref(v___y_4395_);
lean_inc(v___y_4394_);
lean_inc_ref(v___y_4393_);
lean_inc_ref(v_lhs_4369_);
v___x_4400_ = l_Lean_Meta_whnfI(v_lhs_4369_, v___y_4393_, v___y_4394_, v___y_4395_, v___y_4396_);
if (lean_obj_tag(v___x_4400_) == 0)
{
lean_object* v_a_4401_; lean_object* v___x_4402_; 
v_a_4401_ = lean_ctor_get(v___x_4400_, 0);
lean_inc(v_a_4401_);
lean_dec_ref(v___x_4400_);
lean_inc(v___y_4396_);
lean_inc_ref(v___y_4395_);
lean_inc(v___y_4394_);
lean_inc_ref(v___y_4393_);
lean_inc_ref(v_rhs_4370_);
v___x_4402_ = l_Lean_Meta_whnfI(v_rhs_4370_, v___y_4393_, v___y_4394_, v___y_4395_, v___y_4396_);
if (lean_obj_tag(v___x_4402_) == 0)
{
lean_object* v_a_4403_; lean_object* v___x_4404_; 
v_a_4403_ = lean_ctor_get(v___x_4402_, 0);
lean_inc(v_a_4403_);
lean_dec_ref(v___x_4402_);
v___x_4404_ = l_Lean_Expr_natAdd_x3f(v_a_4401_);
lean_dec(v_a_4401_);
if (lean_obj_tag(v___x_4404_) == 1)
{
lean_object* v_val_4405_; lean_object* v_fst_4406_; lean_object* v_snd_4407_; lean_object* v___x_4408_; 
v_val_4405_ = lean_ctor_get(v___x_4404_, 0);
lean_inc(v_val_4405_);
lean_dec_ref(v___x_4404_);
v_fst_4406_ = lean_ctor_get(v_val_4405_, 0);
lean_inc(v_fst_4406_);
v_snd_4407_ = lean_ctor_get(v_val_4405_, 1);
lean_inc(v_snd_4407_);
lean_dec(v_val_4405_);
v___x_4408_ = l_Lean_Expr_natAdd_x3f(v_a_4403_);
lean_dec(v_a_4403_);
if (lean_obj_tag(v___x_4408_) == 1)
{
lean_object* v_val_4409_; lean_object* v_fst_4410_; lean_object* v_snd_4411_; lean_object* v___x_4412_; 
lean_dec_ref(v_rhs_4370_);
lean_dec_ref(v_lhs_4369_);
v_val_4409_ = lean_ctor_get(v___x_4408_, 0);
lean_inc(v_val_4409_);
lean_dec_ref(v___x_4408_);
v_fst_4410_ = lean_ctor_get(v_val_4409_, 0);
lean_inc(v_fst_4410_);
v_snd_4411_ = lean_ctor_get(v_val_4409_, 1);
lean_inc(v_snd_4411_);
lean_dec(v_val_4409_);
lean_inc(v___y_4396_);
lean_inc_ref(v___y_4395_);
lean_inc(v___y_4394_);
lean_inc_ref(v___y_4393_);
lean_inc_ref(v___y_4392_);
v___x_4412_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof(v_ys_4368_, v_fst_4406_, v_fst_4410_, v___y_4392_, v___y_4393_, v___y_4394_, v___y_4395_, v___y_4396_);
if (lean_obj_tag(v___x_4412_) == 0)
{
lean_object* v_a_4413_; lean_object* v___x_4414_; 
v_a_4413_ = lean_ctor_get(v___x_4412_, 0);
lean_inc(v_a_4413_);
lean_dec_ref(v___x_4412_);
lean_inc(v___y_4396_);
lean_inc_ref(v___y_4395_);
lean_inc(v___y_4394_);
lean_inc_ref(v___y_4393_);
v___x_4414_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep(v_ys_4368_, v_snd_4407_, v_snd_4411_, v___y_4392_, v___y_4393_, v___y_4394_, v___y_4395_, v___y_4396_);
if (lean_obj_tag(v___x_4414_) == 0)
{
lean_object* v_a_4415_; lean_object* v___x_4416_; lean_object* v___x_4417_; 
v_a_4415_ = lean_ctor_get(v___x_4414_, 0);
lean_inc(v_a_4415_);
lean_dec_ref(v___x_4414_);
v___x_4416_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__6, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__6_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__6);
lean_inc(v___y_4396_);
lean_inc_ref(v___y_4395_);
lean_inc(v___y_4394_);
lean_inc_ref(v___y_4393_);
v___x_4417_ = l_Lean_Meta_mkCongrArg(v___x_4416_, v_a_4413_, v___y_4393_, v___y_4394_, v___y_4395_, v___y_4396_);
if (lean_obj_tag(v___x_4417_) == 0)
{
lean_object* v_a_4418_; lean_object* v___x_4419_; 
v_a_4418_ = lean_ctor_get(v___x_4417_, 0);
lean_inc(v_a_4418_);
lean_dec_ref(v___x_4417_);
v___x_4419_ = l_Lean_Meta_mkCongr(v_a_4418_, v_a_4415_, v___y_4393_, v___y_4394_, v___y_4395_, v___y_4396_);
return v___x_4419_;
}
else
{
lean_dec(v_a_4415_);
lean_dec(v___y_4396_);
lean_dec_ref(v___y_4395_);
lean_dec(v___y_4394_);
lean_dec_ref(v___y_4393_);
return v___x_4417_;
}
}
else
{
lean_dec(v_a_4413_);
lean_dec(v___y_4396_);
lean_dec_ref(v___y_4395_);
lean_dec(v___y_4394_);
lean_dec_ref(v___y_4393_);
return v___x_4414_;
}
}
else
{
lean_dec(v_snd_4411_);
lean_dec(v_snd_4407_);
lean_dec(v___y_4396_);
lean_dec_ref(v___y_4395_);
lean_dec(v___y_4394_);
lean_dec_ref(v___y_4393_);
lean_dec_ref(v___y_4392_);
return v___x_4412_;
}
}
else
{
lean_dec(v___x_4408_);
lean_dec(v_snd_4407_);
lean_dec(v_fst_4406_);
v___y_4378_ = v___y_4392_;
v___y_4379_ = v___y_4393_;
v___y_4380_ = v___y_4394_;
v___y_4381_ = v___y_4395_;
v___y_4382_ = v___y_4396_;
goto v___jp_4377_;
}
}
else
{
lean_dec(v___x_4404_);
lean_dec(v_a_4403_);
v___y_4378_ = v___y_4392_;
v___y_4379_ = v___y_4393_;
v___y_4380_ = v___y_4394_;
v___y_4381_ = v___y_4395_;
v___y_4382_ = v___y_4396_;
goto v___jp_4377_;
}
}
else
{
lean_dec(v_a_4401_);
lean_dec(v___y_4396_);
lean_dec_ref(v___y_4395_);
lean_dec(v___y_4394_);
lean_dec_ref(v___y_4393_);
lean_dec_ref(v___y_4392_);
lean_dec_ref(v_rhs_4370_);
lean_dec_ref(v_lhs_4369_);
return v___x_4402_;
}
}
else
{
lean_dec(v___y_4396_);
lean_dec_ref(v___y_4395_);
lean_dec(v___y_4394_);
lean_dec_ref(v___y_4393_);
lean_dec_ref(v___y_4392_);
lean_dec_ref(v_rhs_4370_);
lean_dec_ref(v_lhs_4369_);
return v___x_4400_;
}
}
else
{
lean_object* v___x_4420_; 
lean_dec_ref(v___y_4392_);
lean_dec_ref(v_lhs_4369_);
v___x_4420_ = l_Lean_Meta_mkEqRefl(v_rhs_4370_, v___y_4393_, v___y_4394_, v___y_4395_, v___y_4396_);
return v___x_4420_;
}
}
else
{
lean_object* v_a_4421_; lean_object* v___x_4423_; uint8_t v_isShared_4424_; uint8_t v_isSharedCheck_4428_; 
lean_dec(v___y_4396_);
lean_dec_ref(v___y_4395_);
lean_dec(v___y_4394_);
lean_dec_ref(v___y_4393_);
lean_dec_ref(v___y_4392_);
lean_dec_ref(v_rhs_4370_);
lean_dec_ref(v_lhs_4369_);
v_a_4421_ = lean_ctor_get(v___x_4397_, 0);
v_isSharedCheck_4428_ = !lean_is_exclusive(v___x_4397_);
if (v_isSharedCheck_4428_ == 0)
{
v___x_4423_ = v___x_4397_;
v_isShared_4424_ = v_isSharedCheck_4428_;
goto v_resetjp_4422_;
}
else
{
lean_inc(v_a_4421_);
lean_dec(v___x_4397_);
v___x_4423_ = lean_box(0);
v_isShared_4424_ = v_isSharedCheck_4428_;
goto v_resetjp_4422_;
}
v_resetjp_4422_:
{
lean_object* v___x_4426_; 
if (v_isShared_4424_ == 0)
{
v___x_4426_ = v___x_4423_;
goto v_reusejp_4425_;
}
else
{
lean_object* v_reuseFailAlloc_4427_; 
v_reuseFailAlloc_4427_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4427_, 0, v_a_4421_);
v___x_4426_ = v_reuseFailAlloc_4427_;
goto v_reusejp_4425_;
}
v_reusejp_4425_:
{
return v___x_4426_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12___lam__0(lean_object* v_ys_4455_, lean_object* v_target_4456_, lean_object* v___y_4457_, lean_object* v___y_4458_, lean_object* v___y_4459_, lean_object* v___y_4460_, lean_object* v___y_4461_){
_start:
{
lean_object* v___x_4463_; 
lean_inc(v___y_4461_);
lean_inc_ref(v___y_4460_);
lean_inc(v___y_4459_);
lean_inc_ref(v___y_4458_);
v___x_4463_ = lean_whnf(v_target_4456_, v___y_4458_, v___y_4459_, v___y_4460_, v___y_4461_);
if (lean_obj_tag(v___x_4463_) == 0)
{
lean_object* v_a_4464_; lean_object* v___x_4465_; lean_object* v___x_4466_; uint8_t v___x_4467_; 
v_a_4464_ = lean_ctor_get(v___x_4463_, 0);
lean_inc(v_a_4464_);
lean_dec_ref(v___x_4463_);
v___x_4465_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12___lam__0___closed__1));
v___x_4466_ = lean_unsigned_to_nat(3u);
v___x_4467_ = l_Lean_Expr_isAppOfArity(v_a_4464_, v___x_4465_, v___x_4466_);
if (v___x_4467_ == 0)
{
lean_object* v___x_4468_; 
lean_dec(v_a_4464_);
v___x_4468_ = l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg(v___y_4457_, v___y_4458_, v___y_4459_, v___y_4460_, v___y_4461_);
lean_dec(v___y_4461_);
lean_dec_ref(v___y_4460_);
lean_dec(v___y_4459_);
lean_dec_ref(v___y_4458_);
return v___x_4468_;
}
else
{
lean_object* v___x_4469_; lean_object* v___x_4470_; lean_object* v___x_4471_; lean_object* v___x_4472_; 
v___x_4469_ = l_Lean_Expr_appFn_x21(v_a_4464_);
v___x_4470_ = l_Lean_Expr_appArg_x21(v___x_4469_);
lean_dec_ref(v___x_4469_);
v___x_4471_ = l_Lean_Expr_appArg_x21(v_a_4464_);
lean_dec(v_a_4464_);
lean_inc(v___y_4461_);
lean_inc_ref(v___y_4460_);
lean_inc(v___y_4459_);
lean_inc_ref(v___y_4458_);
lean_inc_ref(v___x_4471_);
lean_inc_ref(v___x_4470_);
v___x_4472_ = l_Lean_Meta_isExprDefEq(v___x_4470_, v___x_4471_, v___y_4458_, v___y_4459_, v___y_4460_, v___y_4461_);
if (lean_obj_tag(v___x_4472_) == 0)
{
lean_object* v_a_4473_; uint8_t v___x_4474_; 
v_a_4473_ = lean_ctor_get(v___x_4472_, 0);
lean_inc(v_a_4473_);
lean_dec_ref(v___x_4472_);
v___x_4474_ = lean_unbox(v_a_4473_);
if (v___x_4474_ == 0)
{
lean_object* v___x_4475_; 
lean_inc(v___y_4461_);
lean_inc_ref(v___y_4460_);
lean_inc(v___y_4459_);
lean_inc_ref(v___y_4458_);
v___x_4475_ = l_Lean_Meta_unfoldDefinition(v___x_4470_, v___y_4458_, v___y_4459_, v___y_4460_, v___y_4461_);
if (lean_obj_tag(v___x_4475_) == 0)
{
lean_object* v_a_4476_; lean_object* v___x_4477_; lean_object* v___x_4478_; 
v_a_4476_ = lean_ctor_get(v___x_4475_, 0);
lean_inc(v_a_4476_);
lean_dec_ref(v___x_4475_);
v___x_4477_ = l_Lean_Expr_appArg_x21(v___x_4471_);
lean_dec_ref(v___x_4471_);
lean_inc(v___y_4461_);
lean_inc_ref(v___y_4460_);
lean_inc(v___y_4459_);
lean_inc_ref(v___y_4458_);
v___x_4478_ = l_Lean_Meta_mkSizeOfSpecLemmaInstance(v___x_4477_, v___y_4458_, v___y_4459_, v___y_4460_, v___y_4461_);
if (lean_obj_tag(v___x_4478_) == 0)
{
lean_object* v_a_4479_; lean_object* v___x_4480_; 
v_a_4479_ = lean_ctor_get(v___x_4478_, 0);
lean_inc(v_a_4479_);
lean_dec_ref(v___x_4478_);
lean_inc(v___y_4461_);
lean_inc_ref(v___y_4460_);
lean_inc(v___y_4459_);
lean_inc_ref(v___y_4458_);
lean_inc(v_a_4479_);
v___x_4480_ = lean_infer_type(v_a_4479_, v___y_4458_, v___y_4459_, v___y_4460_, v___y_4461_);
if (lean_obj_tag(v___x_4480_) == 0)
{
lean_object* v_a_4481_; lean_object* v___x_4482_; 
v_a_4481_ = lean_ctor_get(v___x_4480_, 0);
lean_inc(v_a_4481_);
lean_dec_ref(v___x_4480_);
lean_inc(v___y_4461_);
lean_inc_ref(v___y_4460_);
lean_inc(v___y_4459_);
lean_inc_ref(v___y_4458_);
v___x_4482_ = lean_whnf(v_a_4481_, v___y_4458_, v___y_4459_, v___y_4460_, v___y_4461_);
if (lean_obj_tag(v___x_4482_) == 0)
{
lean_object* v_a_4483_; uint8_t v___x_4484_; 
v_a_4483_ = lean_ctor_get(v___x_4482_, 0);
lean_inc(v_a_4483_);
lean_dec_ref(v___x_4482_);
v___x_4484_ = l_Lean_Expr_isAppOfArity(v_a_4483_, v___x_4465_, v___x_4466_);
if (v___x_4484_ == 0)
{
lean_object* v___x_4485_; 
lean_dec(v_a_4483_);
lean_dec(v_a_4479_);
lean_dec(v_a_4476_);
lean_dec(v_a_4473_);
v___x_4485_ = l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg(v___y_4457_, v___y_4458_, v___y_4459_, v___y_4460_, v___y_4461_);
lean_dec(v___y_4461_);
lean_dec_ref(v___y_4460_);
lean_dec(v___y_4459_);
lean_dec_ref(v___y_4458_);
return v___x_4485_;
}
else
{
lean_object* v___x_4486_; lean_object* v___x_4487_; 
v___x_4486_ = l_Lean_Expr_appArg_x21(v_a_4483_);
lean_dec(v_a_4483_);
lean_inc(v___y_4461_);
lean_inc_ref(v___y_4460_);
lean_inc(v___y_4459_);
lean_inc_ref(v___y_4458_);
v___x_4487_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof(v_ys_4455_, v_a_4476_, v___x_4486_, v___y_4457_, v___y_4458_, v___y_4459_, v___y_4460_, v___y_4461_);
if (lean_obj_tag(v___x_4487_) == 0)
{
lean_object* v_a_4488_; lean_object* v___x_4489_; 
v_a_4488_ = lean_ctor_get(v___x_4487_, 0);
lean_inc(v_a_4488_);
lean_dec_ref(v___x_4487_);
lean_inc(v___y_4461_);
lean_inc_ref(v___y_4460_);
lean_inc(v___y_4459_);
lean_inc_ref(v___y_4458_);
v___x_4489_ = l_Lean_Meta_mkEqSymm(v_a_4479_, v___y_4458_, v___y_4459_, v___y_4460_, v___y_4461_);
if (lean_obj_tag(v___x_4489_) == 0)
{
lean_object* v_a_4490_; lean_object* v___x_4491_; 
v_a_4490_ = lean_ctor_get(v___x_4489_, 0);
lean_inc(v_a_4490_);
lean_dec_ref(v___x_4489_);
lean_inc(v___y_4461_);
lean_inc_ref(v___y_4460_);
lean_inc(v___y_4459_);
lean_inc_ref(v___y_4458_);
v___x_4491_ = l_Lean_Meta_mkEqTrans(v_a_4488_, v_a_4490_, v___y_4458_, v___y_4459_, v___y_4460_, v___y_4461_);
if (lean_obj_tag(v___x_4491_) == 0)
{
lean_object* v_a_4492_; uint8_t v___x_4493_; uint8_t v___x_4494_; uint8_t v___x_4495_; lean_object* v___x_4496_; 
v_a_4492_ = lean_ctor_get(v___x_4491_, 0);
lean_inc(v_a_4492_);
lean_dec_ref(v___x_4491_);
v___x_4493_ = 1;
v___x_4494_ = lean_unbox(v_a_4473_);
v___x_4495_ = lean_unbox(v_a_4473_);
lean_dec(v_a_4473_);
v___x_4496_ = l_Lean_Meta_mkLambdaFVars(v_ys_4455_, v_a_4492_, v___x_4494_, v___x_4467_, v___x_4495_, v___x_4467_, v___x_4493_, v___y_4458_, v___y_4459_, v___y_4460_, v___y_4461_);
lean_dec(v___y_4461_);
lean_dec_ref(v___y_4460_);
lean_dec(v___y_4459_);
lean_dec_ref(v___y_4458_);
return v___x_4496_;
}
else
{
lean_dec(v_a_4473_);
lean_dec(v___y_4461_);
lean_dec_ref(v___y_4460_);
lean_dec(v___y_4459_);
lean_dec_ref(v___y_4458_);
return v___x_4491_;
}
}
else
{
lean_dec(v_a_4488_);
lean_dec(v_a_4473_);
lean_dec(v___y_4461_);
lean_dec_ref(v___y_4460_);
lean_dec(v___y_4459_);
lean_dec_ref(v___y_4458_);
return v___x_4489_;
}
}
else
{
lean_dec(v_a_4479_);
lean_dec(v_a_4473_);
lean_dec(v___y_4461_);
lean_dec_ref(v___y_4460_);
lean_dec(v___y_4459_);
lean_dec_ref(v___y_4458_);
return v___x_4487_;
}
}
}
else
{
lean_dec(v_a_4479_);
lean_dec(v_a_4476_);
lean_dec(v_a_4473_);
lean_dec(v___y_4461_);
lean_dec_ref(v___y_4460_);
lean_dec(v___y_4459_);
lean_dec_ref(v___y_4458_);
lean_dec_ref(v___y_4457_);
return v___x_4482_;
}
}
else
{
lean_dec(v_a_4479_);
lean_dec(v_a_4476_);
lean_dec(v_a_4473_);
lean_dec(v___y_4461_);
lean_dec_ref(v___y_4460_);
lean_dec(v___y_4459_);
lean_dec_ref(v___y_4458_);
lean_dec_ref(v___y_4457_);
return v___x_4480_;
}
}
else
{
lean_dec(v_a_4476_);
lean_dec(v_a_4473_);
lean_dec(v___y_4461_);
lean_dec_ref(v___y_4460_);
lean_dec(v___y_4459_);
lean_dec_ref(v___y_4458_);
lean_dec_ref(v___y_4457_);
return v___x_4478_;
}
}
else
{
lean_dec(v_a_4473_);
lean_dec_ref(v___x_4471_);
lean_dec(v___y_4461_);
lean_dec_ref(v___y_4460_);
lean_dec(v___y_4459_);
lean_dec_ref(v___y_4458_);
lean_dec_ref(v___y_4457_);
return v___x_4475_;
}
}
else
{
lean_object* v___x_4497_; 
lean_dec(v_a_4473_);
lean_dec_ref(v___x_4470_);
lean_dec_ref(v___y_4457_);
lean_inc(v___y_4461_);
lean_inc_ref(v___y_4460_);
lean_inc(v___y_4459_);
lean_inc_ref(v___y_4458_);
v___x_4497_ = l_Lean_Meta_mkEqRefl(v___x_4471_, v___y_4458_, v___y_4459_, v___y_4460_, v___y_4461_);
if (lean_obj_tag(v___x_4497_) == 0)
{
lean_object* v_a_4498_; uint8_t v___x_4499_; uint8_t v___x_4500_; lean_object* v___x_4501_; 
v_a_4498_ = lean_ctor_get(v___x_4497_, 0);
lean_inc(v_a_4498_);
lean_dec_ref(v___x_4497_);
v___x_4499_ = 0;
v___x_4500_ = 1;
v___x_4501_ = l_Lean_Meta_mkLambdaFVars(v_ys_4455_, v_a_4498_, v___x_4499_, v___x_4467_, v___x_4499_, v___x_4467_, v___x_4500_, v___y_4458_, v___y_4459_, v___y_4460_, v___y_4461_);
lean_dec(v___y_4461_);
lean_dec_ref(v___y_4460_);
lean_dec(v___y_4459_);
lean_dec_ref(v___y_4458_);
return v___x_4501_;
}
else
{
lean_dec(v___y_4461_);
lean_dec_ref(v___y_4460_);
lean_dec(v___y_4459_);
lean_dec_ref(v___y_4458_);
return v___x_4497_;
}
}
}
else
{
lean_object* v_a_4502_; lean_object* v___x_4504_; uint8_t v_isShared_4505_; uint8_t v_isSharedCheck_4509_; 
lean_dec_ref(v___x_4471_);
lean_dec_ref(v___x_4470_);
lean_dec(v___y_4461_);
lean_dec_ref(v___y_4460_);
lean_dec(v___y_4459_);
lean_dec_ref(v___y_4458_);
lean_dec_ref(v___y_4457_);
v_a_4502_ = lean_ctor_get(v___x_4472_, 0);
v_isSharedCheck_4509_ = !lean_is_exclusive(v___x_4472_);
if (v_isSharedCheck_4509_ == 0)
{
v___x_4504_ = v___x_4472_;
v_isShared_4505_ = v_isSharedCheck_4509_;
goto v_resetjp_4503_;
}
else
{
lean_inc(v_a_4502_);
lean_dec(v___x_4472_);
v___x_4504_ = lean_box(0);
v_isShared_4505_ = v_isSharedCheck_4509_;
goto v_resetjp_4503_;
}
v_resetjp_4503_:
{
lean_object* v___x_4507_; 
if (v_isShared_4505_ == 0)
{
v___x_4507_ = v___x_4504_;
goto v_reusejp_4506_;
}
else
{
lean_object* v_reuseFailAlloc_4508_; 
v_reuseFailAlloc_4508_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4508_, 0, v_a_4502_);
v___x_4507_ = v_reuseFailAlloc_4508_;
goto v_reusejp_4506_;
}
v_reusejp_4506_:
{
return v___x_4507_;
}
}
}
}
}
else
{
lean_dec(v___y_4461_);
lean_dec_ref(v___y_4460_);
lean_dec(v___y_4459_);
lean_dec_ref(v___y_4458_);
lean_dec_ref(v___y_4457_);
return v___x_4463_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12___lam__0___boxed(lean_object* v_ys_4510_, lean_object* v_target_4511_, lean_object* v___y_4512_, lean_object* v___y_4513_, lean_object* v___y_4514_, lean_object* v___y_4515_, lean_object* v___y_4516_, lean_object* v___y_4517_){
_start:
{
lean_object* v_res_4518_; 
v_res_4518_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12___lam__0(v_ys_4510_, v_target_4511_, v___y_4512_, v___y_4513_, v___y_4514_, v___y_4515_, v___y_4516_);
lean_dec_ref(v_ys_4510_);
return v_res_4518_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12(lean_object* v_as_4519_, size_t v_sz_4520_, size_t v_i_4521_, lean_object* v_b_4522_, lean_object* v___y_4523_, lean_object* v___y_4524_, lean_object* v___y_4525_, lean_object* v___y_4526_, lean_object* v___y_4527_){
_start:
{
uint8_t v___x_4529_; 
v___x_4529_ = lean_usize_dec_lt(v_i_4521_, v_sz_4520_);
if (v___x_4529_ == 0)
{
lean_object* v___x_4530_; 
lean_dec(v___y_4527_);
lean_dec_ref(v___y_4526_);
lean_dec(v___y_4525_);
lean_dec_ref(v___y_4524_);
lean_dec_ref(v___y_4523_);
v___x_4530_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4530_, 0, v_b_4522_);
return v___x_4530_;
}
else
{
lean_object* v_a_4531_; lean_object* v___x_4532_; 
v_a_4531_ = lean_array_uget_borrowed(v_as_4519_, v_i_4521_);
lean_inc(v___y_4527_);
lean_inc_ref(v___y_4526_);
lean_inc(v___y_4525_);
lean_inc_ref(v___y_4524_);
lean_inc(v_a_4531_);
v___x_4532_ = lean_infer_type(v_a_4531_, v___y_4524_, v___y_4525_, v___y_4526_, v___y_4527_);
if (lean_obj_tag(v___x_4532_) == 0)
{
lean_object* v_a_4533_; lean_object* v___f_4534_; uint8_t v___x_4535_; lean_object* v___x_4536_; 
v_a_4533_ = lean_ctor_get(v___x_4532_, 0);
lean_inc(v_a_4533_);
lean_dec_ref(v___x_4532_);
v___f_4534_ = lean_alloc_closure((void*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12___lam__0___boxed), 8, 0);
v___x_4535_ = 0;
lean_inc(v___y_4527_);
lean_inc_ref(v___y_4526_);
lean_inc(v___y_4525_);
lean_inc_ref(v___y_4524_);
lean_inc_ref(v___y_4523_);
v___x_4536_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7___redArg(v_a_4533_, v___f_4534_, v___x_4535_, v___x_4535_, v___y_4523_, v___y_4524_, v___y_4525_, v___y_4526_, v___y_4527_);
if (lean_obj_tag(v___x_4536_) == 0)
{
lean_object* v_a_4537_; lean_object* v___x_4538_; size_t v___x_4539_; size_t v___x_4540_; 
v_a_4537_ = lean_ctor_get(v___x_4536_, 0);
lean_inc(v_a_4537_);
lean_dec_ref(v___x_4536_);
v___x_4538_ = l_Lean_Expr_app___override(v_b_4522_, v_a_4537_);
v___x_4539_ = ((size_t)1ULL);
v___x_4540_ = lean_usize_add(v_i_4521_, v___x_4539_);
v_i_4521_ = v___x_4540_;
v_b_4522_ = v___x_4538_;
goto _start;
}
else
{
lean_dec(v___y_4527_);
lean_dec_ref(v___y_4526_);
lean_dec(v___y_4525_);
lean_dec_ref(v___y_4524_);
lean_dec_ref(v___y_4523_);
lean_dec_ref(v_b_4522_);
return v___x_4536_;
}
}
else
{
lean_dec(v___y_4527_);
lean_dec_ref(v___y_4526_);
lean_dec(v___y_4525_);
lean_dec_ref(v___y_4524_);
lean_dec_ref(v___y_4523_);
lean_dec_ref(v_b_4522_);
return v___x_4532_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___lam__0(size_t v___x_4542_, lean_object* v_a_4543_, lean_object* v___x_4544_, lean_object* v_minorFVars_4545_, lean_object* v_x_4546_, lean_object* v___y_4547_, lean_object* v___y_4548_, lean_object* v___y_4549_, lean_object* v___y_4550_, lean_object* v___y_4551_){
_start:
{
size_t v_sz_4553_; lean_object* v___x_4554_; 
v_sz_4553_ = lean_array_size(v_minorFVars_4545_);
v___x_4554_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12(v_minorFVars_4545_, v_sz_4553_, v___x_4542_, v_a_4543_, v___y_4547_, v___y_4548_, v___y_4549_, v___y_4550_, v___y_4551_);
if (lean_obj_tag(v___x_4554_) == 0)
{
lean_object* v_a_4555_; lean_object* v___x_4557_; uint8_t v_isShared_4558_; uint8_t v_isSharedCheck_4564_; 
v_a_4555_ = lean_ctor_get(v___x_4554_, 0);
v_isSharedCheck_4564_ = !lean_is_exclusive(v___x_4554_);
if (v_isSharedCheck_4564_ == 0)
{
v___x_4557_ = v___x_4554_;
v_isShared_4558_ = v_isSharedCheck_4564_;
goto v_resetjp_4556_;
}
else
{
lean_inc(v_a_4555_);
lean_dec(v___x_4554_);
v___x_4557_ = lean_box(0);
v_isShared_4558_ = v_isSharedCheck_4564_;
goto v_resetjp_4556_;
}
v_resetjp_4556_:
{
lean_object* v___x_4559_; lean_object* v___x_4560_; lean_object* v___x_4562_; 
v___x_4559_ = l_Subarray_copy___redArg(v___x_4544_);
v___x_4560_ = l_Lean_mkAppN(v_a_4555_, v___x_4559_);
lean_dec_ref(v___x_4559_);
if (v_isShared_4558_ == 0)
{
lean_ctor_set(v___x_4557_, 0, v___x_4560_);
v___x_4562_ = v___x_4557_;
goto v_reusejp_4561_;
}
else
{
lean_object* v_reuseFailAlloc_4563_; 
v_reuseFailAlloc_4563_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4563_, 0, v___x_4560_);
v___x_4562_ = v_reuseFailAlloc_4563_;
goto v_reusejp_4561_;
}
v_reusejp_4561_:
{
return v___x_4562_;
}
}
}
else
{
lean_dec_ref(v___x_4544_);
return v___x_4554_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___lam__0___boxed(lean_object* v___x_4565_, lean_object* v_a_4566_, lean_object* v___x_4567_, lean_object* v_minorFVars_4568_, lean_object* v_x_4569_, lean_object* v___y_4570_, lean_object* v___y_4571_, lean_object* v___y_4572_, lean_object* v___y_4573_, lean_object* v___y_4574_, lean_object* v___y_4575_){
_start:
{
size_t v___x_45279__boxed_4576_; lean_object* v_res_4577_; 
v___x_45279__boxed_4576_ = lean_unbox_usize(v___x_4565_);
lean_dec(v___x_4565_);
v_res_4577_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___lam__0(v___x_45279__boxed_4576_, v_a_4566_, v___x_4567_, v_minorFVars_4568_, v_x_4569_, v___y_4570_, v___y_4571_, v___y_4572_, v___y_4573_, v___y_4574_);
lean_dec_ref(v_x_4569_);
lean_dec_ref(v_minorFVars_4568_);
return v_res_4577_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___lam__1(lean_object* v_sizeOfBaseArgs_4578_, lean_object* v_sizeOfLevels_4579_, lean_object* v___x_4580_, lean_object* v___x_4581_, lean_object* v_numMinors_4582_, lean_object* v_motiveFVars_4583_, lean_object* v_x_4584_, lean_object* v___y_4585_, lean_object* v___y_4586_, lean_object* v___y_4587_, lean_object* v___y_4588_, lean_object* v___y_4589_){
_start:
{
size_t v_sz_4591_; size_t v___x_4592_; lean_object* v___x_4593_; 
v_sz_4591_ = lean_array_size(v_motiveFVars_4583_);
v___x_4592_ = ((size_t)0ULL);
lean_inc(v___y_4589_);
lean_inc_ref(v___y_4588_);
lean_inc(v___y_4587_);
lean_inc_ref(v___y_4586_);
lean_inc_ref(v___y_4585_);
v___x_4593_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__11(v_sizeOfBaseArgs_4578_, v_sizeOfLevels_4579_, v_motiveFVars_4583_, v_sz_4591_, v___x_4592_, v___x_4580_, v___y_4585_, v___y_4586_, v___y_4587_, v___y_4588_, v___y_4589_);
if (lean_obj_tag(v___x_4593_) == 0)
{
lean_object* v_a_4594_; lean_object* v___x_4595_; 
v_a_4594_ = lean_ctor_get(v___x_4593_, 0);
lean_inc(v_a_4594_);
lean_dec_ref(v___x_4593_);
lean_inc(v___y_4589_);
lean_inc_ref(v___y_4588_);
lean_inc(v___y_4587_);
lean_inc_ref(v___y_4586_);
lean_inc(v_a_4594_);
v___x_4595_ = lean_infer_type(v_a_4594_, v___y_4586_, v___y_4587_, v___y_4588_, v___y_4589_);
if (lean_obj_tag(v___x_4595_) == 0)
{
lean_object* v_a_4596_; lean_object* v___x_4598_; uint8_t v_isShared_4599_; uint8_t v_isSharedCheck_4607_; 
v_a_4596_ = lean_ctor_get(v___x_4595_, 0);
v_isSharedCheck_4607_ = !lean_is_exclusive(v___x_4595_);
if (v_isSharedCheck_4607_ == 0)
{
v___x_4598_ = v___x_4595_;
v_isShared_4599_ = v_isSharedCheck_4607_;
goto v_resetjp_4597_;
}
else
{
lean_inc(v_a_4596_);
lean_dec(v___x_4595_);
v___x_4598_ = lean_box(0);
v_isShared_4599_ = v_isSharedCheck_4607_;
goto v_resetjp_4597_;
}
v_resetjp_4597_:
{
lean_object* v___x_4600_; lean_object* v___f_4601_; lean_object* v___x_4603_; 
v___x_4600_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___lam__1___boxed__const__1));
v___f_4601_ = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___lam__0___boxed), 11, 3);
lean_closure_set(v___f_4601_, 0, v___x_4600_);
lean_closure_set(v___f_4601_, 1, v_a_4594_);
lean_closure_set(v___f_4601_, 2, v___x_4581_);
if (v_isShared_4599_ == 0)
{
lean_ctor_set_tag(v___x_4598_, 1);
lean_ctor_set(v___x_4598_, 0, v_numMinors_4582_);
v___x_4603_ = v___x_4598_;
goto v_reusejp_4602_;
}
else
{
lean_object* v_reuseFailAlloc_4606_; 
v_reuseFailAlloc_4606_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4606_, 0, v_numMinors_4582_);
v___x_4603_ = v_reuseFailAlloc_4606_;
goto v_reusejp_4602_;
}
v_reusejp_4602_:
{
uint8_t v___x_4604_; lean_object* v___x_4605_; 
v___x_4604_ = 0;
v___x_4605_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__13___redArg(v_a_4596_, v___x_4603_, v___f_4601_, v___x_4604_, v___x_4604_, v___y_4585_, v___y_4586_, v___y_4587_, v___y_4588_, v___y_4589_);
return v___x_4605_;
}
}
}
else
{
lean_dec(v_a_4594_);
lean_dec(v___y_4589_);
lean_dec_ref(v___y_4588_);
lean_dec(v___y_4587_);
lean_dec_ref(v___y_4586_);
lean_dec_ref(v___y_4585_);
lean_dec(v_numMinors_4582_);
lean_dec_ref(v___x_4581_);
return v___x_4595_;
}
}
else
{
lean_dec(v___y_4589_);
lean_dec_ref(v___y_4588_);
lean_dec(v___y_4587_);
lean_dec_ref(v___y_4586_);
lean_dec_ref(v___y_4585_);
lean_dec(v_numMinors_4582_);
lean_dec_ref(v___x_4581_);
return v___x_4593_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___lam__1___boxed(lean_object* v_sizeOfBaseArgs_4608_, lean_object* v_sizeOfLevels_4609_, lean_object* v___x_4610_, lean_object* v___x_4611_, lean_object* v_numMinors_4612_, lean_object* v_motiveFVars_4613_, lean_object* v_x_4614_, lean_object* v___y_4615_, lean_object* v___y_4616_, lean_object* v___y_4617_, lean_object* v___y_4618_, lean_object* v___y_4619_, lean_object* v___y_4620_){
_start:
{
lean_object* v_res_4621_; 
v_res_4621_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___lam__1(v_sizeOfBaseArgs_4608_, v_sizeOfLevels_4609_, v___x_4610_, v___x_4611_, v_numMinors_4612_, v_motiveFVars_4613_, v_x_4614_, v___y_4615_, v___y_4616_, v___y_4617_, v___y_4618_, v___y_4619_);
lean_dec_ref(v_x_4614_);
lean_dec_ref(v_motiveFVars_4613_);
return v_res_4621_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof(lean_object* v_info_4622_, lean_object* v_lhs_4623_, lean_object* v_a_4624_, lean_object* v_a_4625_, lean_object* v_a_4626_, lean_object* v_a_4627_, lean_object* v_a_4628_){
_start:
{
lean_object* v_toConstantVal_4630_; lean_object* v_numParams_4631_; lean_object* v_numIndices_4632_; lean_object* v_nargs_4633_; lean_object* v___x_4634_; lean_object* v_dummy_4635_; lean_object* v___x_4636_; lean_object* v___x_4637_; lean_object* v___x_4638_; lean_object* v_lhsArgs_4639_; lean_object* v___x_4640_; lean_object* v___x_4641_; lean_object* v___x_4642_; lean_object* v___x_4643_; lean_object* v_sizeOfBaseArgs_4644_; lean_object* v___y_4646_; uint8_t v___x_4695_; 
v_toConstantVal_4630_ = lean_ctor_get(v_info_4622_, 0);
lean_inc_ref(v_toConstantVal_4630_);
v_numParams_4631_ = lean_ctor_get(v_info_4622_, 1);
lean_inc(v_numParams_4631_);
v_numIndices_4632_ = lean_ctor_get(v_info_4622_, 2);
lean_inc(v_numIndices_4632_);
lean_dec_ref(v_info_4622_);
v_nargs_4633_ = l_Lean_Expr_getAppNumArgs(v_lhs_4623_);
v___x_4634_ = lean_box(0);
v_dummy_4635_ = lean_obj_once(&l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3, &l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3_once, _init_l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3);
lean_inc(v_nargs_4633_);
v___x_4636_ = lean_mk_array(v_nargs_4633_, v_dummy_4635_);
v___x_4637_ = lean_unsigned_to_nat(1u);
v___x_4638_ = lean_nat_sub(v_nargs_4633_, v___x_4637_);
lean_dec(v_nargs_4633_);
lean_inc_ref(v_lhs_4623_);
v_lhsArgs_4639_ = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(v_lhs_4623_, v___x_4636_, v___x_4638_);
v___x_4640_ = lean_array_get_size(v_lhsArgs_4639_);
v___x_4641_ = lean_nat_sub(v___x_4640_, v_numIndices_4632_);
lean_dec(v_numIndices_4632_);
v___x_4642_ = lean_nat_sub(v___x_4641_, v___x_4637_);
lean_dec(v___x_4641_);
v___x_4643_ = lean_unsigned_to_nat(0u);
lean_inc(v___x_4642_);
lean_inc_ref(v_lhsArgs_4639_);
v_sizeOfBaseArgs_4644_ = l_Array_toSubarray___redArg(v_lhsArgs_4639_, v___x_4643_, v___x_4642_);
v___x_4695_ = lean_nat_dec_le(v___x_4642_, v___x_4643_);
if (v___x_4695_ == 0)
{
lean_object* v___x_4696_; 
v___x_4696_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4696_, 0, v___x_4642_);
lean_ctor_set(v___x_4696_, 1, v___x_4640_);
v___y_4646_ = v___x_4696_;
goto v___jp_4645_;
}
else
{
lean_object* v___x_4697_; 
lean_dec(v___x_4642_);
v___x_4697_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4697_, 0, v___x_4643_);
lean_ctor_set(v___x_4697_, 1, v___x_4640_);
v___y_4646_ = v___x_4697_;
goto v___jp_4645_;
}
v___jp_4645_:
{
lean_object* v_major_4647_; lean_object* v___x_4648_; 
v_major_4647_ = l_Lean_Expr_appArg_x21(v_lhs_4623_);
lean_inc(v_a_4628_);
lean_inc_ref(v_a_4627_);
lean_inc(v_a_4626_);
lean_inc_ref(v_a_4625_);
v___x_4648_ = lean_infer_type(v_major_4647_, v_a_4625_, v_a_4626_, v_a_4627_, v_a_4628_);
if (lean_obj_tag(v___x_4648_) == 0)
{
lean_object* v_a_4649_; lean_object* v___x_4650_; 
v_a_4649_ = lean_ctor_get(v___x_4648_, 0);
lean_inc(v_a_4649_);
lean_dec_ref(v___x_4648_);
lean_inc(v_a_4628_);
lean_inc_ref(v_a_4627_);
lean_inc(v_a_4626_);
lean_inc_ref(v_a_4625_);
v___x_4650_ = lean_whnf(v_a_4649_, v_a_4625_, v_a_4626_, v_a_4627_, v_a_4628_);
if (lean_obj_tag(v___x_4650_) == 0)
{
lean_object* v_a_4651_; lean_object* v___x_4652_; 
v_a_4651_ = lean_ctor_get(v___x_4650_, 0);
lean_inc(v_a_4651_);
lean_dec_ref(v___x_4650_);
v___x_4652_ = l_Lean_Expr_getAppFn(v_a_4651_);
if (lean_obj_tag(v___x_4652_) == 4)
{
lean_object* v_us_4653_; lean_object* v_name_4654_; lean_object* v___x_4655_; lean_object* v___x_4656_; 
v_us_4653_ = lean_ctor_get(v___x_4652_, 1);
lean_inc(v_us_4653_);
lean_dec_ref(v___x_4652_);
v_name_4654_ = lean_ctor_get(v_toConstantVal_4630_, 0);
lean_inc(v_name_4654_);
lean_dec_ref(v_toConstantVal_4630_);
v___x_4655_ = l_Lean_mkRecName(v_name_4654_);
lean_inc(v_a_4628_);
lean_inc_ref(v_a_4627_);
lean_inc(v_a_4626_);
lean_inc_ref(v_a_4625_);
lean_inc_ref(v_a_4624_);
lean_inc(v___x_4655_);
v___x_4656_ = l_Lean_getConstInfoRec___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__10(v___x_4655_, v_a_4624_, v_a_4625_, v_a_4626_, v_a_4627_, v_a_4628_);
if (lean_obj_tag(v___x_4656_) == 0)
{
lean_object* v_a_4657_; lean_object* v_nargs_4658_; lean_object* v___x_4659_; lean_object* v___x_4660_; lean_object* v___x_4661_; lean_object* v___x_4662_; lean_object* v___x_4663_; lean_object* v___x_4664_; lean_object* v___x_4665_; lean_object* v___x_4666_; lean_object* v___x_4667_; 
v_a_4657_ = lean_ctor_get(v___x_4656_, 0);
lean_inc(v_a_4657_);
lean_dec_ref(v___x_4656_);
v_nargs_4658_ = l_Lean_Expr_getAppNumArgs(v_a_4651_);
lean_inc(v_nargs_4658_);
v___x_4659_ = lean_mk_array(v_nargs_4658_, v_dummy_4635_);
v___x_4660_ = lean_nat_sub(v_nargs_4658_, v___x_4637_);
lean_dec(v_nargs_4658_);
v___x_4661_ = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(v_a_4651_, v___x_4659_, v___x_4660_);
v___x_4662_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_4662_, 0, v___x_4634_);
lean_ctor_set(v___x_4662_, 1, v_us_4653_);
v___x_4663_ = l_Lean_mkConst(v___x_4655_, v___x_4662_);
v___x_4664_ = l_Array_toSubarray___redArg(v___x_4661_, v___x_4643_, v_numParams_4631_);
v___x_4665_ = l_Subarray_copy___redArg(v___x_4664_);
v___x_4666_ = l_Lean_mkAppN(v___x_4663_, v___x_4665_);
lean_dec_ref(v___x_4665_);
lean_inc(v_a_4628_);
lean_inc_ref(v_a_4627_);
lean_inc(v_a_4626_);
lean_inc_ref(v_a_4625_);
lean_inc_ref(v___x_4666_);
v___x_4667_ = lean_infer_type(v___x_4666_, v_a_4625_, v_a_4626_, v_a_4627_, v_a_4628_);
if (lean_obj_tag(v___x_4667_) == 0)
{
lean_object* v_a_4668_; lean_object* v___x_4670_; uint8_t v_isShared_4671_; uint8_t v_isSharedCheck_4685_; 
v_a_4668_ = lean_ctor_get(v___x_4667_, 0);
v_isSharedCheck_4685_ = !lean_is_exclusive(v___x_4667_);
if (v_isSharedCheck_4685_ == 0)
{
v___x_4670_ = v___x_4667_;
v_isShared_4671_ = v_isSharedCheck_4685_;
goto v_resetjp_4669_;
}
else
{
lean_inc(v_a_4668_);
lean_dec(v___x_4667_);
v___x_4670_ = lean_box(0);
v_isShared_4671_ = v_isSharedCheck_4685_;
goto v_resetjp_4669_;
}
v_resetjp_4669_:
{
lean_object* v_lower_4672_; lean_object* v_upper_4673_; lean_object* v_numMotives_4674_; lean_object* v_numMinors_4675_; lean_object* v___x_4676_; lean_object* v___x_4677_; lean_object* v_sizeOfLevels_4678_; lean_object* v___f_4679_; lean_object* v___x_4681_; 
v_lower_4672_ = lean_ctor_get(v___y_4646_, 0);
lean_inc(v_lower_4672_);
v_upper_4673_ = lean_ctor_get(v___y_4646_, 1);
lean_inc(v_upper_4673_);
lean_dec_ref(v___y_4646_);
v_numMotives_4674_ = lean_ctor_get(v_a_4657_, 4);
lean_inc(v_numMotives_4674_);
v_numMinors_4675_ = lean_ctor_get(v_a_4657_, 5);
lean_inc(v_numMinors_4675_);
lean_dec(v_a_4657_);
v___x_4676_ = l_Array_toSubarray___redArg(v_lhsArgs_4639_, v_lower_4672_, v_upper_4673_);
v___x_4677_ = l_Lean_Expr_getAppFn(v_lhs_4623_);
lean_dec_ref(v_lhs_4623_);
v_sizeOfLevels_4678_ = l_Lean_Expr_constLevels_x21(v___x_4677_);
lean_dec_ref(v___x_4677_);
v___f_4679_ = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___lam__1___boxed), 13, 5);
lean_closure_set(v___f_4679_, 0, v_sizeOfBaseArgs_4644_);
lean_closure_set(v___f_4679_, 1, v_sizeOfLevels_4678_);
lean_closure_set(v___f_4679_, 2, v___x_4666_);
lean_closure_set(v___f_4679_, 3, v___x_4676_);
lean_closure_set(v___f_4679_, 4, v_numMinors_4675_);
if (v_isShared_4671_ == 0)
{
lean_ctor_set_tag(v___x_4670_, 1);
lean_ctor_set(v___x_4670_, 0, v_numMotives_4674_);
v___x_4681_ = v___x_4670_;
goto v_reusejp_4680_;
}
else
{
lean_object* v_reuseFailAlloc_4684_; 
v_reuseFailAlloc_4684_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4684_, 0, v_numMotives_4674_);
v___x_4681_ = v_reuseFailAlloc_4684_;
goto v_reusejp_4680_;
}
v_reusejp_4680_:
{
uint8_t v___x_4682_; lean_object* v___x_4683_; 
v___x_4682_ = 0;
v___x_4683_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__13___redArg(v_a_4668_, v___x_4681_, v___f_4679_, v___x_4682_, v___x_4682_, v_a_4624_, v_a_4625_, v_a_4626_, v_a_4627_, v_a_4628_);
return v___x_4683_;
}
}
}
else
{
lean_dec_ref(v___x_4666_);
lean_dec(v_a_4657_);
lean_dec_ref(v___y_4646_);
lean_dec_ref(v_sizeOfBaseArgs_4644_);
lean_dec_ref(v_lhsArgs_4639_);
lean_dec(v_a_4628_);
lean_dec_ref(v_a_4627_);
lean_dec(v_a_4626_);
lean_dec_ref(v_a_4625_);
lean_dec_ref(v_a_4624_);
lean_dec_ref(v_lhs_4623_);
return v___x_4667_;
}
}
else
{
lean_object* v_a_4686_; lean_object* v___x_4688_; uint8_t v_isShared_4689_; uint8_t v_isSharedCheck_4693_; 
lean_dec(v___x_4655_);
lean_dec(v_us_4653_);
lean_dec(v_a_4651_);
lean_dec_ref(v___y_4646_);
lean_dec_ref(v_sizeOfBaseArgs_4644_);
lean_dec_ref(v_lhsArgs_4639_);
lean_dec(v_numParams_4631_);
lean_dec(v_a_4628_);
lean_dec_ref(v_a_4627_);
lean_dec(v_a_4626_);
lean_dec_ref(v_a_4625_);
lean_dec_ref(v_a_4624_);
lean_dec_ref(v_lhs_4623_);
v_a_4686_ = lean_ctor_get(v___x_4656_, 0);
v_isSharedCheck_4693_ = !lean_is_exclusive(v___x_4656_);
if (v_isSharedCheck_4693_ == 0)
{
v___x_4688_ = v___x_4656_;
v_isShared_4689_ = v_isSharedCheck_4693_;
goto v_resetjp_4687_;
}
else
{
lean_inc(v_a_4686_);
lean_dec(v___x_4656_);
v___x_4688_ = lean_box(0);
v_isShared_4689_ = v_isSharedCheck_4693_;
goto v_resetjp_4687_;
}
v_resetjp_4687_:
{
lean_object* v___x_4691_; 
if (v_isShared_4689_ == 0)
{
v___x_4691_ = v___x_4688_;
goto v_reusejp_4690_;
}
else
{
lean_object* v_reuseFailAlloc_4692_; 
v_reuseFailAlloc_4692_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4692_, 0, v_a_4686_);
v___x_4691_ = v_reuseFailAlloc_4692_;
goto v_reusejp_4690_;
}
v_reusejp_4690_:
{
return v___x_4691_;
}
}
}
}
else
{
lean_object* v___x_4694_; 
lean_dec_ref(v___x_4652_);
lean_dec(v_a_4651_);
lean_dec_ref(v___y_4646_);
lean_dec_ref(v_sizeOfBaseArgs_4644_);
lean_dec_ref(v_lhsArgs_4639_);
lean_dec(v_numParams_4631_);
lean_dec_ref(v_toConstantVal_4630_);
lean_dec_ref(v_lhs_4623_);
v___x_4694_ = l_Lean_Meta_SizeOfSpecNested_throwFailed___redArg(v_a_4624_, v_a_4625_, v_a_4626_, v_a_4627_, v_a_4628_);
lean_dec(v_a_4628_);
lean_dec_ref(v_a_4627_);
lean_dec(v_a_4626_);
lean_dec_ref(v_a_4625_);
return v___x_4694_;
}
}
else
{
lean_dec_ref(v___y_4646_);
lean_dec_ref(v_sizeOfBaseArgs_4644_);
lean_dec_ref(v_lhsArgs_4639_);
lean_dec(v_numParams_4631_);
lean_dec_ref(v_toConstantVal_4630_);
lean_dec(v_a_4628_);
lean_dec_ref(v_a_4627_);
lean_dec(v_a_4626_);
lean_dec_ref(v_a_4625_);
lean_dec_ref(v_a_4624_);
lean_dec_ref(v_lhs_4623_);
return v___x_4650_;
}
}
else
{
lean_dec_ref(v___y_4646_);
lean_dec_ref(v_sizeOfBaseArgs_4644_);
lean_dec_ref(v_lhsArgs_4639_);
lean_dec(v_numParams_4631_);
lean_dec_ref(v_toConstantVal_4630_);
lean_dec(v_a_4628_);
lean_dec_ref(v_a_4627_);
lean_dec(v_a_4626_);
lean_dec_ref(v_a_4625_);
lean_dec_ref(v_a_4624_);
lean_dec_ref(v_lhs_4623_);
return v___x_4648_;
}
}
}
}
static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__0___closed__1(void){
_start:
{
lean_object* v___x_4699_; lean_object* v___x_4700_; 
v___x_4699_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__0___closed__0));
v___x_4700_ = l_Lean_stringToMessageData(v___x_4699_);
return v___x_4700_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__0(lean_object* v_lhs_4701_, lean_object* v_dummy_4702_, lean_object* v___x_4703_, lean_object* v_indices_4704_, lean_object* v___x_4705_, lean_object* v___x_4706_, lean_object* v___x_4707_, uint8_t v___x_4708_, uint8_t v___x_4709_, lean_object* v_val_4710_, lean_object* v___x_4711_, lean_object* v___x_4712_, lean_object* v_a_4713_, lean_object* v___x_4714_, lean_object* v_us_4715_, lean_object* v_major_4716_, lean_object* v___y_4717_, lean_object* v___y_4718_, lean_object* v___y_4719_, lean_object* v___y_4720_, lean_object* v___y_4721_){
_start:
{
lean_object* v_nargs_4723_; lean_object* v___x_4724_; lean_object* v___x_4725_; lean_object* v___x_4726_; lean_object* v___x_4727_; lean_object* v___x_4728_; lean_object* v___x_4729_; lean_object* v___x_4730_; lean_object* v___x_4731_; lean_object* v___x_4732_; lean_object* v___x_4733_; lean_object* v___x_4734_; lean_object* v___x_4735_; lean_object* v___x_4736_; lean_object* v___x_4737_; lean_object* v___x_4738_; lean_object* v___x_4739_; 
v_nargs_4723_ = l_Lean_Expr_getAppNumArgs(v_lhs_4701_);
lean_inc(v_nargs_4723_);
v___x_4724_ = lean_mk_array(v_nargs_4723_, v_dummy_4702_);
v___x_4725_ = lean_nat_sub(v_nargs_4723_, v___x_4703_);
lean_dec(v_nargs_4723_);
v___x_4726_ = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(v_lhs_4701_, v___x_4724_, v___x_4725_);
v___x_4727_ = lean_array_get_size(v___x_4726_);
v___x_4728_ = lean_nat_sub(v___x_4727_, v___x_4703_);
v___x_4729_ = lean_array_get_size(v_indices_4704_);
v___x_4730_ = lean_nat_sub(v___x_4728_, v___x_4729_);
lean_dec(v___x_4728_);
lean_inc_ref(v___x_4726_);
v___x_4731_ = l_Array_toSubarray___redArg(v___x_4726_, v___x_4705_, v___x_4730_);
v___x_4732_ = l_Subarray_copy___redArg(v___x_4731_);
v___x_4733_ = l_Array_append___redArg(v___x_4732_, v_indices_4704_);
v___x_4734_ = lean_mk_empty_array_with_capacity(v___x_4703_);
v___x_4735_ = lean_array_push(v___x_4734_, v_major_4716_);
v___x_4736_ = l_Array_append___redArg(v___x_4733_, v___x_4735_);
v___x_4737_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0___closed__0));
lean_inc_ref(v___x_4706_);
v___x_4738_ = l_Lean_Name_mkStr2(v___x_4737_, v___x_4706_);
lean_inc(v___y_4721_);
lean_inc_ref(v___y_4720_);
lean_inc(v___y_4719_);
lean_inc_ref(v___y_4718_);
v___x_4739_ = l_Lean_Meta_mkAppM(v___x_4738_, v___x_4735_, v___y_4718_, v___y_4719_, v___y_4720_, v___y_4721_);
if (lean_obj_tag(v___x_4739_) == 0)
{
lean_object* v_a_4740_; lean_object* v___x_4741_; lean_object* v___x_4742_; 
v_a_4740_ = lean_ctor_get(v___x_4739_, 0);
lean_inc(v_a_4740_);
lean_dec_ref(v___x_4739_);
v___x_4741_ = l_Lean_mkAppN(v___x_4707_, v___x_4736_);
lean_inc(v___y_4721_);
lean_inc_ref(v___y_4720_);
lean_inc(v___y_4719_);
lean_inc_ref(v___y_4718_);
lean_inc_ref(v___x_4741_);
v___x_4742_ = l_Lean_Meta_mkEq(v___x_4741_, v_a_4740_, v___y_4718_, v___y_4719_, v___y_4720_, v___y_4721_);
if (lean_obj_tag(v___x_4742_) == 0)
{
lean_object* v_a_4743_; uint8_t v___x_4744_; lean_object* v___x_4745_; 
v_a_4743_ = lean_ctor_get(v___x_4742_, 0);
lean_inc(v_a_4743_);
lean_dec_ref(v___x_4742_);
v___x_4744_ = 1;
v___x_4745_ = l_Lean_Meta_mkForallFVars(v___x_4736_, v_a_4743_, v___x_4708_, v___x_4709_, v___x_4709_, v___x_4744_, v___y_4718_, v___y_4719_, v___y_4720_, v___y_4721_);
if (lean_obj_tag(v___x_4745_) == 0)
{
lean_object* v_a_4746_; lean_object* v___x_4747_; 
v_a_4746_ = lean_ctor_get(v___x_4745_, 0);
lean_inc(v_a_4746_);
lean_dec_ref(v___x_4745_);
lean_inc(v___y_4721_);
lean_inc_ref(v___y_4720_);
lean_inc(v___y_4719_);
lean_inc_ref(v___y_4718_);
v___x_4747_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof(v_val_4710_, v___x_4741_, v___y_4717_, v___y_4718_, v___y_4719_, v___y_4720_, v___y_4721_);
if (lean_obj_tag(v___x_4747_) == 0)
{
lean_object* v_a_4748_; lean_object* v___x_4749_; 
v_a_4748_ = lean_ctor_get(v___x_4747_, 0);
lean_inc(v_a_4748_);
lean_dec_ref(v___x_4747_);
v___x_4749_ = l_Lean_Meta_mkLambdaFVars(v___x_4736_, v_a_4748_, v___x_4708_, v___x_4709_, v___x_4708_, v___x_4709_, v___x_4744_, v___y_4718_, v___y_4719_, v___y_4720_, v___y_4721_);
lean_dec_ref(v___x_4736_);
if (lean_obj_tag(v___x_4749_) == 0)
{
lean_object* v_a_4750_; lean_object* v___x_4752_; uint8_t v_isShared_4753_; uint8_t v_isSharedCheck_4806_; 
v_a_4750_ = lean_ctor_get(v___x_4749_, 0);
v_isSharedCheck_4806_ = !lean_is_exclusive(v___x_4749_);
if (v_isSharedCheck_4806_ == 0)
{
v___x_4752_ = v___x_4749_;
v_isShared_4753_ = v_isSharedCheck_4806_;
goto v_resetjp_4751_;
}
else
{
lean_inc(v_a_4750_);
lean_dec(v___x_4749_);
v___x_4752_ = lean_box(0);
v_isShared_4753_ = v_isSharedCheck_4806_;
goto v_resetjp_4751_;
}
v_resetjp_4751_:
{
lean_object* v___y_4755_; lean_object* v___y_4756_; lean_object* v___x_4782_; lean_object* v___x_4783_; 
v___x_4782_ = l_Lean_Name_mkStr2(v___x_4711_, v___x_4706_);
lean_inc(v___x_4782_);
v___x_4783_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__0___redArg(v___x_4782_, v___y_4720_);
if (lean_obj_tag(v___x_4783_) == 0)
{
lean_object* v_a_4784_; uint8_t v___x_4785_; 
v_a_4784_ = lean_ctor_get(v___x_4783_, 0);
lean_inc(v_a_4784_);
lean_dec_ref(v___x_4783_);
v___x_4785_ = lean_unbox(v_a_4784_);
lean_dec(v_a_4784_);
if (v___x_4785_ == 0)
{
lean_dec(v___x_4782_);
lean_dec(v___y_4719_);
lean_dec_ref(v___y_4718_);
v___y_4755_ = v___y_4720_;
v___y_4756_ = v___y_4721_;
goto v___jp_4754_;
}
else
{
lean_object* v___x_4786_; lean_object* v___x_4787_; lean_object* v___x_4788_; lean_object* v___x_4789_; 
v___x_4786_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__0___closed__1, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__0___closed__1_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__0___closed__1);
lean_inc(v_a_4750_);
v___x_4787_ = l_Lean_MessageData_ofExpr(v_a_4750_);
v___x_4788_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4788_, 0, v___x_4786_);
lean_ctor_set(v___x_4788_, 1, v___x_4787_);
v___x_4789_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__1___redArg(v___x_4782_, v___x_4788_, v___y_4718_, v___y_4719_, v___y_4720_, v___y_4721_);
lean_dec(v___y_4719_);
lean_dec_ref(v___y_4718_);
if (lean_obj_tag(v___x_4789_) == 0)
{
lean_dec_ref(v___x_4789_);
v___y_4755_ = v___y_4720_;
v___y_4756_ = v___y_4721_;
goto v___jp_4754_;
}
else
{
lean_object* v_a_4790_; lean_object* v___x_4792_; uint8_t v_isShared_4793_; uint8_t v_isSharedCheck_4797_; 
lean_del_object(v___x_4752_);
lean_dec(v_a_4750_);
lean_dec(v_a_4746_);
lean_dec_ref(v___x_4726_);
lean_dec(v___y_4721_);
lean_dec_ref(v___y_4720_);
lean_dec(v_us_4715_);
lean_dec(v___x_4714_);
lean_dec(v_a_4713_);
lean_dec(v___x_4712_);
v_a_4790_ = lean_ctor_get(v___x_4789_, 0);
v_isSharedCheck_4797_ = !lean_is_exclusive(v___x_4789_);
if (v_isSharedCheck_4797_ == 0)
{
v___x_4792_ = v___x_4789_;
v_isShared_4793_ = v_isSharedCheck_4797_;
goto v_resetjp_4791_;
}
else
{
lean_inc(v_a_4790_);
lean_dec(v___x_4789_);
v___x_4792_ = lean_box(0);
v_isShared_4793_ = v_isSharedCheck_4797_;
goto v_resetjp_4791_;
}
v_resetjp_4791_:
{
lean_object* v___x_4795_; 
if (v_isShared_4793_ == 0)
{
v___x_4795_ = v___x_4792_;
goto v_reusejp_4794_;
}
else
{
lean_object* v_reuseFailAlloc_4796_; 
v_reuseFailAlloc_4796_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4796_, 0, v_a_4790_);
v___x_4795_ = v_reuseFailAlloc_4796_;
goto v_reusejp_4794_;
}
v_reusejp_4794_:
{
return v___x_4795_;
}
}
}
}
}
else
{
lean_object* v_a_4798_; lean_object* v___x_4800_; uint8_t v_isShared_4801_; uint8_t v_isSharedCheck_4805_; 
lean_dec(v___x_4782_);
lean_del_object(v___x_4752_);
lean_dec(v_a_4750_);
lean_dec(v_a_4746_);
lean_dec_ref(v___x_4726_);
lean_dec(v___y_4721_);
lean_dec_ref(v___y_4720_);
lean_dec(v___y_4719_);
lean_dec_ref(v___y_4718_);
lean_dec(v_us_4715_);
lean_dec(v___x_4714_);
lean_dec(v_a_4713_);
lean_dec(v___x_4712_);
v_a_4798_ = lean_ctor_get(v___x_4783_, 0);
v_isSharedCheck_4805_ = !lean_is_exclusive(v___x_4783_);
if (v_isSharedCheck_4805_ == 0)
{
v___x_4800_ = v___x_4783_;
v_isShared_4801_ = v_isSharedCheck_4805_;
goto v_resetjp_4799_;
}
else
{
lean_inc(v_a_4798_);
lean_dec(v___x_4783_);
v___x_4800_ = lean_box(0);
v_isShared_4801_ = v_isSharedCheck_4805_;
goto v_resetjp_4799_;
}
v_resetjp_4799_:
{
lean_object* v___x_4803_; 
if (v_isShared_4801_ == 0)
{
v___x_4803_ = v___x_4800_;
goto v_reusejp_4802_;
}
else
{
lean_object* v_reuseFailAlloc_4804_; 
v_reuseFailAlloc_4804_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4804_, 0, v_a_4798_);
v___x_4803_ = v_reuseFailAlloc_4804_;
goto v_reusejp_4802_;
}
v_reusejp_4802_:
{
return v___x_4803_;
}
}
}
v___jp_4754_:
{
lean_object* v___x_4757_; lean_object* v___x_4758_; lean_object* v___x_4759_; lean_object* v___x_4761_; 
lean_inc(v___x_4712_);
v___x_4757_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v___x_4757_, 0, v___x_4712_);
lean_ctor_set(v___x_4757_, 1, v_a_4713_);
lean_ctor_set(v___x_4757_, 2, v_a_4746_);
lean_inc(v___x_4712_);
v___x_4758_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_4758_, 0, v___x_4712_);
lean_ctor_set(v___x_4758_, 1, v___x_4714_);
v___x_4759_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v___x_4759_, 0, v___x_4757_);
lean_ctor_set(v___x_4759_, 1, v_a_4750_);
lean_ctor_set(v___x_4759_, 2, v___x_4758_);
if (v_isShared_4753_ == 0)
{
lean_ctor_set_tag(v___x_4752_, 2);
lean_ctor_set(v___x_4752_, 0, v___x_4759_);
v___x_4761_ = v___x_4752_;
goto v_reusejp_4760_;
}
else
{
lean_object* v_reuseFailAlloc_4781_; 
v_reuseFailAlloc_4781_ = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4781_, 0, v___x_4759_);
v___x_4761_ = v_reuseFailAlloc_4781_;
goto v_reusejp_4760_;
}
v_reusejp_4760_:
{
lean_object* v___x_4762_; 
v___x_4762_ = l_Lean_addDecl(v___x_4761_, v___x_4708_, v___y_4755_, v___y_4756_);
if (lean_obj_tag(v___x_4762_) == 0)
{
lean_object* v___x_4764_; uint8_t v_isShared_4765_; uint8_t v_isSharedCheck_4771_; 
v_isSharedCheck_4771_ = !lean_is_exclusive(v___x_4762_);
if (v_isSharedCheck_4771_ == 0)
{
lean_object* v_unused_4772_; 
v_unused_4772_ = lean_ctor_get(v___x_4762_, 0);
lean_dec(v_unused_4772_);
v___x_4764_ = v___x_4762_;
v_isShared_4765_ = v_isSharedCheck_4771_;
goto v_resetjp_4763_;
}
else
{
lean_dec(v___x_4762_);
v___x_4764_ = lean_box(0);
v_isShared_4765_ = v_isSharedCheck_4771_;
goto v_resetjp_4763_;
}
v_resetjp_4763_:
{
lean_object* v___x_4766_; lean_object* v___x_4767_; lean_object* v___x_4769_; 
v___x_4766_ = l_Lean_mkConst(v___x_4712_, v_us_4715_);
v___x_4767_ = l_Lean_mkAppN(v___x_4766_, v___x_4726_);
lean_dec_ref(v___x_4726_);
if (v_isShared_4765_ == 0)
{
lean_ctor_set(v___x_4764_, 0, v___x_4767_);
v___x_4769_ = v___x_4764_;
goto v_reusejp_4768_;
}
else
{
lean_object* v_reuseFailAlloc_4770_; 
v_reuseFailAlloc_4770_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4770_, 0, v___x_4767_);
v___x_4769_ = v_reuseFailAlloc_4770_;
goto v_reusejp_4768_;
}
v_reusejp_4768_:
{
return v___x_4769_;
}
}
}
else
{
lean_object* v_a_4773_; lean_object* v___x_4775_; uint8_t v_isShared_4776_; uint8_t v_isSharedCheck_4780_; 
lean_dec_ref(v___x_4726_);
lean_dec(v_us_4715_);
lean_dec(v___x_4712_);
v_a_4773_ = lean_ctor_get(v___x_4762_, 0);
v_isSharedCheck_4780_ = !lean_is_exclusive(v___x_4762_);
if (v_isSharedCheck_4780_ == 0)
{
v___x_4775_ = v___x_4762_;
v_isShared_4776_ = v_isSharedCheck_4780_;
goto v_resetjp_4774_;
}
else
{
lean_inc(v_a_4773_);
lean_dec(v___x_4762_);
v___x_4775_ = lean_box(0);
v_isShared_4776_ = v_isSharedCheck_4780_;
goto v_resetjp_4774_;
}
v_resetjp_4774_:
{
lean_object* v___x_4778_; 
if (v_isShared_4776_ == 0)
{
v___x_4778_ = v___x_4775_;
goto v_reusejp_4777_;
}
else
{
lean_object* v_reuseFailAlloc_4779_; 
v_reuseFailAlloc_4779_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4779_, 0, v_a_4773_);
v___x_4778_ = v_reuseFailAlloc_4779_;
goto v_reusejp_4777_;
}
v_reusejp_4777_:
{
return v___x_4778_;
}
}
}
}
}
}
}
else
{
lean_dec(v_a_4746_);
lean_dec_ref(v___x_4726_);
lean_dec(v___y_4721_);
lean_dec_ref(v___y_4720_);
lean_dec(v___y_4719_);
lean_dec_ref(v___y_4718_);
lean_dec(v_us_4715_);
lean_dec(v___x_4714_);
lean_dec(v_a_4713_);
lean_dec(v___x_4712_);
lean_dec_ref(v___x_4711_);
lean_dec_ref(v___x_4706_);
return v___x_4749_;
}
}
else
{
lean_dec(v_a_4746_);
lean_dec_ref(v___x_4736_);
lean_dec_ref(v___x_4726_);
lean_dec(v___y_4721_);
lean_dec_ref(v___y_4720_);
lean_dec(v___y_4719_);
lean_dec_ref(v___y_4718_);
lean_dec(v_us_4715_);
lean_dec(v___x_4714_);
lean_dec(v_a_4713_);
lean_dec(v___x_4712_);
lean_dec_ref(v___x_4711_);
lean_dec_ref(v___x_4706_);
return v___x_4747_;
}
}
else
{
lean_dec_ref(v___x_4741_);
lean_dec_ref(v___x_4736_);
lean_dec_ref(v___x_4726_);
lean_dec(v___y_4721_);
lean_dec_ref(v___y_4720_);
lean_dec(v___y_4719_);
lean_dec_ref(v___y_4718_);
lean_dec_ref(v___y_4717_);
lean_dec(v_us_4715_);
lean_dec(v___x_4714_);
lean_dec(v_a_4713_);
lean_dec(v___x_4712_);
lean_dec_ref(v___x_4711_);
lean_dec_ref(v_val_4710_);
lean_dec_ref(v___x_4706_);
return v___x_4745_;
}
}
else
{
lean_dec_ref(v___x_4741_);
lean_dec_ref(v___x_4736_);
lean_dec_ref(v___x_4726_);
lean_dec(v___y_4721_);
lean_dec_ref(v___y_4720_);
lean_dec(v___y_4719_);
lean_dec_ref(v___y_4718_);
lean_dec_ref(v___y_4717_);
lean_dec(v_us_4715_);
lean_dec(v___x_4714_);
lean_dec(v_a_4713_);
lean_dec(v___x_4712_);
lean_dec_ref(v___x_4711_);
lean_dec_ref(v_val_4710_);
lean_dec_ref(v___x_4706_);
return v___x_4742_;
}
}
else
{
lean_dec_ref(v___x_4736_);
lean_dec_ref(v___x_4726_);
lean_dec(v___y_4721_);
lean_dec_ref(v___y_4720_);
lean_dec(v___y_4719_);
lean_dec_ref(v___y_4718_);
lean_dec_ref(v___y_4717_);
lean_dec(v_us_4715_);
lean_dec(v___x_4714_);
lean_dec(v_a_4713_);
lean_dec(v___x_4712_);
lean_dec_ref(v___x_4711_);
lean_dec_ref(v_val_4710_);
lean_dec_ref(v___x_4707_);
lean_dec_ref(v___x_4706_);
return v___x_4739_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__0___boxed(lean_object** _args){
lean_object* v_lhs_4807_ = _args[0];
lean_object* v_dummy_4808_ = _args[1];
lean_object* v___x_4809_ = _args[2];
lean_object* v_indices_4810_ = _args[3];
lean_object* v___x_4811_ = _args[4];
lean_object* v___x_4812_ = _args[5];
lean_object* v___x_4813_ = _args[6];
lean_object* v___x_4814_ = _args[7];
lean_object* v___x_4815_ = _args[8];
lean_object* v_val_4816_ = _args[9];
lean_object* v___x_4817_ = _args[10];
lean_object* v___x_4818_ = _args[11];
lean_object* v_a_4819_ = _args[12];
lean_object* v___x_4820_ = _args[13];
lean_object* v_us_4821_ = _args[14];
lean_object* v_major_4822_ = _args[15];
lean_object* v___y_4823_ = _args[16];
lean_object* v___y_4824_ = _args[17];
lean_object* v___y_4825_ = _args[18];
lean_object* v___y_4826_ = _args[19];
lean_object* v___y_4827_ = _args[20];
lean_object* v___y_4828_ = _args[21];
_start:
{
uint8_t v___x_45504__boxed_4829_; uint8_t v___x_45505__boxed_4830_; lean_object* v_res_4831_; 
v___x_45504__boxed_4829_ = lean_unbox(v___x_4814_);
v___x_45505__boxed_4830_ = lean_unbox(v___x_4815_);
v_res_4831_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__0(v_lhs_4807_, v_dummy_4808_, v___x_4809_, v_indices_4810_, v___x_4811_, v___x_4812_, v___x_4813_, v___x_45504__boxed_4829_, v___x_45505__boxed_4830_, v_val_4816_, v___x_4817_, v___x_4818_, v_a_4819_, v___x_4820_, v_us_4821_, v_major_4822_, v___y_4823_, v___y_4824_, v___y_4825_, v___y_4826_, v___y_4827_);
lean_dec_ref(v_indices_4810_);
lean_dec(v___x_4809_);
return v_res_4831_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__1(lean_object* v_lhs_4832_, lean_object* v_dummy_4833_, lean_object* v___x_4834_, lean_object* v___x_4835_, lean_object* v___x_4836_, lean_object* v___x_4837_, uint8_t v___x_4838_, uint8_t v___x_4839_, lean_object* v_val_4840_, lean_object* v___x_4841_, lean_object* v___x_4842_, lean_object* v_a_4843_, lean_object* v___x_4844_, lean_object* v_us_4845_, lean_object* v___x_4846_, lean_object* v_indices_4847_, lean_object* v_x_4848_, lean_object* v___y_4849_, lean_object* v___y_4850_, lean_object* v___y_4851_, lean_object* v___y_4852_, lean_object* v___y_4853_){
_start:
{
lean_object* v___x_4855_; lean_object* v___x_4856_; lean_object* v___f_4857_; lean_object* v___x_4858_; lean_object* v___x_4859_; lean_object* v___x_4860_; 
v___x_4855_ = lean_box(v___x_4838_);
v___x_4856_ = lean_box(v___x_4839_);
lean_inc_ref(v_indices_4847_);
v___f_4857_ = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__0___boxed), 22, 15);
lean_closure_set(v___f_4857_, 0, v_lhs_4832_);
lean_closure_set(v___f_4857_, 1, v_dummy_4833_);
lean_closure_set(v___f_4857_, 2, v___x_4834_);
lean_closure_set(v___f_4857_, 3, v_indices_4847_);
lean_closure_set(v___f_4857_, 4, v___x_4835_);
lean_closure_set(v___f_4857_, 5, v___x_4836_);
lean_closure_set(v___f_4857_, 6, v___x_4837_);
lean_closure_set(v___f_4857_, 7, v___x_4855_);
lean_closure_set(v___f_4857_, 8, v___x_4856_);
lean_closure_set(v___f_4857_, 9, v_val_4840_);
lean_closure_set(v___f_4857_, 10, v___x_4841_);
lean_closure_set(v___f_4857_, 11, v___x_4842_);
lean_closure_set(v___f_4857_, 12, v_a_4843_);
lean_closure_set(v___f_4857_, 13, v___x_4844_);
lean_closure_set(v___f_4857_, 14, v_us_4845_);
v___x_4858_ = l_Lean_mkAppN(v___x_4846_, v_indices_4847_);
lean_dec_ref(v_indices_4847_);
v___x_4859_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lam__1___closed__1));
v___x_4860_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6___redArg(v___x_4859_, v___x_4858_, v___f_4857_, v___y_4849_, v___y_4850_, v___y_4851_, v___y_4852_, v___y_4853_);
return v___x_4860_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12___boxed(lean_object* v_as_4861_, lean_object* v_sz_4862_, lean_object* v_i_4863_, lean_object* v_b_4864_, lean_object* v___y_4865_, lean_object* v___y_4866_, lean_object* v___y_4867_, lean_object* v___y_4868_, lean_object* v___y_4869_, lean_object* v___y_4870_){
_start:
{
size_t v_sz_boxed_4871_; size_t v_i_boxed_4872_; lean_object* v_res_4873_; 
v_sz_boxed_4871_ = lean_unbox_usize(v_sz_4862_);
lean_dec(v_sz_4862_);
v_i_boxed_4872_ = lean_unbox_usize(v_i_4863_);
lean_dec(v_i_4863_);
v_res_4873_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__12(v_as_4861_, v_sz_boxed_4871_, v_i_boxed_4872_, v_b_4864_, v___y_4865_, v___y_4866_, v___y_4867_, v___y_4868_, v___y_4869_);
lean_dec_ref(v_as_4861_);
return v_res_4873_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___boxed(lean_object* v_ys_4874_, lean_object* v_lhs_4875_, lean_object* v_rhs_4876_, lean_object* v_a_4877_, lean_object* v_a_4878_, lean_object* v_a_4879_, lean_object* v_a_4880_, lean_object* v_a_4881_, lean_object* v_a_4882_){
_start:
{
lean_object* v_res_4883_; 
v_res_4883_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep(v_ys_4874_, v_lhs_4875_, v_rhs_4876_, v_a_4877_, v_a_4878_, v_a_4879_, v_a_4880_, v_a_4881_);
lean_dec_ref(v_ys_4874_);
return v_res_4883_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___boxed(lean_object* v_info_4884_, lean_object* v_lhs_4885_, lean_object* v_a_4886_, lean_object* v_a_4887_, lean_object* v_a_4888_, lean_object* v_a_4889_, lean_object* v_a_4890_, lean_object* v_a_4891_){
_start:
{
lean_object* v_res_4892_; 
v_res_4892_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof(v_info_4884_, v_lhs_4885_, v_a_4886_, v_a_4887_, v_a_4888_, v_a_4889_, v_a_4890_);
return v_res_4892_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___boxed(lean_object* v_ys_4893_, lean_object* v_lhs_4894_, lean_object* v_rhs_4895_, lean_object* v_a_4896_, lean_object* v_a_4897_, lean_object* v_a_4898_, lean_object* v_a_4899_, lean_object* v_a_4900_, lean_object* v_a_4901_){
_start:
{
lean_object* v_res_4902_; 
v_res_4902_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof(v_ys_4893_, v_lhs_4894_, v_rhs_4895_, v_a_4896_, v_a_4897_, v_a_4898_, v_a_4899_, v_a_4900_);
lean_dec_ref(v_ys_4893_);
return v_res_4902_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___boxed(lean_object* v_lhs_4903_, lean_object* v_rhs_4904_, lean_object* v_a_4905_, lean_object* v_a_4906_, lean_object* v_a_4907_, lean_object* v_a_4908_, lean_object* v_a_4909_, lean_object* v_a_4910_){
_start:
{
lean_object* v_res_4911_; 
v_res_4911_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma(v_lhs_4903_, v_rhs_4904_, v_a_4905_, v_a_4906_, v_a_4907_, v_a_4908_, v_a_4909_);
return v_res_4911_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7(lean_object* v_00_u03b1_4912_, lean_object* v_type_4913_, lean_object* v_k_4914_, uint8_t v_cleanupAnnotations_4915_, uint8_t v_whnfType_4916_, lean_object* v___y_4917_, lean_object* v___y_4918_, lean_object* v___y_4919_, lean_object* v___y_4920_, lean_object* v___y_4921_){
_start:
{
lean_object* v___x_4923_; 
v___x_4923_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7___redArg(v_type_4913_, v_k_4914_, v_cleanupAnnotations_4915_, v_whnfType_4916_, v___y_4917_, v___y_4918_, v___y_4919_, v___y_4920_, v___y_4921_);
return v___x_4923_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7___boxed(lean_object* v_00_u03b1_4924_, lean_object* v_type_4925_, lean_object* v_k_4926_, lean_object* v_cleanupAnnotations_4927_, lean_object* v_whnfType_4928_, lean_object* v___y_4929_, lean_object* v___y_4930_, lean_object* v___y_4931_, lean_object* v___y_4932_, lean_object* v___y_4933_, lean_object* v___y_4934_){
_start:
{
uint8_t v_cleanupAnnotations_boxed_4935_; uint8_t v_whnfType_boxed_4936_; lean_object* v_res_4937_; 
v_cleanupAnnotations_boxed_4935_ = lean_unbox(v_cleanupAnnotations_4927_);
v_whnfType_boxed_4936_ = lean_unbox(v_whnfType_4928_);
v_res_4937_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__7(v_00_u03b1_4924_, v_type_4925_, v_k_4926_, v_cleanupAnnotations_boxed_4935_, v_whnfType_boxed_4936_, v___y_4929_, v___y_4930_, v___y_4931_, v___y_4932_, v___y_4933_);
return v_res_4937_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8(lean_object* v_00_u03b1_4938_, lean_object* v_ref_4939_, lean_object* v___y_4940_, lean_object* v___y_4941_, lean_object* v___y_4942_, lean_object* v___y_4943_, lean_object* v___y_4944_){
_start:
{
lean_object* v___x_4946_; 
v___x_4946_ = l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___redArg(v_ref_4939_);
return v___x_4946_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8___boxed(lean_object* v_00_u03b1_4947_, lean_object* v_ref_4948_, lean_object* v___y_4949_, lean_object* v___y_4950_, lean_object* v___y_4951_, lean_object* v___y_4952_, lean_object* v___y_4953_, lean_object* v___y_4954_){
_start:
{
lean_object* v_res_4955_; 
v_res_4955_ = l_Lean_throwMaxRecDepthAt___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__8(v_00_u03b1_4947_, v_ref_4948_, v___y_4949_, v___y_4950_, v___y_4951_, v___y_4952_, v___y_4953_);
lean_dec(v___y_4953_);
lean_dec_ref(v___y_4952_);
lean_dec(v___y_4951_);
lean_dec_ref(v___y_4950_);
lean_dec_ref(v___y_4949_);
return v_res_4955_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__13(lean_object* v_00_u03b1_4956_, lean_object* v_type_4957_, lean_object* v_maxFVars_x3f_4958_, lean_object* v_k_4959_, uint8_t v_cleanupAnnotations_4960_, uint8_t v_whnfType_4961_, lean_object* v___y_4962_, lean_object* v___y_4963_, lean_object* v___y_4964_, lean_object* v___y_4965_, lean_object* v___y_4966_){
_start:
{
lean_object* v___x_4968_; 
v___x_4968_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__13___redArg(v_type_4957_, v_maxFVars_x3f_4958_, v_k_4959_, v_cleanupAnnotations_4960_, v_whnfType_4961_, v___y_4962_, v___y_4963_, v___y_4964_, v___y_4965_, v___y_4966_);
return v___x_4968_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__13___boxed(lean_object* v_00_u03b1_4969_, lean_object* v_type_4970_, lean_object* v_maxFVars_x3f_4971_, lean_object* v_k_4972_, lean_object* v_cleanupAnnotations_4973_, lean_object* v_whnfType_4974_, lean_object* v___y_4975_, lean_object* v___y_4976_, lean_object* v___y_4977_, lean_object* v___y_4978_, lean_object* v___y_4979_, lean_object* v___y_4980_){
_start:
{
uint8_t v_cleanupAnnotations_boxed_4981_; uint8_t v_whnfType_boxed_4982_; lean_object* v_res_4983_; 
v_cleanupAnnotations_boxed_4981_ = lean_unbox(v_cleanupAnnotations_4973_);
v_whnfType_boxed_4982_ = lean_unbox(v_whnfType_4974_);
v_res_4983_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof_spec__13(v_00_u03b1_4969_, v_type_4970_, v_maxFVars_x3f_4971_, v_k_4972_, v_cleanupAnnotations_boxed_4981_, v_whnfType_boxed_4982_, v___y_4975_, v___y_4976_, v___y_4977_, v___y_4978_, v___y_4979_);
return v_res_4983_;
}
}
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__1(lean_object* v_cls_4984_, lean_object* v_msg_4985_, lean_object* v___y_4986_, lean_object* v___y_4987_, lean_object* v___y_4988_, lean_object* v___y_4989_, lean_object* v___y_4990_){
_start:
{
lean_object* v___x_4992_; 
v___x_4992_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__1___redArg(v_cls_4984_, v_msg_4985_, v___y_4987_, v___y_4988_, v___y_4989_, v___y_4990_);
return v___x_4992_;
}
}
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__1___boxed(lean_object* v_cls_4993_, lean_object* v_msg_4994_, lean_object* v___y_4995_, lean_object* v___y_4996_, lean_object* v___y_4997_, lean_object* v___y_4998_, lean_object* v___y_4999_, lean_object* v___y_5000_){
_start:
{
lean_object* v_res_5001_; 
v_res_5001_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__1(v_cls_4993_, v_msg_4994_, v___y_4995_, v___y_4996_, v___y_4997_, v___y_4998_, v___y_4999_);
lean_dec(v___y_4999_);
lean_dec_ref(v___y_4998_);
lean_dec(v___y_4997_);
lean_dec_ref(v___y_4996_);
lean_dec_ref(v___y_4995_);
return v_res_5001_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep_spec__3(lean_object* v_a_5002_, lean_object* v_as_5003_, size_t v_sz_5004_, size_t v_i_5005_, lean_object* v_b_5006_, lean_object* v___y_5007_, lean_object* v___y_5008_, lean_object* v___y_5009_, lean_object* v___y_5010_, lean_object* v___y_5011_){
_start:
{
lean_object* v___x_5013_; 
v___x_5013_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep_spec__3___redArg(v_a_5002_, v_as_5003_, v_sz_5004_, v_i_5005_, v_b_5006_, v___y_5008_, v___y_5009_, v___y_5010_, v___y_5011_);
return v___x_5013_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep_spec__3___boxed(lean_object* v_a_5014_, lean_object* v_as_5015_, lean_object* v_sz_5016_, lean_object* v_i_5017_, lean_object* v_b_5018_, lean_object* v___y_5019_, lean_object* v___y_5020_, lean_object* v___y_5021_, lean_object* v___y_5022_, lean_object* v___y_5023_, lean_object* v___y_5024_){
_start:
{
size_t v_sz_boxed_5025_; size_t v_i_boxed_5026_; lean_object* v_res_5027_; 
v_sz_boxed_5025_ = lean_unbox_usize(v_sz_5016_);
lean_dec(v_sz_5016_);
v_i_boxed_5026_ = lean_unbox_usize(v_i_5017_);
lean_dec(v_i_5017_);
v_res_5027_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep_spec__3(v_a_5014_, v_as_5015_, v_sz_boxed_5025_, v_i_boxed_5026_, v_b_5018_, v___y_5019_, v___y_5020_, v___y_5021_, v___y_5022_, v___y_5023_);
lean_dec_ref(v___y_5019_);
lean_dec_ref(v_as_5015_);
return v_res_5027_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6_spec__6(lean_object* v_00_u03b1_5028_, lean_object* v_name_5029_, uint8_t v_bi_5030_, lean_object* v_type_5031_, lean_object* v_k_5032_, uint8_t v_kind_5033_, lean_object* v___y_5034_, lean_object* v___y_5035_, lean_object* v___y_5036_, lean_object* v___y_5037_, lean_object* v___y_5038_){
_start:
{
lean_object* v___x_5040_; 
v___x_5040_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6_spec__6___redArg(v_name_5029_, v_bi_5030_, v_type_5031_, v_k_5032_, v_kind_5033_, v___y_5034_, v___y_5035_, v___y_5036_, v___y_5037_, v___y_5038_);
return v___x_5040_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6_spec__6___boxed(lean_object* v_00_u03b1_5041_, lean_object* v_name_5042_, lean_object* v_bi_5043_, lean_object* v_type_5044_, lean_object* v_k_5045_, lean_object* v_kind_5046_, lean_object* v___y_5047_, lean_object* v___y_5048_, lean_object* v___y_5049_, lean_object* v___y_5050_, lean_object* v___y_5051_, lean_object* v___y_5052_){
_start:
{
uint8_t v_bi_boxed_5053_; uint8_t v_kind_boxed_5054_; lean_object* v_res_5055_; 
v_bi_boxed_5053_ = lean_unbox(v_bi_5043_);
v_kind_boxed_5054_ = lean_unbox(v_kind_5046_);
v_res_5055_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6_spec__6(v_00_u03b1_5041_, v_name_5042_, v_bi_boxed_5053_, v_type_5044_, v_k_5045_, v_kind_boxed_5054_, v___y_5047_, v___y_5048_, v___y_5049_, v___y_5050_, v___y_5051_);
return v_res_5055_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6(lean_object* v_00_u03b1_5056_, lean_object* v_name_5057_, lean_object* v_type_5058_, lean_object* v_k_5059_, lean_object* v___y_5060_, lean_object* v___y_5061_, lean_object* v___y_5062_, lean_object* v___y_5063_, lean_object* v___y_5064_){
_start:
{
lean_object* v___x_5066_; 
v___x_5066_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6___redArg(v_name_5057_, v_type_5058_, v_k_5059_, v___y_5060_, v___y_5061_, v___y_5062_, v___y_5063_, v___y_5064_);
return v___x_5066_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6___boxed(lean_object* v_00_u03b1_5067_, lean_object* v_name_5068_, lean_object* v_type_5069_, lean_object* v_k_5070_, lean_object* v___y_5071_, lean_object* v___y_5072_, lean_object* v___y_5073_, lean_object* v___y_5074_, lean_object* v___y_5075_, lean_object* v___y_5076_){
_start:
{
lean_object* v_res_5077_; 
v_res_5077_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma_spec__6(v_00_u03b1_5067_, v_name_5068_, v_type_5069_, v_k_5070_, v___y_5071_, v___y_5072_, v___y_5073_, v___y_5074_, v___y_5075_);
return v_res_5077_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_step(lean_object* v_lhs_5078_, lean_object* v_rhs_5079_, lean_object* v_a_5080_, lean_object* v_a_5081_, lean_object* v_a_5082_, lean_object* v_a_5083_, lean_object* v_a_5084_){
_start:
{
lean_object* v___x_5086_; 
lean_inc(v_a_5084_);
lean_inc_ref(v_a_5083_);
lean_inc(v_a_5082_);
lean_inc_ref(v_a_5081_);
lean_inc_ref(v_rhs_5079_);
lean_inc_ref(v_lhs_5078_);
v___x_5086_ = l_Lean_Meta_isExprDefEq(v_lhs_5078_, v_rhs_5079_, v_a_5081_, v_a_5082_, v_a_5083_, v_a_5084_);
if (lean_obj_tag(v___x_5086_) == 0)
{
lean_object* v_a_5087_; uint8_t v___x_5088_; 
v_a_5087_ = lean_ctor_get(v___x_5086_, 0);
lean_inc(v_a_5087_);
lean_dec_ref(v___x_5086_);
v___x_5088_ = lean_unbox(v_a_5087_);
lean_dec(v_a_5087_);
if (v___x_5088_ == 0)
{
lean_object* v___x_5089_; 
lean_inc_ref(v_a_5080_);
v___x_5089_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_recToSizeOf(v_lhs_5078_, v_a_5080_, v_a_5081_, v_a_5082_, v_a_5083_, v_a_5084_);
if (lean_obj_tag(v___x_5089_) == 0)
{
lean_object* v_a_5090_; lean_object* v___x_5091_; 
v_a_5090_ = lean_ctor_get(v___x_5089_, 0);
lean_inc(v_a_5090_);
lean_dec_ref(v___x_5089_);
v___x_5091_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma(v_a_5090_, v_rhs_5079_, v_a_5080_, v_a_5081_, v_a_5082_, v_a_5083_, v_a_5084_);
return v___x_5091_;
}
else
{
lean_dec(v_a_5084_);
lean_dec_ref(v_a_5083_);
lean_dec(v_a_5082_);
lean_dec_ref(v_a_5081_);
lean_dec_ref(v_a_5080_);
lean_dec_ref(v_rhs_5079_);
return v___x_5089_;
}
}
else
{
lean_object* v___x_5092_; 
lean_dec_ref(v_a_5080_);
lean_dec_ref(v_lhs_5078_);
v___x_5092_ = l_Lean_Meta_mkEqRefl(v_rhs_5079_, v_a_5081_, v_a_5082_, v_a_5083_, v_a_5084_);
return v___x_5092_;
}
}
else
{
lean_object* v_a_5093_; lean_object* v___x_5095_; uint8_t v_isShared_5096_; uint8_t v_isSharedCheck_5100_; 
lean_dec(v_a_5084_);
lean_dec_ref(v_a_5083_);
lean_dec(v_a_5082_);
lean_dec_ref(v_a_5081_);
lean_dec_ref(v_a_5080_);
lean_dec_ref(v_rhs_5079_);
lean_dec_ref(v_lhs_5078_);
v_a_5093_ = lean_ctor_get(v___x_5086_, 0);
v_isSharedCheck_5100_ = !lean_is_exclusive(v___x_5086_);
if (v_isSharedCheck_5100_ == 0)
{
v___x_5095_ = v___x_5086_;
v_isShared_5096_ = v_isSharedCheck_5100_;
goto v_resetjp_5094_;
}
else
{
lean_inc(v_a_5093_);
lean_dec(v___x_5086_);
v___x_5095_ = lean_box(0);
v_isShared_5096_ = v_isSharedCheck_5100_;
goto v_resetjp_5094_;
}
v_resetjp_5094_:
{
lean_object* v___x_5098_; 
if (v_isShared_5096_ == 0)
{
v___x_5098_ = v___x_5095_;
goto v_reusejp_5097_;
}
else
{
lean_object* v_reuseFailAlloc_5099_; 
v_reuseFailAlloc_5099_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5099_, 0, v_a_5093_);
v___x_5098_ = v_reuseFailAlloc_5099_;
goto v_reusejp_5097_;
}
v_reusejp_5097_:
{
return v___x_5098_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_step___boxed(lean_object* v_lhs_5101_, lean_object* v_rhs_5102_, lean_object* v_a_5103_, lean_object* v_a_5104_, lean_object* v_a_5105_, lean_object* v_a_5106_, lean_object* v_a_5107_, lean_object* v_a_5108_){
_start:
{
lean_object* v_res_5109_; 
v_res_5109_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_step(v_lhs_5101_, v_rhs_5102_, v_a_5103_, v_a_5104_, v_a_5105_, v_a_5106_, v_a_5107_);
return v_res_5109_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop(lean_object* v_lhs_5115_, lean_object* v_rhs_5116_, lean_object* v_a_5117_, lean_object* v_a_5118_, lean_object* v_a_5119_, lean_object* v_a_5120_, lean_object* v_a_5121_){
_start:
{
lean_object* v___y_5124_; lean_object* v___y_5125_; lean_object* v___y_5126_; lean_object* v___y_5127_; lean_object* v___y_5128_; lean_object* v___y_5138_; lean_object* v___y_5139_; lean_object* v___y_5140_; lean_object* v___y_5141_; lean_object* v___y_5142_; lean_object* v_cls_5175_; lean_object* v___x_5176_; 
v_cls_5175_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop___closed__1));
v___x_5176_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__0___redArg(v_cls_5175_, v_a_5120_);
if (lean_obj_tag(v___x_5176_) == 0)
{
lean_object* v_a_5177_; uint8_t v___x_5178_; 
v_a_5177_ = lean_ctor_get(v___x_5176_, 0);
lean_inc(v_a_5177_);
lean_dec_ref(v___x_5176_);
v___x_5178_ = lean_unbox(v_a_5177_);
lean_dec(v_a_5177_);
if (v___x_5178_ == 0)
{
v___y_5138_ = v_a_5117_;
v___y_5139_ = v_a_5118_;
v___y_5140_ = v_a_5119_;
v___y_5141_ = v_a_5120_;
v___y_5142_ = v_a_5121_;
goto v___jp_5137_;
}
else
{
lean_object* v___x_5179_; lean_object* v___x_5180_; lean_object* v___x_5181_; lean_object* v___x_5182_; lean_object* v___x_5183_; lean_object* v___x_5184_; 
lean_inc_ref(v_lhs_5115_);
v___x_5179_ = l_Lean_MessageData_ofExpr(v_lhs_5115_);
v___x_5180_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__4, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__4_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__4);
v___x_5181_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_5181_, 0, v___x_5179_);
lean_ctor_set(v___x_5181_, 1, v___x_5180_);
lean_inc_ref(v_rhs_5116_);
v___x_5182_ = l_Lean_MessageData_ofExpr(v_rhs_5116_);
v___x_5183_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_5183_, 0, v___x_5181_);
lean_ctor_set(v___x_5183_, 1, v___x_5182_);
v___x_5184_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof_spec__1___redArg(v_cls_5175_, v___x_5183_, v_a_5118_, v_a_5119_, v_a_5120_, v_a_5121_);
if (lean_obj_tag(v___x_5184_) == 0)
{
lean_dec_ref(v___x_5184_);
v___y_5138_ = v_a_5117_;
v___y_5139_ = v_a_5118_;
v___y_5140_ = v_a_5119_;
v___y_5141_ = v_a_5120_;
v___y_5142_ = v_a_5121_;
goto v___jp_5137_;
}
else
{
lean_object* v_a_5185_; lean_object* v___x_5187_; uint8_t v_isShared_5188_; uint8_t v_isSharedCheck_5192_; 
lean_dec(v_a_5121_);
lean_dec_ref(v_a_5120_);
lean_dec(v_a_5119_);
lean_dec_ref(v_a_5118_);
lean_dec_ref(v_a_5117_);
lean_dec_ref(v_rhs_5116_);
lean_dec_ref(v_lhs_5115_);
v_a_5185_ = lean_ctor_get(v___x_5184_, 0);
v_isSharedCheck_5192_ = !lean_is_exclusive(v___x_5184_);
if (v_isSharedCheck_5192_ == 0)
{
v___x_5187_ = v___x_5184_;
v_isShared_5188_ = v_isSharedCheck_5192_;
goto v_resetjp_5186_;
}
else
{
lean_inc(v_a_5185_);
lean_dec(v___x_5184_);
v___x_5187_ = lean_box(0);
v_isShared_5188_ = v_isSharedCheck_5192_;
goto v_resetjp_5186_;
}
v_resetjp_5186_:
{
lean_object* v___x_5190_; 
if (v_isShared_5188_ == 0)
{
v___x_5190_ = v___x_5187_;
goto v_reusejp_5189_;
}
else
{
lean_object* v_reuseFailAlloc_5191_; 
v_reuseFailAlloc_5191_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5191_, 0, v_a_5185_);
v___x_5190_ = v_reuseFailAlloc_5191_;
goto v_reusejp_5189_;
}
v_reusejp_5189_:
{
return v___x_5190_;
}
}
}
}
}
else
{
lean_object* v_a_5193_; lean_object* v___x_5195_; uint8_t v_isShared_5196_; uint8_t v_isSharedCheck_5200_; 
lean_dec(v_a_5121_);
lean_dec_ref(v_a_5120_);
lean_dec(v_a_5119_);
lean_dec_ref(v_a_5118_);
lean_dec_ref(v_a_5117_);
lean_dec_ref(v_rhs_5116_);
lean_dec_ref(v_lhs_5115_);
v_a_5193_ = lean_ctor_get(v___x_5176_, 0);
v_isSharedCheck_5200_ = !lean_is_exclusive(v___x_5176_);
if (v_isSharedCheck_5200_ == 0)
{
v___x_5195_ = v___x_5176_;
v_isShared_5196_ = v_isSharedCheck_5200_;
goto v_resetjp_5194_;
}
else
{
lean_inc(v_a_5193_);
lean_dec(v___x_5176_);
v___x_5195_ = lean_box(0);
v_isShared_5196_ = v_isSharedCheck_5200_;
goto v_resetjp_5194_;
}
v_resetjp_5194_:
{
lean_object* v___x_5198_; 
if (v_isShared_5196_ == 0)
{
v___x_5198_ = v___x_5195_;
goto v_reusejp_5197_;
}
else
{
lean_object* v_reuseFailAlloc_5199_; 
v_reuseFailAlloc_5199_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5199_, 0, v_a_5193_);
v___x_5198_ = v_reuseFailAlloc_5199_;
goto v_reusejp_5197_;
}
v_reusejp_5197_:
{
return v___x_5198_;
}
}
}
v___jp_5123_:
{
lean_object* v___x_5129_; lean_object* v___x_5130_; lean_object* v___x_5131_; lean_object* v___x_5132_; lean_object* v___x_5133_; lean_object* v___x_5134_; lean_object* v___x_5135_; lean_object* v___x_5136_; 
v___x_5129_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__1, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__1_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__1);
v___x_5130_ = l_Lean_indentExpr(v_lhs_5115_);
v___x_5131_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_5131_, 0, v___x_5129_);
lean_ctor_set(v___x_5131_, 1, v___x_5130_);
v___x_5132_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__3, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__3_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__3);
v___x_5133_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_5133_, 0, v___x_5131_);
lean_ctor_set(v___x_5133_, 1, v___x_5132_);
v___x_5134_ = l_Lean_indentExpr(v_rhs_5116_);
v___x_5135_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_5135_, 0, v___x_5133_);
lean_ctor_set(v___x_5135_, 1, v___x_5134_);
v___x_5136_ = l_Lean_Meta_SizeOfSpecNested_throwUnexpected___redArg(v___x_5135_, v___y_5124_, v___y_5125_, v___y_5126_, v___y_5127_, v___y_5128_);
lean_dec(v___y_5128_);
lean_dec_ref(v___y_5127_);
lean_dec(v___y_5126_);
lean_dec_ref(v___y_5125_);
return v___x_5136_;
}
v___jp_5137_:
{
lean_object* v___x_5143_; 
lean_inc(v___y_5142_);
lean_inc_ref(v___y_5141_);
lean_inc(v___y_5140_);
lean_inc_ref(v___y_5139_);
lean_inc_ref(v_rhs_5116_);
lean_inc_ref(v_lhs_5115_);
v___x_5143_ = l_Lean_Meta_isExprDefEq(v_lhs_5115_, v_rhs_5116_, v___y_5139_, v___y_5140_, v___y_5141_, v___y_5142_);
if (lean_obj_tag(v___x_5143_) == 0)
{
lean_object* v_a_5144_; uint8_t v___x_5145_; 
v_a_5144_ = lean_ctor_get(v___x_5143_, 0);
lean_inc(v_a_5144_);
lean_dec_ref(v___x_5143_);
v___x_5145_ = lean_unbox(v_a_5144_);
lean_dec(v_a_5144_);
if (v___x_5145_ == 0)
{
lean_object* v___x_5146_; 
lean_inc(v___y_5142_);
lean_inc_ref(v___y_5141_);
lean_inc(v___y_5140_);
lean_inc_ref(v___y_5139_);
lean_inc_ref(v_lhs_5115_);
v___x_5146_ = l_Lean_Meta_whnfI(v_lhs_5115_, v___y_5139_, v___y_5140_, v___y_5141_, v___y_5142_);
if (lean_obj_tag(v___x_5146_) == 0)
{
lean_object* v_a_5147_; lean_object* v___x_5148_; 
v_a_5147_ = lean_ctor_get(v___x_5146_, 0);
lean_inc(v_a_5147_);
lean_dec_ref(v___x_5146_);
lean_inc(v___y_5142_);
lean_inc_ref(v___y_5141_);
lean_inc(v___y_5140_);
lean_inc_ref(v___y_5139_);
lean_inc_ref(v_rhs_5116_);
v___x_5148_ = l_Lean_Meta_whnfI(v_rhs_5116_, v___y_5139_, v___y_5140_, v___y_5141_, v___y_5142_);
if (lean_obj_tag(v___x_5148_) == 0)
{
lean_object* v_a_5149_; lean_object* v___x_5150_; 
v_a_5149_ = lean_ctor_get(v___x_5148_, 0);
lean_inc(v_a_5149_);
lean_dec_ref(v___x_5148_);
v___x_5150_ = l_Lean_Expr_natAdd_x3f(v_a_5147_);
lean_dec(v_a_5147_);
if (lean_obj_tag(v___x_5150_) == 1)
{
lean_object* v_val_5151_; lean_object* v_fst_5152_; lean_object* v_snd_5153_; lean_object* v___x_5154_; 
v_val_5151_ = lean_ctor_get(v___x_5150_, 0);
lean_inc(v_val_5151_);
lean_dec_ref(v___x_5150_);
v_fst_5152_ = lean_ctor_get(v_val_5151_, 0);
lean_inc(v_fst_5152_);
v_snd_5153_ = lean_ctor_get(v_val_5151_, 1);
lean_inc(v_snd_5153_);
lean_dec(v_val_5151_);
v___x_5154_ = l_Lean_Expr_natAdd_x3f(v_a_5149_);
lean_dec(v_a_5149_);
if (lean_obj_tag(v___x_5154_) == 1)
{
lean_object* v_val_5155_; lean_object* v_fst_5156_; lean_object* v_snd_5157_; lean_object* v___x_5158_; 
lean_dec_ref(v_rhs_5116_);
lean_dec_ref(v_lhs_5115_);
v_val_5155_ = lean_ctor_get(v___x_5154_, 0);
lean_inc(v_val_5155_);
lean_dec_ref(v___x_5154_);
v_fst_5156_ = lean_ctor_get(v_val_5155_, 0);
lean_inc(v_fst_5156_);
v_snd_5157_ = lean_ctor_get(v_val_5155_, 1);
lean_inc(v_snd_5157_);
lean_dec(v_val_5155_);
lean_inc(v___y_5142_);
lean_inc_ref(v___y_5141_);
lean_inc(v___y_5140_);
lean_inc_ref(v___y_5139_);
lean_inc_ref(v___y_5138_);
v___x_5158_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop(v_fst_5152_, v_fst_5156_, v___y_5138_, v___y_5139_, v___y_5140_, v___y_5141_, v___y_5142_);
if (lean_obj_tag(v___x_5158_) == 0)
{
lean_object* v_a_5159_; lean_object* v___x_5160_; 
v_a_5159_ = lean_ctor_get(v___x_5158_, 0);
lean_inc(v_a_5159_);
lean_dec_ref(v___x_5158_);
lean_inc(v___y_5142_);
lean_inc_ref(v___y_5141_);
lean_inc(v___y_5140_);
lean_inc_ref(v___y_5139_);
v___x_5160_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_step(v_snd_5153_, v_snd_5157_, v___y_5138_, v___y_5139_, v___y_5140_, v___y_5141_, v___y_5142_);
if (lean_obj_tag(v___x_5160_) == 0)
{
lean_object* v_a_5161_; lean_object* v___x_5162_; lean_object* v___x_5163_; 
v_a_5161_ = lean_ctor_get(v___x_5160_, 0);
lean_inc(v_a_5161_);
lean_dec_ref(v___x_5160_);
v___x_5162_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__6, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__6_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__6);
lean_inc(v___y_5142_);
lean_inc_ref(v___y_5141_);
lean_inc(v___y_5140_);
lean_inc_ref(v___y_5139_);
v___x_5163_ = l_Lean_Meta_mkCongrArg(v___x_5162_, v_a_5159_, v___y_5139_, v___y_5140_, v___y_5141_, v___y_5142_);
if (lean_obj_tag(v___x_5163_) == 0)
{
lean_object* v_a_5164_; lean_object* v___x_5165_; 
v_a_5164_ = lean_ctor_get(v___x_5163_, 0);
lean_inc(v_a_5164_);
lean_dec_ref(v___x_5163_);
v___x_5165_ = l_Lean_Meta_mkCongr(v_a_5164_, v_a_5161_, v___y_5139_, v___y_5140_, v___y_5141_, v___y_5142_);
return v___x_5165_;
}
else
{
lean_dec(v_a_5161_);
lean_dec(v___y_5142_);
lean_dec_ref(v___y_5141_);
lean_dec(v___y_5140_);
lean_dec_ref(v___y_5139_);
return v___x_5163_;
}
}
else
{
lean_dec(v_a_5159_);
lean_dec(v___y_5142_);
lean_dec_ref(v___y_5141_);
lean_dec(v___y_5140_);
lean_dec_ref(v___y_5139_);
return v___x_5160_;
}
}
else
{
lean_dec(v_snd_5157_);
lean_dec(v_snd_5153_);
lean_dec(v___y_5142_);
lean_dec_ref(v___y_5141_);
lean_dec(v___y_5140_);
lean_dec_ref(v___y_5139_);
lean_dec_ref(v___y_5138_);
return v___x_5158_;
}
}
else
{
lean_dec(v___x_5154_);
lean_dec(v_snd_5153_);
lean_dec(v_fst_5152_);
v___y_5124_ = v___y_5138_;
v___y_5125_ = v___y_5139_;
v___y_5126_ = v___y_5140_;
v___y_5127_ = v___y_5141_;
v___y_5128_ = v___y_5142_;
goto v___jp_5123_;
}
}
else
{
lean_dec(v___x_5150_);
lean_dec(v_a_5149_);
v___y_5124_ = v___y_5138_;
v___y_5125_ = v___y_5139_;
v___y_5126_ = v___y_5140_;
v___y_5127_ = v___y_5141_;
v___y_5128_ = v___y_5142_;
goto v___jp_5123_;
}
}
else
{
lean_dec(v_a_5147_);
lean_dec(v___y_5142_);
lean_dec_ref(v___y_5141_);
lean_dec(v___y_5140_);
lean_dec_ref(v___y_5139_);
lean_dec_ref(v___y_5138_);
lean_dec_ref(v_rhs_5116_);
lean_dec_ref(v_lhs_5115_);
return v___x_5148_;
}
}
else
{
lean_dec(v___y_5142_);
lean_dec_ref(v___y_5141_);
lean_dec(v___y_5140_);
lean_dec_ref(v___y_5139_);
lean_dec_ref(v___y_5138_);
lean_dec_ref(v_rhs_5116_);
lean_dec_ref(v_lhs_5115_);
return v___x_5146_;
}
}
else
{
lean_object* v___x_5166_; 
lean_dec_ref(v___y_5138_);
lean_dec_ref(v_lhs_5115_);
v___x_5166_ = l_Lean_Meta_mkEqRefl(v_rhs_5116_, v___y_5139_, v___y_5140_, v___y_5141_, v___y_5142_);
return v___x_5166_;
}
}
else
{
lean_object* v_a_5167_; lean_object* v___x_5169_; uint8_t v_isShared_5170_; uint8_t v_isSharedCheck_5174_; 
lean_dec(v___y_5142_);
lean_dec_ref(v___y_5141_);
lean_dec(v___y_5140_);
lean_dec_ref(v___y_5139_);
lean_dec_ref(v___y_5138_);
lean_dec_ref(v_rhs_5116_);
lean_dec_ref(v_lhs_5115_);
v_a_5167_ = lean_ctor_get(v___x_5143_, 0);
v_isSharedCheck_5174_ = !lean_is_exclusive(v___x_5143_);
if (v_isSharedCheck_5174_ == 0)
{
v___x_5169_ = v___x_5143_;
v_isShared_5170_ = v_isSharedCheck_5174_;
goto v_resetjp_5168_;
}
else
{
lean_inc(v_a_5167_);
lean_dec(v___x_5143_);
v___x_5169_ = lean_box(0);
v_isShared_5170_ = v_isSharedCheck_5174_;
goto v_resetjp_5168_;
}
v_resetjp_5168_:
{
lean_object* v___x_5172_; 
if (v_isShared_5170_ == 0)
{
v___x_5172_ = v___x_5169_;
goto v_reusejp_5171_;
}
else
{
lean_object* v_reuseFailAlloc_5173_; 
v_reuseFailAlloc_5173_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5173_, 0, v_a_5167_);
v___x_5172_ = v_reuseFailAlloc_5173_;
goto v_reusejp_5171_;
}
v_reusejp_5171_:
{
return v___x_5172_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop___boxed(lean_object* v_lhs_5201_, lean_object* v_rhs_5202_, lean_object* v_a_5203_, lean_object* v_a_5204_, lean_object* v_a_5205_, lean_object* v_a_5206_, lean_object* v_a_5207_, lean_object* v_a_5208_){
_start:
{
lean_object* v_res_5209_; 
v_res_5209_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop(v_lhs_5201_, v_rhs_5202_, v_a_5203_, v_a_5204_, v_a_5205_, v_a_5206_, v_a_5207_);
return v_res_5209_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_main(lean_object* v_lhs_5210_, lean_object* v_rhs_5211_, lean_object* v_a_5212_, lean_object* v_a_5213_, lean_object* v_a_5214_, lean_object* v_a_5215_, lean_object* v_a_5216_){
_start:
{
lean_object* v___x_5218_; 
lean_inc(v_a_5216_);
lean_inc_ref(v_a_5215_);
lean_inc(v_a_5214_);
lean_inc_ref(v_a_5213_);
lean_inc_ref(v_rhs_5211_);
lean_inc_ref(v_lhs_5210_);
v___x_5218_ = l_Lean_Meta_isExprDefEq(v_lhs_5210_, v_rhs_5211_, v_a_5213_, v_a_5214_, v_a_5215_, v_a_5216_);
if (lean_obj_tag(v___x_5218_) == 0)
{
lean_object* v_a_5219_; uint8_t v___x_5220_; 
v_a_5219_ = lean_ctor_get(v___x_5218_, 0);
lean_inc(v_a_5219_);
lean_dec_ref(v___x_5218_);
v___x_5220_ = lean_unbox(v_a_5219_);
lean_dec(v_a_5219_);
if (v___x_5220_ == 0)
{
lean_object* v___x_5221_; 
lean_inc(v_a_5216_);
lean_inc_ref(v_a_5215_);
lean_inc(v_a_5214_);
lean_inc_ref(v_a_5213_);
v___x_5221_ = l_Lean_Meta_whnfI(v_lhs_5210_, v_a_5213_, v_a_5214_, v_a_5215_, v_a_5216_);
if (lean_obj_tag(v___x_5221_) == 0)
{
lean_object* v_a_5222_; lean_object* v___x_5223_; 
v_a_5222_ = lean_ctor_get(v___x_5221_, 0);
lean_inc(v_a_5222_);
lean_dec_ref(v___x_5221_);
lean_inc(v_a_5216_);
lean_inc_ref(v_a_5215_);
lean_inc(v_a_5214_);
lean_inc_ref(v_a_5213_);
v___x_5223_ = l_Lean_Meta_unfoldDefinition(v_a_5222_, v_a_5213_, v_a_5214_, v_a_5215_, v_a_5216_);
if (lean_obj_tag(v___x_5223_) == 0)
{
lean_object* v_a_5224_; lean_object* v___x_5225_; 
v_a_5224_ = lean_ctor_get(v___x_5223_, 0);
lean_inc(v_a_5224_);
lean_dec_ref(v___x_5223_);
v___x_5225_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop(v_a_5224_, v_rhs_5211_, v_a_5212_, v_a_5213_, v_a_5214_, v_a_5215_, v_a_5216_);
return v___x_5225_;
}
else
{
lean_dec(v_a_5216_);
lean_dec_ref(v_a_5215_);
lean_dec(v_a_5214_);
lean_dec_ref(v_a_5213_);
lean_dec_ref(v_a_5212_);
lean_dec_ref(v_rhs_5211_);
return v___x_5223_;
}
}
else
{
lean_dec(v_a_5216_);
lean_dec_ref(v_a_5215_);
lean_dec(v_a_5214_);
lean_dec_ref(v_a_5213_);
lean_dec_ref(v_a_5212_);
lean_dec_ref(v_rhs_5211_);
return v___x_5221_;
}
}
else
{
lean_object* v___x_5226_; 
lean_dec_ref(v_a_5212_);
lean_dec_ref(v_lhs_5210_);
v___x_5226_ = l_Lean_Meta_mkEqRefl(v_rhs_5211_, v_a_5213_, v_a_5214_, v_a_5215_, v_a_5216_);
return v___x_5226_;
}
}
else
{
lean_object* v_a_5227_; lean_object* v___x_5229_; uint8_t v_isShared_5230_; uint8_t v_isSharedCheck_5234_; 
lean_dec(v_a_5216_);
lean_dec_ref(v_a_5215_);
lean_dec(v_a_5214_);
lean_dec_ref(v_a_5213_);
lean_dec_ref(v_a_5212_);
lean_dec_ref(v_rhs_5211_);
lean_dec_ref(v_lhs_5210_);
v_a_5227_ = lean_ctor_get(v___x_5218_, 0);
v_isSharedCheck_5234_ = !lean_is_exclusive(v___x_5218_);
if (v_isSharedCheck_5234_ == 0)
{
v___x_5229_ = v___x_5218_;
v_isShared_5230_ = v_isSharedCheck_5234_;
goto v_resetjp_5228_;
}
else
{
lean_inc(v_a_5227_);
lean_dec(v___x_5218_);
v___x_5229_ = lean_box(0);
v_isShared_5230_ = v_isSharedCheck_5234_;
goto v_resetjp_5228_;
}
v_resetjp_5228_:
{
lean_object* v___x_5232_; 
if (v_isShared_5230_ == 0)
{
v___x_5232_ = v___x_5229_;
goto v_reusejp_5231_;
}
else
{
lean_object* v_reuseFailAlloc_5233_; 
v_reuseFailAlloc_5233_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5233_, 0, v_a_5227_);
v___x_5232_ = v_reuseFailAlloc_5233_;
goto v_reusejp_5231_;
}
v_reusejp_5231_:
{
return v___x_5232_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_main___boxed(lean_object* v_lhs_5235_, lean_object* v_rhs_5236_, lean_object* v_a_5237_, lean_object* v_a_5238_, lean_object* v_a_5239_, lean_object* v_a_5240_, lean_object* v_a_5241_, lean_object* v_a_5242_){
_start:
{
lean_object* v_res_5243_; 
v_res_5243_ = l_Lean_Meta_SizeOfSpecNested_main(v_lhs_5235_, v_rhs_5236_, v_a_5237_, v_a_5238_, v_a_5239_, v_a_5240_, v_a_5241_);
return v_res_5243_;
}
}
LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__2___redArg(lean_object* v_a_5244_, lean_object* v_b_5245_, lean_object* v___y_5246_, lean_object* v___y_5247_, lean_object* v___y_5248_, lean_object* v___y_5249_){
_start:
{
lean_object* v_array_5251_; lean_object* v_start_5252_; lean_object* v_stop_5253_; lean_object* v___x_5255_; uint8_t v_isShared_5256_; uint8_t v_isSharedCheck_5285_; 
v_array_5251_ = lean_ctor_get(v_a_5244_, 0);
v_start_5252_ = lean_ctor_get(v_a_5244_, 1);
v_stop_5253_ = lean_ctor_get(v_a_5244_, 2);
v_isSharedCheck_5285_ = !lean_is_exclusive(v_a_5244_);
if (v_isSharedCheck_5285_ == 0)
{
v___x_5255_ = v_a_5244_;
v_isShared_5256_ = v_isSharedCheck_5285_;
goto v_resetjp_5254_;
}
else
{
lean_inc(v_stop_5253_);
lean_inc(v_start_5252_);
lean_inc(v_array_5251_);
lean_dec(v_a_5244_);
v___x_5255_ = lean_box(0);
v_isShared_5256_ = v_isSharedCheck_5285_;
goto v_resetjp_5254_;
}
v_resetjp_5254_:
{
uint8_t v___x_5257_; 
v___x_5257_ = lean_nat_dec_lt(v_start_5252_, v_stop_5253_);
if (v___x_5257_ == 0)
{
lean_object* v___x_5258_; 
lean_del_object(v___x_5255_);
lean_dec(v_stop_5253_);
lean_dec(v_start_5252_);
lean_dec_ref(v_array_5251_);
lean_dec(v___y_5249_);
lean_dec_ref(v___y_5248_);
lean_dec(v___y_5247_);
lean_dec_ref(v___y_5246_);
v___x_5258_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5258_, 0, v_b_5245_);
return v___x_5258_;
}
else
{
lean_object* v___x_5259_; lean_object* v___x_5260_; 
v___x_5259_ = lean_array_fget(v_array_5251_, v_start_5252_);
lean_inc(v___y_5249_);
lean_inc_ref(v___y_5248_);
lean_inc(v___y_5247_);
lean_inc_ref(v___y_5246_);
lean_inc(v___x_5259_);
v___x_5260_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreField(v___x_5259_, v___y_5246_, v___y_5247_, v___y_5248_, v___y_5249_);
if (lean_obj_tag(v___x_5260_) == 0)
{
lean_object* v_a_5261_; lean_object* v___x_5262_; lean_object* v___x_5263_; lean_object* v___x_5265_; 
v_a_5261_ = lean_ctor_get(v___x_5260_, 0);
lean_inc(v_a_5261_);
lean_dec_ref(v___x_5260_);
v___x_5262_ = lean_unsigned_to_nat(1u);
v___x_5263_ = lean_nat_add(v_start_5252_, v___x_5262_);
lean_dec(v_start_5252_);
if (v_isShared_5256_ == 0)
{
lean_ctor_set(v___x_5255_, 1, v___x_5263_);
v___x_5265_ = v___x_5255_;
goto v_reusejp_5264_;
}
else
{
lean_object* v_reuseFailAlloc_5276_; 
v_reuseFailAlloc_5276_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v_reuseFailAlloc_5276_, 0, v_array_5251_);
lean_ctor_set(v_reuseFailAlloc_5276_, 1, v___x_5263_);
lean_ctor_set(v_reuseFailAlloc_5276_, 2, v_stop_5253_);
v___x_5265_ = v_reuseFailAlloc_5276_;
goto v_reusejp_5264_;
}
v_reusejp_5264_:
{
uint8_t v___x_5266_; 
v___x_5266_ = lean_unbox(v_a_5261_);
lean_dec(v_a_5261_);
if (v___x_5266_ == 0)
{
lean_object* v___x_5267_; lean_object* v___x_5268_; lean_object* v___x_5269_; lean_object* v___x_5270_; 
v___x_5267_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__0___closed__0));
v___x_5268_ = lean_mk_empty_array_with_capacity(v___x_5262_);
v___x_5269_ = lean_array_push(v___x_5268_, v___x_5259_);
lean_inc(v___y_5249_);
lean_inc_ref(v___y_5248_);
lean_inc(v___y_5247_);
lean_inc_ref(v___y_5246_);
v___x_5270_ = l_Lean_Meta_mkAppM(v___x_5267_, v___x_5269_, v___y_5246_, v___y_5247_, v___y_5248_, v___y_5249_);
if (lean_obj_tag(v___x_5270_) == 0)
{
lean_object* v_a_5271_; lean_object* v___x_5272_; 
v_a_5271_ = lean_ctor_get(v___x_5270_, 0);
lean_inc(v_a_5271_);
lean_dec_ref(v___x_5270_);
lean_inc(v___y_5249_);
lean_inc_ref(v___y_5248_);
lean_inc(v___y_5247_);
lean_inc_ref(v___y_5246_);
v___x_5272_ = l_Lean_Meta_mkAdd(v_b_5245_, v_a_5271_, v___y_5246_, v___y_5247_, v___y_5248_, v___y_5249_);
if (lean_obj_tag(v___x_5272_) == 0)
{
lean_object* v_a_5273_; 
v_a_5273_ = lean_ctor_get(v___x_5272_, 0);
lean_inc(v_a_5273_);
lean_dec_ref(v___x_5272_);
v_a_5244_ = v___x_5265_;
v_b_5245_ = v_a_5273_;
goto _start;
}
else
{
lean_dec_ref(v___x_5265_);
lean_dec(v___y_5249_);
lean_dec_ref(v___y_5248_);
lean_dec(v___y_5247_);
lean_dec_ref(v___y_5246_);
return v___x_5272_;
}
}
else
{
lean_dec_ref(v___x_5265_);
lean_dec(v___y_5249_);
lean_dec_ref(v___y_5248_);
lean_dec(v___y_5247_);
lean_dec_ref(v___y_5246_);
lean_dec_ref(v_b_5245_);
return v___x_5270_;
}
}
else
{
lean_dec(v___x_5259_);
v_a_5244_ = v___x_5265_;
goto _start;
}
}
}
else
{
lean_object* v_a_5277_; lean_object* v___x_5279_; uint8_t v_isShared_5280_; uint8_t v_isSharedCheck_5284_; 
lean_dec(v___x_5259_);
lean_del_object(v___x_5255_);
lean_dec(v_stop_5253_);
lean_dec(v_start_5252_);
lean_dec_ref(v_array_5251_);
lean_dec(v___y_5249_);
lean_dec_ref(v___y_5248_);
lean_dec(v___y_5247_);
lean_dec_ref(v___y_5246_);
lean_dec_ref(v_b_5245_);
v_a_5277_ = lean_ctor_get(v___x_5260_, 0);
v_isSharedCheck_5284_ = !lean_is_exclusive(v___x_5260_);
if (v_isSharedCheck_5284_ == 0)
{
v___x_5279_ = v___x_5260_;
v_isShared_5280_ = v_isSharedCheck_5284_;
goto v_resetjp_5278_;
}
else
{
lean_inc(v_a_5277_);
lean_dec(v___x_5260_);
v___x_5279_ = lean_box(0);
v_isShared_5280_ = v_isSharedCheck_5284_;
goto v_resetjp_5278_;
}
v_resetjp_5278_:
{
lean_object* v___x_5282_; 
if (v_isShared_5280_ == 0)
{
v___x_5282_ = v___x_5279_;
goto v_reusejp_5281_;
}
else
{
lean_object* v_reuseFailAlloc_5283_; 
v_reuseFailAlloc_5283_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5283_, 0, v_a_5277_);
v___x_5282_ = v_reuseFailAlloc_5283_;
goto v_reusejp_5281_;
}
v_reusejp_5281_:
{
return v___x_5282_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__2___redArg___boxed(lean_object* v_a_5286_, lean_object* v_b_5287_, lean_object* v___y_5288_, lean_object* v___y_5289_, lean_object* v___y_5290_, lean_object* v___y_5291_, lean_object* v___y_5292_){
_start:
{
lean_object* v_res_5293_; 
v_res_5293_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__2___redArg(v_a_5286_, v_b_5287_, v___y_5288_, v___y_5289_, v___y_5290_, v___y_5291_);
return v_res_5293_;
}
}
static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__1(void){
_start:
{
lean_object* v___x_5295_; lean_object* v___x_5296_; 
v___x_5295_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__0));
v___x_5296_ = l_Lean_stringToMessageData(v___x_5295_);
return v___x_5296_;
}
}
static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__3(void){
_start:
{
lean_object* v___x_5298_; lean_object* v___x_5299_; 
v___x_5298_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__2));
v___x_5299_ = l_Lean_stringToMessageData(v___x_5298_);
return v___x_5299_;
}
}
static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__5(void){
_start:
{
lean_object* v___x_5301_; lean_object* v___x_5302_; 
v___x_5301_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__4));
v___x_5302_ = l_Lean_stringToMessageData(v___x_5301_);
return v___x_5302_;
}
}
static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__7(void){
_start:
{
lean_object* v___x_5304_; lean_object* v___x_5305_; 
v___x_5304_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__6));
v___x_5305_ = l_Lean_stringToMessageData(v___x_5304_);
return v___x_5305_;
}
}
static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__11(void){
_start:
{
lean_object* v___x_5310_; lean_object* v___x_5311_; 
v___x_5310_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__10));
v___x_5311_ = l_Lean_stringToMessageData(v___x_5310_);
return v___x_5311_;
}
}
static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__13(void){
_start:
{
lean_object* v___x_5313_; lean_object* v___x_5314_; 
v___x_5313_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__12));
v___x_5314_ = l_Lean_stringToMessageData(v___x_5313_);
return v___x_5314_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0(lean_object* v___x_5315_, lean_object* v_indInfo_5316_, lean_object* v_levelParams_5317_, uint8_t v___x_5318_, lean_object* v_a_5319_, lean_object* v_a_5320_, lean_object* v___x_5321_, lean_object* v_sizeOfFns_5322_, lean_object* v_ctorName_5323_, lean_object* v___x_5324_, lean_object* v_recMap_5325_, lean_object* v___x_5326_, lean_object* v___x_5327_, lean_object* v___x_5328_, lean_object* v_name_5329_, lean_object* v___x_5330_, lean_object* v_localInsts_5331_, lean_object* v___y_5332_, lean_object* v___y_5333_, lean_object* v___y_5334_, lean_object* v___y_5335_){
_start:
{
lean_object* v___y_5338_; lean_object* v___y_5339_; lean_object* v___y_5340_; lean_object* v___y_5341_; lean_object* v___y_5342_; lean_object* v___y_5343_; lean_object* v___y_5344_; lean_object* v___y_5361_; lean_object* v___y_5362_; lean_object* v___y_5363_; lean_object* v___y_5364_; lean_object* v___y_5365_; lean_object* v___y_5366_; lean_object* v___y_5367_; lean_object* v___y_5392_; uint8_t v___y_5393_; lean_object* v___y_5394_; uint8_t v___y_5395_; lean_object* v___y_5396_; lean_object* v___y_5397_; lean_object* v_thmValue_5398_; lean_object* v___y_5399_; lean_object* v___y_5400_; lean_object* v___y_5401_; lean_object* v___y_5402_; lean_object* v___y_5421_; lean_object* v___y_5422_; uint8_t v___y_5423_; lean_object* v___y_5424_; uint8_t v___y_5425_; lean_object* v___y_5426_; lean_object* v___y_5427_; lean_object* v___y_5428_; lean_object* v___y_5429_; lean_object* v___y_5430_; lean_object* v___y_5431_; lean_object* v___y_5432_; lean_object* v___y_5456_; lean_object* v___y_5457_; uint8_t v___y_5458_; lean_object* v___y_5459_; lean_object* v___y_5460_; uint8_t v___y_5461_; lean_object* v___y_5462_; lean_object* v___y_5463_; lean_object* v___y_5464_; lean_object* v___y_5465_; lean_object* v___y_5466_; lean_object* v___y_5467_; lean_object* v___y_5476_; lean_object* v___y_5477_; lean_object* v___y_5478_; lean_object* v___y_5479_; lean_object* v___y_5480_; lean_object* v___y_5481_; lean_object* v___y_5482_; lean_object* v___y_5483_; lean_object* v___x_5507_; 
lean_inc(v___y_5335_);
lean_inc_ref(v___y_5334_);
lean_inc(v___y_5333_);
lean_inc_ref(v___y_5332_);
lean_inc_ref(v___x_5315_);
v___x_5507_ = lean_infer_type(v___x_5315_, v___y_5332_, v___y_5333_, v___y_5334_, v___y_5335_);
if (lean_obj_tag(v___x_5507_) == 0)
{
lean_object* v_a_5508_; lean_object* v_toConstantVal_5509_; lean_object* v_numParams_5510_; lean_object* v_nargs_5511_; lean_object* v_dummy_5512_; lean_object* v___x_5513_; lean_object* v___x_5514_; lean_object* v___x_5515_; lean_object* v___x_5516_; lean_object* v___y_5518_; lean_object* v___x_5594_; uint8_t v___x_5595_; 
v_a_5508_ = lean_ctor_get(v___x_5507_, 0);
lean_inc(v_a_5508_);
lean_dec_ref(v___x_5507_);
v_toConstantVal_5509_ = lean_ctor_get(v_indInfo_5316_, 0);
v_numParams_5510_ = lean_ctor_get(v_indInfo_5316_, 1);
v_nargs_5511_ = l_Lean_Expr_getAppNumArgs(v_a_5508_);
v_dummy_5512_ = lean_obj_once(&l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3, &l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3_once, _init_l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3);
lean_inc(v_nargs_5511_);
v___x_5513_ = lean_mk_array(v_nargs_5511_, v_dummy_5512_);
v___x_5514_ = lean_unsigned_to_nat(1u);
v___x_5515_ = lean_nat_sub(v_nargs_5511_, v___x_5514_);
lean_dec(v_nargs_5511_);
lean_inc(v_a_5508_);
v___x_5516_ = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(v_a_5508_, v___x_5513_, v___x_5515_);
v___x_5594_ = lean_array_get_size(v___x_5516_);
v___x_5595_ = lean_nat_dec_le(v_numParams_5510_, v___x_5330_);
if (v___x_5595_ == 0)
{
lean_object* v___x_5596_; 
lean_dec(v___x_5330_);
lean_inc(v_numParams_5510_);
v___x_5596_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_5596_, 0, v_numParams_5510_);
lean_ctor_set(v___x_5596_, 1, v___x_5594_);
v___y_5518_ = v___x_5596_;
goto v___jp_5517_;
}
else
{
lean_object* v___x_5597_; 
v___x_5597_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_5597_, 0, v___x_5330_);
lean_ctor_set(v___x_5597_, 1, v___x_5594_);
v___y_5518_ = v___x_5597_;
goto v___jp_5517_;
}
v___jp_5517_:
{
lean_object* v___x_5519_; 
lean_inc(v___y_5335_);
lean_inc_ref(v___y_5334_);
lean_inc(v___y_5333_);
lean_inc_ref(v___y_5332_);
lean_inc(v_a_5508_);
v___x_5519_ = l_Lean_Meta_getLevel(v_a_5508_, v___y_5332_, v___y_5333_, v___y_5334_, v___y_5335_);
if (lean_obj_tag(v___x_5519_) == 0)
{
lean_object* v_a_5520_; lean_object* v___x_5521_; lean_object* v___x_5522_; lean_object* v___x_5523_; lean_object* v___x_5524_; 
v_a_5520_ = lean_ctor_get(v___x_5519_, 0);
lean_inc(v_a_5520_);
lean_dec_ref(v___x_5519_);
lean_inc(v___x_5327_);
v___x_5521_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_5521_, 0, v_a_5520_);
lean_ctor_set(v___x_5521_, 1, v___x_5327_);
v___x_5522_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___lam__0___closed__1));
v___x_5523_ = l_Lean_mkConst(v___x_5522_, v___x_5327_);
lean_inc(v___y_5335_);
lean_inc_ref(v___y_5334_);
lean_inc(v___y_5333_);
lean_inc_ref(v___y_5332_);
v___x_5524_ = l_Lean_Meta_mkNumeral(v___x_5523_, v___x_5514_, v___y_5332_, v___y_5333_, v___y_5334_, v___y_5335_);
if (lean_obj_tag(v___x_5524_) == 0)
{
lean_object* v_a_5525_; lean_object* v___x_5526_; 
v_a_5525_ = lean_ctor_get(v___x_5524_, 0);
lean_inc(v_a_5525_);
lean_dec_ref(v___x_5524_);
lean_inc(v___y_5335_);
lean_inc_ref(v___y_5334_);
lean_inc(v___y_5333_);
lean_inc_ref(v___y_5332_);
lean_inc_ref(v___x_5326_);
v___x_5526_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__2___redArg(v___x_5326_, v_a_5525_, v___y_5332_, v___y_5333_, v___y_5334_, v___y_5335_);
if (lean_obj_tag(v___x_5526_) == 0)
{
lean_object* v_a_5527_; lean_object* v_lower_5528_; lean_object* v_upper_5529_; lean_object* v___x_5531_; uint8_t v_isShared_5532_; uint8_t v_isSharedCheck_5569_; 
v_a_5527_ = lean_ctor_get(v___x_5526_, 0);
lean_inc(v_a_5527_);
lean_dec_ref(v___x_5526_);
v_lower_5528_ = lean_ctor_get(v___y_5518_, 0);
v_upper_5529_ = lean_ctor_get(v___y_5518_, 1);
v_isSharedCheck_5569_ = !lean_is_exclusive(v___y_5518_);
if (v_isSharedCheck_5569_ == 0)
{
v___x_5531_ = v___y_5518_;
v_isShared_5532_ = v_isSharedCheck_5569_;
goto v_resetjp_5530_;
}
else
{
lean_inc(v_upper_5529_);
lean_inc(v_lower_5528_);
lean_dec(v___y_5518_);
v___x_5531_ = lean_box(0);
v_isShared_5532_ = v_isSharedCheck_5569_;
goto v_resetjp_5530_;
}
v_resetjp_5530_:
{
lean_object* v_name_5533_; lean_object* v___x_5534_; lean_object* v___x_5535_; lean_object* v___x_5536_; lean_object* v___x_5537_; lean_object* v___x_5538_; lean_object* v___x_5539_; lean_object* v___x_5540_; lean_object* v___x_5541_; lean_object* v___x_5542_; lean_object* v___x_5543_; lean_object* v___x_5544_; lean_object* v___x_5545_; 
v_name_5533_ = lean_ctor_get(v_toConstantVal_5509_, 0);
v___x_5534_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop_spec__0___closed__0));
v___x_5535_ = l_Array_toSubarray___redArg(v___x_5516_, v_lower_5528_, v_upper_5529_);
v___x_5536_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__9));
lean_inc(v_name_5533_);
v___x_5537_ = l_Lean_Name_append(v_name_5533_, v___x_5536_);
v___x_5538_ = l_Lean_mkConst(v___x_5537_, v___x_5328_);
v___x_5539_ = l_Subarray_copy___redArg(v___x_5535_);
lean_inc_ref(v___x_5324_);
v___x_5540_ = l_Array_append___redArg(v___x_5324_, v___x_5539_);
lean_dec_ref(v___x_5539_);
v___x_5541_ = l_Array_append___redArg(v___x_5540_, v_localInsts_5331_);
v___x_5542_ = l_Lean_mkAppN(v___x_5538_, v___x_5541_);
lean_dec_ref(v___x_5541_);
v___x_5543_ = l_Lean_mkConst(v___x_5534_, v___x_5521_);
v___x_5544_ = l_Lean_mkApp3(v___x_5543_, v_a_5508_, v___x_5542_, v___x_5315_);
lean_inc(v___y_5335_);
lean_inc_ref(v___y_5334_);
lean_inc(v___y_5333_);
lean_inc_ref(v___y_5332_);
lean_inc(v_a_5527_);
lean_inc_ref(v___x_5544_);
v___x_5545_ = l_Lean_Meta_mkEq(v___x_5544_, v_a_5527_, v___y_5332_, v___y_5333_, v___y_5334_, v___y_5335_);
if (lean_obj_tag(v___x_5545_) == 0)
{
lean_object* v_a_5546_; lean_object* v___x_5547_; lean_object* v___x_5548_; lean_object* v_a_5549_; uint8_t v___x_5550_; 
v_a_5546_ = lean_ctor_get(v___x_5545_, 0);
lean_inc(v_a_5546_);
lean_dec_ref(v___x_5545_);
v___x_5547_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__2));
v___x_5548_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg(v___x_5547_, v___y_5334_);
v_a_5549_ = lean_ctor_get(v___x_5548_, 0);
lean_inc(v_a_5549_);
lean_dec_ref(v___x_5548_);
v___x_5550_ = lean_unbox(v_a_5549_);
lean_dec(v_a_5549_);
if (v___x_5550_ == 0)
{
lean_del_object(v___x_5531_);
lean_dec(v_name_5329_);
v___y_5476_ = v___x_5544_;
v___y_5477_ = v_a_5527_;
v___y_5478_ = v_a_5546_;
v___y_5479_ = v___x_5547_;
v___y_5480_ = v___y_5332_;
v___y_5481_ = v___y_5333_;
v___y_5482_ = v___y_5334_;
v___y_5483_ = v___y_5335_;
goto v___jp_5475_;
}
else
{
lean_object* v___x_5551_; lean_object* v___x_5552_; lean_object* v___x_5554_; 
v___x_5551_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__11, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__11_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__11);
v___x_5552_ = l_Lean_MessageData_ofName(v_name_5329_);
if (v_isShared_5532_ == 0)
{
lean_ctor_set_tag(v___x_5531_, 7);
lean_ctor_set(v___x_5531_, 1, v___x_5552_);
lean_ctor_set(v___x_5531_, 0, v___x_5551_);
v___x_5554_ = v___x_5531_;
goto v_reusejp_5553_;
}
else
{
lean_object* v_reuseFailAlloc_5560_; 
v_reuseFailAlloc_5560_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v_reuseFailAlloc_5560_, 0, v___x_5551_);
lean_ctor_set(v_reuseFailAlloc_5560_, 1, v___x_5552_);
v___x_5554_ = v_reuseFailAlloc_5560_;
goto v_reusejp_5553_;
}
v_reusejp_5553_:
{
lean_object* v___x_5555_; lean_object* v___x_5556_; lean_object* v___x_5557_; lean_object* v___x_5558_; lean_object* v___x_5559_; 
v___x_5555_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__13, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__13_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__13);
v___x_5556_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_5556_, 0, v___x_5554_);
lean_ctor_set(v___x_5556_, 1, v___x_5555_);
lean_inc(v_a_5546_);
v___x_5557_ = l_Lean_MessageData_ofExpr(v_a_5546_);
v___x_5558_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_5558_, 0, v___x_5556_);
lean_ctor_set(v___x_5558_, 1, v___x_5557_);
v___x_5559_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1(v___x_5547_, v___x_5558_, v___y_5332_, v___y_5333_, v___y_5334_, v___y_5335_);
if (lean_obj_tag(v___x_5559_) == 0)
{
lean_dec_ref(v___x_5559_);
v___y_5476_ = v___x_5544_;
v___y_5477_ = v_a_5527_;
v___y_5478_ = v_a_5546_;
v___y_5479_ = v___x_5547_;
v___y_5480_ = v___y_5332_;
v___y_5481_ = v___y_5333_;
v___y_5482_ = v___y_5334_;
v___y_5483_ = v___y_5335_;
goto v___jp_5475_;
}
else
{
lean_dec(v_a_5546_);
lean_dec_ref(v___x_5544_);
lean_dec(v_a_5527_);
lean_dec(v___y_5335_);
lean_dec_ref(v___y_5334_);
lean_dec(v___y_5333_);
lean_dec_ref(v___y_5332_);
lean_dec_ref(v_localInsts_5331_);
lean_dec_ref(v___x_5326_);
lean_dec(v_recMap_5325_);
lean_dec_ref(v___x_5324_);
lean_dec(v_ctorName_5323_);
lean_dec_ref(v_sizeOfFns_5322_);
lean_dec(v___x_5321_);
lean_dec_ref(v_a_5320_);
lean_dec_ref(v_a_5319_);
lean_dec(v_levelParams_5317_);
lean_dec_ref(v_indInfo_5316_);
return v___x_5559_;
}
}
}
}
else
{
lean_object* v_a_5561_; lean_object* v___x_5563_; uint8_t v_isShared_5564_; uint8_t v_isSharedCheck_5568_; 
lean_dec_ref(v___x_5544_);
lean_del_object(v___x_5531_);
lean_dec(v_a_5527_);
lean_dec(v___y_5335_);
lean_dec_ref(v___y_5334_);
lean_dec(v___y_5333_);
lean_dec_ref(v___y_5332_);
lean_dec_ref(v_localInsts_5331_);
lean_dec(v_name_5329_);
lean_dec_ref(v___x_5326_);
lean_dec(v_recMap_5325_);
lean_dec_ref(v___x_5324_);
lean_dec(v_ctorName_5323_);
lean_dec_ref(v_sizeOfFns_5322_);
lean_dec(v___x_5321_);
lean_dec_ref(v_a_5320_);
lean_dec_ref(v_a_5319_);
lean_dec(v_levelParams_5317_);
lean_dec_ref(v_indInfo_5316_);
v_a_5561_ = lean_ctor_get(v___x_5545_, 0);
v_isSharedCheck_5568_ = !lean_is_exclusive(v___x_5545_);
if (v_isSharedCheck_5568_ == 0)
{
v___x_5563_ = v___x_5545_;
v_isShared_5564_ = v_isSharedCheck_5568_;
goto v_resetjp_5562_;
}
else
{
lean_inc(v_a_5561_);
lean_dec(v___x_5545_);
v___x_5563_ = lean_box(0);
v_isShared_5564_ = v_isSharedCheck_5568_;
goto v_resetjp_5562_;
}
v_resetjp_5562_:
{
lean_object* v___x_5566_; 
if (v_isShared_5564_ == 0)
{
v___x_5566_ = v___x_5563_;
goto v_reusejp_5565_;
}
else
{
lean_object* v_reuseFailAlloc_5567_; 
v_reuseFailAlloc_5567_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5567_, 0, v_a_5561_);
v___x_5566_ = v_reuseFailAlloc_5567_;
goto v_reusejp_5565_;
}
v_reusejp_5565_:
{
return v___x_5566_;
}
}
}
}
}
else
{
lean_object* v_a_5570_; lean_object* v___x_5572_; uint8_t v_isShared_5573_; uint8_t v_isSharedCheck_5577_; 
lean_dec_ref(v___x_5521_);
lean_dec_ref(v___y_5518_);
lean_dec_ref(v___x_5516_);
lean_dec(v_a_5508_);
lean_dec(v___y_5335_);
lean_dec_ref(v___y_5334_);
lean_dec(v___y_5333_);
lean_dec_ref(v___y_5332_);
lean_dec_ref(v_localInsts_5331_);
lean_dec(v_name_5329_);
lean_dec(v___x_5328_);
lean_dec_ref(v___x_5326_);
lean_dec(v_recMap_5325_);
lean_dec_ref(v___x_5324_);
lean_dec(v_ctorName_5323_);
lean_dec_ref(v_sizeOfFns_5322_);
lean_dec(v___x_5321_);
lean_dec_ref(v_a_5320_);
lean_dec_ref(v_a_5319_);
lean_dec(v_levelParams_5317_);
lean_dec_ref(v_indInfo_5316_);
lean_dec_ref(v___x_5315_);
v_a_5570_ = lean_ctor_get(v___x_5526_, 0);
v_isSharedCheck_5577_ = !lean_is_exclusive(v___x_5526_);
if (v_isSharedCheck_5577_ == 0)
{
v___x_5572_ = v___x_5526_;
v_isShared_5573_ = v_isSharedCheck_5577_;
goto v_resetjp_5571_;
}
else
{
lean_inc(v_a_5570_);
lean_dec(v___x_5526_);
v___x_5572_ = lean_box(0);
v_isShared_5573_ = v_isSharedCheck_5577_;
goto v_resetjp_5571_;
}
v_resetjp_5571_:
{
lean_object* v___x_5575_; 
if (v_isShared_5573_ == 0)
{
v___x_5575_ = v___x_5572_;
goto v_reusejp_5574_;
}
else
{
lean_object* v_reuseFailAlloc_5576_; 
v_reuseFailAlloc_5576_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5576_, 0, v_a_5570_);
v___x_5575_ = v_reuseFailAlloc_5576_;
goto v_reusejp_5574_;
}
v_reusejp_5574_:
{
return v___x_5575_;
}
}
}
}
else
{
lean_object* v_a_5578_; lean_object* v___x_5580_; uint8_t v_isShared_5581_; uint8_t v_isSharedCheck_5585_; 
lean_dec_ref(v___x_5521_);
lean_dec_ref(v___y_5518_);
lean_dec_ref(v___x_5516_);
lean_dec(v_a_5508_);
lean_dec(v___y_5335_);
lean_dec_ref(v___y_5334_);
lean_dec(v___y_5333_);
lean_dec_ref(v___y_5332_);
lean_dec_ref(v_localInsts_5331_);
lean_dec(v_name_5329_);
lean_dec(v___x_5328_);
lean_dec_ref(v___x_5326_);
lean_dec(v_recMap_5325_);
lean_dec_ref(v___x_5324_);
lean_dec(v_ctorName_5323_);
lean_dec_ref(v_sizeOfFns_5322_);
lean_dec(v___x_5321_);
lean_dec_ref(v_a_5320_);
lean_dec_ref(v_a_5319_);
lean_dec(v_levelParams_5317_);
lean_dec_ref(v_indInfo_5316_);
lean_dec_ref(v___x_5315_);
v_a_5578_ = lean_ctor_get(v___x_5524_, 0);
v_isSharedCheck_5585_ = !lean_is_exclusive(v___x_5524_);
if (v_isSharedCheck_5585_ == 0)
{
v___x_5580_ = v___x_5524_;
v_isShared_5581_ = v_isSharedCheck_5585_;
goto v_resetjp_5579_;
}
else
{
lean_inc(v_a_5578_);
lean_dec(v___x_5524_);
v___x_5580_ = lean_box(0);
v_isShared_5581_ = v_isSharedCheck_5585_;
goto v_resetjp_5579_;
}
v_resetjp_5579_:
{
lean_object* v___x_5583_; 
if (v_isShared_5581_ == 0)
{
v___x_5583_ = v___x_5580_;
goto v_reusejp_5582_;
}
else
{
lean_object* v_reuseFailAlloc_5584_; 
v_reuseFailAlloc_5584_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5584_, 0, v_a_5578_);
v___x_5583_ = v_reuseFailAlloc_5584_;
goto v_reusejp_5582_;
}
v_reusejp_5582_:
{
return v___x_5583_;
}
}
}
}
else
{
lean_object* v_a_5586_; lean_object* v___x_5588_; uint8_t v_isShared_5589_; uint8_t v_isSharedCheck_5593_; 
lean_dec_ref(v___y_5518_);
lean_dec_ref(v___x_5516_);
lean_dec(v_a_5508_);
lean_dec(v___y_5335_);
lean_dec_ref(v___y_5334_);
lean_dec(v___y_5333_);
lean_dec_ref(v___y_5332_);
lean_dec_ref(v_localInsts_5331_);
lean_dec(v_name_5329_);
lean_dec(v___x_5328_);
lean_dec(v___x_5327_);
lean_dec_ref(v___x_5326_);
lean_dec(v_recMap_5325_);
lean_dec_ref(v___x_5324_);
lean_dec(v_ctorName_5323_);
lean_dec_ref(v_sizeOfFns_5322_);
lean_dec(v___x_5321_);
lean_dec_ref(v_a_5320_);
lean_dec_ref(v_a_5319_);
lean_dec(v_levelParams_5317_);
lean_dec_ref(v_indInfo_5316_);
lean_dec_ref(v___x_5315_);
v_a_5586_ = lean_ctor_get(v___x_5519_, 0);
v_isSharedCheck_5593_ = !lean_is_exclusive(v___x_5519_);
if (v_isSharedCheck_5593_ == 0)
{
v___x_5588_ = v___x_5519_;
v_isShared_5589_ = v_isSharedCheck_5593_;
goto v_resetjp_5587_;
}
else
{
lean_inc(v_a_5586_);
lean_dec(v___x_5519_);
v___x_5588_ = lean_box(0);
v_isShared_5589_ = v_isSharedCheck_5593_;
goto v_resetjp_5587_;
}
v_resetjp_5587_:
{
lean_object* v___x_5591_; 
if (v_isShared_5589_ == 0)
{
v___x_5591_ = v___x_5588_;
goto v_reusejp_5590_;
}
else
{
lean_object* v_reuseFailAlloc_5592_; 
v_reuseFailAlloc_5592_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5592_, 0, v_a_5586_);
v___x_5591_ = v_reuseFailAlloc_5592_;
goto v_reusejp_5590_;
}
v_reusejp_5590_:
{
return v___x_5591_;
}
}
}
}
}
else
{
lean_object* v_a_5598_; lean_object* v___x_5600_; uint8_t v_isShared_5601_; uint8_t v_isSharedCheck_5605_; 
lean_dec(v___y_5335_);
lean_dec_ref(v___y_5334_);
lean_dec(v___y_5333_);
lean_dec_ref(v___y_5332_);
lean_dec_ref(v_localInsts_5331_);
lean_dec(v___x_5330_);
lean_dec(v_name_5329_);
lean_dec(v___x_5328_);
lean_dec(v___x_5327_);
lean_dec_ref(v___x_5326_);
lean_dec(v_recMap_5325_);
lean_dec_ref(v___x_5324_);
lean_dec(v_ctorName_5323_);
lean_dec_ref(v_sizeOfFns_5322_);
lean_dec(v___x_5321_);
lean_dec_ref(v_a_5320_);
lean_dec_ref(v_a_5319_);
lean_dec(v_levelParams_5317_);
lean_dec_ref(v_indInfo_5316_);
lean_dec_ref(v___x_5315_);
v_a_5598_ = lean_ctor_get(v___x_5507_, 0);
v_isSharedCheck_5605_ = !lean_is_exclusive(v___x_5507_);
if (v_isSharedCheck_5605_ == 0)
{
v___x_5600_ = v___x_5507_;
v_isShared_5601_ = v_isSharedCheck_5605_;
goto v_resetjp_5599_;
}
else
{
lean_inc(v_a_5598_);
lean_dec(v___x_5507_);
v___x_5600_ = lean_box(0);
v_isShared_5601_ = v_isSharedCheck_5605_;
goto v_resetjp_5599_;
}
v_resetjp_5599_:
{
lean_object* v___x_5603_; 
if (v_isShared_5601_ == 0)
{
v___x_5603_ = v___x_5600_;
goto v_reusejp_5602_;
}
else
{
lean_object* v_reuseFailAlloc_5604_; 
v_reuseFailAlloc_5604_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5604_, 0, v_a_5598_);
v___x_5603_ = v_reuseFailAlloc_5604_;
goto v_reusejp_5602_;
}
v_reusejp_5602_:
{
return v___x_5603_;
}
}
}
v___jp_5337_:
{
lean_object* v___x_5345_; lean_object* v___x_5346_; lean_object* v___x_5347_; lean_object* v___x_5348_; lean_object* v___x_5349_; lean_object* v___x_5350_; 
lean_inc(v___y_5338_);
v___x_5345_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v___x_5345_, 0, v___y_5338_);
lean_ctor_set(v___x_5345_, 1, v_levelParams_5317_);
lean_ctor_set(v___x_5345_, 2, v___y_5340_);
v___x_5346_ = lean_box(0);
lean_inc(v___y_5338_);
v___x_5347_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_5347_, 0, v___y_5338_);
lean_ctor_set(v___x_5347_, 1, v___x_5346_);
v___x_5348_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v___x_5348_, 0, v___x_5345_);
lean_ctor_set(v___x_5348_, 1, v___y_5339_);
lean_ctor_set(v___x_5348_, 2, v___x_5347_);
v___x_5349_ = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(v___x_5349_, 0, v___x_5348_);
lean_inc(v___y_5344_);
lean_inc_ref(v___y_5343_);
v___x_5350_ = l_Lean_addDecl(v___x_5349_, v___x_5318_, v___y_5343_, v___y_5344_);
if (lean_obj_tag(v___x_5350_) == 0)
{
lean_object* v___x_5351_; 
lean_dec_ref(v___x_5350_);
lean_inc(v___y_5344_);
lean_inc_ref(v___y_5343_);
lean_inc(v___y_5338_);
v___x_5351_ = l_Lean_inferDefEqAttr(v___y_5338_, v___y_5341_, v___y_5342_, v___y_5343_, v___y_5344_);
if (lean_obj_tag(v___x_5351_) == 0)
{
lean_object* v_add_5352_; lean_object* v___x_5353_; uint8_t v___x_5354_; lean_object* v___x_5355_; lean_object* v___x_5356_; 
lean_dec_ref(v___x_5351_);
v_add_5352_ = lean_ctor_get(v_a_5319_, 1);
lean_inc_ref(v_add_5352_);
lean_dec_ref(v_a_5319_);
v___x_5353_ = lean_box(0);
v___x_5354_ = 0;
v___x_5355_ = lean_box(v___x_5354_);
lean_inc(v___y_5344_);
lean_inc_ref(v___y_5343_);
lean_inc(v___y_5338_);
v___x_5356_ = lean_apply_6(v_add_5352_, v___y_5338_, v___x_5353_, v___x_5355_, v___y_5343_, v___y_5344_, lean_box(0));
if (lean_obj_tag(v___x_5356_) == 0)
{
lean_object* v_add_5357_; lean_object* v___x_5358_; lean_object* v___x_5359_; 
lean_dec_ref(v___x_5356_);
v_add_5357_ = lean_ctor_get(v_a_5320_, 1);
lean_inc_ref(v_add_5357_);
lean_dec_ref(v_a_5320_);
v___x_5358_ = lean_box(v___x_5354_);
v___x_5359_ = lean_apply_6(v_add_5357_, v___y_5338_, v___x_5321_, v___x_5358_, v___y_5343_, v___y_5344_, lean_box(0));
return v___x_5359_;
}
else
{
lean_dec(v___y_5344_);
lean_dec_ref(v___y_5343_);
lean_dec(v___y_5338_);
lean_dec(v___x_5321_);
lean_dec_ref(v_a_5320_);
return v___x_5356_;
}
}
else
{
lean_dec(v___y_5344_);
lean_dec_ref(v___y_5343_);
lean_dec(v___y_5338_);
lean_dec(v___x_5321_);
lean_dec_ref(v_a_5320_);
lean_dec_ref(v_a_5319_);
return v___x_5351_;
}
}
else
{
lean_dec(v___y_5344_);
lean_dec_ref(v___y_5343_);
lean_dec(v___y_5342_);
lean_dec_ref(v___y_5341_);
lean_dec(v___y_5338_);
lean_dec(v___x_5321_);
lean_dec_ref(v_a_5320_);
lean_dec_ref(v_a_5319_);
return v___x_5350_;
}
}
v___jp_5360_:
{
lean_object* v___x_5368_; 
lean_inc(v___y_5367_);
lean_inc_ref(v___y_5366_);
lean_inc(v___y_5365_);
lean_inc_ref(v___y_5364_);
lean_inc_ref(v___y_5362_);
v___x_5368_ = lean_infer_type(v___y_5362_, v___y_5364_, v___y_5365_, v___y_5366_, v___y_5367_);
if (lean_obj_tag(v___x_5368_) == 0)
{
lean_object* v_a_5369_; lean_object* v___x_5370_; 
v_a_5369_ = lean_ctor_get(v___x_5368_, 0);
lean_inc(v_a_5369_);
lean_dec_ref(v___x_5368_);
lean_inc(v___y_5367_);
lean_inc_ref(v___y_5366_);
lean_inc(v___y_5365_);
lean_inc_ref(v___y_5364_);
lean_inc_ref(v___y_5363_);
v___x_5370_ = l_Lean_Meta_isExprDefEq(v_a_5369_, v___y_5363_, v___y_5364_, v___y_5365_, v___y_5366_, v___y_5367_);
if (lean_obj_tag(v___x_5370_) == 0)
{
lean_object* v_a_5371_; uint8_t v___x_5372_; 
v_a_5371_ = lean_ctor_get(v___x_5370_, 0);
lean_inc(v_a_5371_);
lean_dec_ref(v___x_5370_);
v___x_5372_ = lean_unbox(v_a_5371_);
lean_dec(v_a_5371_);
if (v___x_5372_ == 0)
{
lean_object* v___x_5373_; lean_object* v___x_5374_; 
lean_dec_ref(v___y_5363_);
lean_dec_ref(v___y_5362_);
lean_dec(v___y_5361_);
lean_dec(v___x_5321_);
lean_dec_ref(v_a_5320_);
lean_dec_ref(v_a_5319_);
lean_dec(v_levelParams_5317_);
v___x_5373_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__1, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__1_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__1);
v___x_5374_ = l_Lean_throwError___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__0___redArg(v___x_5373_, v___y_5364_, v___y_5365_, v___y_5366_, v___y_5367_);
lean_dec(v___y_5367_);
lean_dec_ref(v___y_5366_);
lean_dec(v___y_5365_);
lean_dec_ref(v___y_5364_);
return v___x_5374_;
}
else
{
v___y_5338_ = v___y_5361_;
v___y_5339_ = v___y_5362_;
v___y_5340_ = v___y_5363_;
v___y_5341_ = v___y_5364_;
v___y_5342_ = v___y_5365_;
v___y_5343_ = v___y_5366_;
v___y_5344_ = v___y_5367_;
goto v___jp_5337_;
}
}
else
{
lean_object* v_a_5375_; lean_object* v___x_5377_; uint8_t v_isShared_5378_; uint8_t v_isSharedCheck_5382_; 
lean_dec(v___y_5367_);
lean_dec_ref(v___y_5366_);
lean_dec(v___y_5365_);
lean_dec_ref(v___y_5364_);
lean_dec_ref(v___y_5363_);
lean_dec_ref(v___y_5362_);
lean_dec(v___y_5361_);
lean_dec(v___x_5321_);
lean_dec_ref(v_a_5320_);
lean_dec_ref(v_a_5319_);
lean_dec(v_levelParams_5317_);
v_a_5375_ = lean_ctor_get(v___x_5370_, 0);
v_isSharedCheck_5382_ = !lean_is_exclusive(v___x_5370_);
if (v_isSharedCheck_5382_ == 0)
{
v___x_5377_ = v___x_5370_;
v_isShared_5378_ = v_isSharedCheck_5382_;
goto v_resetjp_5376_;
}
else
{
lean_inc(v_a_5375_);
lean_dec(v___x_5370_);
v___x_5377_ = lean_box(0);
v_isShared_5378_ = v_isSharedCheck_5382_;
goto v_resetjp_5376_;
}
v_resetjp_5376_:
{
lean_object* v___x_5380_; 
if (v_isShared_5378_ == 0)
{
v___x_5380_ = v___x_5377_;
goto v_reusejp_5379_;
}
else
{
lean_object* v_reuseFailAlloc_5381_; 
v_reuseFailAlloc_5381_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5381_, 0, v_a_5375_);
v___x_5380_ = v_reuseFailAlloc_5381_;
goto v_reusejp_5379_;
}
v_reusejp_5379_:
{
return v___x_5380_;
}
}
}
}
else
{
lean_object* v_a_5383_; lean_object* v___x_5385_; uint8_t v_isShared_5386_; uint8_t v_isSharedCheck_5390_; 
lean_dec(v___y_5367_);
lean_dec_ref(v___y_5366_);
lean_dec(v___y_5365_);
lean_dec_ref(v___y_5364_);
lean_dec_ref(v___y_5363_);
lean_dec_ref(v___y_5362_);
lean_dec(v___y_5361_);
lean_dec(v___x_5321_);
lean_dec_ref(v_a_5320_);
lean_dec_ref(v_a_5319_);
lean_dec(v_levelParams_5317_);
v_a_5383_ = lean_ctor_get(v___x_5368_, 0);
v_isSharedCheck_5390_ = !lean_is_exclusive(v___x_5368_);
if (v_isSharedCheck_5390_ == 0)
{
v___x_5385_ = v___x_5368_;
v_isShared_5386_ = v_isSharedCheck_5390_;
goto v_resetjp_5384_;
}
else
{
lean_inc(v_a_5383_);
lean_dec(v___x_5368_);
v___x_5385_ = lean_box(0);
v_isShared_5386_ = v_isSharedCheck_5390_;
goto v_resetjp_5384_;
}
v_resetjp_5384_:
{
lean_object* v___x_5388_; 
if (v_isShared_5386_ == 0)
{
v___x_5388_ = v___x_5385_;
goto v_reusejp_5387_;
}
else
{
lean_object* v_reuseFailAlloc_5389_; 
v_reuseFailAlloc_5389_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5389_, 0, v_a_5383_);
v___x_5388_ = v_reuseFailAlloc_5389_;
goto v_reusejp_5387_;
}
v_reusejp_5387_:
{
return v___x_5388_;
}
}
}
}
v___jp_5391_:
{
lean_object* v___x_5403_; 
v___x_5403_ = l_Lean_Meta_mkLambdaFVars(v___y_5397_, v_thmValue_5398_, v___x_5318_, v___y_5393_, v___x_5318_, v___y_5393_, v___y_5395_, v___y_5399_, v___y_5400_, v___y_5401_, v___y_5402_);
lean_dec_ref(v___y_5397_);
if (lean_obj_tag(v___x_5403_) == 0)
{
lean_object* v_a_5404_; lean_object* v___x_5405_; lean_object* v_a_5406_; uint8_t v___x_5407_; 
v_a_5404_ = lean_ctor_get(v___x_5403_, 0);
lean_inc(v_a_5404_);
lean_dec_ref(v___x_5403_);
lean_inc(v___y_5396_);
v___x_5405_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg(v___y_5396_, v___y_5401_);
v_a_5406_ = lean_ctor_get(v___x_5405_, 0);
lean_inc(v_a_5406_);
lean_dec_ref(v___x_5405_);
v___x_5407_ = lean_unbox(v_a_5406_);
lean_dec(v_a_5406_);
if (v___x_5407_ == 0)
{
lean_dec(v___y_5396_);
v___y_5361_ = v___y_5392_;
v___y_5362_ = v_a_5404_;
v___y_5363_ = v___y_5394_;
v___y_5364_ = v___y_5399_;
v___y_5365_ = v___y_5400_;
v___y_5366_ = v___y_5401_;
v___y_5367_ = v___y_5402_;
goto v___jp_5360_;
}
else
{
lean_object* v___x_5408_; lean_object* v___x_5409_; lean_object* v___x_5410_; lean_object* v___x_5411_; 
v___x_5408_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__3, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__3_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__3);
lean_inc(v_a_5404_);
v___x_5409_ = l_Lean_MessageData_ofExpr(v_a_5404_);
v___x_5410_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_5410_, 0, v___x_5408_);
lean_ctor_set(v___x_5410_, 1, v___x_5409_);
v___x_5411_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1(v___y_5396_, v___x_5410_, v___y_5399_, v___y_5400_, v___y_5401_, v___y_5402_);
if (lean_obj_tag(v___x_5411_) == 0)
{
lean_dec_ref(v___x_5411_);
v___y_5361_ = v___y_5392_;
v___y_5362_ = v_a_5404_;
v___y_5363_ = v___y_5394_;
v___y_5364_ = v___y_5399_;
v___y_5365_ = v___y_5400_;
v___y_5366_ = v___y_5401_;
v___y_5367_ = v___y_5402_;
goto v___jp_5360_;
}
else
{
lean_dec(v_a_5404_);
lean_dec(v___y_5402_);
lean_dec_ref(v___y_5401_);
lean_dec(v___y_5400_);
lean_dec_ref(v___y_5399_);
lean_dec_ref(v___y_5394_);
lean_dec(v___y_5392_);
lean_dec(v___x_5321_);
lean_dec_ref(v_a_5320_);
lean_dec_ref(v_a_5319_);
lean_dec(v_levelParams_5317_);
return v___x_5411_;
}
}
}
else
{
lean_object* v_a_5412_; lean_object* v___x_5414_; uint8_t v_isShared_5415_; uint8_t v_isSharedCheck_5419_; 
lean_dec(v___y_5402_);
lean_dec_ref(v___y_5401_);
lean_dec(v___y_5400_);
lean_dec_ref(v___y_5399_);
lean_dec(v___y_5396_);
lean_dec_ref(v___y_5394_);
lean_dec(v___y_5392_);
lean_dec(v___x_5321_);
lean_dec_ref(v_a_5320_);
lean_dec_ref(v_a_5319_);
lean_dec(v_levelParams_5317_);
v_a_5412_ = lean_ctor_get(v___x_5403_, 0);
v_isSharedCheck_5419_ = !lean_is_exclusive(v___x_5403_);
if (v_isSharedCheck_5419_ == 0)
{
v___x_5414_ = v___x_5403_;
v_isShared_5415_ = v_isSharedCheck_5419_;
goto v_resetjp_5413_;
}
else
{
lean_inc(v_a_5412_);
lean_dec(v___x_5403_);
v___x_5414_ = lean_box(0);
v_isShared_5415_ = v_isSharedCheck_5419_;
goto v_resetjp_5413_;
}
v_resetjp_5413_:
{
lean_object* v___x_5417_; 
if (v_isShared_5415_ == 0)
{
v___x_5417_ = v___x_5414_;
goto v_reusejp_5416_;
}
else
{
lean_object* v_reuseFailAlloc_5418_; 
v_reuseFailAlloc_5418_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5418_, 0, v_a_5412_);
v___x_5417_ = v_reuseFailAlloc_5418_;
goto v_reusejp_5416_;
}
v_reusejp_5416_:
{
return v___x_5417_;
}
}
}
}
v___jp_5420_:
{
uint8_t v___x_5433_; 
v___x_5433_ = l_Lean_InductiveVal_isNested(v_indInfo_5316_);
if (v___x_5433_ == 0)
{
lean_object* v___x_5434_; 
lean_dec_ref(v___y_5421_);
lean_dec_ref(v_localInsts_5331_);
lean_dec(v_recMap_5325_);
lean_dec_ref(v___x_5324_);
lean_dec(v_ctorName_5323_);
lean_dec_ref(v_sizeOfFns_5322_);
lean_dec_ref(v_indInfo_5316_);
lean_inc(v___y_5432_);
lean_inc_ref(v___y_5431_);
lean_inc(v___y_5430_);
lean_inc_ref(v___y_5429_);
v___x_5434_ = l_Lean_Meta_mkEqRefl(v___y_5424_, v___y_5429_, v___y_5430_, v___y_5431_, v___y_5432_);
if (lean_obj_tag(v___x_5434_) == 0)
{
lean_object* v_a_5435_; 
v_a_5435_ = lean_ctor_get(v___x_5434_, 0);
lean_inc(v_a_5435_);
lean_dec_ref(v___x_5434_);
v___y_5392_ = v___y_5422_;
v___y_5393_ = v___y_5423_;
v___y_5394_ = v___y_5426_;
v___y_5395_ = v___y_5425_;
v___y_5396_ = v___y_5428_;
v___y_5397_ = v___y_5427_;
v_thmValue_5398_ = v_a_5435_;
v___y_5399_ = v___y_5429_;
v___y_5400_ = v___y_5430_;
v___y_5401_ = v___y_5431_;
v___y_5402_ = v___y_5432_;
goto v___jp_5391_;
}
else
{
lean_object* v_a_5436_; lean_object* v___x_5438_; uint8_t v_isShared_5439_; uint8_t v_isSharedCheck_5443_; 
lean_dec(v___y_5432_);
lean_dec_ref(v___y_5431_);
lean_dec(v___y_5430_);
lean_dec_ref(v___y_5429_);
lean_dec(v___y_5428_);
lean_dec_ref(v___y_5427_);
lean_dec_ref(v___y_5426_);
lean_dec(v___y_5422_);
lean_dec(v___x_5321_);
lean_dec_ref(v_a_5320_);
lean_dec_ref(v_a_5319_);
lean_dec(v_levelParams_5317_);
v_a_5436_ = lean_ctor_get(v___x_5434_, 0);
v_isSharedCheck_5443_ = !lean_is_exclusive(v___x_5434_);
if (v_isSharedCheck_5443_ == 0)
{
v___x_5438_ = v___x_5434_;
v_isShared_5439_ = v_isSharedCheck_5443_;
goto v_resetjp_5437_;
}
else
{
lean_inc(v_a_5436_);
lean_dec(v___x_5434_);
v___x_5438_ = lean_box(0);
v_isShared_5439_ = v_isSharedCheck_5443_;
goto v_resetjp_5437_;
}
v_resetjp_5437_:
{
lean_object* v___x_5441_; 
if (v_isShared_5439_ == 0)
{
v___x_5441_ = v___x_5438_;
goto v_reusejp_5440_;
}
else
{
lean_object* v_reuseFailAlloc_5442_; 
v_reuseFailAlloc_5442_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5442_, 0, v_a_5436_);
v___x_5441_ = v_reuseFailAlloc_5442_;
goto v_reusejp_5440_;
}
v_reusejp_5440_:
{
return v___x_5441_;
}
}
}
}
else
{
lean_object* v___x_5444_; lean_object* v___x_5445_; 
v___x_5444_ = lean_alloc_ctor(0, 6, 0);
lean_ctor_set(v___x_5444_, 0, v_indInfo_5316_);
lean_ctor_set(v___x_5444_, 1, v_sizeOfFns_5322_);
lean_ctor_set(v___x_5444_, 2, v_ctorName_5323_);
lean_ctor_set(v___x_5444_, 3, v___x_5324_);
lean_ctor_set(v___x_5444_, 4, v_localInsts_5331_);
lean_ctor_set(v___x_5444_, 5, v_recMap_5325_);
lean_inc(v___y_5432_);
lean_inc_ref(v___y_5431_);
lean_inc(v___y_5430_);
lean_inc_ref(v___y_5429_);
v___x_5445_ = l_Lean_Meta_SizeOfSpecNested_main(v___y_5421_, v___y_5424_, v___x_5444_, v___y_5429_, v___y_5430_, v___y_5431_, v___y_5432_);
if (lean_obj_tag(v___x_5445_) == 0)
{
lean_object* v_a_5446_; 
v_a_5446_ = lean_ctor_get(v___x_5445_, 0);
lean_inc(v_a_5446_);
lean_dec_ref(v___x_5445_);
v___y_5392_ = v___y_5422_;
v___y_5393_ = v___y_5423_;
v___y_5394_ = v___y_5426_;
v___y_5395_ = v___y_5425_;
v___y_5396_ = v___y_5428_;
v___y_5397_ = v___y_5427_;
v_thmValue_5398_ = v_a_5446_;
v___y_5399_ = v___y_5429_;
v___y_5400_ = v___y_5430_;
v___y_5401_ = v___y_5431_;
v___y_5402_ = v___y_5432_;
goto v___jp_5391_;
}
else
{
lean_object* v_a_5447_; lean_object* v___x_5449_; uint8_t v_isShared_5450_; uint8_t v_isSharedCheck_5454_; 
lean_dec(v___y_5432_);
lean_dec_ref(v___y_5431_);
lean_dec(v___y_5430_);
lean_dec_ref(v___y_5429_);
lean_dec(v___y_5428_);
lean_dec_ref(v___y_5427_);
lean_dec_ref(v___y_5426_);
lean_dec(v___y_5422_);
lean_dec(v___x_5321_);
lean_dec_ref(v_a_5320_);
lean_dec_ref(v_a_5319_);
lean_dec(v_levelParams_5317_);
v_a_5447_ = lean_ctor_get(v___x_5445_, 0);
v_isSharedCheck_5454_ = !lean_is_exclusive(v___x_5445_);
if (v_isSharedCheck_5454_ == 0)
{
v___x_5449_ = v___x_5445_;
v_isShared_5450_ = v_isSharedCheck_5454_;
goto v_resetjp_5448_;
}
else
{
lean_inc(v_a_5447_);
lean_dec(v___x_5445_);
v___x_5449_ = lean_box(0);
v_isShared_5450_ = v_isSharedCheck_5454_;
goto v_resetjp_5448_;
}
v_resetjp_5448_:
{
lean_object* v___x_5452_; 
if (v_isShared_5450_ == 0)
{
v___x_5452_ = v___x_5449_;
goto v_reusejp_5451_;
}
else
{
lean_object* v_reuseFailAlloc_5453_; 
v_reuseFailAlloc_5453_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5453_, 0, v_a_5447_);
v___x_5452_ = v_reuseFailAlloc_5453_;
goto v_reusejp_5451_;
}
v_reusejp_5451_:
{
return v___x_5452_;
}
}
}
}
}
v___jp_5455_:
{
lean_object* v___x_5468_; lean_object* v_a_5469_; uint8_t v___x_5470_; 
lean_inc(v___y_5463_);
v___x_5468_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg(v___y_5463_, v___y_5466_);
v_a_5469_ = lean_ctor_get(v___x_5468_, 0);
lean_inc(v_a_5469_);
lean_dec_ref(v___x_5468_);
v___x_5470_ = lean_unbox(v_a_5469_);
lean_dec(v_a_5469_);
if (v___x_5470_ == 0)
{
v___y_5421_ = v___y_5456_;
v___y_5422_ = v___y_5457_;
v___y_5423_ = v___y_5458_;
v___y_5424_ = v___y_5459_;
v___y_5425_ = v___y_5461_;
v___y_5426_ = v___y_5460_;
v___y_5427_ = v___y_5462_;
v___y_5428_ = v___y_5463_;
v___y_5429_ = v___y_5464_;
v___y_5430_ = v___y_5465_;
v___y_5431_ = v___y_5466_;
v___y_5432_ = v___y_5467_;
goto v___jp_5420_;
}
else
{
lean_object* v___x_5471_; lean_object* v___x_5472_; lean_object* v___x_5473_; lean_object* v___x_5474_; 
v___x_5471_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__5, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__5_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__5);
lean_inc_ref(v___y_5460_);
v___x_5472_ = l_Lean_MessageData_ofExpr(v___y_5460_);
v___x_5473_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_5473_, 0, v___x_5471_);
lean_ctor_set(v___x_5473_, 1, v___x_5472_);
lean_inc(v___y_5463_);
v___x_5474_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1(v___y_5463_, v___x_5473_, v___y_5464_, v___y_5465_, v___y_5466_, v___y_5467_);
if (lean_obj_tag(v___x_5474_) == 0)
{
lean_dec_ref(v___x_5474_);
v___y_5421_ = v___y_5456_;
v___y_5422_ = v___y_5457_;
v___y_5423_ = v___y_5458_;
v___y_5424_ = v___y_5459_;
v___y_5425_ = v___y_5461_;
v___y_5426_ = v___y_5460_;
v___y_5427_ = v___y_5462_;
v___y_5428_ = v___y_5463_;
v___y_5429_ = v___y_5464_;
v___y_5430_ = v___y_5465_;
v___y_5431_ = v___y_5466_;
v___y_5432_ = v___y_5467_;
goto v___jp_5420_;
}
else
{
lean_dec(v___y_5467_);
lean_dec_ref(v___y_5466_);
lean_dec(v___y_5465_);
lean_dec_ref(v___y_5464_);
lean_dec(v___y_5463_);
lean_dec_ref(v___y_5462_);
lean_dec_ref(v___y_5460_);
lean_dec_ref(v___y_5459_);
lean_dec(v___y_5457_);
lean_dec_ref(v___y_5456_);
lean_dec_ref(v_localInsts_5331_);
lean_dec(v_recMap_5325_);
lean_dec_ref(v___x_5324_);
lean_dec(v_ctorName_5323_);
lean_dec_ref(v_sizeOfFns_5322_);
lean_dec(v___x_5321_);
lean_dec_ref(v_a_5320_);
lean_dec_ref(v_a_5319_);
lean_dec(v_levelParams_5317_);
lean_dec_ref(v_indInfo_5316_);
return v___x_5474_;
}
}
}
v___jp_5475_:
{
lean_object* v___x_5484_; lean_object* v___x_5485_; lean_object* v___x_5486_; uint8_t v___x_5487_; uint8_t v___x_5488_; lean_object* v___x_5489_; 
lean_inc_ref(v___x_5324_);
v___x_5484_ = l_Array_append___redArg(v___x_5324_, v_localInsts_5331_);
v___x_5485_ = l_Subarray_copy___redArg(v___x_5326_);
v___x_5486_ = l_Array_append___redArg(v___x_5484_, v___x_5485_);
lean_dec_ref(v___x_5485_);
v___x_5487_ = 1;
v___x_5488_ = 1;
v___x_5489_ = l_Lean_Meta_mkForallFVars(v___x_5486_, v___y_5478_, v___x_5318_, v___x_5487_, v___x_5487_, v___x_5488_, v___y_5480_, v___y_5481_, v___y_5482_, v___y_5483_);
if (lean_obj_tag(v___x_5489_) == 0)
{
lean_object* v_a_5490_; lean_object* v___x_5491_; lean_object* v_a_5492_; lean_object* v___x_5493_; uint8_t v___x_5494_; 
v_a_5490_ = lean_ctor_get(v___x_5489_, 0);
lean_inc(v_a_5490_);
lean_dec_ref(v___x_5489_);
lean_inc(v___y_5479_);
v___x_5491_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg(v___y_5479_, v___y_5482_);
v_a_5492_ = lean_ctor_get(v___x_5491_, 0);
lean_inc(v_a_5492_);
lean_dec_ref(v___x_5491_);
lean_inc(v_ctorName_5323_);
v___x_5493_ = l_Lean_Meta_mkSizeOfSpecLemmaName(v_ctorName_5323_);
v___x_5494_ = lean_unbox(v_a_5492_);
lean_dec(v_a_5492_);
if (v___x_5494_ == 0)
{
v___y_5456_ = v___y_5476_;
v___y_5457_ = v___x_5493_;
v___y_5458_ = v___x_5487_;
v___y_5459_ = v___y_5477_;
v___y_5460_ = v_a_5490_;
v___y_5461_ = v___x_5488_;
v___y_5462_ = v___x_5486_;
v___y_5463_ = v___y_5479_;
v___y_5464_ = v___y_5480_;
v___y_5465_ = v___y_5481_;
v___y_5466_ = v___y_5482_;
v___y_5467_ = v___y_5483_;
goto v___jp_5455_;
}
else
{
lean_object* v___x_5495_; lean_object* v___x_5496_; lean_object* v___x_5497_; lean_object* v___x_5498_; 
v___x_5495_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__7, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__7_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__7);
lean_inc(v___x_5493_);
v___x_5496_ = l_Lean_MessageData_ofName(v___x_5493_);
v___x_5497_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_5497_, 0, v___x_5495_);
lean_ctor_set(v___x_5497_, 1, v___x_5496_);
lean_inc(v___y_5479_);
v___x_5498_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1(v___y_5479_, v___x_5497_, v___y_5480_, v___y_5481_, v___y_5482_, v___y_5483_);
if (lean_obj_tag(v___x_5498_) == 0)
{
lean_dec_ref(v___x_5498_);
v___y_5456_ = v___y_5476_;
v___y_5457_ = v___x_5493_;
v___y_5458_ = v___x_5487_;
v___y_5459_ = v___y_5477_;
v___y_5460_ = v_a_5490_;
v___y_5461_ = v___x_5488_;
v___y_5462_ = v___x_5486_;
v___y_5463_ = v___y_5479_;
v___y_5464_ = v___y_5480_;
v___y_5465_ = v___y_5481_;
v___y_5466_ = v___y_5482_;
v___y_5467_ = v___y_5483_;
goto v___jp_5455_;
}
else
{
lean_dec(v___x_5493_);
lean_dec(v_a_5490_);
lean_dec_ref(v___x_5486_);
lean_dec(v___y_5483_);
lean_dec_ref(v___y_5482_);
lean_dec(v___y_5481_);
lean_dec_ref(v___y_5480_);
lean_dec(v___y_5479_);
lean_dec_ref(v___y_5477_);
lean_dec_ref(v___y_5476_);
lean_dec_ref(v_localInsts_5331_);
lean_dec(v_recMap_5325_);
lean_dec_ref(v___x_5324_);
lean_dec(v_ctorName_5323_);
lean_dec_ref(v_sizeOfFns_5322_);
lean_dec(v___x_5321_);
lean_dec_ref(v_a_5320_);
lean_dec_ref(v_a_5319_);
lean_dec(v_levelParams_5317_);
lean_dec_ref(v_indInfo_5316_);
return v___x_5498_;
}
}
}
else
{
lean_object* v_a_5499_; lean_object* v___x_5501_; uint8_t v_isShared_5502_; uint8_t v_isSharedCheck_5506_; 
lean_dec_ref(v___x_5486_);
lean_dec(v___y_5483_);
lean_dec_ref(v___y_5482_);
lean_dec(v___y_5481_);
lean_dec_ref(v___y_5480_);
lean_dec(v___y_5479_);
lean_dec_ref(v___y_5477_);
lean_dec_ref(v___y_5476_);
lean_dec_ref(v_localInsts_5331_);
lean_dec(v_recMap_5325_);
lean_dec_ref(v___x_5324_);
lean_dec(v_ctorName_5323_);
lean_dec_ref(v_sizeOfFns_5322_);
lean_dec(v___x_5321_);
lean_dec_ref(v_a_5320_);
lean_dec_ref(v_a_5319_);
lean_dec(v_levelParams_5317_);
lean_dec_ref(v_indInfo_5316_);
v_a_5499_ = lean_ctor_get(v___x_5489_, 0);
v_isSharedCheck_5506_ = !lean_is_exclusive(v___x_5489_);
if (v_isSharedCheck_5506_ == 0)
{
v___x_5501_ = v___x_5489_;
v_isShared_5502_ = v_isSharedCheck_5506_;
goto v_resetjp_5500_;
}
else
{
lean_inc(v_a_5499_);
lean_dec(v___x_5489_);
v___x_5501_ = lean_box(0);
v_isShared_5502_ = v_isSharedCheck_5506_;
goto v_resetjp_5500_;
}
v_resetjp_5500_:
{
lean_object* v___x_5504_; 
if (v_isShared_5502_ == 0)
{
v___x_5504_ = v___x_5501_;
goto v_reusejp_5503_;
}
else
{
lean_object* v_reuseFailAlloc_5505_; 
v_reuseFailAlloc_5505_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5505_, 0, v_a_5499_);
v___x_5504_ = v_reuseFailAlloc_5505_;
goto v_reusejp_5503_;
}
v_reusejp_5503_:
{
return v___x_5504_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___boxed(lean_object** _args){
lean_object* v___x_5606_ = _args[0];
lean_object* v_indInfo_5607_ = _args[1];
lean_object* v_levelParams_5608_ = _args[2];
lean_object* v___x_5609_ = _args[3];
lean_object* v_a_5610_ = _args[4];
lean_object* v_a_5611_ = _args[5];
lean_object* v___x_5612_ = _args[6];
lean_object* v_sizeOfFns_5613_ = _args[7];
lean_object* v_ctorName_5614_ = _args[8];
lean_object* v___x_5615_ = _args[9];
lean_object* v_recMap_5616_ = _args[10];
lean_object* v___x_5617_ = _args[11];
lean_object* v___x_5618_ = _args[12];
lean_object* v___x_5619_ = _args[13];
lean_object* v_name_5620_ = _args[14];
lean_object* v___x_5621_ = _args[15];
lean_object* v_localInsts_5622_ = _args[16];
lean_object* v___y_5623_ = _args[17];
lean_object* v___y_5624_ = _args[18];
lean_object* v___y_5625_ = _args[19];
lean_object* v___y_5626_ = _args[20];
lean_object* v___y_5627_ = _args[21];
_start:
{
uint8_t v___x_17874__boxed_5628_; lean_object* v_res_5629_; 
v___x_17874__boxed_5628_ = lean_unbox(v___x_5609_);
v_res_5629_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0(v___x_5606_, v_indInfo_5607_, v_levelParams_5608_, v___x_17874__boxed_5628_, v_a_5610_, v_a_5611_, v___x_5612_, v_sizeOfFns_5613_, v_ctorName_5614_, v___x_5615_, v_recMap_5616_, v___x_5617_, v___x_5618_, v___x_5619_, v_name_5620_, v___x_5621_, v_localInsts_5622_, v___y_5623_, v___y_5624_, v___y_5625_, v___y_5626_);
return v_res_5629_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__1(lean_object* v_numParams_5630_, lean_object* v_ctorName_5631_, lean_object* v___x_5632_, lean_object* v_indInfo_5633_, lean_object* v_levelParams_5634_, uint8_t v___x_5635_, lean_object* v_a_5636_, lean_object* v_a_5637_, lean_object* v___x_5638_, lean_object* v_sizeOfFns_5639_, lean_object* v_recMap_5640_, lean_object* v___x_5641_, lean_object* v_name_5642_, lean_object* v_xs_5643_, lean_object* v_x_5644_, lean_object* v___y_5645_, lean_object* v___y_5646_, lean_object* v___y_5647_, lean_object* v___y_5648_){
_start:
{
lean_object* v___x_5650_; lean_object* v___x_5651_; lean_object* v_lower_5653_; lean_object* v_upper_5654_; lean_object* v___x_5662_; uint8_t v___x_5663_; 
v___x_5650_ = lean_unsigned_to_nat(0u);
lean_inc(v_numParams_5630_);
lean_inc_ref(v_xs_5643_);
v___x_5651_ = l_Array_toSubarray___redArg(v_xs_5643_, v___x_5650_, v_numParams_5630_);
v___x_5662_ = lean_array_get_size(v_xs_5643_);
v___x_5663_ = lean_nat_dec_le(v_numParams_5630_, v___x_5650_);
if (v___x_5663_ == 0)
{
v_lower_5653_ = v_numParams_5630_;
v_upper_5654_ = v___x_5662_;
goto v___jp_5652_;
}
else
{
lean_dec(v_numParams_5630_);
v_lower_5653_ = v___x_5650_;
v_upper_5654_ = v___x_5662_;
goto v___jp_5652_;
}
v___jp_5652_:
{
lean_object* v___x_5655_; lean_object* v___x_5656_; lean_object* v___x_5657_; lean_object* v___x_5658_; lean_object* v___x_5659_; lean_object* v___f_5660_; lean_object* v___x_5661_; 
lean_inc_ref(v_xs_5643_);
v___x_5655_ = l_Array_toSubarray___redArg(v_xs_5643_, v_lower_5653_, v_upper_5654_);
lean_inc(v___x_5632_);
lean_inc(v_ctorName_5631_);
v___x_5656_ = l_Lean_mkConst(v_ctorName_5631_, v___x_5632_);
v___x_5657_ = l_Lean_mkAppN(v___x_5656_, v_xs_5643_);
lean_dec_ref(v_xs_5643_);
v___x_5658_ = l_Subarray_copy___redArg(v___x_5651_);
v___x_5659_ = lean_box(v___x_5635_);
lean_inc_ref(v___x_5658_);
v___f_5660_ = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___boxed), 22, 16);
lean_closure_set(v___f_5660_, 0, v___x_5657_);
lean_closure_set(v___f_5660_, 1, v_indInfo_5633_);
lean_closure_set(v___f_5660_, 2, v_levelParams_5634_);
lean_closure_set(v___f_5660_, 3, v___x_5659_);
lean_closure_set(v___f_5660_, 4, v_a_5636_);
lean_closure_set(v___f_5660_, 5, v_a_5637_);
lean_closure_set(v___f_5660_, 6, v___x_5638_);
lean_closure_set(v___f_5660_, 7, v_sizeOfFns_5639_);
lean_closure_set(v___f_5660_, 8, v_ctorName_5631_);
lean_closure_set(v___f_5660_, 9, v___x_5658_);
lean_closure_set(v___f_5660_, 10, v_recMap_5640_);
lean_closure_set(v___f_5660_, 11, v___x_5655_);
lean_closure_set(v___f_5660_, 12, v___x_5641_);
lean_closure_set(v___f_5660_, 13, v___x_5632_);
lean_closure_set(v___f_5660_, 14, v_name_5642_);
lean_closure_set(v___f_5660_, 15, v___x_5650_);
v___x_5661_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances___redArg(v___x_5658_, v___f_5660_, v___y_5645_, v___y_5646_, v___y_5647_, v___y_5648_);
return v___x_5661_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__1___boxed(lean_object** _args){
lean_object* v_numParams_5664_ = _args[0];
lean_object* v_ctorName_5665_ = _args[1];
lean_object* v___x_5666_ = _args[2];
lean_object* v_indInfo_5667_ = _args[3];
lean_object* v_levelParams_5668_ = _args[4];
lean_object* v___x_5669_ = _args[5];
lean_object* v_a_5670_ = _args[6];
lean_object* v_a_5671_ = _args[7];
lean_object* v___x_5672_ = _args[8];
lean_object* v_sizeOfFns_5673_ = _args[9];
lean_object* v_recMap_5674_ = _args[10];
lean_object* v___x_5675_ = _args[11];
lean_object* v_name_5676_ = _args[12];
lean_object* v_xs_5677_ = _args[13];
lean_object* v_x_5678_ = _args[14];
lean_object* v___y_5679_ = _args[15];
lean_object* v___y_5680_ = _args[16];
lean_object* v___y_5681_ = _args[17];
lean_object* v___y_5682_ = _args[18];
lean_object* v___y_5683_ = _args[19];
_start:
{
uint8_t v___x_18476__boxed_5684_; lean_object* v_res_5685_; 
v___x_18476__boxed_5684_ = lean_unbox(v___x_5669_);
v_res_5685_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__1(v_numParams_5664_, v_ctorName_5665_, v___x_5666_, v_indInfo_5667_, v_levelParams_5668_, v___x_18476__boxed_5684_, v_a_5670_, v_a_5671_, v___x_5672_, v_sizeOfFns_5673_, v_recMap_5674_, v___x_5675_, v_name_5676_, v_xs_5677_, v_x_5678_, v___y_5679_, v___y_5680_, v___y_5681_, v___y_5682_);
lean_dec_ref(v_x_5678_);
return v_res_5685_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0_spec__0(lean_object* v_msg_5686_, lean_object* v___y_5687_, lean_object* v___y_5688_, lean_object* v___y_5689_, lean_object* v___y_5690_){
_start:
{
lean_object* v___x_5692_; lean_object* v___x_5693_; lean_object* v_toApplicative_5694_; lean_object* v___x_5696_; uint8_t v_isShared_5697_; uint8_t v_isSharedCheck_5755_; 
v___x_5692_ = lean_obj_once(&l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__0, &l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__0_once, _init_l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__0);
v___x_5693_ = l_ReaderT_instMonad___redArg(v___x_5692_);
v_toApplicative_5694_ = lean_ctor_get(v___x_5693_, 0);
v_isSharedCheck_5755_ = !lean_is_exclusive(v___x_5693_);
if (v_isSharedCheck_5755_ == 0)
{
lean_object* v_unused_5756_; 
v_unused_5756_ = lean_ctor_get(v___x_5693_, 1);
lean_dec(v_unused_5756_);
v___x_5696_ = v___x_5693_;
v_isShared_5697_ = v_isSharedCheck_5755_;
goto v_resetjp_5695_;
}
else
{
lean_inc(v_toApplicative_5694_);
lean_dec(v___x_5693_);
v___x_5696_ = lean_box(0);
v_isShared_5697_ = v_isSharedCheck_5755_;
goto v_resetjp_5695_;
}
v_resetjp_5695_:
{
lean_object* v_toFunctor_5698_; lean_object* v_toSeq_5699_; lean_object* v_toSeqLeft_5700_; lean_object* v_toSeqRight_5701_; lean_object* v___x_5703_; uint8_t v_isShared_5704_; uint8_t v_isSharedCheck_5753_; 
v_toFunctor_5698_ = lean_ctor_get(v_toApplicative_5694_, 0);
v_toSeq_5699_ = lean_ctor_get(v_toApplicative_5694_, 2);
v_toSeqLeft_5700_ = lean_ctor_get(v_toApplicative_5694_, 3);
v_toSeqRight_5701_ = lean_ctor_get(v_toApplicative_5694_, 4);
v_isSharedCheck_5753_ = !lean_is_exclusive(v_toApplicative_5694_);
if (v_isSharedCheck_5753_ == 0)
{
lean_object* v_unused_5754_; 
v_unused_5754_ = lean_ctor_get(v_toApplicative_5694_, 1);
lean_dec(v_unused_5754_);
v___x_5703_ = v_toApplicative_5694_;
v_isShared_5704_ = v_isSharedCheck_5753_;
goto v_resetjp_5702_;
}
else
{
lean_inc(v_toSeqRight_5701_);
lean_inc(v_toSeqLeft_5700_);
lean_inc(v_toSeq_5699_);
lean_inc(v_toFunctor_5698_);
lean_dec(v_toApplicative_5694_);
v___x_5703_ = lean_box(0);
v_isShared_5704_ = v_isSharedCheck_5753_;
goto v_resetjp_5702_;
}
v_resetjp_5702_:
{
lean_object* v___f_5705_; lean_object* v___f_5706_; lean_object* v___f_5707_; lean_object* v___f_5708_; lean_object* v___x_5709_; lean_object* v___f_5710_; lean_object* v___f_5711_; lean_object* v___f_5712_; lean_object* v___x_5714_; 
v___f_5705_ = ((lean_object*)(l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__1));
v___f_5706_ = ((lean_object*)(l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__2));
lean_inc_ref(v_toFunctor_5698_);
v___f_5707_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1);
lean_closure_set(v___f_5707_, 0, v_toFunctor_5698_);
v___f_5708_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_5708_, 0, v_toFunctor_5698_);
v___x_5709_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_5709_, 0, v___f_5707_);
lean_ctor_set(v___x_5709_, 1, v___f_5708_);
v___f_5710_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_5710_, 0, v_toSeqRight_5701_);
v___f_5711_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1);
lean_closure_set(v___f_5711_, 0, v_toSeqLeft_5700_);
v___f_5712_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1);
lean_closure_set(v___f_5712_, 0, v_toSeq_5699_);
if (v_isShared_5704_ == 0)
{
lean_ctor_set(v___x_5703_, 4, v___f_5710_);
lean_ctor_set(v___x_5703_, 3, v___f_5711_);
lean_ctor_set(v___x_5703_, 2, v___f_5712_);
lean_ctor_set(v___x_5703_, 1, v___f_5705_);
lean_ctor_set(v___x_5703_, 0, v___x_5709_);
v___x_5714_ = v___x_5703_;
goto v_reusejp_5713_;
}
else
{
lean_object* v_reuseFailAlloc_5752_; 
v_reuseFailAlloc_5752_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_5752_, 0, v___x_5709_);
lean_ctor_set(v_reuseFailAlloc_5752_, 1, v___f_5705_);
lean_ctor_set(v_reuseFailAlloc_5752_, 2, v___f_5712_);
lean_ctor_set(v_reuseFailAlloc_5752_, 3, v___f_5711_);
lean_ctor_set(v_reuseFailAlloc_5752_, 4, v___f_5710_);
v___x_5714_ = v_reuseFailAlloc_5752_;
goto v_reusejp_5713_;
}
v_reusejp_5713_:
{
lean_object* v___x_5716_; 
if (v_isShared_5697_ == 0)
{
lean_ctor_set(v___x_5696_, 1, v___f_5706_);
lean_ctor_set(v___x_5696_, 0, v___x_5714_);
v___x_5716_ = v___x_5696_;
goto v_reusejp_5715_;
}
else
{
lean_object* v_reuseFailAlloc_5751_; 
v_reuseFailAlloc_5751_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_5751_, 0, v___x_5714_);
lean_ctor_set(v_reuseFailAlloc_5751_, 1, v___f_5706_);
v___x_5716_ = v_reuseFailAlloc_5751_;
goto v_reusejp_5715_;
}
v_reusejp_5715_:
{
lean_object* v___x_5717_; lean_object* v_toApplicative_5718_; lean_object* v___x_5720_; uint8_t v_isShared_5721_; uint8_t v_isSharedCheck_5749_; 
v___x_5717_ = l_ReaderT_instMonad___redArg(v___x_5716_);
v_toApplicative_5718_ = lean_ctor_get(v___x_5717_, 0);
v_isSharedCheck_5749_ = !lean_is_exclusive(v___x_5717_);
if (v_isSharedCheck_5749_ == 0)
{
lean_object* v_unused_5750_; 
v_unused_5750_ = lean_ctor_get(v___x_5717_, 1);
lean_dec(v_unused_5750_);
v___x_5720_ = v___x_5717_;
v_isShared_5721_ = v_isSharedCheck_5749_;
goto v_resetjp_5719_;
}
else
{
lean_inc(v_toApplicative_5718_);
lean_dec(v___x_5717_);
v___x_5720_ = lean_box(0);
v_isShared_5721_ = v_isSharedCheck_5749_;
goto v_resetjp_5719_;
}
v_resetjp_5719_:
{
lean_object* v_toFunctor_5722_; lean_object* v_toSeq_5723_; lean_object* v_toSeqLeft_5724_; lean_object* v_toSeqRight_5725_; lean_object* v___x_5727_; uint8_t v_isShared_5728_; uint8_t v_isSharedCheck_5747_; 
v_toFunctor_5722_ = lean_ctor_get(v_toApplicative_5718_, 0);
v_toSeq_5723_ = lean_ctor_get(v_toApplicative_5718_, 2);
v_toSeqLeft_5724_ = lean_ctor_get(v_toApplicative_5718_, 3);
v_toSeqRight_5725_ = lean_ctor_get(v_toApplicative_5718_, 4);
v_isSharedCheck_5747_ = !lean_is_exclusive(v_toApplicative_5718_);
if (v_isSharedCheck_5747_ == 0)
{
lean_object* v_unused_5748_; 
v_unused_5748_ = lean_ctor_get(v_toApplicative_5718_, 1);
lean_dec(v_unused_5748_);
v___x_5727_ = v_toApplicative_5718_;
v_isShared_5728_ = v_isSharedCheck_5747_;
goto v_resetjp_5726_;
}
else
{
lean_inc(v_toSeqRight_5725_);
lean_inc(v_toSeqLeft_5724_);
lean_inc(v_toSeq_5723_);
lean_inc(v_toFunctor_5722_);
lean_dec(v_toApplicative_5718_);
v___x_5727_ = lean_box(0);
v_isShared_5728_ = v_isSharedCheck_5747_;
goto v_resetjp_5726_;
}
v_resetjp_5726_:
{
lean_object* v___f_5729_; lean_object* v___f_5730_; lean_object* v___f_5731_; lean_object* v___f_5732_; lean_object* v___x_5733_; lean_object* v___f_5734_; lean_object* v___f_5735_; lean_object* v___f_5736_; lean_object* v___x_5738_; 
v___f_5729_ = ((lean_object*)(l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__3));
v___f_5730_ = ((lean_object*)(l_panic___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__1___closed__4));
lean_inc_ref(v_toFunctor_5722_);
v___f_5731_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1);
lean_closure_set(v___f_5731_, 0, v_toFunctor_5722_);
v___f_5732_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_5732_, 0, v_toFunctor_5722_);
v___x_5733_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_5733_, 0, v___f_5731_);
lean_ctor_set(v___x_5733_, 1, v___f_5732_);
v___f_5734_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_5734_, 0, v_toSeqRight_5725_);
v___f_5735_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1);
lean_closure_set(v___f_5735_, 0, v_toSeqLeft_5724_);
v___f_5736_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1);
lean_closure_set(v___f_5736_, 0, v_toSeq_5723_);
if (v_isShared_5728_ == 0)
{
lean_ctor_set(v___x_5727_, 4, v___f_5734_);
lean_ctor_set(v___x_5727_, 3, v___f_5735_);
lean_ctor_set(v___x_5727_, 2, v___f_5736_);
lean_ctor_set(v___x_5727_, 1, v___f_5729_);
lean_ctor_set(v___x_5727_, 0, v___x_5733_);
v___x_5738_ = v___x_5727_;
goto v_reusejp_5737_;
}
else
{
lean_object* v_reuseFailAlloc_5746_; 
v_reuseFailAlloc_5746_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_5746_, 0, v___x_5733_);
lean_ctor_set(v_reuseFailAlloc_5746_, 1, v___f_5729_);
lean_ctor_set(v_reuseFailAlloc_5746_, 2, v___f_5736_);
lean_ctor_set(v_reuseFailAlloc_5746_, 3, v___f_5735_);
lean_ctor_set(v_reuseFailAlloc_5746_, 4, v___f_5734_);
v___x_5738_ = v_reuseFailAlloc_5746_;
goto v_reusejp_5737_;
}
v_reusejp_5737_:
{
lean_object* v___x_5740_; 
if (v_isShared_5721_ == 0)
{
lean_ctor_set(v___x_5720_, 1, v___f_5730_);
lean_ctor_set(v___x_5720_, 0, v___x_5738_);
v___x_5740_ = v___x_5720_;
goto v_reusejp_5739_;
}
else
{
lean_object* v_reuseFailAlloc_5745_; 
v_reuseFailAlloc_5745_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_5745_, 0, v___x_5738_);
lean_ctor_set(v_reuseFailAlloc_5745_, 1, v___f_5730_);
v___x_5740_ = v_reuseFailAlloc_5745_;
goto v_reusejp_5739_;
}
v_reusejp_5739_:
{
lean_object* v___x_5741_; lean_object* v___x_5742_; lean_object* v___x_16972__overap_5743_; lean_object* v___x_5744_; 
v___x_5741_ = lean_box(0);
v___x_5742_ = l_instInhabitedOfMonad___redArg(v___x_5740_, v___x_5741_);
v___x_16972__overap_5743_ = lean_panic_fn(v___x_5742_, v_msg_5686_);
v___x_5744_ = lean_apply_5(v___x_16972__overap_5743_, v___y_5687_, v___y_5688_, v___y_5689_, v___y_5690_, lean_box(0));
return v___x_5744_;
}
}
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0_spec__0___boxed(lean_object* v_msg_5757_, lean_object* v___y_5758_, lean_object* v___y_5759_, lean_object* v___y_5760_, lean_object* v___y_5761_, lean_object* v___y_5762_){
_start:
{
lean_object* v_res_5763_; 
v_res_5763_ = l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0_spec__0(v_msg_5757_, v___y_5758_, v___y_5759_, v___y_5760_, v___y_5761_);
return v_res_5763_;
}
}
static lean_object* _init_l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__1(void){
_start:
{
lean_object* v___x_5765_; lean_object* v___x_5766_; 
v___x_5765_ = ((lean_object*)(l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__0));
v___x_5766_ = l_Lean_stringToMessageData(v___x_5765_);
return v___x_5766_;
}
}
static lean_object* _init_l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__3(void){
_start:
{
lean_object* v___x_5768_; lean_object* v___x_5769_; lean_object* v___x_5770_; lean_object* v___x_5771_; lean_object* v___x_5772_; lean_object* v___x_5773_; 
v___x_5768_ = ((lean_object*)(l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__6));
v___x_5769_ = lean_unsigned_to_nat(11u);
v___x_5770_ = lean_unsigned_to_nat(122u);
v___x_5771_ = ((lean_object*)(l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__2));
v___x_5772_ = ((lean_object*)(l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__4));
v___x_5773_ = l_mkPanicMessageWithDecl(v___x_5772_, v___x_5771_, v___x_5770_, v___x_5769_, v___x_5768_);
return v___x_5773_;
}
}
LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0(lean_object* v_constName_5774_, lean_object* v___y_5775_, lean_object* v___y_5776_, lean_object* v___y_5777_, lean_object* v___y_5778_){
_start:
{
lean_object* v___x_5788_; lean_object* v_env_5789_; uint8_t v___x_5790_; lean_object* v___x_5791_; 
v___x_5788_ = lean_st_ref_get(v___y_5778_);
v_env_5789_ = lean_ctor_get(v___x_5788_, 0);
lean_inc_ref(v_env_5789_);
lean_dec(v___x_5788_);
v___x_5790_ = 0;
lean_inc(v_constName_5774_);
v___x_5791_ = l_Lean_Environment_findAsync_x3f(v_env_5789_, v_constName_5774_, v___x_5790_);
if (lean_obj_tag(v___x_5791_) == 1)
{
lean_object* v_val_5792_; uint8_t v_kind_5793_; 
v_val_5792_ = lean_ctor_get(v___x_5791_, 0);
lean_inc(v_val_5792_);
lean_dec_ref(v___x_5791_);
v_kind_5793_ = lean_ctor_get_uint8(v_val_5792_, sizeof(void*)*3);
if (v_kind_5793_ == 6)
{
lean_object* v___x_5794_; 
v___x_5794_ = l_Lean_AsyncConstantInfo_toConstantInfo(v_val_5792_);
if (lean_obj_tag(v___x_5794_) == 6)
{
lean_object* v_val_5795_; lean_object* v___x_5797_; uint8_t v_isShared_5798_; uint8_t v_isSharedCheck_5802_; 
lean_dec(v___y_5778_);
lean_dec_ref(v___y_5777_);
lean_dec(v___y_5776_);
lean_dec_ref(v___y_5775_);
lean_dec(v_constName_5774_);
v_val_5795_ = lean_ctor_get(v___x_5794_, 0);
v_isSharedCheck_5802_ = !lean_is_exclusive(v___x_5794_);
if (v_isSharedCheck_5802_ == 0)
{
v___x_5797_ = v___x_5794_;
v_isShared_5798_ = v_isSharedCheck_5802_;
goto v_resetjp_5796_;
}
else
{
lean_inc(v_val_5795_);
lean_dec(v___x_5794_);
v___x_5797_ = lean_box(0);
v_isShared_5798_ = v_isSharedCheck_5802_;
goto v_resetjp_5796_;
}
v_resetjp_5796_:
{
lean_object* v___x_5800_; 
if (v_isShared_5798_ == 0)
{
lean_ctor_set_tag(v___x_5797_, 0);
v___x_5800_ = v___x_5797_;
goto v_reusejp_5799_;
}
else
{
lean_object* v_reuseFailAlloc_5801_; 
v_reuseFailAlloc_5801_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5801_, 0, v_val_5795_);
v___x_5800_ = v_reuseFailAlloc_5801_;
goto v_reusejp_5799_;
}
v_reusejp_5799_:
{
return v___x_5800_;
}
}
}
else
{
lean_object* v___x_5803_; lean_object* v___x_5804_; 
lean_dec_ref(v___x_5794_);
v___x_5803_ = lean_obj_once(&l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__3, &l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__3_once, _init_l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__3);
lean_inc(v___y_5778_);
lean_inc_ref(v___y_5777_);
lean_inc(v___y_5776_);
lean_inc_ref(v___y_5775_);
v___x_5804_ = l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0_spec__0(v___x_5803_, v___y_5775_, v___y_5776_, v___y_5777_, v___y_5778_);
if (lean_obj_tag(v___x_5804_) == 0)
{
lean_object* v_a_5805_; lean_object* v___x_5807_; uint8_t v_isShared_5808_; uint8_t v_isSharedCheck_5813_; 
v_a_5805_ = lean_ctor_get(v___x_5804_, 0);
v_isSharedCheck_5813_ = !lean_is_exclusive(v___x_5804_);
if (v_isSharedCheck_5813_ == 0)
{
v___x_5807_ = v___x_5804_;
v_isShared_5808_ = v_isSharedCheck_5813_;
goto v_resetjp_5806_;
}
else
{
lean_inc(v_a_5805_);
lean_dec(v___x_5804_);
v___x_5807_ = lean_box(0);
v_isShared_5808_ = v_isSharedCheck_5813_;
goto v_resetjp_5806_;
}
v_resetjp_5806_:
{
if (lean_obj_tag(v_a_5805_) == 0)
{
lean_del_object(v___x_5807_);
goto v___jp_5780_;
}
else
{
lean_object* v_val_5809_; lean_object* v___x_5811_; 
lean_dec(v___y_5778_);
lean_dec_ref(v___y_5777_);
lean_dec(v___y_5776_);
lean_dec_ref(v___y_5775_);
lean_dec(v_constName_5774_);
v_val_5809_ = lean_ctor_get(v_a_5805_, 0);
lean_inc(v_val_5809_);
lean_dec_ref(v_a_5805_);
if (v_isShared_5808_ == 0)
{
lean_ctor_set(v___x_5807_, 0, v_val_5809_);
v___x_5811_ = v___x_5807_;
goto v_reusejp_5810_;
}
else
{
lean_object* v_reuseFailAlloc_5812_; 
v_reuseFailAlloc_5812_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5812_, 0, v_val_5809_);
v___x_5811_ = v_reuseFailAlloc_5812_;
goto v_reusejp_5810_;
}
v_reusejp_5810_:
{
return v___x_5811_;
}
}
}
}
else
{
lean_object* v_a_5814_; lean_object* v___x_5816_; uint8_t v_isShared_5817_; uint8_t v_isSharedCheck_5821_; 
lean_dec(v___y_5778_);
lean_dec_ref(v___y_5777_);
lean_dec(v___y_5776_);
lean_dec_ref(v___y_5775_);
lean_dec(v_constName_5774_);
v_a_5814_ = lean_ctor_get(v___x_5804_, 0);
v_isSharedCheck_5821_ = !lean_is_exclusive(v___x_5804_);
if (v_isSharedCheck_5821_ == 0)
{
v___x_5816_ = v___x_5804_;
v_isShared_5817_ = v_isSharedCheck_5821_;
goto v_resetjp_5815_;
}
else
{
lean_inc(v_a_5814_);
lean_dec(v___x_5804_);
v___x_5816_ = lean_box(0);
v_isShared_5817_ = v_isSharedCheck_5821_;
goto v_resetjp_5815_;
}
v_resetjp_5815_:
{
lean_object* v___x_5819_; 
if (v_isShared_5817_ == 0)
{
v___x_5819_ = v___x_5816_;
goto v_reusejp_5818_;
}
else
{
lean_object* v_reuseFailAlloc_5820_; 
v_reuseFailAlloc_5820_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5820_, 0, v_a_5814_);
v___x_5819_ = v_reuseFailAlloc_5820_;
goto v_reusejp_5818_;
}
v_reusejp_5818_:
{
return v___x_5819_;
}
}
}
}
}
else
{
lean_dec(v_val_5792_);
goto v___jp_5780_;
}
}
else
{
lean_dec(v___x_5791_);
goto v___jp_5780_;
}
v___jp_5780_:
{
lean_object* v___x_5781_; uint8_t v___x_5782_; lean_object* v___x_5783_; lean_object* v___x_5784_; lean_object* v___x_5785_; lean_object* v___x_5786_; lean_object* v___x_5787_; 
v___x_5781_ = lean_obj_once(&l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__1, &l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__1_once, _init_l_Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0___closed__1);
v___x_5782_ = 0;
v___x_5783_ = l_Lean_MessageData_ofConstName(v_constName_5774_, v___x_5782_);
v___x_5784_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_5784_, 0, v___x_5781_);
lean_ctor_set(v___x_5784_, 1, v___x_5783_);
v___x_5785_ = lean_obj_once(&l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__1, &l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__1_once, _init_l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___closed__1);
v___x_5786_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_5786_, 0, v___x_5784_);
lean_ctor_set(v___x_5786_, 1, v___x_5785_);
v___x_5787_ = l_Lean_throwError___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__0___redArg(v___x_5786_, v___y_5775_, v___y_5776_, v___y_5777_, v___y_5778_);
lean_dec(v___y_5778_);
lean_dec_ref(v___y_5777_);
lean_dec(v___y_5776_);
lean_dec_ref(v___y_5775_);
return v___x_5787_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0___boxed(lean_object* v_constName_5822_, lean_object* v___y_5823_, lean_object* v___y_5824_, lean_object* v___y_5825_, lean_object* v___y_5826_, lean_object* v___y_5827_){
_start:
{
lean_object* v_res_5828_; 
v_res_5828_ = l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0(v_constName_5822_, v___y_5823_, v___y_5824_, v___y_5825_, v___y_5826_);
return v_res_5828_;
}
}
LEAN_EXPORT lean_object* l_Lean_ofExcept___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__1___redArg(lean_object* v_x_5829_, lean_object* v___y_5830_, lean_object* v___y_5831_, lean_object* v___y_5832_, lean_object* v___y_5833_){
_start:
{
if (lean_obj_tag(v_x_5829_) == 0)
{
lean_object* v_a_5835_; lean_object* v___x_5836_; lean_object* v___x_5837_; 
v_a_5835_ = lean_ctor_get(v_x_5829_, 0);
lean_inc(v_a_5835_);
lean_dec_ref(v_x_5829_);
v___x_5836_ = l_Lean_stringToMessageData(v_a_5835_);
v___x_5837_ = l_Lean_throwError___at___00Lean_getConstInfoRec___at___00Lean_Meta_mkSizeOfFn_spec__0_spec__0___redArg(v___x_5836_, v___y_5830_, v___y_5831_, v___y_5832_, v___y_5833_);
return v___x_5837_;
}
else
{
lean_object* v_a_5838_; lean_object* v___x_5840_; uint8_t v_isShared_5841_; uint8_t v_isSharedCheck_5845_; 
v_a_5838_ = lean_ctor_get(v_x_5829_, 0);
v_isSharedCheck_5845_ = !lean_is_exclusive(v_x_5829_);
if (v_isSharedCheck_5845_ == 0)
{
v___x_5840_ = v_x_5829_;
v_isShared_5841_ = v_isSharedCheck_5845_;
goto v_resetjp_5839_;
}
else
{
lean_inc(v_a_5838_);
lean_dec(v_x_5829_);
v___x_5840_ = lean_box(0);
v_isShared_5841_ = v_isSharedCheck_5845_;
goto v_resetjp_5839_;
}
v_resetjp_5839_:
{
lean_object* v___x_5843_; 
if (v_isShared_5841_ == 0)
{
lean_ctor_set_tag(v___x_5840_, 0);
v___x_5843_ = v___x_5840_;
goto v_reusejp_5842_;
}
else
{
lean_object* v_reuseFailAlloc_5844_; 
v_reuseFailAlloc_5844_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5844_, 0, v_a_5838_);
v___x_5843_ = v_reuseFailAlloc_5844_;
goto v_reusejp_5842_;
}
v_reusejp_5842_:
{
return v___x_5843_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_ofExcept___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__1___redArg___boxed(lean_object* v_x_5846_, lean_object* v___y_5847_, lean_object* v___y_5848_, lean_object* v___y_5849_, lean_object* v___y_5850_, lean_object* v___y_5851_){
_start:
{
lean_object* v_res_5852_; 
v_res_5852_ = l_Lean_ofExcept___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__1___redArg(v_x_5846_, v___y_5847_, v___y_5848_, v___y_5849_, v___y_5850_);
lean_dec(v___y_5850_);
lean_dec_ref(v___y_5849_);
lean_dec(v___y_5848_);
lean_dec_ref(v___y_5847_);
return v_res_5852_;
}
}
static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__15(void){
_start:
{
lean_object* v___x_5883_; 
v___x_5883_ = l_Array_mkArray0(lean_box(0));
return v___x_5883_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2(lean_object* v_ctorName_5884_, lean_object* v_indInfo_5885_, lean_object* v_sizeOfFns_5886_, lean_object* v_recMap_5887_, lean_object* v___y_5888_, lean_object* v___y_5889_, lean_object* v___y_5890_, lean_object* v___y_5891_){
_start:
{
lean_object* v___x_5893_; 
lean_inc(v___y_5891_);
lean_inc_ref(v___y_5890_);
lean_inc(v___y_5889_);
lean_inc_ref(v___y_5888_);
lean_inc(v_ctorName_5884_);
v___x_5893_ = l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__0(v_ctorName_5884_, v___y_5888_, v___y_5889_, v___y_5890_, v___y_5891_);
if (lean_obj_tag(v___x_5893_) == 0)
{
lean_object* v_a_5894_; lean_object* v___x_5895_; lean_object* v_env_5896_; lean_object* v___x_5897_; lean_object* v___x_5898_; lean_object* v___x_5899_; 
v_a_5894_ = lean_ctor_get(v___x_5893_, 0);
lean_inc(v_a_5894_);
lean_dec_ref(v___x_5893_);
v___x_5895_ = lean_st_ref_get(v___y_5891_);
v_env_5896_ = lean_ctor_get(v___x_5895_, 0);
lean_inc_ref(v_env_5896_);
lean_dec(v___x_5895_);
v___x_5897_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__1));
v___x_5898_ = l_Lean_getAttributeImpl(v_env_5896_, v___x_5897_);
v___x_5899_ = l_Lean_ofExcept___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__1___redArg(v___x_5898_, v___y_5888_, v___y_5889_, v___y_5890_, v___y_5891_);
if (lean_obj_tag(v___x_5899_) == 0)
{
lean_object* v_a_5900_; lean_object* v___x_5901_; lean_object* v_env_5902_; lean_object* v___x_5903_; lean_object* v___x_5904_; lean_object* v___x_5905_; lean_object* v___x_5906_; 
v_a_5900_ = lean_ctor_get(v___x_5899_, 0);
lean_inc(v_a_5900_);
lean_dec_ref(v___x_5899_);
v___x_5901_ = lean_st_ref_get(v___y_5891_);
v_env_5902_ = lean_ctor_get(v___x_5901_, 0);
lean_inc_ref(v_env_5902_);
lean_dec(v___x_5901_);
v___x_5903_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__2));
v___x_5904_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__3));
v___x_5905_ = l_Lean_getAttributeImpl(v_env_5902_, v___x_5904_);
v___x_5906_ = l_Lean_ofExcept___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__1___redArg(v___x_5905_, v___y_5888_, v___y_5889_, v___y_5890_, v___y_5891_);
if (lean_obj_tag(v___x_5906_) == 0)
{
lean_object* v_toConstantVal_5907_; lean_object* v_a_5908_; lean_object* v_numParams_5909_; lean_object* v_name_5910_; lean_object* v_levelParams_5911_; lean_object* v_type_5912_; lean_object* v___x_5914_; uint8_t v_isShared_5915_; uint8_t v_isSharedCheck_5939_; 
v_toConstantVal_5907_ = lean_ctor_get(v_a_5894_, 0);
lean_inc_ref(v_toConstantVal_5907_);
v_a_5908_ = lean_ctor_get(v___x_5906_, 0);
lean_inc(v_a_5908_);
lean_dec_ref(v___x_5906_);
v_numParams_5909_ = lean_ctor_get(v_a_5894_, 3);
lean_inc(v_numParams_5909_);
lean_dec(v_a_5894_);
v_name_5910_ = lean_ctor_get(v_toConstantVal_5907_, 0);
v_levelParams_5911_ = lean_ctor_get(v_toConstantVal_5907_, 1);
v_type_5912_ = lean_ctor_get(v_toConstantVal_5907_, 2);
v_isSharedCheck_5939_ = !lean_is_exclusive(v_toConstantVal_5907_);
if (v_isSharedCheck_5939_ == 0)
{
v___x_5914_ = v_toConstantVal_5907_;
v_isShared_5915_ = v_isSharedCheck_5939_;
goto v_resetjp_5913_;
}
else
{
lean_inc(v_type_5912_);
lean_inc(v_levelParams_5911_);
lean_inc(v_name_5910_);
lean_dec(v_toConstantVal_5907_);
v___x_5914_ = lean_box(0);
v_isShared_5915_ = v_isSharedCheck_5939_;
goto v_resetjp_5913_;
}
v_resetjp_5913_:
{
lean_object* v_ref_5916_; lean_object* v___x_5917_; lean_object* v___x_5918_; uint8_t v___x_5919_; lean_object* v___x_5920_; lean_object* v___x_5921_; lean_object* v___x_5922_; lean_object* v___x_5923_; lean_object* v___x_5924_; lean_object* v___x_5925_; lean_object* v___x_5926_; lean_object* v___x_5927_; lean_object* v___x_5928_; lean_object* v___x_5930_; 
v_ref_5916_ = lean_ctor_get(v___y_5890_, 5);
v___x_5917_ = lean_box(0);
lean_inc(v_levelParams_5911_);
v___x_5918_ = l_List_mapTR_loop___at___00Lean_Meta_mkSizeOfFn_spec__1(v_levelParams_5911_, v___x_5917_);
v___x_5919_ = 0;
v___x_5920_ = l_Lean_SourceInfo_fromRef(v_ref_5916_, v___x_5919_);
v___x_5921_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__7));
lean_inc(v___x_5920_);
v___x_5922_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_5922_, 0, v___x_5920_);
lean_ctor_set(v___x_5922_, 1, v___x_5903_);
v___x_5923_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__9));
v___x_5924_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__11));
v___x_5925_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__13));
v___x_5926_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__14));
lean_inc(v___x_5920_);
v___x_5927_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_5927_, 0, v___x_5920_);
lean_ctor_set(v___x_5927_, 1, v___x_5926_);
v___x_5928_ = lean_obj_once(&l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__15, &l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__15_once, _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___closed__15);
lean_inc(v___x_5920_);
if (v_isShared_5915_ == 0)
{
lean_ctor_set_tag(v___x_5914_, 1);
lean_ctor_set(v___x_5914_, 2, v___x_5928_);
lean_ctor_set(v___x_5914_, 1, v___x_5923_);
lean_ctor_set(v___x_5914_, 0, v___x_5920_);
v___x_5930_ = v___x_5914_;
goto v_reusejp_5929_;
}
else
{
lean_object* v_reuseFailAlloc_5938_; 
v_reuseFailAlloc_5938_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_5938_, 0, v___x_5920_);
lean_ctor_set(v_reuseFailAlloc_5938_, 1, v___x_5923_);
lean_ctor_set(v_reuseFailAlloc_5938_, 2, v___x_5928_);
v___x_5930_ = v_reuseFailAlloc_5938_;
goto v_reusejp_5929_;
}
v_reusejp_5929_:
{
lean_object* v___x_5931_; lean_object* v___x_5932_; lean_object* v___x_5933_; lean_object* v___x_5934_; lean_object* v___x_5935_; lean_object* v___f_5936_; lean_object* v___x_5937_; 
lean_inc(v___x_5920_);
v___x_5931_ = l_Lean_Syntax_node2(v___x_5920_, v___x_5925_, v___x_5927_, v___x_5930_);
lean_inc(v___x_5920_);
v___x_5932_ = l_Lean_Syntax_node1(v___x_5920_, v___x_5924_, v___x_5931_);
lean_inc(v___x_5920_);
v___x_5933_ = l_Lean_Syntax_node1(v___x_5920_, v___x_5923_, v___x_5932_);
v___x_5934_ = l_Lean_Syntax_node2(v___x_5920_, v___x_5921_, v___x_5922_, v___x_5933_);
v___x_5935_ = lean_box(v___x_5919_);
v___f_5936_ = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__1___boxed), 20, 13);
lean_closure_set(v___f_5936_, 0, v_numParams_5909_);
lean_closure_set(v___f_5936_, 1, v_ctorName_5884_);
lean_closure_set(v___f_5936_, 2, v___x_5918_);
lean_closure_set(v___f_5936_, 3, v_indInfo_5885_);
lean_closure_set(v___f_5936_, 4, v_levelParams_5911_);
lean_closure_set(v___f_5936_, 5, v___x_5935_);
lean_closure_set(v___f_5936_, 6, v_a_5900_);
lean_closure_set(v___f_5936_, 7, v_a_5908_);
lean_closure_set(v___f_5936_, 8, v___x_5934_);
lean_closure_set(v___f_5936_, 9, v_sizeOfFns_5886_);
lean_closure_set(v___f_5936_, 10, v_recMap_5887_);
lean_closure_set(v___f_5936_, 11, v___x_5917_);
lean_closure_set(v___f_5936_, 12, v_name_5910_);
v___x_5937_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg(v_type_5912_, v___f_5936_, v___x_5919_, v___x_5919_, v___y_5888_, v___y_5889_, v___y_5890_, v___y_5891_);
return v___x_5937_;
}
}
}
else
{
lean_object* v_a_5940_; lean_object* v___x_5942_; uint8_t v_isShared_5943_; uint8_t v_isSharedCheck_5947_; 
lean_dec(v_a_5900_);
lean_dec(v_a_5894_);
lean_dec(v___y_5891_);
lean_dec_ref(v___y_5890_);
lean_dec(v___y_5889_);
lean_dec_ref(v___y_5888_);
lean_dec(v_recMap_5887_);
lean_dec_ref(v_sizeOfFns_5886_);
lean_dec_ref(v_indInfo_5885_);
lean_dec(v_ctorName_5884_);
v_a_5940_ = lean_ctor_get(v___x_5906_, 0);
v_isSharedCheck_5947_ = !lean_is_exclusive(v___x_5906_);
if (v_isSharedCheck_5947_ == 0)
{
v___x_5942_ = v___x_5906_;
v_isShared_5943_ = v_isSharedCheck_5947_;
goto v_resetjp_5941_;
}
else
{
lean_inc(v_a_5940_);
lean_dec(v___x_5906_);
v___x_5942_ = lean_box(0);
v_isShared_5943_ = v_isSharedCheck_5947_;
goto v_resetjp_5941_;
}
v_resetjp_5941_:
{
lean_object* v___x_5945_; 
if (v_isShared_5943_ == 0)
{
v___x_5945_ = v___x_5942_;
goto v_reusejp_5944_;
}
else
{
lean_object* v_reuseFailAlloc_5946_; 
v_reuseFailAlloc_5946_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5946_, 0, v_a_5940_);
v___x_5945_ = v_reuseFailAlloc_5946_;
goto v_reusejp_5944_;
}
v_reusejp_5944_:
{
return v___x_5945_;
}
}
}
}
else
{
lean_object* v_a_5948_; lean_object* v___x_5950_; uint8_t v_isShared_5951_; uint8_t v_isSharedCheck_5955_; 
lean_dec(v_a_5894_);
lean_dec(v___y_5891_);
lean_dec_ref(v___y_5890_);
lean_dec(v___y_5889_);
lean_dec_ref(v___y_5888_);
lean_dec(v_recMap_5887_);
lean_dec_ref(v_sizeOfFns_5886_);
lean_dec_ref(v_indInfo_5885_);
lean_dec(v_ctorName_5884_);
v_a_5948_ = lean_ctor_get(v___x_5899_, 0);
v_isSharedCheck_5955_ = !lean_is_exclusive(v___x_5899_);
if (v_isSharedCheck_5955_ == 0)
{
v___x_5950_ = v___x_5899_;
v_isShared_5951_ = v_isSharedCheck_5955_;
goto v_resetjp_5949_;
}
else
{
lean_inc(v_a_5948_);
lean_dec(v___x_5899_);
v___x_5950_ = lean_box(0);
v_isShared_5951_ = v_isSharedCheck_5955_;
goto v_resetjp_5949_;
}
v_resetjp_5949_:
{
lean_object* v___x_5953_; 
if (v_isShared_5951_ == 0)
{
v___x_5953_ = v___x_5950_;
goto v_reusejp_5952_;
}
else
{
lean_object* v_reuseFailAlloc_5954_; 
v_reuseFailAlloc_5954_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5954_, 0, v_a_5948_);
v___x_5953_ = v_reuseFailAlloc_5954_;
goto v_reusejp_5952_;
}
v_reusejp_5952_:
{
return v___x_5953_;
}
}
}
}
else
{
lean_object* v_a_5956_; lean_object* v___x_5958_; uint8_t v_isShared_5959_; uint8_t v_isSharedCheck_5963_; 
lean_dec(v___y_5891_);
lean_dec_ref(v___y_5890_);
lean_dec(v___y_5889_);
lean_dec_ref(v___y_5888_);
lean_dec(v_recMap_5887_);
lean_dec_ref(v_sizeOfFns_5886_);
lean_dec_ref(v_indInfo_5885_);
lean_dec(v_ctorName_5884_);
v_a_5956_ = lean_ctor_get(v___x_5893_, 0);
v_isSharedCheck_5963_ = !lean_is_exclusive(v___x_5893_);
if (v_isSharedCheck_5963_ == 0)
{
v___x_5958_ = v___x_5893_;
v_isShared_5959_ = v_isSharedCheck_5963_;
goto v_resetjp_5957_;
}
else
{
lean_inc(v_a_5956_);
lean_dec(v___x_5893_);
v___x_5958_ = lean_box(0);
v_isShared_5959_ = v_isSharedCheck_5963_;
goto v_resetjp_5957_;
}
v_resetjp_5957_:
{
lean_object* v___x_5961_; 
if (v_isShared_5959_ == 0)
{
v___x_5961_ = v___x_5958_;
goto v_reusejp_5960_;
}
else
{
lean_object* v_reuseFailAlloc_5962_; 
v_reuseFailAlloc_5962_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5962_, 0, v_a_5956_);
v___x_5961_ = v_reuseFailAlloc_5962_;
goto v_reusejp_5960_;
}
v_reusejp_5960_:
{
return v___x_5961_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___boxed(lean_object* v_ctorName_5964_, lean_object* v_indInfo_5965_, lean_object* v_sizeOfFns_5966_, lean_object* v_recMap_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_){
_start:
{
lean_object* v_res_5973_; 
v_res_5973_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2(v_ctorName_5964_, v_indInfo_5965_, v_sizeOfFns_5966_, v_recMap_5967_, v___y_5968_, v___y_5969_, v___y_5970_, v___y_5971_);
return v_res_5973_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem(lean_object* v_indInfo_5974_, lean_object* v_sizeOfFns_5975_, lean_object* v_recMap_5976_, lean_object* v_ctorName_5977_, lean_object* v_a_5978_, lean_object* v_a_5979_, lean_object* v_a_5980_, lean_object* v_a_5981_){
_start:
{
lean_object* v___f_5983_; uint8_t v___x_5984_; 
lean_inc(v_ctorName_5977_);
v___f_5983_ = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__2___boxed), 9, 4);
lean_closure_set(v___f_5983_, 0, v_ctorName_5977_);
lean_closure_set(v___f_5983_, 1, v_indInfo_5974_);
lean_closure_set(v___f_5983_, 2, v_sizeOfFns_5975_);
lean_closure_set(v___f_5983_, 3, v_recMap_5976_);
v___x_5984_ = l_Lean_isPrivateName(v_ctorName_5977_);
lean_dec(v_ctorName_5977_);
if (v___x_5984_ == 0)
{
uint8_t v___x_5985_; lean_object* v___x_5986_; 
v___x_5985_ = 1;
v___x_5986_ = l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg(v___f_5983_, v___x_5985_, v_a_5978_, v_a_5979_, v_a_5980_, v_a_5981_);
return v___x_5986_;
}
else
{
uint8_t v___x_5987_; lean_object* v___x_5988_; 
v___x_5987_ = 0;
v___x_5988_ = l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg(v___f_5983_, v___x_5987_, v_a_5978_, v_a_5979_, v_a_5980_, v_a_5981_);
return v___x_5988_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___boxed(lean_object* v_indInfo_5989_, lean_object* v_sizeOfFns_5990_, lean_object* v_recMap_5991_, lean_object* v_ctorName_5992_, lean_object* v_a_5993_, lean_object* v_a_5994_, lean_object* v_a_5995_, lean_object* v_a_5996_, lean_object* v_a_5997_){
_start:
{
lean_object* v_res_5998_; 
v_res_5998_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem(v_indInfo_5989_, v_sizeOfFns_5990_, v_recMap_5991_, v_ctorName_5992_, v_a_5993_, v_a_5994_, v_a_5995_, v_a_5996_);
return v_res_5998_;
}
}
LEAN_EXPORT lean_object* l_Lean_ofExcept___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__1(lean_object* v_00_u03b1_5999_, lean_object* v_x_6000_, lean_object* v___y_6001_, lean_object* v___y_6002_, lean_object* v___y_6003_, lean_object* v___y_6004_){
_start:
{
lean_object* v___x_6006_; 
v___x_6006_ = l_Lean_ofExcept___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__1___redArg(v_x_6000_, v___y_6001_, v___y_6002_, v___y_6003_, v___y_6004_);
return v___x_6006_;
}
}
LEAN_EXPORT lean_object* l_Lean_ofExcept___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__1___boxed(lean_object* v_00_u03b1_6007_, lean_object* v_x_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_res_6014_; 
v_res_6014_ = l_Lean_ofExcept___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__1(v_00_u03b1_6007_, v_x_6008_, v___y_6009_, v___y_6010_, v___y_6011_, v___y_6012_);
lean_dec(v___y_6012_);
lean_dec_ref(v___y_6011_);
lean_dec(v___y_6010_);
lean_dec_ref(v___y_6009_);
return v_res_6014_;
}
}
LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__2(lean_object* v_inst_6015_, lean_object* v_R_6016_, lean_object* v_a_6017_, lean_object* v_b_6018_, lean_object* v_c_6019_, lean_object* v___y_6020_, lean_object* v___y_6021_, lean_object* v___y_6022_, lean_object* v___y_6023_){
_start:
{
lean_object* v___x_6025_; 
v___x_6025_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__2___redArg(v_a_6017_, v_b_6018_, v___y_6020_, v___y_6021_, v___y_6022_, v___y_6023_);
return v___x_6025_;
}
}
LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__2___boxed(lean_object* v_inst_6026_, lean_object* v_R_6027_, lean_object* v_a_6028_, lean_object* v_b_6029_, lean_object* v_c_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_){
_start:
{
lean_object* v_res_6036_; 
v_res_6036_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem_spec__2(v_inst_6026_, v_R_6027_, v_a_6028_, v_b_6029_, v_c_6030_, v___y_6031_, v___y_6032_, v___y_6033_, v___y_6034_);
return v_res_6036_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems_spec__0___redArg(lean_object* v_a_6037_, lean_object* v_sizeOfFns_6038_, lean_object* v_recMap_6039_, lean_object* v_as_x27_6040_, lean_object* v_b_6041_, lean_object* v___y_6042_, lean_object* v___y_6043_, lean_object* v___y_6044_, lean_object* v___y_6045_){
_start:
{
if (lean_obj_tag(v_as_x27_6040_) == 0)
{
lean_object* v___x_6047_; 
lean_dec(v___y_6045_);
lean_dec_ref(v___y_6044_);
lean_dec(v___y_6043_);
lean_dec_ref(v___y_6042_);
lean_dec(v_recMap_6039_);
lean_dec_ref(v_sizeOfFns_6038_);
lean_dec_ref(v_a_6037_);
v___x_6047_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6047_, 0, v_b_6041_);
return v___x_6047_;
}
else
{
lean_object* v_head_6048_; lean_object* v_tail_6049_; lean_object* v___x_6050_; 
v_head_6048_ = lean_ctor_get(v_as_x27_6040_, 0);
lean_inc(v_head_6048_);
v_tail_6049_ = lean_ctor_get(v_as_x27_6040_, 1);
lean_inc(v_tail_6049_);
lean_dec_ref(v_as_x27_6040_);
lean_inc(v___y_6045_);
lean_inc_ref(v___y_6044_);
lean_inc(v___y_6043_);
lean_inc_ref(v___y_6042_);
lean_inc(v_recMap_6039_);
lean_inc_ref(v_sizeOfFns_6038_);
lean_inc_ref(v_a_6037_);
v___x_6050_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem(v_a_6037_, v_sizeOfFns_6038_, v_recMap_6039_, v_head_6048_, v___y_6042_, v___y_6043_, v___y_6044_, v___y_6045_);
if (lean_obj_tag(v___x_6050_) == 0)
{
lean_object* v___x_6051_; 
lean_dec_ref(v___x_6050_);
v___x_6051_ = lean_box(0);
v_as_x27_6040_ = v_tail_6049_;
v_b_6041_ = v___x_6051_;
goto _start;
}
else
{
lean_dec(v_tail_6049_);
lean_dec(v___y_6045_);
lean_dec_ref(v___y_6044_);
lean_dec(v___y_6043_);
lean_dec_ref(v___y_6042_);
lean_dec(v_recMap_6039_);
lean_dec_ref(v_sizeOfFns_6038_);
lean_dec_ref(v_a_6037_);
return v___x_6050_;
}
}
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems_spec__0___redArg___boxed(lean_object* v_a_6053_, lean_object* v_sizeOfFns_6054_, lean_object* v_recMap_6055_, lean_object* v_as_x27_6056_, lean_object* v_b_6057_, lean_object* v___y_6058_, lean_object* v___y_6059_, lean_object* v___y_6060_, lean_object* v___y_6061_, lean_object* v___y_6062_){
_start:
{
lean_object* v_res_6063_; 
v_res_6063_ = l_List_forIn_x27_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems_spec__0___redArg(v_a_6053_, v_sizeOfFns_6054_, v_recMap_6055_, v_as_x27_6056_, v_b_6057_, v___y_6058_, v___y_6059_, v___y_6060_, v___y_6061_);
return v_res_6063_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems_spec__1(lean_object* v_sizeOfFns_6064_, lean_object* v_recMap_6065_, lean_object* v_as_6066_, size_t v_sz_6067_, size_t v_i_6068_, lean_object* v_b_6069_, lean_object* v___y_6070_, lean_object* v___y_6071_, lean_object* v___y_6072_, lean_object* v___y_6073_){
_start:
{
uint8_t v___x_6075_; 
v___x_6075_ = lean_usize_dec_lt(v_i_6068_, v_sz_6067_);
if (v___x_6075_ == 0)
{
lean_object* v___x_6076_; 
lean_dec(v___y_6073_);
lean_dec_ref(v___y_6072_);
lean_dec(v___y_6071_);
lean_dec_ref(v___y_6070_);
lean_dec(v_recMap_6065_);
lean_dec_ref(v_sizeOfFns_6064_);
v___x_6076_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6076_, 0, v_b_6069_);
return v___x_6076_;
}
else
{
lean_object* v_a_6077_; lean_object* v___x_6078_; 
v_a_6077_ = lean_array_uget_borrowed(v_as_6066_, v_i_6068_);
lean_inc(v_a_6077_);
v___x_6078_ = l_Lean_getConstInfoInduct___at___00Lean_Meta_mkSizeOfFns_spec__0(v_a_6077_, v___y_6070_, v___y_6071_, v___y_6072_, v___y_6073_);
if (lean_obj_tag(v___x_6078_) == 0)
{
lean_object* v_a_6079_; lean_object* v_ctors_6080_; lean_object* v___x_6081_; lean_object* v___x_6082_; 
v_a_6079_ = lean_ctor_get(v___x_6078_, 0);
lean_inc(v_a_6079_);
lean_dec_ref(v___x_6078_);
v_ctors_6080_ = lean_ctor_get(v_a_6079_, 4);
lean_inc(v_ctors_6080_);
v___x_6081_ = lean_box(0);
lean_inc(v___y_6073_);
lean_inc_ref(v___y_6072_);
lean_inc(v___y_6071_);
lean_inc_ref(v___y_6070_);
lean_inc(v_recMap_6065_);
lean_inc_ref(v_sizeOfFns_6064_);
v___x_6082_ = l_List_forIn_x27_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems_spec__0___redArg(v_a_6079_, v_sizeOfFns_6064_, v_recMap_6065_, v_ctors_6080_, v___x_6081_, v___y_6070_, v___y_6071_, v___y_6072_, v___y_6073_);
if (lean_obj_tag(v___x_6082_) == 0)
{
size_t v___x_6083_; size_t v___x_6084_; 
lean_dec_ref(v___x_6082_);
v___x_6083_ = ((size_t)1ULL);
v___x_6084_ = lean_usize_add(v_i_6068_, v___x_6083_);
v_i_6068_ = v___x_6084_;
v_b_6069_ = v___x_6081_;
goto _start;
}
else
{
lean_dec(v___y_6073_);
lean_dec_ref(v___y_6072_);
lean_dec(v___y_6071_);
lean_dec_ref(v___y_6070_);
lean_dec(v_recMap_6065_);
lean_dec_ref(v_sizeOfFns_6064_);
return v___x_6082_;
}
}
else
{
lean_object* v_a_6086_; lean_object* v___x_6088_; uint8_t v_isShared_6089_; uint8_t v_isSharedCheck_6093_; 
lean_dec(v___y_6073_);
lean_dec_ref(v___y_6072_);
lean_dec(v___y_6071_);
lean_dec_ref(v___y_6070_);
lean_dec(v_recMap_6065_);
lean_dec_ref(v_sizeOfFns_6064_);
v_a_6086_ = lean_ctor_get(v___x_6078_, 0);
v_isSharedCheck_6093_ = !lean_is_exclusive(v___x_6078_);
if (v_isSharedCheck_6093_ == 0)
{
v___x_6088_ = v___x_6078_;
v_isShared_6089_ = v_isSharedCheck_6093_;
goto v_resetjp_6087_;
}
else
{
lean_inc(v_a_6086_);
lean_dec(v___x_6078_);
v___x_6088_ = lean_box(0);
v_isShared_6089_ = v_isSharedCheck_6093_;
goto v_resetjp_6087_;
}
v_resetjp_6087_:
{
lean_object* v___x_6091_; 
if (v_isShared_6089_ == 0)
{
v___x_6091_ = v___x_6088_;
goto v_reusejp_6090_;
}
else
{
lean_object* v_reuseFailAlloc_6092_; 
v_reuseFailAlloc_6092_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6092_, 0, v_a_6086_);
v___x_6091_ = v_reuseFailAlloc_6092_;
goto v_reusejp_6090_;
}
v_reusejp_6090_:
{
return v___x_6091_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems_spec__1___boxed(lean_object* v_sizeOfFns_6094_, lean_object* v_recMap_6095_, lean_object* v_as_6096_, lean_object* v_sz_6097_, lean_object* v_i_6098_, lean_object* v_b_6099_, lean_object* v___y_6100_, lean_object* v___y_6101_, lean_object* v___y_6102_, lean_object* v___y_6103_, lean_object* v___y_6104_){
_start:
{
size_t v_sz_boxed_6105_; size_t v_i_boxed_6106_; lean_object* v_res_6107_; 
v_sz_boxed_6105_ = lean_unbox_usize(v_sz_6097_);
lean_dec(v_sz_6097_);
v_i_boxed_6106_ = lean_unbox_usize(v_i_6098_);
lean_dec(v_i_6098_);
v_res_6107_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems_spec__1(v_sizeOfFns_6094_, v_recMap_6095_, v_as_6096_, v_sz_boxed_6105_, v_i_boxed_6106_, v_b_6099_, v___y_6100_, v___y_6101_, v___y_6102_, v___y_6103_);
lean_dec_ref(v_as_6096_);
return v_res_6107_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems(lean_object* v_indTypeNames_6108_, lean_object* v_sizeOfFns_6109_, lean_object* v_recMap_6110_, lean_object* v_a_6111_, lean_object* v_a_6112_, lean_object* v_a_6113_, lean_object* v_a_6114_){
_start:
{
lean_object* v___x_6116_; size_t v_sz_6117_; size_t v___x_6118_; lean_object* v___x_6119_; 
v___x_6116_ = lean_box(0);
v_sz_6117_ = lean_array_size(v_indTypeNames_6108_);
v___x_6118_ = ((size_t)0ULL);
v___x_6119_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems_spec__1(v_sizeOfFns_6109_, v_recMap_6110_, v_indTypeNames_6108_, v_sz_6117_, v___x_6118_, v___x_6116_, v_a_6111_, v_a_6112_, v_a_6113_, v_a_6114_);
if (lean_obj_tag(v___x_6119_) == 0)
{
lean_object* v___x_6121_; uint8_t v_isShared_6122_; uint8_t v_isSharedCheck_6126_; 
v_isSharedCheck_6126_ = !lean_is_exclusive(v___x_6119_);
if (v_isSharedCheck_6126_ == 0)
{
lean_object* v_unused_6127_; 
v_unused_6127_ = lean_ctor_get(v___x_6119_, 0);
lean_dec(v_unused_6127_);
v___x_6121_ = v___x_6119_;
v_isShared_6122_ = v_isSharedCheck_6126_;
goto v_resetjp_6120_;
}
else
{
lean_dec(v___x_6119_);
v___x_6121_ = lean_box(0);
v_isShared_6122_ = v_isSharedCheck_6126_;
goto v_resetjp_6120_;
}
v_resetjp_6120_:
{
lean_object* v___x_6124_; 
if (v_isShared_6122_ == 0)
{
lean_ctor_set(v___x_6121_, 0, v___x_6116_);
v___x_6124_ = v___x_6121_;
goto v_reusejp_6123_;
}
else
{
lean_object* v_reuseFailAlloc_6125_; 
v_reuseFailAlloc_6125_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6125_, 0, v___x_6116_);
v___x_6124_ = v_reuseFailAlloc_6125_;
goto v_reusejp_6123_;
}
v_reusejp_6123_:
{
return v___x_6124_;
}
}
}
else
{
return v___x_6119_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems___boxed(lean_object* v_indTypeNames_6128_, lean_object* v_sizeOfFns_6129_, lean_object* v_recMap_6130_, lean_object* v_a_6131_, lean_object* v_a_6132_, lean_object* v_a_6133_, lean_object* v_a_6134_, lean_object* v_a_6135_){
_start:
{
lean_object* v_res_6136_; 
v_res_6136_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems(v_indTypeNames_6128_, v_sizeOfFns_6129_, v_recMap_6130_, v_a_6131_, v_a_6132_, v_a_6133_, v_a_6134_);
lean_dec_ref(v_indTypeNames_6128_);
return v_res_6136_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems_spec__0(lean_object* v_a_6137_, lean_object* v_sizeOfFns_6138_, lean_object* v_recMap_6139_, lean_object* v_as_6140_, lean_object* v_as_x27_6141_, lean_object* v_b_6142_, lean_object* v_a_6143_, lean_object* v___y_6144_, lean_object* v___y_6145_, lean_object* v___y_6146_, lean_object* v___y_6147_){
_start:
{
lean_object* v___x_6149_; 
v___x_6149_ = l_List_forIn_x27_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems_spec__0___redArg(v_a_6137_, v_sizeOfFns_6138_, v_recMap_6139_, v_as_x27_6141_, v_b_6142_, v___y_6144_, v___y_6145_, v___y_6146_, v___y_6147_);
return v___x_6149_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems_spec__0___boxed(lean_object* v_a_6150_, lean_object* v_sizeOfFns_6151_, lean_object* v_recMap_6152_, lean_object* v_as_6153_, lean_object* v_as_x27_6154_, lean_object* v_b_6155_, lean_object* v_a_6156_, lean_object* v___y_6157_, lean_object* v___y_6158_, lean_object* v___y_6159_, lean_object* v___y_6160_, lean_object* v___y_6161_){
_start:
{
lean_object* v_res_6162_; 
v_res_6162_ = l_List_forIn_x27_loop___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems_spec__0(v_a_6150_, v_sizeOfFns_6151_, v_recMap_6152_, v_as_6153_, v_as_x27_6154_, v_b_6155_, v_a_6156_, v___y_6157_, v___y_6158_, v___y_6159_, v___y_6160_);
lean_dec(v_as_6153_);
return v_res_6162_;
}
}
LEAN_EXPORT lean_object* l_Lean_Option_register___at___00Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4__spec__0(lean_object* v_name_6163_, lean_object* v_decl_6164_, lean_object* v_ref_6165_){
_start:
{
lean_object* v_defValue_6167_; lean_object* v_descr_6168_; lean_object* v___x_6170_; uint8_t v_isShared_6171_; uint8_t v_isSharedCheck_6195_; 
v_defValue_6167_ = lean_ctor_get(v_decl_6164_, 0);
v_descr_6168_ = lean_ctor_get(v_decl_6164_, 1);
v_isSharedCheck_6195_ = !lean_is_exclusive(v_decl_6164_);
if (v_isSharedCheck_6195_ == 0)
{
v___x_6170_ = v_decl_6164_;
v_isShared_6171_ = v_isSharedCheck_6195_;
goto v_resetjp_6169_;
}
else
{
lean_inc(v_descr_6168_);
lean_inc(v_defValue_6167_);
lean_dec(v_decl_6164_);
v___x_6170_ = lean_box(0);
v_isShared_6171_ = v_isSharedCheck_6195_;
goto v_resetjp_6169_;
}
v_resetjp_6169_:
{
lean_object* v___x_6172_; uint8_t v___x_6173_; lean_object* v___x_6174_; lean_object* v___x_6175_; 
v___x_6172_ = lean_alloc_ctor(1, 0, 1);
v___x_6173_ = lean_unbox(v_defValue_6167_);
lean_ctor_set_uint8(v___x_6172_, 0, v___x_6173_);
lean_inc(v_name_6163_);
v___x_6174_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_6174_, 0, v_name_6163_);
lean_ctor_set(v___x_6174_, 1, v_ref_6165_);
lean_ctor_set(v___x_6174_, 2, v___x_6172_);
lean_ctor_set(v___x_6174_, 3, v_descr_6168_);
lean_inc(v_name_6163_);
v___x_6175_ = lean_register_option(v_name_6163_, v___x_6174_);
if (lean_obj_tag(v___x_6175_) == 0)
{
lean_object* v___x_6177_; uint8_t v_isShared_6178_; uint8_t v_isSharedCheck_6185_; 
v_isSharedCheck_6185_ = !lean_is_exclusive(v___x_6175_);
if (v_isSharedCheck_6185_ == 0)
{
lean_object* v_unused_6186_; 
v_unused_6186_ = lean_ctor_get(v___x_6175_, 0);
lean_dec(v_unused_6186_);
v___x_6177_ = v___x_6175_;
v_isShared_6178_ = v_isSharedCheck_6185_;
goto v_resetjp_6176_;
}
else
{
lean_dec(v___x_6175_);
v___x_6177_ = lean_box(0);
v_isShared_6178_ = v_isSharedCheck_6185_;
goto v_resetjp_6176_;
}
v_resetjp_6176_:
{
lean_object* v___x_6180_; 
if (v_isShared_6171_ == 0)
{
lean_ctor_set(v___x_6170_, 1, v_defValue_6167_);
lean_ctor_set(v___x_6170_, 0, v_name_6163_);
v___x_6180_ = v___x_6170_;
goto v_reusejp_6179_;
}
else
{
lean_object* v_reuseFailAlloc_6184_; 
v_reuseFailAlloc_6184_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_6184_, 0, v_name_6163_);
lean_ctor_set(v_reuseFailAlloc_6184_, 1, v_defValue_6167_);
v___x_6180_ = v_reuseFailAlloc_6184_;
goto v_reusejp_6179_;
}
v_reusejp_6179_:
{
lean_object* v___x_6182_; 
if (v_isShared_6178_ == 0)
{
lean_ctor_set(v___x_6177_, 0, v___x_6180_);
v___x_6182_ = v___x_6177_;
goto v_reusejp_6181_;
}
else
{
lean_object* v_reuseFailAlloc_6183_; 
v_reuseFailAlloc_6183_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6183_, 0, v___x_6180_);
v___x_6182_ = v_reuseFailAlloc_6183_;
goto v_reusejp_6181_;
}
v_reusejp_6181_:
{
return v___x_6182_;
}
}
}
}
else
{
lean_object* v_a_6187_; lean_object* v___x_6189_; uint8_t v_isShared_6190_; uint8_t v_isSharedCheck_6194_; 
lean_del_object(v___x_6170_);
lean_dec(v_defValue_6167_);
lean_dec(v_name_6163_);
v_a_6187_ = lean_ctor_get(v___x_6175_, 0);
v_isSharedCheck_6194_ = !lean_is_exclusive(v___x_6175_);
if (v_isSharedCheck_6194_ == 0)
{
v___x_6189_ = v___x_6175_;
v_isShared_6190_ = v_isSharedCheck_6194_;
goto v_resetjp_6188_;
}
else
{
lean_inc(v_a_6187_);
lean_dec(v___x_6175_);
v___x_6189_ = lean_box(0);
v_isShared_6190_ = v_isSharedCheck_6194_;
goto v_resetjp_6188_;
}
v_resetjp_6188_:
{
lean_object* v___x_6192_; 
if (v_isShared_6190_ == 0)
{
v___x_6192_ = v___x_6189_;
goto v_reusejp_6191_;
}
else
{
lean_object* v_reuseFailAlloc_6193_; 
v_reuseFailAlloc_6193_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6193_, 0, v_a_6187_);
v___x_6192_ = v_reuseFailAlloc_6193_;
goto v_reusejp_6191_;
}
v_reusejp_6191_:
{
return v___x_6192_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Option_register___at___00Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4__spec__0___boxed(lean_object* v_name_6196_, lean_object* v_decl_6197_, lean_object* v_ref_6198_, lean_object* v_a_6199_){
_start:
{
lean_object* v_res_6200_; 
v_res_6200_ = l_Lean_Option_register___at___00Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4__spec__0(v_name_6196_, v_decl_6197_, v_ref_6198_);
return v_res_6200_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4_(){
_start:
{
lean_object* v___x_6214_; lean_object* v___x_6215_; lean_object* v___x_6216_; lean_object* v___x_6217_; 
v___x_6214_ = ((lean_object*)(l_Lean_Meta_initFn___closed__1_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4_));
v___x_6215_ = ((lean_object*)(l_Lean_Meta_initFn___closed__3_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4_));
v___x_6216_ = ((lean_object*)(l_Lean_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4_));
v___x_6217_ = l_Lean_Option_register___at___00Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4__spec__0(v___x_6214_, v___x_6215_, v___x_6216_);
return v___x_6217_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4____boxed(lean_object* v_a_6218_){
_start:
{
lean_object* v_res_6219_; 
v_res_6219_ = l_Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4_();
return v_res_6219_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4_(){
_start:
{
lean_object* v___x_6233_; lean_object* v___x_6234_; lean_object* v___x_6235_; lean_object* v___x_6236_; 
v___x_6233_ = ((lean_object*)(l_Lean_Meta_initFn___closed__1_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4_));
v___x_6234_ = ((lean_object*)(l_Lean_Meta_initFn___closed__3_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4_));
v___x_6235_ = ((lean_object*)(l_Lean_Meta_initFn___closed__4_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4_));
v___x_6236_ = l_Lean_Option_register___at___00Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4__spec__0(v___x_6233_, v___x_6234_, v___x_6235_);
return v___x_6236_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4____boxed(lean_object* v_a_6237_){
_start:
{
lean_object* v_res_6238_; 
v_res_6238_ = l_Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4_();
return v_res_6238_;
}
}
LEAN_EXPORT uint8_t l_Lean_Option_get___at___00Lean_Meta_mkSizeOfInstances_spec__1(lean_object* v_opts_6239_, lean_object* v_opt_6240_){
_start:
{
lean_object* v_name_6241_; lean_object* v_defValue_6242_; lean_object* v_map_6243_; lean_object* v___x_6244_; 
v_name_6241_ = lean_ctor_get(v_opt_6240_, 0);
v_defValue_6242_ = lean_ctor_get(v_opt_6240_, 1);
v_map_6243_ = lean_ctor_get(v_opts_6239_, 0);
v___x_6244_ = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00Lean_NameMap_find_x3f_spec__0___redArg(v_map_6243_, v_name_6241_);
if (lean_obj_tag(v___x_6244_) == 0)
{
uint8_t v___x_6245_; 
v___x_6245_ = lean_unbox(v_defValue_6242_);
return v___x_6245_;
}
else
{
lean_object* v_val_6246_; 
v_val_6246_ = lean_ctor_get(v___x_6244_, 0);
lean_inc(v_val_6246_);
lean_dec_ref(v___x_6244_);
if (lean_obj_tag(v_val_6246_) == 1)
{
uint8_t v_v_6247_; 
v_v_6247_ = lean_ctor_get_uint8(v_val_6246_, 0);
lean_dec_ref(v_val_6246_);
return v_v_6247_;
}
else
{
uint8_t v___x_6248_; 
lean_dec(v_val_6246_);
v___x_6248_ = lean_unbox(v_defValue_6242_);
return v___x_6248_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00Lean_Meta_mkSizeOfInstances_spec__1___boxed(lean_object* v_opts_6249_, lean_object* v_opt_6250_){
_start:
{
uint8_t v_res_6251_; lean_object* v_r_6252_; 
v_res_6251_ = l_Lean_Option_get___at___00Lean_Meta_mkSizeOfInstances_spec__1(v_opts_6249_, v_opt_6250_);
lean_dec_ref(v_opt_6250_);
lean_dec_ref(v_opts_6249_);
v_r_6252_ = lean_box(v_res_6251_);
return v_r_6252_;
}
}
static lean_object* _init_l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___redArg___closed__0(void){
_start:
{
lean_object* v___x_6253_; lean_object* v___x_6254_; lean_object* v___x_6255_; 
v___x_6253_ = lean_unsigned_to_nat(32u);
v___x_6254_ = lean_mk_empty_array_with_capacity(v___x_6253_);
v___x_6255_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6255_, 0, v___x_6254_);
return v___x_6255_;
}
}
static lean_object* _init_l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___redArg___closed__1(void){
_start:
{
size_t v___x_6256_; lean_object* v___x_6257_; lean_object* v___x_6258_; lean_object* v___x_6259_; lean_object* v___x_6260_; lean_object* v___x_6261_; 
v___x_6256_ = ((size_t)5ULL);
v___x_6257_ = lean_unsigned_to_nat(0u);
v___x_6258_ = lean_unsigned_to_nat(32u);
v___x_6259_ = lean_mk_empty_array_with_capacity(v___x_6258_);
v___x_6260_ = lean_obj_once(&l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___redArg___closed__0, &l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___redArg___closed__0_once, _init_l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___redArg___closed__0);
v___x_6261_ = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
lean_ctor_set(v___x_6261_, 0, v___x_6260_);
lean_ctor_set(v___x_6261_, 1, v___x_6259_);
lean_ctor_set(v___x_6261_, 2, v___x_6257_);
lean_ctor_set(v___x_6261_, 3, v___x_6257_);
lean_ctor_set_usize(v___x_6261_, 4, v___x_6256_);
return v___x_6261_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___redArg(lean_object* v___y_6262_){
_start:
{
lean_object* v___x_6264_; lean_object* v_traceState_6265_; lean_object* v_traces_6266_; lean_object* v___x_6267_; lean_object* v_traceState_6268_; lean_object* v_env_6269_; lean_object* v_nextMacroScope_6270_; lean_object* v_ngen_6271_; lean_object* v_auxDeclNGen_6272_; lean_object* v_cache_6273_; lean_object* v_messages_6274_; lean_object* v_infoState_6275_; lean_object* v_snapshotTasks_6276_; lean_object* v___x_6278_; uint8_t v_isShared_6279_; uint8_t v_isSharedCheck_6295_; 
v___x_6264_ = lean_st_ref_get(v___y_6262_);
v_traceState_6265_ = lean_ctor_get(v___x_6264_, 4);
lean_inc_ref(v_traceState_6265_);
lean_dec(v___x_6264_);
v_traces_6266_ = lean_ctor_get(v_traceState_6265_, 0);
lean_inc_ref(v_traces_6266_);
lean_dec_ref(v_traceState_6265_);
v___x_6267_ = lean_st_ref_take(v___y_6262_);
v_traceState_6268_ = lean_ctor_get(v___x_6267_, 4);
v_env_6269_ = lean_ctor_get(v___x_6267_, 0);
v_nextMacroScope_6270_ = lean_ctor_get(v___x_6267_, 1);
v_ngen_6271_ = lean_ctor_get(v___x_6267_, 2);
v_auxDeclNGen_6272_ = lean_ctor_get(v___x_6267_, 3);
v_cache_6273_ = lean_ctor_get(v___x_6267_, 5);
v_messages_6274_ = lean_ctor_get(v___x_6267_, 6);
v_infoState_6275_ = lean_ctor_get(v___x_6267_, 7);
v_snapshotTasks_6276_ = lean_ctor_get(v___x_6267_, 8);
v_isSharedCheck_6295_ = !lean_is_exclusive(v___x_6267_);
if (v_isSharedCheck_6295_ == 0)
{
v___x_6278_ = v___x_6267_;
v_isShared_6279_ = v_isSharedCheck_6295_;
goto v_resetjp_6277_;
}
else
{
lean_inc(v_snapshotTasks_6276_);
lean_inc(v_infoState_6275_);
lean_inc(v_messages_6274_);
lean_inc(v_cache_6273_);
lean_inc(v_traceState_6268_);
lean_inc(v_auxDeclNGen_6272_);
lean_inc(v_ngen_6271_);
lean_inc(v_nextMacroScope_6270_);
lean_inc(v_env_6269_);
lean_dec(v___x_6267_);
v___x_6278_ = lean_box(0);
v_isShared_6279_ = v_isSharedCheck_6295_;
goto v_resetjp_6277_;
}
v_resetjp_6277_:
{
uint64_t v_tid_6280_; lean_object* v___x_6282_; uint8_t v_isShared_6283_; uint8_t v_isSharedCheck_6293_; 
v_tid_6280_ = lean_ctor_get_uint64(v_traceState_6268_, sizeof(void*)*1);
v_isSharedCheck_6293_ = !lean_is_exclusive(v_traceState_6268_);
if (v_isSharedCheck_6293_ == 0)
{
lean_object* v_unused_6294_; 
v_unused_6294_ = lean_ctor_get(v_traceState_6268_, 0);
lean_dec(v_unused_6294_);
v___x_6282_ = v_traceState_6268_;
v_isShared_6283_ = v_isSharedCheck_6293_;
goto v_resetjp_6281_;
}
else
{
lean_dec(v_traceState_6268_);
v___x_6282_ = lean_box(0);
v_isShared_6283_ = v_isSharedCheck_6293_;
goto v_resetjp_6281_;
}
v_resetjp_6281_:
{
lean_object* v___x_6284_; lean_object* v___x_6286_; 
v___x_6284_ = lean_obj_once(&l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___redArg___closed__1, &l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___redArg___closed__1_once, _init_l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___redArg___closed__1);
if (v_isShared_6283_ == 0)
{
lean_ctor_set(v___x_6282_, 0, v___x_6284_);
v___x_6286_ = v___x_6282_;
goto v_reusejp_6285_;
}
else
{
lean_object* v_reuseFailAlloc_6292_; 
v_reuseFailAlloc_6292_ = lean_alloc_ctor(0, 1, 8);
lean_ctor_set(v_reuseFailAlloc_6292_, 0, v___x_6284_);
lean_ctor_set_uint64(v_reuseFailAlloc_6292_, sizeof(void*)*1, v_tid_6280_);
v___x_6286_ = v_reuseFailAlloc_6292_;
goto v_reusejp_6285_;
}
v_reusejp_6285_:
{
lean_object* v___x_6288_; 
if (v_isShared_6279_ == 0)
{
lean_ctor_set(v___x_6278_, 4, v___x_6286_);
v___x_6288_ = v___x_6278_;
goto v_reusejp_6287_;
}
else
{
lean_object* v_reuseFailAlloc_6291_; 
v_reuseFailAlloc_6291_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_6291_, 0, v_env_6269_);
lean_ctor_set(v_reuseFailAlloc_6291_, 1, v_nextMacroScope_6270_);
lean_ctor_set(v_reuseFailAlloc_6291_, 2, v_ngen_6271_);
lean_ctor_set(v_reuseFailAlloc_6291_, 3, v_auxDeclNGen_6272_);
lean_ctor_set(v_reuseFailAlloc_6291_, 4, v___x_6286_);
lean_ctor_set(v_reuseFailAlloc_6291_, 5, v_cache_6273_);
lean_ctor_set(v_reuseFailAlloc_6291_, 6, v_messages_6274_);
lean_ctor_set(v_reuseFailAlloc_6291_, 7, v_infoState_6275_);
lean_ctor_set(v_reuseFailAlloc_6291_, 8, v_snapshotTasks_6276_);
v___x_6288_ = v_reuseFailAlloc_6291_;
goto v_reusejp_6287_;
}
v_reusejp_6287_:
{
lean_object* v___x_6289_; lean_object* v___x_6290_; 
v___x_6289_ = lean_st_ref_set(v___y_6262_, v___x_6288_);
v___x_6290_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6290_, 0, v_traces_6266_);
return v___x_6290_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___redArg___boxed(lean_object* v___y_6296_, lean_object* v___y_6297_){
_start:
{
lean_object* v_res_6298_; 
v_res_6298_ = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___redArg(v___y_6296_);
lean_dec(v___y_6296_);
return v_res_6298_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4(lean_object* v___y_6299_, lean_object* v___y_6300_, lean_object* v___y_6301_, lean_object* v___y_6302_){
_start:
{
lean_object* v___x_6304_; 
v___x_6304_ = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___redArg(v___y_6302_);
return v___x_6304_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___boxed(lean_object* v___y_6305_, lean_object* v___y_6306_, lean_object* v___y_6307_, lean_object* v___y_6308_, lean_object* v___y_6309_){
_start:
{
lean_object* v_res_6310_; 
v_res_6310_ = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4(v___y_6305_, v___y_6306_, v___y_6307_, v___y_6308_);
lean_dec(v___y_6308_);
lean_dec_ref(v___y_6307_);
lean_dec(v___y_6306_);
lean_dec_ref(v___y_6305_);
return v_res_6310_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___lam__0(lean_object* v_typeName_6311_, lean_object* v_x_6312_, lean_object* v___y_6313_, lean_object* v___y_6314_, lean_object* v___y_6315_, lean_object* v___y_6316_){
_start:
{
lean_object* v___x_6318_; lean_object* v___x_6319_; 
v___x_6318_ = l_Lean_MessageData_ofName(v_typeName_6311_);
v___x_6319_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6319_, 0, v___x_6318_);
return v___x_6319_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___lam__0___boxed(lean_object* v_typeName_6320_, lean_object* v_x_6321_, lean_object* v___y_6322_, lean_object* v___y_6323_, lean_object* v___y_6324_, lean_object* v___y_6325_, lean_object* v___y_6326_){
_start:
{
lean_object* v_res_6327_; 
v_res_6327_ = l_Lean_Meta_mkSizeOfInstances___lam__0(v_typeName_6320_, v_x_6321_, v___y_6322_, v___y_6323_, v___y_6324_, v___y_6325_);
lean_dec(v___y_6325_);
lean_dec_ref(v___y_6324_);
lean_dec(v___y_6323_);
lean_dec_ref(v___y_6322_);
lean_dec_ref(v_x_6321_);
return v_res_6327_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___lam__1(lean_object* v___x_6328_, lean_object* v_e_6329_){
_start:
{
lean_object* v___x_6330_; lean_object* v___x_6331_; 
v___x_6330_ = l_Lean_indentD(v_e_6329_);
v___x_6331_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_6331_, 0, v___x_6328_);
lean_ctor_set(v___x_6331_, 1, v___x_6330_);
return v___x_6331_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00Lean_Meta_mkSizeOfInstances_spec__2___redArg(lean_object* v_name_6332_, lean_object* v_type_6333_, lean_object* v_k_6334_, lean_object* v___y_6335_, lean_object* v___y_6336_, lean_object* v___y_6337_, lean_object* v___y_6338_){
_start:
{
uint8_t v___x_6340_; uint8_t v___x_6341_; lean_object* v___x_6342_; 
v___x_6340_ = 0;
v___x_6341_ = 0;
v___x_6342_ = l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__1___redArg(v_name_6332_, v___x_6340_, v_type_6333_, v_k_6334_, v___x_6341_, v___y_6335_, v___y_6336_, v___y_6337_, v___y_6338_);
return v___x_6342_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00Lean_Meta_mkSizeOfInstances_spec__2___redArg___boxed(lean_object* v_name_6343_, lean_object* v_type_6344_, lean_object* v_k_6345_, lean_object* v___y_6346_, lean_object* v___y_6347_, lean_object* v___y_6348_, lean_object* v___y_6349_, lean_object* v___y_6350_){
_start:
{
lean_object* v_res_6351_; 
v_res_6351_ = l_Lean_Meta_withLocalDeclD___at___00Lean_Meta_mkSizeOfInstances_spec__2___redArg(v_name_6343_, v_type_6344_, v_k_6345_, v___y_6346_, v___y_6347_, v___y_6348_, v___y_6349_);
return v_res_6351_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__0(lean_object* v___x_6352_, uint8_t v___x_6353_, lean_object* v___y_6354_, lean_object* v___y_6355_, lean_object* v___y_6356_, lean_object* v___y_6357_){
_start:
{
lean_object* v___x_6359_; 
v___x_6359_ = l_Lean_addDecl(v___x_6352_, v___x_6353_, v___y_6356_, v___y_6357_);
return v___x_6359_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__0___boxed(lean_object* v___x_6360_, lean_object* v___x_6361_, lean_object* v___y_6362_, lean_object* v___y_6363_, lean_object* v___y_6364_, lean_object* v___y_6365_, lean_object* v___y_6366_){
_start:
{
uint8_t v___x_17965__boxed_6367_; lean_object* v_res_6368_; 
v___x_17965__boxed_6367_ = lean_unbox(v___x_6361_);
v_res_6368_ = l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__0(v___x_6360_, v___x_17965__boxed_6367_, v___y_6362_, v___y_6363_, v___y_6364_, v___y_6365_);
lean_dec(v___y_6363_);
lean_dec_ref(v___y_6362_);
return v_res_6368_;
}
}
static lean_object* _init_l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__2(void){
_start:
{
lean_object* v___x_6371_; lean_object* v___x_6372_; 
v___x_6371_ = ((lean_object*)(l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__1));
v___x_6372_ = l_Lean_stringToMessageData(v___x_6371_);
return v___x_6372_;
}
}
static lean_object* _init_l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__4(void){
_start:
{
lean_object* v___x_6374_; lean_object* v___x_6375_; 
v___x_6374_ = ((lean_object*)(l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__3));
v___x_6375_ = l_Lean_stringToMessageData(v___x_6374_);
return v___x_6375_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1(lean_object* v___x_6376_, lean_object* v___x_6377_, lean_object* v___x_6378_, lean_object* v___x_6379_, lean_object* v_localInsts_6380_, lean_object* v___x_6381_, uint8_t v___x_6382_, uint8_t v___x_6383_, lean_object* v___x_6384_, lean_object* v_xs_6385_, lean_object* v_a_6386_, lean_object* v___x_6387_, lean_object* v_head_6388_, lean_object* v_levelParams_6389_, lean_object* v_m_6390_, lean_object* v___y_6391_, lean_object* v___y_6392_, lean_object* v___y_6393_, lean_object* v___y_6394_){
_start:
{
lean_object* v___x_6396_; lean_object* v___x_6397_; lean_object* v___x_6398_; lean_object* v___x_6399_; lean_object* v___x_6400_; lean_object* v___x_6401_; lean_object* v___x_6402_; uint8_t v___x_6403_; lean_object* v___x_6404_; 
lean_inc_ref(v___x_6376_);
v___x_6396_ = lean_array_push(v___x_6376_, v_m_6390_);
v___x_6397_ = l_Lean_mkConst(v___x_6377_, v___x_6378_);
v___x_6398_ = l_Array_append___redArg(v___x_6379_, v_localInsts_6380_);
v___x_6399_ = l_Subarray_copy___redArg(v___x_6381_);
v___x_6400_ = l_Array_append___redArg(v___x_6398_, v___x_6399_);
lean_dec_ref(v___x_6399_);
v___x_6401_ = l_Array_append___redArg(v___x_6400_, v___x_6396_);
v___x_6402_ = l_Lean_mkAppN(v___x_6397_, v___x_6401_);
lean_dec_ref(v___x_6401_);
v___x_6403_ = 1;
v___x_6404_ = l_Lean_Meta_mkLambdaFVars(v___x_6396_, v___x_6402_, v___x_6382_, v___x_6383_, v___x_6382_, v___x_6383_, v___x_6403_, v___y_6391_, v___y_6392_, v___y_6393_, v___y_6394_);
lean_dec_ref(v___x_6396_);
if (lean_obj_tag(v___x_6404_) == 0)
{
lean_object* v_a_6405_; lean_object* v___x_6406_; lean_object* v___x_6407_; lean_object* v___x_6408_; lean_object* v___x_6409_; 
v_a_6405_ = lean_ctor_get(v___x_6404_, 0);
lean_inc(v_a_6405_);
lean_dec_ref(v___x_6404_);
v___x_6406_ = ((lean_object*)(l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__0));
v___x_6407_ = l_Lean_Name_mkStr2(v___x_6384_, v___x_6406_);
v___x_6408_ = lean_array_push(v___x_6376_, v_a_6405_);
lean_inc(v___y_6394_);
lean_inc_ref(v___y_6393_);
lean_inc(v___y_6392_);
lean_inc_ref(v___y_6391_);
v___x_6409_ = l_Lean_Meta_mkAppM(v___x_6407_, v___x_6408_, v___y_6391_, v___y_6392_, v___y_6393_, v___y_6394_);
if (lean_obj_tag(v___x_6409_) == 0)
{
lean_object* v_a_6410_; lean_object* v___x_6411_; lean_object* v___x_6412_; 
v_a_6410_ = lean_ctor_get(v___x_6409_, 0);
lean_inc(v_a_6410_);
lean_dec_ref(v___x_6409_);
v___x_6411_ = l_Array_append___redArg(v_xs_6385_, v_localInsts_6380_);
v___x_6412_ = l_Lean_Meta_mkForallFVars(v___x_6411_, v_a_6386_, v___x_6382_, v___x_6383_, v___x_6383_, v___x_6403_, v___y_6391_, v___y_6392_, v___y_6393_, v___y_6394_);
if (lean_obj_tag(v___x_6412_) == 0)
{
lean_object* v_a_6413_; lean_object* v___x_6414_; 
v_a_6413_ = lean_ctor_get(v___x_6412_, 0);
lean_inc(v_a_6413_);
lean_dec_ref(v___x_6412_);
v___x_6414_ = l_Lean_Meta_mkLambdaFVars(v___x_6411_, v_a_6410_, v___x_6382_, v___x_6383_, v___x_6382_, v___x_6383_, v___x_6403_, v___y_6391_, v___y_6392_, v___y_6393_, v___y_6394_);
lean_dec_ref(v___x_6411_);
if (lean_obj_tag(v___x_6414_) == 0)
{
lean_object* v_a_6415_; lean_object* v___x_6416_; lean_object* v_a_6417_; lean_object* v___x_6419_; uint8_t v_isShared_6420_; uint8_t v_isSharedCheck_6453_; 
v_a_6415_ = lean_ctor_get(v___x_6414_, 0);
lean_inc(v_a_6415_);
lean_dec_ref(v___x_6414_);
lean_inc(v___x_6387_);
v___x_6416_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg(v___x_6387_, v___y_6393_);
v_a_6417_ = lean_ctor_get(v___x_6416_, 0);
v_isSharedCheck_6453_ = !lean_is_exclusive(v___x_6416_);
if (v_isSharedCheck_6453_ == 0)
{
v___x_6419_ = v___x_6416_;
v_isShared_6420_ = v_isSharedCheck_6453_;
goto v_resetjp_6418_;
}
else
{
lean_inc(v_a_6417_);
lean_dec(v___x_6416_);
v___x_6419_ = lean_box(0);
v_isShared_6420_ = v_isSharedCheck_6453_;
goto v_resetjp_6418_;
}
v_resetjp_6418_:
{
lean_object* v___x_6421_; lean_object* v___x_6422_; lean_object* v___y_6424_; lean_object* v___y_6425_; lean_object* v___y_6426_; lean_object* v___y_6427_; uint8_t v___x_6444_; 
v___x_6421_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lam__0___closed__9));
v___x_6422_ = l_Lean_Name_append(v_head_6388_, v___x_6421_);
v___x_6444_ = lean_unbox(v_a_6417_);
lean_dec(v_a_6417_);
if (v___x_6444_ == 0)
{
lean_dec(v___x_6387_);
v___y_6424_ = v___y_6391_;
v___y_6425_ = v___y_6392_;
v___y_6426_ = v___y_6393_;
v___y_6427_ = v___y_6394_;
goto v___jp_6423_;
}
else
{
lean_object* v___x_6445_; lean_object* v___x_6446_; lean_object* v___x_6447_; lean_object* v___x_6448_; lean_object* v___x_6449_; lean_object* v___x_6450_; lean_object* v___x_6451_; lean_object* v___x_6452_; 
v___x_6445_ = lean_obj_once(&l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__2, &l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__2_once, _init_l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__2);
lean_inc(v___x_6422_);
v___x_6446_ = l_Lean_MessageData_ofName(v___x_6422_);
v___x_6447_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_6447_, 0, v___x_6445_);
lean_ctor_set(v___x_6447_, 1, v___x_6446_);
v___x_6448_ = lean_obj_once(&l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__4, &l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__4_once, _init_l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___closed__4);
v___x_6449_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_6449_, 0, v___x_6447_);
lean_ctor_set(v___x_6449_, 1, v___x_6448_);
lean_inc(v_a_6413_);
v___x_6450_ = l_Lean_MessageData_ofExpr(v_a_6413_);
v___x_6451_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_6451_, 0, v___x_6449_);
lean_ctor_set(v___x_6451_, 1, v___x_6450_);
v___x_6452_ = l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1(v___x_6387_, v___x_6451_, v___y_6391_, v___y_6392_, v___y_6393_, v___y_6394_);
if (lean_obj_tag(v___x_6452_) == 0)
{
lean_dec_ref(v___x_6452_);
v___y_6424_ = v___y_6391_;
v___y_6425_ = v___y_6392_;
v___y_6426_ = v___y_6393_;
v___y_6427_ = v___y_6394_;
goto v___jp_6423_;
}
else
{
lean_dec(v___x_6422_);
lean_del_object(v___x_6419_);
lean_dec(v_a_6415_);
lean_dec(v_a_6413_);
lean_dec(v___y_6394_);
lean_dec_ref(v___y_6393_);
lean_dec(v___y_6392_);
lean_dec_ref(v___y_6391_);
lean_dec(v_levelParams_6389_);
return v___x_6452_;
}
}
v___jp_6423_:
{
lean_object* v___x_6428_; lean_object* v___x_6429_; uint8_t v___x_6430_; lean_object* v___x_6431_; lean_object* v___x_6432_; lean_object* v___x_6433_; lean_object* v___x_6435_; 
lean_inc(v___x_6422_);
v___x_6428_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v___x_6428_, 0, v___x_6422_);
lean_ctor_set(v___x_6428_, 1, v_levelParams_6389_);
lean_ctor_set(v___x_6428_, 2, v_a_6413_);
v___x_6429_ = lean_box(1);
v___x_6430_ = 1;
v___x_6431_ = lean_box(0);
lean_inc(v___x_6422_);
v___x_6432_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_6432_, 0, v___x_6422_);
lean_ctor_set(v___x_6432_, 1, v___x_6431_);
v___x_6433_ = lean_alloc_ctor(0, 4, 1);
lean_ctor_set(v___x_6433_, 0, v___x_6428_);
lean_ctor_set(v___x_6433_, 1, v_a_6415_);
lean_ctor_set(v___x_6433_, 2, v___x_6429_);
lean_ctor_set(v___x_6433_, 3, v___x_6432_);
lean_ctor_set_uint8(v___x_6433_, sizeof(void*)*4, v___x_6430_);
if (v_isShared_6420_ == 0)
{
lean_ctor_set_tag(v___x_6419_, 1);
lean_ctor_set(v___x_6419_, 0, v___x_6433_);
v___x_6435_ = v___x_6419_;
goto v_reusejp_6434_;
}
else
{
lean_object* v_reuseFailAlloc_6443_; 
v_reuseFailAlloc_6443_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6443_, 0, v___x_6433_);
v___x_6435_ = v_reuseFailAlloc_6443_;
goto v_reusejp_6434_;
}
v_reusejp_6434_:
{
lean_object* v___x_6436_; lean_object* v___f_6437_; lean_object* v___x_6438_; 
v___x_6436_ = lean_box(v___x_6382_);
v___f_6437_ = lean_alloc_closure((void*)(l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__0___boxed), 7, 2);
lean_closure_set(v___f_6437_, 0, v___x_6435_);
lean_closure_set(v___f_6437_, 1, v___x_6436_);
lean_inc(v___y_6427_);
lean_inc_ref(v___y_6426_);
lean_inc(v___y_6425_);
lean_inc_ref(v___y_6424_);
v___x_6438_ = l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg(v___f_6437_, v___x_6383_, v___y_6424_, v___y_6425_, v___y_6426_, v___y_6427_);
if (lean_obj_tag(v___x_6438_) == 0)
{
uint8_t v___x_6439_; lean_object* v___x_6440_; lean_object* v___x_6441_; 
lean_dec_ref(v___x_6438_);
v___x_6439_ = 0;
v___x_6440_ = lean_unsigned_to_nat(1000u);
lean_inc(v___y_6427_);
lean_inc_ref(v___y_6426_);
lean_inc(v___x_6422_);
v___x_6441_ = l_Lean_Meta_registerInstance(v___x_6422_, v___x_6439_, v___x_6440_, v___y_6424_, v___y_6425_, v___y_6426_, v___y_6427_);
if (lean_obj_tag(v___x_6441_) == 0)
{
lean_object* v___x_6442_; 
lean_dec_ref(v___x_6441_);
v___x_6442_ = l_Lean_enableRealizationsForConst(v___x_6422_, v___y_6426_, v___y_6427_);
lean_dec(v___y_6427_);
return v___x_6442_;
}
else
{
lean_dec(v___y_6427_);
lean_dec_ref(v___y_6426_);
lean_dec(v___x_6422_);
return v___x_6441_;
}
}
else
{
lean_dec(v___y_6427_);
lean_dec_ref(v___y_6426_);
lean_dec(v___y_6425_);
lean_dec_ref(v___y_6424_);
lean_dec(v___x_6422_);
return v___x_6438_;
}
}
}
}
}
else
{
lean_object* v_a_6454_; lean_object* v___x_6456_; uint8_t v_isShared_6457_; uint8_t v_isSharedCheck_6461_; 
lean_dec(v_a_6413_);
lean_dec(v___y_6394_);
lean_dec_ref(v___y_6393_);
lean_dec(v___y_6392_);
lean_dec_ref(v___y_6391_);
lean_dec(v_levelParams_6389_);
lean_dec(v_head_6388_);
lean_dec(v___x_6387_);
v_a_6454_ = lean_ctor_get(v___x_6414_, 0);
v_isSharedCheck_6461_ = !lean_is_exclusive(v___x_6414_);
if (v_isSharedCheck_6461_ == 0)
{
v___x_6456_ = v___x_6414_;
v_isShared_6457_ = v_isSharedCheck_6461_;
goto v_resetjp_6455_;
}
else
{
lean_inc(v_a_6454_);
lean_dec(v___x_6414_);
v___x_6456_ = lean_box(0);
v_isShared_6457_ = v_isSharedCheck_6461_;
goto v_resetjp_6455_;
}
v_resetjp_6455_:
{
lean_object* v___x_6459_; 
if (v_isShared_6457_ == 0)
{
v___x_6459_ = v___x_6456_;
goto v_reusejp_6458_;
}
else
{
lean_object* v_reuseFailAlloc_6460_; 
v_reuseFailAlloc_6460_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6460_, 0, v_a_6454_);
v___x_6459_ = v_reuseFailAlloc_6460_;
goto v_reusejp_6458_;
}
v_reusejp_6458_:
{
return v___x_6459_;
}
}
}
}
else
{
lean_object* v_a_6462_; lean_object* v___x_6464_; uint8_t v_isShared_6465_; uint8_t v_isSharedCheck_6469_; 
lean_dec_ref(v___x_6411_);
lean_dec(v_a_6410_);
lean_dec(v___y_6394_);
lean_dec_ref(v___y_6393_);
lean_dec(v___y_6392_);
lean_dec_ref(v___y_6391_);
lean_dec(v_levelParams_6389_);
lean_dec(v_head_6388_);
lean_dec(v___x_6387_);
v_a_6462_ = lean_ctor_get(v___x_6412_, 0);
v_isSharedCheck_6469_ = !lean_is_exclusive(v___x_6412_);
if (v_isSharedCheck_6469_ == 0)
{
v___x_6464_ = v___x_6412_;
v_isShared_6465_ = v_isSharedCheck_6469_;
goto v_resetjp_6463_;
}
else
{
lean_inc(v_a_6462_);
lean_dec(v___x_6412_);
v___x_6464_ = lean_box(0);
v_isShared_6465_ = v_isSharedCheck_6469_;
goto v_resetjp_6463_;
}
v_resetjp_6463_:
{
lean_object* v___x_6467_; 
if (v_isShared_6465_ == 0)
{
v___x_6467_ = v___x_6464_;
goto v_reusejp_6466_;
}
else
{
lean_object* v_reuseFailAlloc_6468_; 
v_reuseFailAlloc_6468_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6468_, 0, v_a_6462_);
v___x_6467_ = v_reuseFailAlloc_6468_;
goto v_reusejp_6466_;
}
v_reusejp_6466_:
{
return v___x_6467_;
}
}
}
}
else
{
lean_object* v_a_6470_; lean_object* v___x_6472_; uint8_t v_isShared_6473_; uint8_t v_isSharedCheck_6477_; 
lean_dec(v___y_6394_);
lean_dec_ref(v___y_6393_);
lean_dec(v___y_6392_);
lean_dec_ref(v___y_6391_);
lean_dec(v_levelParams_6389_);
lean_dec(v_head_6388_);
lean_dec(v___x_6387_);
lean_dec_ref(v_a_6386_);
lean_dec_ref(v_xs_6385_);
v_a_6470_ = lean_ctor_get(v___x_6409_, 0);
v_isSharedCheck_6477_ = !lean_is_exclusive(v___x_6409_);
if (v_isSharedCheck_6477_ == 0)
{
v___x_6472_ = v___x_6409_;
v_isShared_6473_ = v_isSharedCheck_6477_;
goto v_resetjp_6471_;
}
else
{
lean_inc(v_a_6470_);
lean_dec(v___x_6409_);
v___x_6472_ = lean_box(0);
v_isShared_6473_ = v_isSharedCheck_6477_;
goto v_resetjp_6471_;
}
v_resetjp_6471_:
{
lean_object* v___x_6475_; 
if (v_isShared_6473_ == 0)
{
v___x_6475_ = v___x_6472_;
goto v_reusejp_6474_;
}
else
{
lean_object* v_reuseFailAlloc_6476_; 
v_reuseFailAlloc_6476_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6476_, 0, v_a_6470_);
v___x_6475_ = v_reuseFailAlloc_6476_;
goto v_reusejp_6474_;
}
v_reusejp_6474_:
{
return v___x_6475_;
}
}
}
}
else
{
lean_object* v_a_6478_; lean_object* v___x_6480_; uint8_t v_isShared_6481_; uint8_t v_isSharedCheck_6485_; 
lean_dec(v___y_6394_);
lean_dec_ref(v___y_6393_);
lean_dec(v___y_6392_);
lean_dec_ref(v___y_6391_);
lean_dec(v_levelParams_6389_);
lean_dec(v_head_6388_);
lean_dec(v___x_6387_);
lean_dec_ref(v_a_6386_);
lean_dec_ref(v_xs_6385_);
lean_dec_ref(v___x_6384_);
lean_dec_ref(v___x_6376_);
v_a_6478_ = lean_ctor_get(v___x_6404_, 0);
v_isSharedCheck_6485_ = !lean_is_exclusive(v___x_6404_);
if (v_isSharedCheck_6485_ == 0)
{
v___x_6480_ = v___x_6404_;
v_isShared_6481_ = v_isSharedCheck_6485_;
goto v_resetjp_6479_;
}
else
{
lean_inc(v_a_6478_);
lean_dec(v___x_6404_);
v___x_6480_ = lean_box(0);
v_isShared_6481_ = v_isSharedCheck_6485_;
goto v_resetjp_6479_;
}
v_resetjp_6479_:
{
lean_object* v___x_6483_; 
if (v_isShared_6481_ == 0)
{
v___x_6483_ = v___x_6480_;
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_6478_);
v___x_6483_ = v_reuseFailAlloc_6484_;
goto v_reusejp_6482_;
}
v_reusejp_6482_:
{
return v___x_6483_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___boxed(lean_object** _args){
lean_object* v___x_6486_ = _args[0];
lean_object* v___x_6487_ = _args[1];
lean_object* v___x_6488_ = _args[2];
lean_object* v___x_6489_ = _args[3];
lean_object* v_localInsts_6490_ = _args[4];
lean_object* v___x_6491_ = _args[5];
lean_object* v___x_6492_ = _args[6];
lean_object* v___x_6493_ = _args[7];
lean_object* v___x_6494_ = _args[8];
lean_object* v_xs_6495_ = _args[9];
lean_object* v_a_6496_ = _args[10];
lean_object* v___x_6497_ = _args[11];
lean_object* v_head_6498_ = _args[12];
lean_object* v_levelParams_6499_ = _args[13];
lean_object* v_m_6500_ = _args[14];
lean_object* v___y_6501_ = _args[15];
lean_object* v___y_6502_ = _args[16];
lean_object* v___y_6503_ = _args[17];
lean_object* v___y_6504_ = _args[18];
lean_object* v___y_6505_ = _args[19];
_start:
{
uint8_t v___x_18009__boxed_6506_; uint8_t v___x_18010__boxed_6507_; lean_object* v_res_6508_; 
v___x_18009__boxed_6506_ = lean_unbox(v___x_6492_);
v___x_18010__boxed_6507_ = lean_unbox(v___x_6493_);
v_res_6508_ = l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1(v___x_6486_, v___x_6487_, v___x_6488_, v___x_6489_, v_localInsts_6490_, v___x_6491_, v___x_18009__boxed_6506_, v___x_18010__boxed_6507_, v___x_6494_, v_xs_6495_, v_a_6496_, v___x_6497_, v_head_6498_, v_levelParams_6499_, v_m_6500_, v___y_6501_, v___y_6502_, v___y_6503_, v___y_6504_);
lean_dec_ref(v_localInsts_6490_);
return v_res_6508_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__2(lean_object* v_levelParams_6512_, lean_object* v_head_6513_, lean_object* v_xs_6514_, lean_object* v___x_6515_, lean_object* v___x_6516_, lean_object* v___x_6517_, lean_object* v___x_6518_, uint8_t v___x_6519_, uint8_t v___x_6520_, lean_object* v___x_6521_, lean_object* v___x_6522_, lean_object* v_localInsts_6523_, lean_object* v___y_6524_, lean_object* v___y_6525_, lean_object* v___y_6526_, lean_object* v___y_6527_){
_start:
{
lean_object* v___x_6529_; lean_object* v___x_6530_; lean_object* v___x_6531_; lean_object* v___x_6532_; lean_object* v___x_6533_; lean_object* v___x_6534_; lean_object* v___x_6535_; lean_object* v___x_6536_; 
v___x_6529_ = lean_box(0);
lean_inc(v_levelParams_6512_);
v___x_6530_ = l_List_mapTR_loop___at___00Lean_Meta_mkSizeOfFn_spec__1(v_levelParams_6512_, v___x_6529_);
lean_inc(v___x_6530_);
lean_inc(v_head_6513_);
v___x_6531_ = l_Lean_mkConst(v_head_6513_, v___x_6530_);
v___x_6532_ = l_Lean_mkAppN(v___x_6531_, v_xs_6514_);
v___x_6533_ = lean_unsigned_to_nat(1u);
v___x_6534_ = lean_mk_empty_array_with_capacity(v___x_6533_);
lean_inc_ref(v___x_6532_);
lean_inc_ref(v___x_6534_);
v___x_6535_ = lean_array_push(v___x_6534_, v___x_6532_);
lean_inc(v___y_6527_);
lean_inc_ref(v___y_6526_);
lean_inc(v___y_6525_);
lean_inc_ref(v___y_6524_);
v___x_6536_ = l_Lean_Meta_mkAppM(v___x_6515_, v___x_6535_, v___y_6524_, v___y_6525_, v___y_6526_, v___y_6527_);
if (lean_obj_tag(v___x_6536_) == 0)
{
lean_object* v_a_6537_; lean_object* v___x_6538_; lean_object* v___x_6539_; lean_object* v___f_6540_; lean_object* v___x_6541_; lean_object* v___x_6542_; 
v_a_6537_ = lean_ctor_get(v___x_6536_, 0);
lean_inc(v_a_6537_);
lean_dec_ref(v___x_6536_);
v___x_6538_ = lean_box(v___x_6519_);
v___x_6539_ = lean_box(v___x_6520_);
v___f_6540_ = lean_alloc_closure((void*)(l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__1___boxed), 20, 14);
lean_closure_set(v___f_6540_, 0, v___x_6534_);
lean_closure_set(v___f_6540_, 1, v___x_6516_);
lean_closure_set(v___f_6540_, 2, v___x_6530_);
lean_closure_set(v___f_6540_, 3, v___x_6517_);
lean_closure_set(v___f_6540_, 4, v_localInsts_6523_);
lean_closure_set(v___f_6540_, 5, v___x_6518_);
lean_closure_set(v___f_6540_, 6, v___x_6538_);
lean_closure_set(v___f_6540_, 7, v___x_6539_);
lean_closure_set(v___f_6540_, 8, v___x_6521_);
lean_closure_set(v___f_6540_, 9, v_xs_6514_);
lean_closure_set(v___f_6540_, 10, v_a_6537_);
lean_closure_set(v___f_6540_, 11, v___x_6522_);
lean_closure_set(v___f_6540_, 12, v_head_6513_);
lean_closure_set(v___f_6540_, 13, v_levelParams_6512_);
v___x_6541_ = ((lean_object*)(l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__2___closed__1));
v___x_6542_ = l_Lean_Meta_withLocalDeclD___at___00Lean_Meta_mkSizeOfInstances_spec__2___redArg(v___x_6541_, v___x_6532_, v___f_6540_, v___y_6524_, v___y_6525_, v___y_6526_, v___y_6527_);
return v___x_6542_;
}
else
{
lean_object* v_a_6543_; lean_object* v___x_6545_; uint8_t v_isShared_6546_; uint8_t v_isSharedCheck_6550_; 
lean_dec_ref(v___x_6534_);
lean_dec_ref(v___x_6532_);
lean_dec(v___x_6530_);
lean_dec(v___y_6527_);
lean_dec_ref(v___y_6526_);
lean_dec(v___y_6525_);
lean_dec_ref(v___y_6524_);
lean_dec_ref(v_localInsts_6523_);
lean_dec(v___x_6522_);
lean_dec_ref(v___x_6521_);
lean_dec_ref(v___x_6518_);
lean_dec_ref(v___x_6517_);
lean_dec(v___x_6516_);
lean_dec_ref(v_xs_6514_);
lean_dec(v_head_6513_);
lean_dec(v_levelParams_6512_);
v_a_6543_ = lean_ctor_get(v___x_6536_, 0);
v_isSharedCheck_6550_ = !lean_is_exclusive(v___x_6536_);
if (v_isSharedCheck_6550_ == 0)
{
v___x_6545_ = v___x_6536_;
v_isShared_6546_ = v_isSharedCheck_6550_;
goto v_resetjp_6544_;
}
else
{
lean_inc(v_a_6543_);
lean_dec(v___x_6536_);
v___x_6545_ = lean_box(0);
v_isShared_6546_ = v_isSharedCheck_6550_;
goto v_resetjp_6544_;
}
v_resetjp_6544_:
{
lean_object* v___x_6548_; 
if (v_isShared_6546_ == 0)
{
v___x_6548_ = v___x_6545_;
goto v_reusejp_6547_;
}
else
{
lean_object* v_reuseFailAlloc_6549_; 
v_reuseFailAlloc_6549_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6549_, 0, v_a_6543_);
v___x_6548_ = v_reuseFailAlloc_6549_;
goto v_reusejp_6547_;
}
v_reusejp_6547_:
{
return v___x_6548_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__2___boxed(lean_object** _args){
lean_object* v_levelParams_6551_ = _args[0];
lean_object* v_head_6552_ = _args[1];
lean_object* v_xs_6553_ = _args[2];
lean_object* v___x_6554_ = _args[3];
lean_object* v___x_6555_ = _args[4];
lean_object* v___x_6556_ = _args[5];
lean_object* v___x_6557_ = _args[6];
lean_object* v___x_6558_ = _args[7];
lean_object* v___x_6559_ = _args[8];
lean_object* v___x_6560_ = _args[9];
lean_object* v___x_6561_ = _args[10];
lean_object* v_localInsts_6562_ = _args[11];
lean_object* v___y_6563_ = _args[12];
lean_object* v___y_6564_ = _args[13];
lean_object* v___y_6565_ = _args[14];
lean_object* v___y_6566_ = _args[15];
lean_object* v___y_6567_ = _args[16];
_start:
{
uint8_t v___x_18257__boxed_6568_; uint8_t v___x_18258__boxed_6569_; lean_object* v_res_6570_; 
v___x_18257__boxed_6568_ = lean_unbox(v___x_6558_);
v___x_18258__boxed_6569_ = lean_unbox(v___x_6559_);
v_res_6570_ = l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__2(v_levelParams_6551_, v_head_6552_, v_xs_6553_, v___x_6554_, v___x_6555_, v___x_6556_, v___x_6557_, v___x_18257__boxed_6568_, v___x_18258__boxed_6569_, v___x_6560_, v___x_6561_, v_localInsts_6562_, v___y_6563_, v___y_6564_, v___y_6565_, v___y_6566_);
return v_res_6570_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__3(lean_object* v_numParams_6571_, lean_object* v_levelParams_6572_, lean_object* v_head_6573_, lean_object* v___x_6574_, lean_object* v___x_6575_, uint8_t v___x_6576_, uint8_t v___x_6577_, lean_object* v___x_6578_, lean_object* v___x_6579_, lean_object* v_xs_6580_, lean_object* v_x_6581_, lean_object* v___y_6582_, lean_object* v___y_6583_, lean_object* v___y_6584_, lean_object* v___y_6585_){
_start:
{
lean_object* v___x_6587_; lean_object* v___x_6588_; lean_object* v___x_6589_; lean_object* v_lower_6591_; lean_object* v_upper_6592_; lean_object* v___x_6599_; uint8_t v___x_6600_; 
v___x_6587_ = lean_unsigned_to_nat(0u);
lean_inc(v_numParams_6571_);
lean_inc_ref(v_xs_6580_);
v___x_6588_ = l_Array_toSubarray___redArg(v_xs_6580_, v___x_6587_, v_numParams_6571_);
v___x_6589_ = l_Subarray_copy___redArg(v___x_6588_);
v___x_6599_ = lean_array_get_size(v_xs_6580_);
v___x_6600_ = lean_nat_dec_le(v_numParams_6571_, v___x_6587_);
if (v___x_6600_ == 0)
{
v_lower_6591_ = v_numParams_6571_;
v_upper_6592_ = v___x_6599_;
goto v___jp_6590_;
}
else
{
lean_dec(v_numParams_6571_);
v_lower_6591_ = v___x_6587_;
v_upper_6592_ = v___x_6599_;
goto v___jp_6590_;
}
v___jp_6590_:
{
lean_object* v___x_6593_; lean_object* v___x_6594_; lean_object* v___x_6595_; lean_object* v___f_6596_; lean_object* v___x_6597_; lean_object* v___x_6598_; 
lean_inc_ref(v_xs_6580_);
v___x_6593_ = l_Array_toSubarray___redArg(v_xs_6580_, v_lower_6591_, v_upper_6592_);
v___x_6594_ = lean_box(v___x_6576_);
v___x_6595_ = lean_box(v___x_6577_);
lean_inc_ref(v___x_6589_);
v___f_6596_ = lean_alloc_closure((void*)(l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__2___boxed), 17, 11);
lean_closure_set(v___f_6596_, 0, v_levelParams_6572_);
lean_closure_set(v___f_6596_, 1, v_head_6573_);
lean_closure_set(v___f_6596_, 2, v_xs_6580_);
lean_closure_set(v___f_6596_, 3, v___x_6574_);
lean_closure_set(v___f_6596_, 4, v___x_6575_);
lean_closure_set(v___f_6596_, 5, v___x_6589_);
lean_closure_set(v___f_6596_, 6, v___x_6593_);
lean_closure_set(v___f_6596_, 7, v___x_6594_);
lean_closure_set(v___f_6596_, 8, v___x_6595_);
lean_closure_set(v___f_6596_, 9, v___x_6578_);
lean_closure_set(v___f_6596_, 10, v___x_6579_);
lean_inc_ref(v___x_6589_);
v___x_6597_ = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances___boxed), 8, 3);
lean_closure_set(v___x_6597_, 0, lean_box(0));
lean_closure_set(v___x_6597_, 1, v___x_6589_);
lean_closure_set(v___x_6597_, 2, v___f_6596_);
v___x_6598_ = l_Lean_Meta_withInstImplicitAsImplicit___redArg(v___x_6589_, v___x_6597_, v___y_6582_, v___y_6583_, v___y_6584_, v___y_6585_);
lean_dec_ref(v___x_6589_);
return v___x_6598_;
}
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__3___boxed(lean_object* v_numParams_6601_, lean_object* v_levelParams_6602_, lean_object* v_head_6603_, lean_object* v___x_6604_, lean_object* v___x_6605_, lean_object* v___x_6606_, lean_object* v___x_6607_, lean_object* v___x_6608_, lean_object* v___x_6609_, lean_object* v_xs_6610_, lean_object* v_x_6611_, lean_object* v___y_6612_, lean_object* v___y_6613_, lean_object* v___y_6614_, lean_object* v___y_6615_, lean_object* v___y_6616_){
_start:
{
uint8_t v___x_18344__boxed_6617_; uint8_t v___x_18345__boxed_6618_; lean_object* v_res_6619_; 
v___x_18344__boxed_6617_ = lean_unbox(v___x_6606_);
v___x_18345__boxed_6618_ = lean_unbox(v___x_6607_);
v_res_6619_ = l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__3(v_numParams_6601_, v_levelParams_6602_, v_head_6603_, v___x_6604_, v___x_6605_, v___x_18344__boxed_6617_, v___x_18345__boxed_6618_, v___x_6608_, v___x_6609_, v_xs_6610_, v_x_6611_, v___y_6612_, v___y_6613_, v___y_6614_, v___y_6615_);
lean_dec_ref(v_x_6611_);
return v_res_6619_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg(lean_object* v_as_x27_6620_, lean_object* v_b_6621_, lean_object* v___y_6622_, lean_object* v___y_6623_, lean_object* v___y_6624_, lean_object* v___y_6625_){
_start:
{
if (lean_obj_tag(v_as_x27_6620_) == 0)
{
lean_object* v___x_6627_; 
lean_dec(v___y_6625_);
lean_dec_ref(v___y_6624_);
lean_dec(v___y_6623_);
lean_dec_ref(v___y_6622_);
v___x_6627_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6627_, 0, v_b_6621_);
return v___x_6627_;
}
else
{
lean_object* v_head_6628_; lean_object* v_tail_6629_; lean_object* v_array_6630_; lean_object* v_start_6631_; lean_object* v_stop_6632_; uint8_t v___x_6633_; 
v_head_6628_ = lean_ctor_get(v_as_x27_6620_, 0);
lean_inc(v_head_6628_);
v_tail_6629_ = lean_ctor_get(v_as_x27_6620_, 1);
lean_inc(v_tail_6629_);
lean_dec_ref(v_as_x27_6620_);
v_array_6630_ = lean_ctor_get(v_b_6621_, 0);
v_start_6631_ = lean_ctor_get(v_b_6621_, 1);
v_stop_6632_ = lean_ctor_get(v_b_6621_, 2);
v___x_6633_ = lean_nat_dec_lt(v_start_6631_, v_stop_6632_);
if (v___x_6633_ == 0)
{
lean_object* v___x_6634_; 
lean_dec(v_tail_6629_);
lean_dec(v_head_6628_);
lean_dec(v___y_6625_);
lean_dec_ref(v___y_6624_);
lean_dec(v___y_6623_);
lean_dec_ref(v___y_6622_);
v___x_6634_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6634_, 0, v_b_6621_);
return v___x_6634_;
}
else
{
lean_object* v___x_6636_; uint8_t v_isShared_6637_; uint8_t v_isSharedCheck_6675_; 
lean_inc(v_stop_6632_);
lean_inc(v_start_6631_);
lean_inc_ref(v_array_6630_);
v_isSharedCheck_6675_ = !lean_is_exclusive(v_b_6621_);
if (v_isSharedCheck_6675_ == 0)
{
lean_object* v_unused_6676_; lean_object* v_unused_6677_; lean_object* v_unused_6678_; 
v_unused_6676_ = lean_ctor_get(v_b_6621_, 2);
lean_dec(v_unused_6676_);
v_unused_6677_ = lean_ctor_get(v_b_6621_, 1);
lean_dec(v_unused_6677_);
v_unused_6678_ = lean_ctor_get(v_b_6621_, 0);
lean_dec(v_unused_6678_);
v___x_6636_ = v_b_6621_;
v_isShared_6637_ = v_isSharedCheck_6675_;
goto v_resetjp_6635_;
}
else
{
lean_dec(v_b_6621_);
v___x_6636_ = lean_box(0);
v_isShared_6637_ = v_isSharedCheck_6675_;
goto v_resetjp_6635_;
}
v_resetjp_6635_:
{
lean_object* v___x_6638_; 
lean_inc(v_head_6628_);
v___x_6638_ = l_Lean_getConstInfoInduct___at___00Lean_Meta_mkSizeOfFns_spec__0(v_head_6628_, v___y_6622_, v___y_6623_, v___y_6624_, v___y_6625_);
if (lean_obj_tag(v___x_6638_) == 0)
{
lean_object* v_a_6639_; lean_object* v_toConstantVal_6640_; lean_object* v_numParams_6641_; lean_object* v_levelParams_6642_; lean_object* v_type_6643_; lean_object* v___x_6644_; lean_object* v___x_6645_; uint8_t v___x_6646_; lean_object* v___x_6647_; lean_object* v___x_6648_; lean_object* v___x_6649_; lean_object* v___x_6650_; lean_object* v___f_6651_; lean_object* v___x_6652_; 
v_a_6639_ = lean_ctor_get(v___x_6638_, 0);
lean_inc(v_a_6639_);
lean_dec_ref(v___x_6638_);
v_toConstantVal_6640_ = lean_ctor_get(v_a_6639_, 0);
lean_inc_ref(v_toConstantVal_6640_);
v_numParams_6641_ = lean_ctor_get(v_a_6639_, 1);
lean_inc(v_numParams_6641_);
lean_dec(v_a_6639_);
v_levelParams_6642_ = lean_ctor_get(v_toConstantVal_6640_, 1);
lean_inc(v_levelParams_6642_);
v_type_6643_ = lean_ctor_get(v_toConstantVal_6640_, 2);
lean_inc_ref(v_type_6643_);
lean_dec_ref(v_toConstantVal_6640_);
v___x_6644_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0___closed__0));
v___x_6645_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0___closed__1));
v___x_6646_ = 0;
v___x_6647_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__2));
v___x_6648_ = lean_array_fget_borrowed(v_array_6630_, v_start_6631_);
v___x_6649_ = lean_box(v___x_6646_);
v___x_6650_ = lean_box(v___x_6633_);
lean_inc(v___x_6648_);
v___f_6651_ = lean_alloc_closure((void*)(l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___lam__3___boxed), 16, 9);
lean_closure_set(v___f_6651_, 0, v_numParams_6641_);
lean_closure_set(v___f_6651_, 1, v_levelParams_6642_);
lean_closure_set(v___f_6651_, 2, v_head_6628_);
lean_closure_set(v___f_6651_, 3, v___x_6645_);
lean_closure_set(v___f_6651_, 4, v___x_6648_);
lean_closure_set(v___f_6651_, 5, v___x_6649_);
lean_closure_set(v___f_6651_, 6, v___x_6650_);
lean_closure_set(v___f_6651_, 7, v___x_6644_);
lean_closure_set(v___f_6651_, 8, v___x_6647_);
lean_inc(v___y_6625_);
lean_inc_ref(v___y_6624_);
lean_inc(v___y_6623_);
lean_inc_ref(v___y_6622_);
v___x_6652_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop_spec__0___redArg(v_type_6643_, v___f_6651_, v___x_6646_, v___x_6646_, v___y_6622_, v___y_6623_, v___y_6624_, v___y_6625_);
if (lean_obj_tag(v___x_6652_) == 0)
{
lean_object* v___x_6653_; lean_object* v___x_6654_; lean_object* v___x_6656_; 
lean_dec_ref(v___x_6652_);
v___x_6653_ = lean_unsigned_to_nat(1u);
v___x_6654_ = lean_nat_add(v_start_6631_, v___x_6653_);
lean_dec(v_start_6631_);
if (v_isShared_6637_ == 0)
{
lean_ctor_set(v___x_6636_, 1, v___x_6654_);
v___x_6656_ = v___x_6636_;
goto v_reusejp_6655_;
}
else
{
lean_object* v_reuseFailAlloc_6658_; 
v_reuseFailAlloc_6658_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v_reuseFailAlloc_6658_, 0, v_array_6630_);
lean_ctor_set(v_reuseFailAlloc_6658_, 1, v___x_6654_);
lean_ctor_set(v_reuseFailAlloc_6658_, 2, v_stop_6632_);
v___x_6656_ = v_reuseFailAlloc_6658_;
goto v_reusejp_6655_;
}
v_reusejp_6655_:
{
v_as_x27_6620_ = v_tail_6629_;
v_b_6621_ = v___x_6656_;
goto _start;
}
}
else
{
lean_object* v_a_6659_; lean_object* v___x_6661_; uint8_t v_isShared_6662_; uint8_t v_isSharedCheck_6666_; 
lean_del_object(v___x_6636_);
lean_dec(v_stop_6632_);
lean_dec(v_start_6631_);
lean_dec_ref(v_array_6630_);
lean_dec(v_tail_6629_);
lean_dec(v___y_6625_);
lean_dec_ref(v___y_6624_);
lean_dec(v___y_6623_);
lean_dec_ref(v___y_6622_);
v_a_6659_ = lean_ctor_get(v___x_6652_, 0);
v_isSharedCheck_6666_ = !lean_is_exclusive(v___x_6652_);
if (v_isSharedCheck_6666_ == 0)
{
v___x_6661_ = v___x_6652_;
v_isShared_6662_ = v_isSharedCheck_6666_;
goto v_resetjp_6660_;
}
else
{
lean_inc(v_a_6659_);
lean_dec(v___x_6652_);
v___x_6661_ = lean_box(0);
v_isShared_6662_ = v_isSharedCheck_6666_;
goto v_resetjp_6660_;
}
v_resetjp_6660_:
{
lean_object* v___x_6664_; 
if (v_isShared_6662_ == 0)
{
v___x_6664_ = v___x_6661_;
goto v_reusejp_6663_;
}
else
{
lean_object* v_reuseFailAlloc_6665_; 
v_reuseFailAlloc_6665_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6665_, 0, v_a_6659_);
v___x_6664_ = v_reuseFailAlloc_6665_;
goto v_reusejp_6663_;
}
v_reusejp_6663_:
{
return v___x_6664_;
}
}
}
}
else
{
lean_object* v_a_6667_; lean_object* v___x_6669_; uint8_t v_isShared_6670_; uint8_t v_isSharedCheck_6674_; 
lean_del_object(v___x_6636_);
lean_dec(v_stop_6632_);
lean_dec(v_start_6631_);
lean_dec_ref(v_array_6630_);
lean_dec(v_tail_6629_);
lean_dec(v_head_6628_);
lean_dec(v___y_6625_);
lean_dec_ref(v___y_6624_);
lean_dec(v___y_6623_);
lean_dec_ref(v___y_6622_);
v_a_6667_ = lean_ctor_get(v___x_6638_, 0);
v_isSharedCheck_6674_ = !lean_is_exclusive(v___x_6638_);
if (v_isSharedCheck_6674_ == 0)
{
v___x_6669_ = v___x_6638_;
v_isShared_6670_ = v_isSharedCheck_6674_;
goto v_resetjp_6668_;
}
else
{
lean_inc(v_a_6667_);
lean_dec(v___x_6638_);
v___x_6669_ = lean_box(0);
v_isShared_6670_ = v_isSharedCheck_6674_;
goto v_resetjp_6668_;
}
v_resetjp_6668_:
{
lean_object* v___x_6672_; 
if (v_isShared_6670_ == 0)
{
v___x_6672_ = v___x_6669_;
goto v_reusejp_6671_;
}
else
{
lean_object* v_reuseFailAlloc_6673_; 
v_reuseFailAlloc_6673_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6673_, 0, v_a_6667_);
v___x_6672_ = v_reuseFailAlloc_6673_;
goto v_reusejp_6671_;
}
v_reusejp_6671_:
{
return v___x_6672_;
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg___boxed(lean_object* v_as_x27_6679_, lean_object* v_b_6680_, lean_object* v___y_6681_, lean_object* v___y_6682_, lean_object* v___y_6683_, lean_object* v___y_6684_, lean_object* v___y_6685_){
_start:
{
lean_object* v_res_6686_; 
v_res_6686_ = l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg(v_as_x27_6679_, v_b_6680_, v___y_6681_, v___y_6682_, v___y_6683_, v___y_6684_);
return v_res_6686_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___lam__2(uint8_t v_isUnsafe_6687_, lean_object* v_typeName_6688_, lean_object* v_all_6689_, lean_object* v___y_6690_, lean_object* v___y_6691_, lean_object* v___y_6692_, lean_object* v___y_6693_){
_start:
{
if (v_isUnsafe_6687_ == 0)
{
lean_object* v___x_6695_; 
lean_inc(v___y_6693_);
lean_inc_ref(v___y_6692_);
lean_inc(v___y_6691_);
lean_inc_ref(v___y_6690_);
v___x_6695_ = l_Lean_Meta_mkSizeOfFns(v_typeName_6688_, v___y_6690_, v___y_6691_, v___y_6692_, v___y_6693_);
if (lean_obj_tag(v___x_6695_) == 0)
{
lean_object* v_a_6696_; lean_object* v_fst_6697_; lean_object* v_snd_6698_; lean_object* v___x_6699_; lean_object* v___x_6700_; lean_object* v___x_6701_; lean_object* v___x_6702_; 
v_a_6696_ = lean_ctor_get(v___x_6695_, 0);
lean_inc(v_a_6696_);
lean_dec_ref(v___x_6695_);
v_fst_6697_ = lean_ctor_get(v_a_6696_, 0);
lean_inc(v_fst_6697_);
v_snd_6698_ = lean_ctor_get(v_a_6696_, 1);
lean_inc(v_snd_6698_);
lean_dec(v_a_6696_);
v___x_6699_ = lean_unsigned_to_nat(0u);
v___x_6700_ = lean_array_get_size(v_fst_6697_);
lean_inc(v_fst_6697_);
v___x_6701_ = l_Array_toSubarray___redArg(v_fst_6697_, v___x_6699_, v___x_6700_);
lean_inc(v___y_6693_);
lean_inc_ref(v___y_6692_);
lean_inc(v___y_6691_);
lean_inc_ref(v___y_6690_);
lean_inc(v_all_6689_);
v___x_6702_ = l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg(v_all_6689_, v___x_6701_, v___y_6690_, v___y_6691_, v___y_6692_, v___y_6693_);
if (lean_obj_tag(v___x_6702_) == 0)
{
lean_object* v___x_6704_; uint8_t v_isShared_6705_; uint8_t v_isSharedCheck_6715_; 
v_isSharedCheck_6715_ = !lean_is_exclusive(v___x_6702_);
if (v_isSharedCheck_6715_ == 0)
{
lean_object* v_unused_6716_; 
v_unused_6716_ = lean_ctor_get(v___x_6702_, 0);
lean_dec(v_unused_6716_);
v___x_6704_ = v___x_6702_;
v_isShared_6705_ = v_isSharedCheck_6715_;
goto v_resetjp_6703_;
}
else
{
lean_dec(v___x_6702_);
v___x_6704_ = lean_box(0);
v_isShared_6705_ = v_isSharedCheck_6715_;
goto v_resetjp_6703_;
}
v_resetjp_6703_:
{
lean_object* v_options_6706_; lean_object* v___x_6707_; uint8_t v___x_6708_; 
v_options_6706_ = lean_ctor_get(v___y_6692_, 2);
v___x_6707_ = l_Lean_Meta_genSizeOfSpec;
v___x_6708_ = l_Lean_Option_get___at___00Lean_Meta_mkSizeOfInstances_spec__1(v_options_6706_, v___x_6707_);
if (v___x_6708_ == 0)
{
lean_object* v___x_6709_; lean_object* v___x_6711_; 
lean_dec(v_snd_6698_);
lean_dec(v_fst_6697_);
lean_dec(v___y_6693_);
lean_dec_ref(v___y_6692_);
lean_dec(v___y_6691_);
lean_dec_ref(v___y_6690_);
lean_dec(v_all_6689_);
v___x_6709_ = lean_box(0);
if (v_isShared_6705_ == 0)
{
lean_ctor_set(v___x_6704_, 0, v___x_6709_);
v___x_6711_ = v___x_6704_;
goto v_reusejp_6710_;
}
else
{
lean_object* v_reuseFailAlloc_6712_; 
v_reuseFailAlloc_6712_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6712_, 0, v___x_6709_);
v___x_6711_ = v_reuseFailAlloc_6712_;
goto v_reusejp_6710_;
}
v_reusejp_6710_:
{
return v___x_6711_;
}
}
else
{
lean_object* v___x_6713_; lean_object* v___x_6714_; 
lean_del_object(v___x_6704_);
v___x_6713_ = lean_array_mk(v_all_6689_);
v___x_6714_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems(v___x_6713_, v_fst_6697_, v_snd_6698_, v___y_6690_, v___y_6691_, v___y_6692_, v___y_6693_);
lean_dec_ref(v___x_6713_);
return v___x_6714_;
}
}
}
else
{
lean_object* v_a_6717_; lean_object* v___x_6719_; uint8_t v_isShared_6720_; uint8_t v_isSharedCheck_6724_; 
lean_dec(v_snd_6698_);
lean_dec(v_fst_6697_);
lean_dec(v___y_6693_);
lean_dec_ref(v___y_6692_);
lean_dec(v___y_6691_);
lean_dec_ref(v___y_6690_);
lean_dec(v_all_6689_);
v_a_6717_ = lean_ctor_get(v___x_6702_, 0);
v_isSharedCheck_6724_ = !lean_is_exclusive(v___x_6702_);
if (v_isSharedCheck_6724_ == 0)
{
v___x_6719_ = v___x_6702_;
v_isShared_6720_ = v_isSharedCheck_6724_;
goto v_resetjp_6718_;
}
else
{
lean_inc(v_a_6717_);
lean_dec(v___x_6702_);
v___x_6719_ = lean_box(0);
v_isShared_6720_ = v_isSharedCheck_6724_;
goto v_resetjp_6718_;
}
v_resetjp_6718_:
{
lean_object* v___x_6722_; 
if (v_isShared_6720_ == 0)
{
v___x_6722_ = v___x_6719_;
goto v_reusejp_6721_;
}
else
{
lean_object* v_reuseFailAlloc_6723_; 
v_reuseFailAlloc_6723_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6723_, 0, v_a_6717_);
v___x_6722_ = v_reuseFailAlloc_6723_;
goto v_reusejp_6721_;
}
v_reusejp_6721_:
{
return v___x_6722_;
}
}
}
}
else
{
lean_object* v_a_6725_; lean_object* v___x_6727_; uint8_t v_isShared_6728_; uint8_t v_isSharedCheck_6732_; 
lean_dec(v___y_6693_);
lean_dec_ref(v___y_6692_);
lean_dec(v___y_6691_);
lean_dec_ref(v___y_6690_);
lean_dec(v_all_6689_);
v_a_6725_ = lean_ctor_get(v___x_6695_, 0);
v_isSharedCheck_6732_ = !lean_is_exclusive(v___x_6695_);
if (v_isSharedCheck_6732_ == 0)
{
v___x_6727_ = v___x_6695_;
v_isShared_6728_ = v_isSharedCheck_6732_;
goto v_resetjp_6726_;
}
else
{
lean_inc(v_a_6725_);
lean_dec(v___x_6695_);
v___x_6727_ = lean_box(0);
v_isShared_6728_ = v_isSharedCheck_6732_;
goto v_resetjp_6726_;
}
v_resetjp_6726_:
{
lean_object* v___x_6730_; 
if (v_isShared_6728_ == 0)
{
v___x_6730_ = v___x_6727_;
goto v_reusejp_6729_;
}
else
{
lean_object* v_reuseFailAlloc_6731_; 
v_reuseFailAlloc_6731_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6731_, 0, v_a_6725_);
v___x_6730_ = v_reuseFailAlloc_6731_;
goto v_reusejp_6729_;
}
v_reusejp_6729_:
{
return v___x_6730_;
}
}
}
}
else
{
lean_object* v___x_6733_; lean_object* v___x_6734_; 
lean_dec(v___y_6693_);
lean_dec_ref(v___y_6692_);
lean_dec(v___y_6691_);
lean_dec_ref(v___y_6690_);
lean_dec(v_all_6689_);
lean_dec(v_typeName_6688_);
v___x_6733_ = lean_box(0);
v___x_6734_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6734_, 0, v___x_6733_);
return v___x_6734_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___lam__2___boxed(lean_object* v_isUnsafe_6735_, lean_object* v_typeName_6736_, lean_object* v_all_6737_, lean_object* v___y_6738_, lean_object* v___y_6739_, lean_object* v___y_6740_, lean_object* v___y_6741_, lean_object* v___y_6742_){
_start:
{
uint8_t v_isUnsafe_boxed_6743_; lean_object* v_res_6744_; 
v_isUnsafe_boxed_6743_ = lean_unbox(v_isUnsafe_6735_);
v_res_6744_ = l_Lean_Meta_mkSizeOfInstances___lam__2(v_isUnsafe_boxed_6743_, v_typeName_6736_, v_all_6737_, v___y_6738_, v___y_6739_, v___y_6740_, v___y_6741_);
return v_res_6744_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Util_Trace_0__Lean_addTraceNode___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__6_spec__7(size_t v_sz_6745_, size_t v_i_6746_, lean_object* v_bs_6747_){
_start:
{
uint8_t v___x_6748_; 
v___x_6748_ = lean_usize_dec_lt(v_i_6746_, v_sz_6745_);
if (v___x_6748_ == 0)
{
return v_bs_6747_;
}
else
{
lean_object* v_v_6749_; lean_object* v_msg_6750_; lean_object* v___x_6751_; lean_object* v_bs_x27_6752_; size_t v___x_6753_; size_t v___x_6754_; lean_object* v___x_6755_; 
v_v_6749_ = lean_array_uget_borrowed(v_bs_6747_, v_i_6746_);
v_msg_6750_ = lean_ctor_get(v_v_6749_, 1);
lean_inc_ref(v_msg_6750_);
v___x_6751_ = lean_unsigned_to_nat(0u);
v_bs_x27_6752_ = lean_array_uset(v_bs_6747_, v_i_6746_, v___x_6751_);
v___x_6753_ = ((size_t)1ULL);
v___x_6754_ = lean_usize_add(v_i_6746_, v___x_6753_);
v___x_6755_ = lean_array_uset(v_bs_x27_6752_, v_i_6746_, v_msg_6750_);
v_i_6746_ = v___x_6754_;
v_bs_6747_ = v___x_6755_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Util_Trace_0__Lean_addTraceNode___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__6_spec__7___boxed(lean_object* v_sz_6757_, lean_object* v_i_6758_, lean_object* v_bs_6759_){
_start:
{
size_t v_sz_boxed_6760_; size_t v_i_boxed_6761_; lean_object* v_res_6762_; 
v_sz_boxed_6760_ = lean_unbox_usize(v_sz_6757_);
lean_dec(v_sz_6757_);
v_i_boxed_6761_ = lean_unbox_usize(v_i_6758_);
lean_dec(v_i_6758_);
v_res_6762_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Util_Trace_0__Lean_addTraceNode___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__6_spec__7(v_sz_boxed_6760_, v_i_boxed_6761_, v_bs_6759_);
return v_res_6762_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_addTraceNode___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__6(lean_object* v_oldTraces_6763_, lean_object* v_data_6764_, lean_object* v_ref_6765_, lean_object* v_msg_6766_, lean_object* v___y_6767_, lean_object* v___y_6768_, lean_object* v___y_6769_, lean_object* v___y_6770_){
_start:
{
lean_object* v_fileName_6772_; lean_object* v_fileMap_6773_; lean_object* v_options_6774_; lean_object* v_currRecDepth_6775_; lean_object* v_maxRecDepth_6776_; lean_object* v_ref_6777_; lean_object* v_currNamespace_6778_; lean_object* v_openDecls_6779_; lean_object* v_initHeartbeats_6780_; lean_object* v_maxHeartbeats_6781_; lean_object* v_quotContext_6782_; lean_object* v_currMacroScope_6783_; uint8_t v_diag_6784_; lean_object* v_cancelTk_x3f_6785_; uint8_t v_suppressElabErrors_6786_; lean_object* v_inheritedTraceOptions_6787_; lean_object* v___x_6789_; uint8_t v_isShared_6790_; uint8_t v_isSharedCheck_6842_; 
v_fileName_6772_ = lean_ctor_get(v___y_6769_, 0);
v_fileMap_6773_ = lean_ctor_get(v___y_6769_, 1);
v_options_6774_ = lean_ctor_get(v___y_6769_, 2);
v_currRecDepth_6775_ = lean_ctor_get(v___y_6769_, 3);
v_maxRecDepth_6776_ = lean_ctor_get(v___y_6769_, 4);
v_ref_6777_ = lean_ctor_get(v___y_6769_, 5);
v_currNamespace_6778_ = lean_ctor_get(v___y_6769_, 6);
v_openDecls_6779_ = lean_ctor_get(v___y_6769_, 7);
v_initHeartbeats_6780_ = lean_ctor_get(v___y_6769_, 8);
v_maxHeartbeats_6781_ = lean_ctor_get(v___y_6769_, 9);
v_quotContext_6782_ = lean_ctor_get(v___y_6769_, 10);
v_currMacroScope_6783_ = lean_ctor_get(v___y_6769_, 11);
v_diag_6784_ = lean_ctor_get_uint8(v___y_6769_, sizeof(void*)*14);
v_cancelTk_x3f_6785_ = lean_ctor_get(v___y_6769_, 12);
v_suppressElabErrors_6786_ = lean_ctor_get_uint8(v___y_6769_, sizeof(void*)*14 + 1);
v_inheritedTraceOptions_6787_ = lean_ctor_get(v___y_6769_, 13);
v_isSharedCheck_6842_ = !lean_is_exclusive(v___y_6769_);
if (v_isSharedCheck_6842_ == 0)
{
v___x_6789_ = v___y_6769_;
v_isShared_6790_ = v_isSharedCheck_6842_;
goto v_resetjp_6788_;
}
else
{
lean_inc(v_inheritedTraceOptions_6787_);
lean_inc(v_cancelTk_x3f_6785_);
lean_inc(v_currMacroScope_6783_);
lean_inc(v_quotContext_6782_);
lean_inc(v_maxHeartbeats_6781_);
lean_inc(v_initHeartbeats_6780_);
lean_inc(v_openDecls_6779_);
lean_inc(v_currNamespace_6778_);
lean_inc(v_ref_6777_);
lean_inc(v_maxRecDepth_6776_);
lean_inc(v_currRecDepth_6775_);
lean_inc(v_options_6774_);
lean_inc(v_fileMap_6773_);
lean_inc(v_fileName_6772_);
lean_dec(v___y_6769_);
v___x_6789_ = lean_box(0);
v_isShared_6790_ = v_isSharedCheck_6842_;
goto v_resetjp_6788_;
}
v_resetjp_6788_:
{
lean_object* v___x_6791_; lean_object* v_traceState_6792_; lean_object* v_traces_6793_; lean_object* v_ref_6794_; lean_object* v___x_6796_; 
v___x_6791_ = lean_st_ref_get(v___y_6770_);
v_traceState_6792_ = lean_ctor_get(v___x_6791_, 4);
lean_inc_ref(v_traceState_6792_);
lean_dec(v___x_6791_);
v_traces_6793_ = lean_ctor_get(v_traceState_6792_, 0);
lean_inc_ref(v_traces_6793_);
lean_dec_ref(v_traceState_6792_);
v_ref_6794_ = l_Lean_replaceRef(v_ref_6765_, v_ref_6777_);
lean_dec(v_ref_6777_);
if (v_isShared_6790_ == 0)
{
lean_ctor_set(v___x_6789_, 5, v_ref_6794_);
v___x_6796_ = v___x_6789_;
goto v_reusejp_6795_;
}
else
{
lean_object* v_reuseFailAlloc_6841_; 
v_reuseFailAlloc_6841_ = lean_alloc_ctor(0, 14, 2);
lean_ctor_set(v_reuseFailAlloc_6841_, 0, v_fileName_6772_);
lean_ctor_set(v_reuseFailAlloc_6841_, 1, v_fileMap_6773_);
lean_ctor_set(v_reuseFailAlloc_6841_, 2, v_options_6774_);
lean_ctor_set(v_reuseFailAlloc_6841_, 3, v_currRecDepth_6775_);
lean_ctor_set(v_reuseFailAlloc_6841_, 4, v_maxRecDepth_6776_);
lean_ctor_set(v_reuseFailAlloc_6841_, 5, v_ref_6794_);
lean_ctor_set(v_reuseFailAlloc_6841_, 6, v_currNamespace_6778_);
lean_ctor_set(v_reuseFailAlloc_6841_, 7, v_openDecls_6779_);
lean_ctor_set(v_reuseFailAlloc_6841_, 8, v_initHeartbeats_6780_);
lean_ctor_set(v_reuseFailAlloc_6841_, 9, v_maxHeartbeats_6781_);
lean_ctor_set(v_reuseFailAlloc_6841_, 10, v_quotContext_6782_);
lean_ctor_set(v_reuseFailAlloc_6841_, 11, v_currMacroScope_6783_);
lean_ctor_set(v_reuseFailAlloc_6841_, 12, v_cancelTk_x3f_6785_);
lean_ctor_set(v_reuseFailAlloc_6841_, 13, v_inheritedTraceOptions_6787_);
lean_ctor_set_uint8(v_reuseFailAlloc_6841_, sizeof(void*)*14, v_diag_6784_);
lean_ctor_set_uint8(v_reuseFailAlloc_6841_, sizeof(void*)*14 + 1, v_suppressElabErrors_6786_);
v___x_6796_ = v_reuseFailAlloc_6841_;
goto v_reusejp_6795_;
}
v_reusejp_6795_:
{
lean_object* v___x_6797_; size_t v_sz_6798_; size_t v___x_6799_; lean_object* v___x_6800_; lean_object* v_msg_6801_; lean_object* v___x_6802_; lean_object* v_a_6803_; lean_object* v___x_6805_; uint8_t v_isShared_6806_; uint8_t v_isSharedCheck_6840_; 
v___x_6797_ = l_Lean_PersistentArray_toArray___redArg(v_traces_6793_);
lean_dec_ref(v_traces_6793_);
v_sz_6798_ = lean_array_size(v___x_6797_);
v___x_6799_ = ((size_t)0ULL);
v___x_6800_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Util_Trace_0__Lean_addTraceNode___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__6_spec__7(v_sz_6798_, v___x_6799_, v___x_6797_);
v_msg_6801_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v_msg_6801_, 0, v_data_6764_);
lean_ctor_set(v_msg_6801_, 1, v_msg_6766_);
lean_ctor_set(v_msg_6801_, 2, v___x_6800_);
v___x_6802_ = l_Lean_addMessageContextFull___at___00Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1_spec__1(v_msg_6801_, v___y_6767_, v___y_6768_, v___x_6796_, v___y_6770_);
lean_dec_ref(v___x_6796_);
v_a_6803_ = lean_ctor_get(v___x_6802_, 0);
v_isSharedCheck_6840_ = !lean_is_exclusive(v___x_6802_);
if (v_isSharedCheck_6840_ == 0)
{
v___x_6805_ = v___x_6802_;
v_isShared_6806_ = v_isSharedCheck_6840_;
goto v_resetjp_6804_;
}
else
{
lean_inc(v_a_6803_);
lean_dec(v___x_6802_);
v___x_6805_ = lean_box(0);
v_isShared_6806_ = v_isSharedCheck_6840_;
goto v_resetjp_6804_;
}
v_resetjp_6804_:
{
lean_object* v___x_6807_; lean_object* v_traceState_6808_; lean_object* v_env_6809_; lean_object* v_nextMacroScope_6810_; lean_object* v_ngen_6811_; lean_object* v_auxDeclNGen_6812_; lean_object* v_cache_6813_; lean_object* v_messages_6814_; lean_object* v_infoState_6815_; lean_object* v_snapshotTasks_6816_; lean_object* v___x_6818_; uint8_t v_isShared_6819_; uint8_t v_isSharedCheck_6839_; 
v___x_6807_ = lean_st_ref_take(v___y_6770_);
v_traceState_6808_ = lean_ctor_get(v___x_6807_, 4);
v_env_6809_ = lean_ctor_get(v___x_6807_, 0);
v_nextMacroScope_6810_ = lean_ctor_get(v___x_6807_, 1);
v_ngen_6811_ = lean_ctor_get(v___x_6807_, 2);
v_auxDeclNGen_6812_ = lean_ctor_get(v___x_6807_, 3);
v_cache_6813_ = lean_ctor_get(v___x_6807_, 5);
v_messages_6814_ = lean_ctor_get(v___x_6807_, 6);
v_infoState_6815_ = lean_ctor_get(v___x_6807_, 7);
v_snapshotTasks_6816_ = lean_ctor_get(v___x_6807_, 8);
v_isSharedCheck_6839_ = !lean_is_exclusive(v___x_6807_);
if (v_isSharedCheck_6839_ == 0)
{
v___x_6818_ = v___x_6807_;
v_isShared_6819_ = v_isSharedCheck_6839_;
goto v_resetjp_6817_;
}
else
{
lean_inc(v_snapshotTasks_6816_);
lean_inc(v_infoState_6815_);
lean_inc(v_messages_6814_);
lean_inc(v_cache_6813_);
lean_inc(v_traceState_6808_);
lean_inc(v_auxDeclNGen_6812_);
lean_inc(v_ngen_6811_);
lean_inc(v_nextMacroScope_6810_);
lean_inc(v_env_6809_);
lean_dec(v___x_6807_);
v___x_6818_ = lean_box(0);
v_isShared_6819_ = v_isSharedCheck_6839_;
goto v_resetjp_6817_;
}
v_resetjp_6817_:
{
uint64_t v_tid_6820_; lean_object* v___x_6822_; uint8_t v_isShared_6823_; uint8_t v_isSharedCheck_6837_; 
v_tid_6820_ = lean_ctor_get_uint64(v_traceState_6808_, sizeof(void*)*1);
v_isSharedCheck_6837_ = !lean_is_exclusive(v_traceState_6808_);
if (v_isSharedCheck_6837_ == 0)
{
lean_object* v_unused_6838_; 
v_unused_6838_ = lean_ctor_get(v_traceState_6808_, 0);
lean_dec(v_unused_6838_);
v___x_6822_ = v_traceState_6808_;
v_isShared_6823_ = v_isSharedCheck_6837_;
goto v_resetjp_6821_;
}
else
{
lean_dec(v_traceState_6808_);
v___x_6822_ = lean_box(0);
v_isShared_6823_ = v_isSharedCheck_6837_;
goto v_resetjp_6821_;
}
v_resetjp_6821_:
{
lean_object* v___x_6824_; lean_object* v___x_6825_; lean_object* v___x_6827_; 
v___x_6824_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_6824_, 0, v_ref_6765_);
lean_ctor_set(v___x_6824_, 1, v_a_6803_);
v___x_6825_ = l_Lean_PersistentArray_push___redArg(v_oldTraces_6763_, v___x_6824_);
if (v_isShared_6823_ == 0)
{
lean_ctor_set(v___x_6822_, 0, v___x_6825_);
v___x_6827_ = v___x_6822_;
goto v_reusejp_6826_;
}
else
{
lean_object* v_reuseFailAlloc_6836_; 
v_reuseFailAlloc_6836_ = lean_alloc_ctor(0, 1, 8);
lean_ctor_set(v_reuseFailAlloc_6836_, 0, v___x_6825_);
lean_ctor_set_uint64(v_reuseFailAlloc_6836_, sizeof(void*)*1, v_tid_6820_);
v___x_6827_ = v_reuseFailAlloc_6836_;
goto v_reusejp_6826_;
}
v_reusejp_6826_:
{
lean_object* v___x_6829_; 
if (v_isShared_6819_ == 0)
{
lean_ctor_set(v___x_6818_, 4, v___x_6827_);
v___x_6829_ = v___x_6818_;
goto v_reusejp_6828_;
}
else
{
lean_object* v_reuseFailAlloc_6835_; 
v_reuseFailAlloc_6835_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_6835_, 0, v_env_6809_);
lean_ctor_set(v_reuseFailAlloc_6835_, 1, v_nextMacroScope_6810_);
lean_ctor_set(v_reuseFailAlloc_6835_, 2, v_ngen_6811_);
lean_ctor_set(v_reuseFailAlloc_6835_, 3, v_auxDeclNGen_6812_);
lean_ctor_set(v_reuseFailAlloc_6835_, 4, v___x_6827_);
lean_ctor_set(v_reuseFailAlloc_6835_, 5, v_cache_6813_);
lean_ctor_set(v_reuseFailAlloc_6835_, 6, v_messages_6814_);
lean_ctor_set(v_reuseFailAlloc_6835_, 7, v_infoState_6815_);
lean_ctor_set(v_reuseFailAlloc_6835_, 8, v_snapshotTasks_6816_);
v___x_6829_ = v_reuseFailAlloc_6835_;
goto v_reusejp_6828_;
}
v_reusejp_6828_:
{
lean_object* v___x_6830_; lean_object* v___x_6831_; lean_object* v___x_6833_; 
v___x_6830_ = lean_st_ref_set(v___y_6770_, v___x_6829_);
v___x_6831_ = lean_box(0);
if (v_isShared_6806_ == 0)
{
lean_ctor_set(v___x_6805_, 0, v___x_6831_);
v___x_6833_ = v___x_6805_;
goto v_reusejp_6832_;
}
else
{
lean_object* v_reuseFailAlloc_6834_; 
v_reuseFailAlloc_6834_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6834_, 0, v___x_6831_);
v___x_6833_ = v_reuseFailAlloc_6834_;
goto v_reusejp_6832_;
}
v_reusejp_6832_:
{
return v___x_6833_;
}
}
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_addTraceNode___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__6___boxed(lean_object* v_oldTraces_6843_, lean_object* v_data_6844_, lean_object* v_ref_6845_, lean_object* v_msg_6846_, lean_object* v___y_6847_, lean_object* v___y_6848_, lean_object* v___y_6849_, lean_object* v___y_6850_, lean_object* v___y_6851_){
_start:
{
lean_object* v_res_6852_; 
v_res_6852_ = l___private_Lean_Util_Trace_0__Lean_addTraceNode___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__6(v_oldTraces_6843_, v_data_6844_, v_ref_6845_, v_msg_6846_, v___y_6847_, v___y_6848_, v___y_6849_, v___y_6850_);
lean_dec(v___y_6850_);
lean_dec(v___y_6848_);
lean_dec_ref(v___y_6847_);
return v_res_6852_;
}
}
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__8(lean_object* v_opts_6853_, lean_object* v_opt_6854_){
_start:
{
lean_object* v_name_6855_; lean_object* v_defValue_6856_; lean_object* v_map_6857_; lean_object* v___x_6858_; 
v_name_6855_ = lean_ctor_get(v_opt_6854_, 0);
v_defValue_6856_ = lean_ctor_get(v_opt_6854_, 1);
v_map_6857_ = lean_ctor_get(v_opts_6853_, 0);
v___x_6858_ = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00Lean_NameMap_find_x3f_spec__0___redArg(v_map_6857_, v_name_6855_);
if (lean_obj_tag(v___x_6858_) == 0)
{
lean_inc(v_defValue_6856_);
return v_defValue_6856_;
}
else
{
lean_object* v_val_6859_; 
v_val_6859_ = lean_ctor_get(v___x_6858_, 0);
lean_inc(v_val_6859_);
lean_dec_ref(v___x_6858_);
if (lean_obj_tag(v_val_6859_) == 3)
{
lean_object* v_v_6860_; 
v_v_6860_ = lean_ctor_get(v_val_6859_, 0);
lean_inc(v_v_6860_);
lean_dec_ref(v_val_6859_);
return v_v_6860_;
}
else
{
lean_dec(v_val_6859_);
lean_inc(v_defValue_6856_);
return v_defValue_6856_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__8___boxed(lean_object* v_opts_6861_, lean_object* v_opt_6862_){
_start:
{
lean_object* v_res_6863_; 
v_res_6863_ = l_Lean_Option_get___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__8(v_opts_6861_, v_opt_6862_);
lean_dec_ref(v_opt_6862_);
lean_dec_ref(v_opts_6861_);
return v_res_6863_;
}
}
LEAN_EXPORT lean_object* l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__7___redArg(lean_object* v_x_6864_){
_start:
{
if (lean_obj_tag(v_x_6864_) == 0)
{
lean_object* v_a_6866_; lean_object* v___x_6868_; uint8_t v_isShared_6869_; uint8_t v_isSharedCheck_6873_; 
v_a_6866_ = lean_ctor_get(v_x_6864_, 0);
v_isSharedCheck_6873_ = !lean_is_exclusive(v_x_6864_);
if (v_isSharedCheck_6873_ == 0)
{
v___x_6868_ = v_x_6864_;
v_isShared_6869_ = v_isSharedCheck_6873_;
goto v_resetjp_6867_;
}
else
{
lean_inc(v_a_6866_);
lean_dec(v_x_6864_);
v___x_6868_ = lean_box(0);
v_isShared_6869_ = v_isSharedCheck_6873_;
goto v_resetjp_6867_;
}
v_resetjp_6867_:
{
lean_object* v___x_6871_; 
if (v_isShared_6869_ == 0)
{
lean_ctor_set_tag(v___x_6868_, 1);
v___x_6871_ = v___x_6868_;
goto v_reusejp_6870_;
}
else
{
lean_object* v_reuseFailAlloc_6872_; 
v_reuseFailAlloc_6872_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6872_, 0, v_a_6866_);
v___x_6871_ = v_reuseFailAlloc_6872_;
goto v_reusejp_6870_;
}
v_reusejp_6870_:
{
return v___x_6871_;
}
}
}
else
{
lean_object* v_a_6874_; lean_object* v___x_6876_; uint8_t v_isShared_6877_; uint8_t v_isSharedCheck_6881_; 
v_a_6874_ = lean_ctor_get(v_x_6864_, 0);
v_isSharedCheck_6881_ = !lean_is_exclusive(v_x_6864_);
if (v_isSharedCheck_6881_ == 0)
{
v___x_6876_ = v_x_6864_;
v_isShared_6877_ = v_isSharedCheck_6881_;
goto v_resetjp_6875_;
}
else
{
lean_inc(v_a_6874_);
lean_dec(v_x_6864_);
v___x_6876_ = lean_box(0);
v_isShared_6877_ = v_isSharedCheck_6881_;
goto v_resetjp_6875_;
}
v_resetjp_6875_:
{
lean_object* v___x_6879_; 
if (v_isShared_6877_ == 0)
{
lean_ctor_set_tag(v___x_6876_, 0);
v___x_6879_ = v___x_6876_;
goto v_reusejp_6878_;
}
else
{
lean_object* v_reuseFailAlloc_6880_; 
v_reuseFailAlloc_6880_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6880_, 0, v_a_6874_);
v___x_6879_ = v_reuseFailAlloc_6880_;
goto v_reusejp_6878_;
}
v_reusejp_6878_:
{
return v___x_6879_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__7___redArg___boxed(lean_object* v_x_6882_, lean_object* v___y_6883_){
_start:
{
lean_object* v_res_6884_; 
v_res_6884_ = l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__7___redArg(v_x_6882_);
return v_res_6884_;
}
}
LEAN_EXPORT uint8_t l_Except_toTraceResult___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__5(lean_object* v_e_6885_){
_start:
{
if (lean_obj_tag(v_e_6885_) == 0)
{
uint8_t v___x_6886_; 
v___x_6886_ = 2;
return v___x_6886_;
}
else
{
uint8_t v___x_6887_; 
v___x_6887_ = 0;
return v___x_6887_;
}
}
}
LEAN_EXPORT lean_object* l_Except_toTraceResult___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__5___boxed(lean_object* v_e_6888_){
_start:
{
uint8_t v_res_6889_; lean_object* v_r_6890_; 
v_res_6889_ = l_Except_toTraceResult___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__5(v_e_6888_);
lean_dec_ref(v_e_6888_);
v_r_6890_ = lean_box(v_res_6889_);
return v_r_6890_;
}
}
static lean_object* _init_l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__1(void){
_start:
{
lean_object* v___x_6892_; lean_object* v___x_6893_; 
v___x_6892_ = ((lean_object*)(l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__0));
v___x_6893_ = l_Lean_stringToMessageData(v___x_6892_);
return v___x_6893_;
}
}
static lean_object* _init_l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__3(void){
_start:
{
lean_object* v___x_6895_; lean_object* v___x_6896_; 
v___x_6895_ = ((lean_object*)(l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__2));
v___x_6896_ = l_Lean_stringToMessageData(v___x_6895_);
return v___x_6896_;
}
}
static double _init_l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__4(void){
_start:
{
lean_object* v___x_6897_; double v___x_6898_; 
v___x_6897_ = lean_unsigned_to_nat(1000u);
v___x_6898_ = lean_float_of_nat(v___x_6897_);
return v___x_6898_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5(lean_object* v_cls_6899_, uint8_t v_collapsed_6900_, lean_object* v_tag_6901_, lean_object* v_opts_6902_, uint8_t v_clsEnabled_6903_, lean_object* v_oldTraces_6904_, lean_object* v_msg_6905_, lean_object* v_resStartStop_6906_, lean_object* v___y_6907_, lean_object* v___y_6908_, lean_object* v___y_6909_, lean_object* v___y_6910_){
_start:
{
lean_object* v_fst_6912_; lean_object* v_snd_6913_; lean_object* v___x_6915_; uint8_t v_isShared_6916_; uint8_t v_isSharedCheck_7003_; 
v_fst_6912_ = lean_ctor_get(v_resStartStop_6906_, 0);
v_snd_6913_ = lean_ctor_get(v_resStartStop_6906_, 1);
v_isSharedCheck_7003_ = !lean_is_exclusive(v_resStartStop_6906_);
if (v_isSharedCheck_7003_ == 0)
{
v___x_6915_ = v_resStartStop_6906_;
v_isShared_6916_ = v_isSharedCheck_7003_;
goto v_resetjp_6914_;
}
else
{
lean_inc(v_snd_6913_);
lean_inc(v_fst_6912_);
lean_dec(v_resStartStop_6906_);
v___x_6915_ = lean_box(0);
v_isShared_6916_ = v_isSharedCheck_7003_;
goto v_resetjp_6914_;
}
v_resetjp_6914_:
{
lean_object* v___y_6918_; lean_object* v___y_6919_; lean_object* v_data_6920_; lean_object* v_fst_6923_; lean_object* v_snd_6924_; lean_object* v___x_6926_; uint8_t v_isShared_6927_; uint8_t v_isSharedCheck_7002_; 
v_fst_6923_ = lean_ctor_get(v_snd_6913_, 0);
v_snd_6924_ = lean_ctor_get(v_snd_6913_, 1);
v_isSharedCheck_7002_ = !lean_is_exclusive(v_snd_6913_);
if (v_isSharedCheck_7002_ == 0)
{
v___x_6926_ = v_snd_6913_;
v_isShared_6927_ = v_isSharedCheck_7002_;
goto v_resetjp_6925_;
}
else
{
lean_inc(v_snd_6924_);
lean_inc(v_fst_6923_);
lean_dec(v_snd_6913_);
v___x_6926_ = lean_box(0);
v_isShared_6927_ = v_isSharedCheck_7002_;
goto v_resetjp_6925_;
}
v___jp_6917_:
{
lean_object* v___x_6921_; 
v___x_6921_ = l___private_Lean_Util_Trace_0__Lean_addTraceNode___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__6(v_oldTraces_6904_, v_data_6920_, v___y_6919_, v___y_6918_, v___y_6907_, v___y_6908_, v___y_6909_, v___y_6910_);
lean_dec(v___y_6910_);
lean_dec(v___y_6908_);
lean_dec_ref(v___y_6907_);
if (lean_obj_tag(v___x_6921_) == 0)
{
lean_object* v___x_6922_; 
lean_dec_ref(v___x_6921_);
v___x_6922_ = l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__7___redArg(v_fst_6912_);
return v___x_6922_;
}
else
{
lean_dec(v_fst_6912_);
return v___x_6921_;
}
}
v_resetjp_6925_:
{
lean_object* v___x_6928_; uint8_t v___x_6929_; lean_object* v___y_6931_; lean_object* v_a_6932_; uint8_t v___y_6956_; double v___y_6987_; 
v___x_6928_ = l_Lean_trace_profiler;
v___x_6929_ = l_Lean_Option_get___at___00Lean_Meta_mkSizeOfInstances_spec__1(v_opts_6902_, v___x_6928_);
if (v___x_6929_ == 0)
{
v___y_6956_ = v___x_6929_;
goto v___jp_6955_;
}
else
{
lean_object* v___x_6992_; uint8_t v___x_6993_; 
v___x_6992_ = l_Lean_trace_profiler_useHeartbeats;
v___x_6993_ = l_Lean_Option_get___at___00Lean_Meta_mkSizeOfInstances_spec__1(v_opts_6902_, v___x_6992_);
if (v___x_6993_ == 0)
{
lean_object* v___x_6994_; lean_object* v___x_6995_; double v___x_6996_; double v___x_6997_; double v___x_6998_; 
v___x_6994_ = l_Lean_trace_profiler_threshold;
v___x_6995_ = l_Lean_Option_get___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__8(v_opts_6902_, v___x_6994_);
v___x_6996_ = lean_float_of_nat(v___x_6995_);
v___x_6997_ = lean_float_once(&l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__4, &l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__4_once, _init_l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__4);
v___x_6998_ = lean_float_div(v___x_6996_, v___x_6997_);
v___y_6987_ = v___x_6998_;
goto v___jp_6986_;
}
else
{
lean_object* v___x_6999_; lean_object* v___x_7000_; double v___x_7001_; 
v___x_6999_ = l_Lean_trace_profiler_threshold;
v___x_7000_ = l_Lean_Option_get___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__8(v_opts_6902_, v___x_6999_);
v___x_7001_ = lean_float_of_nat(v___x_7000_);
v___y_6987_ = v___x_7001_;
goto v___jp_6986_;
}
}
v___jp_6930_:
{
uint8_t v_result_6933_; lean_object* v___x_6934_; lean_object* v___x_6935_; lean_object* v___x_6936_; lean_object* v___x_6938_; 
v_result_6933_ = l_Except_toTraceResult___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__5(v_fst_6912_);
v___x_6934_ = l_Lean_TraceResult_toEmoji(v_result_6933_);
v___x_6935_ = l_Lean_stringToMessageData(v___x_6934_);
v___x_6936_ = lean_obj_once(&l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__1, &l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__1_once, _init_l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__1);
if (v_isShared_6927_ == 0)
{
lean_ctor_set_tag(v___x_6926_, 7);
lean_ctor_set(v___x_6926_, 1, v___x_6936_);
lean_ctor_set(v___x_6926_, 0, v___x_6935_);
v___x_6938_ = v___x_6926_;
goto v_reusejp_6937_;
}
else
{
lean_object* v_reuseFailAlloc_6949_; 
v_reuseFailAlloc_6949_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v_reuseFailAlloc_6949_, 0, v___x_6935_);
lean_ctor_set(v_reuseFailAlloc_6949_, 1, v___x_6936_);
v___x_6938_ = v_reuseFailAlloc_6949_;
goto v_reusejp_6937_;
}
v_reusejp_6937_:
{
lean_object* v_m_6940_; 
if (v_isShared_6916_ == 0)
{
lean_ctor_set_tag(v___x_6915_, 7);
lean_ctor_set(v___x_6915_, 1, v_a_6932_);
lean_ctor_set(v___x_6915_, 0, v___x_6938_);
v_m_6940_ = v___x_6915_;
goto v_reusejp_6939_;
}
else
{
lean_object* v_reuseFailAlloc_6948_; 
v_reuseFailAlloc_6948_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v_reuseFailAlloc_6948_, 0, v___x_6938_);
lean_ctor_set(v_reuseFailAlloc_6948_, 1, v_a_6932_);
v_m_6940_ = v_reuseFailAlloc_6948_;
goto v_reusejp_6939_;
}
v_reusejp_6939_:
{
lean_object* v___x_6941_; lean_object* v___x_6942_; double v___x_6943_; lean_object* v_data_6944_; 
v___x_6941_ = lean_box(v_result_6933_);
v___x_6942_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_6942_, 0, v___x_6941_);
v___x_6943_ = lean_float_once(&l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__0, &l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__0_once, _init_l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__0);
lean_inc_ref(v_tag_6901_);
lean_inc_ref(v___x_6942_);
lean_inc(v_cls_6899_);
v_data_6944_ = lean_alloc_ctor(0, 3, 17);
lean_ctor_set(v_data_6944_, 0, v_cls_6899_);
lean_ctor_set(v_data_6944_, 1, v___x_6942_);
lean_ctor_set(v_data_6944_, 2, v_tag_6901_);
lean_ctor_set_float(v_data_6944_, sizeof(void*)*3, v___x_6943_);
lean_ctor_set_float(v_data_6944_, sizeof(void*)*3 + 8, v___x_6943_);
lean_ctor_set_uint8(v_data_6944_, sizeof(void*)*3 + 16, v_collapsed_6900_);
if (v___x_6929_ == 0)
{
lean_dec_ref(v___x_6942_);
lean_dec(v_snd_6924_);
lean_dec(v_fst_6923_);
lean_dec_ref(v_tag_6901_);
lean_dec(v_cls_6899_);
v___y_6918_ = v_m_6940_;
v___y_6919_ = v___y_6931_;
v_data_6920_ = v_data_6944_;
goto v___jp_6917_;
}
else
{
lean_object* v_data_6945_; double v___x_6946_; double v___x_6947_; 
lean_dec_ref(v_data_6944_);
v_data_6945_ = lean_alloc_ctor(0, 3, 17);
lean_ctor_set(v_data_6945_, 0, v_cls_6899_);
lean_ctor_set(v_data_6945_, 1, v___x_6942_);
lean_ctor_set(v_data_6945_, 2, v_tag_6901_);
v___x_6946_ = lean_unbox_float(v_fst_6923_);
lean_dec(v_fst_6923_);
lean_ctor_set_float(v_data_6945_, sizeof(void*)*3, v___x_6946_);
v___x_6947_ = lean_unbox_float(v_snd_6924_);
lean_dec(v_snd_6924_);
lean_ctor_set_float(v_data_6945_, sizeof(void*)*3 + 8, v___x_6947_);
lean_ctor_set_uint8(v_data_6945_, sizeof(void*)*3 + 16, v_collapsed_6900_);
v___y_6918_ = v_m_6940_;
v___y_6919_ = v___y_6931_;
v_data_6920_ = v_data_6945_;
goto v___jp_6917_;
}
}
}
}
v___jp_6950_:
{
lean_object* v_ref_6951_; lean_object* v___x_6952_; 
v_ref_6951_ = lean_ctor_get(v___y_6909_, 5);
lean_inc(v___y_6910_);
lean_inc_ref(v___y_6909_);
lean_inc(v___y_6908_);
lean_inc_ref(v___y_6907_);
lean_inc(v_fst_6912_);
v___x_6952_ = lean_apply_6(v_msg_6905_, v_fst_6912_, v___y_6907_, v___y_6908_, v___y_6909_, v___y_6910_, lean_box(0));
if (lean_obj_tag(v___x_6952_) == 0)
{
lean_object* v_a_6953_; 
v_a_6953_ = lean_ctor_get(v___x_6952_, 0);
lean_inc(v_a_6953_);
lean_dec_ref(v___x_6952_);
lean_inc(v_ref_6951_);
v___y_6931_ = v_ref_6951_;
v_a_6932_ = v_a_6953_;
goto v___jp_6930_;
}
else
{
lean_object* v___x_6954_; 
lean_dec_ref(v___x_6952_);
v___x_6954_ = lean_obj_once(&l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__3, &l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__3_once, _init_l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___closed__3);
lean_inc(v_ref_6951_);
v___y_6931_ = v_ref_6951_;
v_a_6932_ = v___x_6954_;
goto v___jp_6930_;
}
}
v___jp_6955_:
{
if (v_clsEnabled_6903_ == 0)
{
if (v___y_6956_ == 0)
{
lean_object* v___x_6957_; lean_object* v_traceState_6958_; lean_object* v_env_6959_; lean_object* v_nextMacroScope_6960_; lean_object* v_ngen_6961_; lean_object* v_auxDeclNGen_6962_; lean_object* v_cache_6963_; lean_object* v_messages_6964_; lean_object* v_infoState_6965_; lean_object* v_snapshotTasks_6966_; lean_object* v___x_6968_; uint8_t v_isShared_6969_; uint8_t v_isSharedCheck_6985_; 
lean_del_object(v___x_6926_);
lean_dec(v_snd_6924_);
lean_dec(v_fst_6923_);
lean_del_object(v___x_6915_);
lean_dec_ref(v___y_6909_);
lean_dec(v___y_6908_);
lean_dec_ref(v___y_6907_);
lean_dec_ref(v_msg_6905_);
lean_dec_ref(v_tag_6901_);
lean_dec(v_cls_6899_);
v___x_6957_ = lean_st_ref_take(v___y_6910_);
v_traceState_6958_ = lean_ctor_get(v___x_6957_, 4);
v_env_6959_ = lean_ctor_get(v___x_6957_, 0);
v_nextMacroScope_6960_ = lean_ctor_get(v___x_6957_, 1);
v_ngen_6961_ = lean_ctor_get(v___x_6957_, 2);
v_auxDeclNGen_6962_ = lean_ctor_get(v___x_6957_, 3);
v_cache_6963_ = lean_ctor_get(v___x_6957_, 5);
v_messages_6964_ = lean_ctor_get(v___x_6957_, 6);
v_infoState_6965_ = lean_ctor_get(v___x_6957_, 7);
v_snapshotTasks_6966_ = lean_ctor_get(v___x_6957_, 8);
v_isSharedCheck_6985_ = !lean_is_exclusive(v___x_6957_);
if (v_isSharedCheck_6985_ == 0)
{
v___x_6968_ = v___x_6957_;
v_isShared_6969_ = v_isSharedCheck_6985_;
goto v_resetjp_6967_;
}
else
{
lean_inc(v_snapshotTasks_6966_);
lean_inc(v_infoState_6965_);
lean_inc(v_messages_6964_);
lean_inc(v_cache_6963_);
lean_inc(v_traceState_6958_);
lean_inc(v_auxDeclNGen_6962_);
lean_inc(v_ngen_6961_);
lean_inc(v_nextMacroScope_6960_);
lean_inc(v_env_6959_);
lean_dec(v___x_6957_);
v___x_6968_ = lean_box(0);
v_isShared_6969_ = v_isSharedCheck_6985_;
goto v_resetjp_6967_;
}
v_resetjp_6967_:
{
uint64_t v_tid_6970_; lean_object* v_traces_6971_; lean_object* v___x_6973_; uint8_t v_isShared_6974_; uint8_t v_isSharedCheck_6984_; 
v_tid_6970_ = lean_ctor_get_uint64(v_traceState_6958_, sizeof(void*)*1);
v_traces_6971_ = lean_ctor_get(v_traceState_6958_, 0);
v_isSharedCheck_6984_ = !lean_is_exclusive(v_traceState_6958_);
if (v_isSharedCheck_6984_ == 0)
{
v___x_6973_ = v_traceState_6958_;
v_isShared_6974_ = v_isSharedCheck_6984_;
goto v_resetjp_6972_;
}
else
{
lean_inc(v_traces_6971_);
lean_dec(v_traceState_6958_);
v___x_6973_ = lean_box(0);
v_isShared_6974_ = v_isSharedCheck_6984_;
goto v_resetjp_6972_;
}
v_resetjp_6972_:
{
lean_object* v___x_6975_; lean_object* v___x_6977_; 
v___x_6975_ = l_Lean_PersistentArray_append___redArg(v_oldTraces_6904_, v_traces_6971_);
lean_dec_ref(v_traces_6971_);
if (v_isShared_6974_ == 0)
{
lean_ctor_set(v___x_6973_, 0, v___x_6975_);
v___x_6977_ = v___x_6973_;
goto v_reusejp_6976_;
}
else
{
lean_object* v_reuseFailAlloc_6983_; 
v_reuseFailAlloc_6983_ = lean_alloc_ctor(0, 1, 8);
lean_ctor_set(v_reuseFailAlloc_6983_, 0, v___x_6975_);
lean_ctor_set_uint64(v_reuseFailAlloc_6983_, sizeof(void*)*1, v_tid_6970_);
v___x_6977_ = v_reuseFailAlloc_6983_;
goto v_reusejp_6976_;
}
v_reusejp_6976_:
{
lean_object* v___x_6979_; 
if (v_isShared_6969_ == 0)
{
lean_ctor_set(v___x_6968_, 4, v___x_6977_);
v___x_6979_ = v___x_6968_;
goto v_reusejp_6978_;
}
else
{
lean_object* v_reuseFailAlloc_6982_; 
v_reuseFailAlloc_6982_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_6982_, 0, v_env_6959_);
lean_ctor_set(v_reuseFailAlloc_6982_, 1, v_nextMacroScope_6960_);
lean_ctor_set(v_reuseFailAlloc_6982_, 2, v_ngen_6961_);
lean_ctor_set(v_reuseFailAlloc_6982_, 3, v_auxDeclNGen_6962_);
lean_ctor_set(v_reuseFailAlloc_6982_, 4, v___x_6977_);
lean_ctor_set(v_reuseFailAlloc_6982_, 5, v_cache_6963_);
lean_ctor_set(v_reuseFailAlloc_6982_, 6, v_messages_6964_);
lean_ctor_set(v_reuseFailAlloc_6982_, 7, v_infoState_6965_);
lean_ctor_set(v_reuseFailAlloc_6982_, 8, v_snapshotTasks_6966_);
v___x_6979_ = v_reuseFailAlloc_6982_;
goto v_reusejp_6978_;
}
v_reusejp_6978_:
{
lean_object* v___x_6980_; lean_object* v___x_6981_; 
v___x_6980_ = lean_st_ref_set(v___y_6910_, v___x_6979_);
lean_dec(v___y_6910_);
v___x_6981_ = l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__7___redArg(v_fst_6912_);
return v___x_6981_;
}
}
}
}
}
else
{
goto v___jp_6950_;
}
}
else
{
goto v___jp_6950_;
}
}
v___jp_6986_:
{
double v___x_6988_; double v___x_6989_; double v___x_6990_; uint8_t v___x_6991_; 
v___x_6988_ = lean_unbox_float(v_snd_6924_);
v___x_6989_ = lean_unbox_float(v_fst_6923_);
v___x_6990_ = lean_float_sub(v___x_6988_, v___x_6989_);
v___x_6991_ = lean_float_decLt(v___y_6987_, v___x_6990_);
v___y_6956_ = v___x_6991_;
goto v___jp_6955_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5___boxed(lean_object* v_cls_7004_, lean_object* v_collapsed_7005_, lean_object* v_tag_7006_, lean_object* v_opts_7007_, lean_object* v_clsEnabled_7008_, lean_object* v_oldTraces_7009_, lean_object* v_msg_7010_, lean_object* v_resStartStop_7011_, lean_object* v___y_7012_, lean_object* v___y_7013_, lean_object* v___y_7014_, lean_object* v___y_7015_, lean_object* v___y_7016_){
_start:
{
uint8_t v_collapsed_boxed_7017_; uint8_t v_clsEnabled_boxed_7018_; lean_object* v_res_7019_; 
v_collapsed_boxed_7017_ = lean_unbox(v_collapsed_7005_);
v_clsEnabled_boxed_7018_ = lean_unbox(v_clsEnabled_7008_);
v_res_7019_ = l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5(v_cls_7004_, v_collapsed_boxed_7017_, v_tag_7006_, v_opts_7007_, v_clsEnabled_boxed_7018_, v_oldTraces_7009_, v_msg_7010_, v_resStartStop_7011_, v___y_7012_, v___y_7013_, v___y_7014_, v___y_7015_);
lean_dec_ref(v_opts_7007_);
return v_res_7019_;
}
}
static double _init_l_Lean_Meta_mkSizeOfInstances___lam__3___closed__0(void){
_start:
{
lean_object* v___x_7020_; double v___x_7021_; 
v___x_7020_ = lean_unsigned_to_nat(1000000000u);
v___x_7021_ = lean_float_of_nat(v___x_7020_);
return v___x_7021_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___lam__3(lean_object* v_typeName_7022_, uint8_t v___x_7023_, lean_object* v_a_7024_, lean_object* v___f_7025_, lean_object* v___y_7026_, lean_object* v___y_7027_, lean_object* v___y_7028_, lean_object* v___y_7029_){
_start:
{
lean_object* v___x_7031_; lean_object* v_options_7032_; lean_object* v___x_7033_; 
v___x_7031_ = lean_st_ref_get(v___y_7029_);
v_options_7032_ = lean_ctor_get(v___y_7028_, 2);
lean_inc(v___y_7029_);
lean_inc_ref(v___y_7028_);
lean_inc(v___y_7027_);
lean_inc_ref(v___y_7026_);
lean_inc(v_typeName_7022_);
v___x_7033_ = l_Lean_Meta_isInductivePredicate(v_typeName_7022_, v___y_7026_, v___y_7027_, v___y_7028_, v___y_7029_);
if (lean_obj_tag(v___x_7033_) == 0)
{
lean_object* v_a_7034_; lean_object* v___x_7036_; uint8_t v_isShared_7037_; uint8_t v_isSharedCheck_7133_; 
v_a_7034_ = lean_ctor_get(v___x_7033_, 0);
v_isSharedCheck_7133_ = !lean_is_exclusive(v___x_7033_);
if (v_isSharedCheck_7133_ == 0)
{
v___x_7036_ = v___x_7033_;
v_isShared_7037_ = v_isSharedCheck_7133_;
goto v_resetjp_7035_;
}
else
{
lean_inc(v_a_7034_);
lean_dec(v___x_7033_);
v___x_7036_ = lean_box(0);
v_isShared_7037_ = v_isSharedCheck_7133_;
goto v_resetjp_7035_;
}
v_resetjp_7035_:
{
lean_object* v_env_7043_; lean_object* v___x_7044_; uint8_t v___x_7045_; 
v_env_7043_ = lean_ctor_get(v___x_7031_, 0);
lean_inc_ref(v_env_7043_);
lean_dec(v___x_7031_);
v___x_7044_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___redArg___lam__0___closed__1));
v___x_7045_ = l_Lean_Environment_contains(v_env_7043_, v___x_7044_, v___x_7023_);
if (v___x_7045_ == 0)
{
lean_dec(v_a_7034_);
lean_dec(v___y_7029_);
lean_dec_ref(v___y_7028_);
lean_dec(v___y_7027_);
lean_dec_ref(v___y_7026_);
lean_dec_ref(v___f_7025_);
lean_dec_ref(v_a_7024_);
lean_dec(v_typeName_7022_);
goto v___jp_7038_;
}
else
{
lean_object* v___x_7046_; uint8_t v___x_7047_; 
v___x_7046_ = l_Lean_Meta_genSizeOf;
v___x_7047_ = l_Lean_Option_get___at___00Lean_Meta_mkSizeOfInstances_spec__1(v_options_7032_, v___x_7046_);
if (v___x_7047_ == 0)
{
lean_dec(v_a_7034_);
lean_dec(v___y_7029_);
lean_dec_ref(v___y_7028_);
lean_dec(v___y_7027_);
lean_dec_ref(v___y_7026_);
lean_dec_ref(v___f_7025_);
lean_dec_ref(v_a_7024_);
lean_dec(v_typeName_7022_);
goto v___jp_7038_;
}
else
{
uint8_t v___x_7048_; 
v___x_7048_ = lean_unbox(v_a_7034_);
lean_dec(v_a_7034_);
if (v___x_7048_ == 0)
{
uint8_t v_hasTrace_7049_; 
lean_del_object(v___x_7036_);
v_hasTrace_7049_ = lean_ctor_get_uint8(v_options_7032_, sizeof(void*)*1);
if (v_hasTrace_7049_ == 0)
{
lean_object* v_all_7050_; uint8_t v_isUnsafe_7051_; lean_object* v___x_7052_; 
lean_dec_ref(v___f_7025_);
v_all_7050_ = lean_ctor_get(v_a_7024_, 3);
lean_inc(v_all_7050_);
v_isUnsafe_7051_ = lean_ctor_get_uint8(v_a_7024_, sizeof(void*)*6 + 1);
lean_dec_ref(v_a_7024_);
v___x_7052_ = l_Lean_Meta_mkSizeOfInstances___lam__2(v_isUnsafe_7051_, v_typeName_7022_, v_all_7050_, v___y_7026_, v___y_7027_, v___y_7028_, v___y_7029_);
return v___x_7052_;
}
else
{
lean_object* v_all_7053_; uint8_t v_isUnsafe_7054_; lean_object* v___x_7055_; lean_object* v___x_7056_; lean_object* v_a_7057_; lean_object* v___x_7058_; lean_object* v___y_7060_; lean_object* v___y_7061_; lean_object* v_a_7062_; lean_object* v___y_7076_; lean_object* v___y_7077_; lean_object* v_a_7078_; uint8_t v___x_7129_; 
v_all_7053_ = lean_ctor_get(v_a_7024_, 3);
lean_inc(v_all_7053_);
v_isUnsafe_7054_ = lean_ctor_get_uint8(v_a_7024_, sizeof(void*)*6 + 1);
lean_dec_ref(v_a_7024_);
v___x_7055_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__2));
v___x_7056_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__0___redArg(v___x_7055_, v___y_7028_);
v_a_7057_ = lean_ctor_get(v___x_7056_, 0);
lean_inc(v_a_7057_);
lean_dec_ref(v___x_7056_);
v___x_7058_ = ((lean_object*)(l_Lean_addTrace___at___00__private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop_spec__1___closed__1));
v___x_7129_ = lean_unbox(v_a_7057_);
if (v___x_7129_ == 0)
{
lean_object* v___x_7130_; uint8_t v___x_7131_; 
v___x_7130_ = l_Lean_trace_profiler;
v___x_7131_ = l_Lean_Option_get___at___00Lean_Meta_mkSizeOfInstances_spec__1(v_options_7032_, v___x_7130_);
if (v___x_7131_ == 0)
{
lean_object* v___x_7132_; 
lean_dec(v_a_7057_);
lean_dec_ref(v___f_7025_);
v___x_7132_ = l_Lean_Meta_mkSizeOfInstances___lam__2(v_isUnsafe_7054_, v_typeName_7022_, v_all_7053_, v___y_7026_, v___y_7027_, v___y_7028_, v___y_7029_);
return v___x_7132_;
}
else
{
lean_inc_ref(v_options_7032_);
goto v___jp_7088_;
}
}
else
{
lean_inc_ref(v_options_7032_);
goto v___jp_7088_;
}
v___jp_7059_:
{
lean_object* v___x_7063_; double v___x_7064_; double v___x_7065_; double v___x_7066_; double v___x_7067_; double v___x_7068_; lean_object* v___x_7069_; lean_object* v___x_7070_; lean_object* v___x_7071_; lean_object* v___x_7072_; uint8_t v___x_7073_; lean_object* v___x_7074_; 
v___x_7063_ = lean_io_mono_nanos_now();
v___x_7064_ = lean_float_of_nat(v___y_7060_);
v___x_7065_ = lean_float_once(&l_Lean_Meta_mkSizeOfInstances___lam__3___closed__0, &l_Lean_Meta_mkSizeOfInstances___lam__3___closed__0_once, _init_l_Lean_Meta_mkSizeOfInstances___lam__3___closed__0);
v___x_7066_ = lean_float_div(v___x_7064_, v___x_7065_);
v___x_7067_ = lean_float_of_nat(v___x_7063_);
v___x_7068_ = lean_float_div(v___x_7067_, v___x_7065_);
v___x_7069_ = lean_box_float(v___x_7066_);
v___x_7070_ = lean_box_float(v___x_7068_);
v___x_7071_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_7071_, 0, v___x_7069_);
lean_ctor_set(v___x_7071_, 1, v___x_7070_);
v___x_7072_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_7072_, 0, v_a_7062_);
lean_ctor_set(v___x_7072_, 1, v___x_7071_);
v___x_7073_ = lean_unbox(v_a_7057_);
lean_dec(v_a_7057_);
v___x_7074_ = l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5(v___x_7055_, v___x_7023_, v___x_7058_, v_options_7032_, v___x_7073_, v___y_7061_, v___f_7025_, v___x_7072_, v___y_7026_, v___y_7027_, v___y_7028_, v___y_7029_);
lean_dec_ref(v_options_7032_);
return v___x_7074_;
}
v___jp_7075_:
{
lean_object* v___x_7079_; double v___x_7080_; double v___x_7081_; lean_object* v___x_7082_; lean_object* v___x_7083_; lean_object* v___x_7084_; lean_object* v___x_7085_; uint8_t v___x_7086_; lean_object* v___x_7087_; 
v___x_7079_ = lean_io_get_num_heartbeats();
v___x_7080_ = lean_float_of_nat(v___y_7077_);
v___x_7081_ = lean_float_of_nat(v___x_7079_);
v___x_7082_ = lean_box_float(v___x_7080_);
v___x_7083_ = lean_box_float(v___x_7081_);
v___x_7084_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_7084_, 0, v___x_7082_);
lean_ctor_set(v___x_7084_, 1, v___x_7083_);
v___x_7085_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_7085_, 0, v_a_7078_);
lean_ctor_set(v___x_7085_, 1, v___x_7084_);
v___x_7086_ = lean_unbox(v_a_7057_);
lean_dec(v_a_7057_);
v___x_7087_ = l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5(v___x_7055_, v___x_7023_, v___x_7058_, v_options_7032_, v___x_7086_, v___y_7076_, v___f_7025_, v___x_7085_, v___y_7026_, v___y_7027_, v___y_7028_, v___y_7029_);
lean_dec_ref(v_options_7032_);
return v___x_7087_;
}
v___jp_7088_:
{
lean_object* v___x_7089_; lean_object* v_a_7090_; lean_object* v___x_7091_; uint8_t v___x_7092_; 
v___x_7089_ = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_Meta_mkSizeOfInstances_spec__4___redArg(v___y_7029_);
v_a_7090_ = lean_ctor_get(v___x_7089_, 0);
lean_inc(v_a_7090_);
lean_dec_ref(v___x_7089_);
v___x_7091_ = l_Lean_trace_profiler_useHeartbeats;
v___x_7092_ = l_Lean_Option_get___at___00Lean_Meta_mkSizeOfInstances_spec__1(v_options_7032_, v___x_7091_);
if (v___x_7092_ == 0)
{
lean_object* v___x_7093_; lean_object* v___x_7094_; 
v___x_7093_ = lean_io_mono_nanos_now();
lean_inc(v___y_7029_);
lean_inc_ref(v___y_7028_);
lean_inc(v___y_7027_);
lean_inc_ref(v___y_7026_);
v___x_7094_ = l_Lean_Meta_mkSizeOfInstances___lam__2(v_isUnsafe_7054_, v_typeName_7022_, v_all_7053_, v___y_7026_, v___y_7027_, v___y_7028_, v___y_7029_);
if (lean_obj_tag(v___x_7094_) == 0)
{
lean_object* v_a_7095_; lean_object* v___x_7097_; uint8_t v_isShared_7098_; uint8_t v_isSharedCheck_7102_; 
v_a_7095_ = lean_ctor_get(v___x_7094_, 0);
v_isSharedCheck_7102_ = !lean_is_exclusive(v___x_7094_);
if (v_isSharedCheck_7102_ == 0)
{
v___x_7097_ = v___x_7094_;
v_isShared_7098_ = v_isSharedCheck_7102_;
goto v_resetjp_7096_;
}
else
{
lean_inc(v_a_7095_);
lean_dec(v___x_7094_);
v___x_7097_ = lean_box(0);
v_isShared_7098_ = v_isSharedCheck_7102_;
goto v_resetjp_7096_;
}
v_resetjp_7096_:
{
lean_object* v___x_7100_; 
if (v_isShared_7098_ == 0)
{
lean_ctor_set_tag(v___x_7097_, 1);
v___x_7100_ = v___x_7097_;
goto v_reusejp_7099_;
}
else
{
lean_object* v_reuseFailAlloc_7101_; 
v_reuseFailAlloc_7101_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7101_, 0, v_a_7095_);
v___x_7100_ = v_reuseFailAlloc_7101_;
goto v_reusejp_7099_;
}
v_reusejp_7099_:
{
v___y_7060_ = v___x_7093_;
v___y_7061_ = v_a_7090_;
v_a_7062_ = v___x_7100_;
goto v___jp_7059_;
}
}
}
else
{
lean_object* v_a_7103_; lean_object* v___x_7105_; uint8_t v_isShared_7106_; uint8_t v_isSharedCheck_7110_; 
v_a_7103_ = lean_ctor_get(v___x_7094_, 0);
v_isSharedCheck_7110_ = !lean_is_exclusive(v___x_7094_);
if (v_isSharedCheck_7110_ == 0)
{
v___x_7105_ = v___x_7094_;
v_isShared_7106_ = v_isSharedCheck_7110_;
goto v_resetjp_7104_;
}
else
{
lean_inc(v_a_7103_);
lean_dec(v___x_7094_);
v___x_7105_ = lean_box(0);
v_isShared_7106_ = v_isSharedCheck_7110_;
goto v_resetjp_7104_;
}
v_resetjp_7104_:
{
lean_object* v___x_7108_; 
if (v_isShared_7106_ == 0)
{
lean_ctor_set_tag(v___x_7105_, 0);
v___x_7108_ = v___x_7105_;
goto v_reusejp_7107_;
}
else
{
lean_object* v_reuseFailAlloc_7109_; 
v_reuseFailAlloc_7109_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7109_, 0, v_a_7103_);
v___x_7108_ = v_reuseFailAlloc_7109_;
goto v_reusejp_7107_;
}
v_reusejp_7107_:
{
v___y_7060_ = v___x_7093_;
v___y_7061_ = v_a_7090_;
v_a_7062_ = v___x_7108_;
goto v___jp_7059_;
}
}
}
}
else
{
lean_object* v___x_7111_; lean_object* v___x_7112_; 
v___x_7111_ = lean_io_get_num_heartbeats();
lean_inc(v___y_7029_);
lean_inc_ref(v___y_7028_);
lean_inc(v___y_7027_);
lean_inc_ref(v___y_7026_);
v___x_7112_ = l_Lean_Meta_mkSizeOfInstances___lam__2(v_isUnsafe_7054_, v_typeName_7022_, v_all_7053_, v___y_7026_, v___y_7027_, v___y_7028_, v___y_7029_);
if (lean_obj_tag(v___x_7112_) == 0)
{
lean_object* v_a_7113_; lean_object* v___x_7115_; uint8_t v_isShared_7116_; uint8_t v_isSharedCheck_7120_; 
v_a_7113_ = lean_ctor_get(v___x_7112_, 0);
v_isSharedCheck_7120_ = !lean_is_exclusive(v___x_7112_);
if (v_isSharedCheck_7120_ == 0)
{
v___x_7115_ = v___x_7112_;
v_isShared_7116_ = v_isSharedCheck_7120_;
goto v_resetjp_7114_;
}
else
{
lean_inc(v_a_7113_);
lean_dec(v___x_7112_);
v___x_7115_ = lean_box(0);
v_isShared_7116_ = v_isSharedCheck_7120_;
goto v_resetjp_7114_;
}
v_resetjp_7114_:
{
lean_object* v___x_7118_; 
if (v_isShared_7116_ == 0)
{
lean_ctor_set_tag(v___x_7115_, 1);
v___x_7118_ = v___x_7115_;
goto v_reusejp_7117_;
}
else
{
lean_object* v_reuseFailAlloc_7119_; 
v_reuseFailAlloc_7119_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7119_, 0, v_a_7113_);
v___x_7118_ = v_reuseFailAlloc_7119_;
goto v_reusejp_7117_;
}
v_reusejp_7117_:
{
v___y_7076_ = v_a_7090_;
v___y_7077_ = v___x_7111_;
v_a_7078_ = v___x_7118_;
goto v___jp_7075_;
}
}
}
else
{
lean_object* v_a_7121_; lean_object* v___x_7123_; uint8_t v_isShared_7124_; uint8_t v_isSharedCheck_7128_; 
v_a_7121_ = lean_ctor_get(v___x_7112_, 0);
v_isSharedCheck_7128_ = !lean_is_exclusive(v___x_7112_);
if (v_isSharedCheck_7128_ == 0)
{
v___x_7123_ = v___x_7112_;
v_isShared_7124_ = v_isSharedCheck_7128_;
goto v_resetjp_7122_;
}
else
{
lean_inc(v_a_7121_);
lean_dec(v___x_7112_);
v___x_7123_ = lean_box(0);
v_isShared_7124_ = v_isSharedCheck_7128_;
goto v_resetjp_7122_;
}
v_resetjp_7122_:
{
lean_object* v___x_7126_; 
if (v_isShared_7124_ == 0)
{
lean_ctor_set_tag(v___x_7123_, 0);
v___x_7126_ = v___x_7123_;
goto v_reusejp_7125_;
}
else
{
lean_object* v_reuseFailAlloc_7127_; 
v_reuseFailAlloc_7127_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7127_, 0, v_a_7121_);
v___x_7126_ = v_reuseFailAlloc_7127_;
goto v_reusejp_7125_;
}
v_reusejp_7125_:
{
v___y_7076_ = v_a_7090_;
v___y_7077_ = v___x_7111_;
v_a_7078_ = v___x_7126_;
goto v___jp_7075_;
}
}
}
}
}
}
}
else
{
lean_dec(v___y_7029_);
lean_dec_ref(v___y_7028_);
lean_dec(v___y_7027_);
lean_dec_ref(v___y_7026_);
lean_dec_ref(v___f_7025_);
lean_dec_ref(v_a_7024_);
lean_dec(v_typeName_7022_);
goto v___jp_7038_;
}
}
}
v___jp_7038_:
{
lean_object* v___x_7039_; lean_object* v___x_7041_; 
v___x_7039_ = lean_box(0);
if (v_isShared_7037_ == 0)
{
lean_ctor_set(v___x_7036_, 0, v___x_7039_);
v___x_7041_ = v___x_7036_;
goto v_reusejp_7040_;
}
else
{
lean_object* v_reuseFailAlloc_7042_; 
v_reuseFailAlloc_7042_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7042_, 0, v___x_7039_);
v___x_7041_ = v_reuseFailAlloc_7042_;
goto v_reusejp_7040_;
}
v_reusejp_7040_:
{
return v___x_7041_;
}
}
}
}
else
{
lean_object* v_a_7134_; lean_object* v___x_7136_; uint8_t v_isShared_7137_; uint8_t v_isSharedCheck_7141_; 
lean_dec(v___x_7031_);
lean_dec(v___y_7029_);
lean_dec_ref(v___y_7028_);
lean_dec(v___y_7027_);
lean_dec_ref(v___y_7026_);
lean_dec_ref(v___f_7025_);
lean_dec_ref(v_a_7024_);
lean_dec(v_typeName_7022_);
v_a_7134_ = lean_ctor_get(v___x_7033_, 0);
v_isSharedCheck_7141_ = !lean_is_exclusive(v___x_7033_);
if (v_isSharedCheck_7141_ == 0)
{
v___x_7136_ = v___x_7033_;
v_isShared_7137_ = v_isSharedCheck_7141_;
goto v_resetjp_7135_;
}
else
{
lean_inc(v_a_7134_);
lean_dec(v___x_7033_);
v___x_7136_ = lean_box(0);
v_isShared_7137_ = v_isSharedCheck_7141_;
goto v_resetjp_7135_;
}
v_resetjp_7135_:
{
lean_object* v___x_7139_; 
if (v_isShared_7137_ == 0)
{
v___x_7139_ = v___x_7136_;
goto v_reusejp_7138_;
}
else
{
lean_object* v_reuseFailAlloc_7140_; 
v_reuseFailAlloc_7140_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7140_, 0, v_a_7134_);
v___x_7139_ = v_reuseFailAlloc_7140_;
goto v_reusejp_7138_;
}
v_reusejp_7138_:
{
return v___x_7139_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___lam__3___boxed(lean_object* v_typeName_7142_, lean_object* v___x_7143_, lean_object* v_a_7144_, lean_object* v___f_7145_, lean_object* v___y_7146_, lean_object* v___y_7147_, lean_object* v___y_7148_, lean_object* v___y_7149_, lean_object* v___y_7150_){
_start:
{
uint8_t v___x_18978__boxed_7151_; lean_object* v_res_7152_; 
v___x_18978__boxed_7151_ = lean_unbox(v___x_7143_);
v_res_7152_ = l_Lean_Meta_mkSizeOfInstances___lam__3(v_typeName_7142_, v___x_18978__boxed_7151_, v_a_7144_, v___f_7145_, v___y_7146_, v___y_7147_, v___y_7148_, v___y_7149_);
return v_res_7152_;
}
}
LEAN_EXPORT lean_object* l_Lean_withoutExporting___at___00Lean_Meta_mkSizeOfInstances_spec__0___redArg(lean_object* v_x_7153_, uint8_t v_when_7154_, lean_object* v___y_7155_, lean_object* v___y_7156_, lean_object* v___y_7157_, lean_object* v___y_7158_){
_start:
{
if (v_when_7154_ == 0)
{
lean_object* v___x_7160_; 
v___x_7160_ = lean_apply_5(v_x_7153_, v___y_7155_, v___y_7156_, v___y_7157_, v___y_7158_, lean_box(0));
return v___x_7160_;
}
else
{
uint8_t v___x_7161_; lean_object* v___x_7162_; 
v___x_7161_ = 0;
v___x_7162_ = l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg(v_x_7153_, v___x_7161_, v___y_7155_, v___y_7156_, v___y_7157_, v___y_7158_);
return v___x_7162_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_withoutExporting___at___00Lean_Meta_mkSizeOfInstances_spec__0___redArg___boxed(lean_object* v_x_7163_, lean_object* v_when_7164_, lean_object* v___y_7165_, lean_object* v___y_7166_, lean_object* v___y_7167_, lean_object* v___y_7168_, lean_object* v___y_7169_){
_start:
{
uint8_t v_when_boxed_7170_; lean_object* v_res_7171_; 
v_when_boxed_7170_ = lean_unbox(v_when_7164_);
v_res_7171_ = l_Lean_withoutExporting___at___00Lean_Meta_mkSizeOfInstances_spec__0___redArg(v_x_7163_, v_when_boxed_7170_, v___y_7165_, v___y_7166_, v___y_7167_, v___y_7168_);
return v_res_7171_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___lam__4(lean_object* v___x_7173_, uint8_t v___x_7174_, lean_object* v_typeName_7175_, lean_object* v___f_7176_, uint8_t v___x_7177_, lean_object* v___y_7178_, lean_object* v___y_7179_, lean_object* v___y_7180_, lean_object* v___y_7181_){
_start:
{
lean_object* v___x_7183_; 
lean_inc(v___y_7181_);
lean_inc_ref(v___y_7180_);
lean_inc(v___y_7179_);
lean_inc_ref(v___y_7178_);
v___x_7183_ = l_Lean_withoutExporting___at___00Lean_Meta_mkSizeOfInstances_spec__0___redArg(v___x_7173_, v___x_7174_, v___y_7178_, v___y_7179_, v___y_7180_, v___y_7181_);
if (lean_obj_tag(v___x_7183_) == 0)
{
lean_object* v_a_7184_; lean_object* v___x_7185_; lean_object* v___f_7186_; uint8_t v___x_7187_; 
v_a_7184_ = lean_ctor_get(v___x_7183_, 0);
lean_inc(v_a_7184_);
lean_dec_ref(v___x_7183_);
v___x_7185_ = lean_box(v___x_7174_);
lean_inc(v_a_7184_);
lean_inc(v_typeName_7175_);
v___f_7186_ = lean_alloc_closure((void*)(l_Lean_Meta_mkSizeOfInstances___lam__3___boxed), 9, 4);
lean_closure_set(v___f_7186_, 0, v_typeName_7175_);
lean_closure_set(v___f_7186_, 1, v___x_7185_);
lean_closure_set(v___f_7186_, 2, v_a_7184_);
lean_closure_set(v___f_7186_, 3, v___f_7176_);
v___x_7187_ = l_Lean_isPrivateName(v_typeName_7175_);
lean_dec(v_typeName_7175_);
if (v___x_7187_ == 0)
{
lean_object* v_ctors_7188_; lean_object* v___x_7189_; uint8_t v___x_7190_; 
v_ctors_7188_ = lean_ctor_get(v_a_7184_, 4);
lean_inc(v_ctors_7188_);
lean_dec(v_a_7184_);
v___x_7189_ = ((lean_object*)(l_Lean_Meta_mkSizeOfInstances___lam__4___closed__0));
v___x_7190_ = l_List_any___redArg(v_ctors_7188_, v___x_7189_);
if (v___x_7190_ == 0)
{
lean_object* v___x_7191_; 
v___x_7191_ = l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg(v___f_7186_, v___x_7174_, v___y_7178_, v___y_7179_, v___y_7180_, v___y_7181_);
return v___x_7191_;
}
else
{
lean_object* v___x_7192_; 
v___x_7192_ = l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg(v___f_7186_, v___x_7187_, v___y_7178_, v___y_7179_, v___y_7180_, v___y_7181_);
return v___x_7192_;
}
}
else
{
lean_object* v___x_7193_; 
lean_dec(v_a_7184_);
v___x_7193_ = l_Lean_withExporting___at___00Lean_Meta_mkSizeOfFn_spec__2___redArg(v___f_7186_, v___x_7177_, v___y_7178_, v___y_7179_, v___y_7180_, v___y_7181_);
return v___x_7193_;
}
}
else
{
lean_object* v_a_7194_; lean_object* v___x_7196_; uint8_t v_isShared_7197_; uint8_t v_isSharedCheck_7201_; 
lean_dec(v___y_7181_);
lean_dec_ref(v___y_7180_);
lean_dec(v___y_7179_);
lean_dec_ref(v___y_7178_);
lean_dec_ref(v___f_7176_);
lean_dec(v_typeName_7175_);
v_a_7194_ = lean_ctor_get(v___x_7183_, 0);
v_isSharedCheck_7201_ = !lean_is_exclusive(v___x_7183_);
if (v_isSharedCheck_7201_ == 0)
{
v___x_7196_ = v___x_7183_;
v_isShared_7197_ = v_isSharedCheck_7201_;
goto v_resetjp_7195_;
}
else
{
lean_inc(v_a_7194_);
lean_dec(v___x_7183_);
v___x_7196_ = lean_box(0);
v_isShared_7197_ = v_isSharedCheck_7201_;
goto v_resetjp_7195_;
}
v_resetjp_7195_:
{
lean_object* v___x_7199_; 
if (v_isShared_7197_ == 0)
{
v___x_7199_ = v___x_7196_;
goto v_reusejp_7198_;
}
else
{
lean_object* v_reuseFailAlloc_7200_; 
v_reuseFailAlloc_7200_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7200_, 0, v_a_7194_);
v___x_7199_ = v_reuseFailAlloc_7200_;
goto v_reusejp_7198_;
}
v_reusejp_7198_:
{
return v___x_7199_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___lam__4___boxed(lean_object* v___x_7202_, lean_object* v___x_7203_, lean_object* v_typeName_7204_, lean_object* v___f_7205_, lean_object* v___x_7206_, lean_object* v___y_7207_, lean_object* v___y_7208_, lean_object* v___y_7209_, lean_object* v___y_7210_, lean_object* v___y_7211_){
_start:
{
uint8_t v___x_19238__boxed_7212_; uint8_t v___x_19240__boxed_7213_; lean_object* v_res_7214_; 
v___x_19238__boxed_7212_ = lean_unbox(v___x_7203_);
v___x_19240__boxed_7213_ = lean_unbox(v___x_7206_);
v_res_7214_ = l_Lean_Meta_mkSizeOfInstances___lam__4(v___x_7202_, v___x_19238__boxed_7212_, v_typeName_7204_, v___f_7205_, v___x_19240__boxed_7213_, v___y_7207_, v___y_7208_, v___y_7209_, v___y_7210_);
return v_res_7214_;
}
}
static lean_object* _init_l_Lean_Meta_mkSizeOfInstances___closed__1(void){
_start:
{
lean_object* v___x_7216_; lean_object* v___x_7217_; 
v___x_7216_ = ((lean_object*)(l_Lean_Meta_mkSizeOfInstances___closed__0));
v___x_7217_ = l_Lean_stringToMessageData(v___x_7216_);
return v___x_7217_;
}
}
static lean_object* _init_l_Lean_Meta_mkSizeOfInstances___closed__3(void){
_start:
{
lean_object* v___x_7219_; lean_object* v___x_7220_; 
v___x_7219_ = ((lean_object*)(l_Lean_Meta_mkSizeOfInstances___closed__2));
v___x_7220_ = l_Lean_stringToMessageData(v___x_7219_);
return v___x_7220_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances(lean_object* v_typeName_7221_, lean_object* v_a_7222_, lean_object* v_a_7223_, lean_object* v_a_7224_, lean_object* v_a_7225_){
_start:
{
lean_object* v___f_7227_; lean_object* v___x_7228_; uint8_t v___x_7229_; lean_object* v___x_7230_; lean_object* v___x_7231_; lean_object* v___x_7232_; lean_object* v___x_7233_; lean_object* v___f_7234_; lean_object* v___x_7235_; uint8_t v___x_7236_; lean_object* v___x_7237_; lean_object* v___x_7238_; lean_object* v___f_7239_; lean_object* v___x_7240_; 
lean_inc(v_typeName_7221_);
v___f_7227_ = lean_alloc_closure((void*)(l_Lean_Meta_mkSizeOfInstances___lam__0___boxed), 7, 1);
lean_closure_set(v___f_7227_, 0, v_typeName_7221_);
v___x_7228_ = lean_obj_once(&l_Lean_Meta_mkSizeOfInstances___closed__1, &l_Lean_Meta_mkSizeOfInstances___closed__1_once, _init_l_Lean_Meta_mkSizeOfInstances___closed__1);
v___x_7229_ = 0;
lean_inc(v_typeName_7221_);
v___x_7230_ = l_Lean_MessageData_ofConstName(v_typeName_7221_, v___x_7229_);
v___x_7231_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_7231_, 0, v___x_7228_);
lean_ctor_set(v___x_7231_, 1, v___x_7230_);
v___x_7232_ = lean_obj_once(&l_Lean_Meta_mkSizeOfInstances___closed__3, &l_Lean_Meta_mkSizeOfInstances___closed__3_once, _init_l_Lean_Meta_mkSizeOfInstances___closed__3);
v___x_7233_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_7233_, 0, v___x_7231_);
lean_ctor_set(v___x_7233_, 1, v___x_7232_);
v___f_7234_ = lean_alloc_closure((void*)(l_Lean_Meta_mkSizeOfInstances___lam__1), 2, 1);
lean_closure_set(v___f_7234_, 0, v___x_7233_);
lean_inc(v_typeName_7221_);
v___x_7235_ = lean_alloc_closure((void*)(l_Lean_getConstInfoInduct___at___00Lean_Meta_mkSizeOfFns_spec__0___boxed), 6, 1);
lean_closure_set(v___x_7235_, 0, v_typeName_7221_);
v___x_7236_ = 1;
v___x_7237_ = lean_box(v___x_7236_);
v___x_7238_ = lean_box(v___x_7229_);
v___f_7239_ = lean_alloc_closure((void*)(l_Lean_Meta_mkSizeOfInstances___lam__4___boxed), 10, 5);
lean_closure_set(v___f_7239_, 0, v___x_7235_);
lean_closure_set(v___f_7239_, 1, v___x_7237_);
lean_closure_set(v___f_7239_, 2, v_typeName_7221_);
lean_closure_set(v___f_7239_, 3, v___f_7227_);
lean_closure_set(v___f_7239_, 4, v___x_7238_);
v___x_7240_ = l_Lean_Meta_mapErrorImp___redArg(v___f_7239_, v___f_7234_, v_a_7222_, v_a_7223_, v_a_7224_, v_a_7225_);
if (lean_obj_tag(v___x_7240_) == 0)
{
lean_object* v_a_7241_; lean_object* v___x_7243_; uint8_t v_isShared_7244_; uint8_t v_isSharedCheck_7248_; 
v_a_7241_ = lean_ctor_get(v___x_7240_, 0);
v_isSharedCheck_7248_ = !lean_is_exclusive(v___x_7240_);
if (v_isSharedCheck_7248_ == 0)
{
v___x_7243_ = v___x_7240_;
v_isShared_7244_ = v_isSharedCheck_7248_;
goto v_resetjp_7242_;
}
else
{
lean_inc(v_a_7241_);
lean_dec(v___x_7240_);
v___x_7243_ = lean_box(0);
v_isShared_7244_ = v_isSharedCheck_7248_;
goto v_resetjp_7242_;
}
v_resetjp_7242_:
{
lean_object* v___x_7246_; 
if (v_isShared_7244_ == 0)
{
v___x_7246_ = v___x_7243_;
goto v_reusejp_7245_;
}
else
{
lean_object* v_reuseFailAlloc_7247_; 
v_reuseFailAlloc_7247_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7247_, 0, v_a_7241_);
v___x_7246_ = v_reuseFailAlloc_7247_;
goto v_reusejp_7245_;
}
v_reusejp_7245_:
{
return v___x_7246_;
}
}
}
else
{
lean_object* v_a_7249_; lean_object* v___x_7251_; uint8_t v_isShared_7252_; uint8_t v_isSharedCheck_7256_; 
v_a_7249_ = lean_ctor_get(v___x_7240_, 0);
v_isSharedCheck_7256_ = !lean_is_exclusive(v___x_7240_);
if (v_isSharedCheck_7256_ == 0)
{
v___x_7251_ = v___x_7240_;
v_isShared_7252_ = v_isSharedCheck_7256_;
goto v_resetjp_7250_;
}
else
{
lean_inc(v_a_7249_);
lean_dec(v___x_7240_);
v___x_7251_ = lean_box(0);
v_isShared_7252_ = v_isSharedCheck_7256_;
goto v_resetjp_7250_;
}
v_resetjp_7250_:
{
lean_object* v___x_7254_; 
if (v_isShared_7252_ == 0)
{
v___x_7254_ = v___x_7251_;
goto v_reusejp_7253_;
}
else
{
lean_object* v_reuseFailAlloc_7255_; 
v_reuseFailAlloc_7255_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7255_, 0, v_a_7249_);
v___x_7254_ = v_reuseFailAlloc_7255_;
goto v_reusejp_7253_;
}
v_reusejp_7253_:
{
return v___x_7254_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfInstances___boxed(lean_object* v_typeName_7257_, lean_object* v_a_7258_, lean_object* v_a_7259_, lean_object* v_a_7260_, lean_object* v_a_7261_, lean_object* v_a_7262_){
_start:
{
lean_object* v_res_7263_; 
v_res_7263_ = l_Lean_Meta_mkSizeOfInstances(v_typeName_7257_, v_a_7258_, v_a_7259_, v_a_7260_, v_a_7261_);
return v_res_7263_;
}
}
LEAN_EXPORT lean_object* l_Lean_withoutExporting___at___00Lean_Meta_mkSizeOfInstances_spec__0(lean_object* v_00_u03b1_7264_, lean_object* v_x_7265_, uint8_t v_when_7266_, lean_object* v___y_7267_, lean_object* v___y_7268_, lean_object* v___y_7269_, lean_object* v___y_7270_){
_start:
{
lean_object* v___x_7272_; 
v___x_7272_ = l_Lean_withoutExporting___at___00Lean_Meta_mkSizeOfInstances_spec__0___redArg(v_x_7265_, v_when_7266_, v___y_7267_, v___y_7268_, v___y_7269_, v___y_7270_);
return v___x_7272_;
}
}
LEAN_EXPORT lean_object* l_Lean_withoutExporting___at___00Lean_Meta_mkSizeOfInstances_spec__0___boxed(lean_object* v_00_u03b1_7273_, lean_object* v_x_7274_, lean_object* v_when_7275_, lean_object* v___y_7276_, lean_object* v___y_7277_, lean_object* v___y_7278_, lean_object* v___y_7279_, lean_object* v___y_7280_){
_start:
{
uint8_t v_when_boxed_7281_; lean_object* v_res_7282_; 
v_when_boxed_7281_ = lean_unbox(v_when_7275_);
v_res_7282_ = l_Lean_withoutExporting___at___00Lean_Meta_mkSizeOfInstances_spec__0(v_00_u03b1_7273_, v_x_7274_, v_when_boxed_7281_, v___y_7276_, v___y_7277_, v___y_7278_, v___y_7279_);
return v_res_7282_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00Lean_Meta_mkSizeOfInstances_spec__2(lean_object* v_00_u03b1_7283_, lean_object* v_name_7284_, lean_object* v_type_7285_, lean_object* v_k_7286_, lean_object* v___y_7287_, lean_object* v___y_7288_, lean_object* v___y_7289_, lean_object* v___y_7290_){
_start:
{
lean_object* v___x_7292_; 
v___x_7292_ = l_Lean_Meta_withLocalDeclD___at___00Lean_Meta_mkSizeOfInstances_spec__2___redArg(v_name_7284_, v_type_7285_, v_k_7286_, v___y_7287_, v___y_7288_, v___y_7289_, v___y_7290_);
return v___x_7292_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00Lean_Meta_mkSizeOfInstances_spec__2___boxed(lean_object* v_00_u03b1_7293_, lean_object* v_name_7294_, lean_object* v_type_7295_, lean_object* v_k_7296_, lean_object* v___y_7297_, lean_object* v___y_7298_, lean_object* v___y_7299_, lean_object* v___y_7300_, lean_object* v___y_7301_){
_start:
{
lean_object* v_res_7302_; 
v_res_7302_ = l_Lean_Meta_withLocalDeclD___at___00Lean_Meta_mkSizeOfInstances_spec__2(v_00_u03b1_7293_, v_name_7294_, v_type_7295_, v_k_7296_, v___y_7297_, v___y_7298_, v___y_7299_, v___y_7300_);
return v_res_7302_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3(lean_object* v_as_7303_, lean_object* v_as_x27_7304_, lean_object* v_b_7305_, lean_object* v_a_7306_, lean_object* v___y_7307_, lean_object* v___y_7308_, lean_object* v___y_7309_, lean_object* v___y_7310_){
_start:
{
lean_object* v___x_7312_; 
v___x_7312_ = l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___redArg(v_as_x27_7304_, v_b_7305_, v___y_7307_, v___y_7308_, v___y_7309_, v___y_7310_);
return v___x_7312_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3___boxed(lean_object* v_as_7313_, lean_object* v_as_x27_7314_, lean_object* v_b_7315_, lean_object* v_a_7316_, lean_object* v___y_7317_, lean_object* v___y_7318_, lean_object* v___y_7319_, lean_object* v___y_7320_, lean_object* v___y_7321_){
_start:
{
lean_object* v_res_7322_; 
v_res_7322_ = l_List_forIn_x27_loop___at___00Lean_Meta_mkSizeOfInstances_spec__3(v_as_7313_, v_as_x27_7314_, v_b_7315_, v_a_7316_, v___y_7317_, v___y_7318_, v___y_7319_, v___y_7320_);
lean_dec(v_as_7313_);
return v_res_7322_;
}
}
LEAN_EXPORT lean_object* l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__7(lean_object* v_00_u03b1_7323_, lean_object* v_x_7324_, lean_object* v___y_7325_, lean_object* v___y_7326_, lean_object* v___y_7327_, lean_object* v___y_7328_){
_start:
{
lean_object* v___x_7330_; 
v___x_7330_ = l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__7___redArg(v_x_7324_);
return v___x_7330_;
}
}
LEAN_EXPORT lean_object* l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__7___boxed(lean_object* v_00_u03b1_7331_, lean_object* v_x_7332_, lean_object* v___y_7333_, lean_object* v___y_7334_, lean_object* v___y_7335_, lean_object* v___y_7336_, lean_object* v___y_7337_){
_start:
{
lean_object* v_res_7338_; 
v_res_7338_ = l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_Meta_mkSizeOfInstances_spec__5_spec__7(v_00_u03b1_7331_, v_x_7332_, v___y_7333_, v___y_7334_, v___y_7335_, v___y_7336_);
lean_dec(v___y_7336_);
lean_dec_ref(v___y_7335_);
lean_dec(v___y_7334_);
lean_dec_ref(v___y_7333_);
return v_res_7338_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_(){
_start:
{
lean_object* v___x_7393_; uint8_t v___x_7394_; lean_object* v___x_7395_; lean_object* v___x_7396_; 
v___x_7393_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___redArg___closed__2));
v___x_7394_ = 0;
v___x_7395_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn___closed__20_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_));
v___x_7396_ = l_Lean_registerTraceClass(v___x_7393_, v___x_7394_, v___x_7395_);
if (lean_obj_tag(v___x_7396_) == 0)
{
lean_object* v___x_7397_; lean_object* v___x_7398_; 
lean_dec_ref(v___x_7396_);
v___x_7397_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__7));
v___x_7398_ = l_Lean_registerTraceClass(v___x_7397_, v___x_7394_, v___x_7395_);
if (lean_obj_tag(v___x_7398_) == 0)
{
lean_object* v___x_7399_; lean_object* v___x_7400_; 
lean_dec_ref(v___x_7398_);
v___x_7399_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__2));
v___x_7400_ = l_Lean_registerTraceClass(v___x_7399_, v___x_7394_, v___x_7395_);
if (lean_obj_tag(v___x_7400_) == 0)
{
lean_object* v___x_7401_; lean_object* v___x_7402_; 
lean_dec_ref(v___x_7400_);
v___x_7401_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___closed__2));
v___x_7402_ = l_Lean_registerTraceClass(v___x_7401_, v___x_7394_, v___x_7395_);
if (lean_obj_tag(v___x_7402_) == 0)
{
lean_object* v___x_7403_; lean_object* v___x_7404_; 
lean_dec_ref(v___x_7402_);
v___x_7403_ = ((lean_object*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_main_loop___closed__1));
v___x_7404_ = l_Lean_registerTraceClass(v___x_7403_, v___x_7394_, v___x_7395_);
return v___x_7404_;
}
else
{
return v___x_7402_;
}
}
else
{
return v___x_7400_;
}
}
else
{
return v___x_7398_;
}
}
else
{
return v___x_7396_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2____boxed(lean_object* v_a_7405_){
_start:
{
lean_object* v_res_7406_; 
v_res_7406_ = l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_();
return v_res_7406_;
}
}
lean_object* runtime_initialize_Lean_AddDecl(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_AppBuilder(uint8_t builtin);
lean_object* runtime_initialize_Lean_DefEqAttrib(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_WHNF(uint8_t builtin);
static bool _G_runtime_initialized = false;
LEAN_EXPORT lean_object* runtime_initialize_Lean_Meta_SizeOf(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_AddDecl(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_AppBuilder(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_DefEqAttrib(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_WHNF(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = l_Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_3942519336____hygCtx___hyg_4_();
if (lean_io_result_is_error(res)) return res;
l_Lean_Meta_genSizeOf = lean_io_result_get_value(res);
lean_mark_persistent(l_Lean_Meta_genSizeOf);
lean_dec_ref(res);
res = l_Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_3847602515____hygCtx___hyg_4_();
if (lean_io_result_is_error(res)) return res;
l_Lean_Meta_genSizeOfSpec = lean_io_result_get_value(res);
lean_mark_persistent(l_Lean_Meta_genSizeOfSpec);
lean_dec_ref(res);
res = l___private_Lean_Meta_SizeOf_0__Lean_Meta_initFn_00___x40_Lean_Meta_SizeOf_726572898____hygCtx___hyg_2_();
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_Meta_SizeOf(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_AddDecl(uint8_t builtin);
lean_object* initialize_Lean_Meta_AppBuilder(uint8_t builtin);
lean_object* initialize_Lean_DefEqAttrib(uint8_t builtin);
lean_object* initialize_Lean_Meta_WHNF(uint8_t builtin);
static bool _G_initialized = false;
LEAN_EXPORT lean_object* initialize_Lean_Meta_SizeOf(uint8_t builtin) {
lean_object * res;
if (_G_initialized) return lean_io_result_mk_ok(lean_box(0));
_G_initialized = true;
res = initialize_Lean_AddDecl(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_AppBuilder(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_DefEqAttrib(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_WHNF(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_SizeOf(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = meta_initialize_Lean_Meta_SizeOf(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
return initialize_Lean_Meta_SizeOf(builtin);
}
#ifdef __cplusplus
}
#endif
