// Lean compiler output
// Module: Lean.Meta.Constructions.NoConfusion
// Imports: public import Lean.Meta.Basic import Lean.AddDecl import Lean.Meta.CompletionName import Lean.Meta.Constructions.CtorIdx import Lean.Meta.Constructions.CtorElim import Lean.Meta.Tactic.Subst
#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_Name_mkStr1(lean_object*);
lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkEqHEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
uint8_t lean_nat_dec_lt(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*);
lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* lean_name_append_index_after(lean_object*, lean_object*);
uint8_t l_List_isEmpty___redArg(lean_object*);
lean_object* l_Lean_Meta_mkEqRefl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_get(lean_object*);
lean_object* l_Lean_replaceRef(lean_object*, lean_object*);
lean_object* l_Lean_PersistentArray_toArray___redArg(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);
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
size_t lean_usize_add(size_t, size_t);
lean_object* lean_st_ref_take(lean_object*);
lean_object* l_Lean_PersistentArray_push___redArg(lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*);
extern lean_object* l_Lean_trace_profiler;
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_TraceResult_toEmoji(uint8_t);
lean_object* l_Lean_stringToMessageData(lean_object*);
double lean_float_of_nat(lean_object*);
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_Name_str___override(lean_object*, lean_object*);
lean_object* l_Lean_Name_num___override(lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*);
lean_object* l_Lean_Meta_arrowDomainsN(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Array_append___redArg(lean_object*, lean_object*);
lean_object* l_Lean_mkAppN(lean_object*, lean_object*);
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_get_x21Internal___redArg(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_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_Array_reverse___redArg(lean_object*);
lean_object* l_Array_toSubarray___redArg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isProof(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fget(lean_object*, lean_object*);
lean_object* l_Lean_Expr_fvarId_x21(lean_object*);
lean_object* l_Lean_FVarId_getUserName___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_name_append_after(lean_object*, lean_object*);
lean_object* l_Lean_mkForall(lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withPrimedNamesImp(lean_object*, lean_object*, lean_object*, 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___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_Expr_beta(lean_object*, lean_object*);
lean_object* l_Lean_mkArrow(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fget_borrowed(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingAuxAux(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_sub(lean_object*, lean_object*);
lean_object* l_Lean_mkConstructorElimName(lean_object*, lean_object*);
lean_object* l_Lean_mkConst(lean_object*, lean_object*);
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
lean_object* lean_whnf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_bindingDomain_x21(lean_object*);
lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*);
lean_object* l_mkCtorIdxName(lean_object*);
lean_object* l_Lean_mkRawNatLit(lean_object*);
lean_object* l_Lean_Meta_getLevel(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Level_ofNat(lean_object*);
lean_object* l_Lean_mkApp3(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkAppB(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkNot(lean_object*);
uint8_t l_Lean_instBEqMVarId_beq(lean_object*, lean_object*);
lean_object* lean_array_fset(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_addDecl(lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l___private_Lean_ReducibilityAttrs_0__Lean_setReducibilityStatusCore(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*);
lean_object* l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*);
lean_object* l_Lean_InductiveVal_numCtors(lean_object*);
lean_object* l_Lean_Meta_mkAppM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PersistentHashMap_mkEmptyEntries(lean_object*, lean_object*);
uint8_t l_Lean_Name_isAnonymous(lean_object*);
lean_object* l_Lean_Environment_setExporting(lean_object*, uint8_t);
uint8_t l_Lean_Environment_contains(lean_object*, lean_object*, uint8_t);
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*);
lean_object* l_Lean_MessageData_ofName(lean_object*);
extern lean_object* l_Lean_unknownIdentifierMessageTag;
lean_object* l_Lean_Environment_find_x3f(lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_mkCasesOnName(lean_object*);
lean_object* l_Lean_Environment_findConstVal_x3f(lean_object*, lean_object*, uint8_t);
lean_object* l_List_reverse___redArg(lean_object*);
lean_object* l_Lean_mkLevelParam(lean_object*);
lean_object* l_Lean_Name_append(lean_object*, lean_object*);
uint8_t l___private_Lean_Util_Trace_0__Lean_checkTraceOption_go(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_instInhabitedExpr;
lean_object* lean_array_get_borrowed(lean_object*, lean_object*, lean_object*);
lean_object* l_Subarray_copy___redArg(lean_object*);
lean_object* l_Lean_Expr_getNumHeadForalls(lean_object*);
uint8_t l_Lean_Expr_isAppOfArity(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MessageData_ofExpr(lean_object*);
lean_object* l_Lean_Expr_appFn_x21(lean_object*);
lean_object* l_Lean_Expr_appArg_x21(lean_object*);
lean_object* l_Lean_Meta_mkHEqRefl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_foldl___at___00Array_appendList_spec__0___redArg(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_mkFreshExprMVar(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_mvarId_x21(lean_object*);
lean_object* l_Lean_Meta_FVarSubst_get(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withMVarContextImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_substEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_FVarSubst_apply(lean_object*, lean_object*);
uint64_t l_Lean_instHashableMVarId_hash(lean_object*);
size_t lean_uint64_to_usize(uint64_t);
size_t lean_usize_shift_left(size_t, size_t);
size_t lean_usize_sub(size_t, size_t);
size_t lean_usize_land(size_t, size_t);
lean_object* lean_usize_to_nat(size_t);
lean_object* l_Lean_PersistentHashMap_mkCollisionNode___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
size_t lean_usize_shift_right(size_t, size_t);
size_t lean_usize_mul(size_t, size_t);
uint8_t lean_usize_dec_le(size_t, size_t);
lean_object* l_Lean_PersistentHashMap_getCollisionNodeSize___redArg(lean_object*);
uint8_t l_Lean_Expr_hasMVar(lean_object*);
lean_object* l_Lean_instantiateMVarsCore(lean_object*, lean_object*);
lean_object* lean_array_to_list(lean_object*);
lean_object* l_Lean_MessageData_ofList(lean_object*);
lean_object* lean_array_uget(lean_object*, size_t);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewBinderInfosImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Environment_hasUnsafe(lean_object*, lean_object*);
lean_object* lean_nat_mul(lean_object*, lean_object*);
lean_object* l_Lean_markNoConfusion(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_addProtected(lean_object*, lean_object*);
lean_object* l_Lean_Meta_whnfForall(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_inlineExpr(lean_object*, lean_object*);
lean_object* l_Lean_mkRecName(lean_object*);
lean_object* l_List_lengthTR___redArg(lean_object*);
lean_object* l_Lean_ConstantInfo_levelParams(lean_object*);
lean_object* l_Lean_Meta_isPropFormerType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_sort___override(lean_object*);
lean_object* lean_mk_array(lean_object*, lean_object*);
lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsN_loop(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkHEqOfEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_isHEq(lean_object*);
uint8_t l_Lean_Expr_isEq(lean_object*);
lean_object* l_Lean_Meta_mkExpectedTypeHint(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ConstantInfo_name(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_mkAppOptM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_whnfD(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_instantiateForall(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_isProp(lean_object*);
lean_object* l_Lean_InductiveVal_numTypeFormers(lean_object*);
lean_object* lean_register_option(lean_object*, lean_object*);
lean_object* l_Lean_mkCtorElimName(lean_object*);
lean_object* l_Lean_Level_succ___override(lean_object*);
lean_object* l_Lean_mkSort(lean_object*);
lean_object* l_Lean_Meta_addToCompletionBlackList(lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr3(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Core_mkFreshUserName(lean_object*, lean_object*, lean_object*);
lean_object* lean_io_mono_nanos_now();
lean_object* lean_io_get_num_heartbeats();
lean_object* l_Lean_registerTraceClass(lean_object*, uint8_t, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withPrimedNames___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__2___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withPrimedNames___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withPrimedNames___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withPrimedNames___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_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_forallTelescopeReducing___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___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_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___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_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___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_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___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_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3(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_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___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_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___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_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4(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_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__1___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_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__1___closed__0 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__1___closed__0_value;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__1(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_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__1___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_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__0(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___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_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__1___boxed__const__1 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__1___boxed__const__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___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_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__2(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_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__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___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__4(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_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__4___boxed(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_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___closed__0;
static const lean_closure_object l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_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_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___closed__1 = (const lean_object*)&l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___closed__1_value;
static const lean_closure_object l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_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_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___closed__2 = (const lean_object*)&l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___closed__2_value;
static const lean_closure_object l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_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_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___closed__3 = (const lean_object*)&l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___closed__3_value;
static const lean_closure_object l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_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_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___closed__4 = (const lean_object*)&l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___closed__4_value;
LEAN_EXPORT lean_object* l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0_spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0___redArg___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_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_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_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__0 = (const lean_object*)&l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__0_value;
static lean_once_cell_t l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__1;
static const lean_string_object l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__2_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_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__2 = (const lean_object*)&l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__2_value;
static lean_once_cell_t l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__3;
static const lean_string_object l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_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_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__4 = (const lean_object*)&l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__4_value;
static const lean_string_object l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__5_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_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__5 = (const lean_object*)&l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__5_value;
static const lean_string_object l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_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_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__6 = (const lean_object*)&l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__6_value;
static lean_once_cell_t l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__7_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__7;
LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_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_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_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_Option_register___at___00Lean_initFn_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__spec__0(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Option_register___at___00Lean_initFn_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_initFn___closed__0_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 9, .m_capacity = 9, .m_length = 8, .m_data = "backward"};
static const lean_object* l_Lean_initFn___closed__0_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_initFn___closed__0_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value;
static const lean_string_object l_Lean_initFn___closed__1_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 22, .m_capacity = 22, .m_length = 21, .m_data = "linearNoConfusionType"};
static const lean_object* l_Lean_initFn___closed__1_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_initFn___closed__1_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value;
static const lean_ctor_object l_Lean_initFn___closed__2_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_initFn___closed__0_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(77, 196, 98, 49, 58, 220, 29, 220)}};
static const lean_ctor_object l_Lean_initFn___closed__2_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____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_initFn___closed__2_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value_aux_0),((lean_object*)&l_Lean_initFn___closed__1_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(99, 138, 66, 117, 159, 86, 236, 197)}};
static const lean_object* l_Lean_initFn___closed__2_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_initFn___closed__2_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value;
static const lean_string_object l_Lean_initFn___closed__3_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 169, .m_capacity = 169, .m_length = 168, .m_data = "use the linear-size construction for the `noConfusionType` declaration of an inductive type. Set to false to use the previous, simpler but quadratic-size construction. "};
static const lean_object* l_Lean_initFn___closed__3_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_initFn___closed__3_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value;
static const lean_ctor_object l_Lean_initFn___closed__4_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____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_initFn___closed__3_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value)}};
static const lean_object* l_Lean_initFn___closed__4_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_initFn___closed__4_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value;
static const lean_string_object l_Lean_initFn___closed__5_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 5, .m_capacity = 5, .m_length = 4, .m_data = "Lean"};
static const lean_object* l_Lean_initFn___closed__5_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_initFn___closed__5_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value;
static const lean_ctor_object l_Lean_initFn___closed__6_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_initFn___closed__5_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_initFn___closed__6_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____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_initFn___closed__6_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value_aux_0),((lean_object*)&l_Lean_initFn___closed__0_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(244, 198, 114, 201, 97, 27, 16, 197)}};
static const lean_ctor_object l_Lean_initFn___closed__6_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____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_initFn___closed__6_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value_aux_1),((lean_object*)&l_Lean_initFn___closed__1_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(70, 39, 240, 168, 182, 208, 158, 106)}};
static const lean_object* l_Lean_initFn___closed__6_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4_ = (const lean_object*)&l_Lean_initFn___closed__6_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value;
LEAN_EXPORT lean_object* l_Lean_initFn_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4_();
LEAN_EXPORT lean_object* l_Lean_initFn_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4____boxed(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_backward_linearNoConfusionType;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionTypeName___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 16, .m_capacity = 16, .m_length = 15, .m_data = "noConfusionType"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionTypeName___closed__0 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionTypeName___closed__0_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionTypeName(lean_object*);
LEAN_EXPORT uint8_t l_Lean_Option_get___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__0(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__0___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_hasConst___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__1___redArg(lean_object*, uint8_t, lean_object*);
LEAN_EXPORT lean_object* l_Lean_hasConst___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_hasConst___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_hasConst___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_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_Constructions_NoConfusion_0__Lean_canUseLinear___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_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear___closed__0 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear___closed__0_value;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 10, .m_capacity = 10, .m_length = 9, .m_data = "propIntro"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear___closed__1 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear___closed__1_value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear___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_Constructions_NoConfusion_0__Lean_canUseLinear___closed__0_value),LEAN_SCALAR_PTR_LITERAL(143, 37, 101, 248, 9, 246, 191, 223)}};
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear___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_Constructions_NoConfusion_0__Lean_canUseLinear___closed__2_value_aux_0),((lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear___closed__1_value),LEAN_SCALAR_PTR_LITERAL(189, 136, 38, 165, 207, 169, 133, 34)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear___closed__2 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear___closed__2_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___lam__1___boxed(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_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___redArg___lam__0(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_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___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___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___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___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_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_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg(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_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__0;
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__1;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___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___private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear___closed__0_value),LEAN_SCALAR_PTR_LITERAL(143, 37, 101, 248, 9, 246, 191, 223)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__2 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__2_value;
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__3;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___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 = "Nat"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__4 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__4_value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___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*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__4_value),LEAN_SCALAR_PTR_LITERAL(155, 221, 223, 104, 58, 13, 204, 158)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__5 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__5_value;
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__6_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__6;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__7_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 = "dite"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__7 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__7_value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__8_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__7_value),LEAN_SCALAR_PTR_LITERAL(137, 166, 197, 161, 68, 218, 116, 116)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__8 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__8_value;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__9_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 = "decEq"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__9 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__9_value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__10_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_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__4_value),LEAN_SCALAR_PTR_LITERAL(155, 221, 223, 104, 58, 13, 204, 158)}};
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__10_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__10_value_aux_0),((lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__9_value),LEAN_SCALAR_PTR_LITERAL(13, 188, 70, 193, 211, 173, 121, 176)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__10 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__10_value;
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__11_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__11;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__12_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 = "h"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__12 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__12_value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___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*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__12_value),LEAN_SCALAR_PTR_LITERAL(176, 181, 207, 77, 197, 87, 68, 121)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__13 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__13_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq(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_Constructions_NoConfusion_0__Lean_mkIfNatEq___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___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0(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___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_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_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0(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_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__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_forallTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__3___redArg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__3___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__3(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkDefinitionValInferringUnsafe___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__6___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkDefinitionValInferringUnsafe___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__6___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkDefinitionValInferringUnsafe___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_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_mkDefinitionValInferringUnsafe___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__6___boxed(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_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__8___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_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__8___closed__0 = (const lean_object*)&l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__8___closed__0_value;
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___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_Constructions_NoConfusion_0__Lean_mkNoConfusionType___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_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__4___redArg___lam__0(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_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__4___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_object*);
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__4___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__4___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__1(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_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___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_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__2(lean_object*, lean_object*, lean_object*, 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_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__2___boxed(lean_object**);
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__3(uint8_t, lean_object*, lean_object*, 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_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__3___boxed(lean_object**);
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___boxed(lean_object**);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__1___boxed(lean_object**);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__2___boxed(lean_object**);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, 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___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__3___boxed(lean_object**);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___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*, uint8_t, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__4___boxed(lean_object**);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__5___boxed(lean_object**);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, 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_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__6___boxed(lean_object**);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__7___boxed(lean_object**);
static lean_once_cell_t l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__0;
static lean_once_cell_t l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__1;
static lean_once_cell_t l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__2;
static lean_once_cell_t l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__3;
LEAN_EXPORT lean_object* l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg(lean_object*, uint8_t, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__2(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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12(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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__13___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4___redArg___closed__0 = (const lean_object*)&l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4___redArg___closed__0_value;
static lean_once_cell_t l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4___redArg___closed__1;
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getConstVal___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getConstVal___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___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 = "P"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__0 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__0_value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___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_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__0_value),LEAN_SCALAR_PTR_LITERAL(160, 230, 119, 31, 245, 11, 149, 236)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__1 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__1_value;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 36, .m_capacity = 36, .m_length = 35, .m_data = "Lean.Meta.Constructions.NoConfusion"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__2 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__2_value;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 70, .m_capacity = 70, .m_length = 69, .m_data = "_private.Lean.Meta.Constructions.NoConfusion.0.Lean.mkNoConfusionType"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__3 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__3_value;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__4_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 = "unexpected universe levels on `casesOn`"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__4 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__4_value;
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__5_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__5;
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__6_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__6;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___boxed(lean_object**);
LEAN_EXPORT lean_object* l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4(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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11(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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13(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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__13(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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__13___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_Constructions_NoConfusion_0__Lean_withEqTelescope_go___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*);
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 3, .m_capacity = 3, .m_length = 2, .m_data = "eq"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg___closed__0 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg___closed__0_value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___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_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg___closed__0_value),LEAN_SCALAR_PTR_LITERAL(186, 128, 88, 209, 81, 126, 91, 90)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg___closed__1 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg___closed__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg(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_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___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_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go(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_Constructions_NoConfusion_0__Lean_withEqTelescope_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_array_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope___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_Constructions_NoConfusion_0__Lean_withEqTelescope___redArg___closed__0 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope___redArg___closed__0_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope___redArg___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_Constructions_NoConfusion_0__Lean_withEqTelescope(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_Constructions_NoConfusion_0__Lean_withEqTelescope___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_Constructions_NoConfusion_0__Lean_withNeededEqTelescope_go___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_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope_go___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope_go___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope_go___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_Constructions_NoConfusion_0__Lean_withNeededEqTelescope_go(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_Constructions_NoConfusion_0__Lean_withNeededEqTelescope_go___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_Constructions_NoConfusion_0__Lean_withNeededEqTelescope___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope___redArg___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_Constructions_NoConfusion_0__Lean_withNeededEqTelescope(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_Constructions_NoConfusion_0__Lean_withNeededEqTelescope___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_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_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_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0___redArg___closed__0 = (const lean_object*)&l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0___redArg___closed__0_value;
static const lean_ctor_object l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_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_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_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_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0___redArg___closed__1 = (const lean_object*)&l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0___redArg___closed__1_value;
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__2___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__6___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__6___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__6___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_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static double l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1___closed__0;
static const lean_string_object l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_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_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1___closed__1 = (const lean_object*)&l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1___closed__1_value;
static const lean_array_object l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_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_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1___closed__2 = (const lean_object*)&l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1___closed__2_value;
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_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_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_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_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___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 = "assigning "};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__0 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__0_value;
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__1;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 4, .m_capacity = 4, .m_length = 3, .m_data = " : "};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__2 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__2_value;
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__3;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___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 = " to\n"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__4 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__4_value;
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__5_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__5;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___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___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___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 = "substituting "};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___lam__0___closed__0 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___lam__0___closed__0_value;
static lean_once_cell_t l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___lam__0___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___lam__0___closed__1;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___lam__0(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_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___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_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___closed__0 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___closed__0_value;
static const lean_string_object l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___closed__1_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 = "mkNoConfusion"};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___closed__1 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___closed__1_value;
static const lean_ctor_object l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___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_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___closed__0_value),LEAN_SCALAR_PTR_LITERAL(211, 174, 49, 251, 64, 24, 251, 1)}};
static const lean_ctor_object l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___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_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___closed__2_value_aux_0),((lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___closed__1_value),LEAN_SCALAR_PTR_LITERAL(108, 254, 12, 114, 22, 254, 114, 81)}};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___closed__2 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___closed__2_value;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_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_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__9_spec__10___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__9___redArg(lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static size_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___closed__0;
static lean_once_cell_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static size_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___closed__1;
static lean_once_cell_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___closed__2;
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg(lean_object*, size_t, size_t, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__10___redArg(size_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__10___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___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_EXPORT lean_object* l_List_mapTR_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__7(lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___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 = "_private.Lean.Meta.Constructions.NoConfusion.0.Lean.mkEqNDRecTelescope"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__0 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__0_value;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__1_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 = "assertion violation: xs.size == ys.size\n  "};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__1 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__1_value;
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__2;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 21, .m_capacity = 21, .m_length = 20, .m_data = "mkEqNDRecTelescope: "};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__3 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__3_value;
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__4_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__4;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__5_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 = ", xs = "};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__5 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__5_value;
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__6_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__6;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__7_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 = ", ys = "};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__7 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__7_value;
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__8_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__8;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___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_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__9(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__10(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__9_spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__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 = "HEq"};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__0 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__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_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__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_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__0_value),LEAN_SCALAR_PTR_LITERAL(67, 180, 169, 191, 74, 196, 152, 188)}};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__1 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__1_value;
static const lean_string_object l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 21, .m_capacity = 21, .m_length = 20, .m_data = "unexpected equation "};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__2 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__2_value;
static lean_once_cell_t l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__3;
static const lean_string_object l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 32, .m_capacity = 32, .m_length = 31, .m_data = " in `mkNoConfusionCtorArg` for "};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__4 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__4_value;
static lean_once_cell_t l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__5_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__5;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_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_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___lam__0(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___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 = "k"};
static const lean_object* l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___lam__1___closed__0 = (const lean_object*)&l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___lam__1___closed__0_value;
static const lean_ctor_object l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___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_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___lam__1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(97, 52, 149, 243, 146, 99, 67, 163)}};
static const lean_object* l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___lam__1___closed__1 = (const lean_object*)&l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___lam__1___closed__1_value;
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___lam__1(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, 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_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___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_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_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_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_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___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__0(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_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__0___boxed(lean_object**);
LEAN_EXPORT lean_object* l_Lean_Meta_withNewBinderInfos___at___00Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2_spec__3___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withNewBinderInfos___at___00Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2_spec__3___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_mapMUnsafe_map___at___00Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2_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_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2_spec__2___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__1___boxed(lean_object**);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___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_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__2___boxed(lean_object**);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___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*);
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___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 = "noConfusion"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__0 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__0_value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(1) << 1) | 1))}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__1 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__1_value;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 26, .m_capacity = 26, .m_length = 25, .m_data = "mkNoConfusionCoreImp for "};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__2 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__2_value;
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__3;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 73, .m_capacity = 73, .m_length = 72, .m_data = "_private.Lean.Meta.Constructions.NoConfusion.0.Lean.mkNoConfusionCoreImp"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__4 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__4_value;
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__5_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__5;
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__6_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__6;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withNewBinderInfos___at___00Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2_spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withNewBinderInfos___at___00Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__1(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_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__1___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_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 37, .m_capacity = 37, .m_length = 36, .m_data = "mkNoConfusion: unexpected equality `"};
static const lean_object* l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__0 = (const lean_object*)&l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__0_value;
static lean_once_cell_t l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__1;
static const lean_string_object l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 22, .m_capacity = 22, .m_length = 21, .m_data = "` as next argument to"};
static const lean_object* l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__2 = (const lean_object*)&l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__2_value;
static lean_once_cell_t l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__3;
LEAN_EXPORT lean_object* l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_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_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__0___boxed(lean_object**);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_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___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__1___boxed(lean_object**);
static lean_once_cell_t l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__2___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__2___closed__0;
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, 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_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__2___boxed(lean_object**);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__3(lean_object*, lean_object*, 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_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__3___boxed(lean_object**);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__4(lean_object*, 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_object*);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__4___boxed(lean_object**);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__5(lean_object*, 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_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__5___boxed(lean_object**);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__6(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_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__6___boxed(lean_object**);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg(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_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 42, .m_capacity = 42, .m_length = 41, .m_data = "unexpected number of level parameters in "};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors___closed__0 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors___closed__0_value;
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_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_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCore___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__0___closed__0_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 = "noConfusionTypeEnum"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__0___closed__0 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__0___closed__0_value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___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_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__0___closed__0_value),LEAN_SCALAR_PTR_LITERAL(97, 165, 206, 44, 96, 147, 97, 117)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__0___closed__1 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__0___closed__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___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*);
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___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 = "y"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__1___closed__0 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__1___closed__0_value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___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_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(72, 55, 55, 9, 143, 73, 230, 150)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__1___closed__1 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__1___closed__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___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*);
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___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 = "x"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__2___closed__0 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__2___closed__0_value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___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_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__2___closed__0_value),LEAN_SCALAR_PTR_LITERAL(243, 101, 181, 186, 114, 114, 131, 189)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__2___closed__1 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__2___closed__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___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_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___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*);
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___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 = "v"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___closed__0 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___closed__0_value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___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_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___closed__0_value),LEAN_SCALAR_PTR_LITERAL(166, 108, 188, 174, 117, 112, 110, 72)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___closed__1 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___closed__1_value;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 88, .m_capacity = 88, .m_length = 87, .m_data = "_private.Lean.Meta.Constructions.NoConfusion.0.Lean.mkNoConfusionEnum.mkNoConfusionType"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___closed__2 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___closed__2_value;
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___closed__3;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___boxed(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_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__0(uint8_t, uint8_t, 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_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_ctor_object l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*3 + 0, .m_other = 3, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(4) << 1) | 1)),((lean_object*)(((size_t)(1) << 1) | 1)),((lean_object*)(((size_t)(2) << 1) | 1))}};
static const lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__0 = (const lean_object*)&l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__0_value;
static const lean_string_object l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 16, .m_capacity = 16, .m_length = 15, .m_data = "noConfusionEnum"};
static const lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__1 = (const lean_object*)&l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__1_value;
static const lean_ctor_object l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(244, 62, 217, 237, 101, 163, 189, 62)}};
static const lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__2 = (const lean_object*)&l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__2_value;
static lean_once_cell_t l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__3;
static lean_once_cell_t l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__4_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__4;
static lean_once_cell_t l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__5_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__5;
static const lean_string_object l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "p"};
static const lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__6 = (const lean_object*)&l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__6_value;
static const lean_ctor_object l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__7_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__6_value),LEAN_SCALAR_PTR_LITERAL(34, 153, 146, 175, 179, 220, 230, 134)}};
static const lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__7 = (const lean_object*)&l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__7_value;
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___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_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___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_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__2(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_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___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_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, 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_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___boxed(lean_object**);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__1___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__1___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, 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_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__1___boxed(lean_object**);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__2___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__2___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_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, 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_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 84, .m_capacity = 84, .m_length = 83, .m_data = "_private.Lean.Meta.Constructions.NoConfusion.0.Lean.mkNoConfusionEnum.mkNoConfusion"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion___closed__0 = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion___closed__0_value;
static lean_once_cell_t l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___redArg___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___redArg___closed__0;
static lean_once_cell_t l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___redArg___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___redArg(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkNoConfusion___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkNoConfusion___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_allM___at___00Lean_isEnumType___at___00Lean_mkNoConfusion_spec__0_spec__0(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_allM___at___00Lean_isEnumType___at___00Lean_mkNoConfusion_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_isEnumType___at___00Lean_mkNoConfusion_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isEnumType___at___00Lean_mkNoConfusion_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Except_toTraceResult___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__3(lean_object*);
LEAN_EXPORT lean_object* l_Except_toTraceResult___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__3___boxed(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_mkNoConfusion_spec__2_spec__4_spec__5(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_mkNoConfusion_spec__2_spec__4_spec__5___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_mkNoConfusion_spec__2_spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_addTraceNode___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__5___redArg(lean_object*);
LEAN_EXPORT lean_object* l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__5___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__6(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__6___boxed(lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__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 = " "};
static const lean_object* l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__0 = (const lean_object*)&l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__0_value;
static lean_once_cell_t l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__1;
static const lean_string_object l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___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_mkNoConfusion_spec__2___closed__2 = (const lean_object*)&l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__2_value;
static lean_once_cell_t l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__3;
static lean_once_cell_t l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__4_once = LEAN_ONCE_CELL_INITIALIZER;
static double l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__4;
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2(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_mkNoConfusion_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 lean_once_cell_t l_Lean_mkNoConfusion___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static double l_Lean_mkNoConfusion___closed__0;
LEAN_EXPORT lean_object* l_Lean_mkNoConfusion(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkNoConfusion___boxed(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_mkNoConfusion_spec__2_spec__5(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_mkNoConfusion_spec__2_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__0_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__0_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__0_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__1_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__0_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(103, 214, 75, 80, 34, 198, 193, 153)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__1_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__1_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__2_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__1_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),((lean_object*)&l_Lean_initFn___closed__5_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(90, 18, 126, 130, 18, 214, 172, 143)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__2_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__2_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__3_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__2_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),((lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___closed__0_value),LEAN_SCALAR_PTR_LITERAL(30, 196, 118, 96, 111, 225, 34, 188)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__3_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__3_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__4_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__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 = "Constructions"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__4_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__4_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__5_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__3_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__4_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(224, 107, 212, 234, 74, 49, 105, 87)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__5_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__5_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__6_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__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 = "NoConfusion"};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__6_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__6_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__7_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__5_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__6_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(242, 226, 189, 184, 34, 9, 145, 77)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__7_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__7_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__8_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__7_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),((lean_object*)(((size_t)(0) << 1) | 1)),LEAN_SCALAR_PTR_LITERAL(243, 97, 90, 160, 238, 101, 199, 199)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__8_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__8_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__9_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__8_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),((lean_object*)&l_Lean_initFn___closed__5_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(222, 208, 180, 151, 219, 122, 10, 90)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__9_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__9_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__10_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__10_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__10_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__11_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__9_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__10_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(147, 135, 245, 143, 96, 156, 221, 53)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__11_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__11_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__12_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__12_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__12_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__13_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__11_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__12_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(166, 118, 170, 17, 166, 182, 54, 17)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__13_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__13_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__14_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__13_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),((lean_object*)&l_Lean_initFn___closed__5_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__value),LEAN_SCALAR_PTR_LITERAL(47, 129, 60, 177, 70, 185, 44, 157)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__14_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__14_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__15_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__14_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),((lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___closed__0_value),LEAN_SCALAR_PTR_LITERAL(79, 194, 75, 29, 5, 123, 160, 126)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__15_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__15_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__16_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__15_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__4_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(133, 95, 32, 181, 252, 235, 53, 227)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__16_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__16_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__17_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__16_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__6_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(123, 1, 25, 118, 32, 179, 240, 245)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__17_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__17_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__18_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__17_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),((lean_object*)(((size_t)(1240126624) << 1) | 1)),LEAN_SCALAR_PTR_LITERAL(165, 56, 170, 248, 230, 143, 121, 39)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__18_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__18_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__19_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__19_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__19_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__20_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__18_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__19_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(118, 109, 207, 243, 117, 140, 36, 75)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__20_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__20_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__21_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__21_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__21_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__22_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__20_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__21_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(202, 97, 60, 203, 218, 46, 246, 159)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__22_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__22_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__23_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion_0__Lean_initFn___closed__22_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value),((lean_object*)(((size_t)(2) << 1) | 1)),LEAN_SCALAR_PTR_LITERAL(115, 154, 179, 238, 63, 118, 250, 103)}};
static const lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__23_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__23_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2__value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_();
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2____boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withPrimedNames___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__2___redArg(lean_object* v_xs_1_, lean_object* v_k_2_, lean_object* v___y_3_, lean_object* v___y_4_, lean_object* v___y_5_, lean_object* v___y_6_){
_start:
{
lean_object* v___x_8_; 
v___x_8_ = l___private_Lean_Meta_Basic_0__Lean_Meta_withPrimedNamesImp(lean_box(0), v_xs_1_, v_k_2_, v___y_3_, v___y_4_, v___y_5_, v___y_6_);
if (lean_obj_tag(v___x_8_) == 0)
{
lean_object* v_a_9_; lean_object* v___x_11_; uint8_t v_isShared_12_; uint8_t v_isSharedCheck_16_; 
v_a_9_ = lean_ctor_get(v___x_8_, 0);
v_isSharedCheck_16_ = !lean_is_exclusive(v___x_8_);
if (v_isSharedCheck_16_ == 0)
{
v___x_11_ = v___x_8_;
v_isShared_12_ = v_isSharedCheck_16_;
goto v_resetjp_10_;
}
else
{
lean_inc(v_a_9_);
lean_dec(v___x_8_);
v___x_11_ = lean_box(0);
v_isShared_12_ = v_isSharedCheck_16_;
goto v_resetjp_10_;
}
v_resetjp_10_:
{
lean_object* v___x_14_; 
if (v_isShared_12_ == 0)
{
v___x_14_ = v___x_11_;
goto v_reusejp_13_;
}
else
{
lean_object* v_reuseFailAlloc_15_; 
v_reuseFailAlloc_15_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_15_, 0, v_a_9_);
v___x_14_ = v_reuseFailAlloc_15_;
goto v_reusejp_13_;
}
v_reusejp_13_:
{
return v___x_14_;
}
}
}
else
{
lean_object* v_a_17_; lean_object* v___x_19_; uint8_t v_isShared_20_; uint8_t v_isSharedCheck_24_; 
v_a_17_ = lean_ctor_get(v___x_8_, 0);
v_isSharedCheck_24_ = !lean_is_exclusive(v___x_8_);
if (v_isSharedCheck_24_ == 0)
{
v___x_19_ = v___x_8_;
v_isShared_20_ = v_isSharedCheck_24_;
goto v_resetjp_18_;
}
else
{
lean_inc(v_a_17_);
lean_dec(v___x_8_);
v___x_19_ = lean_box(0);
v_isShared_20_ = v_isSharedCheck_24_;
goto v_resetjp_18_;
}
v_resetjp_18_:
{
lean_object* v___x_22_; 
if (v_isShared_20_ == 0)
{
v___x_22_ = v___x_19_;
goto v_reusejp_21_;
}
else
{
lean_object* v_reuseFailAlloc_23_; 
v_reuseFailAlloc_23_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_23_, 0, v_a_17_);
v___x_22_ = v_reuseFailAlloc_23_;
goto v_reusejp_21_;
}
v_reusejp_21_:
{
return v___x_22_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withPrimedNames___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__2___redArg___boxed(lean_object* v_xs_25_, lean_object* v_k_26_, lean_object* v___y_27_, lean_object* v___y_28_, lean_object* v___y_29_, lean_object* v___y_30_, lean_object* v___y_31_){
_start:
{
lean_object* v_res_32_; 
v_res_32_ = l_Lean_Meta_withPrimedNames___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__2___redArg(v_xs_25_, v_k_26_, v___y_27_, v___y_28_, v___y_29_, v___y_30_);
return v_res_32_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withPrimedNames___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__2(lean_object* v_00_u03b1_33_, lean_object* v_xs_34_, lean_object* v_k_35_, lean_object* v___y_36_, lean_object* v___y_37_, lean_object* v___y_38_, lean_object* v___y_39_){
_start:
{
lean_object* v___x_41_; 
v___x_41_ = l_Lean_Meta_withPrimedNames___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__2___redArg(v_xs_34_, v_k_35_, v___y_36_, v___y_37_, v___y_38_, v___y_39_);
return v___x_41_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withPrimedNames___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__2___boxed(lean_object* v_00_u03b1_42_, lean_object* v_xs_43_, lean_object* v_k_44_, lean_object* v___y_45_, lean_object* v___y_46_, lean_object* v___y_47_, lean_object* v___y_48_, lean_object* v___y_49_){
_start:
{
lean_object* v_res_50_; 
v_res_50_ = l_Lean_Meta_withPrimedNames___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__2(v_00_u03b1_42_, v_xs_43_, v_k_44_, v___y_45_, v___y_46_, v___y_47_, v___y_48_);
return v_res_50_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___redArg___lam__0(lean_object* v_k_51_, lean_object* v_b_52_, lean_object* v_c_53_, lean_object* v___y_54_, lean_object* v___y_55_, lean_object* v___y_56_, lean_object* v___y_57_){
_start:
{
lean_object* v___x_59_; 
v___x_59_ = lean_apply_7(v_k_51_, v_b_52_, v_c_53_, v___y_54_, v___y_55_, v___y_56_, v___y_57_, lean_box(0));
return v___x_59_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___redArg___lam__0___boxed(lean_object* v_k_60_, lean_object* v_b_61_, lean_object* v_c_62_, lean_object* v___y_63_, lean_object* v___y_64_, lean_object* v___y_65_, lean_object* v___y_66_, lean_object* v___y_67_){
_start:
{
lean_object* v_res_68_; 
v_res_68_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___redArg___lam__0(v_k_60_, v_b_61_, v_c_62_, v___y_63_, v___y_64_, v___y_65_, v___y_66_);
return v_res_68_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___redArg(lean_object* v_type_69_, lean_object* v_k_70_, uint8_t v_cleanupAnnotations_71_, uint8_t v_whnfType_72_, lean_object* v___y_73_, lean_object* v___y_74_, lean_object* v___y_75_, lean_object* v___y_76_){
_start:
{
lean_object* v___f_78_; lean_object* v___x_79_; 
v___f_78_ = lean_alloc_closure((void*)(l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___redArg___lam__0___boxed), 8, 1);
lean_closure_set(v___f_78_, 0, v_k_70_);
v___x_79_ = l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingImp(lean_box(0), v_type_69_, v___f_78_, v_cleanupAnnotations_71_, v_whnfType_72_, v___y_73_, v___y_74_, v___y_75_, v___y_76_);
if (lean_obj_tag(v___x_79_) == 0)
{
lean_object* v_a_80_; lean_object* v___x_82_; uint8_t v_isShared_83_; uint8_t v_isSharedCheck_87_; 
v_a_80_ = lean_ctor_get(v___x_79_, 0);
v_isSharedCheck_87_ = !lean_is_exclusive(v___x_79_);
if (v_isSharedCheck_87_ == 0)
{
v___x_82_ = v___x_79_;
v_isShared_83_ = v_isSharedCheck_87_;
goto v_resetjp_81_;
}
else
{
lean_inc(v_a_80_);
lean_dec(v___x_79_);
v___x_82_ = lean_box(0);
v_isShared_83_ = v_isSharedCheck_87_;
goto v_resetjp_81_;
}
v_resetjp_81_:
{
lean_object* v___x_85_; 
if (v_isShared_83_ == 0)
{
v___x_85_ = v___x_82_;
goto v_reusejp_84_;
}
else
{
lean_object* v_reuseFailAlloc_86_; 
v_reuseFailAlloc_86_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_86_, 0, v_a_80_);
v___x_85_ = v_reuseFailAlloc_86_;
goto v_reusejp_84_;
}
v_reusejp_84_:
{
return v___x_85_;
}
}
}
else
{
lean_object* v_a_88_; lean_object* v___x_90_; uint8_t v_isShared_91_; uint8_t v_isSharedCheck_95_; 
v_a_88_ = lean_ctor_get(v___x_79_, 0);
v_isSharedCheck_95_ = !lean_is_exclusive(v___x_79_);
if (v_isSharedCheck_95_ == 0)
{
v___x_90_ = v___x_79_;
v_isShared_91_ = v_isSharedCheck_95_;
goto v_resetjp_89_;
}
else
{
lean_inc(v_a_88_);
lean_dec(v___x_79_);
v___x_90_ = lean_box(0);
v_isShared_91_ = v_isSharedCheck_95_;
goto v_resetjp_89_;
}
v_resetjp_89_:
{
lean_object* v___x_93_; 
if (v_isShared_91_ == 0)
{
v___x_93_ = v___x_90_;
goto v_reusejp_92_;
}
else
{
lean_object* v_reuseFailAlloc_94_; 
v_reuseFailAlloc_94_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_94_, 0, v_a_88_);
v___x_93_ = v_reuseFailAlloc_94_;
goto v_reusejp_92_;
}
v_reusejp_92_:
{
return v___x_93_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___redArg___boxed(lean_object* v_type_96_, lean_object* v_k_97_, lean_object* v_cleanupAnnotations_98_, lean_object* v_whnfType_99_, lean_object* v___y_100_, lean_object* v___y_101_, lean_object* v___y_102_, lean_object* v___y_103_, lean_object* v___y_104_){
_start:
{
uint8_t v_cleanupAnnotations_boxed_105_; uint8_t v_whnfType_boxed_106_; lean_object* v_res_107_; 
v_cleanupAnnotations_boxed_105_ = lean_unbox(v_cleanupAnnotations_98_);
v_whnfType_boxed_106_ = lean_unbox(v_whnfType_99_);
v_res_107_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___redArg(v_type_96_, v_k_97_, v_cleanupAnnotations_boxed_105_, v_whnfType_boxed_106_, v___y_100_, v___y_101_, v___y_102_, v___y_103_);
return v_res_107_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3(lean_object* v_00_u03b1_108_, lean_object* v_type_109_, lean_object* v_k_110_, uint8_t v_cleanupAnnotations_111_, uint8_t v_whnfType_112_, lean_object* v___y_113_, lean_object* v___y_114_, lean_object* v___y_115_, lean_object* v___y_116_){
_start:
{
lean_object* v___x_118_; 
v___x_118_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___redArg(v_type_109_, v_k_110_, v_cleanupAnnotations_111_, v_whnfType_112_, v___y_113_, v___y_114_, v___y_115_, v___y_116_);
return v___x_118_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___boxed(lean_object* v_00_u03b1_119_, lean_object* v_type_120_, lean_object* v_k_121_, lean_object* v_cleanupAnnotations_122_, lean_object* v_whnfType_123_, lean_object* v___y_124_, lean_object* v___y_125_, lean_object* v___y_126_, lean_object* v___y_127_, lean_object* v___y_128_){
_start:
{
uint8_t v_cleanupAnnotations_boxed_129_; uint8_t v_whnfType_boxed_130_; lean_object* v_res_131_; 
v_cleanupAnnotations_boxed_129_ = lean_unbox(v_cleanupAnnotations_122_);
v_whnfType_boxed_130_ = lean_unbox(v_whnfType_123_);
v_res_131_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3(v_00_u03b1_119_, v_type_120_, v_k_121_, v_cleanupAnnotations_boxed_129_, v_whnfType_boxed_130_, v___y_124_, v___y_125_, v___y_126_, v___y_127_);
return v_res_131_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___redArg(lean_object* v_type_132_, lean_object* v_maxFVars_x3f_133_, lean_object* v_k_134_, uint8_t v_cleanupAnnotations_135_, uint8_t v_whnfType_136_, lean_object* v___y_137_, lean_object* v___y_138_, lean_object* v___y_139_, lean_object* v___y_140_){
_start:
{
lean_object* v___f_142_; lean_object* v___x_143_; 
v___f_142_ = lean_alloc_closure((void*)(l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___redArg___lam__0___boxed), 8, 1);
lean_closure_set(v___f_142_, 0, v_k_134_);
v___x_143_ = l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingAux(lean_box(0), v_type_132_, v_maxFVars_x3f_133_, v___f_142_, v_cleanupAnnotations_135_, v_whnfType_136_, v___y_137_, v___y_138_, v___y_139_, v___y_140_);
if (lean_obj_tag(v___x_143_) == 0)
{
lean_object* v_a_144_; lean_object* v___x_146_; uint8_t v_isShared_147_; uint8_t v_isSharedCheck_151_; 
v_a_144_ = lean_ctor_get(v___x_143_, 0);
v_isSharedCheck_151_ = !lean_is_exclusive(v___x_143_);
if (v_isSharedCheck_151_ == 0)
{
v___x_146_ = v___x_143_;
v_isShared_147_ = v_isSharedCheck_151_;
goto v_resetjp_145_;
}
else
{
lean_inc(v_a_144_);
lean_dec(v___x_143_);
v___x_146_ = lean_box(0);
v_isShared_147_ = v_isSharedCheck_151_;
goto v_resetjp_145_;
}
v_resetjp_145_:
{
lean_object* v___x_149_; 
if (v_isShared_147_ == 0)
{
v___x_149_ = v___x_146_;
goto v_reusejp_148_;
}
else
{
lean_object* v_reuseFailAlloc_150_; 
v_reuseFailAlloc_150_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_150_, 0, v_a_144_);
v___x_149_ = v_reuseFailAlloc_150_;
goto v_reusejp_148_;
}
v_reusejp_148_:
{
return v___x_149_;
}
}
}
else
{
lean_object* v_a_152_; lean_object* v___x_154_; uint8_t v_isShared_155_; uint8_t v_isSharedCheck_159_; 
v_a_152_ = lean_ctor_get(v___x_143_, 0);
v_isSharedCheck_159_ = !lean_is_exclusive(v___x_143_);
if (v_isSharedCheck_159_ == 0)
{
v___x_154_ = v___x_143_;
v_isShared_155_ = v_isSharedCheck_159_;
goto v_resetjp_153_;
}
else
{
lean_inc(v_a_152_);
lean_dec(v___x_143_);
v___x_154_ = lean_box(0);
v_isShared_155_ = v_isSharedCheck_159_;
goto v_resetjp_153_;
}
v_resetjp_153_:
{
lean_object* v___x_157_; 
if (v_isShared_155_ == 0)
{
v___x_157_ = v___x_154_;
goto v_reusejp_156_;
}
else
{
lean_object* v_reuseFailAlloc_158_; 
v_reuseFailAlloc_158_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_158_, 0, v_a_152_);
v___x_157_ = v_reuseFailAlloc_158_;
goto v_reusejp_156_;
}
v_reusejp_156_:
{
return v___x_157_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___redArg___boxed(lean_object* v_type_160_, lean_object* v_maxFVars_x3f_161_, lean_object* v_k_162_, lean_object* v_cleanupAnnotations_163_, lean_object* v_whnfType_164_, lean_object* v___y_165_, lean_object* v___y_166_, lean_object* v___y_167_, lean_object* v___y_168_, lean_object* v___y_169_){
_start:
{
uint8_t v_cleanupAnnotations_boxed_170_; uint8_t v_whnfType_boxed_171_; lean_object* v_res_172_; 
v_cleanupAnnotations_boxed_170_ = lean_unbox(v_cleanupAnnotations_163_);
v_whnfType_boxed_171_ = lean_unbox(v_whnfType_164_);
v_res_172_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___redArg(v_type_160_, v_maxFVars_x3f_161_, v_k_162_, v_cleanupAnnotations_boxed_170_, v_whnfType_boxed_171_, v___y_165_, v___y_166_, v___y_167_, v___y_168_);
return v_res_172_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4(lean_object* v_00_u03b1_173_, lean_object* v_type_174_, lean_object* v_maxFVars_x3f_175_, lean_object* v_k_176_, uint8_t v_cleanupAnnotations_177_, uint8_t v_whnfType_178_, lean_object* v___y_179_, lean_object* v___y_180_, lean_object* v___y_181_, lean_object* v___y_182_){
_start:
{
lean_object* v___x_184_; 
v___x_184_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___redArg(v_type_174_, v_maxFVars_x3f_175_, v_k_176_, v_cleanupAnnotations_177_, v_whnfType_178_, v___y_179_, v___y_180_, v___y_181_, v___y_182_);
return v___x_184_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___boxed(lean_object* v_00_u03b1_185_, lean_object* v_type_186_, lean_object* v_maxFVars_x3f_187_, lean_object* v_k_188_, lean_object* v_cleanupAnnotations_189_, lean_object* v_whnfType_190_, lean_object* v___y_191_, lean_object* v___y_192_, lean_object* v___y_193_, lean_object* v___y_194_, lean_object* v___y_195_){
_start:
{
uint8_t v_cleanupAnnotations_boxed_196_; uint8_t v_whnfType_boxed_197_; lean_object* v_res_198_; 
v_cleanupAnnotations_boxed_196_ = lean_unbox(v_cleanupAnnotations_189_);
v_whnfType_boxed_197_ = lean_unbox(v_whnfType_190_);
v_res_198_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4(v_00_u03b1_185_, v_type_186_, v_maxFVars_x3f_187_, v_k_188_, v_cleanupAnnotations_boxed_196_, v_whnfType_boxed_197_, v___y_191_, v___y_192_, v___y_193_, v___y_194_);
return v_res_198_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__1(lean_object* v_as_200_, size_t v_sz_201_, size_t v_i_202_, lean_object* v_b_203_, lean_object* v___y_204_, lean_object* v___y_205_, lean_object* v___y_206_, lean_object* v___y_207_){
_start:
{
lean_object* v_a_210_; uint8_t v___x_214_; 
v___x_214_ = lean_usize_dec_lt(v_i_202_, v_sz_201_);
if (v___x_214_ == 0)
{
lean_object* v___x_215_; 
lean_dec(v___y_207_);
lean_dec_ref(v___y_206_);
lean_dec(v___y_205_);
lean_dec_ref(v___y_204_);
v___x_215_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_215_, 0, v_b_203_);
return v___x_215_;
}
else
{
lean_object* v_snd_216_; lean_object* v_fst_217_; lean_object* v___x_219_; uint8_t v_isShared_220_; uint8_t v_isSharedCheck_285_; 
v_snd_216_ = lean_ctor_get(v_b_203_, 1);
v_fst_217_ = lean_ctor_get(v_b_203_, 0);
v_isSharedCheck_285_ = !lean_is_exclusive(v_b_203_);
if (v_isSharedCheck_285_ == 0)
{
v___x_219_ = v_b_203_;
v_isShared_220_ = v_isSharedCheck_285_;
goto v_resetjp_218_;
}
else
{
lean_inc(v_snd_216_);
lean_inc(v_fst_217_);
lean_dec(v_b_203_);
v___x_219_ = lean_box(0);
v_isShared_220_ = v_isSharedCheck_285_;
goto v_resetjp_218_;
}
v_resetjp_218_:
{
lean_object* v_array_221_; lean_object* v_start_222_; lean_object* v_stop_223_; uint8_t v___x_224_; 
v_array_221_ = lean_ctor_get(v_snd_216_, 0);
v_start_222_ = lean_ctor_get(v_snd_216_, 1);
v_stop_223_ = lean_ctor_get(v_snd_216_, 2);
v___x_224_ = lean_nat_dec_lt(v_start_222_, v_stop_223_);
if (v___x_224_ == 0)
{
lean_object* v___x_226_; 
lean_dec(v___y_207_);
lean_dec_ref(v___y_206_);
lean_dec(v___y_205_);
lean_dec_ref(v___y_204_);
if (v_isShared_220_ == 0)
{
v___x_226_ = v___x_219_;
goto v_reusejp_225_;
}
else
{
lean_object* v_reuseFailAlloc_228_; 
v_reuseFailAlloc_228_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_228_, 0, v_fst_217_);
lean_ctor_set(v_reuseFailAlloc_228_, 1, v_snd_216_);
v___x_226_ = v_reuseFailAlloc_228_;
goto v_reusejp_225_;
}
v_reusejp_225_:
{
lean_object* v___x_227_; 
v___x_227_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_227_, 0, v___x_226_);
return v___x_227_;
}
}
else
{
lean_object* v___x_230_; uint8_t v_isShared_231_; uint8_t v_isSharedCheck_281_; 
lean_inc(v_stop_223_);
lean_inc(v_start_222_);
lean_inc_ref(v_array_221_);
v_isSharedCheck_281_ = !lean_is_exclusive(v_snd_216_);
if (v_isSharedCheck_281_ == 0)
{
lean_object* v_unused_282_; lean_object* v_unused_283_; lean_object* v_unused_284_; 
v_unused_282_ = lean_ctor_get(v_snd_216_, 2);
lean_dec(v_unused_282_);
v_unused_283_ = lean_ctor_get(v_snd_216_, 1);
lean_dec(v_unused_283_);
v_unused_284_ = lean_ctor_get(v_snd_216_, 0);
lean_dec(v_unused_284_);
v___x_230_ = v_snd_216_;
v_isShared_231_ = v_isSharedCheck_281_;
goto v_resetjp_229_;
}
else
{
lean_dec(v_snd_216_);
v___x_230_ = lean_box(0);
v_isShared_231_ = v_isSharedCheck_281_;
goto v_resetjp_229_;
}
v_resetjp_229_:
{
lean_object* v_a_232_; lean_object* v___x_233_; 
v_a_232_ = lean_array_uget_borrowed(v_as_200_, v_i_202_);
lean_inc(v___y_207_);
lean_inc_ref(v___y_206_);
lean_inc(v___y_205_);
lean_inc_ref(v___y_204_);
lean_inc(v_a_232_);
v___x_233_ = l_Lean_Meta_isProof(v_a_232_, v___y_204_, v___y_205_, v___y_206_, v___y_207_);
if (lean_obj_tag(v___x_233_) == 0)
{
lean_object* v_a_234_; lean_object* v___x_235_; lean_object* v___x_236_; lean_object* v___x_237_; lean_object* v___x_239_; 
v_a_234_ = lean_ctor_get(v___x_233_, 0);
lean_inc(v_a_234_);
lean_dec_ref(v___x_233_);
v___x_235_ = lean_array_fget(v_array_221_, v_start_222_);
v___x_236_ = lean_unsigned_to_nat(1u);
v___x_237_ = lean_nat_add(v_start_222_, v___x_236_);
lean_dec(v_start_222_);
if (v_isShared_231_ == 0)
{
lean_ctor_set(v___x_230_, 1, v___x_237_);
v___x_239_ = v___x_230_;
goto v_reusejp_238_;
}
else
{
lean_object* v_reuseFailAlloc_272_; 
v_reuseFailAlloc_272_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v_reuseFailAlloc_272_, 0, v_array_221_);
lean_ctor_set(v_reuseFailAlloc_272_, 1, v___x_237_);
lean_ctor_set(v_reuseFailAlloc_272_, 2, v_stop_223_);
v___x_239_ = v_reuseFailAlloc_272_;
goto v_reusejp_238_;
}
v_reusejp_238_:
{
uint8_t v___x_240_; 
v___x_240_ = lean_unbox(v_a_234_);
lean_dec(v_a_234_);
if (v___x_240_ == 0)
{
lean_object* v___x_241_; lean_object* v___x_242_; 
v___x_241_ = l_Lean_Expr_fvarId_x21(v_a_232_);
lean_inc_ref(v___y_204_);
v___x_242_ = l_Lean_FVarId_getUserName___redArg(v___x_241_, v___y_204_, v___y_206_, v___y_207_);
if (lean_obj_tag(v___x_242_) == 0)
{
lean_object* v_a_243_; lean_object* v___x_244_; 
v_a_243_ = lean_ctor_get(v___x_242_, 0);
lean_inc(v_a_243_);
lean_dec_ref(v___x_242_);
lean_inc(v___y_207_);
lean_inc_ref(v___y_206_);
lean_inc(v___y_205_);
lean_inc_ref(v___y_204_);
lean_inc(v_a_232_);
v___x_244_ = l_Lean_Meta_mkEqHEq(v_a_232_, v___x_235_, v___y_204_, v___y_205_, v___y_206_, v___y_207_);
if (lean_obj_tag(v___x_244_) == 0)
{
lean_object* v_a_245_; lean_object* v___x_246_; lean_object* v___x_247_; uint8_t v___x_248_; lean_object* v___x_249_; lean_object* v___x_251_; 
v_a_245_ = lean_ctor_get(v___x_244_, 0);
lean_inc(v_a_245_);
lean_dec_ref(v___x_244_);
v___x_246_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__1___closed__0));
v___x_247_ = lean_name_append_after(v_a_243_, v___x_246_);
v___x_248_ = 0;
v___x_249_ = l_Lean_mkForall(v___x_247_, v___x_248_, v_a_245_, v_fst_217_);
if (v_isShared_220_ == 0)
{
lean_ctor_set(v___x_219_, 1, v___x_239_);
lean_ctor_set(v___x_219_, 0, v___x_249_);
v___x_251_ = v___x_219_;
goto v_reusejp_250_;
}
else
{
lean_object* v_reuseFailAlloc_252_; 
v_reuseFailAlloc_252_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_252_, 0, v___x_249_);
lean_ctor_set(v_reuseFailAlloc_252_, 1, v___x_239_);
v___x_251_ = v_reuseFailAlloc_252_;
goto v_reusejp_250_;
}
v_reusejp_250_:
{
v_a_210_ = v___x_251_;
goto v___jp_209_;
}
}
else
{
lean_object* v_a_253_; lean_object* v___x_255_; uint8_t v_isShared_256_; uint8_t v_isSharedCheck_260_; 
lean_dec(v_a_243_);
lean_dec_ref(v___x_239_);
lean_del_object(v___x_219_);
lean_dec(v_fst_217_);
lean_dec(v___y_207_);
lean_dec_ref(v___y_206_);
lean_dec(v___y_205_);
lean_dec_ref(v___y_204_);
v_a_253_ = lean_ctor_get(v___x_244_, 0);
v_isSharedCheck_260_ = !lean_is_exclusive(v___x_244_);
if (v_isSharedCheck_260_ == 0)
{
v___x_255_ = v___x_244_;
v_isShared_256_ = v_isSharedCheck_260_;
goto v_resetjp_254_;
}
else
{
lean_inc(v_a_253_);
lean_dec(v___x_244_);
v___x_255_ = lean_box(0);
v_isShared_256_ = v_isSharedCheck_260_;
goto v_resetjp_254_;
}
v_resetjp_254_:
{
lean_object* v___x_258_; 
if (v_isShared_256_ == 0)
{
v___x_258_ = v___x_255_;
goto v_reusejp_257_;
}
else
{
lean_object* v_reuseFailAlloc_259_; 
v_reuseFailAlloc_259_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_259_, 0, v_a_253_);
v___x_258_ = v_reuseFailAlloc_259_;
goto v_reusejp_257_;
}
v_reusejp_257_:
{
return v___x_258_;
}
}
}
}
else
{
lean_object* v_a_261_; lean_object* v___x_263_; uint8_t v_isShared_264_; uint8_t v_isSharedCheck_268_; 
lean_dec_ref(v___x_239_);
lean_dec(v___x_235_);
lean_del_object(v___x_219_);
lean_dec(v_fst_217_);
lean_dec(v___y_207_);
lean_dec_ref(v___y_206_);
lean_dec(v___y_205_);
lean_dec_ref(v___y_204_);
v_a_261_ = lean_ctor_get(v___x_242_, 0);
v_isSharedCheck_268_ = !lean_is_exclusive(v___x_242_);
if (v_isSharedCheck_268_ == 0)
{
v___x_263_ = v___x_242_;
v_isShared_264_ = v_isSharedCheck_268_;
goto v_resetjp_262_;
}
else
{
lean_inc(v_a_261_);
lean_dec(v___x_242_);
v___x_263_ = lean_box(0);
v_isShared_264_ = v_isSharedCheck_268_;
goto v_resetjp_262_;
}
v_resetjp_262_:
{
lean_object* v___x_266_; 
if (v_isShared_264_ == 0)
{
v___x_266_ = v___x_263_;
goto v_reusejp_265_;
}
else
{
lean_object* v_reuseFailAlloc_267_; 
v_reuseFailAlloc_267_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_267_, 0, v_a_261_);
v___x_266_ = v_reuseFailAlloc_267_;
goto v_reusejp_265_;
}
v_reusejp_265_:
{
return v___x_266_;
}
}
}
}
else
{
lean_object* v___x_270_; 
lean_dec(v___x_235_);
if (v_isShared_220_ == 0)
{
lean_ctor_set(v___x_219_, 1, v___x_239_);
v___x_270_ = v___x_219_;
goto v_reusejp_269_;
}
else
{
lean_object* v_reuseFailAlloc_271_; 
v_reuseFailAlloc_271_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_271_, 0, v_fst_217_);
lean_ctor_set(v_reuseFailAlloc_271_, 1, v___x_239_);
v___x_270_ = v_reuseFailAlloc_271_;
goto v_reusejp_269_;
}
v_reusejp_269_:
{
v_a_210_ = v___x_270_;
goto v___jp_209_;
}
}
}
}
else
{
lean_object* v_a_273_; lean_object* v___x_275_; uint8_t v_isShared_276_; uint8_t v_isSharedCheck_280_; 
lean_del_object(v___x_230_);
lean_dec(v_stop_223_);
lean_dec(v_start_222_);
lean_dec_ref(v_array_221_);
lean_del_object(v___x_219_);
lean_dec(v_fst_217_);
lean_dec(v___y_207_);
lean_dec_ref(v___y_206_);
lean_dec(v___y_205_);
lean_dec_ref(v___y_204_);
v_a_273_ = lean_ctor_get(v___x_233_, 0);
v_isSharedCheck_280_ = !lean_is_exclusive(v___x_233_);
if (v_isSharedCheck_280_ == 0)
{
v___x_275_ = v___x_233_;
v_isShared_276_ = v_isSharedCheck_280_;
goto v_resetjp_274_;
}
else
{
lean_inc(v_a_273_);
lean_dec(v___x_233_);
v___x_275_ = lean_box(0);
v_isShared_276_ = v_isSharedCheck_280_;
goto v_resetjp_274_;
}
v_resetjp_274_:
{
lean_object* v___x_278_; 
if (v_isShared_276_ == 0)
{
v___x_278_ = v___x_275_;
goto v_reusejp_277_;
}
else
{
lean_object* v_reuseFailAlloc_279_; 
v_reuseFailAlloc_279_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_279_, 0, v_a_273_);
v___x_278_ = v_reuseFailAlloc_279_;
goto v_reusejp_277_;
}
v_reusejp_277_:
{
return v___x_278_;
}
}
}
}
}
}
}
v___jp_209_:
{
size_t v___x_211_; size_t v___x_212_; 
v___x_211_ = ((size_t)1ULL);
v___x_212_ = lean_usize_add(v_i_202_, v___x_211_);
v_i_202_ = v___x_212_;
v_b_203_ = v_a_210_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__1___boxed(lean_object* v_as_286_, lean_object* v_sz_287_, lean_object* v_i_288_, lean_object* v_b_289_, lean_object* v___y_290_, lean_object* v___y_291_, lean_object* v___y_292_, lean_object* v___y_293_, lean_object* v___y_294_){
_start:
{
size_t v_sz_boxed_295_; size_t v_i_boxed_296_; lean_object* v_res_297_; 
v_sz_boxed_295_ = lean_unbox_usize(v_sz_287_);
lean_dec(v_sz_287_);
v_i_boxed_296_ = lean_unbox_usize(v_i_288_);
lean_dec(v_i_288_);
v_res_297_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__1(v_as_286_, v_sz_boxed_295_, v_i_boxed_296_, v_b_289_, v___y_290_, v___y_291_, v___y_292_, v___y_293_);
lean_dec_ref(v_as_286_);
return v_res_297_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__0(lean_object* v___x_298_, size_t v_sz_299_, size_t v___x_300_, lean_object* v___x_301_, lean_object* v_xs1_302_, lean_object* v_fields1_303_, lean_object* v_xs2_304_, lean_object* v_fields2_305_, lean_object* v___y_306_, lean_object* v___y_307_, lean_object* v___y_308_, lean_object* v___y_309_){
_start:
{
lean_object* v___x_311_; 
lean_inc(v___y_309_);
lean_inc_ref(v___y_308_);
lean_inc(v___y_307_);
lean_inc_ref(v___y_306_);
v___x_311_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__1(v___x_298_, v_sz_299_, v___x_300_, v___x_301_, v___y_306_, v___y_307_, v___y_308_, v___y_309_);
if (lean_obj_tag(v___x_311_) == 0)
{
lean_object* v_a_312_; lean_object* v_fst_313_; lean_object* v___x_314_; lean_object* v___x_315_; lean_object* v___x_316_; uint8_t v___x_317_; uint8_t v___x_318_; uint8_t v___x_319_; lean_object* v___x_320_; 
v_a_312_ = lean_ctor_get(v___x_311_, 0);
lean_inc(v_a_312_);
lean_dec_ref(v___x_311_);
v_fst_313_ = lean_ctor_get(v_a_312_, 0);
lean_inc(v_fst_313_);
lean_dec(v_a_312_);
v___x_314_ = l_Array_append___redArg(v_xs1_302_, v_fields1_303_);
v___x_315_ = l_Array_append___redArg(v___x_314_, v_xs2_304_);
v___x_316_ = l_Array_append___redArg(v___x_315_, v_fields2_305_);
v___x_317_ = 0;
v___x_318_ = 1;
v___x_319_ = 1;
v___x_320_ = l_Lean_Meta_mkLambdaFVars(v___x_316_, v_fst_313_, v___x_317_, v___x_318_, v___x_317_, v___x_318_, v___x_319_, v___y_306_, v___y_307_, v___y_308_, v___y_309_);
lean_dec(v___y_309_);
lean_dec_ref(v___y_308_);
lean_dec(v___y_307_);
lean_dec_ref(v___y_306_);
lean_dec_ref(v___x_316_);
return v___x_320_;
}
else
{
lean_object* v_a_321_; lean_object* v___x_323_; uint8_t v_isShared_324_; uint8_t v_isSharedCheck_328_; 
lean_dec(v___y_309_);
lean_dec_ref(v___y_308_);
lean_dec(v___y_307_);
lean_dec_ref(v___y_306_);
lean_dec_ref(v_xs1_302_);
v_a_321_ = lean_ctor_get(v___x_311_, 0);
v_isSharedCheck_328_ = !lean_is_exclusive(v___x_311_);
if (v_isSharedCheck_328_ == 0)
{
v___x_323_ = v___x_311_;
v_isShared_324_ = v_isSharedCheck_328_;
goto v_resetjp_322_;
}
else
{
lean_inc(v_a_321_);
lean_dec(v___x_311_);
v___x_323_ = lean_box(0);
v_isShared_324_ = v_isSharedCheck_328_;
goto v_resetjp_322_;
}
v_resetjp_322_:
{
lean_object* v___x_326_; 
if (v_isShared_324_ == 0)
{
v___x_326_ = v___x_323_;
goto v_reusejp_325_;
}
else
{
lean_object* v_reuseFailAlloc_327_; 
v_reuseFailAlloc_327_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_327_, 0, v_a_321_);
v___x_326_ = v_reuseFailAlloc_327_;
goto v_reusejp_325_;
}
v_reusejp_325_:
{
return v___x_326_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__0___boxed(lean_object* v___x_329_, lean_object* v_sz_330_, lean_object* v___x_331_, lean_object* v___x_332_, lean_object* v_xs1_333_, lean_object* v_fields1_334_, lean_object* v_xs2_335_, lean_object* v_fields2_336_, lean_object* v___y_337_, lean_object* v___y_338_, lean_object* v___y_339_, lean_object* v___y_340_, lean_object* v___y_341_){
_start:
{
size_t v_sz_boxed_342_; size_t v___x_4887__boxed_343_; lean_object* v_res_344_; 
v_sz_boxed_342_ = lean_unbox_usize(v_sz_330_);
lean_dec(v_sz_330_);
v___x_4887__boxed_343_ = lean_unbox_usize(v___x_331_);
lean_dec(v___x_331_);
v_res_344_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__0(v___x_329_, v_sz_boxed_342_, v___x_4887__boxed_343_, v___x_332_, v_xs1_333_, v_fields1_334_, v_xs2_335_, v_fields2_336_, v___y_337_, v___y_338_, v___y_339_, v___y_340_);
lean_dec_ref(v_fields2_336_);
lean_dec_ref(v_xs2_335_);
lean_dec_ref(v_fields1_334_);
lean_dec_ref(v___x_329_);
return v_res_344_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__1(lean_object* v_fields1_347_, lean_object* v_P_348_, lean_object* v_xs1_349_, lean_object* v_xs2_350_, lean_object* v_fields2_351_, lean_object* v_x_352_, lean_object* v___y_353_, lean_object* v___y_354_, lean_object* v___y_355_, lean_object* v___y_356_){
_start:
{
lean_object* v___x_358_; lean_object* v___x_359_; lean_object* v___x_360_; lean_object* v___x_361_; lean_object* v___x_362_; lean_object* v___x_363_; size_t v_sz_364_; lean_object* v___x_365_; lean_object* v___x_366_; lean_object* v___f_367_; lean_object* v___x_368_; 
lean_inc_ref(v_fields2_351_);
v___x_358_ = l_Array_reverse___redArg(v_fields2_351_);
v___x_359_ = lean_unsigned_to_nat(0u);
v___x_360_ = lean_array_get_size(v___x_358_);
v___x_361_ = l_Array_toSubarray___redArg(v___x_358_, v___x_359_, v___x_360_);
lean_inc_ref(v_fields1_347_);
v___x_362_ = l_Array_reverse___redArg(v_fields1_347_);
v___x_363_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_363_, 0, v_P_348_);
lean_ctor_set(v___x_363_, 1, v___x_361_);
v_sz_364_ = lean_array_size(v___x_362_);
v___x_365_ = lean_box_usize(v_sz_364_);
v___x_366_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__1___boxed__const__1));
lean_inc_ref(v_fields2_351_);
v___f_367_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__0___boxed), 13, 8);
lean_closure_set(v___f_367_, 0, v___x_362_);
lean_closure_set(v___f_367_, 1, v___x_365_);
lean_closure_set(v___f_367_, 2, v___x_366_);
lean_closure_set(v___f_367_, 3, v___x_363_);
lean_closure_set(v___f_367_, 4, v_xs1_349_);
lean_closure_set(v___f_367_, 5, v_fields1_347_);
lean_closure_set(v___f_367_, 6, v_xs2_350_);
lean_closure_set(v___f_367_, 7, v_fields2_351_);
v___x_368_ = l_Lean_Meta_withPrimedNames___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__2___redArg(v_fields2_351_, v___f_367_, v___y_353_, v___y_354_, v___y_355_, v___y_356_);
return v___x_368_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__1___boxed(lean_object* v_fields1_369_, lean_object* v_P_370_, lean_object* v_xs1_371_, lean_object* v_xs2_372_, lean_object* v_fields2_373_, lean_object* v_x_374_, lean_object* v___y_375_, lean_object* v___y_376_, lean_object* v___y_377_, lean_object* v___y_378_, lean_object* v___y_379_){
_start:
{
lean_object* v_res_380_; 
v_res_380_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__1(v_fields1_369_, v_P_370_, v_xs1_371_, v_xs2_372_, v_fields2_373_, v_x_374_, v___y_375_, v___y_376_, v___y_377_, v___y_378_);
lean_dec_ref(v_x_374_);
return v_res_380_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__2(lean_object* v_fields1_381_, lean_object* v_P_382_, lean_object* v_xs1_383_, lean_object* v_xs2_384_, lean_object* v_t2_385_, lean_object* v___y_386_, lean_object* v___y_387_, lean_object* v___y_388_, lean_object* v___y_389_){
_start:
{
lean_object* v___f_391_; uint8_t v___x_392_; lean_object* v___x_393_; lean_object* v___x_394_; lean_object* v___x_395_; lean_object* v___x_396_; 
lean_inc_ref(v_xs2_384_);
v___f_391_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__1___boxed), 11, 4);
lean_closure_set(v___f_391_, 0, v_fields1_381_);
lean_closure_set(v___f_391_, 1, v_P_382_);
lean_closure_set(v___f_391_, 2, v_xs1_383_);
lean_closure_set(v___f_391_, 3, v_xs2_384_);
v___x_392_ = 0;
v___x_393_ = lean_box(v___x_392_);
v___x_394_ = lean_box(v___x_392_);
v___x_395_ = lean_alloc_closure((void*)(l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___boxed), 10, 5);
lean_closure_set(v___x_395_, 0, lean_box(0));
lean_closure_set(v___x_395_, 1, v_t2_385_);
lean_closure_set(v___x_395_, 2, v___f_391_);
lean_closure_set(v___x_395_, 3, v___x_393_);
lean_closure_set(v___x_395_, 4, v___x_394_);
v___x_396_ = l_Lean_Meta_withPrimedNames___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__2___redArg(v_xs2_384_, v___x_395_, v___y_386_, v___y_387_, v___y_388_, v___y_389_);
return v___x_396_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__2___boxed(lean_object* v_fields1_397_, lean_object* v_P_398_, lean_object* v_xs1_399_, lean_object* v_xs2_400_, lean_object* v_t2_401_, lean_object* v___y_402_, lean_object* v___y_403_, lean_object* v___y_404_, lean_object* v___y_405_, lean_object* v___y_406_){
_start:
{
lean_object* v_res_407_; 
v_res_407_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__2(v_fields1_397_, v_P_398_, v_xs1_399_, v_xs2_400_, v_t2_401_, v___y_402_, v___y_403_, v___y_404_, v___y_405_);
return v_res_407_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__3(lean_object* v_P_408_, lean_object* v_xs1_409_, lean_object* v_type_410_, lean_object* v___x_411_, lean_object* v_fields1_412_, lean_object* v_x_413_, lean_object* v___y_414_, lean_object* v___y_415_, lean_object* v___y_416_, lean_object* v___y_417_){
_start:
{
lean_object* v___f_419_; uint8_t v___x_420_; lean_object* v___x_421_; 
v___f_419_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__2___boxed), 10, 3);
lean_closure_set(v___f_419_, 0, v_fields1_412_);
lean_closure_set(v___f_419_, 1, v_P_408_);
lean_closure_set(v___f_419_, 2, v_xs1_409_);
v___x_420_ = 0;
v___x_421_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___redArg(v_type_410_, v___x_411_, v___f_419_, v___x_420_, v___x_420_, v___y_414_, v___y_415_, v___y_416_, v___y_417_);
return v___x_421_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__3___boxed(lean_object* v_P_422_, lean_object* v_xs1_423_, lean_object* v_type_424_, lean_object* v___x_425_, lean_object* v_fields1_426_, lean_object* v_x_427_, lean_object* v___y_428_, lean_object* v___y_429_, lean_object* v___y_430_, lean_object* v___y_431_, lean_object* v___y_432_){
_start:
{
lean_object* v_res_433_; 
v_res_433_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__3(v_P_422_, v_xs1_423_, v_type_424_, v___x_425_, v_fields1_426_, v_x_427_, v___y_428_, v___y_429_, v___y_430_, v___y_431_);
lean_dec_ref(v_x_427_);
return v_res_433_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__4(lean_object* v_P_434_, lean_object* v_type_435_, lean_object* v___x_436_, lean_object* v_xs1_437_, lean_object* v_t1_438_, lean_object* v___y_439_, lean_object* v___y_440_, lean_object* v___y_441_, lean_object* v___y_442_){
_start:
{
lean_object* v___f_444_; uint8_t v___x_445_; lean_object* v___x_446_; 
v___f_444_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__3___boxed), 11, 4);
lean_closure_set(v___f_444_, 0, v_P_434_);
lean_closure_set(v___f_444_, 1, v_xs1_437_);
lean_closure_set(v___f_444_, 2, v_type_435_);
lean_closure_set(v___f_444_, 3, v___x_436_);
v___x_445_ = 0;
v___x_446_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___redArg(v_t1_438_, v___f_444_, v___x_445_, v___x_445_, v___y_439_, v___y_440_, v___y_441_, v___y_442_);
return v___x_446_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__4___boxed(lean_object* v_P_447_, lean_object* v_type_448_, lean_object* v___x_449_, lean_object* v_xs1_450_, lean_object* v_t1_451_, lean_object* v___y_452_, lean_object* v___y_453_, lean_object* v___y_454_, lean_object* v___y_455_, lean_object* v___y_456_){
_start:
{
lean_object* v_res_457_; 
v_res_457_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__4(v_P_447_, v_type_448_, v___x_449_, v_xs1_450_, v_t1_451_, v___y_452_, v___y_453_, v___y_454_, v___y_455_);
return v_res_457_;
}
}
static lean_object* _init_l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___closed__0(void){
_start:
{
lean_object* v___x_458_; 
v___x_458_ = l_instMonadEST(lean_box(0), lean_box(0));
return v___x_458_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1(lean_object* v_msg_463_, lean_object* v___y_464_, lean_object* v___y_465_, lean_object* v___y_466_, lean_object* v___y_467_){
_start:
{
lean_object* v___x_469_; lean_object* v___x_470_; lean_object* v_toApplicative_471_; lean_object* v___x_473_; uint8_t v_isShared_474_; uint8_t v_isSharedCheck_532_; 
v___x_469_ = lean_obj_once(&l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___closed__0, &l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___closed__0_once, _init_l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___closed__0);
v___x_470_ = l_ReaderT_instMonad___redArg(v___x_469_);
v_toApplicative_471_ = lean_ctor_get(v___x_470_, 0);
v_isSharedCheck_532_ = !lean_is_exclusive(v___x_470_);
if (v_isSharedCheck_532_ == 0)
{
lean_object* v_unused_533_; 
v_unused_533_ = lean_ctor_get(v___x_470_, 1);
lean_dec(v_unused_533_);
v___x_473_ = v___x_470_;
v_isShared_474_ = v_isSharedCheck_532_;
goto v_resetjp_472_;
}
else
{
lean_inc(v_toApplicative_471_);
lean_dec(v___x_470_);
v___x_473_ = lean_box(0);
v_isShared_474_ = v_isSharedCheck_532_;
goto v_resetjp_472_;
}
v_resetjp_472_:
{
lean_object* v_toFunctor_475_; lean_object* v_toSeq_476_; lean_object* v_toSeqLeft_477_; lean_object* v_toSeqRight_478_; lean_object* v___x_480_; uint8_t v_isShared_481_; uint8_t v_isSharedCheck_530_; 
v_toFunctor_475_ = lean_ctor_get(v_toApplicative_471_, 0);
v_toSeq_476_ = lean_ctor_get(v_toApplicative_471_, 2);
v_toSeqLeft_477_ = lean_ctor_get(v_toApplicative_471_, 3);
v_toSeqRight_478_ = lean_ctor_get(v_toApplicative_471_, 4);
v_isSharedCheck_530_ = !lean_is_exclusive(v_toApplicative_471_);
if (v_isSharedCheck_530_ == 0)
{
lean_object* v_unused_531_; 
v_unused_531_ = lean_ctor_get(v_toApplicative_471_, 1);
lean_dec(v_unused_531_);
v___x_480_ = v_toApplicative_471_;
v_isShared_481_ = v_isSharedCheck_530_;
goto v_resetjp_479_;
}
else
{
lean_inc(v_toSeqRight_478_);
lean_inc(v_toSeqLeft_477_);
lean_inc(v_toSeq_476_);
lean_inc(v_toFunctor_475_);
lean_dec(v_toApplicative_471_);
v___x_480_ = lean_box(0);
v_isShared_481_ = v_isSharedCheck_530_;
goto v_resetjp_479_;
}
v_resetjp_479_:
{
lean_object* v___f_482_; lean_object* v___f_483_; lean_object* v___f_484_; lean_object* v___f_485_; lean_object* v___x_486_; lean_object* v___f_487_; lean_object* v___f_488_; lean_object* v___f_489_; lean_object* v___x_491_; 
v___f_482_ = ((lean_object*)(l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___closed__1));
v___f_483_ = ((lean_object*)(l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___closed__2));
lean_inc_ref(v_toFunctor_475_);
v___f_484_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1);
lean_closure_set(v___f_484_, 0, v_toFunctor_475_);
v___f_485_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_485_, 0, v_toFunctor_475_);
v___x_486_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_486_, 0, v___f_484_);
lean_ctor_set(v___x_486_, 1, v___f_485_);
v___f_487_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_487_, 0, v_toSeqRight_478_);
v___f_488_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1);
lean_closure_set(v___f_488_, 0, v_toSeqLeft_477_);
v___f_489_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1);
lean_closure_set(v___f_489_, 0, v_toSeq_476_);
if (v_isShared_481_ == 0)
{
lean_ctor_set(v___x_480_, 4, v___f_487_);
lean_ctor_set(v___x_480_, 3, v___f_488_);
lean_ctor_set(v___x_480_, 2, v___f_489_);
lean_ctor_set(v___x_480_, 1, v___f_482_);
lean_ctor_set(v___x_480_, 0, v___x_486_);
v___x_491_ = v___x_480_;
goto v_reusejp_490_;
}
else
{
lean_object* v_reuseFailAlloc_529_; 
v_reuseFailAlloc_529_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_529_, 0, v___x_486_);
lean_ctor_set(v_reuseFailAlloc_529_, 1, v___f_482_);
lean_ctor_set(v_reuseFailAlloc_529_, 2, v___f_489_);
lean_ctor_set(v_reuseFailAlloc_529_, 3, v___f_488_);
lean_ctor_set(v_reuseFailAlloc_529_, 4, v___f_487_);
v___x_491_ = v_reuseFailAlloc_529_;
goto v_reusejp_490_;
}
v_reusejp_490_:
{
lean_object* v___x_493_; 
if (v_isShared_474_ == 0)
{
lean_ctor_set(v___x_473_, 1, v___f_483_);
lean_ctor_set(v___x_473_, 0, v___x_491_);
v___x_493_ = v___x_473_;
goto v_reusejp_492_;
}
else
{
lean_object* v_reuseFailAlloc_528_; 
v_reuseFailAlloc_528_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_528_, 0, v___x_491_);
lean_ctor_set(v_reuseFailAlloc_528_, 1, v___f_483_);
v___x_493_ = v_reuseFailAlloc_528_;
goto v_reusejp_492_;
}
v_reusejp_492_:
{
lean_object* v___x_494_; lean_object* v_toApplicative_495_; lean_object* v___x_497_; uint8_t v_isShared_498_; uint8_t v_isSharedCheck_526_; 
v___x_494_ = l_ReaderT_instMonad___redArg(v___x_493_);
v_toApplicative_495_ = lean_ctor_get(v___x_494_, 0);
v_isSharedCheck_526_ = !lean_is_exclusive(v___x_494_);
if (v_isSharedCheck_526_ == 0)
{
lean_object* v_unused_527_; 
v_unused_527_ = lean_ctor_get(v___x_494_, 1);
lean_dec(v_unused_527_);
v___x_497_ = v___x_494_;
v_isShared_498_ = v_isSharedCheck_526_;
goto v_resetjp_496_;
}
else
{
lean_inc(v_toApplicative_495_);
lean_dec(v___x_494_);
v___x_497_ = lean_box(0);
v_isShared_498_ = v_isSharedCheck_526_;
goto v_resetjp_496_;
}
v_resetjp_496_:
{
lean_object* v_toFunctor_499_; lean_object* v_toSeq_500_; lean_object* v_toSeqLeft_501_; lean_object* v_toSeqRight_502_; lean_object* v___x_504_; uint8_t v_isShared_505_; uint8_t v_isSharedCheck_524_; 
v_toFunctor_499_ = lean_ctor_get(v_toApplicative_495_, 0);
v_toSeq_500_ = lean_ctor_get(v_toApplicative_495_, 2);
v_toSeqLeft_501_ = lean_ctor_get(v_toApplicative_495_, 3);
v_toSeqRight_502_ = lean_ctor_get(v_toApplicative_495_, 4);
v_isSharedCheck_524_ = !lean_is_exclusive(v_toApplicative_495_);
if (v_isSharedCheck_524_ == 0)
{
lean_object* v_unused_525_; 
v_unused_525_ = lean_ctor_get(v_toApplicative_495_, 1);
lean_dec(v_unused_525_);
v___x_504_ = v_toApplicative_495_;
v_isShared_505_ = v_isSharedCheck_524_;
goto v_resetjp_503_;
}
else
{
lean_inc(v_toSeqRight_502_);
lean_inc(v_toSeqLeft_501_);
lean_inc(v_toSeq_500_);
lean_inc(v_toFunctor_499_);
lean_dec(v_toApplicative_495_);
v___x_504_ = lean_box(0);
v_isShared_505_ = v_isSharedCheck_524_;
goto v_resetjp_503_;
}
v_resetjp_503_:
{
lean_object* v___f_506_; lean_object* v___f_507_; lean_object* v___f_508_; lean_object* v___f_509_; lean_object* v___x_510_; lean_object* v___f_511_; lean_object* v___f_512_; lean_object* v___f_513_; lean_object* v___x_515_; 
v___f_506_ = ((lean_object*)(l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___closed__3));
v___f_507_ = ((lean_object*)(l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___closed__4));
lean_inc_ref(v_toFunctor_499_);
v___f_508_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1);
lean_closure_set(v___f_508_, 0, v_toFunctor_499_);
v___f_509_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_509_, 0, v_toFunctor_499_);
v___x_510_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_510_, 0, v___f_508_);
lean_ctor_set(v___x_510_, 1, v___f_509_);
v___f_511_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_511_, 0, v_toSeqRight_502_);
v___f_512_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1);
lean_closure_set(v___f_512_, 0, v_toSeqLeft_501_);
v___f_513_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1);
lean_closure_set(v___f_513_, 0, v_toSeq_500_);
if (v_isShared_505_ == 0)
{
lean_ctor_set(v___x_504_, 4, v___f_511_);
lean_ctor_set(v___x_504_, 3, v___f_512_);
lean_ctor_set(v___x_504_, 2, v___f_513_);
lean_ctor_set(v___x_504_, 1, v___f_506_);
lean_ctor_set(v___x_504_, 0, v___x_510_);
v___x_515_ = v___x_504_;
goto v_reusejp_514_;
}
else
{
lean_object* v_reuseFailAlloc_523_; 
v_reuseFailAlloc_523_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_523_, 0, v___x_510_);
lean_ctor_set(v_reuseFailAlloc_523_, 1, v___f_506_);
lean_ctor_set(v_reuseFailAlloc_523_, 2, v___f_513_);
lean_ctor_set(v_reuseFailAlloc_523_, 3, v___f_512_);
lean_ctor_set(v_reuseFailAlloc_523_, 4, v___f_511_);
v___x_515_ = v_reuseFailAlloc_523_;
goto v_reusejp_514_;
}
v_reusejp_514_:
{
lean_object* v___x_517_; 
if (v_isShared_498_ == 0)
{
lean_ctor_set(v___x_497_, 1, v___f_507_);
lean_ctor_set(v___x_497_, 0, v___x_515_);
v___x_517_ = v___x_497_;
goto v_reusejp_516_;
}
else
{
lean_object* v_reuseFailAlloc_522_; 
v_reuseFailAlloc_522_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_522_, 0, v___x_515_);
lean_ctor_set(v_reuseFailAlloc_522_, 1, v___f_507_);
v___x_517_ = v_reuseFailAlloc_522_;
goto v_reusejp_516_;
}
v_reusejp_516_:
{
lean_object* v___x_518_; lean_object* v___x_519_; lean_object* v___x_3810__overap_520_; lean_object* v___x_521_; 
v___x_518_ = lean_box(0);
v___x_519_ = l_instInhabitedOfMonad___redArg(v___x_517_, v___x_518_);
v___x_3810__overap_520_ = lean_panic_fn(v___x_519_, v_msg_463_);
v___x_521_ = lean_apply_5(v___x_3810__overap_520_, v___y_464_, v___y_465_, v___y_466_, v___y_467_, lean_box(0));
return v___x_521_;
}
}
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1___boxed(lean_object* v_msg_534_, lean_object* v___y_535_, lean_object* v___y_536_, lean_object* v___y_537_, lean_object* v___y_538_, lean_object* v___y_539_){
_start:
{
lean_object* v_res_540_; 
v_res_540_ = l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1(v_msg_534_, v___y_535_, v___y_536_, v___y_537_, v___y_538_);
return v_res_540_;
}
}
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0_spec__4(lean_object* v_msgData_541_, lean_object* v___y_542_, lean_object* v___y_543_, lean_object* v___y_544_, lean_object* v___y_545_){
_start:
{
lean_object* v___x_547_; lean_object* v_env_548_; lean_object* v___x_549_; lean_object* v_mctx_550_; lean_object* v_lctx_551_; lean_object* v_options_552_; lean_object* v___x_553_; lean_object* v___x_554_; lean_object* v___x_555_; 
v___x_547_ = lean_st_ref_get(v___y_545_);
v_env_548_ = lean_ctor_get(v___x_547_, 0);
lean_inc_ref(v_env_548_);
lean_dec(v___x_547_);
v___x_549_ = lean_st_ref_get(v___y_543_);
v_mctx_550_ = lean_ctor_get(v___x_549_, 0);
lean_inc_ref(v_mctx_550_);
lean_dec(v___x_549_);
v_lctx_551_ = lean_ctor_get(v___y_542_, 2);
v_options_552_ = lean_ctor_get(v___y_544_, 2);
lean_inc_ref(v_options_552_);
lean_inc_ref(v_lctx_551_);
v___x_553_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_553_, 0, v_env_548_);
lean_ctor_set(v___x_553_, 1, v_mctx_550_);
lean_ctor_set(v___x_553_, 2, v_lctx_551_);
lean_ctor_set(v___x_553_, 3, v_options_552_);
v___x_554_ = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(v___x_554_, 0, v___x_553_);
lean_ctor_set(v___x_554_, 1, v_msgData_541_);
v___x_555_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_555_, 0, v___x_554_);
return v___x_555_;
}
}
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0_spec__4___boxed(lean_object* v_msgData_556_, lean_object* v___y_557_, lean_object* v___y_558_, lean_object* v___y_559_, lean_object* v___y_560_, lean_object* v___y_561_){
_start:
{
lean_object* v_res_562_; 
v_res_562_ = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0_spec__4(v_msgData_556_, v___y_557_, v___y_558_, v___y_559_, v___y_560_);
lean_dec(v___y_560_);
lean_dec_ref(v___y_559_);
lean_dec(v___y_558_);
lean_dec_ref(v___y_557_);
return v_res_562_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0___redArg(lean_object* v_msg_563_, lean_object* v___y_564_, lean_object* v___y_565_, lean_object* v___y_566_, lean_object* v___y_567_){
_start:
{
lean_object* v_ref_569_; lean_object* v___x_570_; lean_object* v_a_571_; lean_object* v___x_573_; uint8_t v_isShared_574_; uint8_t v_isSharedCheck_579_; 
v_ref_569_ = lean_ctor_get(v___y_566_, 5);
v___x_570_ = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0_spec__4(v_msg_563_, v___y_564_, v___y_565_, v___y_566_, v___y_567_);
v_a_571_ = lean_ctor_get(v___x_570_, 0);
v_isSharedCheck_579_ = !lean_is_exclusive(v___x_570_);
if (v_isSharedCheck_579_ == 0)
{
v___x_573_ = v___x_570_;
v_isShared_574_ = v_isSharedCheck_579_;
goto v_resetjp_572_;
}
else
{
lean_inc(v_a_571_);
lean_dec(v___x_570_);
v___x_573_ = lean_box(0);
v_isShared_574_ = v_isSharedCheck_579_;
goto v_resetjp_572_;
}
v_resetjp_572_:
{
lean_object* v___x_575_; lean_object* v___x_577_; 
lean_inc(v_ref_569_);
v___x_575_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_575_, 0, v_ref_569_);
lean_ctor_set(v___x_575_, 1, v_a_571_);
if (v_isShared_574_ == 0)
{
lean_ctor_set_tag(v___x_573_, 1);
lean_ctor_set(v___x_573_, 0, v___x_575_);
v___x_577_ = v___x_573_;
goto v_reusejp_576_;
}
else
{
lean_object* v_reuseFailAlloc_578_; 
v_reuseFailAlloc_578_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_578_, 0, v___x_575_);
v___x_577_ = v_reuseFailAlloc_578_;
goto v_reusejp_576_;
}
v_reusejp_576_:
{
return v___x_577_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0___redArg___boxed(lean_object* v_msg_580_, lean_object* v___y_581_, lean_object* v___y_582_, lean_object* v___y_583_, lean_object* v___y_584_, lean_object* v___y_585_){
_start:
{
lean_object* v_res_586_; 
v_res_586_ = l_Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0___redArg(v_msg_580_, v___y_581_, v___y_582_, v___y_583_, v___y_584_);
lean_dec(v___y_584_);
lean_dec_ref(v___y_583_);
lean_dec(v___y_582_);
lean_dec_ref(v___y_581_);
return v_res_586_;
}
}
static lean_object* _init_l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__1(void){
_start:
{
lean_object* v___x_588_; lean_object* v___x_589_; 
v___x_588_ = ((lean_object*)(l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__0));
v___x_589_ = l_Lean_stringToMessageData(v___x_588_);
return v___x_589_;
}
}
static lean_object* _init_l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__3(void){
_start:
{
lean_object* v___x_591_; lean_object* v___x_592_; 
v___x_591_ = ((lean_object*)(l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__2));
v___x_592_ = l_Lean_stringToMessageData(v___x_591_);
return v___x_592_;
}
}
static lean_object* _init_l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__7(void){
_start:
{
lean_object* v___x_596_; lean_object* v___x_597_; lean_object* v___x_598_; lean_object* v___x_599_; lean_object* v___x_600_; lean_object* v___x_601_; 
v___x_596_ = ((lean_object*)(l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__6));
v___x_597_ = lean_unsigned_to_nat(11u);
v___x_598_ = lean_unsigned_to_nat(122u);
v___x_599_ = ((lean_object*)(l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__5));
v___x_600_ = ((lean_object*)(l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__4));
v___x_601_ = l_mkPanicMessageWithDecl(v___x_600_, v___x_599_, v___x_598_, v___x_597_, v___x_596_);
return v___x_601_;
}
}
LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0(lean_object* v_constName_602_, lean_object* v___y_603_, lean_object* v___y_604_, lean_object* v___y_605_, lean_object* v___y_606_){
_start:
{
lean_object* v___x_616_; lean_object* v_env_617_; uint8_t v___x_618_; lean_object* v___x_619_; 
v___x_616_ = lean_st_ref_get(v___y_606_);
v_env_617_ = lean_ctor_get(v___x_616_, 0);
lean_inc_ref(v_env_617_);
lean_dec(v___x_616_);
v___x_618_ = 0;
lean_inc(v_constName_602_);
v___x_619_ = l_Lean_Environment_findAsync_x3f(v_env_617_, v_constName_602_, v___x_618_);
if (lean_obj_tag(v___x_619_) == 1)
{
lean_object* v_val_620_; uint8_t v_kind_621_; 
v_val_620_ = lean_ctor_get(v___x_619_, 0);
lean_inc(v_val_620_);
lean_dec_ref(v___x_619_);
v_kind_621_ = lean_ctor_get_uint8(v_val_620_, sizeof(void*)*3);
if (v_kind_621_ == 6)
{
lean_object* v___x_622_; 
v___x_622_ = l_Lean_AsyncConstantInfo_toConstantInfo(v_val_620_);
if (lean_obj_tag(v___x_622_) == 6)
{
lean_object* v_val_623_; lean_object* v___x_625_; uint8_t v_isShared_626_; uint8_t v_isSharedCheck_630_; 
lean_dec(v___y_606_);
lean_dec_ref(v___y_605_);
lean_dec(v___y_604_);
lean_dec_ref(v___y_603_);
lean_dec(v_constName_602_);
v_val_623_ = lean_ctor_get(v___x_622_, 0);
v_isSharedCheck_630_ = !lean_is_exclusive(v___x_622_);
if (v_isSharedCheck_630_ == 0)
{
v___x_625_ = v___x_622_;
v_isShared_626_ = v_isSharedCheck_630_;
goto v_resetjp_624_;
}
else
{
lean_inc(v_val_623_);
lean_dec(v___x_622_);
v___x_625_ = lean_box(0);
v_isShared_626_ = v_isSharedCheck_630_;
goto v_resetjp_624_;
}
v_resetjp_624_:
{
lean_object* v___x_628_; 
if (v_isShared_626_ == 0)
{
lean_ctor_set_tag(v___x_625_, 0);
v___x_628_ = v___x_625_;
goto v_reusejp_627_;
}
else
{
lean_object* v_reuseFailAlloc_629_; 
v_reuseFailAlloc_629_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_629_, 0, v_val_623_);
v___x_628_ = v_reuseFailAlloc_629_;
goto v_reusejp_627_;
}
v_reusejp_627_:
{
return v___x_628_;
}
}
}
else
{
lean_object* v___x_631_; lean_object* v___x_632_; 
lean_dec_ref(v___x_622_);
v___x_631_ = lean_obj_once(&l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__7, &l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__7_once, _init_l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__7);
lean_inc(v___y_606_);
lean_inc_ref(v___y_605_);
lean_inc(v___y_604_);
lean_inc_ref(v___y_603_);
v___x_632_ = l_panic___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__1(v___x_631_, v___y_603_, v___y_604_, v___y_605_, v___y_606_);
if (lean_obj_tag(v___x_632_) == 0)
{
lean_object* v_a_633_; lean_object* v___x_635_; uint8_t v_isShared_636_; uint8_t v_isSharedCheck_641_; 
v_a_633_ = lean_ctor_get(v___x_632_, 0);
v_isSharedCheck_641_ = !lean_is_exclusive(v___x_632_);
if (v_isSharedCheck_641_ == 0)
{
v___x_635_ = v___x_632_;
v_isShared_636_ = v_isSharedCheck_641_;
goto v_resetjp_634_;
}
else
{
lean_inc(v_a_633_);
lean_dec(v___x_632_);
v___x_635_ = lean_box(0);
v_isShared_636_ = v_isSharedCheck_641_;
goto v_resetjp_634_;
}
v_resetjp_634_:
{
if (lean_obj_tag(v_a_633_) == 0)
{
lean_del_object(v___x_635_);
goto v___jp_608_;
}
else
{
lean_object* v_val_637_; lean_object* v___x_639_; 
lean_dec(v___y_606_);
lean_dec_ref(v___y_605_);
lean_dec(v___y_604_);
lean_dec_ref(v___y_603_);
lean_dec(v_constName_602_);
v_val_637_ = lean_ctor_get(v_a_633_, 0);
lean_inc(v_val_637_);
lean_dec_ref(v_a_633_);
if (v_isShared_636_ == 0)
{
lean_ctor_set(v___x_635_, 0, v_val_637_);
v___x_639_ = v___x_635_;
goto v_reusejp_638_;
}
else
{
lean_object* v_reuseFailAlloc_640_; 
v_reuseFailAlloc_640_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_640_, 0, v_val_637_);
v___x_639_ = v_reuseFailAlloc_640_;
goto v_reusejp_638_;
}
v_reusejp_638_:
{
return v___x_639_;
}
}
}
}
else
{
lean_object* v_a_642_; lean_object* v___x_644_; uint8_t v_isShared_645_; uint8_t v_isSharedCheck_649_; 
lean_dec(v___y_606_);
lean_dec_ref(v___y_605_);
lean_dec(v___y_604_);
lean_dec_ref(v___y_603_);
lean_dec(v_constName_602_);
v_a_642_ = lean_ctor_get(v___x_632_, 0);
v_isSharedCheck_649_ = !lean_is_exclusive(v___x_632_);
if (v_isSharedCheck_649_ == 0)
{
v___x_644_ = v___x_632_;
v_isShared_645_ = v_isSharedCheck_649_;
goto v_resetjp_643_;
}
else
{
lean_inc(v_a_642_);
lean_dec(v___x_632_);
v___x_644_ = lean_box(0);
v_isShared_645_ = v_isSharedCheck_649_;
goto v_resetjp_643_;
}
v_resetjp_643_:
{
lean_object* v___x_647_; 
if (v_isShared_645_ == 0)
{
v___x_647_ = v___x_644_;
goto v_reusejp_646_;
}
else
{
lean_object* v_reuseFailAlloc_648_; 
v_reuseFailAlloc_648_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_648_, 0, v_a_642_);
v___x_647_ = v_reuseFailAlloc_648_;
goto v_reusejp_646_;
}
v_reusejp_646_:
{
return v___x_647_;
}
}
}
}
}
else
{
lean_dec(v_val_620_);
goto v___jp_608_;
}
}
else
{
lean_dec(v___x_619_);
goto v___jp_608_;
}
v___jp_608_:
{
lean_object* v___x_609_; uint8_t v___x_610_; lean_object* v___x_611_; lean_object* v___x_612_; lean_object* v___x_613_; lean_object* v___x_614_; lean_object* v___x_615_; 
v___x_609_ = lean_obj_once(&l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__1, &l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__1_once, _init_l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__1);
v___x_610_ = 0;
v___x_611_ = l_Lean_MessageData_ofConstName(v_constName_602_, v___x_610_);
v___x_612_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_612_, 0, v___x_609_);
lean_ctor_set(v___x_612_, 1, v___x_611_);
v___x_613_ = lean_obj_once(&l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__3, &l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__3_once, _init_l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__3);
v___x_614_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_614_, 0, v___x_612_);
lean_ctor_set(v___x_614_, 1, v___x_613_);
v___x_615_ = l_Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0___redArg(v___x_614_, v___y_603_, v___y_604_, v___y_605_, v___y_606_);
lean_dec(v___y_606_);
lean_dec_ref(v___y_605_);
lean_dec(v___y_604_);
lean_dec_ref(v___y_603_);
return v___x_615_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___boxed(lean_object* v_constName_650_, lean_object* v___y_651_, lean_object* v___y_652_, lean_object* v___y_653_, lean_object* v___y_654_, lean_object* v___y_655_){
_start:
{
lean_object* v_res_656_; 
v_res_656_ = l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0(v_constName_650_, v___y_651_, v___y_652_, v___y_653_, v___y_654_);
return v_res_656_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg(lean_object* v_ctorName_657_, lean_object* v_P_658_, lean_object* v_a_659_, lean_object* v_a_660_, lean_object* v_a_661_, lean_object* v_a_662_){
_start:
{
lean_object* v___x_664_; 
lean_inc(v_a_662_);
lean_inc_ref(v_a_661_);
lean_inc(v_a_660_);
lean_inc_ref(v_a_659_);
v___x_664_ = l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0(v_ctorName_657_, v_a_659_, v_a_660_, v_a_661_, v_a_662_);
if (lean_obj_tag(v___x_664_) == 0)
{
lean_object* v_a_665_; lean_object* v_toConstantVal_666_; lean_object* v_numParams_667_; lean_object* v_type_668_; lean_object* v___x_669_; lean_object* v___f_670_; uint8_t v___x_671_; lean_object* v___x_672_; 
v_a_665_ = lean_ctor_get(v___x_664_, 0);
lean_inc(v_a_665_);
lean_dec_ref(v___x_664_);
v_toConstantVal_666_ = lean_ctor_get(v_a_665_, 0);
lean_inc_ref(v_toConstantVal_666_);
v_numParams_667_ = lean_ctor_get(v_a_665_, 3);
lean_inc(v_numParams_667_);
lean_dec(v_a_665_);
v_type_668_ = lean_ctor_get(v_toConstantVal_666_, 2);
lean_inc_ref(v_type_668_);
lean_dec_ref(v_toConstantVal_666_);
v___x_669_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_669_, 0, v_numParams_667_);
lean_inc_ref(v___x_669_);
lean_inc_ref(v_type_668_);
v___f_670_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___lam__4___boxed), 10, 3);
lean_closure_set(v___f_670_, 0, v_P_658_);
lean_closure_set(v___f_670_, 1, v_type_668_);
lean_closure_set(v___f_670_, 2, v___x_669_);
v___x_671_ = 0;
v___x_672_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___redArg(v_type_668_, v___x_669_, v___f_670_, v___x_671_, v___x_671_, v_a_659_, v_a_660_, v_a_661_, v_a_662_);
return v___x_672_;
}
else
{
lean_object* v_a_673_; lean_object* v___x_675_; uint8_t v_isShared_676_; uint8_t v_isSharedCheck_680_; 
lean_dec(v_a_662_);
lean_dec_ref(v_a_661_);
lean_dec(v_a_660_);
lean_dec_ref(v_a_659_);
lean_dec_ref(v_P_658_);
v_a_673_ = lean_ctor_get(v___x_664_, 0);
v_isSharedCheck_680_ = !lean_is_exclusive(v___x_664_);
if (v_isSharedCheck_680_ == 0)
{
v___x_675_ = v___x_664_;
v_isShared_676_ = v_isSharedCheck_680_;
goto v_resetjp_674_;
}
else
{
lean_inc(v_a_673_);
lean_dec(v___x_664_);
v___x_675_ = lean_box(0);
v_isShared_676_ = v_isSharedCheck_680_;
goto v_resetjp_674_;
}
v_resetjp_674_:
{
lean_object* v___x_678_; 
if (v_isShared_676_ == 0)
{
v___x_678_ = v___x_675_;
goto v_reusejp_677_;
}
else
{
lean_object* v_reuseFailAlloc_679_; 
v_reuseFailAlloc_679_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_679_, 0, v_a_673_);
v___x_678_ = v_reuseFailAlloc_679_;
goto v_reusejp_677_;
}
v_reusejp_677_:
{
return v___x_678_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg___boxed(lean_object* v_ctorName_681_, lean_object* v_P_682_, lean_object* v_a_683_, lean_object* v_a_684_, lean_object* v_a_685_, lean_object* v_a_686_, lean_object* v_a_687_){
_start:
{
lean_object* v_res_688_; 
v_res_688_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg(v_ctorName_681_, v_P_682_, v_a_683_, v_a_684_, v_a_685_, v_a_686_);
return v_res_688_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0(lean_object* v_00_u03b1_689_, lean_object* v_msg_690_, lean_object* v___y_691_, lean_object* v___y_692_, lean_object* v___y_693_, lean_object* v___y_694_){
_start:
{
lean_object* v___x_696_; 
v___x_696_ = l_Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0___redArg(v_msg_690_, v___y_691_, v___y_692_, v___y_693_, v___y_694_);
return v___x_696_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0___boxed(lean_object* v_00_u03b1_697_, lean_object* v_msg_698_, lean_object* v___y_699_, lean_object* v___y_700_, lean_object* v___y_701_, lean_object* v___y_702_, lean_object* v___y_703_){
_start:
{
lean_object* v_res_704_; 
v_res_704_ = l_Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0(v_00_u03b1_697_, v_msg_698_, v___y_699_, v___y_700_, v___y_701_, v___y_702_);
lean_dec(v___y_702_);
lean_dec_ref(v___y_701_);
lean_dec(v___y_700_);
lean_dec_ref(v___y_699_);
return v_res_704_;
}
}
LEAN_EXPORT lean_object* l_Lean_Option_register___at___00Lean_initFn_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__spec__0(lean_object* v_name_705_, lean_object* v_decl_706_, lean_object* v_ref_707_){
_start:
{
lean_object* v_defValue_709_; lean_object* v_descr_710_; lean_object* v___x_712_; uint8_t v_isShared_713_; uint8_t v_isSharedCheck_737_; 
v_defValue_709_ = lean_ctor_get(v_decl_706_, 0);
v_descr_710_ = lean_ctor_get(v_decl_706_, 1);
v_isSharedCheck_737_ = !lean_is_exclusive(v_decl_706_);
if (v_isSharedCheck_737_ == 0)
{
v___x_712_ = v_decl_706_;
v_isShared_713_ = v_isSharedCheck_737_;
goto v_resetjp_711_;
}
else
{
lean_inc(v_descr_710_);
lean_inc(v_defValue_709_);
lean_dec(v_decl_706_);
v___x_712_ = lean_box(0);
v_isShared_713_ = v_isSharedCheck_737_;
goto v_resetjp_711_;
}
v_resetjp_711_:
{
lean_object* v___x_714_; uint8_t v___x_715_; lean_object* v___x_716_; lean_object* v___x_717_; 
v___x_714_ = lean_alloc_ctor(1, 0, 1);
v___x_715_ = lean_unbox(v_defValue_709_);
lean_ctor_set_uint8(v___x_714_, 0, v___x_715_);
lean_inc(v_name_705_);
v___x_716_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_716_, 0, v_name_705_);
lean_ctor_set(v___x_716_, 1, v_ref_707_);
lean_ctor_set(v___x_716_, 2, v___x_714_);
lean_ctor_set(v___x_716_, 3, v_descr_710_);
lean_inc(v_name_705_);
v___x_717_ = lean_register_option(v_name_705_, v___x_716_);
if (lean_obj_tag(v___x_717_) == 0)
{
lean_object* v___x_719_; uint8_t v_isShared_720_; uint8_t v_isSharedCheck_727_; 
v_isSharedCheck_727_ = !lean_is_exclusive(v___x_717_);
if (v_isSharedCheck_727_ == 0)
{
lean_object* v_unused_728_; 
v_unused_728_ = lean_ctor_get(v___x_717_, 0);
lean_dec(v_unused_728_);
v___x_719_ = v___x_717_;
v_isShared_720_ = v_isSharedCheck_727_;
goto v_resetjp_718_;
}
else
{
lean_dec(v___x_717_);
v___x_719_ = lean_box(0);
v_isShared_720_ = v_isSharedCheck_727_;
goto v_resetjp_718_;
}
v_resetjp_718_:
{
lean_object* v___x_722_; 
if (v_isShared_713_ == 0)
{
lean_ctor_set(v___x_712_, 1, v_defValue_709_);
lean_ctor_set(v___x_712_, 0, v_name_705_);
v___x_722_ = v___x_712_;
goto v_reusejp_721_;
}
else
{
lean_object* v_reuseFailAlloc_726_; 
v_reuseFailAlloc_726_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_726_, 0, v_name_705_);
lean_ctor_set(v_reuseFailAlloc_726_, 1, v_defValue_709_);
v___x_722_ = v_reuseFailAlloc_726_;
goto v_reusejp_721_;
}
v_reusejp_721_:
{
lean_object* v___x_724_; 
if (v_isShared_720_ == 0)
{
lean_ctor_set(v___x_719_, 0, v___x_722_);
v___x_724_ = v___x_719_;
goto v_reusejp_723_;
}
else
{
lean_object* v_reuseFailAlloc_725_; 
v_reuseFailAlloc_725_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_725_, 0, v___x_722_);
v___x_724_ = v_reuseFailAlloc_725_;
goto v_reusejp_723_;
}
v_reusejp_723_:
{
return v___x_724_;
}
}
}
}
else
{
lean_object* v_a_729_; lean_object* v___x_731_; uint8_t v_isShared_732_; uint8_t v_isSharedCheck_736_; 
lean_del_object(v___x_712_);
lean_dec(v_defValue_709_);
lean_dec(v_name_705_);
v_a_729_ = lean_ctor_get(v___x_717_, 0);
v_isSharedCheck_736_ = !lean_is_exclusive(v___x_717_);
if (v_isSharedCheck_736_ == 0)
{
v___x_731_ = v___x_717_;
v_isShared_732_ = v_isSharedCheck_736_;
goto v_resetjp_730_;
}
else
{
lean_inc(v_a_729_);
lean_dec(v___x_717_);
v___x_731_ = lean_box(0);
v_isShared_732_ = v_isSharedCheck_736_;
goto v_resetjp_730_;
}
v_resetjp_730_:
{
lean_object* v___x_734_; 
if (v_isShared_732_ == 0)
{
v___x_734_ = v___x_731_;
goto v_reusejp_733_;
}
else
{
lean_object* v_reuseFailAlloc_735_; 
v_reuseFailAlloc_735_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_735_, 0, v_a_729_);
v___x_734_ = v_reuseFailAlloc_735_;
goto v_reusejp_733_;
}
v_reusejp_733_:
{
return v___x_734_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Option_register___at___00Lean_initFn_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__spec__0___boxed(lean_object* v_name_738_, lean_object* v_decl_739_, lean_object* v_ref_740_, lean_object* v_a_741_){
_start:
{
lean_object* v_res_742_; 
v_res_742_ = l_Lean_Option_register___at___00Lean_initFn_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__spec__0(v_name_738_, v_decl_739_, v_ref_740_);
return v_res_742_;
}
}
LEAN_EXPORT lean_object* l_Lean_initFn_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4_(){
_start:
{
lean_object* v___x_759_; lean_object* v___x_760_; lean_object* v___x_761_; lean_object* v___x_762_; 
v___x_759_ = ((lean_object*)(l_Lean_initFn___closed__2_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4_));
v___x_760_ = ((lean_object*)(l_Lean_initFn___closed__4_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4_));
v___x_761_ = ((lean_object*)(l_Lean_initFn___closed__6_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4_));
v___x_762_ = l_Lean_Option_register___at___00Lean_initFn_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4__spec__0(v___x_759_, v___x_760_, v___x_761_);
return v___x_762_;
}
}
LEAN_EXPORT lean_object* l_Lean_initFn_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4____boxed(lean_object* v_a_763_){
_start:
{
lean_object* v_res_764_; 
v_res_764_ = l_Lean_initFn_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4_();
return v_res_764_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionTypeName(lean_object* v_indName_766_){
_start:
{
lean_object* v___x_767_; lean_object* v___x_768_; 
v___x_767_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionTypeName___closed__0));
v___x_768_ = l_Lean_Name_str___override(v_indName_766_, v___x_767_);
return v___x_768_;
}
}
LEAN_EXPORT uint8_t l_Lean_Option_get___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__0(lean_object* v_opts_769_, lean_object* v_opt_770_){
_start:
{
lean_object* v_name_771_; lean_object* v_defValue_772_; lean_object* v_map_773_; lean_object* v___x_774_; 
v_name_771_ = lean_ctor_get(v_opt_770_, 0);
v_defValue_772_ = lean_ctor_get(v_opt_770_, 1);
v_map_773_ = lean_ctor_get(v_opts_769_, 0);
v___x_774_ = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00Lean_NameMap_find_x3f_spec__0___redArg(v_map_773_, v_name_771_);
if (lean_obj_tag(v___x_774_) == 0)
{
uint8_t v___x_775_; 
v___x_775_ = lean_unbox(v_defValue_772_);
return v___x_775_;
}
else
{
lean_object* v_val_776_; 
v_val_776_ = lean_ctor_get(v___x_774_, 0);
lean_inc(v_val_776_);
lean_dec_ref(v___x_774_);
if (lean_obj_tag(v_val_776_) == 1)
{
uint8_t v_v_777_; 
v_v_777_ = lean_ctor_get_uint8(v_val_776_, 0);
lean_dec_ref(v_val_776_);
return v_v_777_;
}
else
{
uint8_t v___x_778_; 
lean_dec(v_val_776_);
v___x_778_ = lean_unbox(v_defValue_772_);
return v___x_778_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__0___boxed(lean_object* v_opts_779_, lean_object* v_opt_780_){
_start:
{
uint8_t v_res_781_; lean_object* v_r_782_; 
v_res_781_ = l_Lean_Option_get___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__0(v_opts_779_, v_opt_780_);
lean_dec_ref(v_opt_780_);
lean_dec_ref(v_opts_779_);
v_r_782_ = lean_box(v_res_781_);
return v_r_782_;
}
}
LEAN_EXPORT lean_object* l_Lean_hasConst___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__1___redArg(lean_object* v_constName_783_, uint8_t v_skipRealize_784_, lean_object* v___y_785_){
_start:
{
lean_object* v___x_787_; lean_object* v_env_788_; uint8_t v___x_789_; lean_object* v___x_790_; lean_object* v___x_791_; 
v___x_787_ = lean_st_ref_get(v___y_785_);
v_env_788_ = lean_ctor_get(v___x_787_, 0);
lean_inc_ref(v_env_788_);
lean_dec(v___x_787_);
v___x_789_ = l_Lean_Environment_contains(v_env_788_, v_constName_783_, v_skipRealize_784_);
v___x_790_ = lean_box(v___x_789_);
v___x_791_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_791_, 0, v___x_790_);
return v___x_791_;
}
}
LEAN_EXPORT lean_object* l_Lean_hasConst___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__1___redArg___boxed(lean_object* v_constName_792_, lean_object* v_skipRealize_793_, lean_object* v___y_794_, lean_object* v___y_795_){
_start:
{
uint8_t v_skipRealize_boxed_796_; lean_object* v_res_797_; 
v_skipRealize_boxed_796_ = lean_unbox(v_skipRealize_793_);
v_res_797_ = l_Lean_hasConst___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__1___redArg(v_constName_792_, v_skipRealize_boxed_796_, v___y_794_);
lean_dec(v___y_794_);
return v_res_797_;
}
}
LEAN_EXPORT lean_object* l_Lean_hasConst___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__1(lean_object* v_constName_798_, uint8_t v_skipRealize_799_, lean_object* v___y_800_, lean_object* v___y_801_, lean_object* v___y_802_, lean_object* v___y_803_){
_start:
{
lean_object* v___x_805_; 
v___x_805_ = l_Lean_hasConst___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__1___redArg(v_constName_798_, v_skipRealize_799_, v___y_803_);
return v___x_805_;
}
}
LEAN_EXPORT lean_object* l_Lean_hasConst___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__1___boxed(lean_object* v_constName_806_, lean_object* v_skipRealize_807_, lean_object* v___y_808_, lean_object* v___y_809_, lean_object* v___y_810_, lean_object* v___y_811_, lean_object* v___y_812_){
_start:
{
uint8_t v_skipRealize_boxed_813_; lean_object* v_res_814_; 
v_skipRealize_boxed_813_ = lean_unbox(v_skipRealize_807_);
v_res_814_ = l_Lean_hasConst___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__1(v_constName_806_, v_skipRealize_boxed_813_, v___y_808_, v___y_809_, v___y_810_, v___y_811_);
lean_dec(v___y_811_);
lean_dec_ref(v___y_810_);
lean_dec(v___y_809_);
lean_dec_ref(v___y_808_);
return v_res_814_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear(lean_object* v_indName_820_, lean_object* v_a_821_, lean_object* v_a_822_, lean_object* v_a_823_, lean_object* v_a_824_){
_start:
{
lean_object* v_options_826_; lean_object* v___x_827_; uint8_t v___x_828_; 
v_options_826_ = lean_ctor_get(v_a_823_, 2);
v___x_827_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_backward_linearNoConfusionType;
v___x_828_ = l_Lean_Option_get___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__0(v_options_826_, v___x_827_);
if (v___x_828_ == 0)
{
lean_object* v___x_829_; lean_object* v___x_830_; 
lean_dec(v_indName_820_);
v___x_829_ = lean_box(v___x_828_);
v___x_830_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_830_, 0, v___x_829_);
return v___x_830_;
}
else
{
lean_object* v___x_831_; lean_object* v___x_832_; lean_object* v_a_833_; uint8_t v___x_834_; 
v___x_831_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear___closed__2));
v___x_832_ = l_Lean_hasConst___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__1___redArg(v___x_831_, v___x_828_, v_a_824_);
v_a_833_ = lean_ctor_get(v___x_832_, 0);
lean_inc(v_a_833_);
v___x_834_ = lean_unbox(v_a_833_);
lean_dec(v_a_833_);
if (v___x_834_ == 0)
{
lean_dec(v_indName_820_);
return v___x_832_;
}
else
{
lean_object* v___x_835_; lean_object* v___x_836_; lean_object* v_a_837_; uint8_t v___x_838_; 
lean_dec_ref(v___x_832_);
v___x_835_ = l_Lean_mkCtorElimName(v_indName_820_);
v___x_836_ = l_Lean_hasConst___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__1___redArg(v___x_835_, v___x_828_, v_a_824_);
v_a_837_ = lean_ctor_get(v___x_836_, 0);
lean_inc(v_a_837_);
v___x_838_ = lean_unbox(v_a_837_);
lean_dec(v_a_837_);
if (v___x_838_ == 0)
{
return v___x_836_;
}
else
{
lean_object* v___x_840_; uint8_t v_isShared_841_; uint8_t v_isSharedCheck_846_; 
v_isSharedCheck_846_ = !lean_is_exclusive(v___x_836_);
if (v_isSharedCheck_846_ == 0)
{
lean_object* v_unused_847_; 
v_unused_847_ = lean_ctor_get(v___x_836_, 0);
lean_dec(v_unused_847_);
v___x_840_ = v___x_836_;
v_isShared_841_ = v_isSharedCheck_846_;
goto v_resetjp_839_;
}
else
{
lean_dec(v___x_836_);
v___x_840_ = lean_box(0);
v_isShared_841_ = v_isSharedCheck_846_;
goto v_resetjp_839_;
}
v_resetjp_839_:
{
lean_object* v___x_842_; lean_object* v___x_844_; 
v___x_842_ = lean_box(v___x_828_);
if (v_isShared_841_ == 0)
{
lean_ctor_set(v___x_840_, 0, v___x_842_);
v___x_844_ = v___x_840_;
goto v_reusejp_843_;
}
else
{
lean_object* v_reuseFailAlloc_845_; 
v_reuseFailAlloc_845_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_845_, 0, v___x_842_);
v___x_844_ = v_reuseFailAlloc_845_;
goto v_reusejp_843_;
}
v_reusejp_843_:
{
return v___x_844_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear___boxed(lean_object* v_indName_848_, lean_object* v_a_849_, lean_object* v_a_850_, lean_object* v_a_851_, lean_object* v_a_852_, lean_object* v_a_853_){
_start:
{
lean_object* v_res_854_; 
v_res_854_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear(v_indName_848_, v_a_849_, v_a_850_, v_a_851_, v_a_852_);
lean_dec(v_a_852_);
lean_dec_ref(v_a_851_);
lean_dec(v_a_850_);
lean_dec_ref(v_a_849_);
return v_res_854_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___lam__0(lean_object* v_then_855_, lean_object* v_h_856_, lean_object* v___y_857_, lean_object* v___y_858_, lean_object* v___y_859_, lean_object* v___y_860_){
_start:
{
lean_object* v___x_862_; 
lean_inc(v___y_860_);
lean_inc_ref(v___y_859_);
lean_inc(v___y_858_);
lean_inc_ref(v___y_857_);
lean_inc_ref(v_h_856_);
v___x_862_ = lean_apply_6(v_then_855_, v_h_856_, v___y_857_, v___y_858_, v___y_859_, v___y_860_, lean_box(0));
if (lean_obj_tag(v___x_862_) == 0)
{
lean_object* v_a_863_; lean_object* v___x_864_; lean_object* v___x_865_; lean_object* v___x_866_; uint8_t v___x_867_; uint8_t v___x_868_; uint8_t v___x_869_; lean_object* v___x_870_; 
v_a_863_ = lean_ctor_get(v___x_862_, 0);
lean_inc(v_a_863_);
lean_dec_ref(v___x_862_);
v___x_864_ = lean_unsigned_to_nat(1u);
v___x_865_ = lean_mk_empty_array_with_capacity(v___x_864_);
v___x_866_ = lean_array_push(v___x_865_, v_h_856_);
v___x_867_ = 0;
v___x_868_ = 1;
v___x_869_ = 1;
v___x_870_ = l_Lean_Meta_mkLambdaFVars(v___x_866_, v_a_863_, v___x_867_, v___x_868_, v___x_867_, v___x_868_, v___x_869_, v___y_857_, v___y_858_, v___y_859_, v___y_860_);
lean_dec(v___y_860_);
lean_dec_ref(v___y_859_);
lean_dec(v___y_858_);
lean_dec_ref(v___y_857_);
lean_dec_ref(v___x_866_);
return v___x_870_;
}
else
{
lean_dec(v___y_860_);
lean_dec_ref(v___y_859_);
lean_dec(v___y_858_);
lean_dec_ref(v___y_857_);
lean_dec_ref(v_h_856_);
return v___x_862_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___lam__0___boxed(lean_object* v_then_871_, lean_object* v_h_872_, lean_object* v___y_873_, lean_object* v___y_874_, lean_object* v___y_875_, lean_object* v___y_876_, lean_object* v___y_877_){
_start:
{
lean_object* v_res_878_; 
v_res_878_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___lam__0(v_then_871_, v_h_872_, v___y_873_, v___y_874_, v___y_875_, v___y_876_);
return v_res_878_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___lam__1(lean_object* v_else_879_, lean_object* v_h_880_, lean_object* v___y_881_, lean_object* v___y_882_, lean_object* v___y_883_, lean_object* v___y_884_){
_start:
{
lean_object* v___x_886_; 
lean_inc(v___y_884_);
lean_inc_ref(v___y_883_);
lean_inc(v___y_882_);
lean_inc_ref(v___y_881_);
lean_inc_ref(v_h_880_);
v___x_886_ = lean_apply_6(v_else_879_, v_h_880_, v___y_881_, v___y_882_, v___y_883_, v___y_884_, lean_box(0));
if (lean_obj_tag(v___x_886_) == 0)
{
lean_object* v_a_887_; lean_object* v___x_888_; lean_object* v___x_889_; lean_object* v___x_890_; uint8_t v___x_891_; uint8_t v___x_892_; uint8_t v___x_893_; lean_object* v___x_894_; 
v_a_887_ = lean_ctor_get(v___x_886_, 0);
lean_inc(v_a_887_);
lean_dec_ref(v___x_886_);
v___x_888_ = lean_unsigned_to_nat(1u);
v___x_889_ = lean_mk_empty_array_with_capacity(v___x_888_);
v___x_890_ = lean_array_push(v___x_889_, v_h_880_);
v___x_891_ = 0;
v___x_892_ = 1;
v___x_893_ = 1;
v___x_894_ = l_Lean_Meta_mkLambdaFVars(v___x_890_, v_a_887_, v___x_891_, v___x_892_, v___x_891_, v___x_892_, v___x_893_, v___y_881_, v___y_882_, v___y_883_, v___y_884_);
lean_dec(v___y_884_);
lean_dec_ref(v___y_883_);
lean_dec(v___y_882_);
lean_dec_ref(v___y_881_);
lean_dec_ref(v___x_890_);
return v___x_894_;
}
else
{
lean_dec(v___y_884_);
lean_dec_ref(v___y_883_);
lean_dec(v___y_882_);
lean_dec_ref(v___y_881_);
lean_dec_ref(v_h_880_);
return v___x_886_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___lam__1___boxed(lean_object* v_else_895_, lean_object* v_h_896_, lean_object* v___y_897_, lean_object* v___y_898_, lean_object* v___y_899_, lean_object* v___y_900_, lean_object* v___y_901_){
_start:
{
lean_object* v_res_902_; 
v_res_902_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___lam__1(v_else_895_, v_h_896_, v___y_897_, v___y_898_, v___y_899_, v___y_900_);
return v_res_902_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___redArg___lam__0(lean_object* v_k_903_, lean_object* v_b_904_, lean_object* v___y_905_, lean_object* v___y_906_, lean_object* v___y_907_, lean_object* v___y_908_){
_start:
{
lean_object* v___x_910_; 
v___x_910_ = lean_apply_6(v_k_903_, v_b_904_, v___y_905_, v___y_906_, v___y_907_, v___y_908_, lean_box(0));
return v___x_910_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___redArg___lam__0___boxed(lean_object* v_k_911_, lean_object* v_b_912_, lean_object* v___y_913_, lean_object* v___y_914_, lean_object* v___y_915_, lean_object* v___y_916_, lean_object* v___y_917_){
_start:
{
lean_object* v_res_918_; 
v_res_918_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___redArg___lam__0(v_k_911_, v_b_912_, v___y_913_, v___y_914_, v___y_915_, v___y_916_);
return v_res_918_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___redArg(lean_object* v_name_919_, uint8_t v_bi_920_, lean_object* v_type_921_, lean_object* v_k_922_, uint8_t v_kind_923_, lean_object* v___y_924_, lean_object* v___y_925_, lean_object* v___y_926_, lean_object* v___y_927_){
_start:
{
lean_object* v___f_929_; lean_object* v___x_930_; 
v___f_929_ = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___redArg___lam__0___boxed), 7, 1);
lean_closure_set(v___f_929_, 0, v_k_922_);
v___x_930_ = l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp(lean_box(0), v_name_919_, v_bi_920_, v_type_921_, v___f_929_, v_kind_923_, v___y_924_, v___y_925_, v___y_926_, v___y_927_);
if (lean_obj_tag(v___x_930_) == 0)
{
lean_object* v_a_931_; lean_object* v___x_933_; uint8_t v_isShared_934_; uint8_t v_isSharedCheck_938_; 
v_a_931_ = lean_ctor_get(v___x_930_, 0);
v_isSharedCheck_938_ = !lean_is_exclusive(v___x_930_);
if (v_isSharedCheck_938_ == 0)
{
v___x_933_ = v___x_930_;
v_isShared_934_ = v_isSharedCheck_938_;
goto v_resetjp_932_;
}
else
{
lean_inc(v_a_931_);
lean_dec(v___x_930_);
v___x_933_ = lean_box(0);
v_isShared_934_ = v_isSharedCheck_938_;
goto v_resetjp_932_;
}
v_resetjp_932_:
{
lean_object* v___x_936_; 
if (v_isShared_934_ == 0)
{
v___x_936_ = v___x_933_;
goto v_reusejp_935_;
}
else
{
lean_object* v_reuseFailAlloc_937_; 
v_reuseFailAlloc_937_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_937_, 0, v_a_931_);
v___x_936_ = v_reuseFailAlloc_937_;
goto v_reusejp_935_;
}
v_reusejp_935_:
{
return v___x_936_;
}
}
}
else
{
lean_object* v_a_939_; lean_object* v___x_941_; uint8_t v_isShared_942_; uint8_t v_isSharedCheck_946_; 
v_a_939_ = lean_ctor_get(v___x_930_, 0);
v_isSharedCheck_946_ = !lean_is_exclusive(v___x_930_);
if (v_isSharedCheck_946_ == 0)
{
v___x_941_ = v___x_930_;
v_isShared_942_ = v_isSharedCheck_946_;
goto v_resetjp_940_;
}
else
{
lean_inc(v_a_939_);
lean_dec(v___x_930_);
v___x_941_ = lean_box(0);
v_isShared_942_ = v_isSharedCheck_946_;
goto v_resetjp_940_;
}
v_resetjp_940_:
{
lean_object* v___x_944_; 
if (v_isShared_942_ == 0)
{
v___x_944_ = v___x_941_;
goto v_reusejp_943_;
}
else
{
lean_object* v_reuseFailAlloc_945_; 
v_reuseFailAlloc_945_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_945_, 0, v_a_939_);
v___x_944_ = v_reuseFailAlloc_945_;
goto v_reusejp_943_;
}
v_reusejp_943_:
{
return v___x_944_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___redArg___boxed(lean_object* v_name_947_, lean_object* v_bi_948_, lean_object* v_type_949_, lean_object* v_k_950_, lean_object* v_kind_951_, lean_object* v___y_952_, lean_object* v___y_953_, lean_object* v___y_954_, lean_object* v___y_955_, lean_object* v___y_956_){
_start:
{
uint8_t v_bi_boxed_957_; uint8_t v_kind_boxed_958_; lean_object* v_res_959_; 
v_bi_boxed_957_ = lean_unbox(v_bi_948_);
v_kind_boxed_958_ = lean_unbox(v_kind_951_);
v_res_959_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___redArg(v_name_947_, v_bi_boxed_957_, v_type_949_, v_k_950_, v_kind_boxed_958_, v___y_952_, v___y_953_, v___y_954_, v___y_955_);
return v_res_959_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg(lean_object* v_name_960_, lean_object* v_type_961_, lean_object* v_k_962_, lean_object* v___y_963_, lean_object* v___y_964_, lean_object* v___y_965_, lean_object* v___y_966_){
_start:
{
uint8_t v___x_968_; uint8_t v___x_969_; lean_object* v___x_970_; 
v___x_968_ = 0;
v___x_969_ = 0;
v___x_970_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___redArg(v_name_960_, v___x_968_, v_type_961_, v_k_962_, v___x_969_, v___y_963_, v___y_964_, v___y_965_, v___y_966_);
return v___x_970_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg___boxed(lean_object* v_name_971_, lean_object* v_type_972_, lean_object* v_k_973_, lean_object* v___y_974_, lean_object* v___y_975_, lean_object* v___y_976_, lean_object* v___y_977_, lean_object* v___y_978_){
_start:
{
lean_object* v_res_979_; 
v_res_979_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg(v_name_971_, v_type_972_, v_k_973_, v___y_974_, v___y_975_, v___y_976_, v___y_977_);
return v_res_979_;
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__0(void){
_start:
{
lean_object* v___x_980_; lean_object* v___x_981_; 
v___x_980_ = lean_unsigned_to_nat(1u);
v___x_981_ = l_Lean_Level_ofNat(v___x_980_);
return v___x_981_;
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__1(void){
_start:
{
lean_object* v___x_982_; lean_object* v___x_983_; lean_object* v___x_984_; 
v___x_982_ = lean_box(0);
v___x_983_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__0, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__0_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__0);
v___x_984_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_984_, 0, v___x_983_);
lean_ctor_set(v___x_984_, 1, v___x_982_);
return v___x_984_;
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__3(void){
_start:
{
lean_object* v___x_987_; lean_object* v___x_988_; lean_object* v___x_989_; 
v___x_987_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__1, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__1_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__1);
v___x_988_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__2));
v___x_989_ = l_Lean_mkConst(v___x_988_, v___x_987_);
return v___x_989_;
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__6(void){
_start:
{
lean_object* v___x_993_; lean_object* v___x_994_; lean_object* v___x_995_; 
v___x_993_ = lean_box(0);
v___x_994_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__5));
v___x_995_ = l_Lean_mkConst(v___x_994_, v___x_993_);
return v___x_995_;
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__11(void){
_start:
{
lean_object* v___x_1003_; lean_object* v___x_1004_; lean_object* v___x_1005_; 
v___x_1003_ = lean_box(0);
v___x_1004_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__10));
v___x_1005_ = l_Lean_mkConst(v___x_1004_, v___x_1003_);
return v___x_1005_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq(lean_object* v_P_1009_, lean_object* v_e1_1010_, lean_object* v_e2_1011_, lean_object* v_then_1012_, lean_object* v_else_1013_, lean_object* v_a_1014_, lean_object* v_a_1015_, lean_object* v_a_1016_, lean_object* v_a_1017_){
_start:
{
lean_object* v___x_1019_; 
lean_inc(v_a_1017_);
lean_inc_ref(v_a_1016_);
lean_inc(v_a_1015_);
lean_inc_ref(v_a_1014_);
lean_inc_ref(v_P_1009_);
v___x_1019_ = l_Lean_Meta_getLevel(v_P_1009_, v_a_1014_, v_a_1015_, v_a_1016_, v_a_1017_);
if (lean_obj_tag(v___x_1019_) == 0)
{
lean_object* v_a_1020_; lean_object* v___f_1021_; lean_object* v___x_1022_; lean_object* v___x_1023_; lean_object* v___x_1024_; lean_object* v_heq_1025_; lean_object* v___x_1026_; lean_object* v___x_1027_; lean_object* v___x_1028_; lean_object* v___x_1029_; lean_object* v___x_1030_; lean_object* v___x_1031_; lean_object* v___x_1032_; lean_object* v___x_1033_; 
v_a_1020_ = lean_ctor_get(v___x_1019_, 0);
lean_inc(v_a_1020_);
lean_dec_ref(v___x_1019_);
v___f_1021_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___lam__0___boxed), 7, 1);
lean_closure_set(v___f_1021_, 0, v_then_1012_);
v___x_1022_ = lean_box(0);
v___x_1023_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__3, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__3_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__3);
v___x_1024_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__6, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__6_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__6);
lean_inc_ref(v_e2_1011_);
lean_inc_ref(v_e1_1010_);
v_heq_1025_ = l_Lean_mkApp3(v___x_1023_, v___x_1024_, v_e1_1010_, v_e2_1011_);
v___x_1026_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__8));
v___x_1027_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_1027_, 0, v_a_1020_);
lean_ctor_set(v___x_1027_, 1, v___x_1022_);
v___x_1028_ = l_Lean_mkConst(v___x_1026_, v___x_1027_);
v___x_1029_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__11, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__11_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__11);
v___x_1030_ = l_Lean_mkAppB(v___x_1029_, v_e1_1010_, v_e2_1011_);
lean_inc_ref(v_heq_1025_);
v___x_1031_ = l_Lean_mkApp3(v___x_1028_, v_P_1009_, v_heq_1025_, v___x_1030_);
v___x_1032_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__13));
lean_inc(v_a_1017_);
lean_inc_ref(v_a_1016_);
lean_inc(v_a_1015_);
lean_inc_ref(v_a_1014_);
lean_inc_ref(v_heq_1025_);
v___x_1033_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg(v___x_1032_, v_heq_1025_, v___f_1021_, v_a_1014_, v_a_1015_, v_a_1016_, v_a_1017_);
if (lean_obj_tag(v___x_1033_) == 0)
{
lean_object* v_a_1034_; lean_object* v___f_1035_; lean_object* v___x_1036_; lean_object* v___x_1037_; 
v_a_1034_ = lean_ctor_get(v___x_1033_, 0);
lean_inc(v_a_1034_);
lean_dec_ref(v___x_1033_);
v___f_1035_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___lam__1___boxed), 7, 1);
lean_closure_set(v___f_1035_, 0, v_else_1013_);
v___x_1036_ = l_Lean_mkNot(v_heq_1025_);
v___x_1037_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg(v___x_1032_, v___x_1036_, v___f_1035_, v_a_1014_, v_a_1015_, v_a_1016_, v_a_1017_);
if (lean_obj_tag(v___x_1037_) == 0)
{
lean_object* v_a_1038_; lean_object* v___x_1040_; uint8_t v_isShared_1041_; uint8_t v_isSharedCheck_1047_; 
v_a_1038_ = lean_ctor_get(v___x_1037_, 0);
v_isSharedCheck_1047_ = !lean_is_exclusive(v___x_1037_);
if (v_isSharedCheck_1047_ == 0)
{
v___x_1040_ = v___x_1037_;
v_isShared_1041_ = v_isSharedCheck_1047_;
goto v_resetjp_1039_;
}
else
{
lean_inc(v_a_1038_);
lean_dec(v___x_1037_);
v___x_1040_ = lean_box(0);
v_isShared_1041_ = v_isSharedCheck_1047_;
goto v_resetjp_1039_;
}
v_resetjp_1039_:
{
lean_object* v___x_1042_; lean_object* v___x_1043_; lean_object* v___x_1045_; 
v___x_1042_ = l_Lean_Expr_app___override(v___x_1031_, v_a_1034_);
v___x_1043_ = l_Lean_Expr_app___override(v___x_1042_, v_a_1038_);
if (v_isShared_1041_ == 0)
{
lean_ctor_set(v___x_1040_, 0, v___x_1043_);
v___x_1045_ = v___x_1040_;
goto v_reusejp_1044_;
}
else
{
lean_object* v_reuseFailAlloc_1046_; 
v_reuseFailAlloc_1046_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1046_, 0, v___x_1043_);
v___x_1045_ = v_reuseFailAlloc_1046_;
goto v_reusejp_1044_;
}
v_reusejp_1044_:
{
return v___x_1045_;
}
}
}
else
{
lean_dec(v_a_1034_);
lean_dec_ref(v___x_1031_);
return v___x_1037_;
}
}
else
{
lean_dec_ref(v___x_1031_);
lean_dec_ref(v_heq_1025_);
lean_dec(v_a_1017_);
lean_dec_ref(v_a_1016_);
lean_dec(v_a_1015_);
lean_dec_ref(v_a_1014_);
lean_dec_ref(v_else_1013_);
return v___x_1033_;
}
}
else
{
lean_object* v_a_1048_; lean_object* v___x_1050_; uint8_t v_isShared_1051_; uint8_t v_isSharedCheck_1055_; 
lean_dec(v_a_1017_);
lean_dec_ref(v_a_1016_);
lean_dec(v_a_1015_);
lean_dec_ref(v_a_1014_);
lean_dec_ref(v_else_1013_);
lean_dec_ref(v_then_1012_);
lean_dec_ref(v_e2_1011_);
lean_dec_ref(v_e1_1010_);
lean_dec_ref(v_P_1009_);
v_a_1048_ = lean_ctor_get(v___x_1019_, 0);
v_isSharedCheck_1055_ = !lean_is_exclusive(v___x_1019_);
if (v_isSharedCheck_1055_ == 0)
{
v___x_1050_ = v___x_1019_;
v_isShared_1051_ = v_isSharedCheck_1055_;
goto v_resetjp_1049_;
}
else
{
lean_inc(v_a_1048_);
lean_dec(v___x_1019_);
v___x_1050_ = lean_box(0);
v_isShared_1051_ = v_isSharedCheck_1055_;
goto v_resetjp_1049_;
}
v_resetjp_1049_:
{
lean_object* v___x_1053_; 
if (v_isShared_1051_ == 0)
{
v___x_1053_ = v___x_1050_;
goto v_reusejp_1052_;
}
else
{
lean_object* v_reuseFailAlloc_1054_; 
v_reuseFailAlloc_1054_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1054_, 0, v_a_1048_);
v___x_1053_ = v_reuseFailAlloc_1054_;
goto v_reusejp_1052_;
}
v_reusejp_1052_:
{
return v___x_1053_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___boxed(lean_object* v_P_1056_, lean_object* v_e1_1057_, lean_object* v_e2_1058_, lean_object* v_then_1059_, lean_object* v_else_1060_, lean_object* v_a_1061_, lean_object* v_a_1062_, lean_object* v_a_1063_, lean_object* v_a_1064_, lean_object* v_a_1065_){
_start:
{
lean_object* v_res_1066_; 
v_res_1066_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq(v_P_1056_, v_e1_1057_, v_e2_1058_, v_then_1059_, v_else_1060_, v_a_1061_, v_a_1062_, v_a_1063_, v_a_1064_);
return v_res_1066_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0(lean_object* v_00_u03b1_1067_, lean_object* v_name_1068_, uint8_t v_bi_1069_, lean_object* v_type_1070_, lean_object* v_k_1071_, uint8_t v_kind_1072_, lean_object* v___y_1073_, lean_object* v___y_1074_, lean_object* v___y_1075_, lean_object* v___y_1076_){
_start:
{
lean_object* v___x_1078_; 
v___x_1078_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___redArg(v_name_1068_, v_bi_1069_, v_type_1070_, v_k_1071_, v_kind_1072_, v___y_1073_, v___y_1074_, v___y_1075_, v___y_1076_);
return v___x_1078_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___boxed(lean_object* v_00_u03b1_1079_, lean_object* v_name_1080_, lean_object* v_bi_1081_, lean_object* v_type_1082_, lean_object* v_k_1083_, lean_object* v_kind_1084_, lean_object* v___y_1085_, lean_object* v___y_1086_, lean_object* v___y_1087_, lean_object* v___y_1088_, lean_object* v___y_1089_){
_start:
{
uint8_t v_bi_boxed_1090_; uint8_t v_kind_boxed_1091_; lean_object* v_res_1092_; 
v_bi_boxed_1090_ = lean_unbox(v_bi_1081_);
v_kind_boxed_1091_ = lean_unbox(v_kind_1084_);
v_res_1092_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0(v_00_u03b1_1079_, v_name_1080_, v_bi_boxed_1090_, v_type_1082_, v_k_1083_, v_kind_boxed_1091_, v___y_1085_, v___y_1086_, v___y_1087_, v___y_1088_);
return v_res_1092_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0(lean_object* v_00_u03b1_1093_, lean_object* v_name_1094_, lean_object* v_type_1095_, lean_object* v_k_1096_, lean_object* v___y_1097_, lean_object* v___y_1098_, lean_object* v___y_1099_, lean_object* v___y_1100_){
_start:
{
lean_object* v___x_1102_; 
v___x_1102_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg(v_name_1094_, v_type_1095_, v_k_1096_, v___y_1097_, v___y_1098_, v___y_1099_, v___y_1100_);
return v___x_1102_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___boxed(lean_object* v_00_u03b1_1103_, lean_object* v_name_1104_, lean_object* v_type_1105_, lean_object* v_k_1106_, lean_object* v___y_1107_, lean_object* v___y_1108_, lean_object* v___y_1109_, lean_object* v___y_1110_, lean_object* v___y_1111_){
_start:
{
lean_object* v_res_1112_; 
v_res_1112_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0(v_00_u03b1_1103_, v_name_1104_, v_type_1105_, v_k_1106_, v___y_1107_, v___y_1108_, v___y_1109_, v___y_1110_);
return v_res_1112_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__3___redArg(lean_object* v_type_1113_, lean_object* v_k_1114_, uint8_t v_cleanupAnnotations_1115_, lean_object* v___y_1116_, lean_object* v___y_1117_, lean_object* v___y_1118_, lean_object* v___y_1119_){
_start:
{
lean_object* v___f_1121_; uint8_t v___x_1122_; lean_object* v___x_1123_; lean_object* v___x_1124_; 
v___f_1121_ = lean_alloc_closure((void*)(l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___redArg___lam__0___boxed), 8, 1);
lean_closure_set(v___f_1121_, 0, v_k_1114_);
v___x_1122_ = 0;
v___x_1123_ = lean_box(0);
v___x_1124_ = l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingAuxAux(lean_box(0), v___x_1122_, v___x_1123_, v_type_1113_, v___f_1121_, v_cleanupAnnotations_1115_, v___x_1122_, v___y_1116_, v___y_1117_, v___y_1118_, v___y_1119_);
if (lean_obj_tag(v___x_1124_) == 0)
{
lean_object* v_a_1125_; lean_object* v___x_1127_; uint8_t v_isShared_1128_; uint8_t v_isSharedCheck_1132_; 
v_a_1125_ = lean_ctor_get(v___x_1124_, 0);
v_isSharedCheck_1132_ = !lean_is_exclusive(v___x_1124_);
if (v_isSharedCheck_1132_ == 0)
{
v___x_1127_ = v___x_1124_;
v_isShared_1128_ = v_isSharedCheck_1132_;
goto v_resetjp_1126_;
}
else
{
lean_inc(v_a_1125_);
lean_dec(v___x_1124_);
v___x_1127_ = lean_box(0);
v_isShared_1128_ = v_isSharedCheck_1132_;
goto v_resetjp_1126_;
}
v_resetjp_1126_:
{
lean_object* v___x_1130_; 
if (v_isShared_1128_ == 0)
{
v___x_1130_ = v___x_1127_;
goto v_reusejp_1129_;
}
else
{
lean_object* v_reuseFailAlloc_1131_; 
v_reuseFailAlloc_1131_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1131_, 0, v_a_1125_);
v___x_1130_ = v_reuseFailAlloc_1131_;
goto v_reusejp_1129_;
}
v_reusejp_1129_:
{
return v___x_1130_;
}
}
}
else
{
lean_object* v_a_1133_; lean_object* v___x_1135_; uint8_t v_isShared_1136_; uint8_t v_isSharedCheck_1140_; 
v_a_1133_ = lean_ctor_get(v___x_1124_, 0);
v_isSharedCheck_1140_ = !lean_is_exclusive(v___x_1124_);
if (v_isSharedCheck_1140_ == 0)
{
v___x_1135_ = v___x_1124_;
v_isShared_1136_ = v_isSharedCheck_1140_;
goto v_resetjp_1134_;
}
else
{
lean_inc(v_a_1133_);
lean_dec(v___x_1124_);
v___x_1135_ = lean_box(0);
v_isShared_1136_ = v_isSharedCheck_1140_;
goto v_resetjp_1134_;
}
v_resetjp_1134_:
{
lean_object* v___x_1138_; 
if (v_isShared_1136_ == 0)
{
v___x_1138_ = v___x_1135_;
goto v_reusejp_1137_;
}
else
{
lean_object* v_reuseFailAlloc_1139_; 
v_reuseFailAlloc_1139_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1139_, 0, v_a_1133_);
v___x_1138_ = v_reuseFailAlloc_1139_;
goto v_reusejp_1137_;
}
v_reusejp_1137_:
{
return v___x_1138_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__3___redArg___boxed(lean_object* v_type_1141_, lean_object* v_k_1142_, lean_object* v_cleanupAnnotations_1143_, lean_object* v___y_1144_, lean_object* v___y_1145_, lean_object* v___y_1146_, lean_object* v___y_1147_, lean_object* v___y_1148_){
_start:
{
uint8_t v_cleanupAnnotations_boxed_1149_; lean_object* v_res_1150_; 
v_cleanupAnnotations_boxed_1149_ = lean_unbox(v_cleanupAnnotations_1143_);
v_res_1150_ = l_Lean_Meta_forallTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__3___redArg(v_type_1141_, v_k_1142_, v_cleanupAnnotations_boxed_1149_, v___y_1144_, v___y_1145_, v___y_1146_, v___y_1147_);
return v_res_1150_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__3(lean_object* v_00_u03b1_1151_, lean_object* v_type_1152_, lean_object* v_k_1153_, uint8_t v_cleanupAnnotations_1154_, lean_object* v___y_1155_, lean_object* v___y_1156_, lean_object* v___y_1157_, lean_object* v___y_1158_){
_start:
{
lean_object* v___x_1160_; 
v___x_1160_ = l_Lean_Meta_forallTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__3___redArg(v_type_1152_, v_k_1153_, v_cleanupAnnotations_1154_, v___y_1155_, v___y_1156_, v___y_1157_, v___y_1158_);
return v___x_1160_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__3___boxed(lean_object* v_00_u03b1_1161_, lean_object* v_type_1162_, lean_object* v_k_1163_, lean_object* v_cleanupAnnotations_1164_, lean_object* v___y_1165_, lean_object* v___y_1166_, lean_object* v___y_1167_, lean_object* v___y_1168_, lean_object* v___y_1169_){
_start:
{
uint8_t v_cleanupAnnotations_boxed_1170_; lean_object* v_res_1171_; 
v_cleanupAnnotations_boxed_1170_ = lean_unbox(v_cleanupAnnotations_1164_);
v_res_1171_ = l_Lean_Meta_forallTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__3(v_00_u03b1_1161_, v_type_1162_, v_k_1163_, v_cleanupAnnotations_boxed_1170_, v___y_1165_, v___y_1166_, v___y_1167_, v___y_1168_);
return v_res_1171_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkDefinitionValInferringUnsafe___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__6___redArg(lean_object* v_name_1172_, lean_object* v_levelParams_1173_, lean_object* v_type_1174_, lean_object* v_value_1175_, lean_object* v_hints_1176_, lean_object* v___y_1177_){
_start:
{
lean_object* v___x_1179_; uint8_t v___y_1181_; uint8_t v___y_1188_; lean_object* v_env_1191_; uint8_t v___x_1192_; 
v___x_1179_ = lean_st_ref_get(v___y_1177_);
v_env_1191_ = lean_ctor_get(v___x_1179_, 0);
lean_inc_ref(v_env_1191_);
lean_dec(v___x_1179_);
lean_inc_ref(v_env_1191_);
v___x_1192_ = l_Lean_Environment_hasUnsafe(v_env_1191_, v_type_1174_);
if (v___x_1192_ == 0)
{
uint8_t v___x_1193_; 
v___x_1193_ = l_Lean_Environment_hasUnsafe(v_env_1191_, v_value_1175_);
v___y_1188_ = v___x_1193_;
goto v___jp_1187_;
}
else
{
lean_dec_ref(v_env_1191_);
v___y_1188_ = v___x_1192_;
goto v___jp_1187_;
}
v___jp_1180_:
{
lean_object* v___x_1182_; lean_object* v___x_1183_; lean_object* v___x_1184_; lean_object* v___x_1185_; lean_object* v___x_1186_; 
lean_inc(v_name_1172_);
v___x_1182_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v___x_1182_, 0, v_name_1172_);
lean_ctor_set(v___x_1182_, 1, v_levelParams_1173_);
lean_ctor_set(v___x_1182_, 2, v_type_1174_);
v___x_1183_ = lean_box(0);
v___x_1184_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_1184_, 0, v_name_1172_);
lean_ctor_set(v___x_1184_, 1, v___x_1183_);
v___x_1185_ = lean_alloc_ctor(0, 4, 1);
lean_ctor_set(v___x_1185_, 0, v___x_1182_);
lean_ctor_set(v___x_1185_, 1, v_value_1175_);
lean_ctor_set(v___x_1185_, 2, v_hints_1176_);
lean_ctor_set(v___x_1185_, 3, v___x_1184_);
lean_ctor_set_uint8(v___x_1185_, sizeof(void*)*4, v___y_1181_);
v___x_1186_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1186_, 0, v___x_1185_);
return v___x_1186_;
}
v___jp_1187_:
{
if (v___y_1188_ == 0)
{
uint8_t v___x_1189_; 
v___x_1189_ = 1;
v___y_1181_ = v___x_1189_;
goto v___jp_1180_;
}
else
{
uint8_t v___x_1190_; 
v___x_1190_ = 0;
v___y_1181_ = v___x_1190_;
goto v___jp_1180_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_mkDefinitionValInferringUnsafe___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__6___redArg___boxed(lean_object* v_name_1194_, lean_object* v_levelParams_1195_, lean_object* v_type_1196_, lean_object* v_value_1197_, lean_object* v_hints_1198_, lean_object* v___y_1199_, lean_object* v___y_1200_){
_start:
{
lean_object* v_res_1201_; 
v_res_1201_ = l_Lean_mkDefinitionValInferringUnsafe___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__6___redArg(v_name_1194_, v_levelParams_1195_, v_type_1196_, v_value_1197_, v_hints_1198_, v___y_1199_);
lean_dec(v___y_1199_);
return v_res_1201_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkDefinitionValInferringUnsafe___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__6(lean_object* v_name_1202_, lean_object* v_levelParams_1203_, lean_object* v_type_1204_, lean_object* v_value_1205_, lean_object* v_hints_1206_, lean_object* v___y_1207_, lean_object* v___y_1208_, lean_object* v___y_1209_, lean_object* v___y_1210_){
_start:
{
lean_object* v___x_1212_; 
v___x_1212_ = l_Lean_mkDefinitionValInferringUnsafe___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__6___redArg(v_name_1202_, v_levelParams_1203_, v_type_1204_, v_value_1205_, v_hints_1206_, v___y_1210_);
return v___x_1212_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkDefinitionValInferringUnsafe___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__6___boxed(lean_object* v_name_1213_, lean_object* v_levelParams_1214_, lean_object* v_type_1215_, lean_object* v_value_1216_, lean_object* v_hints_1217_, lean_object* v___y_1218_, lean_object* v___y_1219_, lean_object* v___y_1220_, lean_object* v___y_1221_, lean_object* v___y_1222_){
_start:
{
lean_object* v_res_1223_; 
v_res_1223_ = l_Lean_mkDefinitionValInferringUnsafe___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__6(v_name_1213_, v_levelParams_1214_, v_type_1215_, v_value_1216_, v_hints_1217_, v___y_1218_, v___y_1219_, v___y_1220_, v___y_1221_);
lean_dec(v___y_1221_);
lean_dec_ref(v___y_1220_);
lean_dec(v___y_1219_);
lean_dec_ref(v___y_1218_);
return v_res_1223_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__8(lean_object* v_msg_1225_, lean_object* v___y_1226_, lean_object* v___y_1227_, lean_object* v___y_1228_, lean_object* v___y_1229_){
_start:
{
lean_object* v___f_1231_; lean_object* v___x_14021__overap_1232_; lean_object* v___x_1233_; 
v___f_1231_ = ((lean_object*)(l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__8___closed__0));
v___x_14021__overap_1232_ = lean_panic_fn(v___f_1231_, v_msg_1225_);
v___x_1233_ = lean_apply_5(v___x_14021__overap_1232_, v___y_1226_, v___y_1227_, v___y_1228_, v___y_1229_, lean_box(0));
return v___x_1233_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__8___boxed(lean_object* v_msg_1234_, lean_object* v___y_1235_, lean_object* v___y_1236_, lean_object* v___y_1237_, lean_object* v___y_1238_, lean_object* v___y_1239_){
_start:
{
lean_object* v_res_1240_; 
v_res_1240_ = l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__8(v_msg_1234_, v___y_1235_, v___y_1236_, v___y_1237_, v___y_1238_);
return v_res_1240_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__0(lean_object* v___x_1241_, uint8_t v___x_1242_, lean_object* v_ys_1243_, lean_object* v_x_1244_, lean_object* v___y_1245_, lean_object* v___y_1246_, lean_object* v___y_1247_, lean_object* v___y_1248_){
_start:
{
uint8_t v___x_1250_; uint8_t v___x_1251_; lean_object* v___x_1252_; 
v___x_1250_ = 0;
v___x_1251_ = 1;
v___x_1252_ = l_Lean_Meta_mkLambdaFVars(v_ys_1243_, v___x_1241_, v___x_1250_, v___x_1242_, v___x_1250_, v___x_1242_, v___x_1251_, v___y_1245_, v___y_1246_, v___y_1247_, v___y_1248_);
return v___x_1252_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__0___boxed(lean_object* v___x_1253_, lean_object* v___x_1254_, lean_object* v_ys_1255_, lean_object* v_x_1256_, lean_object* v___y_1257_, lean_object* v___y_1258_, lean_object* v___y_1259_, lean_object* v___y_1260_, lean_object* v___y_1261_){
_start:
{
uint8_t v___x_16983__boxed_1262_; lean_object* v_res_1263_; 
v___x_16983__boxed_1262_ = lean_unbox(v___x_1254_);
v_res_1263_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__0(v___x_1253_, v___x_16983__boxed_1262_, v_ys_1255_, v_x_1256_, v___y_1257_, v___y_1258_, v___y_1259_, v___y_1260_);
lean_dec(v___y_1260_);
lean_dec_ref(v___y_1259_);
lean_dec(v___y_1258_);
lean_dec_ref(v___y_1257_);
lean_dec_ref(v_x_1256_);
lean_dec_ref(v_ys_1255_);
return v_res_1263_;
}
}
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__4___redArg___lam__0(lean_object* v_i_1264_, lean_object* v_j_1265_, lean_object* v_P_1266_, uint8_t v_isZero_1267_, uint8_t v___x_1268_, lean_object* v___x_1269_, lean_object* v_xs1_1270_, lean_object* v_zs1_1271_, lean_object* v_xs2_1272_, lean_object* v_zs2_1273_, lean_object* v_x_1274_, lean_object* v___y_1275_, lean_object* v___y_1276_, lean_object* v___y_1277_, lean_object* v___y_1278_){
_start:
{
uint8_t v___x_1280_; 
v___x_1280_ = lean_nat_dec_eq(v_i_1264_, v_j_1265_);
if (v___x_1280_ == 0)
{
uint8_t v___x_1281_; lean_object* v___x_1282_; 
lean_dec_ref(v_xs1_1270_);
lean_dec(v___x_1269_);
v___x_1281_ = 1;
v___x_1282_ = l_Lean_Meta_mkLambdaFVars(v_zs2_1273_, v_P_1266_, v_isZero_1267_, v___x_1268_, v_isZero_1267_, v___x_1268_, v___x_1281_, v___y_1275_, v___y_1276_, v___y_1277_, v___y_1278_);
lean_dec(v___y_1278_);
lean_dec_ref(v___y_1277_);
lean_dec(v___y_1276_);
lean_dec_ref(v___y_1275_);
return v___x_1282_;
}
else
{
lean_object* v___x_1283_; 
lean_inc(v___y_1278_);
lean_inc_ref(v___y_1277_);
lean_inc(v___y_1276_);
lean_inc_ref(v___y_1275_);
lean_inc_ref(v_P_1266_);
v___x_1283_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg(v___x_1269_, v_P_1266_, v___y_1275_, v___y_1276_, v___y_1277_, v___y_1278_);
if (lean_obj_tag(v___x_1283_) == 0)
{
lean_object* v_a_1284_; lean_object* v___x_1285_; lean_object* v___x_1286_; lean_object* v___x_1287_; lean_object* v___x_1288_; lean_object* v___x_1289_; 
v_a_1284_ = lean_ctor_get(v___x_1283_, 0);
lean_inc(v_a_1284_);
lean_dec_ref(v___x_1283_);
v___x_1285_ = l_Array_append___redArg(v_xs1_1270_, v_zs1_1271_);
v___x_1286_ = l_Array_append___redArg(v___x_1285_, v_xs2_1272_);
v___x_1287_ = l_Array_append___redArg(v___x_1286_, v_zs2_1273_);
v___x_1288_ = l_Lean_Expr_beta(v_a_1284_, v___x_1287_);
lean_inc(v___y_1278_);
lean_inc_ref(v___y_1277_);
v___x_1289_ = l_Lean_mkArrow(v___x_1288_, v_P_1266_, v___y_1277_, v___y_1278_);
if (lean_obj_tag(v___x_1289_) == 0)
{
lean_object* v_a_1290_; uint8_t v___x_1291_; lean_object* v___x_1292_; 
v_a_1290_ = lean_ctor_get(v___x_1289_, 0);
lean_inc(v_a_1290_);
lean_dec_ref(v___x_1289_);
v___x_1291_ = 1;
v___x_1292_ = l_Lean_Meta_mkLambdaFVars(v_zs2_1273_, v_a_1290_, v_isZero_1267_, v___x_1268_, v_isZero_1267_, v___x_1268_, v___x_1291_, v___y_1275_, v___y_1276_, v___y_1277_, v___y_1278_);
lean_dec(v___y_1278_);
lean_dec_ref(v___y_1277_);
lean_dec(v___y_1276_);
lean_dec_ref(v___y_1275_);
return v___x_1292_;
}
else
{
lean_dec(v___y_1278_);
lean_dec_ref(v___y_1277_);
lean_dec(v___y_1276_);
lean_dec_ref(v___y_1275_);
return v___x_1289_;
}
}
else
{
lean_dec(v___y_1278_);
lean_dec_ref(v___y_1277_);
lean_dec(v___y_1276_);
lean_dec_ref(v___y_1275_);
lean_dec_ref(v_xs1_1270_);
lean_dec_ref(v_P_1266_);
return v___x_1283_;
}
}
}
}
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__4___redArg___lam__0___boxed(lean_object* v_i_1293_, lean_object* v_j_1294_, lean_object* v_P_1295_, lean_object* v_isZero_1296_, lean_object* v___x_1297_, lean_object* v___x_1298_, lean_object* v_xs1_1299_, lean_object* v_zs1_1300_, lean_object* v_xs2_1301_, lean_object* v_zs2_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_, lean_object* v___y_1308_){
_start:
{
uint8_t v_isZero_boxed_1309_; uint8_t v___x_17012__boxed_1310_; lean_object* v_res_1311_; 
v_isZero_boxed_1309_ = lean_unbox(v_isZero_1296_);
v___x_17012__boxed_1310_ = lean_unbox(v___x_1297_);
v_res_1311_ = l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__4___redArg___lam__0(v_i_1293_, v_j_1294_, v_P_1295_, v_isZero_boxed_1309_, v___x_17012__boxed_1310_, v___x_1298_, v_xs1_1299_, v_zs1_1300_, v_xs2_1301_, v_zs2_1302_, v_x_1303_, v___y_1304_, v___y_1305_, v___y_1306_, v___y_1307_);
lean_dec_ref(v_x_1303_);
lean_dec_ref(v_zs2_1302_);
lean_dec_ref(v_xs2_1301_);
lean_dec_ref(v_zs1_1300_);
lean_dec(v_j_1294_);
lean_dec(v_i_1293_);
return v_res_1311_;
}
}
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__4___redArg(lean_object* v_i_1312_, lean_object* v_P_1313_, lean_object* v___x_1314_, lean_object* v_xs1_1315_, lean_object* v_zs1_1316_, lean_object* v_xs2_1317_, lean_object* v_as_1318_, lean_object* v_i_1319_, lean_object* v_j_1320_, lean_object* v_bs_1321_, lean_object* v___y_1322_, lean_object* v___y_1323_, lean_object* v___y_1324_, lean_object* v___y_1325_){
_start:
{
lean_object* v_zero_1327_; uint8_t v_isZero_1328_; 
v_zero_1327_ = lean_unsigned_to_nat(0u);
v_isZero_1328_ = lean_nat_dec_eq(v_i_1319_, v_zero_1327_);
if (v_isZero_1328_ == 1)
{
lean_object* v___x_1329_; 
lean_dec(v___y_1325_);
lean_dec_ref(v___y_1324_);
lean_dec(v___y_1323_);
lean_dec_ref(v___y_1322_);
lean_dec(v_j_1320_);
lean_dec(v_i_1319_);
lean_dec_ref(v_xs2_1317_);
lean_dec_ref(v_zs1_1316_);
lean_dec_ref(v_xs1_1315_);
lean_dec(v___x_1314_);
lean_dec_ref(v_P_1313_);
lean_dec(v_i_1312_);
v___x_1329_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1329_, 0, v_bs_1321_);
return v___x_1329_;
}
else
{
uint8_t v___x_1330_; lean_object* v___x_1331_; lean_object* v___x_1332_; lean_object* v___f_1333_; lean_object* v___x_1334_; lean_object* v___x_1335_; 
v___x_1330_ = 1;
v___x_1331_ = lean_box(v_isZero_1328_);
v___x_1332_ = lean_box(v___x_1330_);
lean_inc_ref(v_xs2_1317_);
lean_inc_ref(v_zs1_1316_);
lean_inc_ref(v_xs1_1315_);
lean_inc(v___x_1314_);
lean_inc_ref(v_P_1313_);
lean_inc(v_j_1320_);
lean_inc(v_i_1312_);
v___f_1333_ = lean_alloc_closure((void*)(l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__4___redArg___lam__0___boxed), 16, 9);
lean_closure_set(v___f_1333_, 0, v_i_1312_);
lean_closure_set(v___f_1333_, 1, v_j_1320_);
lean_closure_set(v___f_1333_, 2, v_P_1313_);
lean_closure_set(v___f_1333_, 3, v___x_1331_);
lean_closure_set(v___f_1333_, 4, v___x_1332_);
lean_closure_set(v___f_1333_, 5, v___x_1314_);
lean_closure_set(v___f_1333_, 6, v_xs1_1315_);
lean_closure_set(v___f_1333_, 7, v_zs1_1316_);
lean_closure_set(v___f_1333_, 8, v_xs2_1317_);
v___x_1334_ = lean_array_fget_borrowed(v_as_1318_, v_j_1320_);
lean_inc(v___y_1325_);
lean_inc_ref(v___y_1324_);
lean_inc(v___y_1323_);
lean_inc_ref(v___y_1322_);
lean_inc(v___x_1334_);
v___x_1335_ = l_Lean_Meta_forallTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__3___redArg(v___x_1334_, v___f_1333_, v_isZero_1328_, v___y_1322_, v___y_1323_, v___y_1324_, v___y_1325_);
if (lean_obj_tag(v___x_1335_) == 0)
{
lean_object* v_a_1336_; lean_object* v_one_1337_; lean_object* v_n_1338_; lean_object* v___x_1339_; lean_object* v___x_1340_; 
v_a_1336_ = lean_ctor_get(v___x_1335_, 0);
lean_inc(v_a_1336_);
lean_dec_ref(v___x_1335_);
v_one_1337_ = lean_unsigned_to_nat(1u);
v_n_1338_ = lean_nat_sub(v_i_1319_, v_one_1337_);
lean_dec(v_i_1319_);
v___x_1339_ = lean_nat_add(v_j_1320_, v_one_1337_);
lean_dec(v_j_1320_);
v___x_1340_ = lean_array_push(v_bs_1321_, v_a_1336_);
v_i_1319_ = v_n_1338_;
v_j_1320_ = v___x_1339_;
v_bs_1321_ = v___x_1340_;
goto _start;
}
else
{
lean_object* v_a_1342_; lean_object* v___x_1344_; uint8_t v_isShared_1345_; uint8_t v_isSharedCheck_1349_; 
lean_dec(v___y_1325_);
lean_dec_ref(v___y_1324_);
lean_dec(v___y_1323_);
lean_dec_ref(v___y_1322_);
lean_dec_ref(v_bs_1321_);
lean_dec(v_j_1320_);
lean_dec(v_i_1319_);
lean_dec_ref(v_xs2_1317_);
lean_dec_ref(v_zs1_1316_);
lean_dec_ref(v_xs1_1315_);
lean_dec(v___x_1314_);
lean_dec_ref(v_P_1313_);
lean_dec(v_i_1312_);
v_a_1342_ = lean_ctor_get(v___x_1335_, 0);
v_isSharedCheck_1349_ = !lean_is_exclusive(v___x_1335_);
if (v_isSharedCheck_1349_ == 0)
{
v___x_1344_ = v___x_1335_;
v_isShared_1345_ = v_isSharedCheck_1349_;
goto v_resetjp_1343_;
}
else
{
lean_inc(v_a_1342_);
lean_dec(v___x_1335_);
v___x_1344_ = lean_box(0);
v_isShared_1345_ = v_isSharedCheck_1349_;
goto v_resetjp_1343_;
}
v_resetjp_1343_:
{
lean_object* v___x_1347_; 
if (v_isShared_1345_ == 0)
{
v___x_1347_ = v___x_1344_;
goto v_reusejp_1346_;
}
else
{
lean_object* v_reuseFailAlloc_1348_; 
v_reuseFailAlloc_1348_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1348_, 0, v_a_1342_);
v___x_1347_ = v_reuseFailAlloc_1348_;
goto v_reusejp_1346_;
}
v_reusejp_1346_:
{
return v___x_1347_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__4___redArg___boxed(lean_object* v_i_1350_, lean_object* v_P_1351_, lean_object* v___x_1352_, lean_object* v_xs1_1353_, lean_object* v_zs1_1354_, lean_object* v_xs2_1355_, lean_object* v_as_1356_, lean_object* v_i_1357_, lean_object* v_j_1358_, lean_object* v_bs_1359_, lean_object* v___y_1360_, lean_object* v___y_1361_, lean_object* v___y_1362_, lean_object* v___y_1363_, lean_object* v___y_1364_){
_start:
{
lean_object* v_res_1365_; 
v_res_1365_ = l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__4___redArg(v_i_1350_, v_P_1351_, v___x_1352_, v_xs1_1353_, v_zs1_1354_, v_xs2_1355_, v_as_1356_, v_i_1357_, v_j_1358_, v_bs_1359_, v___y_1360_, v___y_1361_, v___y_1362_, v___y_1363_);
lean_dec_ref(v_as_1356_);
return v_res_1365_;
}
}
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__1(lean_object* v___x_1366_, lean_object* v_P_1367_, lean_object* v_xs1_1368_, lean_object* v_zs1_1369_, lean_object* v_xs2_1370_, uint8_t v_isZero_1371_, uint8_t v___x_1372_, lean_object* v_zs2_1373_, lean_object* v_x_1374_, lean_object* v___y_1375_, lean_object* v___y_1376_, lean_object* v___y_1377_, lean_object* v___y_1378_){
_start:
{
lean_object* v___x_1380_; 
lean_inc(v___y_1378_);
lean_inc_ref(v___y_1377_);
lean_inc(v___y_1376_);
lean_inc_ref(v___y_1375_);
lean_inc_ref(v_P_1367_);
v___x_1380_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg(v___x_1366_, v_P_1367_, v___y_1375_, v___y_1376_, v___y_1377_, v___y_1378_);
if (lean_obj_tag(v___x_1380_) == 0)
{
lean_object* v_a_1381_; lean_object* v___x_1382_; lean_object* v___x_1383_; lean_object* v___x_1384_; lean_object* v___x_1385_; lean_object* v___x_1386_; 
v_a_1381_ = lean_ctor_get(v___x_1380_, 0);
lean_inc(v_a_1381_);
lean_dec_ref(v___x_1380_);
v___x_1382_ = l_Array_append___redArg(v_xs1_1368_, v_zs1_1369_);
v___x_1383_ = l_Array_append___redArg(v___x_1382_, v_xs2_1370_);
v___x_1384_ = l_Array_append___redArg(v___x_1383_, v_zs2_1373_);
v___x_1385_ = l_Lean_Expr_beta(v_a_1381_, v___x_1384_);
lean_inc(v___y_1378_);
lean_inc_ref(v___y_1377_);
v___x_1386_ = l_Lean_mkArrow(v___x_1385_, v_P_1367_, v___y_1377_, v___y_1378_);
if (lean_obj_tag(v___x_1386_) == 0)
{
lean_object* v_a_1387_; uint8_t v___x_1388_; lean_object* v___x_1389_; 
v_a_1387_ = lean_ctor_get(v___x_1386_, 0);
lean_inc(v_a_1387_);
lean_dec_ref(v___x_1386_);
v___x_1388_ = 1;
v___x_1389_ = l_Lean_Meta_mkLambdaFVars(v_zs2_1373_, v_a_1387_, v_isZero_1371_, v___x_1372_, v_isZero_1371_, v___x_1372_, v___x_1388_, v___y_1375_, v___y_1376_, v___y_1377_, v___y_1378_);
lean_dec(v___y_1378_);
lean_dec_ref(v___y_1377_);
lean_dec(v___y_1376_);
lean_dec_ref(v___y_1375_);
return v___x_1389_;
}
else
{
lean_dec(v___y_1378_);
lean_dec_ref(v___y_1377_);
lean_dec(v___y_1376_);
lean_dec_ref(v___y_1375_);
return v___x_1386_;
}
}
else
{
lean_dec(v___y_1378_);
lean_dec_ref(v___y_1377_);
lean_dec(v___y_1376_);
lean_dec_ref(v___y_1375_);
lean_dec_ref(v_xs1_1368_);
lean_dec_ref(v_P_1367_);
return v___x_1380_;
}
}
}
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__1___boxed(lean_object* v___x_1390_, lean_object* v_P_1391_, lean_object* v_xs1_1392_, lean_object* v_zs1_1393_, lean_object* v_xs2_1394_, lean_object* v_isZero_1395_, lean_object* v___x_1396_, lean_object* v_zs2_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_isZero_boxed_1404_; uint8_t v___x_17123__boxed_1405_; lean_object* v_res_1406_; 
v_isZero_boxed_1404_ = lean_unbox(v_isZero_1395_);
v___x_17123__boxed_1405_ = lean_unbox(v___x_1396_);
v_res_1406_ = l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__1(v___x_1390_, v_P_1391_, v_xs1_1392_, v_zs1_1393_, v_xs2_1394_, v_isZero_boxed_1404_, v___x_17123__boxed_1405_, v_zs2_1397_, v_x_1398_, v___y_1399_, v___y_1400_, v___y_1401_, v___y_1402_);
lean_dec_ref(v_x_1398_);
lean_dec_ref(v_zs2_1397_);
lean_dec_ref(v_xs2_1394_);
lean_dec_ref(v_zs1_1393_);
return v_res_1406_;
}
}
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__2(lean_object* v_val_1407_, lean_object* v_j_1408_, lean_object* v_indName_1409_, lean_object* v___x_1410_, lean_object* v_xs2_1411_, lean_object* v___x_1412_, lean_object* v_ysx2_1413_, lean_object* v_P_1414_, lean_object* v_xs1_1415_, lean_object* v_zs1_1416_, uint8_t v_isZero_1417_, uint8_t v___x_1418_, lean_object* v_h_1419_, lean_object* v___y_1420_, lean_object* v___y_1421_, lean_object* v___y_1422_, lean_object* v___y_1423_){
_start:
{
lean_object* v_ctors_1425_; lean_object* v___x_1426_; lean_object* v___x_1427_; lean_object* v___x_1428_; lean_object* v___x_1429_; lean_object* v___x_1430_; lean_object* v___x_1431_; lean_object* v___x_1432_; lean_object* v___x_1433_; lean_object* v___x_1434_; lean_object* v___x_1435_; lean_object* v___x_1436_; lean_object* v___x_1437_; 
v_ctors_1425_ = lean_ctor_get(v_val_1407_, 4);
v___x_1426_ = lean_box(0);
v___x_1427_ = l_List_get_x21Internal___redArg(v___x_1426_, v_ctors_1425_, v_j_1408_);
lean_inc(v___x_1427_);
v___x_1428_ = l_Lean_mkConstructorElimName(v_indName_1409_, v___x_1427_);
v___x_1429_ = l_Lean_mkConst(v___x_1428_, v___x_1410_);
lean_inc_ref(v_xs2_1411_);
v___x_1430_ = l_Array_append___redArg(v_xs2_1411_, v___x_1412_);
v___x_1431_ = l_Array_append___redArg(v___x_1430_, v_ysx2_1413_);
v___x_1432_ = lean_unsigned_to_nat(1u);
v___x_1433_ = lean_mk_empty_array_with_capacity(v___x_1432_);
v___x_1434_ = lean_array_push(v___x_1433_, v_h_1419_);
v___x_1435_ = l_Array_append___redArg(v___x_1431_, v___x_1434_);
lean_dec_ref(v___x_1434_);
v___x_1436_ = l_Lean_mkAppN(v___x_1429_, v___x_1435_);
lean_dec_ref(v___x_1435_);
lean_inc(v___y_1423_);
lean_inc_ref(v___y_1422_);
lean_inc(v___y_1421_);
lean_inc_ref(v___y_1420_);
lean_inc_ref(v___x_1436_);
v___x_1437_ = lean_infer_type(v___x_1436_, v___y_1420_, v___y_1421_, v___y_1422_, v___y_1423_);
if (lean_obj_tag(v___x_1437_) == 0)
{
lean_object* v_a_1438_; lean_object* v___x_1439_; 
v_a_1438_ = lean_ctor_get(v___x_1437_, 0);
lean_inc(v_a_1438_);
lean_dec_ref(v___x_1437_);
lean_inc(v___y_1423_);
lean_inc_ref(v___y_1422_);
lean_inc(v___y_1421_);
lean_inc_ref(v___y_1420_);
v___x_1439_ = lean_whnf(v_a_1438_, v___y_1420_, v___y_1421_, v___y_1422_, v___y_1423_);
if (lean_obj_tag(v___x_1439_) == 0)
{
lean_object* v_a_1440_; lean_object* v___x_1441_; lean_object* v___x_1442_; lean_object* v___f_1443_; lean_object* v___x_1444_; lean_object* v___x_1445_; 
v_a_1440_ = lean_ctor_get(v___x_1439_, 0);
lean_inc(v_a_1440_);
lean_dec_ref(v___x_1439_);
v___x_1441_ = lean_box(v_isZero_1417_);
v___x_1442_ = lean_box(v___x_1418_);
v___f_1443_ = lean_alloc_closure((void*)(l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__1___boxed), 14, 7);
lean_closure_set(v___f_1443_, 0, v___x_1427_);
lean_closure_set(v___f_1443_, 1, v_P_1414_);
lean_closure_set(v___f_1443_, 2, v_xs1_1415_);
lean_closure_set(v___f_1443_, 3, v_zs1_1416_);
lean_closure_set(v___f_1443_, 4, v_xs2_1411_);
lean_closure_set(v___f_1443_, 5, v___x_1441_);
lean_closure_set(v___f_1443_, 6, v___x_1442_);
v___x_1444_ = l_Lean_Expr_bindingDomain_x21(v_a_1440_);
lean_dec(v_a_1440_);
v___x_1445_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___redArg(v___x_1444_, v___f_1443_, v_isZero_1417_, v_isZero_1417_, v___y_1420_, v___y_1421_, v___y_1422_, v___y_1423_);
if (lean_obj_tag(v___x_1445_) == 0)
{
lean_object* v_a_1446_; lean_object* v___x_1448_; uint8_t v_isShared_1449_; uint8_t v_isSharedCheck_1454_; 
v_a_1446_ = lean_ctor_get(v___x_1445_, 0);
v_isSharedCheck_1454_ = !lean_is_exclusive(v___x_1445_);
if (v_isSharedCheck_1454_ == 0)
{
v___x_1448_ = v___x_1445_;
v_isShared_1449_ = v_isSharedCheck_1454_;
goto v_resetjp_1447_;
}
else
{
lean_inc(v_a_1446_);
lean_dec(v___x_1445_);
v___x_1448_ = lean_box(0);
v_isShared_1449_ = v_isSharedCheck_1454_;
goto v_resetjp_1447_;
}
v_resetjp_1447_:
{
lean_object* v___x_1450_; lean_object* v___x_1452_; 
v___x_1450_ = l_Lean_Expr_app___override(v___x_1436_, v_a_1446_);
if (v_isShared_1449_ == 0)
{
lean_ctor_set(v___x_1448_, 0, v___x_1450_);
v___x_1452_ = v___x_1448_;
goto v_reusejp_1451_;
}
else
{
lean_object* v_reuseFailAlloc_1453_; 
v_reuseFailAlloc_1453_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1453_, 0, v___x_1450_);
v___x_1452_ = v_reuseFailAlloc_1453_;
goto v_reusejp_1451_;
}
v_reusejp_1451_:
{
return v___x_1452_;
}
}
}
else
{
lean_dec_ref(v___x_1436_);
return v___x_1445_;
}
}
else
{
lean_dec_ref(v___x_1436_);
lean_dec(v___x_1427_);
lean_dec(v___y_1423_);
lean_dec_ref(v___y_1422_);
lean_dec(v___y_1421_);
lean_dec_ref(v___y_1420_);
lean_dec_ref(v_zs1_1416_);
lean_dec_ref(v_xs1_1415_);
lean_dec_ref(v_P_1414_);
lean_dec_ref(v_xs2_1411_);
return v___x_1439_;
}
}
else
{
lean_dec_ref(v___x_1436_);
lean_dec(v___x_1427_);
lean_dec(v___y_1423_);
lean_dec_ref(v___y_1422_);
lean_dec(v___y_1421_);
lean_dec_ref(v___y_1420_);
lean_dec_ref(v_zs1_1416_);
lean_dec_ref(v_xs1_1415_);
lean_dec_ref(v_P_1414_);
lean_dec_ref(v_xs2_1411_);
return v___x_1437_;
}
}
}
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__2___boxed(lean_object** _args){
lean_object* v_val_1455_ = _args[0];
lean_object* v_j_1456_ = _args[1];
lean_object* v_indName_1457_ = _args[2];
lean_object* v___x_1458_ = _args[3];
lean_object* v_xs2_1459_ = _args[4];
lean_object* v___x_1460_ = _args[5];
lean_object* v_ysx2_1461_ = _args[6];
lean_object* v_P_1462_ = _args[7];
lean_object* v_xs1_1463_ = _args[8];
lean_object* v_zs1_1464_ = _args[9];
lean_object* v_isZero_1465_ = _args[10];
lean_object* v___x_1466_ = _args[11];
lean_object* v_h_1467_ = _args[12];
lean_object* v___y_1468_ = _args[13];
lean_object* v___y_1469_ = _args[14];
lean_object* v___y_1470_ = _args[15];
lean_object* v___y_1471_ = _args[16];
lean_object* v___y_1472_ = _args[17];
_start:
{
uint8_t v_isZero_boxed_1473_; uint8_t v___x_17171__boxed_1474_; lean_object* v_res_1475_; 
v_isZero_boxed_1473_ = lean_unbox(v_isZero_1465_);
v___x_17171__boxed_1474_ = lean_unbox(v___x_1466_);
v_res_1475_ = l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__2(v_val_1455_, v_j_1456_, v_indName_1457_, v___x_1458_, v_xs2_1459_, v___x_1460_, v_ysx2_1461_, v_P_1462_, v_xs1_1463_, v_zs1_1464_, v_isZero_boxed_1473_, v___x_17171__boxed_1474_, v_h_1467_, v___y_1468_, v___y_1469_, v___y_1470_, v___y_1471_);
lean_dec_ref(v_ysx2_1461_);
lean_dec_ref(v___x_1460_);
lean_dec_ref(v_val_1455_);
return v_res_1475_;
}
}
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__3(uint8_t v___y_1476_, lean_object* v_xs2_1477_, lean_object* v___x_1478_, lean_object* v_ysx2_1479_, lean_object* v___x_1480_, lean_object* v___x_1481_, lean_object* v_val_1482_, lean_object* v_j_1483_, lean_object* v_P_1484_, lean_object* v_xs1_1485_, uint8_t v_isZero_1486_, uint8_t v___x_1487_, lean_object* v_indName_1488_, lean_object* v___x_1489_, lean_object* v_tail_1490_, lean_object* v___x_1491_, lean_object* v___f_1492_, lean_object* v_zs1_1493_, lean_object* v_x_1494_, lean_object* v___y_1495_, lean_object* v___y_1496_, lean_object* v___y_1497_, lean_object* v___y_1498_){
_start:
{
if (v___y_1476_ == 0)
{
lean_object* v___x_1500_; lean_object* v___x_1501_; lean_object* v___x_1502_; lean_object* v___x_1503_; 
lean_dec_ref(v___f_1492_);
lean_dec_ref(v___x_1491_);
lean_dec(v_tail_1490_);
lean_dec(v___x_1489_);
lean_dec(v_indName_1488_);
lean_inc_ref(v_xs2_1477_);
v___x_1500_ = l_Array_append___redArg(v_xs2_1477_, v___x_1478_);
lean_dec_ref(v___x_1478_);
v___x_1501_ = l_Array_append___redArg(v___x_1500_, v_ysx2_1479_);
lean_dec_ref(v_ysx2_1479_);
v___x_1502_ = l_Lean_mkAppN(v___x_1480_, v___x_1501_);
lean_dec_ref(v___x_1501_);
lean_inc(v___y_1498_);
lean_inc_ref(v___y_1497_);
lean_inc(v___y_1496_);
lean_inc_ref(v___y_1495_);
lean_inc_ref(v___x_1502_);
v___x_1503_ = lean_infer_type(v___x_1502_, v___y_1495_, v___y_1496_, v___y_1497_, v___y_1498_);
if (lean_obj_tag(v___x_1503_) == 0)
{
lean_object* v_a_1504_; lean_object* v___x_1505_; 
v_a_1504_ = lean_ctor_get(v___x_1503_, 0);
lean_inc(v_a_1504_);
lean_dec_ref(v___x_1503_);
lean_inc(v___y_1498_);
lean_inc_ref(v___y_1497_);
lean_inc(v___y_1496_);
lean_inc_ref(v___y_1495_);
v___x_1505_ = l_Lean_Meta_arrowDomainsN(v___x_1481_, v_a_1504_, v___y_1495_, v___y_1496_, v___y_1497_, v___y_1498_);
if (lean_obj_tag(v___x_1505_) == 0)
{
lean_object* v_a_1506_; lean_object* v_ctors_1507_; lean_object* v___x_1508_; lean_object* v___x_1509_; lean_object* v___x_1510_; lean_object* v___x_1511_; lean_object* v___x_1512_; lean_object* v___x_1513_; 
v_a_1506_ = lean_ctor_get(v___x_1505_, 0);
lean_inc(v_a_1506_);
lean_dec_ref(v___x_1505_);
v_ctors_1507_ = lean_ctor_get(v_val_1482_, 4);
lean_inc(v_ctors_1507_);
lean_dec_ref(v_val_1482_);
v___x_1508_ = lean_box(0);
lean_inc(v_j_1483_);
v___x_1509_ = l_List_get_x21Internal___redArg(v___x_1508_, v_ctors_1507_, v_j_1483_);
lean_dec(v_ctors_1507_);
v___x_1510_ = lean_array_get_size(v_a_1506_);
v___x_1511_ = lean_unsigned_to_nat(0u);
v___x_1512_ = lean_mk_empty_array_with_capacity(v___x_1510_);
lean_inc(v___y_1498_);
lean_inc_ref(v___y_1497_);
lean_inc(v___y_1496_);
lean_inc_ref(v___y_1495_);
lean_inc_ref(v_zs1_1493_);
v___x_1513_ = l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__4___redArg(v_j_1483_, v_P_1484_, v___x_1509_, v_xs1_1485_, v_zs1_1493_, v_xs2_1477_, v_a_1506_, v___x_1510_, v___x_1511_, v___x_1512_, v___y_1495_, v___y_1496_, v___y_1497_, v___y_1498_);
lean_dec(v_a_1506_);
if (lean_obj_tag(v___x_1513_) == 0)
{
lean_object* v_a_1514_; lean_object* v___x_1515_; uint8_t v___x_1516_; lean_object* v___x_1517_; 
v_a_1514_ = lean_ctor_get(v___x_1513_, 0);
lean_inc(v_a_1514_);
lean_dec_ref(v___x_1513_);
v___x_1515_ = l_Lean_mkAppN(v___x_1502_, v_a_1514_);
lean_dec(v_a_1514_);
v___x_1516_ = 1;
v___x_1517_ = l_Lean_Meta_mkLambdaFVars(v_zs1_1493_, v___x_1515_, v_isZero_1486_, v___x_1487_, v_isZero_1486_, v___x_1487_, v___x_1516_, v___y_1495_, v___y_1496_, v___y_1497_, v___y_1498_);
lean_dec(v___y_1498_);
lean_dec_ref(v___y_1497_);
lean_dec(v___y_1496_);
lean_dec_ref(v___y_1495_);
lean_dec_ref(v_zs1_1493_);
return v___x_1517_;
}
else
{
lean_object* v_a_1518_; lean_object* v___x_1520_; uint8_t v_isShared_1521_; uint8_t v_isSharedCheck_1525_; 
lean_dec_ref(v___x_1502_);
lean_dec(v___y_1498_);
lean_dec_ref(v___y_1497_);
lean_dec(v___y_1496_);
lean_dec_ref(v___y_1495_);
lean_dec_ref(v_zs1_1493_);
v_a_1518_ = lean_ctor_get(v___x_1513_, 0);
v_isSharedCheck_1525_ = !lean_is_exclusive(v___x_1513_);
if (v_isSharedCheck_1525_ == 0)
{
v___x_1520_ = v___x_1513_;
v_isShared_1521_ = v_isSharedCheck_1525_;
goto v_resetjp_1519_;
}
else
{
lean_inc(v_a_1518_);
lean_dec(v___x_1513_);
v___x_1520_ = lean_box(0);
v_isShared_1521_ = v_isSharedCheck_1525_;
goto v_resetjp_1519_;
}
v_resetjp_1519_:
{
lean_object* v___x_1523_; 
if (v_isShared_1521_ == 0)
{
v___x_1523_ = v___x_1520_;
goto v_reusejp_1522_;
}
else
{
lean_object* v_reuseFailAlloc_1524_; 
v_reuseFailAlloc_1524_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1524_, 0, v_a_1518_);
v___x_1523_ = v_reuseFailAlloc_1524_;
goto v_reusejp_1522_;
}
v_reusejp_1522_:
{
return v___x_1523_;
}
}
}
}
else
{
lean_object* v_a_1526_; lean_object* v___x_1528_; uint8_t v_isShared_1529_; uint8_t v_isSharedCheck_1533_; 
lean_dec_ref(v___x_1502_);
lean_dec(v___y_1498_);
lean_dec_ref(v___y_1497_);
lean_dec(v___y_1496_);
lean_dec_ref(v___y_1495_);
lean_dec_ref(v_zs1_1493_);
lean_dec_ref(v_xs1_1485_);
lean_dec_ref(v_P_1484_);
lean_dec(v_j_1483_);
lean_dec_ref(v_val_1482_);
lean_dec_ref(v_xs2_1477_);
v_a_1526_ = lean_ctor_get(v___x_1505_, 0);
v_isSharedCheck_1533_ = !lean_is_exclusive(v___x_1505_);
if (v_isSharedCheck_1533_ == 0)
{
v___x_1528_ = v___x_1505_;
v_isShared_1529_ = v_isSharedCheck_1533_;
goto v_resetjp_1527_;
}
else
{
lean_inc(v_a_1526_);
lean_dec(v___x_1505_);
v___x_1528_ = lean_box(0);
v_isShared_1529_ = v_isSharedCheck_1533_;
goto v_resetjp_1527_;
}
v_resetjp_1527_:
{
lean_object* v___x_1531_; 
if (v_isShared_1529_ == 0)
{
v___x_1531_ = v___x_1528_;
goto v_reusejp_1530_;
}
else
{
lean_object* v_reuseFailAlloc_1532_; 
v_reuseFailAlloc_1532_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1532_, 0, v_a_1526_);
v___x_1531_ = v_reuseFailAlloc_1532_;
goto v_reusejp_1530_;
}
v_reusejp_1530_:
{
return v___x_1531_;
}
}
}
}
else
{
lean_dec_ref(v___x_1502_);
lean_dec(v___y_1498_);
lean_dec_ref(v___y_1497_);
lean_dec(v___y_1496_);
lean_dec_ref(v___y_1495_);
lean_dec_ref(v_zs1_1493_);
lean_dec_ref(v_xs1_1485_);
lean_dec_ref(v_P_1484_);
lean_dec(v_j_1483_);
lean_dec_ref(v_val_1482_);
lean_dec(v___x_1481_);
lean_dec_ref(v_xs2_1477_);
return v___x_1503_;
}
}
else
{
lean_object* v___x_1534_; lean_object* v___x_1535_; lean_object* v___f_1536_; lean_object* v___x_1537_; lean_object* v___x_1538_; lean_object* v___x_1539_; lean_object* v___x_1540_; lean_object* v___x_1541_; lean_object* v___x_1542_; 
lean_dec(v___x_1481_);
lean_dec_ref(v___x_1480_);
v___x_1534_ = lean_box(v_isZero_1486_);
v___x_1535_ = lean_box(v___x_1487_);
lean_inc_ref(v_zs1_1493_);
lean_inc_ref(v_ysx2_1479_);
lean_inc_ref(v_xs2_1477_);
lean_inc(v_indName_1488_);
lean_inc(v_j_1483_);
v___f_1536_ = lean_alloc_closure((void*)(l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__2___boxed), 18, 12);
lean_closure_set(v___f_1536_, 0, v_val_1482_);
lean_closure_set(v___f_1536_, 1, v_j_1483_);
lean_closure_set(v___f_1536_, 2, v_indName_1488_);
lean_closure_set(v___f_1536_, 3, v___x_1489_);
lean_closure_set(v___f_1536_, 4, v_xs2_1477_);
lean_closure_set(v___f_1536_, 5, v___x_1478_);
lean_closure_set(v___f_1536_, 6, v_ysx2_1479_);
lean_closure_set(v___f_1536_, 7, v_P_1484_);
lean_closure_set(v___f_1536_, 8, v_xs1_1485_);
lean_closure_set(v___f_1536_, 9, v_zs1_1493_);
lean_closure_set(v___f_1536_, 10, v___x_1534_);
lean_closure_set(v___f_1536_, 11, v___x_1535_);
v___x_1537_ = l_mkCtorIdxName(v_indName_1488_);
v___x_1538_ = l_Lean_mkConst(v___x_1537_, v_tail_1490_);
v___x_1539_ = l_Array_append___redArg(v_xs2_1477_, v_ysx2_1479_);
lean_dec_ref(v_ysx2_1479_);
v___x_1540_ = l_Lean_mkAppN(v___x_1538_, v___x_1539_);
lean_dec_ref(v___x_1539_);
v___x_1541_ = l_Lean_mkRawNatLit(v_j_1483_);
lean_inc(v___y_1498_);
lean_inc_ref(v___y_1497_);
lean_inc(v___y_1496_);
lean_inc_ref(v___y_1495_);
v___x_1542_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq(v___x_1491_, v___x_1540_, v___x_1541_, v___f_1536_, v___f_1492_, v___y_1495_, v___y_1496_, v___y_1497_, v___y_1498_);
if (lean_obj_tag(v___x_1542_) == 0)
{
lean_object* v_a_1543_; uint8_t v___x_1544_; lean_object* v___x_1545_; 
v_a_1543_ = lean_ctor_get(v___x_1542_, 0);
lean_inc(v_a_1543_);
lean_dec_ref(v___x_1542_);
v___x_1544_ = 1;
v___x_1545_ = l_Lean_Meta_mkLambdaFVars(v_zs1_1493_, v_a_1543_, v_isZero_1486_, v___x_1487_, v_isZero_1486_, v___x_1487_, v___x_1544_, v___y_1495_, v___y_1496_, v___y_1497_, v___y_1498_);
lean_dec(v___y_1498_);
lean_dec_ref(v___y_1497_);
lean_dec(v___y_1496_);
lean_dec_ref(v___y_1495_);
lean_dec_ref(v_zs1_1493_);
return v___x_1545_;
}
else
{
lean_dec(v___y_1498_);
lean_dec_ref(v___y_1497_);
lean_dec(v___y_1496_);
lean_dec_ref(v___y_1495_);
lean_dec_ref(v_zs1_1493_);
return v___x_1542_;
}
}
}
}
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__3___boxed(lean_object** _args){
lean_object* v___y_1546_ = _args[0];
lean_object* v_xs2_1547_ = _args[1];
lean_object* v___x_1548_ = _args[2];
lean_object* v_ysx2_1549_ = _args[3];
lean_object* v___x_1550_ = _args[4];
lean_object* v___x_1551_ = _args[5];
lean_object* v_val_1552_ = _args[6];
lean_object* v_j_1553_ = _args[7];
lean_object* v_P_1554_ = _args[8];
lean_object* v_xs1_1555_ = _args[9];
lean_object* v_isZero_1556_ = _args[10];
lean_object* v___x_1557_ = _args[11];
lean_object* v_indName_1558_ = _args[12];
lean_object* v___x_1559_ = _args[13];
lean_object* v_tail_1560_ = _args[14];
lean_object* v___x_1561_ = _args[15];
lean_object* v___f_1562_ = _args[16];
lean_object* v_zs1_1563_ = _args[17];
lean_object* v_x_1564_ = _args[18];
lean_object* v___y_1565_ = _args[19];
lean_object* v___y_1566_ = _args[20];
lean_object* v___y_1567_ = _args[21];
lean_object* v___y_1568_ = _args[22];
lean_object* v___y_1569_ = _args[23];
_start:
{
uint8_t v___y_17256__boxed_1570_; uint8_t v_isZero_boxed_1571_; uint8_t v___x_17261__boxed_1572_; lean_object* v_res_1573_; 
v___y_17256__boxed_1570_ = lean_unbox(v___y_1546_);
v_isZero_boxed_1571_ = lean_unbox(v_isZero_1556_);
v___x_17261__boxed_1572_ = lean_unbox(v___x_1557_);
v_res_1573_ = l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__3(v___y_17256__boxed_1570_, v_xs2_1547_, v___x_1548_, v_ysx2_1549_, v___x_1550_, v___x_1551_, v_val_1552_, v_j_1553_, v_P_1554_, v_xs1_1555_, v_isZero_boxed_1571_, v___x_17261__boxed_1572_, v_indName_1558_, v___x_1559_, v_tail_1560_, v___x_1561_, v___f_1562_, v_zs1_1563_, v_x_1564_, v___y_1565_, v___y_1566_, v___y_1567_, v___y_1568_);
lean_dec_ref(v_x_1564_);
return v_res_1573_;
}
}
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__0(lean_object* v_P_1574_, lean_object* v_x_1575_, lean_object* v___y_1576_, lean_object* v___y_1577_, lean_object* v___y_1578_, lean_object* v___y_1579_){
_start:
{
lean_object* v___x_1581_; 
v___x_1581_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1581_, 0, v_P_1574_);
return v___x_1581_;
}
}
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__0___boxed(lean_object* v_P_1582_, lean_object* v_x_1583_, lean_object* v___y_1584_, lean_object* v___y_1585_, lean_object* v___y_1586_, lean_object* v___y_1587_, lean_object* v___y_1588_){
_start:
{
lean_object* v_res_1589_; 
v_res_1589_ = l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__0(v_P_1582_, v_x_1583_, v___y_1584_, v___y_1585_, v___y_1586_, v___y_1587_);
lean_dec(v___y_1587_);
lean_dec_ref(v___y_1586_);
lean_dec(v___y_1585_);
lean_dec_ref(v___y_1584_);
lean_dec_ref(v_x_1583_);
return v_res_1589_;
}
}
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg(lean_object* v_val_1590_, lean_object* v_P_1591_, lean_object* v_xs1_1592_, lean_object* v_xs2_1593_, lean_object* v_indName_1594_, lean_object* v___x_1595_, lean_object* v___x_1596_, lean_object* v_ysx2_1597_, uint8_t v___y_1598_, lean_object* v___x_1599_, lean_object* v___x_1600_, lean_object* v_tail_1601_, lean_object* v___x_1602_, lean_object* v_as_1603_, lean_object* v_i_1604_, lean_object* v_j_1605_, lean_object* v_bs_1606_, lean_object* v___y_1607_, lean_object* v___y_1608_, lean_object* v___y_1609_, lean_object* v___y_1610_){
_start:
{
lean_object* v_zero_1612_; uint8_t v_isZero_1613_; 
v_zero_1612_ = lean_unsigned_to_nat(0u);
v_isZero_1613_ = lean_nat_dec_eq(v_i_1604_, v_zero_1612_);
if (v_isZero_1613_ == 1)
{
lean_object* v___x_1614_; 
lean_dec(v___y_1610_);
lean_dec_ref(v___y_1609_);
lean_dec(v___y_1608_);
lean_dec_ref(v___y_1607_);
lean_dec(v_j_1605_);
lean_dec(v_i_1604_);
lean_dec_ref(v___x_1602_);
lean_dec(v_tail_1601_);
lean_dec(v___x_1600_);
lean_dec_ref(v___x_1599_);
lean_dec_ref(v_ysx2_1597_);
lean_dec_ref(v___x_1596_);
lean_dec(v___x_1595_);
lean_dec(v_indName_1594_);
lean_dec_ref(v_xs2_1593_);
lean_dec_ref(v_xs1_1592_);
lean_dec_ref(v_P_1591_);
lean_dec_ref(v_val_1590_);
v___x_1614_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1614_, 0, v_bs_1606_);
return v___x_1614_;
}
else
{
lean_object* v___f_1615_; uint8_t v___x_1616_; lean_object* v___x_1617_; lean_object* v___x_1618_; lean_object* v___x_1619_; lean_object* v___f_1620_; lean_object* v___x_1621_; lean_object* v___x_1622_; 
lean_inc_ref(v_P_1591_);
v___f_1615_ = lean_alloc_closure((void*)(l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__0___boxed), 7, 1);
lean_closure_set(v___f_1615_, 0, v_P_1591_);
v___x_1616_ = 1;
v___x_1617_ = lean_box(v___y_1598_);
v___x_1618_ = lean_box(v_isZero_1613_);
v___x_1619_ = lean_box(v___x_1616_);
lean_inc_ref(v___x_1602_);
lean_inc(v_tail_1601_);
lean_inc(v___x_1595_);
lean_inc(v_indName_1594_);
lean_inc_ref(v_xs1_1592_);
lean_inc_ref(v_P_1591_);
lean_inc(v_j_1605_);
lean_inc_ref(v_val_1590_);
lean_inc(v___x_1600_);
lean_inc_ref(v___x_1599_);
lean_inc_ref(v_ysx2_1597_);
lean_inc_ref(v___x_1596_);
lean_inc_ref(v_xs2_1593_);
v___f_1620_ = lean_alloc_closure((void*)(l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___lam__3___boxed), 24, 17);
lean_closure_set(v___f_1620_, 0, v___x_1617_);
lean_closure_set(v___f_1620_, 1, v_xs2_1593_);
lean_closure_set(v___f_1620_, 2, v___x_1596_);
lean_closure_set(v___f_1620_, 3, v_ysx2_1597_);
lean_closure_set(v___f_1620_, 4, v___x_1599_);
lean_closure_set(v___f_1620_, 5, v___x_1600_);
lean_closure_set(v___f_1620_, 6, v_val_1590_);
lean_closure_set(v___f_1620_, 7, v_j_1605_);
lean_closure_set(v___f_1620_, 8, v_P_1591_);
lean_closure_set(v___f_1620_, 9, v_xs1_1592_);
lean_closure_set(v___f_1620_, 10, v___x_1618_);
lean_closure_set(v___f_1620_, 11, v___x_1619_);
lean_closure_set(v___f_1620_, 12, v_indName_1594_);
lean_closure_set(v___f_1620_, 13, v___x_1595_);
lean_closure_set(v___f_1620_, 14, v_tail_1601_);
lean_closure_set(v___f_1620_, 15, v___x_1602_);
lean_closure_set(v___f_1620_, 16, v___f_1615_);
v___x_1621_ = lean_array_fget_borrowed(v_as_1603_, v_j_1605_);
lean_inc(v___y_1610_);
lean_inc_ref(v___y_1609_);
lean_inc(v___y_1608_);
lean_inc_ref(v___y_1607_);
lean_inc(v___x_1621_);
v___x_1622_ = l_Lean_Meta_forallTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__3___redArg(v___x_1621_, v___f_1620_, v_isZero_1613_, v___y_1607_, v___y_1608_, v___y_1609_, v___y_1610_);
if (lean_obj_tag(v___x_1622_) == 0)
{
lean_object* v_a_1623_; lean_object* v_one_1624_; lean_object* v_n_1625_; lean_object* v___x_1626_; lean_object* v___x_1627_; 
v_a_1623_ = lean_ctor_get(v___x_1622_, 0);
lean_inc(v_a_1623_);
lean_dec_ref(v___x_1622_);
v_one_1624_ = lean_unsigned_to_nat(1u);
v_n_1625_ = lean_nat_sub(v_i_1604_, v_one_1624_);
lean_dec(v_i_1604_);
v___x_1626_ = lean_nat_add(v_j_1605_, v_one_1624_);
lean_dec(v_j_1605_);
v___x_1627_ = lean_array_push(v_bs_1606_, v_a_1623_);
v_i_1604_ = v_n_1625_;
v_j_1605_ = v___x_1626_;
v_bs_1606_ = v___x_1627_;
goto _start;
}
else
{
lean_object* v_a_1629_; lean_object* v___x_1631_; uint8_t v_isShared_1632_; uint8_t v_isSharedCheck_1636_; 
lean_dec(v___y_1610_);
lean_dec_ref(v___y_1609_);
lean_dec(v___y_1608_);
lean_dec_ref(v___y_1607_);
lean_dec_ref(v_bs_1606_);
lean_dec(v_j_1605_);
lean_dec(v_i_1604_);
lean_dec_ref(v___x_1602_);
lean_dec(v_tail_1601_);
lean_dec(v___x_1600_);
lean_dec_ref(v___x_1599_);
lean_dec_ref(v_ysx2_1597_);
lean_dec_ref(v___x_1596_);
lean_dec(v___x_1595_);
lean_dec(v_indName_1594_);
lean_dec_ref(v_xs2_1593_);
lean_dec_ref(v_xs1_1592_);
lean_dec_ref(v_P_1591_);
lean_dec_ref(v_val_1590_);
v_a_1629_ = lean_ctor_get(v___x_1622_, 0);
v_isSharedCheck_1636_ = !lean_is_exclusive(v___x_1622_);
if (v_isSharedCheck_1636_ == 0)
{
v___x_1631_ = v___x_1622_;
v_isShared_1632_ = v_isSharedCheck_1636_;
goto v_resetjp_1630_;
}
else
{
lean_inc(v_a_1629_);
lean_dec(v___x_1622_);
v___x_1631_ = lean_box(0);
v_isShared_1632_ = v_isSharedCheck_1636_;
goto v_resetjp_1630_;
}
v_resetjp_1630_:
{
lean_object* v___x_1634_; 
if (v_isShared_1632_ == 0)
{
v___x_1634_ = v___x_1631_;
goto v_reusejp_1633_;
}
else
{
lean_object* v_reuseFailAlloc_1635_; 
v_reuseFailAlloc_1635_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1635_, 0, v_a_1629_);
v___x_1634_ = v_reuseFailAlloc_1635_;
goto v_reusejp_1633_;
}
v_reusejp_1633_:
{
return v___x_1634_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg___boxed(lean_object** _args){
lean_object* v_val_1637_ = _args[0];
lean_object* v_P_1638_ = _args[1];
lean_object* v_xs1_1639_ = _args[2];
lean_object* v_xs2_1640_ = _args[3];
lean_object* v_indName_1641_ = _args[4];
lean_object* v___x_1642_ = _args[5];
lean_object* v___x_1643_ = _args[6];
lean_object* v_ysx2_1644_ = _args[7];
lean_object* v___y_1645_ = _args[8];
lean_object* v___x_1646_ = _args[9];
lean_object* v___x_1647_ = _args[10];
lean_object* v_tail_1648_ = _args[11];
lean_object* v___x_1649_ = _args[12];
lean_object* v_as_1650_ = _args[13];
lean_object* v_i_1651_ = _args[14];
lean_object* v_j_1652_ = _args[15];
lean_object* v_bs_1653_ = _args[16];
lean_object* v___y_1654_ = _args[17];
lean_object* v___y_1655_ = _args[18];
lean_object* v___y_1656_ = _args[19];
lean_object* v___y_1657_ = _args[20];
lean_object* v___y_1658_ = _args[21];
_start:
{
uint8_t v___y_17419__boxed_1659_; lean_object* v_res_1660_; 
v___y_17419__boxed_1659_ = lean_unbox(v___y_1645_);
v_res_1660_ = l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg(v_val_1637_, v_P_1638_, v_xs1_1639_, v_xs2_1640_, v_indName_1641_, v___x_1642_, v___x_1643_, v_ysx2_1644_, v___y_17419__boxed_1659_, v___x_1646_, v___x_1647_, v_tail_1648_, v___x_1649_, v_as_1650_, v_i_1651_, v_j_1652_, v_bs_1653_, v___y_1654_, v___y_1655_, v___y_1656_, v___y_1657_);
lean_dec_ref(v_as_1650_);
return v_res_1660_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__1(lean_object* v___x_1661_, lean_object* v_t1_1662_, lean_object* v_val_1663_, lean_object* v_P_1664_, lean_object* v_xs1_1665_, lean_object* v_xs2_1666_, lean_object* v_indName_1667_, lean_object* v___x_1668_, lean_object* v___x_1669_, lean_object* v_ysx2_1670_, uint8_t v___y_1671_, lean_object* v___x_1672_, lean_object* v_tail_1673_, lean_object* v___x_1674_, lean_object* v___x_1675_, lean_object* v___x_1676_, lean_object* v_ysx1_1677_, uint8_t v___x_1678_, uint8_t v___x_1679_, lean_object* v___y_1680_, lean_object* v___y_1681_, lean_object* v___y_1682_, lean_object* v___y_1683_){
_start:
{
lean_object* v___x_1685_; 
lean_inc(v___y_1683_);
lean_inc_ref(v___y_1682_);
lean_inc(v___y_1681_);
lean_inc_ref(v___y_1680_);
lean_inc(v___x_1661_);
v___x_1685_ = l_Lean_Meta_arrowDomainsN(v___x_1661_, v_t1_1662_, v___y_1680_, v___y_1681_, v___y_1682_, v___y_1683_);
if (lean_obj_tag(v___x_1685_) == 0)
{
lean_object* v_a_1686_; lean_object* v___x_1687_; lean_object* v___x_1688_; lean_object* v___x_1689_; lean_object* v___x_1690_; 
v_a_1686_ = lean_ctor_get(v___x_1685_, 0);
lean_inc(v_a_1686_);
lean_dec_ref(v___x_1685_);
v___x_1687_ = lean_array_get_size(v_a_1686_);
v___x_1688_ = lean_unsigned_to_nat(0u);
v___x_1689_ = lean_mk_empty_array_with_capacity(v___x_1687_);
lean_inc(v___y_1683_);
lean_inc_ref(v___y_1682_);
lean_inc(v___y_1681_);
lean_inc_ref(v___y_1680_);
lean_inc_ref(v_ysx2_1670_);
lean_inc_ref(v_xs2_1666_);
lean_inc_ref(v_xs1_1665_);
lean_inc_ref(v_P_1664_);
v___x_1690_ = l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg(v_val_1663_, v_P_1664_, v_xs1_1665_, v_xs2_1666_, v_indName_1667_, v___x_1668_, v___x_1669_, v_ysx2_1670_, v___y_1671_, v___x_1672_, v___x_1661_, v_tail_1673_, v___x_1674_, v_a_1686_, v___x_1687_, v___x_1688_, v___x_1689_, v___y_1680_, v___y_1681_, v___y_1682_, v___y_1683_);
lean_dec(v_a_1686_);
if (lean_obj_tag(v___x_1690_) == 0)
{
lean_object* v_a_1691_; lean_object* v___x_1692_; lean_object* v___x_1693_; lean_object* v___x_1694_; lean_object* v___x_1695_; lean_object* v___x_1696_; lean_object* v___x_1697_; uint8_t v___x_1698_; lean_object* v___x_1699_; 
v_a_1691_ = lean_ctor_get(v___x_1690_, 0);
lean_inc(v_a_1691_);
lean_dec_ref(v___x_1690_);
v___x_1692_ = l_Lean_mkAppN(v___x_1675_, v_a_1691_);
lean_dec(v_a_1691_);
v___x_1693_ = lean_array_push(v___x_1676_, v_P_1664_);
v___x_1694_ = l_Array_append___redArg(v___x_1693_, v_xs1_1665_);
lean_dec_ref(v_xs1_1665_);
v___x_1695_ = l_Array_append___redArg(v___x_1694_, v_ysx1_1677_);
v___x_1696_ = l_Array_append___redArg(v___x_1695_, v_xs2_1666_);
lean_dec_ref(v_xs2_1666_);
v___x_1697_ = l_Array_append___redArg(v___x_1696_, v_ysx2_1670_);
lean_dec_ref(v_ysx2_1670_);
v___x_1698_ = 1;
v___x_1699_ = l_Lean_Meta_mkLambdaFVars(v___x_1697_, v___x_1692_, v___x_1678_, v___x_1679_, v___x_1678_, v___x_1679_, v___x_1698_, v___y_1680_, v___y_1681_, v___y_1682_, v___y_1683_);
lean_dec(v___y_1683_);
lean_dec_ref(v___y_1682_);
lean_dec(v___y_1681_);
lean_dec_ref(v___y_1680_);
lean_dec_ref(v___x_1697_);
return v___x_1699_;
}
else
{
lean_object* v_a_1700_; lean_object* v___x_1702_; uint8_t v_isShared_1703_; uint8_t v_isSharedCheck_1707_; 
lean_dec(v___y_1683_);
lean_dec_ref(v___y_1682_);
lean_dec(v___y_1681_);
lean_dec_ref(v___y_1680_);
lean_dec_ref(v___x_1676_);
lean_dec_ref(v___x_1675_);
lean_dec_ref(v_ysx2_1670_);
lean_dec_ref(v_xs2_1666_);
lean_dec_ref(v_xs1_1665_);
lean_dec_ref(v_P_1664_);
v_a_1700_ = lean_ctor_get(v___x_1690_, 0);
v_isSharedCheck_1707_ = !lean_is_exclusive(v___x_1690_);
if (v_isSharedCheck_1707_ == 0)
{
v___x_1702_ = v___x_1690_;
v_isShared_1703_ = v_isSharedCheck_1707_;
goto v_resetjp_1701_;
}
else
{
lean_inc(v_a_1700_);
lean_dec(v___x_1690_);
v___x_1702_ = lean_box(0);
v_isShared_1703_ = v_isSharedCheck_1707_;
goto v_resetjp_1701_;
}
v_resetjp_1701_:
{
lean_object* v___x_1705_; 
if (v_isShared_1703_ == 0)
{
v___x_1705_ = v___x_1702_;
goto v_reusejp_1704_;
}
else
{
lean_object* v_reuseFailAlloc_1706_; 
v_reuseFailAlloc_1706_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1706_, 0, v_a_1700_);
v___x_1705_ = v_reuseFailAlloc_1706_;
goto v_reusejp_1704_;
}
v_reusejp_1704_:
{
return v___x_1705_;
}
}
}
}
else
{
lean_object* v_a_1708_; lean_object* v___x_1710_; uint8_t v_isShared_1711_; uint8_t v_isSharedCheck_1715_; 
lean_dec(v___y_1683_);
lean_dec_ref(v___y_1682_);
lean_dec(v___y_1681_);
lean_dec_ref(v___y_1680_);
lean_dec_ref(v___x_1676_);
lean_dec_ref(v___x_1675_);
lean_dec_ref(v___x_1674_);
lean_dec(v_tail_1673_);
lean_dec_ref(v___x_1672_);
lean_dec_ref(v_ysx2_1670_);
lean_dec_ref(v___x_1669_);
lean_dec(v___x_1668_);
lean_dec(v_indName_1667_);
lean_dec_ref(v_xs2_1666_);
lean_dec_ref(v_xs1_1665_);
lean_dec_ref(v_P_1664_);
lean_dec_ref(v_val_1663_);
lean_dec(v___x_1661_);
v_a_1708_ = lean_ctor_get(v___x_1685_, 0);
v_isSharedCheck_1715_ = !lean_is_exclusive(v___x_1685_);
if (v_isSharedCheck_1715_ == 0)
{
v___x_1710_ = v___x_1685_;
v_isShared_1711_ = v_isSharedCheck_1715_;
goto v_resetjp_1709_;
}
else
{
lean_inc(v_a_1708_);
lean_dec(v___x_1685_);
v___x_1710_ = lean_box(0);
v_isShared_1711_ = v_isSharedCheck_1715_;
goto v_resetjp_1709_;
}
v_resetjp_1709_:
{
lean_object* v___x_1713_; 
if (v_isShared_1711_ == 0)
{
v___x_1713_ = v___x_1710_;
goto v_reusejp_1712_;
}
else
{
lean_object* v_reuseFailAlloc_1714_; 
v_reuseFailAlloc_1714_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1714_, 0, v_a_1708_);
v___x_1713_ = v_reuseFailAlloc_1714_;
goto v_reusejp_1712_;
}
v_reusejp_1712_:
{
return v___x_1713_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__1___boxed(lean_object** _args){
lean_object* v___x_1716_ = _args[0];
lean_object* v_t1_1717_ = _args[1];
lean_object* v_val_1718_ = _args[2];
lean_object* v_P_1719_ = _args[3];
lean_object* v_xs1_1720_ = _args[4];
lean_object* v_xs2_1721_ = _args[5];
lean_object* v_indName_1722_ = _args[6];
lean_object* v___x_1723_ = _args[7];
lean_object* v___x_1724_ = _args[8];
lean_object* v_ysx2_1725_ = _args[9];
lean_object* v___y_1726_ = _args[10];
lean_object* v___x_1727_ = _args[11];
lean_object* v_tail_1728_ = _args[12];
lean_object* v___x_1729_ = _args[13];
lean_object* v___x_1730_ = _args[14];
lean_object* v___x_1731_ = _args[15];
lean_object* v_ysx1_1732_ = _args[16];
lean_object* v___x_1733_ = _args[17];
lean_object* v___x_1734_ = _args[18];
lean_object* v___y_1735_ = _args[19];
lean_object* v___y_1736_ = _args[20];
lean_object* v___y_1737_ = _args[21];
lean_object* v___y_1738_ = _args[22];
lean_object* v___y_1739_ = _args[23];
_start:
{
uint8_t v___y_17503__boxed_1740_; uint8_t v___x_17509__boxed_1741_; uint8_t v___x_17510__boxed_1742_; lean_object* v_res_1743_; 
v___y_17503__boxed_1740_ = lean_unbox(v___y_1726_);
v___x_17509__boxed_1741_ = lean_unbox(v___x_1733_);
v___x_17510__boxed_1742_ = lean_unbox(v___x_1734_);
v_res_1743_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__1(v___x_1716_, v_t1_1717_, v_val_1718_, v_P_1719_, v_xs1_1720_, v_xs2_1721_, v_indName_1722_, v___x_1723_, v___x_1724_, v_ysx2_1725_, v___y_17503__boxed_1740_, v___x_1727_, v_tail_1728_, v___x_1729_, v___x_1730_, v___x_1731_, v_ysx1_1732_, v___x_17509__boxed_1741_, v___x_17510__boxed_1742_, v___y_1735_, v___y_1736_, v___y_1737_, v___y_1738_);
lean_dec_ref(v_ysx1_1732_);
return v_res_1743_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__2(lean_object* v___x_1744_, lean_object* v_ysx1_1745_, lean_object* v___x_1746_, lean_object* v_t1_1747_, lean_object* v_val_1748_, lean_object* v_P_1749_, lean_object* v_xs1_1750_, lean_object* v_xs2_1751_, lean_object* v_indName_1752_, lean_object* v___x_1753_, lean_object* v___x_1754_, uint8_t v___y_1755_, lean_object* v___x_1756_, lean_object* v_tail_1757_, lean_object* v___x_1758_, lean_object* v___x_1759_, uint8_t v___x_1760_, uint8_t v___x_1761_, lean_object* v_ysx2_1762_, lean_object* v___t2_1763_, lean_object* v___y_1764_, lean_object* v___y_1765_, lean_object* v___y_1766_, lean_object* v___y_1767_){
_start:
{
lean_object* v___x_1769_; lean_object* v___x_1770_; lean_object* v___x_1771_; lean_object* v___x_1772_; lean_object* v___f_1773_; lean_object* v___x_1774_; 
v___x_1769_ = l_Lean_mkAppN(v___x_1744_, v_ysx1_1745_);
v___x_1770_ = lean_box(v___y_1755_);
v___x_1771_ = lean_box(v___x_1760_);
v___x_1772_ = lean_box(v___x_1761_);
lean_inc_ref(v_ysx2_1762_);
v___f_1773_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__1___boxed), 24, 19);
lean_closure_set(v___f_1773_, 0, v___x_1746_);
lean_closure_set(v___f_1773_, 1, v_t1_1747_);
lean_closure_set(v___f_1773_, 2, v_val_1748_);
lean_closure_set(v___f_1773_, 3, v_P_1749_);
lean_closure_set(v___f_1773_, 4, v_xs1_1750_);
lean_closure_set(v___f_1773_, 5, v_xs2_1751_);
lean_closure_set(v___f_1773_, 6, v_indName_1752_);
lean_closure_set(v___f_1773_, 7, v___x_1753_);
lean_closure_set(v___f_1773_, 8, v___x_1754_);
lean_closure_set(v___f_1773_, 9, v_ysx2_1762_);
lean_closure_set(v___f_1773_, 10, v___x_1770_);
lean_closure_set(v___f_1773_, 11, v___x_1756_);
lean_closure_set(v___f_1773_, 12, v_tail_1757_);
lean_closure_set(v___f_1773_, 13, v___x_1758_);
lean_closure_set(v___f_1773_, 14, v___x_1769_);
lean_closure_set(v___f_1773_, 15, v___x_1759_);
lean_closure_set(v___f_1773_, 16, v_ysx1_1745_);
lean_closure_set(v___f_1773_, 17, v___x_1771_);
lean_closure_set(v___f_1773_, 18, v___x_1772_);
v___x_1774_ = l_Lean_Meta_withPrimedNames___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__2___redArg(v_ysx2_1762_, v___f_1773_, v___y_1764_, v___y_1765_, v___y_1766_, v___y_1767_);
return v___x_1774_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__2___boxed(lean_object** _args){
lean_object* v___x_1775_ = _args[0];
lean_object* v_ysx1_1776_ = _args[1];
lean_object* v___x_1777_ = _args[2];
lean_object* v_t1_1778_ = _args[3];
lean_object* v_val_1779_ = _args[4];
lean_object* v_P_1780_ = _args[5];
lean_object* v_xs1_1781_ = _args[6];
lean_object* v_xs2_1782_ = _args[7];
lean_object* v_indName_1783_ = _args[8];
lean_object* v___x_1784_ = _args[9];
lean_object* v___x_1785_ = _args[10];
lean_object* v___y_1786_ = _args[11];
lean_object* v___x_1787_ = _args[12];
lean_object* v_tail_1788_ = _args[13];
lean_object* v___x_1789_ = _args[14];
lean_object* v___x_1790_ = _args[15];
lean_object* v___x_1791_ = _args[16];
lean_object* v___x_1792_ = _args[17];
lean_object* v_ysx2_1793_ = _args[18];
lean_object* v___t2_1794_ = _args[19];
lean_object* v___y_1795_ = _args[20];
lean_object* v___y_1796_ = _args[21];
lean_object* v___y_1797_ = _args[22];
lean_object* v___y_1798_ = _args[23];
lean_object* v___y_1799_ = _args[24];
_start:
{
uint8_t v___y_17617__boxed_1800_; uint8_t v___x_17622__boxed_1801_; uint8_t v___x_17623__boxed_1802_; lean_object* v_res_1803_; 
v___y_17617__boxed_1800_ = lean_unbox(v___y_1786_);
v___x_17622__boxed_1801_ = lean_unbox(v___x_1791_);
v___x_17623__boxed_1802_ = lean_unbox(v___x_1792_);
v_res_1803_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__2(v___x_1775_, v_ysx1_1776_, v___x_1777_, v_t1_1778_, v_val_1779_, v_P_1780_, v_xs1_1781_, v_xs2_1782_, v_indName_1783_, v___x_1784_, v___x_1785_, v___y_17617__boxed_1800_, v___x_1787_, v_tail_1788_, v___x_1789_, v___x_1790_, v___x_17622__boxed_1801_, v___x_17623__boxed_1802_, v_ysx2_1793_, v___t2_1794_, v___y_1795_, v___y_1796_, v___y_1797_, v___y_1798_);
lean_dec_ref(v___t2_1794_);
return v_res_1803_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__3(lean_object* v___x_1804_, lean_object* v___x_1805_, lean_object* v_val_1806_, lean_object* v_P_1807_, lean_object* v_xs1_1808_, lean_object* v_xs2_1809_, lean_object* v_indName_1810_, lean_object* v___x_1811_, lean_object* v___x_1812_, uint8_t v___y_1813_, lean_object* v___x_1814_, lean_object* v_tail_1815_, lean_object* v___x_1816_, lean_object* v___x_1817_, uint8_t v___x_1818_, uint8_t v___x_1819_, lean_object* v_a_1820_, lean_object* v___x_1821_, lean_object* v_ysx1_1822_, lean_object* v_t1_1823_, lean_object* v___y_1824_, lean_object* v___y_1825_, lean_object* v___y_1826_, lean_object* v___y_1827_){
_start:
{
lean_object* v___x_1829_; lean_object* v___x_1830_; lean_object* v___x_1831_; lean_object* v___f_1832_; lean_object* v___x_1833_; 
v___x_1829_ = lean_box(v___y_1813_);
v___x_1830_ = lean_box(v___x_1818_);
v___x_1831_ = lean_box(v___x_1819_);
v___f_1832_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__2___boxed), 25, 18);
lean_closure_set(v___f_1832_, 0, v___x_1804_);
lean_closure_set(v___f_1832_, 1, v_ysx1_1822_);
lean_closure_set(v___f_1832_, 2, v___x_1805_);
lean_closure_set(v___f_1832_, 3, v_t1_1823_);
lean_closure_set(v___f_1832_, 4, v_val_1806_);
lean_closure_set(v___f_1832_, 5, v_P_1807_);
lean_closure_set(v___f_1832_, 6, v_xs1_1808_);
lean_closure_set(v___f_1832_, 7, v_xs2_1809_);
lean_closure_set(v___f_1832_, 8, v_indName_1810_);
lean_closure_set(v___f_1832_, 9, v___x_1811_);
lean_closure_set(v___f_1832_, 10, v___x_1812_);
lean_closure_set(v___f_1832_, 11, v___x_1829_);
lean_closure_set(v___f_1832_, 12, v___x_1814_);
lean_closure_set(v___f_1832_, 13, v_tail_1815_);
lean_closure_set(v___f_1832_, 14, v___x_1816_);
lean_closure_set(v___f_1832_, 15, v___x_1817_);
lean_closure_set(v___f_1832_, 16, v___x_1830_);
lean_closure_set(v___f_1832_, 17, v___x_1831_);
v___x_1833_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___redArg(v_a_1820_, v___x_1821_, v___f_1832_, v___x_1818_, v___x_1818_, v___y_1824_, v___y_1825_, v___y_1826_, v___y_1827_);
return v___x_1833_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__3___boxed(lean_object** _args){
lean_object* v___x_1834_ = _args[0];
lean_object* v___x_1835_ = _args[1];
lean_object* v_val_1836_ = _args[2];
lean_object* v_P_1837_ = _args[3];
lean_object* v_xs1_1838_ = _args[4];
lean_object* v_xs2_1839_ = _args[5];
lean_object* v_indName_1840_ = _args[6];
lean_object* v___x_1841_ = _args[7];
lean_object* v___x_1842_ = _args[8];
lean_object* v___y_1843_ = _args[9];
lean_object* v___x_1844_ = _args[10];
lean_object* v_tail_1845_ = _args[11];
lean_object* v___x_1846_ = _args[12];
lean_object* v___x_1847_ = _args[13];
lean_object* v___x_1848_ = _args[14];
lean_object* v___x_1849_ = _args[15];
lean_object* v_a_1850_ = _args[16];
lean_object* v___x_1851_ = _args[17];
lean_object* v_ysx1_1852_ = _args[18];
lean_object* v_t1_1853_ = _args[19];
lean_object* v___y_1854_ = _args[20];
lean_object* v___y_1855_ = _args[21];
lean_object* v___y_1856_ = _args[22];
lean_object* v___y_1857_ = _args[23];
lean_object* v___y_1858_ = _args[24];
_start:
{
uint8_t v___y_17680__boxed_1859_; uint8_t v___x_17685__boxed_1860_; uint8_t v___x_17686__boxed_1861_; lean_object* v_res_1862_; 
v___y_17680__boxed_1859_ = lean_unbox(v___y_1843_);
v___x_17685__boxed_1860_ = lean_unbox(v___x_1848_);
v___x_17686__boxed_1861_ = lean_unbox(v___x_1849_);
v_res_1862_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__3(v___x_1834_, v___x_1835_, v_val_1836_, v_P_1837_, v_xs1_1838_, v_xs2_1839_, v_indName_1840_, v___x_1841_, v___x_1842_, v___y_17680__boxed_1859_, v___x_1844_, v_tail_1845_, v___x_1846_, v___x_1847_, v___x_17685__boxed_1860_, v___x_17686__boxed_1861_, v_a_1850_, v___x_1851_, v_ysx1_1852_, v_t1_1853_, v___y_1854_, v___y_1855_, v___y_1856_, v___y_1857_);
return v_res_1862_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__4(lean_object* v_t1_1863_, lean_object* v___f_1864_, lean_object* v_t2_1865_, lean_object* v___x_1866_, lean_object* v_numIndices_1867_, lean_object* v___x_1868_, lean_object* v_val_1869_, lean_object* v_P_1870_, lean_object* v_xs1_1871_, lean_object* v_xs2_1872_, lean_object* v_indName_1873_, lean_object* v___x_1874_, uint8_t v___y_1875_, lean_object* v___x_1876_, lean_object* v_tail_1877_, lean_object* v___x_1878_, uint8_t v___x_1879_, lean_object* v___y_1880_, lean_object* v___y_1881_, lean_object* v___y_1882_, lean_object* v___y_1883_){
_start:
{
lean_object* v___x_1885_; 
lean_inc(v___y_1883_);
lean_inc_ref(v___y_1882_);
lean_inc(v___y_1881_);
lean_inc_ref(v___y_1880_);
lean_inc_ref(v_t1_1863_);
v___x_1885_ = l_Lean_Meta_whnfD(v_t1_1863_, v___y_1880_, v___y_1881_, v___y_1882_, v___y_1883_);
if (lean_obj_tag(v___x_1885_) == 0)
{
lean_object* v_a_1886_; lean_object* v___x_1887_; uint8_t v___x_1888_; lean_object* v___x_1889_; 
v_a_1886_ = lean_ctor_get(v___x_1885_, 0);
lean_inc(v_a_1886_);
lean_dec_ref(v___x_1885_);
v___x_1887_ = l_Lean_Expr_bindingDomain_x21(v_a_1886_);
lean_dec(v_a_1886_);
v___x_1888_ = 0;
lean_inc(v___y_1883_);
lean_inc_ref(v___y_1882_);
lean_inc(v___y_1881_);
lean_inc_ref(v___y_1880_);
lean_inc_ref(v___f_1864_);
v___x_1889_ = l_Lean_Meta_forallTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__3___redArg(v___x_1887_, v___f_1864_, v___x_1888_, v___y_1880_, v___y_1881_, v___y_1882_, v___y_1883_);
if (lean_obj_tag(v___x_1889_) == 0)
{
lean_object* v_a_1890_; lean_object* v___x_1891_; lean_object* v___x_1892_; lean_object* v___x_1893_; lean_object* v___x_1894_; 
v_a_1890_ = lean_ctor_get(v___x_1889_, 0);
lean_inc(v_a_1890_);
lean_dec_ref(v___x_1889_);
v___x_1891_ = lean_unsigned_to_nat(1u);
v___x_1892_ = lean_mk_empty_array_with_capacity(v___x_1891_);
lean_inc(v_a_1890_);
lean_inc_ref(v___x_1892_);
v___x_1893_ = lean_array_push(v___x_1892_, v_a_1890_);
lean_inc(v___y_1883_);
lean_inc_ref(v___y_1882_);
lean_inc(v___y_1881_);
lean_inc_ref(v___y_1880_);
v___x_1894_ = l_Lean_Meta_instantiateForall(v_t1_1863_, v___x_1893_, v___y_1880_, v___y_1881_, v___y_1882_, v___y_1883_);
lean_dec_ref(v___x_1893_);
if (lean_obj_tag(v___x_1894_) == 0)
{
lean_object* v_a_1895_; lean_object* v___x_1896_; 
v_a_1895_ = lean_ctor_get(v___x_1894_, 0);
lean_inc(v_a_1895_);
lean_dec_ref(v___x_1894_);
lean_inc(v___y_1883_);
lean_inc_ref(v___y_1882_);
lean_inc(v___y_1881_);
lean_inc_ref(v___y_1880_);
lean_inc_ref(v_t2_1865_);
v___x_1896_ = l_Lean_Meta_whnfD(v_t2_1865_, v___y_1880_, v___y_1881_, v___y_1882_, v___y_1883_);
if (lean_obj_tag(v___x_1896_) == 0)
{
lean_object* v_a_1897_; lean_object* v___x_1898_; lean_object* v___x_1899_; 
v_a_1897_ = lean_ctor_get(v___x_1896_, 0);
lean_inc(v_a_1897_);
lean_dec_ref(v___x_1896_);
v___x_1898_ = l_Lean_Expr_bindingDomain_x21(v_a_1897_);
lean_dec(v_a_1897_);
lean_inc(v___y_1883_);
lean_inc_ref(v___y_1882_);
lean_inc(v___y_1881_);
lean_inc_ref(v___y_1880_);
v___x_1899_ = l_Lean_Meta_forallTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__3___redArg(v___x_1898_, v___f_1864_, v___x_1888_, v___y_1880_, v___y_1881_, v___y_1882_, v___y_1883_);
if (lean_obj_tag(v___x_1899_) == 0)
{
lean_object* v_a_1900_; lean_object* v___x_1901_; lean_object* v___x_1902_; 
v_a_1900_ = lean_ctor_get(v___x_1899_, 0);
lean_inc(v_a_1900_);
lean_dec_ref(v___x_1899_);
lean_inc_ref(v___x_1892_);
v___x_1901_ = lean_array_push(v___x_1892_, v_a_1900_);
lean_inc(v___y_1883_);
lean_inc_ref(v___y_1882_);
lean_inc(v___y_1881_);
lean_inc_ref(v___y_1880_);
v___x_1902_ = l_Lean_Meta_instantiateForall(v_t2_1865_, v___x_1901_, v___y_1880_, v___y_1881_, v___y_1882_, v___y_1883_);
if (lean_obj_tag(v___x_1902_) == 0)
{
lean_object* v_a_1903_; lean_object* v___x_1905_; uint8_t v_isShared_1906_; uint8_t v_isSharedCheck_1917_; 
v_a_1903_ = lean_ctor_get(v___x_1902_, 0);
v_isSharedCheck_1917_ = !lean_is_exclusive(v___x_1902_);
if (v_isSharedCheck_1917_ == 0)
{
v___x_1905_ = v___x_1902_;
v_isShared_1906_ = v_isSharedCheck_1917_;
goto v_resetjp_1904_;
}
else
{
lean_inc(v_a_1903_);
lean_dec(v___x_1902_);
v___x_1905_ = lean_box(0);
v_isShared_1906_ = v_isSharedCheck_1917_;
goto v_resetjp_1904_;
}
v_resetjp_1904_:
{
lean_object* v___x_1907_; lean_object* v___x_1908_; lean_object* v___x_1910_; 
v___x_1907_ = l_Lean_Expr_app___override(v___x_1866_, v_a_1890_);
v___x_1908_ = lean_nat_add(v_numIndices_1867_, v___x_1891_);
if (v_isShared_1906_ == 0)
{
lean_ctor_set_tag(v___x_1905_, 1);
lean_ctor_set(v___x_1905_, 0, v___x_1908_);
v___x_1910_ = v___x_1905_;
goto v_reusejp_1909_;
}
else
{
lean_object* v_reuseFailAlloc_1916_; 
v_reuseFailAlloc_1916_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1916_, 0, v___x_1908_);
v___x_1910_ = v_reuseFailAlloc_1916_;
goto v_reusejp_1909_;
}
v_reusejp_1909_:
{
lean_object* v___x_1911_; lean_object* v___x_1912_; lean_object* v___x_1913_; lean_object* v___f_1914_; lean_object* v___x_1915_; 
v___x_1911_ = lean_box(v___y_1875_);
v___x_1912_ = lean_box(v___x_1888_);
v___x_1913_ = lean_box(v___x_1879_);
lean_inc_ref(v___x_1910_);
v___f_1914_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__3___boxed), 25, 18);
lean_closure_set(v___f_1914_, 0, v___x_1907_);
lean_closure_set(v___f_1914_, 1, v___x_1868_);
lean_closure_set(v___f_1914_, 2, v_val_1869_);
lean_closure_set(v___f_1914_, 3, v_P_1870_);
lean_closure_set(v___f_1914_, 4, v_xs1_1871_);
lean_closure_set(v___f_1914_, 5, v_xs2_1872_);
lean_closure_set(v___f_1914_, 6, v_indName_1873_);
lean_closure_set(v___f_1914_, 7, v___x_1874_);
lean_closure_set(v___f_1914_, 8, v___x_1901_);
lean_closure_set(v___f_1914_, 9, v___x_1911_);
lean_closure_set(v___f_1914_, 10, v___x_1876_);
lean_closure_set(v___f_1914_, 11, v_tail_1877_);
lean_closure_set(v___f_1914_, 12, v___x_1878_);
lean_closure_set(v___f_1914_, 13, v___x_1892_);
lean_closure_set(v___f_1914_, 14, v___x_1912_);
lean_closure_set(v___f_1914_, 15, v___x_1913_);
lean_closure_set(v___f_1914_, 16, v_a_1903_);
lean_closure_set(v___f_1914_, 17, v___x_1910_);
v___x_1915_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___redArg(v_a_1895_, v___x_1910_, v___f_1914_, v___x_1888_, v___x_1888_, v___y_1880_, v___y_1881_, v___y_1882_, v___y_1883_);
return v___x_1915_;
}
}
}
else
{
lean_dec_ref(v___x_1901_);
lean_dec(v_a_1895_);
lean_dec_ref(v___x_1892_);
lean_dec(v_a_1890_);
lean_dec(v___y_1883_);
lean_dec_ref(v___y_1882_);
lean_dec(v___y_1881_);
lean_dec_ref(v___y_1880_);
lean_dec_ref(v___x_1878_);
lean_dec(v_tail_1877_);
lean_dec_ref(v___x_1876_);
lean_dec(v___x_1874_);
lean_dec(v_indName_1873_);
lean_dec_ref(v_xs2_1872_);
lean_dec_ref(v_xs1_1871_);
lean_dec_ref(v_P_1870_);
lean_dec_ref(v_val_1869_);
lean_dec(v___x_1868_);
lean_dec_ref(v___x_1866_);
return v___x_1902_;
}
}
else
{
lean_dec(v_a_1895_);
lean_dec_ref(v___x_1892_);
lean_dec(v_a_1890_);
lean_dec(v___y_1883_);
lean_dec_ref(v___y_1882_);
lean_dec(v___y_1881_);
lean_dec_ref(v___y_1880_);
lean_dec_ref(v___x_1878_);
lean_dec(v_tail_1877_);
lean_dec_ref(v___x_1876_);
lean_dec(v___x_1874_);
lean_dec(v_indName_1873_);
lean_dec_ref(v_xs2_1872_);
lean_dec_ref(v_xs1_1871_);
lean_dec_ref(v_P_1870_);
lean_dec_ref(v_val_1869_);
lean_dec(v___x_1868_);
lean_dec_ref(v___x_1866_);
lean_dec_ref(v_t2_1865_);
return v___x_1899_;
}
}
else
{
lean_dec(v_a_1895_);
lean_dec_ref(v___x_1892_);
lean_dec(v_a_1890_);
lean_dec(v___y_1883_);
lean_dec_ref(v___y_1882_);
lean_dec(v___y_1881_);
lean_dec_ref(v___y_1880_);
lean_dec_ref(v___x_1878_);
lean_dec(v_tail_1877_);
lean_dec_ref(v___x_1876_);
lean_dec(v___x_1874_);
lean_dec(v_indName_1873_);
lean_dec_ref(v_xs2_1872_);
lean_dec_ref(v_xs1_1871_);
lean_dec_ref(v_P_1870_);
lean_dec_ref(v_val_1869_);
lean_dec(v___x_1868_);
lean_dec_ref(v___x_1866_);
lean_dec_ref(v_t2_1865_);
lean_dec_ref(v___f_1864_);
return v___x_1896_;
}
}
else
{
lean_dec_ref(v___x_1892_);
lean_dec(v_a_1890_);
lean_dec(v___y_1883_);
lean_dec_ref(v___y_1882_);
lean_dec(v___y_1881_);
lean_dec_ref(v___y_1880_);
lean_dec_ref(v___x_1878_);
lean_dec(v_tail_1877_);
lean_dec_ref(v___x_1876_);
lean_dec(v___x_1874_);
lean_dec(v_indName_1873_);
lean_dec_ref(v_xs2_1872_);
lean_dec_ref(v_xs1_1871_);
lean_dec_ref(v_P_1870_);
lean_dec_ref(v_val_1869_);
lean_dec(v___x_1868_);
lean_dec_ref(v___x_1866_);
lean_dec_ref(v_t2_1865_);
lean_dec_ref(v___f_1864_);
return v___x_1894_;
}
}
else
{
lean_dec(v___y_1883_);
lean_dec_ref(v___y_1882_);
lean_dec(v___y_1881_);
lean_dec_ref(v___y_1880_);
lean_dec_ref(v___x_1878_);
lean_dec(v_tail_1877_);
lean_dec_ref(v___x_1876_);
lean_dec(v___x_1874_);
lean_dec(v_indName_1873_);
lean_dec_ref(v_xs2_1872_);
lean_dec_ref(v_xs1_1871_);
lean_dec_ref(v_P_1870_);
lean_dec_ref(v_val_1869_);
lean_dec(v___x_1868_);
lean_dec_ref(v___x_1866_);
lean_dec_ref(v_t2_1865_);
lean_dec_ref(v___f_1864_);
lean_dec_ref(v_t1_1863_);
return v___x_1889_;
}
}
else
{
lean_dec(v___y_1883_);
lean_dec_ref(v___y_1882_);
lean_dec(v___y_1881_);
lean_dec_ref(v___y_1880_);
lean_dec_ref(v___x_1878_);
lean_dec(v_tail_1877_);
lean_dec_ref(v___x_1876_);
lean_dec(v___x_1874_);
lean_dec(v_indName_1873_);
lean_dec_ref(v_xs2_1872_);
lean_dec_ref(v_xs1_1871_);
lean_dec_ref(v_P_1870_);
lean_dec_ref(v_val_1869_);
lean_dec(v___x_1868_);
lean_dec_ref(v___x_1866_);
lean_dec_ref(v_t2_1865_);
lean_dec_ref(v___f_1864_);
lean_dec_ref(v_t1_1863_);
return v___x_1885_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__4___boxed(lean_object** _args){
lean_object* v_t1_1918_ = _args[0];
lean_object* v___f_1919_ = _args[1];
lean_object* v_t2_1920_ = _args[2];
lean_object* v___x_1921_ = _args[3];
lean_object* v_numIndices_1922_ = _args[4];
lean_object* v___x_1923_ = _args[5];
lean_object* v_val_1924_ = _args[6];
lean_object* v_P_1925_ = _args[7];
lean_object* v_xs1_1926_ = _args[8];
lean_object* v_xs2_1927_ = _args[9];
lean_object* v_indName_1928_ = _args[10];
lean_object* v___x_1929_ = _args[11];
lean_object* v___y_1930_ = _args[12];
lean_object* v___x_1931_ = _args[13];
lean_object* v_tail_1932_ = _args[14];
lean_object* v___x_1933_ = _args[15];
lean_object* v___x_1934_ = _args[16];
lean_object* v___y_1935_ = _args[17];
lean_object* v___y_1936_ = _args[18];
lean_object* v___y_1937_ = _args[19];
lean_object* v___y_1938_ = _args[20];
lean_object* v___y_1939_ = _args[21];
_start:
{
uint8_t v___y_17747__boxed_1940_; uint8_t v___x_17751__boxed_1941_; lean_object* v_res_1942_; 
v___y_17747__boxed_1940_ = lean_unbox(v___y_1930_);
v___x_17751__boxed_1941_ = lean_unbox(v___x_1934_);
v_res_1942_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__4(v_t1_1918_, v___f_1919_, v_t2_1920_, v___x_1921_, v_numIndices_1922_, v___x_1923_, v_val_1924_, v_P_1925_, v_xs1_1926_, v_xs2_1927_, v_indName_1928_, v___x_1929_, v___y_17747__boxed_1940_, v___x_1931_, v_tail_1932_, v___x_1933_, v___x_17751__boxed_1941_, v___y_1935_, v___y_1936_, v___y_1937_, v___y_1938_);
lean_dec(v_numIndices_1922_);
return v_res_1942_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__5(lean_object* v___x_1943_, lean_object* v_xs1_1944_, lean_object* v_t1_1945_, lean_object* v___f_1946_, lean_object* v_numIndices_1947_, lean_object* v___x_1948_, lean_object* v_val_1949_, lean_object* v_P_1950_, lean_object* v_indName_1951_, lean_object* v___x_1952_, uint8_t v___y_1953_, lean_object* v_tail_1954_, lean_object* v___x_1955_, uint8_t v___x_1956_, lean_object* v_xs2_1957_, lean_object* v_t2_1958_, lean_object* v___y_1959_, lean_object* v___y_1960_, lean_object* v___y_1961_, lean_object* v___y_1962_){
_start:
{
lean_object* v___x_1964_; lean_object* v___x_1965_; lean_object* v___x_1966_; lean_object* v___f_1967_; lean_object* v___x_1968_; 
lean_inc_ref(v___x_1943_);
v___x_1964_ = l_Lean_mkAppN(v___x_1943_, v_xs1_1944_);
v___x_1965_ = lean_box(v___y_1953_);
v___x_1966_ = lean_box(v___x_1956_);
lean_inc_ref(v_xs2_1957_);
v___f_1967_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__4___boxed), 22, 17);
lean_closure_set(v___f_1967_, 0, v_t1_1945_);
lean_closure_set(v___f_1967_, 1, v___f_1946_);
lean_closure_set(v___f_1967_, 2, v_t2_1958_);
lean_closure_set(v___f_1967_, 3, v___x_1964_);
lean_closure_set(v___f_1967_, 4, v_numIndices_1947_);
lean_closure_set(v___f_1967_, 5, v___x_1948_);
lean_closure_set(v___f_1967_, 6, v_val_1949_);
lean_closure_set(v___f_1967_, 7, v_P_1950_);
lean_closure_set(v___f_1967_, 8, v_xs1_1944_);
lean_closure_set(v___f_1967_, 9, v_xs2_1957_);
lean_closure_set(v___f_1967_, 10, v_indName_1951_);
lean_closure_set(v___f_1967_, 11, v___x_1952_);
lean_closure_set(v___f_1967_, 12, v___x_1965_);
lean_closure_set(v___f_1967_, 13, v___x_1943_);
lean_closure_set(v___f_1967_, 14, v_tail_1954_);
lean_closure_set(v___f_1967_, 15, v___x_1955_);
lean_closure_set(v___f_1967_, 16, v___x_1966_);
v___x_1968_ = l_Lean_Meta_withPrimedNames___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__2___redArg(v_xs2_1957_, v___f_1967_, v___y_1959_, v___y_1960_, v___y_1961_, v___y_1962_);
return v___x_1968_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__5___boxed(lean_object** _args){
lean_object* v___x_1969_ = _args[0];
lean_object* v_xs1_1970_ = _args[1];
lean_object* v_t1_1971_ = _args[2];
lean_object* v___f_1972_ = _args[3];
lean_object* v_numIndices_1973_ = _args[4];
lean_object* v___x_1974_ = _args[5];
lean_object* v_val_1975_ = _args[6];
lean_object* v_P_1976_ = _args[7];
lean_object* v_indName_1977_ = _args[8];
lean_object* v___x_1978_ = _args[9];
lean_object* v___y_1979_ = _args[10];
lean_object* v_tail_1980_ = _args[11];
lean_object* v___x_1981_ = _args[12];
lean_object* v___x_1982_ = _args[13];
lean_object* v_xs2_1983_ = _args[14];
lean_object* v_t2_1984_ = _args[15];
lean_object* v___y_1985_ = _args[16];
lean_object* v___y_1986_ = _args[17];
lean_object* v___y_1987_ = _args[18];
lean_object* v___y_1988_ = _args[19];
lean_object* v___y_1989_ = _args[20];
_start:
{
uint8_t v___y_17864__boxed_1990_; uint8_t v___x_17867__boxed_1991_; lean_object* v_res_1992_; 
v___y_17864__boxed_1990_ = lean_unbox(v___y_1979_);
v___x_17867__boxed_1991_ = lean_unbox(v___x_1982_);
v_res_1992_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__5(v___x_1969_, v_xs1_1970_, v_t1_1971_, v___f_1972_, v_numIndices_1973_, v___x_1974_, v_val_1975_, v_P_1976_, v_indName_1977_, v___x_1978_, v___y_17864__boxed_1990_, v_tail_1980_, v___x_1981_, v___x_17867__boxed_1991_, v_xs2_1983_, v_t2_1984_, v___y_1985_, v___y_1986_, v___y_1987_, v___y_1988_);
return v_res_1992_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__6(lean_object* v___x_1993_, lean_object* v___f_1994_, lean_object* v_numIndices_1995_, lean_object* v___x_1996_, lean_object* v_val_1997_, lean_object* v_P_1998_, lean_object* v_indName_1999_, lean_object* v___x_2000_, uint8_t v___y_2001_, lean_object* v_tail_2002_, lean_object* v___x_2003_, uint8_t v___x_2004_, lean_object* v_a_2005_, lean_object* v___x_2006_, lean_object* v_xs1_2007_, lean_object* v_t1_2008_, lean_object* v___y_2009_, lean_object* v___y_2010_, lean_object* v___y_2011_, lean_object* v___y_2012_){
_start:
{
lean_object* v___x_2014_; lean_object* v___x_2015_; lean_object* v___f_2016_; uint8_t v___x_2017_; lean_object* v___x_2018_; 
v___x_2014_ = lean_box(v___y_2001_);
v___x_2015_ = lean_box(v___x_2004_);
v___f_2016_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__5___boxed), 21, 14);
lean_closure_set(v___f_2016_, 0, v___x_1993_);
lean_closure_set(v___f_2016_, 1, v_xs1_2007_);
lean_closure_set(v___f_2016_, 2, v_t1_2008_);
lean_closure_set(v___f_2016_, 3, v___f_1994_);
lean_closure_set(v___f_2016_, 4, v_numIndices_1995_);
lean_closure_set(v___f_2016_, 5, v___x_1996_);
lean_closure_set(v___f_2016_, 6, v_val_1997_);
lean_closure_set(v___f_2016_, 7, v_P_1998_);
lean_closure_set(v___f_2016_, 8, v_indName_1999_);
lean_closure_set(v___f_2016_, 9, v___x_2000_);
lean_closure_set(v___f_2016_, 10, v___x_2014_);
lean_closure_set(v___f_2016_, 11, v_tail_2002_);
lean_closure_set(v___f_2016_, 12, v___x_2003_);
lean_closure_set(v___f_2016_, 13, v___x_2015_);
v___x_2017_ = 0;
v___x_2018_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___redArg(v_a_2005_, v___x_2006_, v___f_2016_, v___x_2017_, v___x_2017_, v___y_2009_, v___y_2010_, v___y_2011_, v___y_2012_);
return v___x_2018_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__6___boxed(lean_object** _args){
lean_object* v___x_2019_ = _args[0];
lean_object* v___f_2020_ = _args[1];
lean_object* v_numIndices_2021_ = _args[2];
lean_object* v___x_2022_ = _args[3];
lean_object* v_val_2023_ = _args[4];
lean_object* v_P_2024_ = _args[5];
lean_object* v_indName_2025_ = _args[6];
lean_object* v___x_2026_ = _args[7];
lean_object* v___y_2027_ = _args[8];
lean_object* v_tail_2028_ = _args[9];
lean_object* v___x_2029_ = _args[10];
lean_object* v___x_2030_ = _args[11];
lean_object* v_a_2031_ = _args[12];
lean_object* v___x_2032_ = _args[13];
lean_object* v_xs1_2033_ = _args[14];
lean_object* v_t1_2034_ = _args[15];
lean_object* v___y_2035_ = _args[16];
lean_object* v___y_2036_ = _args[17];
lean_object* v___y_2037_ = _args[18];
lean_object* v___y_2038_ = _args[19];
lean_object* v___y_2039_ = _args[20];
_start:
{
uint8_t v___y_17916__boxed_2040_; uint8_t v___x_17919__boxed_2041_; lean_object* v_res_2042_; 
v___y_17916__boxed_2040_ = lean_unbox(v___y_2027_);
v___x_17919__boxed_2041_ = lean_unbox(v___x_2030_);
v_res_2042_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__6(v___x_2019_, v___f_2020_, v_numIndices_2021_, v___x_2022_, v_val_2023_, v_P_2024_, v_indName_2025_, v___x_2026_, v___y_17916__boxed_2040_, v_tail_2028_, v___x_2029_, v___x_17919__boxed_2041_, v_a_2031_, v___x_2032_, v_xs1_2033_, v_t1_2034_, v___y_2035_, v___y_2036_, v___y_2037_, v___y_2038_);
return v_res_2042_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__7(lean_object* v_val_2043_, lean_object* v___x_2044_, lean_object* v___f_2045_, lean_object* v___x_2046_, lean_object* v_indName_2047_, lean_object* v___x_2048_, uint8_t v___y_2049_, lean_object* v_tail_2050_, lean_object* v___x_2051_, uint8_t v___x_2052_, lean_object* v_a_2053_, lean_object* v_P_2054_, lean_object* v___y_2055_, lean_object* v___y_2056_, lean_object* v___y_2057_, lean_object* v___y_2058_){
_start:
{
lean_object* v_numParams_2060_; lean_object* v_numIndices_2061_; lean_object* v___x_2062_; lean_object* v___x_2063_; lean_object* v___x_2064_; lean_object* v___f_2065_; uint8_t v___x_2066_; lean_object* v___x_2067_; 
v_numParams_2060_ = lean_ctor_get(v_val_2043_, 1);
v_numIndices_2061_ = lean_ctor_get(v_val_2043_, 2);
lean_inc(v_numIndices_2061_);
lean_inc(v_numParams_2060_);
v___x_2062_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_2062_, 0, v_numParams_2060_);
v___x_2063_ = lean_box(v___y_2049_);
v___x_2064_ = lean_box(v___x_2052_);
lean_inc_ref(v___x_2062_);
lean_inc_ref(v_a_2053_);
v___f_2065_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__6___boxed), 21, 14);
lean_closure_set(v___f_2065_, 0, v___x_2044_);
lean_closure_set(v___f_2065_, 1, v___f_2045_);
lean_closure_set(v___f_2065_, 2, v_numIndices_2061_);
lean_closure_set(v___f_2065_, 3, v___x_2046_);
lean_closure_set(v___f_2065_, 4, v_val_2043_);
lean_closure_set(v___f_2065_, 5, v_P_2054_);
lean_closure_set(v___f_2065_, 6, v_indName_2047_);
lean_closure_set(v___f_2065_, 7, v___x_2048_);
lean_closure_set(v___f_2065_, 8, v___x_2063_);
lean_closure_set(v___f_2065_, 9, v_tail_2050_);
lean_closure_set(v___f_2065_, 10, v___x_2051_);
lean_closure_set(v___f_2065_, 11, v___x_2064_);
lean_closure_set(v___f_2065_, 12, v_a_2053_);
lean_closure_set(v___f_2065_, 13, v___x_2062_);
v___x_2066_ = 0;
v___x_2067_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___redArg(v_a_2053_, v___x_2062_, v___f_2065_, v___x_2066_, v___x_2066_, v___y_2055_, v___y_2056_, v___y_2057_, v___y_2058_);
return v___x_2067_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__7___boxed(lean_object** _args){
lean_object* v_val_2068_ = _args[0];
lean_object* v___x_2069_ = _args[1];
lean_object* v___f_2070_ = _args[2];
lean_object* v___x_2071_ = _args[3];
lean_object* v_indName_2072_ = _args[4];
lean_object* v___x_2073_ = _args[5];
lean_object* v___y_2074_ = _args[6];
lean_object* v_tail_2075_ = _args[7];
lean_object* v___x_2076_ = _args[8];
lean_object* v___x_2077_ = _args[9];
lean_object* v_a_2078_ = _args[10];
lean_object* v_P_2079_ = _args[11];
lean_object* v___y_2080_ = _args[12];
lean_object* v___y_2081_ = _args[13];
lean_object* v___y_2082_ = _args[14];
lean_object* v___y_2083_ = _args[15];
lean_object* v___y_2084_ = _args[16];
_start:
{
uint8_t v___y_17974__boxed_2085_; uint8_t v___x_17977__boxed_2086_; lean_object* v_res_2087_; 
v___y_17974__boxed_2085_ = lean_unbox(v___y_2074_);
v___x_17977__boxed_2086_ = lean_unbox(v___x_2077_);
v_res_2087_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__7(v_val_2068_, v___x_2069_, v___f_2070_, v___x_2071_, v_indName_2072_, v___x_2073_, v___y_17974__boxed_2085_, v_tail_2075_, v___x_2076_, v___x_17977__boxed_2086_, v_a_2078_, v_P_2079_, v___y_2080_, v___y_2081_, v___y_2082_, v___y_2083_);
return v_res_2087_;
}
}
static lean_object* _init_l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__0(void){
_start:
{
lean_object* v___x_2088_; 
v___x_2088_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
return v___x_2088_;
}
}
static lean_object* _init_l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__1(void){
_start:
{
lean_object* v___x_2089_; lean_object* v___x_2090_; 
v___x_2089_ = lean_obj_once(&l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__0, &l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__0_once, _init_l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__0);
v___x_2090_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2090_, 0, v___x_2089_);
return v___x_2090_;
}
}
static lean_object* _init_l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__2(void){
_start:
{
lean_object* v___x_2091_; lean_object* v___x_2092_; 
v___x_2091_ = lean_obj_once(&l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__1, &l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__1_once, _init_l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__1);
v___x_2092_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_2092_, 0, v___x_2091_);
lean_ctor_set(v___x_2092_, 1, v___x_2091_);
return v___x_2092_;
}
}
static lean_object* _init_l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__3(void){
_start:
{
lean_object* v___x_2093_; lean_object* v___x_2094_; 
v___x_2093_ = lean_obj_once(&l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__1, &l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__1_once, _init_l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__1);
v___x_2094_ = lean_alloc_ctor(0, 6, 0);
lean_ctor_set(v___x_2094_, 0, v___x_2093_);
lean_ctor_set(v___x_2094_, 1, v___x_2093_);
lean_ctor_set(v___x_2094_, 2, v___x_2093_);
lean_ctor_set(v___x_2094_, 3, v___x_2093_);
lean_ctor_set(v___x_2094_, 4, v___x_2093_);
lean_ctor_set(v___x_2094_, 5, v___x_2093_);
return v___x_2094_;
}
}
LEAN_EXPORT lean_object* l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg(lean_object* v_declName_2095_, uint8_t v_s_2096_, lean_object* v___y_2097_, lean_object* v___y_2098_){
_start:
{
lean_object* v___x_2100_; lean_object* v_env_2101_; lean_object* v_nextMacroScope_2102_; lean_object* v_ngen_2103_; lean_object* v_auxDeclNGen_2104_; lean_object* v_traceState_2105_; lean_object* v_messages_2106_; lean_object* v_infoState_2107_; lean_object* v_snapshotTasks_2108_; lean_object* v___x_2110_; uint8_t v_isShared_2111_; uint8_t v_isSharedCheck_2137_; 
v___x_2100_ = lean_st_ref_take(v___y_2098_);
v_env_2101_ = lean_ctor_get(v___x_2100_, 0);
v_nextMacroScope_2102_ = lean_ctor_get(v___x_2100_, 1);
v_ngen_2103_ = lean_ctor_get(v___x_2100_, 2);
v_auxDeclNGen_2104_ = lean_ctor_get(v___x_2100_, 3);
v_traceState_2105_ = lean_ctor_get(v___x_2100_, 4);
v_messages_2106_ = lean_ctor_get(v___x_2100_, 6);
v_infoState_2107_ = lean_ctor_get(v___x_2100_, 7);
v_snapshotTasks_2108_ = lean_ctor_get(v___x_2100_, 8);
v_isSharedCheck_2137_ = !lean_is_exclusive(v___x_2100_);
if (v_isSharedCheck_2137_ == 0)
{
lean_object* v_unused_2138_; 
v_unused_2138_ = lean_ctor_get(v___x_2100_, 5);
lean_dec(v_unused_2138_);
v___x_2110_ = v___x_2100_;
v_isShared_2111_ = v_isSharedCheck_2137_;
goto v_resetjp_2109_;
}
else
{
lean_inc(v_snapshotTasks_2108_);
lean_inc(v_infoState_2107_);
lean_inc(v_messages_2106_);
lean_inc(v_traceState_2105_);
lean_inc(v_auxDeclNGen_2104_);
lean_inc(v_ngen_2103_);
lean_inc(v_nextMacroScope_2102_);
lean_inc(v_env_2101_);
lean_dec(v___x_2100_);
v___x_2110_ = lean_box(0);
v_isShared_2111_ = v_isSharedCheck_2137_;
goto v_resetjp_2109_;
}
v_resetjp_2109_:
{
uint8_t v___x_2112_; lean_object* v___x_2113_; lean_object* v___x_2114_; lean_object* v___x_2115_; lean_object* v___x_2117_; 
v___x_2112_ = 0;
v___x_2113_ = lean_box(0);
v___x_2114_ = l___private_Lean_ReducibilityAttrs_0__Lean_setReducibilityStatusCore(v_env_2101_, v_declName_2095_, v_s_2096_, v___x_2112_, v___x_2113_);
v___x_2115_ = lean_obj_once(&l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__2, &l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__2_once, _init_l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__2);
if (v_isShared_2111_ == 0)
{
lean_ctor_set(v___x_2110_, 5, v___x_2115_);
lean_ctor_set(v___x_2110_, 0, v___x_2114_);
v___x_2117_ = v___x_2110_;
goto v_reusejp_2116_;
}
else
{
lean_object* v_reuseFailAlloc_2136_; 
v_reuseFailAlloc_2136_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_2136_, 0, v___x_2114_);
lean_ctor_set(v_reuseFailAlloc_2136_, 1, v_nextMacroScope_2102_);
lean_ctor_set(v_reuseFailAlloc_2136_, 2, v_ngen_2103_);
lean_ctor_set(v_reuseFailAlloc_2136_, 3, v_auxDeclNGen_2104_);
lean_ctor_set(v_reuseFailAlloc_2136_, 4, v_traceState_2105_);
lean_ctor_set(v_reuseFailAlloc_2136_, 5, v___x_2115_);
lean_ctor_set(v_reuseFailAlloc_2136_, 6, v_messages_2106_);
lean_ctor_set(v_reuseFailAlloc_2136_, 7, v_infoState_2107_);
lean_ctor_set(v_reuseFailAlloc_2136_, 8, v_snapshotTasks_2108_);
v___x_2117_ = v_reuseFailAlloc_2136_;
goto v_reusejp_2116_;
}
v_reusejp_2116_:
{
lean_object* v___x_2118_; lean_object* v___x_2119_; lean_object* v_mctx_2120_; lean_object* v_zetaDeltaFVarIds_2121_; lean_object* v_postponed_2122_; lean_object* v_diag_2123_; lean_object* v___x_2125_; uint8_t v_isShared_2126_; uint8_t v_isSharedCheck_2134_; 
v___x_2118_ = lean_st_ref_set(v___y_2098_, v___x_2117_);
v___x_2119_ = lean_st_ref_take(v___y_2097_);
v_mctx_2120_ = lean_ctor_get(v___x_2119_, 0);
v_zetaDeltaFVarIds_2121_ = lean_ctor_get(v___x_2119_, 2);
v_postponed_2122_ = lean_ctor_get(v___x_2119_, 3);
v_diag_2123_ = lean_ctor_get(v___x_2119_, 4);
v_isSharedCheck_2134_ = !lean_is_exclusive(v___x_2119_);
if (v_isSharedCheck_2134_ == 0)
{
lean_object* v_unused_2135_; 
v_unused_2135_ = lean_ctor_get(v___x_2119_, 1);
lean_dec(v_unused_2135_);
v___x_2125_ = v___x_2119_;
v_isShared_2126_ = v_isSharedCheck_2134_;
goto v_resetjp_2124_;
}
else
{
lean_inc(v_diag_2123_);
lean_inc(v_postponed_2122_);
lean_inc(v_zetaDeltaFVarIds_2121_);
lean_inc(v_mctx_2120_);
lean_dec(v___x_2119_);
v___x_2125_ = lean_box(0);
v_isShared_2126_ = v_isSharedCheck_2134_;
goto v_resetjp_2124_;
}
v_resetjp_2124_:
{
lean_object* v___x_2127_; lean_object* v___x_2129_; 
v___x_2127_ = lean_obj_once(&l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__3, &l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__3_once, _init_l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__3);
if (v_isShared_2126_ == 0)
{
lean_ctor_set(v___x_2125_, 1, v___x_2127_);
v___x_2129_ = v___x_2125_;
goto v_reusejp_2128_;
}
else
{
lean_object* v_reuseFailAlloc_2133_; 
v_reuseFailAlloc_2133_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_2133_, 0, v_mctx_2120_);
lean_ctor_set(v_reuseFailAlloc_2133_, 1, v___x_2127_);
lean_ctor_set(v_reuseFailAlloc_2133_, 2, v_zetaDeltaFVarIds_2121_);
lean_ctor_set(v_reuseFailAlloc_2133_, 3, v_postponed_2122_);
lean_ctor_set(v_reuseFailAlloc_2133_, 4, v_diag_2123_);
v___x_2129_ = v_reuseFailAlloc_2133_;
goto v_reusejp_2128_;
}
v_reusejp_2128_:
{
lean_object* v___x_2130_; lean_object* v___x_2131_; lean_object* v___x_2132_; 
v___x_2130_ = lean_st_ref_set(v___y_2097_, v___x_2129_);
v___x_2131_ = lean_box(0);
v___x_2132_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2132_, 0, v___x_2131_);
return v___x_2132_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___boxed(lean_object* v_declName_2139_, lean_object* v_s_2140_, lean_object* v___y_2141_, lean_object* v___y_2142_, lean_object* v___y_2143_){
_start:
{
uint8_t v_s_boxed_2144_; lean_object* v_res_2145_; 
v_s_boxed_2144_ = lean_unbox(v_s_2140_);
v_res_2145_ = l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg(v_declName_2139_, v_s_boxed_2144_, v___y_2141_, v___y_2142_);
lean_dec(v___y_2142_);
lean_dec(v___y_2141_);
return v_res_2145_;
}
}
LEAN_EXPORT lean_object* l_Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7(lean_object* v_declName_2146_, lean_object* v___y_2147_, lean_object* v___y_2148_, lean_object* v___y_2149_, lean_object* v___y_2150_){
_start:
{
uint8_t v___x_2152_; lean_object* v___x_2153_; 
v___x_2152_ = 0;
v___x_2153_ = l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg(v_declName_2146_, v___x_2152_, v___y_2148_, v___y_2150_);
return v___x_2153_;
}
}
LEAN_EXPORT lean_object* l_Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7___boxed(lean_object* v_declName_2154_, lean_object* v___y_2155_, lean_object* v___y_2156_, lean_object* v___y_2157_, lean_object* v___y_2158_, lean_object* v___y_2159_){
_start:
{
lean_object* v_res_2160_; 
v_res_2160_ = l_Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7(v_declName_2154_, v___y_2155_, v___y_2156_, v___y_2157_, v___y_2158_);
lean_dec(v___y_2158_);
lean_dec_ref(v___y_2157_);
lean_dec(v___y_2156_);
lean_dec_ref(v___y_2155_);
return v_res_2160_;
}
}
LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__2(lean_object* v_a_2161_, lean_object* v_a_2162_){
_start:
{
if (lean_obj_tag(v_a_2161_) == 0)
{
lean_object* v___x_2163_; 
v___x_2163_ = l_List_reverse___redArg(v_a_2162_);
return v___x_2163_;
}
else
{
lean_object* v_head_2164_; lean_object* v_tail_2165_; lean_object* v___x_2167_; uint8_t v_isShared_2168_; uint8_t v_isSharedCheck_2174_; 
v_head_2164_ = lean_ctor_get(v_a_2161_, 0);
v_tail_2165_ = lean_ctor_get(v_a_2161_, 1);
v_isSharedCheck_2174_ = !lean_is_exclusive(v_a_2161_);
if (v_isSharedCheck_2174_ == 0)
{
v___x_2167_ = v_a_2161_;
v_isShared_2168_ = v_isSharedCheck_2174_;
goto v_resetjp_2166_;
}
else
{
lean_inc(v_tail_2165_);
lean_inc(v_head_2164_);
lean_dec(v_a_2161_);
v___x_2167_ = lean_box(0);
v_isShared_2168_ = v_isSharedCheck_2174_;
goto v_resetjp_2166_;
}
v_resetjp_2166_:
{
lean_object* v___x_2169_; lean_object* v___x_2171_; 
v___x_2169_ = l_Lean_mkLevelParam(v_head_2164_);
if (v_isShared_2168_ == 0)
{
lean_ctor_set(v___x_2167_, 1, v_a_2162_);
lean_ctor_set(v___x_2167_, 0, v___x_2169_);
v___x_2171_ = v___x_2167_;
goto v_reusejp_2170_;
}
else
{
lean_object* v_reuseFailAlloc_2173_; 
v_reuseFailAlloc_2173_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2173_, 0, v___x_2169_);
lean_ctor_set(v_reuseFailAlloc_2173_, 1, v_a_2162_);
v___x_2171_ = v_reuseFailAlloc_2173_;
goto v_reusejp_2170_;
}
v_reusejp_2170_:
{
v_a_2161_ = v_tail_2165_;
v_a_2162_ = v___x_2171_;
goto _start;
}
}
}
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__0(void){
_start:
{
lean_object* v___x_2175_; 
v___x_2175_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
return v___x_2175_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__1(void){
_start:
{
lean_object* v___x_2176_; lean_object* v___x_2177_; 
v___x_2176_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__0, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__0_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__0);
v___x_2177_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2177_, 0, v___x_2176_);
return v___x_2177_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__2(void){
_start:
{
lean_object* v___x_2178_; lean_object* v___x_2179_; lean_object* v___x_2180_; 
v___x_2178_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__1, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__1_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__1);
v___x_2179_ = lean_unsigned_to_nat(0u);
v___x_2180_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v___x_2180_, 0, v___x_2179_);
lean_ctor_set(v___x_2180_, 1, v___x_2179_);
lean_ctor_set(v___x_2180_, 2, v___x_2179_);
lean_ctor_set(v___x_2180_, 3, v___x_2178_);
lean_ctor_set(v___x_2180_, 4, v___x_2178_);
lean_ctor_set(v___x_2180_, 5, v___x_2178_);
lean_ctor_set(v___x_2180_, 6, v___x_2178_);
lean_ctor_set(v___x_2180_, 7, v___x_2178_);
lean_ctor_set(v___x_2180_, 8, v___x_2178_);
return v___x_2180_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__3(void){
_start:
{
lean_object* v___x_2181_; lean_object* v___x_2182_; lean_object* v___x_2183_; 
v___x_2181_ = lean_unsigned_to_nat(32u);
v___x_2182_ = lean_mk_empty_array_with_capacity(v___x_2181_);
v___x_2183_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2183_, 0, v___x_2182_);
return v___x_2183_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__4(void){
_start:
{
size_t v___x_2184_; lean_object* v___x_2185_; lean_object* v___x_2186_; lean_object* v___x_2187_; lean_object* v___x_2188_; lean_object* v___x_2189_; 
v___x_2184_ = ((size_t)5ULL);
v___x_2185_ = lean_unsigned_to_nat(0u);
v___x_2186_ = lean_unsigned_to_nat(32u);
v___x_2187_ = lean_mk_empty_array_with_capacity(v___x_2186_);
v___x_2188_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__3, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__3_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__3);
v___x_2189_ = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
lean_ctor_set(v___x_2189_, 0, v___x_2188_);
lean_ctor_set(v___x_2189_, 1, v___x_2187_);
lean_ctor_set(v___x_2189_, 2, v___x_2185_);
lean_ctor_set(v___x_2189_, 3, v___x_2185_);
lean_ctor_set_usize(v___x_2189_, 4, v___x_2184_);
return v___x_2189_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__5(void){
_start:
{
lean_object* v___x_2190_; lean_object* v___x_2191_; lean_object* v___x_2192_; lean_object* v___x_2193_; 
v___x_2190_ = lean_box(1);
v___x_2191_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__4, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__4_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__4);
v___x_2192_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__1, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__1_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__1);
v___x_2193_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v___x_2193_, 0, v___x_2192_);
lean_ctor_set(v___x_2193_, 1, v___x_2191_);
lean_ctor_set(v___x_2193_, 2, v___x_2190_);
return v___x_2193_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__7(void){
_start:
{
lean_object* v___x_2195_; lean_object* v___x_2196_; 
v___x_2195_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__6));
v___x_2196_ = l_Lean_stringToMessageData(v___x_2195_);
return v___x_2196_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__9(void){
_start:
{
lean_object* v___x_2198_; lean_object* v___x_2199_; 
v___x_2198_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__8));
v___x_2199_ = l_Lean_stringToMessageData(v___x_2198_);
return v___x_2199_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__11(void){
_start:
{
lean_object* v___x_2201_; lean_object* v___x_2202_; 
v___x_2201_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__10));
v___x_2202_ = l_Lean_stringToMessageData(v___x_2201_);
return v___x_2202_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__13(void){
_start:
{
lean_object* v___x_2204_; lean_object* v___x_2205_; 
v___x_2204_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__12));
v___x_2205_ = l_Lean_stringToMessageData(v___x_2204_);
return v___x_2205_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__15(void){
_start:
{
lean_object* v___x_2207_; lean_object* v___x_2208_; 
v___x_2207_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__14));
v___x_2208_ = l_Lean_stringToMessageData(v___x_2207_);
return v___x_2208_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__17(void){
_start:
{
lean_object* v___x_2210_; lean_object* v___x_2211_; 
v___x_2210_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__16));
v___x_2211_ = l_Lean_stringToMessageData(v___x_2210_);
return v___x_2211_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__19(void){
_start:
{
lean_object* v___x_2213_; lean_object* v___x_2214_; 
v___x_2213_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__18));
v___x_2214_ = l_Lean_stringToMessageData(v___x_2213_);
return v___x_2214_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg(lean_object* v_msg_2215_, lean_object* v_declHint_2216_, lean_object* v___y_2217_){
_start:
{
lean_object* v___x_2219_; lean_object* v_env_2220_; uint8_t v___x_2221_; 
v___x_2219_ = lean_st_ref_get(v___y_2217_);
v_env_2220_ = lean_ctor_get(v___x_2219_, 0);
lean_inc_ref(v_env_2220_);
lean_dec(v___x_2219_);
v___x_2221_ = l_Lean_Name_isAnonymous(v_declHint_2216_);
if (v___x_2221_ == 0)
{
uint8_t v_isExporting_2222_; 
v_isExporting_2222_ = lean_ctor_get_uint8(v_env_2220_, sizeof(void*)*8);
if (v_isExporting_2222_ == 0)
{
lean_object* v___x_2223_; 
lean_dec_ref(v_env_2220_);
lean_dec(v_declHint_2216_);
v___x_2223_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2223_, 0, v_msg_2215_);
return v___x_2223_;
}
else
{
lean_object* v___x_2224_; uint8_t v___x_2225_; 
lean_inc_ref(v_env_2220_);
v___x_2224_ = l_Lean_Environment_setExporting(v_env_2220_, v___x_2221_);
lean_inc(v_declHint_2216_);
lean_inc_ref(v___x_2224_);
v___x_2225_ = l_Lean_Environment_contains(v___x_2224_, v_declHint_2216_, v_isExporting_2222_);
if (v___x_2225_ == 0)
{
lean_object* v___x_2226_; 
lean_dec_ref(v___x_2224_);
lean_dec_ref(v_env_2220_);
lean_dec(v_declHint_2216_);
v___x_2226_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2226_, 0, v_msg_2215_);
return v___x_2226_;
}
else
{
lean_object* v___x_2227_; lean_object* v___x_2228_; lean_object* v___x_2229_; lean_object* v___x_2230_; lean_object* v___x_2231_; lean_object* v_c_2232_; lean_object* v___x_2233_; 
v___x_2227_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__2, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__2_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__2);
v___x_2228_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__5, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__5_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__5);
v___x_2229_ = l_Lean_Options_empty;
v___x_2230_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_2230_, 0, v___x_2224_);
lean_ctor_set(v___x_2230_, 1, v___x_2227_);
lean_ctor_set(v___x_2230_, 2, v___x_2228_);
lean_ctor_set(v___x_2230_, 3, v___x_2229_);
lean_inc(v_declHint_2216_);
v___x_2231_ = l_Lean_MessageData_ofConstName(v_declHint_2216_, v___x_2221_);
v_c_2232_ = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(v_c_2232_, 0, v___x_2230_);
lean_ctor_set(v_c_2232_, 1, v___x_2231_);
v___x_2233_ = l_Lean_Environment_getModuleIdxFor_x3f(v_env_2220_, v_declHint_2216_);
if (lean_obj_tag(v___x_2233_) == 0)
{
lean_object* v___x_2234_; lean_object* v___x_2235_; lean_object* v___x_2236_; lean_object* v___x_2237_; lean_object* v___x_2238_; lean_object* v___x_2239_; lean_object* v___x_2240_; 
lean_dec_ref(v_env_2220_);
lean_dec(v_declHint_2216_);
v___x_2234_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__7, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__7_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__7);
v___x_2235_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2235_, 0, v___x_2234_);
lean_ctor_set(v___x_2235_, 1, v_c_2232_);
v___x_2236_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__9, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__9_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__9);
v___x_2237_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2237_, 0, v___x_2235_);
lean_ctor_set(v___x_2237_, 1, v___x_2236_);
v___x_2238_ = l_Lean_MessageData_note(v___x_2237_);
v___x_2239_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2239_, 0, v_msg_2215_);
lean_ctor_set(v___x_2239_, 1, v___x_2238_);
v___x_2240_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2240_, 0, v___x_2239_);
return v___x_2240_;
}
else
{
lean_object* v_val_2241_; lean_object* v___x_2243_; uint8_t v_isShared_2244_; uint8_t v_isSharedCheck_2276_; 
v_val_2241_ = lean_ctor_get(v___x_2233_, 0);
v_isSharedCheck_2276_ = !lean_is_exclusive(v___x_2233_);
if (v_isSharedCheck_2276_ == 0)
{
v___x_2243_ = v___x_2233_;
v_isShared_2244_ = v_isSharedCheck_2276_;
goto v_resetjp_2242_;
}
else
{
lean_inc(v_val_2241_);
lean_dec(v___x_2233_);
v___x_2243_ = lean_box(0);
v_isShared_2244_ = v_isSharedCheck_2276_;
goto v_resetjp_2242_;
}
v_resetjp_2242_:
{
lean_object* v___x_2245_; lean_object* v___x_2246_; lean_object* v___x_2247_; lean_object* v_mod_2248_; uint8_t v___x_2249_; 
v___x_2245_ = lean_box(0);
v___x_2246_ = l_Lean_Environment_header(v_env_2220_);
lean_dec_ref(v_env_2220_);
v___x_2247_ = l_Lean_EnvironmentHeader_moduleNames(v___x_2246_);
v_mod_2248_ = lean_array_get(v___x_2245_, v___x_2247_, v_val_2241_);
lean_dec(v_val_2241_);
lean_dec_ref(v___x_2247_);
v___x_2249_ = l_Lean_isPrivateName(v_declHint_2216_);
lean_dec(v_declHint_2216_);
if (v___x_2249_ == 0)
{
lean_object* v___x_2250_; lean_object* v___x_2251_; lean_object* v___x_2252_; lean_object* v___x_2253_; lean_object* v___x_2254_; lean_object* v___x_2255_; lean_object* v___x_2256_; lean_object* v___x_2257_; lean_object* v___x_2258_; lean_object* v___x_2259_; lean_object* v___x_2261_; 
v___x_2250_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__11, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__11_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__11);
v___x_2251_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2251_, 0, v___x_2250_);
lean_ctor_set(v___x_2251_, 1, v_c_2232_);
v___x_2252_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__13, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__13_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__13);
v___x_2253_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2253_, 0, v___x_2251_);
lean_ctor_set(v___x_2253_, 1, v___x_2252_);
v___x_2254_ = l_Lean_MessageData_ofName(v_mod_2248_);
v___x_2255_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2255_, 0, v___x_2253_);
lean_ctor_set(v___x_2255_, 1, v___x_2254_);
v___x_2256_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__15, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__15_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__15);
v___x_2257_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2257_, 0, v___x_2255_);
lean_ctor_set(v___x_2257_, 1, v___x_2256_);
v___x_2258_ = l_Lean_MessageData_note(v___x_2257_);
v___x_2259_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2259_, 0, v_msg_2215_);
lean_ctor_set(v___x_2259_, 1, v___x_2258_);
if (v_isShared_2244_ == 0)
{
lean_ctor_set_tag(v___x_2243_, 0);
lean_ctor_set(v___x_2243_, 0, v___x_2259_);
v___x_2261_ = v___x_2243_;
goto v_reusejp_2260_;
}
else
{
lean_object* v_reuseFailAlloc_2262_; 
v_reuseFailAlloc_2262_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2262_, 0, v___x_2259_);
v___x_2261_ = v_reuseFailAlloc_2262_;
goto v_reusejp_2260_;
}
v_reusejp_2260_:
{
return v___x_2261_;
}
}
else
{
lean_object* v___x_2263_; lean_object* v___x_2264_; lean_object* v___x_2265_; lean_object* v___x_2266_; lean_object* v___x_2267_; lean_object* v___x_2268_; lean_object* v___x_2269_; lean_object* v___x_2270_; lean_object* v___x_2271_; lean_object* v___x_2272_; lean_object* v___x_2274_; 
v___x_2263_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__7, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__7_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__7);
v___x_2264_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2264_, 0, v___x_2263_);
lean_ctor_set(v___x_2264_, 1, v_c_2232_);
v___x_2265_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__17, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__17_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__17);
v___x_2266_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2266_, 0, v___x_2264_);
lean_ctor_set(v___x_2266_, 1, v___x_2265_);
v___x_2267_ = l_Lean_MessageData_ofName(v_mod_2248_);
v___x_2268_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2268_, 0, v___x_2266_);
lean_ctor_set(v___x_2268_, 1, v___x_2267_);
v___x_2269_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__19, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__19_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___closed__19);
v___x_2270_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2270_, 0, v___x_2268_);
lean_ctor_set(v___x_2270_, 1, v___x_2269_);
v___x_2271_ = l_Lean_MessageData_note(v___x_2270_);
v___x_2272_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2272_, 0, v_msg_2215_);
lean_ctor_set(v___x_2272_, 1, v___x_2271_);
if (v_isShared_2244_ == 0)
{
lean_ctor_set_tag(v___x_2243_, 0);
lean_ctor_set(v___x_2243_, 0, v___x_2272_);
v___x_2274_ = v___x_2243_;
goto v_reusejp_2273_;
}
else
{
lean_object* v_reuseFailAlloc_2275_; 
v_reuseFailAlloc_2275_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2275_, 0, v___x_2272_);
v___x_2274_ = v_reuseFailAlloc_2275_;
goto v_reusejp_2273_;
}
v_reusejp_2273_:
{
return v___x_2274_;
}
}
}
}
}
}
}
else
{
lean_object* v___x_2277_; 
lean_dec_ref(v_env_2220_);
lean_dec(v_declHint_2216_);
v___x_2277_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2277_, 0, v_msg_2215_);
return v___x_2277_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg___boxed(lean_object* v_msg_2278_, lean_object* v_declHint_2279_, lean_object* v___y_2280_, lean_object* v___y_2281_){
_start:
{
lean_object* v_res_2282_; 
v_res_2282_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg(v_msg_2278_, v_declHint_2279_, v___y_2280_);
lean_dec(v___y_2280_);
return v_res_2282_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12(lean_object* v_msg_2283_, lean_object* v_declHint_2284_, lean_object* v___y_2285_, lean_object* v___y_2286_, lean_object* v___y_2287_, lean_object* v___y_2288_){
_start:
{
lean_object* v___x_2290_; lean_object* v_a_2291_; lean_object* v___x_2293_; uint8_t v_isShared_2294_; uint8_t v_isSharedCheck_2300_; 
v___x_2290_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg(v_msg_2283_, v_declHint_2284_, v___y_2288_);
v_a_2291_ = lean_ctor_get(v___x_2290_, 0);
v_isSharedCheck_2300_ = !lean_is_exclusive(v___x_2290_);
if (v_isSharedCheck_2300_ == 0)
{
v___x_2293_ = v___x_2290_;
v_isShared_2294_ = v_isSharedCheck_2300_;
goto v_resetjp_2292_;
}
else
{
lean_inc(v_a_2291_);
lean_dec(v___x_2290_);
v___x_2293_ = lean_box(0);
v_isShared_2294_ = v_isSharedCheck_2300_;
goto v_resetjp_2292_;
}
v_resetjp_2292_:
{
lean_object* v___x_2295_; lean_object* v___x_2296_; lean_object* v___x_2298_; 
v___x_2295_ = l_Lean_unknownIdentifierMessageTag;
v___x_2296_ = lean_alloc_ctor(8, 2, 0);
lean_ctor_set(v___x_2296_, 0, v___x_2295_);
lean_ctor_set(v___x_2296_, 1, v_a_2291_);
if (v_isShared_2294_ == 0)
{
lean_ctor_set(v___x_2293_, 0, v___x_2296_);
v___x_2298_ = v___x_2293_;
goto v_reusejp_2297_;
}
else
{
lean_object* v_reuseFailAlloc_2299_; 
v_reuseFailAlloc_2299_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2299_, 0, v___x_2296_);
v___x_2298_ = v_reuseFailAlloc_2299_;
goto v_reusejp_2297_;
}
v_reusejp_2297_:
{
return v___x_2298_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12___boxed(lean_object* v_msg_2301_, lean_object* v_declHint_2302_, lean_object* v___y_2303_, lean_object* v___y_2304_, lean_object* v___y_2305_, lean_object* v___y_2306_, lean_object* v___y_2307_){
_start:
{
lean_object* v_res_2308_; 
v_res_2308_ = l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12(v_msg_2301_, v_declHint_2302_, v___y_2303_, v___y_2304_, v___y_2305_, v___y_2306_);
lean_dec(v___y_2306_);
lean_dec_ref(v___y_2305_);
lean_dec(v___y_2304_);
lean_dec_ref(v___y_2303_);
return v_res_2308_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__13___redArg(lean_object* v_ref_2309_, lean_object* v_msg_2310_, lean_object* v___y_2311_, lean_object* v___y_2312_, lean_object* v___y_2313_, lean_object* v___y_2314_){
_start:
{
lean_object* v_fileName_2316_; lean_object* v_fileMap_2317_; lean_object* v_options_2318_; lean_object* v_currRecDepth_2319_; lean_object* v_maxRecDepth_2320_; lean_object* v_ref_2321_; lean_object* v_currNamespace_2322_; lean_object* v_openDecls_2323_; lean_object* v_initHeartbeats_2324_; lean_object* v_maxHeartbeats_2325_; lean_object* v_quotContext_2326_; lean_object* v_currMacroScope_2327_; uint8_t v_diag_2328_; lean_object* v_cancelTk_x3f_2329_; uint8_t v_suppressElabErrors_2330_; lean_object* v_inheritedTraceOptions_2331_; lean_object* v___x_2333_; uint8_t v_isShared_2334_; uint8_t v_isSharedCheck_2340_; 
v_fileName_2316_ = lean_ctor_get(v___y_2313_, 0);
v_fileMap_2317_ = lean_ctor_get(v___y_2313_, 1);
v_options_2318_ = lean_ctor_get(v___y_2313_, 2);
v_currRecDepth_2319_ = lean_ctor_get(v___y_2313_, 3);
v_maxRecDepth_2320_ = lean_ctor_get(v___y_2313_, 4);
v_ref_2321_ = lean_ctor_get(v___y_2313_, 5);
v_currNamespace_2322_ = lean_ctor_get(v___y_2313_, 6);
v_openDecls_2323_ = lean_ctor_get(v___y_2313_, 7);
v_initHeartbeats_2324_ = lean_ctor_get(v___y_2313_, 8);
v_maxHeartbeats_2325_ = lean_ctor_get(v___y_2313_, 9);
v_quotContext_2326_ = lean_ctor_get(v___y_2313_, 10);
v_currMacroScope_2327_ = lean_ctor_get(v___y_2313_, 11);
v_diag_2328_ = lean_ctor_get_uint8(v___y_2313_, sizeof(void*)*14);
v_cancelTk_x3f_2329_ = lean_ctor_get(v___y_2313_, 12);
v_suppressElabErrors_2330_ = lean_ctor_get_uint8(v___y_2313_, sizeof(void*)*14 + 1);
v_inheritedTraceOptions_2331_ = lean_ctor_get(v___y_2313_, 13);
v_isSharedCheck_2340_ = !lean_is_exclusive(v___y_2313_);
if (v_isSharedCheck_2340_ == 0)
{
v___x_2333_ = v___y_2313_;
v_isShared_2334_ = v_isSharedCheck_2340_;
goto v_resetjp_2332_;
}
else
{
lean_inc(v_inheritedTraceOptions_2331_);
lean_inc(v_cancelTk_x3f_2329_);
lean_inc(v_currMacroScope_2327_);
lean_inc(v_quotContext_2326_);
lean_inc(v_maxHeartbeats_2325_);
lean_inc(v_initHeartbeats_2324_);
lean_inc(v_openDecls_2323_);
lean_inc(v_currNamespace_2322_);
lean_inc(v_ref_2321_);
lean_inc(v_maxRecDepth_2320_);
lean_inc(v_currRecDepth_2319_);
lean_inc(v_options_2318_);
lean_inc(v_fileMap_2317_);
lean_inc(v_fileName_2316_);
lean_dec(v___y_2313_);
v___x_2333_ = lean_box(0);
v_isShared_2334_ = v_isSharedCheck_2340_;
goto v_resetjp_2332_;
}
v_resetjp_2332_:
{
lean_object* v_ref_2335_; lean_object* v___x_2337_; 
v_ref_2335_ = l_Lean_replaceRef(v_ref_2309_, v_ref_2321_);
lean_dec(v_ref_2321_);
if (v_isShared_2334_ == 0)
{
lean_ctor_set(v___x_2333_, 5, v_ref_2335_);
v___x_2337_ = v___x_2333_;
goto v_reusejp_2336_;
}
else
{
lean_object* v_reuseFailAlloc_2339_; 
v_reuseFailAlloc_2339_ = lean_alloc_ctor(0, 14, 2);
lean_ctor_set(v_reuseFailAlloc_2339_, 0, v_fileName_2316_);
lean_ctor_set(v_reuseFailAlloc_2339_, 1, v_fileMap_2317_);
lean_ctor_set(v_reuseFailAlloc_2339_, 2, v_options_2318_);
lean_ctor_set(v_reuseFailAlloc_2339_, 3, v_currRecDepth_2319_);
lean_ctor_set(v_reuseFailAlloc_2339_, 4, v_maxRecDepth_2320_);
lean_ctor_set(v_reuseFailAlloc_2339_, 5, v_ref_2335_);
lean_ctor_set(v_reuseFailAlloc_2339_, 6, v_currNamespace_2322_);
lean_ctor_set(v_reuseFailAlloc_2339_, 7, v_openDecls_2323_);
lean_ctor_set(v_reuseFailAlloc_2339_, 8, v_initHeartbeats_2324_);
lean_ctor_set(v_reuseFailAlloc_2339_, 9, v_maxHeartbeats_2325_);
lean_ctor_set(v_reuseFailAlloc_2339_, 10, v_quotContext_2326_);
lean_ctor_set(v_reuseFailAlloc_2339_, 11, v_currMacroScope_2327_);
lean_ctor_set(v_reuseFailAlloc_2339_, 12, v_cancelTk_x3f_2329_);
lean_ctor_set(v_reuseFailAlloc_2339_, 13, v_inheritedTraceOptions_2331_);
lean_ctor_set_uint8(v_reuseFailAlloc_2339_, sizeof(void*)*14, v_diag_2328_);
lean_ctor_set_uint8(v_reuseFailAlloc_2339_, sizeof(void*)*14 + 1, v_suppressElabErrors_2330_);
v___x_2337_ = v_reuseFailAlloc_2339_;
goto v_reusejp_2336_;
}
v_reusejp_2336_:
{
lean_object* v___x_2338_; 
v___x_2338_ = l_Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0___redArg(v_msg_2310_, v___y_2311_, v___y_2312_, v___x_2337_, v___y_2314_);
lean_dec_ref(v___x_2337_);
return v___x_2338_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__13___redArg___boxed(lean_object* v_ref_2341_, lean_object* v_msg_2342_, lean_object* v___y_2343_, lean_object* v___y_2344_, lean_object* v___y_2345_, lean_object* v___y_2346_, lean_object* v___y_2347_){
_start:
{
lean_object* v_res_2348_; 
v_res_2348_ = l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__13___redArg(v_ref_2341_, v_msg_2342_, v___y_2343_, v___y_2344_, v___y_2345_, v___y_2346_);
lean_dec(v___y_2346_);
lean_dec(v___y_2344_);
lean_dec_ref(v___y_2343_);
lean_dec(v_ref_2341_);
return v_res_2348_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11___redArg(lean_object* v_ref_2349_, lean_object* v_msg_2350_, lean_object* v_declHint_2351_, lean_object* v___y_2352_, lean_object* v___y_2353_, lean_object* v___y_2354_, lean_object* v___y_2355_){
_start:
{
lean_object* v___x_2357_; lean_object* v_a_2358_; lean_object* v___x_2359_; 
v___x_2357_ = l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12(v_msg_2350_, v_declHint_2351_, v___y_2352_, v___y_2353_, v___y_2354_, v___y_2355_);
v_a_2358_ = lean_ctor_get(v___x_2357_, 0);
lean_inc(v_a_2358_);
lean_dec_ref(v___x_2357_);
v___x_2359_ = l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__13___redArg(v_ref_2349_, v_a_2358_, v___y_2352_, v___y_2353_, v___y_2354_, v___y_2355_);
return v___x_2359_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11___redArg___boxed(lean_object* v_ref_2360_, lean_object* v_msg_2361_, lean_object* v_declHint_2362_, lean_object* v___y_2363_, lean_object* v___y_2364_, lean_object* v___y_2365_, lean_object* v___y_2366_, lean_object* v___y_2367_){
_start:
{
lean_object* v_res_2368_; 
v_res_2368_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11___redArg(v_ref_2360_, v_msg_2361_, v_declHint_2362_, v___y_2363_, v___y_2364_, v___y_2365_, v___y_2366_);
lean_dec(v___y_2366_);
lean_dec(v___y_2364_);
lean_dec_ref(v___y_2363_);
lean_dec(v_ref_2360_);
return v_res_2368_;
}
}
static lean_object* _init_l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4___redArg___closed__1(void){
_start:
{
lean_object* v___x_2370_; lean_object* v___x_2371_; 
v___x_2370_ = ((lean_object*)(l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4___redArg___closed__0));
v___x_2371_ = l_Lean_stringToMessageData(v___x_2370_);
return v___x_2371_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4___redArg(lean_object* v_ref_2372_, lean_object* v_constName_2373_, lean_object* v___y_2374_, lean_object* v___y_2375_, lean_object* v___y_2376_, lean_object* v___y_2377_){
_start:
{
lean_object* v___x_2379_; uint8_t v___x_2380_; lean_object* v___x_2381_; lean_object* v___x_2382_; lean_object* v___x_2383_; lean_object* v___x_2384_; lean_object* v___x_2385_; 
v___x_2379_ = lean_obj_once(&l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4___redArg___closed__1, &l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4___redArg___closed__1_once, _init_l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4___redArg___closed__1);
v___x_2380_ = 0;
lean_inc(v_constName_2373_);
v___x_2381_ = l_Lean_MessageData_ofConstName(v_constName_2373_, v___x_2380_);
v___x_2382_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2382_, 0, v___x_2379_);
lean_ctor_set(v___x_2382_, 1, v___x_2381_);
v___x_2383_ = lean_obj_once(&l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__1, &l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__1_once, _init_l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__1);
v___x_2384_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_2384_, 0, v___x_2382_);
lean_ctor_set(v___x_2384_, 1, v___x_2383_);
v___x_2385_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11___redArg(v_ref_2372_, v___x_2384_, v_constName_2373_, v___y_2374_, v___y_2375_, v___y_2376_, v___y_2377_);
return v___x_2385_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4___redArg___boxed(lean_object* v_ref_2386_, lean_object* v_constName_2387_, lean_object* v___y_2388_, lean_object* v___y_2389_, lean_object* v___y_2390_, lean_object* v___y_2391_, lean_object* v___y_2392_){
_start:
{
lean_object* v_res_2393_; 
v_res_2393_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4___redArg(v_ref_2386_, v_constName_2387_, v___y_2388_, v___y_2389_, v___y_2390_, v___y_2391_);
lean_dec(v___y_2391_);
lean_dec(v___y_2389_);
lean_dec_ref(v___y_2388_);
lean_dec(v_ref_2386_);
return v_res_2393_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0___redArg(lean_object* v_constName_2394_, lean_object* v___y_2395_, lean_object* v___y_2396_, lean_object* v___y_2397_, lean_object* v___y_2398_){
_start:
{
lean_object* v_ref_2400_; lean_object* v___x_2401_; 
v_ref_2400_ = lean_ctor_get(v___y_2397_, 5);
lean_inc(v_ref_2400_);
v___x_2401_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4___redArg(v_ref_2400_, v_constName_2394_, v___y_2395_, v___y_2396_, v___y_2397_, v___y_2398_);
lean_dec(v_ref_2400_);
return v___x_2401_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0___redArg___boxed(lean_object* v_constName_2402_, lean_object* v___y_2403_, lean_object* v___y_2404_, lean_object* v___y_2405_, lean_object* v___y_2406_, lean_object* v___y_2407_){
_start:
{
lean_object* v_res_2408_; 
v_res_2408_ = l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0___redArg(v_constName_2402_, v___y_2403_, v___y_2404_, v___y_2405_, v___y_2406_);
lean_dec(v___y_2406_);
lean_dec(v___y_2404_);
lean_dec_ref(v___y_2403_);
return v_res_2408_;
}
}
LEAN_EXPORT lean_object* l_Lean_getConstVal___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__1(lean_object* v_constName_2409_, lean_object* v___y_2410_, lean_object* v___y_2411_, lean_object* v___y_2412_, lean_object* v___y_2413_){
_start:
{
lean_object* v___x_2415_; lean_object* v_env_2416_; uint8_t v___x_2417_; lean_object* v___x_2418_; 
v___x_2415_ = lean_st_ref_get(v___y_2413_);
v_env_2416_ = lean_ctor_get(v___x_2415_, 0);
lean_inc_ref(v_env_2416_);
lean_dec(v___x_2415_);
v___x_2417_ = 0;
lean_inc(v_constName_2409_);
v___x_2418_ = l_Lean_Environment_findConstVal_x3f(v_env_2416_, v_constName_2409_, v___x_2417_);
if (lean_obj_tag(v___x_2418_) == 0)
{
lean_object* v___x_2419_; 
v___x_2419_ = l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0___redArg(v_constName_2409_, v___y_2410_, v___y_2411_, v___y_2412_, v___y_2413_);
return v___x_2419_;
}
else
{
lean_object* v_val_2420_; lean_object* v___x_2422_; uint8_t v_isShared_2423_; uint8_t v_isSharedCheck_2427_; 
lean_dec_ref(v___y_2412_);
lean_dec(v_constName_2409_);
v_val_2420_ = lean_ctor_get(v___x_2418_, 0);
v_isSharedCheck_2427_ = !lean_is_exclusive(v___x_2418_);
if (v_isSharedCheck_2427_ == 0)
{
v___x_2422_ = v___x_2418_;
v_isShared_2423_ = v_isSharedCheck_2427_;
goto v_resetjp_2421_;
}
else
{
lean_inc(v_val_2420_);
lean_dec(v___x_2418_);
v___x_2422_ = lean_box(0);
v_isShared_2423_ = v_isSharedCheck_2427_;
goto v_resetjp_2421_;
}
v_resetjp_2421_:
{
lean_object* v___x_2425_; 
if (v_isShared_2423_ == 0)
{
lean_ctor_set_tag(v___x_2422_, 0);
v___x_2425_ = v___x_2422_;
goto v_reusejp_2424_;
}
else
{
lean_object* v_reuseFailAlloc_2426_; 
v_reuseFailAlloc_2426_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2426_, 0, v_val_2420_);
v___x_2425_ = v_reuseFailAlloc_2426_;
goto v_reusejp_2424_;
}
v_reusejp_2424_:
{
return v___x_2425_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_getConstVal___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__1___boxed(lean_object* v_constName_2428_, lean_object* v___y_2429_, lean_object* v___y_2430_, lean_object* v___y_2431_, lean_object* v___y_2432_, lean_object* v___y_2433_){
_start:
{
lean_object* v_res_2434_; 
v_res_2434_ = l_Lean_getConstVal___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__1(v_constName_2428_, v___y_2429_, v___y_2430_, v___y_2431_, v___y_2432_);
lean_dec(v___y_2432_);
lean_dec(v___y_2430_);
lean_dec_ref(v___y_2429_);
return v_res_2434_;
}
}
LEAN_EXPORT lean_object* l_Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0(lean_object* v_constName_2435_, lean_object* v___y_2436_, lean_object* v___y_2437_, lean_object* v___y_2438_, lean_object* v___y_2439_){
_start:
{
lean_object* v___x_2441_; lean_object* v_env_2442_; uint8_t v___x_2443_; lean_object* v___x_2444_; 
v___x_2441_ = lean_st_ref_get(v___y_2439_);
v_env_2442_ = lean_ctor_get(v___x_2441_, 0);
lean_inc_ref(v_env_2442_);
lean_dec(v___x_2441_);
v___x_2443_ = 0;
lean_inc(v_constName_2435_);
v___x_2444_ = l_Lean_Environment_find_x3f(v_env_2442_, v_constName_2435_, v___x_2443_);
if (lean_obj_tag(v___x_2444_) == 0)
{
lean_object* v___x_2445_; 
v___x_2445_ = l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0___redArg(v_constName_2435_, v___y_2436_, v___y_2437_, v___y_2438_, v___y_2439_);
return v___x_2445_;
}
else
{
lean_object* v_val_2446_; lean_object* v___x_2448_; uint8_t v_isShared_2449_; uint8_t v_isSharedCheck_2453_; 
lean_dec_ref(v___y_2438_);
lean_dec(v_constName_2435_);
v_val_2446_ = lean_ctor_get(v___x_2444_, 0);
v_isSharedCheck_2453_ = !lean_is_exclusive(v___x_2444_);
if (v_isSharedCheck_2453_ == 0)
{
v___x_2448_ = v___x_2444_;
v_isShared_2449_ = v_isSharedCheck_2453_;
goto v_resetjp_2447_;
}
else
{
lean_inc(v_val_2446_);
lean_dec(v___x_2444_);
v___x_2448_ = lean_box(0);
v_isShared_2449_ = v_isSharedCheck_2453_;
goto v_resetjp_2447_;
}
v_resetjp_2447_:
{
lean_object* v___x_2451_; 
if (v_isShared_2449_ == 0)
{
lean_ctor_set_tag(v___x_2448_, 0);
v___x_2451_ = v___x_2448_;
goto v_reusejp_2450_;
}
else
{
lean_object* v_reuseFailAlloc_2452_; 
v_reuseFailAlloc_2452_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2452_, 0, v_val_2446_);
v___x_2451_ = v_reuseFailAlloc_2452_;
goto v_reusejp_2450_;
}
v_reusejp_2450_:
{
return v___x_2451_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0___boxed(lean_object* v_constName_2454_, lean_object* v___y_2455_, lean_object* v___y_2456_, lean_object* v___y_2457_, lean_object* v___y_2458_, lean_object* v___y_2459_){
_start:
{
lean_object* v_res_2460_; 
v_res_2460_ = l_Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0(v_constName_2454_, v___y_2455_, v___y_2456_, v___y_2457_, v___y_2458_);
lean_dec(v___y_2458_);
lean_dec(v___y_2456_);
lean_dec_ref(v___y_2455_);
return v_res_2460_;
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__5(void){
_start:
{
lean_object* v___x_2467_; lean_object* v___x_2468_; lean_object* v___x_2469_; lean_object* v___x_2470_; lean_object* v___x_2471_; lean_object* v___x_2472_; 
v___x_2467_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__4));
v___x_2468_ = lean_unsigned_to_nat(58u);
v___x_2469_ = lean_unsigned_to_nat(81u);
v___x_2470_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__3));
v___x_2471_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__2));
v___x_2472_ = l_mkPanicMessageWithDecl(v___x_2471_, v___x_2470_, v___x_2469_, v___x_2468_, v___x_2467_);
return v___x_2472_;
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__6(void){
_start:
{
lean_object* 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_2473_ = ((lean_object*)(l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__6));
v___x_2474_ = lean_unsigned_to_nat(60u);
v___x_2475_ = lean_unsigned_to_nat(74u);
v___x_2476_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__3));
v___x_2477_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__2));
v___x_2478_ = l_mkPanicMessageWithDecl(v___x_2477_, v___x_2476_, v___x_2475_, v___x_2474_, v___x_2473_);
return v___x_2478_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType(lean_object* v_indName_2479_, lean_object* v_a_2480_, lean_object* v_a_2481_, lean_object* v_a_2482_, lean_object* v_a_2483_){
_start:
{
lean_object* v_declName_2485_; lean_object* v___x_2486_; 
lean_inc(v_indName_2479_);
v_declName_2485_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionTypeName(v_indName_2479_);
lean_inc_ref(v_a_2482_);
lean_inc(v_indName_2479_);
v___x_2486_ = l_Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0(v_indName_2479_, v_a_2480_, v_a_2481_, v_a_2482_, v_a_2483_);
if (lean_obj_tag(v___x_2486_) == 0)
{
lean_object* v_a_2487_; 
v_a_2487_ = lean_ctor_get(v___x_2486_, 0);
lean_inc(v_a_2487_);
lean_dec_ref(v___x_2486_);
if (lean_obj_tag(v_a_2487_) == 5)
{
lean_object* v_val_2488_; lean_object* v_options_2489_; lean_object* v___x_2490_; uint8_t v___x_2491_; lean_object* v___x_2492_; lean_object* v_a_2493_; lean_object* v___x_2494_; lean_object* v___x_2495_; uint8_t v___y_2497_; uint8_t v___y_2644_; uint8_t v___x_2646_; 
v_val_2488_ = lean_ctor_get(v_a_2487_, 0);
lean_inc_ref(v_val_2488_);
lean_dec_ref(v_a_2487_);
v_options_2489_ = lean_ctor_get(v_a_2482_, 2);
lean_inc(v_indName_2479_);
v___x_2490_ = l_Lean_mkCtorElimName(v_indName_2479_);
v___x_2491_ = 1;
v___x_2492_ = l_Lean_hasConst___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__1___redArg(v___x_2490_, v___x_2491_, v_a_2483_);
v_a_2493_ = lean_ctor_get(v___x_2492_, 0);
lean_inc(v_a_2493_);
lean_dec_ref(v___x_2492_);
v___x_2494_ = lean_unsigned_to_nat(2u);
v___x_2495_ = l_Lean_InductiveVal_numCtors(v_val_2488_);
v___x_2646_ = lean_nat_dec_lt(v___x_2494_, v___x_2495_);
if (v___x_2646_ == 0)
{
v___y_2644_ = v___x_2646_;
goto v___jp_2643_;
}
else
{
lean_object* v___x_2647_; uint8_t v___x_2648_; 
v___x_2647_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_backward_linearNoConfusionType;
v___x_2648_ = l_Lean_Option_get___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__0(v_options_2489_, v___x_2647_);
v___y_2644_ = v___x_2648_;
goto v___jp_2643_;
}
v___jp_2496_:
{
lean_object* v___x_2498_; lean_object* v___x_2499_; 
lean_inc(v_indName_2479_);
v___x_2498_ = l_Lean_mkCasesOnName(v_indName_2479_);
lean_inc_ref(v_a_2482_);
lean_inc(v___x_2498_);
v___x_2499_ = l_Lean_getConstVal___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__1(v___x_2498_, v_a_2480_, v_a_2481_, v_a_2482_, v_a_2483_);
if (lean_obj_tag(v___x_2499_) == 0)
{
lean_object* v_a_2500_; lean_object* v_levelParams_2501_; lean_object* v___x_2502_; lean_object* v___x_2503_; 
v_a_2500_ = lean_ctor_get(v___x_2499_, 0);
lean_inc(v_a_2500_);
lean_dec_ref(v___x_2499_);
v_levelParams_2501_ = lean_ctor_get(v_a_2500_, 1);
lean_inc(v_levelParams_2501_);
lean_dec(v_a_2500_);
v___x_2502_ = lean_box(0);
lean_inc(v_levelParams_2501_);
v___x_2503_ = l_List_mapTR_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__2(v_levelParams_2501_, v___x_2502_);
if (lean_obj_tag(v___x_2503_) == 1)
{
lean_object* v_head_2504_; lean_object* v_tail_2505_; lean_object* v___x_2507_; uint8_t v_isShared_2508_; uint8_t v_isSharedCheck_2632_; 
v_head_2504_ = lean_ctor_get(v___x_2503_, 0);
v_tail_2505_ = lean_ctor_get(v___x_2503_, 1);
v_isSharedCheck_2632_ = !lean_is_exclusive(v___x_2503_);
if (v_isSharedCheck_2632_ == 0)
{
v___x_2507_ = v___x_2503_;
v_isShared_2508_ = v_isSharedCheck_2632_;
goto v_resetjp_2506_;
}
else
{
lean_inc(v_tail_2505_);
lean_inc(v_head_2504_);
lean_dec(v___x_2503_);
v___x_2507_ = lean_box(0);
v_isShared_2508_ = v_isSharedCheck_2632_;
goto v_resetjp_2506_;
}
v_resetjp_2506_:
{
lean_object* v___x_2509_; lean_object* v___x_2511_; 
lean_inc(v_head_2504_);
v___x_2509_ = l_Lean_Level_succ___override(v_head_2504_);
lean_inc(v_tail_2505_);
if (v_isShared_2508_ == 0)
{
lean_ctor_set(v___x_2507_, 0, v___x_2509_);
v___x_2511_ = v___x_2507_;
goto v_reusejp_2510_;
}
else
{
lean_object* v_reuseFailAlloc_2631_; 
v_reuseFailAlloc_2631_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2631_, 0, v___x_2509_);
lean_ctor_set(v_reuseFailAlloc_2631_, 1, v_tail_2505_);
v___x_2511_ = v_reuseFailAlloc_2631_;
goto v_reusejp_2510_;
}
v_reusejp_2510_:
{
lean_object* v___x_2512_; lean_object* v___x_2513_; 
lean_inc_ref(v___x_2511_);
v___x_2512_ = l_Lean_mkConst(v___x_2498_, v___x_2511_);
lean_inc(v_a_2483_);
lean_inc_ref(v_a_2482_);
lean_inc(v_a_2481_);
lean_inc_ref(v_a_2480_);
lean_inc_ref(v___x_2512_);
v___x_2513_ = lean_infer_type(v___x_2512_, v_a_2480_, v_a_2481_, v_a_2482_, v_a_2483_);
if (lean_obj_tag(v___x_2513_) == 0)
{
lean_object* v_a_2514_; lean_object* v___x_2515_; lean_object* v___x_2516_; lean_object* v___f_2517_; lean_object* v___x_2518_; lean_object* v___x_2519_; lean_object* v___f_2520_; lean_object* v___x_2521_; lean_object* v___x_2522_; 
v_a_2514_ = lean_ctor_get(v___x_2513_, 0);
lean_inc(v_a_2514_);
lean_dec_ref(v___x_2513_);
v___x_2515_ = l_Lean_mkSort(v_head_2504_);
v___x_2516_ = lean_box(v___x_2491_);
lean_inc_ref(v___x_2515_);
v___f_2517_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__0___boxed), 9, 2);
lean_closure_set(v___f_2517_, 0, v___x_2515_);
lean_closure_set(v___f_2517_, 1, v___x_2516_);
v___x_2518_ = lean_box(v___y_2497_);
v___x_2519_ = lean_box(v___x_2491_);
lean_inc_ref(v___x_2515_);
v___f_2520_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___lam__7___boxed), 17, 11);
lean_closure_set(v___f_2520_, 0, v_val_2488_);
lean_closure_set(v___f_2520_, 1, v___x_2512_);
lean_closure_set(v___f_2520_, 2, v___f_2517_);
lean_closure_set(v___f_2520_, 3, v___x_2495_);
lean_closure_set(v___f_2520_, 4, v_indName_2479_);
lean_closure_set(v___f_2520_, 5, v___x_2511_);
lean_closure_set(v___f_2520_, 6, v___x_2518_);
lean_closure_set(v___f_2520_, 7, v_tail_2505_);
lean_closure_set(v___f_2520_, 8, v___x_2515_);
lean_closure_set(v___f_2520_, 9, v___x_2519_);
lean_closure_set(v___f_2520_, 10, v_a_2514_);
v___x_2521_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__1));
lean_inc(v_a_2483_);
lean_inc_ref(v_a_2482_);
lean_inc(v_a_2481_);
lean_inc_ref(v_a_2480_);
v___x_2522_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg(v___x_2521_, v___x_2515_, v___f_2520_, v_a_2480_, v_a_2481_, v_a_2482_, v_a_2483_);
if (lean_obj_tag(v___x_2522_) == 0)
{
lean_object* v_a_2523_; lean_object* v___x_2524_; 
v_a_2523_ = lean_ctor_get(v___x_2522_, 0);
lean_inc(v_a_2523_);
lean_dec_ref(v___x_2522_);
lean_inc(v_a_2483_);
lean_inc_ref(v_a_2482_);
lean_inc(v_a_2481_);
lean_inc_ref(v_a_2480_);
lean_inc(v_a_2523_);
v___x_2524_ = lean_infer_type(v_a_2523_, v_a_2480_, v_a_2481_, v_a_2482_, v_a_2483_);
if (lean_obj_tag(v___x_2524_) == 0)
{
lean_object* v_a_2525_; lean_object* v___x_2526_; lean_object* v___x_2527_; lean_object* v_a_2528_; lean_object* v___x_2530_; uint8_t v_isShared_2531_; uint8_t v_isSharedCheck_2606_; 
v_a_2525_ = lean_ctor_get(v___x_2524_, 0);
lean_inc(v_a_2525_);
lean_dec_ref(v___x_2524_);
v___x_2526_ = lean_box(1);
lean_inc(v_declName_2485_);
v___x_2527_ = l_Lean_mkDefinitionValInferringUnsafe___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__6___redArg(v_declName_2485_, v_levelParams_2501_, v_a_2525_, v_a_2523_, v___x_2526_, v_a_2483_);
v_a_2528_ = lean_ctor_get(v___x_2527_, 0);
v_isSharedCheck_2606_ = !lean_is_exclusive(v___x_2527_);
if (v_isSharedCheck_2606_ == 0)
{
v___x_2530_ = v___x_2527_;
v_isShared_2531_ = v_isSharedCheck_2606_;
goto v_resetjp_2529_;
}
else
{
lean_inc(v_a_2528_);
lean_dec(v___x_2527_);
v___x_2530_ = lean_box(0);
v_isShared_2531_ = v_isSharedCheck_2606_;
goto v_resetjp_2529_;
}
v_resetjp_2529_:
{
lean_object* v___x_2533_; 
if (v_isShared_2531_ == 0)
{
lean_ctor_set_tag(v___x_2530_, 1);
v___x_2533_ = v___x_2530_;
goto v_reusejp_2532_;
}
else
{
lean_object* v_reuseFailAlloc_2605_; 
v_reuseFailAlloc_2605_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2605_, 0, v_a_2528_);
v___x_2533_ = v_reuseFailAlloc_2605_;
goto v_reusejp_2532_;
}
v_reusejp_2532_:
{
uint8_t v___x_2534_; lean_object* v___x_2535_; 
v___x_2534_ = 0;
lean_inc(v_a_2483_);
lean_inc_ref(v_a_2482_);
v___x_2535_ = l_Lean_addDecl(v___x_2533_, v___x_2534_, v_a_2482_, v_a_2483_);
if (lean_obj_tag(v___x_2535_) == 0)
{
lean_object* v___x_2536_; lean_object* v_env_2537_; lean_object* v_nextMacroScope_2538_; lean_object* v_ngen_2539_; lean_object* v_auxDeclNGen_2540_; lean_object* v_traceState_2541_; lean_object* v_messages_2542_; lean_object* v_infoState_2543_; lean_object* v_snapshotTasks_2544_; lean_object* v___x_2546_; uint8_t v_isShared_2547_; uint8_t v_isSharedCheck_2603_; 
lean_dec_ref(v___x_2535_);
v___x_2536_ = lean_st_ref_take(v_a_2483_);
v_env_2537_ = lean_ctor_get(v___x_2536_, 0);
v_nextMacroScope_2538_ = lean_ctor_get(v___x_2536_, 1);
v_ngen_2539_ = lean_ctor_get(v___x_2536_, 2);
v_auxDeclNGen_2540_ = lean_ctor_get(v___x_2536_, 3);
v_traceState_2541_ = lean_ctor_get(v___x_2536_, 4);
v_messages_2542_ = lean_ctor_get(v___x_2536_, 6);
v_infoState_2543_ = lean_ctor_get(v___x_2536_, 7);
v_snapshotTasks_2544_ = lean_ctor_get(v___x_2536_, 8);
v_isSharedCheck_2603_ = !lean_is_exclusive(v___x_2536_);
if (v_isSharedCheck_2603_ == 0)
{
lean_object* v_unused_2604_; 
v_unused_2604_ = lean_ctor_get(v___x_2536_, 5);
lean_dec(v_unused_2604_);
v___x_2546_ = v___x_2536_;
v_isShared_2547_ = v_isSharedCheck_2603_;
goto v_resetjp_2545_;
}
else
{
lean_inc(v_snapshotTasks_2544_);
lean_inc(v_infoState_2543_);
lean_inc(v_messages_2542_);
lean_inc(v_traceState_2541_);
lean_inc(v_auxDeclNGen_2540_);
lean_inc(v_ngen_2539_);
lean_inc(v_nextMacroScope_2538_);
lean_inc(v_env_2537_);
lean_dec(v___x_2536_);
v___x_2546_ = lean_box(0);
v_isShared_2547_ = v_isSharedCheck_2603_;
goto v_resetjp_2545_;
}
v_resetjp_2545_:
{
lean_object* v___x_2548_; lean_object* v___x_2549_; lean_object* v___x_2551_; 
lean_inc(v_declName_2485_);
v___x_2548_ = l_Lean_Meta_addToCompletionBlackList(v_env_2537_, v_declName_2485_);
v___x_2549_ = lean_obj_once(&l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__2, &l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__2_once, _init_l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__2);
if (v_isShared_2547_ == 0)
{
lean_ctor_set(v___x_2546_, 5, v___x_2549_);
lean_ctor_set(v___x_2546_, 0, v___x_2548_);
v___x_2551_ = v___x_2546_;
goto v_reusejp_2550_;
}
else
{
lean_object* v_reuseFailAlloc_2602_; 
v_reuseFailAlloc_2602_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_2602_, 0, v___x_2548_);
lean_ctor_set(v_reuseFailAlloc_2602_, 1, v_nextMacroScope_2538_);
lean_ctor_set(v_reuseFailAlloc_2602_, 2, v_ngen_2539_);
lean_ctor_set(v_reuseFailAlloc_2602_, 3, v_auxDeclNGen_2540_);
lean_ctor_set(v_reuseFailAlloc_2602_, 4, v_traceState_2541_);
lean_ctor_set(v_reuseFailAlloc_2602_, 5, v___x_2549_);
lean_ctor_set(v_reuseFailAlloc_2602_, 6, v_messages_2542_);
lean_ctor_set(v_reuseFailAlloc_2602_, 7, v_infoState_2543_);
lean_ctor_set(v_reuseFailAlloc_2602_, 8, v_snapshotTasks_2544_);
v___x_2551_ = v_reuseFailAlloc_2602_;
goto v_reusejp_2550_;
}
v_reusejp_2550_:
{
lean_object* v___x_2552_; lean_object* v___x_2553_; lean_object* v_mctx_2554_; lean_object* v_zetaDeltaFVarIds_2555_; lean_object* v_postponed_2556_; lean_object* v_diag_2557_; lean_object* v___x_2559_; uint8_t v_isShared_2560_; uint8_t v_isSharedCheck_2600_; 
v___x_2552_ = lean_st_ref_set(v_a_2483_, v___x_2551_);
v___x_2553_ = lean_st_ref_take(v_a_2481_);
v_mctx_2554_ = lean_ctor_get(v___x_2553_, 0);
v_zetaDeltaFVarIds_2555_ = lean_ctor_get(v___x_2553_, 2);
v_postponed_2556_ = lean_ctor_get(v___x_2553_, 3);
v_diag_2557_ = lean_ctor_get(v___x_2553_, 4);
v_isSharedCheck_2600_ = !lean_is_exclusive(v___x_2553_);
if (v_isSharedCheck_2600_ == 0)
{
lean_object* v_unused_2601_; 
v_unused_2601_ = lean_ctor_get(v___x_2553_, 1);
lean_dec(v_unused_2601_);
v___x_2559_ = v___x_2553_;
v_isShared_2560_ = v_isSharedCheck_2600_;
goto v_resetjp_2558_;
}
else
{
lean_inc(v_diag_2557_);
lean_inc(v_postponed_2556_);
lean_inc(v_zetaDeltaFVarIds_2555_);
lean_inc(v_mctx_2554_);
lean_dec(v___x_2553_);
v___x_2559_ = lean_box(0);
v_isShared_2560_ = v_isSharedCheck_2600_;
goto v_resetjp_2558_;
}
v_resetjp_2558_:
{
lean_object* v___x_2561_; lean_object* v___x_2563_; 
v___x_2561_ = lean_obj_once(&l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__3, &l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__3_once, _init_l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__3);
if (v_isShared_2560_ == 0)
{
lean_ctor_set(v___x_2559_, 1, v___x_2561_);
v___x_2563_ = v___x_2559_;
goto v_reusejp_2562_;
}
else
{
lean_object* v_reuseFailAlloc_2599_; 
v_reuseFailAlloc_2599_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_2599_, 0, v_mctx_2554_);
lean_ctor_set(v_reuseFailAlloc_2599_, 1, v___x_2561_);
lean_ctor_set(v_reuseFailAlloc_2599_, 2, v_zetaDeltaFVarIds_2555_);
lean_ctor_set(v_reuseFailAlloc_2599_, 3, v_postponed_2556_);
lean_ctor_set(v_reuseFailAlloc_2599_, 4, v_diag_2557_);
v___x_2563_ = v_reuseFailAlloc_2599_;
goto v_reusejp_2562_;
}
v_reusejp_2562_:
{
lean_object* v___x_2564_; lean_object* v___x_2565_; lean_object* v_env_2566_; lean_object* v_nextMacroScope_2567_; lean_object* v_ngen_2568_; lean_object* v_auxDeclNGen_2569_; lean_object* v_traceState_2570_; lean_object* v_messages_2571_; lean_object* v_infoState_2572_; lean_object* v_snapshotTasks_2573_; lean_object* v___x_2575_; uint8_t v_isShared_2576_; uint8_t v_isSharedCheck_2597_; 
v___x_2564_ = lean_st_ref_set(v_a_2481_, v___x_2563_);
v___x_2565_ = lean_st_ref_take(v_a_2483_);
v_env_2566_ = lean_ctor_get(v___x_2565_, 0);
v_nextMacroScope_2567_ = lean_ctor_get(v___x_2565_, 1);
v_ngen_2568_ = lean_ctor_get(v___x_2565_, 2);
v_auxDeclNGen_2569_ = lean_ctor_get(v___x_2565_, 3);
v_traceState_2570_ = lean_ctor_get(v___x_2565_, 4);
v_messages_2571_ = lean_ctor_get(v___x_2565_, 6);
v_infoState_2572_ = lean_ctor_get(v___x_2565_, 7);
v_snapshotTasks_2573_ = lean_ctor_get(v___x_2565_, 8);
v_isSharedCheck_2597_ = !lean_is_exclusive(v___x_2565_);
if (v_isSharedCheck_2597_ == 0)
{
lean_object* v_unused_2598_; 
v_unused_2598_ = lean_ctor_get(v___x_2565_, 5);
lean_dec(v_unused_2598_);
v___x_2575_ = v___x_2565_;
v_isShared_2576_ = v_isSharedCheck_2597_;
goto v_resetjp_2574_;
}
else
{
lean_inc(v_snapshotTasks_2573_);
lean_inc(v_infoState_2572_);
lean_inc(v_messages_2571_);
lean_inc(v_traceState_2570_);
lean_inc(v_auxDeclNGen_2569_);
lean_inc(v_ngen_2568_);
lean_inc(v_nextMacroScope_2567_);
lean_inc(v_env_2566_);
lean_dec(v___x_2565_);
v___x_2575_ = lean_box(0);
v_isShared_2576_ = v_isSharedCheck_2597_;
goto v_resetjp_2574_;
}
v_resetjp_2574_:
{
lean_object* v___x_2577_; lean_object* v___x_2579_; 
lean_inc(v_declName_2485_);
v___x_2577_ = l_Lean_addProtected(v_env_2566_, v_declName_2485_);
if (v_isShared_2576_ == 0)
{
lean_ctor_set(v___x_2575_, 5, v___x_2549_);
lean_ctor_set(v___x_2575_, 0, v___x_2577_);
v___x_2579_ = v___x_2575_;
goto v_reusejp_2578_;
}
else
{
lean_object* v_reuseFailAlloc_2596_; 
v_reuseFailAlloc_2596_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_2596_, 0, v___x_2577_);
lean_ctor_set(v_reuseFailAlloc_2596_, 1, v_nextMacroScope_2567_);
lean_ctor_set(v_reuseFailAlloc_2596_, 2, v_ngen_2568_);
lean_ctor_set(v_reuseFailAlloc_2596_, 3, v_auxDeclNGen_2569_);
lean_ctor_set(v_reuseFailAlloc_2596_, 4, v_traceState_2570_);
lean_ctor_set(v_reuseFailAlloc_2596_, 5, v___x_2549_);
lean_ctor_set(v_reuseFailAlloc_2596_, 6, v_messages_2571_);
lean_ctor_set(v_reuseFailAlloc_2596_, 7, v_infoState_2572_);
lean_ctor_set(v_reuseFailAlloc_2596_, 8, v_snapshotTasks_2573_);
v___x_2579_ = v_reuseFailAlloc_2596_;
goto v_reusejp_2578_;
}
v_reusejp_2578_:
{
lean_object* v___x_2580_; lean_object* v___x_2581_; lean_object* v_mctx_2582_; lean_object* v_zetaDeltaFVarIds_2583_; lean_object* v_postponed_2584_; lean_object* v_diag_2585_; lean_object* v___x_2587_; uint8_t v_isShared_2588_; uint8_t v_isSharedCheck_2594_; 
v___x_2580_ = lean_st_ref_set(v_a_2483_, v___x_2579_);
v___x_2581_ = lean_st_ref_take(v_a_2481_);
v_mctx_2582_ = lean_ctor_get(v___x_2581_, 0);
v_zetaDeltaFVarIds_2583_ = lean_ctor_get(v___x_2581_, 2);
v_postponed_2584_ = lean_ctor_get(v___x_2581_, 3);
v_diag_2585_ = lean_ctor_get(v___x_2581_, 4);
v_isSharedCheck_2594_ = !lean_is_exclusive(v___x_2581_);
if (v_isSharedCheck_2594_ == 0)
{
lean_object* v_unused_2595_; 
v_unused_2595_ = lean_ctor_get(v___x_2581_, 1);
lean_dec(v_unused_2595_);
v___x_2587_ = v___x_2581_;
v_isShared_2588_ = v_isSharedCheck_2594_;
goto v_resetjp_2586_;
}
else
{
lean_inc(v_diag_2585_);
lean_inc(v_postponed_2584_);
lean_inc(v_zetaDeltaFVarIds_2583_);
lean_inc(v_mctx_2582_);
lean_dec(v___x_2581_);
v___x_2587_ = lean_box(0);
v_isShared_2588_ = v_isSharedCheck_2594_;
goto v_resetjp_2586_;
}
v_resetjp_2586_:
{
lean_object* v___x_2590_; 
if (v_isShared_2588_ == 0)
{
lean_ctor_set(v___x_2587_, 1, v___x_2561_);
v___x_2590_ = v___x_2587_;
goto v_reusejp_2589_;
}
else
{
lean_object* v_reuseFailAlloc_2593_; 
v_reuseFailAlloc_2593_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_2593_, 0, v_mctx_2582_);
lean_ctor_set(v_reuseFailAlloc_2593_, 1, v___x_2561_);
lean_ctor_set(v_reuseFailAlloc_2593_, 2, v_zetaDeltaFVarIds_2583_);
lean_ctor_set(v_reuseFailAlloc_2593_, 3, v_postponed_2584_);
lean_ctor_set(v_reuseFailAlloc_2593_, 4, v_diag_2585_);
v___x_2590_ = v_reuseFailAlloc_2593_;
goto v_reusejp_2589_;
}
v_reusejp_2589_:
{
lean_object* v___x_2591_; lean_object* v___x_2592_; 
v___x_2591_ = lean_st_ref_set(v_a_2481_, v___x_2590_);
v___x_2592_ = l_Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7(v_declName_2485_, v_a_2480_, v_a_2481_, v_a_2482_, v_a_2483_);
lean_dec(v_a_2483_);
lean_dec_ref(v_a_2482_);
lean_dec(v_a_2481_);
lean_dec_ref(v_a_2480_);
return v___x_2592_;
}
}
}
}
}
}
}
}
}
else
{
lean_dec(v_declName_2485_);
lean_dec(v_a_2483_);
lean_dec_ref(v_a_2482_);
lean_dec(v_a_2481_);
lean_dec_ref(v_a_2480_);
return v___x_2535_;
}
}
}
}
else
{
lean_object* v_a_2607_; lean_object* v___x_2609_; uint8_t v_isShared_2610_; uint8_t v_isSharedCheck_2614_; 
lean_dec(v_a_2523_);
lean_dec(v_levelParams_2501_);
lean_dec(v_declName_2485_);
lean_dec(v_a_2483_);
lean_dec_ref(v_a_2482_);
lean_dec(v_a_2481_);
lean_dec_ref(v_a_2480_);
v_a_2607_ = lean_ctor_get(v___x_2524_, 0);
v_isSharedCheck_2614_ = !lean_is_exclusive(v___x_2524_);
if (v_isSharedCheck_2614_ == 0)
{
v___x_2609_ = v___x_2524_;
v_isShared_2610_ = v_isSharedCheck_2614_;
goto v_resetjp_2608_;
}
else
{
lean_inc(v_a_2607_);
lean_dec(v___x_2524_);
v___x_2609_ = lean_box(0);
v_isShared_2610_ = v_isSharedCheck_2614_;
goto v_resetjp_2608_;
}
v_resetjp_2608_:
{
lean_object* v___x_2612_; 
if (v_isShared_2610_ == 0)
{
v___x_2612_ = v___x_2609_;
goto v_reusejp_2611_;
}
else
{
lean_object* v_reuseFailAlloc_2613_; 
v_reuseFailAlloc_2613_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2613_, 0, v_a_2607_);
v___x_2612_ = v_reuseFailAlloc_2613_;
goto v_reusejp_2611_;
}
v_reusejp_2611_:
{
return v___x_2612_;
}
}
}
}
else
{
lean_object* v_a_2615_; lean_object* v___x_2617_; uint8_t v_isShared_2618_; uint8_t v_isSharedCheck_2622_; 
lean_dec(v_levelParams_2501_);
lean_dec(v_declName_2485_);
lean_dec(v_a_2483_);
lean_dec_ref(v_a_2482_);
lean_dec(v_a_2481_);
lean_dec_ref(v_a_2480_);
v_a_2615_ = lean_ctor_get(v___x_2522_, 0);
v_isSharedCheck_2622_ = !lean_is_exclusive(v___x_2522_);
if (v_isSharedCheck_2622_ == 0)
{
v___x_2617_ = v___x_2522_;
v_isShared_2618_ = v_isSharedCheck_2622_;
goto v_resetjp_2616_;
}
else
{
lean_inc(v_a_2615_);
lean_dec(v___x_2522_);
v___x_2617_ = lean_box(0);
v_isShared_2618_ = v_isSharedCheck_2622_;
goto v_resetjp_2616_;
}
v_resetjp_2616_:
{
lean_object* v___x_2620_; 
if (v_isShared_2618_ == 0)
{
v___x_2620_ = v___x_2617_;
goto v_reusejp_2619_;
}
else
{
lean_object* v_reuseFailAlloc_2621_; 
v_reuseFailAlloc_2621_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2621_, 0, v_a_2615_);
v___x_2620_ = v_reuseFailAlloc_2621_;
goto v_reusejp_2619_;
}
v_reusejp_2619_:
{
return v___x_2620_;
}
}
}
}
else
{
lean_object* v_a_2623_; lean_object* v___x_2625_; uint8_t v_isShared_2626_; uint8_t v_isSharedCheck_2630_; 
lean_dec_ref(v___x_2512_);
lean_dec_ref(v___x_2511_);
lean_dec(v_tail_2505_);
lean_dec(v_head_2504_);
lean_dec(v_levelParams_2501_);
lean_dec(v___x_2495_);
lean_dec_ref(v_val_2488_);
lean_dec(v_declName_2485_);
lean_dec(v_a_2483_);
lean_dec_ref(v_a_2482_);
lean_dec(v_a_2481_);
lean_dec_ref(v_a_2480_);
lean_dec(v_indName_2479_);
v_a_2623_ = lean_ctor_get(v___x_2513_, 0);
v_isSharedCheck_2630_ = !lean_is_exclusive(v___x_2513_);
if (v_isSharedCheck_2630_ == 0)
{
v___x_2625_ = v___x_2513_;
v_isShared_2626_ = v_isSharedCheck_2630_;
goto v_resetjp_2624_;
}
else
{
lean_inc(v_a_2623_);
lean_dec(v___x_2513_);
v___x_2625_ = lean_box(0);
v_isShared_2626_ = v_isSharedCheck_2630_;
goto v_resetjp_2624_;
}
v_resetjp_2624_:
{
lean_object* v___x_2628_; 
if (v_isShared_2626_ == 0)
{
v___x_2628_ = v___x_2625_;
goto v_reusejp_2627_;
}
else
{
lean_object* v_reuseFailAlloc_2629_; 
v_reuseFailAlloc_2629_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2629_, 0, v_a_2623_);
v___x_2628_ = v_reuseFailAlloc_2629_;
goto v_reusejp_2627_;
}
v_reusejp_2627_:
{
return v___x_2628_;
}
}
}
}
}
}
else
{
lean_object* v___x_2633_; lean_object* v___x_2634_; 
lean_dec(v___x_2503_);
lean_dec(v_levelParams_2501_);
lean_dec(v___x_2498_);
lean_dec(v___x_2495_);
lean_dec_ref(v_val_2488_);
lean_dec(v_declName_2485_);
lean_dec(v_indName_2479_);
v___x_2633_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__5, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__5_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__5);
v___x_2634_ = l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__8(v___x_2633_, v_a_2480_, v_a_2481_, v_a_2482_, v_a_2483_);
return v___x_2634_;
}
}
else
{
lean_object* v_a_2635_; lean_object* v___x_2637_; uint8_t v_isShared_2638_; uint8_t v_isSharedCheck_2642_; 
lean_dec(v___x_2498_);
lean_dec(v___x_2495_);
lean_dec_ref(v_val_2488_);
lean_dec(v_declName_2485_);
lean_dec(v_a_2483_);
lean_dec_ref(v_a_2482_);
lean_dec(v_a_2481_);
lean_dec_ref(v_a_2480_);
lean_dec(v_indName_2479_);
v_a_2635_ = lean_ctor_get(v___x_2499_, 0);
v_isSharedCheck_2642_ = !lean_is_exclusive(v___x_2499_);
if (v_isSharedCheck_2642_ == 0)
{
v___x_2637_ = v___x_2499_;
v_isShared_2638_ = v_isSharedCheck_2642_;
goto v_resetjp_2636_;
}
else
{
lean_inc(v_a_2635_);
lean_dec(v___x_2499_);
v___x_2637_ = lean_box(0);
v_isShared_2638_ = v_isSharedCheck_2642_;
goto v_resetjp_2636_;
}
v_resetjp_2636_:
{
lean_object* v___x_2640_; 
if (v_isShared_2638_ == 0)
{
v___x_2640_ = v___x_2637_;
goto v_reusejp_2639_;
}
else
{
lean_object* v_reuseFailAlloc_2641_; 
v_reuseFailAlloc_2641_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2641_, 0, v_a_2635_);
v___x_2640_ = v_reuseFailAlloc_2641_;
goto v_reusejp_2639_;
}
v_reusejp_2639_:
{
return v___x_2640_;
}
}
}
}
v___jp_2643_:
{
if (v___y_2644_ == 0)
{
lean_dec(v_a_2493_);
v___y_2497_ = v___y_2644_;
goto v___jp_2496_;
}
else
{
uint8_t v___x_2645_; 
v___x_2645_ = lean_unbox(v_a_2493_);
lean_dec(v_a_2493_);
v___y_2497_ = v___x_2645_;
goto v___jp_2496_;
}
}
}
else
{
lean_object* v___x_2649_; lean_object* v___x_2650_; 
lean_dec(v_a_2487_);
lean_dec(v_declName_2485_);
lean_dec(v_indName_2479_);
v___x_2649_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__6, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__6_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__6);
v___x_2650_ = l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__8(v___x_2649_, v_a_2480_, v_a_2481_, v_a_2482_, v_a_2483_);
return v___x_2650_;
}
}
else
{
lean_object* v_a_2651_; lean_object* v___x_2653_; uint8_t v_isShared_2654_; uint8_t v_isSharedCheck_2658_; 
lean_dec(v_declName_2485_);
lean_dec(v_a_2483_);
lean_dec_ref(v_a_2482_);
lean_dec(v_a_2481_);
lean_dec_ref(v_a_2480_);
lean_dec(v_indName_2479_);
v_a_2651_ = lean_ctor_get(v___x_2486_, 0);
v_isSharedCheck_2658_ = !lean_is_exclusive(v___x_2486_);
if (v_isSharedCheck_2658_ == 0)
{
v___x_2653_ = v___x_2486_;
v_isShared_2654_ = v_isSharedCheck_2658_;
goto v_resetjp_2652_;
}
else
{
lean_inc(v_a_2651_);
lean_dec(v___x_2486_);
v___x_2653_ = lean_box(0);
v_isShared_2654_ = v_isSharedCheck_2658_;
goto v_resetjp_2652_;
}
v_resetjp_2652_:
{
lean_object* v___x_2656_; 
if (v_isShared_2654_ == 0)
{
v___x_2656_ = v___x_2653_;
goto v_reusejp_2655_;
}
else
{
lean_object* v_reuseFailAlloc_2657_; 
v_reuseFailAlloc_2657_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2657_, 0, v_a_2651_);
v___x_2656_ = v_reuseFailAlloc_2657_;
goto v_reusejp_2655_;
}
v_reusejp_2655_:
{
return v___x_2656_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___boxed(lean_object* v_indName_2659_, lean_object* v_a_2660_, lean_object* v_a_2661_, lean_object* v_a_2662_, lean_object* v_a_2663_, lean_object* v_a_2664_){
_start:
{
lean_object* v_res_2665_; 
v_res_2665_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType(v_indName_2659_, v_a_2660_, v_a_2661_, v_a_2662_, v_a_2663_);
return v_res_2665_;
}
}
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__4(lean_object* v_i_2666_, lean_object* v_P_2667_, lean_object* v___x_2668_, lean_object* v_xs1_2669_, lean_object* v_zs1_2670_, lean_object* v_xs2_2671_, lean_object* v_as_2672_, lean_object* v_i_2673_, lean_object* v_j_2674_, lean_object* v_inv_2675_, lean_object* v_bs_2676_, lean_object* v___y_2677_, lean_object* v___y_2678_, lean_object* v___y_2679_, lean_object* v___y_2680_){
_start:
{
lean_object* v___x_2682_; 
v___x_2682_ = l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__4___redArg(v_i_2666_, v_P_2667_, v___x_2668_, v_xs1_2669_, v_zs1_2670_, v_xs2_2671_, v_as_2672_, v_i_2673_, v_j_2674_, v_bs_2676_, v___y_2677_, v___y_2678_, v___y_2679_, v___y_2680_);
return v___x_2682_;
}
}
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__4___boxed(lean_object* v_i_2683_, lean_object* v_P_2684_, lean_object* v___x_2685_, lean_object* v_xs1_2686_, lean_object* v_zs1_2687_, lean_object* v_xs2_2688_, lean_object* v_as_2689_, lean_object* v_i_2690_, lean_object* v_j_2691_, lean_object* v_inv_2692_, lean_object* v_bs_2693_, lean_object* v___y_2694_, lean_object* v___y_2695_, lean_object* v___y_2696_, lean_object* v___y_2697_, lean_object* v___y_2698_){
_start:
{
lean_object* v_res_2699_; 
v_res_2699_ = l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__4(v_i_2683_, v_P_2684_, v___x_2685_, v_xs1_2686_, v_zs1_2687_, v_xs2_2688_, v_as_2689_, v_i_2690_, v_j_2691_, v_inv_2692_, v_bs_2693_, v___y_2694_, v___y_2695_, v___y_2696_, v___y_2697_);
lean_dec_ref(v_as_2689_);
return v_res_2699_;
}
}
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5(lean_object* v_val_2700_, lean_object* v_P_2701_, lean_object* v_xs1_2702_, lean_object* v_xs2_2703_, lean_object* v_indName_2704_, lean_object* v___x_2705_, lean_object* v___x_2706_, lean_object* v_ysx2_2707_, uint8_t v___y_2708_, lean_object* v___x_2709_, lean_object* v___x_2710_, lean_object* v_tail_2711_, lean_object* v___x_2712_, lean_object* v_as_2713_, lean_object* v_i_2714_, lean_object* v_j_2715_, lean_object* v_inv_2716_, lean_object* v_bs_2717_, lean_object* v___y_2718_, lean_object* v___y_2719_, lean_object* v___y_2720_, lean_object* v___y_2721_){
_start:
{
lean_object* v___x_2723_; 
v___x_2723_ = l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___redArg(v_val_2700_, v_P_2701_, v_xs1_2702_, v_xs2_2703_, v_indName_2704_, v___x_2705_, v___x_2706_, v_ysx2_2707_, v___y_2708_, v___x_2709_, v___x_2710_, v_tail_2711_, v___x_2712_, v_as_2713_, v_i_2714_, v_j_2715_, v_bs_2717_, v___y_2718_, v___y_2719_, v___y_2720_, v___y_2721_);
return v___x_2723_;
}
}
LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5___boxed(lean_object** _args){
lean_object* v_val_2724_ = _args[0];
lean_object* v_P_2725_ = _args[1];
lean_object* v_xs1_2726_ = _args[2];
lean_object* v_xs2_2727_ = _args[3];
lean_object* v_indName_2728_ = _args[4];
lean_object* v___x_2729_ = _args[5];
lean_object* v___x_2730_ = _args[6];
lean_object* v_ysx2_2731_ = _args[7];
lean_object* v___y_2732_ = _args[8];
lean_object* v___x_2733_ = _args[9];
lean_object* v___x_2734_ = _args[10];
lean_object* v_tail_2735_ = _args[11];
lean_object* v___x_2736_ = _args[12];
lean_object* v_as_2737_ = _args[13];
lean_object* v_i_2738_ = _args[14];
lean_object* v_j_2739_ = _args[15];
lean_object* v_inv_2740_ = _args[16];
lean_object* v_bs_2741_ = _args[17];
lean_object* v___y_2742_ = _args[18];
lean_object* v___y_2743_ = _args[19];
lean_object* v___y_2744_ = _args[20];
lean_object* v___y_2745_ = _args[21];
lean_object* v___y_2746_ = _args[22];
_start:
{
uint8_t v___y_19057__boxed_2747_; lean_object* v_res_2748_; 
v___y_19057__boxed_2747_ = lean_unbox(v___y_2732_);
v_res_2748_ = l_Array_mapFinIdxM_map___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__5(v_val_2724_, v_P_2725_, v_xs1_2726_, v_xs2_2727_, v_indName_2728_, v___x_2729_, v___x_2730_, v_ysx2_2731_, v___y_19057__boxed_2747_, v___x_2733_, v___x_2734_, v_tail_2735_, v___x_2736_, v_as_2737_, v_i_2738_, v_j_2739_, v_inv_2740_, v_bs_2741_, v___y_2742_, v___y_2743_, v___y_2744_, v___y_2745_);
lean_dec_ref(v_as_2737_);
return v_res_2748_;
}
}
LEAN_EXPORT lean_object* l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8(lean_object* v_declName_2749_, uint8_t v_s_2750_, lean_object* v___y_2751_, lean_object* v___y_2752_, lean_object* v___y_2753_, lean_object* v___y_2754_){
_start:
{
lean_object* v___x_2756_; 
v___x_2756_ = l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg(v_declName_2749_, v_s_2750_, v___y_2752_, v___y_2754_);
return v___x_2756_;
}
}
LEAN_EXPORT lean_object* l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___boxed(lean_object* v_declName_2757_, lean_object* v_s_2758_, lean_object* v___y_2759_, lean_object* v___y_2760_, lean_object* v___y_2761_, lean_object* v___y_2762_, lean_object* v___y_2763_){
_start:
{
uint8_t v_s_boxed_2764_; lean_object* v_res_2765_; 
v_s_boxed_2764_ = lean_unbox(v_s_2758_);
v_res_2765_ = l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8(v_declName_2757_, v_s_boxed_2764_, v___y_2759_, v___y_2760_, v___y_2761_, v___y_2762_);
lean_dec(v___y_2762_);
lean_dec_ref(v___y_2761_);
lean_dec(v___y_2760_);
lean_dec_ref(v___y_2759_);
return v_res_2765_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0(lean_object* v_00_u03b1_2766_, lean_object* v_constName_2767_, lean_object* v___y_2768_, lean_object* v___y_2769_, lean_object* v___y_2770_, lean_object* v___y_2771_){
_start:
{
lean_object* v___x_2773_; 
v___x_2773_ = l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0___redArg(v_constName_2767_, v___y_2768_, v___y_2769_, v___y_2770_, v___y_2771_);
return v___x_2773_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0___boxed(lean_object* v_00_u03b1_2774_, lean_object* v_constName_2775_, lean_object* v___y_2776_, lean_object* v___y_2777_, lean_object* v___y_2778_, lean_object* v___y_2779_, lean_object* v___y_2780_){
_start:
{
lean_object* v_res_2781_; 
v_res_2781_ = l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0(v_00_u03b1_2774_, v_constName_2775_, v___y_2776_, v___y_2777_, v___y_2778_, v___y_2779_);
lean_dec(v___y_2779_);
lean_dec(v___y_2777_);
lean_dec_ref(v___y_2776_);
return v_res_2781_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4(lean_object* v_00_u03b1_2782_, lean_object* v_ref_2783_, lean_object* v_constName_2784_, lean_object* v___y_2785_, lean_object* v___y_2786_, lean_object* v___y_2787_, lean_object* v___y_2788_){
_start:
{
lean_object* v___x_2790_; 
v___x_2790_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4___redArg(v_ref_2783_, v_constName_2784_, v___y_2785_, v___y_2786_, v___y_2787_, v___y_2788_);
return v___x_2790_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4___boxed(lean_object* v_00_u03b1_2791_, lean_object* v_ref_2792_, lean_object* v_constName_2793_, lean_object* v___y_2794_, lean_object* v___y_2795_, lean_object* v___y_2796_, lean_object* v___y_2797_, lean_object* v___y_2798_){
_start:
{
lean_object* v_res_2799_; 
v_res_2799_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4(v_00_u03b1_2791_, v_ref_2792_, v_constName_2793_, v___y_2794_, v___y_2795_, v___y_2796_, v___y_2797_);
lean_dec(v___y_2797_);
lean_dec(v___y_2795_);
lean_dec_ref(v___y_2794_);
lean_dec(v_ref_2792_);
return v_res_2799_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11(lean_object* v_00_u03b1_2800_, lean_object* v_ref_2801_, lean_object* v_msg_2802_, lean_object* v_declHint_2803_, lean_object* v___y_2804_, lean_object* v___y_2805_, lean_object* v___y_2806_, lean_object* v___y_2807_){
_start:
{
lean_object* v___x_2809_; 
v___x_2809_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11___redArg(v_ref_2801_, v_msg_2802_, v_declHint_2803_, v___y_2804_, v___y_2805_, v___y_2806_, v___y_2807_);
return v___x_2809_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11___boxed(lean_object* v_00_u03b1_2810_, lean_object* v_ref_2811_, lean_object* v_msg_2812_, lean_object* v_declHint_2813_, lean_object* v___y_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_res_2819_; 
v_res_2819_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11(v_00_u03b1_2810_, v_ref_2811_, v_msg_2812_, v_declHint_2813_, v___y_2814_, v___y_2815_, v___y_2816_, v___y_2817_);
lean_dec(v___y_2817_);
lean_dec(v___y_2815_);
lean_dec_ref(v___y_2814_);
lean_dec(v_ref_2811_);
return v_res_2819_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13(lean_object* v_msg_2820_, lean_object* v_declHint_2821_, lean_object* v___y_2822_, lean_object* v___y_2823_, lean_object* v___y_2824_, lean_object* v___y_2825_){
_start:
{
lean_object* v___x_2827_; 
v___x_2827_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___redArg(v_msg_2820_, v_declHint_2821_, v___y_2825_);
return v___x_2827_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13___boxed(lean_object* v_msg_2828_, lean_object* v_declHint_2829_, lean_object* v___y_2830_, lean_object* v___y_2831_, lean_object* v___y_2832_, lean_object* v___y_2833_, lean_object* v___y_2834_){
_start:
{
lean_object* v_res_2835_; 
v_res_2835_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__12_spec__13(v_msg_2828_, v_declHint_2829_, v___y_2830_, v___y_2831_, v___y_2832_, v___y_2833_);
lean_dec(v___y_2833_);
lean_dec_ref(v___y_2832_);
lean_dec(v___y_2831_);
lean_dec_ref(v___y_2830_);
return v_res_2835_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__13(lean_object* v_00_u03b1_2836_, lean_object* v_ref_2837_, lean_object* v_msg_2838_, lean_object* v___y_2839_, lean_object* v___y_2840_, lean_object* v___y_2841_, lean_object* v___y_2842_){
_start:
{
lean_object* v___x_2844_; 
v___x_2844_ = l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__13___redArg(v_ref_2837_, v_msg_2838_, v___y_2839_, v___y_2840_, v___y_2841_, v___y_2842_);
return v___x_2844_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__13___boxed(lean_object* v_00_u03b1_2845_, lean_object* v_ref_2846_, lean_object* v_msg_2847_, lean_object* v___y_2848_, lean_object* v___y_2849_, lean_object* v___y_2850_, lean_object* v___y_2851_, lean_object* v___y_2852_){
_start:
{
lean_object* v_res_2853_; 
v_res_2853_ = l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0_spec__0_spec__4_spec__11_spec__13(v_00_u03b1_2845_, v_ref_2846_, v_msg_2847_, v___y_2848_, v___y_2849_, v___y_2850_, v___y_2851_);
lean_dec(v___y_2851_);
lean_dec(v___y_2849_);
lean_dec_ref(v___y_2848_);
lean_dec(v_ref_2846_);
return v_res_2853_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg___lam__0___boxed(lean_object* v_x_2854_, lean_object* v_xs_2855_, lean_object* v_k_2856_, lean_object* v_tail_2857_, lean_object* v_tail_2858_, lean_object* v_v_2859_, lean_object* v___y_2860_, lean_object* v___y_2861_, lean_object* v___y_2862_, lean_object* v___y_2863_, lean_object* v___y_2864_){
_start:
{
lean_object* v_res_2865_; 
v_res_2865_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg___lam__0(v_x_2854_, v_xs_2855_, v_k_2856_, v_tail_2857_, v_tail_2858_, v_v_2859_, v___y_2860_, v___y_2861_, v___y_2862_, v___y_2863_);
return v_res_2865_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg(lean_object* v_xs_2869_, lean_object* v_k_2870_, lean_object* v_x_2871_, lean_object* v_x_2872_, lean_object* v_x_2873_, lean_object* v_a_2874_, lean_object* v_a_2875_, lean_object* v_a_2876_, lean_object* v_a_2877_){
_start:
{
if (lean_obj_tag(v_x_2871_) == 1)
{
if (lean_obj_tag(v_x_2872_) == 1)
{
lean_object* v_head_2879_; lean_object* v_tail_2880_; lean_object* v_head_2881_; lean_object* v_tail_2882_; lean_object* v___x_2883_; 
v_head_2879_ = lean_ctor_get(v_x_2871_, 0);
lean_inc(v_head_2879_);
v_tail_2880_ = lean_ctor_get(v_x_2871_, 1);
lean_inc(v_tail_2880_);
lean_dec_ref(v_x_2871_);
v_head_2881_ = lean_ctor_get(v_x_2872_, 0);
lean_inc(v_head_2881_);
v_tail_2882_ = lean_ctor_get(v_x_2872_, 1);
lean_inc(v_tail_2882_);
lean_dec_ref(v_x_2872_);
lean_inc(v_a_2877_);
lean_inc_ref(v_a_2876_);
lean_inc(v_a_2875_);
lean_inc_ref(v_a_2874_);
v___x_2883_ = l_Lean_Meta_mkEqHEq(v_head_2879_, v_head_2881_, v_a_2874_, v_a_2875_, v_a_2876_, v_a_2877_);
if (lean_obj_tag(v___x_2883_) == 0)
{
lean_object* v_a_2884_; lean_object* v___f_2885_; lean_object* v___x_2886_; lean_object* v___x_2887_; uint8_t v___x_2888_; 
v_a_2884_ = lean_ctor_get(v___x_2883_, 0);
lean_inc(v_a_2884_);
lean_dec_ref(v___x_2883_);
lean_inc_ref(v_xs_2869_);
lean_inc_ref(v_x_2873_);
v___f_2885_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg___lam__0___boxed), 11, 5);
lean_closure_set(v___f_2885_, 0, v_x_2873_);
lean_closure_set(v___f_2885_, 1, v_xs_2869_);
lean_closure_set(v___f_2885_, 2, v_k_2870_);
lean_closure_set(v___f_2885_, 3, v_tail_2880_);
lean_closure_set(v___f_2885_, 4, v_tail_2882_);
v___x_2886_ = lean_unsigned_to_nat(1u);
v___x_2887_ = lean_array_get_size(v_xs_2869_);
lean_dec_ref(v_xs_2869_);
v___x_2888_ = lean_nat_dec_lt(v___x_2886_, v___x_2887_);
if (v___x_2888_ == 0)
{
lean_object* v___x_2889_; lean_object* v___x_2890_; 
lean_dec_ref(v_x_2873_);
v___x_2889_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg___closed__1));
v___x_2890_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg(v___x_2889_, v_a_2884_, v___f_2885_, v_a_2874_, v_a_2875_, v_a_2876_, v_a_2877_);
return v___x_2890_;
}
else
{
lean_object* v___x_2891_; lean_object* v___x_2892_; lean_object* v___x_2893_; lean_object* v___x_2894_; lean_object* v___x_2895_; 
v___x_2891_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg___closed__1));
v___x_2892_ = lean_array_get_size(v_x_2873_);
lean_dec_ref(v_x_2873_);
v___x_2893_ = lean_nat_add(v___x_2892_, v___x_2886_);
v___x_2894_ = lean_name_append_index_after(v___x_2891_, v___x_2893_);
v___x_2895_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg(v___x_2894_, v_a_2884_, v___f_2885_, v_a_2874_, v_a_2875_, v_a_2876_, v_a_2877_);
return v___x_2895_;
}
}
else
{
lean_object* v_a_2896_; lean_object* v___x_2898_; uint8_t v_isShared_2899_; uint8_t v_isSharedCheck_2903_; 
lean_dec(v_tail_2882_);
lean_dec(v_tail_2880_);
lean_dec(v_a_2877_);
lean_dec_ref(v_a_2876_);
lean_dec(v_a_2875_);
lean_dec_ref(v_a_2874_);
lean_dec_ref(v_x_2873_);
lean_dec_ref(v_k_2870_);
lean_dec_ref(v_xs_2869_);
v_a_2896_ = lean_ctor_get(v___x_2883_, 0);
v_isSharedCheck_2903_ = !lean_is_exclusive(v___x_2883_);
if (v_isSharedCheck_2903_ == 0)
{
v___x_2898_ = v___x_2883_;
v_isShared_2899_ = v_isSharedCheck_2903_;
goto v_resetjp_2897_;
}
else
{
lean_inc(v_a_2896_);
lean_dec(v___x_2883_);
v___x_2898_ = lean_box(0);
v_isShared_2899_ = v_isSharedCheck_2903_;
goto v_resetjp_2897_;
}
v_resetjp_2897_:
{
lean_object* v___x_2901_; 
if (v_isShared_2899_ == 0)
{
v___x_2901_ = v___x_2898_;
goto v_reusejp_2900_;
}
else
{
lean_object* v_reuseFailAlloc_2902_; 
v_reuseFailAlloc_2902_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2902_, 0, v_a_2896_);
v___x_2901_ = v_reuseFailAlloc_2902_;
goto v_reusejp_2900_;
}
v_reusejp_2900_:
{
return v___x_2901_;
}
}
}
}
else
{
lean_object* v___x_2904_; 
lean_dec_ref(v_x_2871_);
lean_dec(v_x_2872_);
lean_dec_ref(v_xs_2869_);
v___x_2904_ = lean_apply_6(v_k_2870_, v_x_2873_, v_a_2874_, v_a_2875_, v_a_2876_, v_a_2877_, lean_box(0));
return v___x_2904_;
}
}
else
{
lean_object* v___x_2905_; 
lean_dec(v_x_2872_);
lean_dec(v_x_2871_);
lean_dec_ref(v_xs_2869_);
v___x_2905_ = lean_apply_6(v_k_2870_, v_x_2873_, v_a_2874_, v_a_2875_, v_a_2876_, v_a_2877_, lean_box(0));
return v___x_2905_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg___lam__0(lean_object* v_x_2906_, lean_object* v_xs_2907_, lean_object* v_k_2908_, lean_object* v_tail_2909_, lean_object* v_tail_2910_, lean_object* v_v_2911_, lean_object* v___y_2912_, lean_object* v___y_2913_, lean_object* v___y_2914_, lean_object* v___y_2915_){
_start:
{
lean_object* v___x_2917_; lean_object* v___x_2918_; 
v___x_2917_ = lean_array_push(v_x_2906_, v_v_2911_);
v___x_2918_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg(v_xs_2907_, v_k_2908_, v_tail_2909_, v_tail_2910_, v___x_2917_, v___y_2912_, v___y_2913_, v___y_2914_, v___y_2915_);
return v___x_2918_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg___boxed(lean_object* v_xs_2919_, lean_object* v_k_2920_, lean_object* v_x_2921_, lean_object* v_x_2922_, lean_object* v_x_2923_, lean_object* v_a_2924_, lean_object* v_a_2925_, lean_object* v_a_2926_, lean_object* v_a_2927_, lean_object* v_a_2928_){
_start:
{
lean_object* v_res_2929_; 
v_res_2929_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg(v_xs_2919_, v_k_2920_, v_x_2921_, v_x_2922_, v_x_2923_, v_a_2924_, v_a_2925_, v_a_2926_, v_a_2927_);
return v_res_2929_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go(lean_object* v_00_u03b1_2930_, lean_object* v_xs_2931_, lean_object* v_k_2932_, lean_object* v_x_2933_, lean_object* v_x_2934_, lean_object* v_x_2935_, lean_object* v_a_2936_, lean_object* v_a_2937_, lean_object* v_a_2938_, lean_object* v_a_2939_){
_start:
{
lean_object* v___x_2941_; 
v___x_2941_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg(v_xs_2931_, v_k_2932_, v_x_2933_, v_x_2934_, v_x_2935_, v_a_2936_, v_a_2937_, v_a_2938_, v_a_2939_);
return v___x_2941_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___boxed(lean_object* v_00_u03b1_2942_, lean_object* v_xs_2943_, lean_object* v_k_2944_, lean_object* v_x_2945_, lean_object* v_x_2946_, lean_object* v_x_2947_, lean_object* v_a_2948_, lean_object* v_a_2949_, lean_object* v_a_2950_, lean_object* v_a_2951_, lean_object* v_a_2952_){
_start:
{
lean_object* v_res_2953_; 
v_res_2953_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go(v_00_u03b1_2942_, v_xs_2943_, v_k_2944_, v_x_2945_, v_x_2946_, v_x_2947_, v_a_2948_, v_a_2949_, v_a_2950_, v_a_2951_);
return v_res_2953_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope___redArg(lean_object* v_xs_2956_, lean_object* v_ys_2957_, lean_object* v_k_2958_, lean_object* v_a_2959_, lean_object* v_a_2960_, lean_object* v_a_2961_, lean_object* v_a_2962_){
_start:
{
lean_object* v___x_2964_; lean_object* v___x_2965_; lean_object* v___x_2966_; lean_object* v___x_2967_; 
lean_inc_ref(v_xs_2956_);
v___x_2964_ = lean_array_to_list(v_xs_2956_);
v___x_2965_ = lean_array_to_list(v_ys_2957_);
v___x_2966_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope___redArg___closed__0));
v___x_2967_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg(v_xs_2956_, v_k_2958_, v___x_2964_, v___x_2965_, v___x_2966_, v_a_2959_, v_a_2960_, v_a_2961_, v_a_2962_);
return v___x_2967_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope___redArg___boxed(lean_object* v_xs_2968_, lean_object* v_ys_2969_, lean_object* v_k_2970_, lean_object* v_a_2971_, lean_object* v_a_2972_, lean_object* v_a_2973_, lean_object* v_a_2974_, lean_object* v_a_2975_){
_start:
{
lean_object* v_res_2976_; 
v_res_2976_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope___redArg(v_xs_2968_, v_ys_2969_, v_k_2970_, v_a_2971_, v_a_2972_, v_a_2973_, v_a_2974_);
return v_res_2976_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope(lean_object* v_00_u03b1_2977_, lean_object* v_inst_2978_, lean_object* v_xs_2979_, lean_object* v_ys_2980_, lean_object* v_k_2981_, lean_object* v_a_2982_, lean_object* v_a_2983_, lean_object* v_a_2984_, lean_object* v_a_2985_){
_start:
{
lean_object* v___x_2987_; 
v___x_2987_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope___redArg(v_xs_2979_, v_ys_2980_, v_k_2981_, v_a_2982_, v_a_2983_, v_a_2984_, v_a_2985_);
return v___x_2987_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope___boxed(lean_object* v_00_u03b1_2988_, lean_object* v_inst_2989_, lean_object* v_xs_2990_, lean_object* v_ys_2991_, lean_object* v_k_2992_, lean_object* v_a_2993_, lean_object* v_a_2994_, lean_object* v_a_2995_, lean_object* v_a_2996_, lean_object* v_a_2997_){
_start:
{
lean_object* v_res_2998_; 
v_res_2998_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope(v_00_u03b1_2988_, v_inst_2989_, v_xs_2990_, v_ys_2991_, v_k_2992_, v_a_2993_, v_a_2994_, v_a_2995_, v_a_2996_);
lean_dec(v_inst_2989_);
return v_res_2998_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope_go___redArg___lam__0___boxed(lean_object* v_x_2999_, lean_object* v_x_3000_, lean_object* v_xs_3001_, lean_object* v_k_3002_, lean_object* v_tail_3003_, lean_object* v_tail_3004_, lean_object* v_v_3005_, lean_object* v___y_3006_, lean_object* v___y_3007_, lean_object* v___y_3008_, lean_object* v___y_3009_, lean_object* v___y_3010_){
_start:
{
lean_object* v_res_3011_; 
v_res_3011_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope_go___redArg___lam__0(v_x_2999_, v_x_3000_, v_xs_3001_, v_k_3002_, v_tail_3003_, v_tail_3004_, v_v_3005_, v___y_3006_, v___y_3007_, v___y_3008_, v___y_3009_);
return v_res_3011_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope_go___redArg(lean_object* v_xs_3012_, lean_object* v_k_3013_, lean_object* v_x_3014_, lean_object* v_x_3015_, lean_object* v_x_3016_, lean_object* v_x_3017_, lean_object* v_a_3018_, lean_object* v_a_3019_, lean_object* v_a_3020_, lean_object* v_a_3021_){
_start:
{
if (lean_obj_tag(v_x_3014_) == 1)
{
if (lean_obj_tag(v_x_3015_) == 1)
{
lean_object* v_head_3023_; lean_object* v_tail_3024_; lean_object* v_head_3025_; lean_object* v_tail_3026_; lean_object* v___x_3027_; 
v_head_3023_ = lean_ctor_get(v_x_3014_, 0);
lean_inc(v_head_3023_);
v_tail_3024_ = lean_ctor_get(v_x_3014_, 1);
lean_inc(v_tail_3024_);
lean_dec_ref(v_x_3014_);
v_head_3025_ = lean_ctor_get(v_x_3015_, 0);
lean_inc(v_head_3025_);
v_tail_3026_ = lean_ctor_get(v_x_3015_, 1);
lean_inc(v_tail_3026_);
lean_dec_ref(v_x_3015_);
lean_inc(v_a_3021_);
lean_inc_ref(v_a_3020_);
lean_inc(v_a_3019_);
lean_inc_ref(v_a_3018_);
lean_inc(v_head_3025_);
lean_inc(v_head_3023_);
v___x_3027_ = l_Lean_Meta_isExprDefEq(v_head_3023_, v_head_3025_, v_a_3018_, v_a_3019_, v_a_3020_, v_a_3021_);
if (lean_obj_tag(v___x_3027_) == 0)
{
lean_object* v_a_3028_; lean_object* v___f_3029_; uint8_t v___x_3051_; 
v_a_3028_ = lean_ctor_get(v___x_3027_, 0);
lean_inc(v_a_3028_);
lean_dec_ref(v___x_3027_);
lean_inc(v_tail_3026_);
lean_inc(v_tail_3024_);
lean_inc_ref(v_k_3013_);
lean_inc_ref(v_xs_3012_);
lean_inc_ref(v_x_3017_);
lean_inc_ref(v_x_3016_);
v___f_3029_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope_go___redArg___lam__0___boxed), 12, 6);
lean_closure_set(v___f_3029_, 0, v_x_3016_);
lean_closure_set(v___f_3029_, 1, v_x_3017_);
lean_closure_set(v___f_3029_, 2, v_xs_3012_);
lean_closure_set(v___f_3029_, 3, v_k_3013_);
lean_closure_set(v___f_3029_, 4, v_tail_3024_);
lean_closure_set(v___f_3029_, 5, v_tail_3026_);
v___x_3051_ = l_List_isEmpty___redArg(v_tail_3024_);
if (v___x_3051_ == 0)
{
uint8_t v___x_3052_; 
v___x_3052_ = lean_unbox(v_a_3028_);
lean_dec(v_a_3028_);
if (v___x_3052_ == 0)
{
lean_dec(v_tail_3026_);
lean_dec(v_tail_3024_);
lean_dec_ref(v_x_3016_);
lean_dec_ref(v_k_3013_);
goto v___jp_3030_;
}
else
{
lean_object* v___x_3053_; 
lean_dec_ref(v___f_3029_);
lean_dec(v_head_3025_);
lean_inc(v_a_3021_);
lean_inc_ref(v_a_3020_);
lean_inc(v_a_3019_);
lean_inc_ref(v_a_3018_);
v___x_3053_ = l_Lean_Meta_mkEqRefl(v_head_3023_, v_a_3018_, v_a_3019_, v_a_3020_, v_a_3021_);
if (lean_obj_tag(v___x_3053_) == 0)
{
lean_object* v_a_3054_; lean_object* v___x_3055_; 
v_a_3054_ = lean_ctor_get(v___x_3053_, 0);
lean_inc(v_a_3054_);
lean_dec_ref(v___x_3053_);
v___x_3055_ = lean_array_push(v_x_3017_, v_a_3054_);
v_x_3014_ = v_tail_3024_;
v_x_3015_ = v_tail_3026_;
v_x_3017_ = v___x_3055_;
goto _start;
}
else
{
lean_object* v_a_3057_; lean_object* v___x_3059_; uint8_t v_isShared_3060_; uint8_t v_isSharedCheck_3064_; 
lean_dec(v_tail_3026_);
lean_dec(v_tail_3024_);
lean_dec(v_a_3021_);
lean_dec_ref(v_a_3020_);
lean_dec(v_a_3019_);
lean_dec_ref(v_a_3018_);
lean_dec_ref(v_x_3017_);
lean_dec_ref(v_x_3016_);
lean_dec_ref(v_k_3013_);
lean_dec_ref(v_xs_3012_);
v_a_3057_ = lean_ctor_get(v___x_3053_, 0);
v_isSharedCheck_3064_ = !lean_is_exclusive(v___x_3053_);
if (v_isSharedCheck_3064_ == 0)
{
v___x_3059_ = v___x_3053_;
v_isShared_3060_ = v_isSharedCheck_3064_;
goto v_resetjp_3058_;
}
else
{
lean_inc(v_a_3057_);
lean_dec(v___x_3053_);
v___x_3059_ = lean_box(0);
v_isShared_3060_ = v_isSharedCheck_3064_;
goto v_resetjp_3058_;
}
v_resetjp_3058_:
{
lean_object* v___x_3062_; 
if (v_isShared_3060_ == 0)
{
v___x_3062_ = v___x_3059_;
goto v_reusejp_3061_;
}
else
{
lean_object* v_reuseFailAlloc_3063_; 
v_reuseFailAlloc_3063_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3063_, 0, v_a_3057_);
v___x_3062_ = v_reuseFailAlloc_3063_;
goto v_reusejp_3061_;
}
v_reusejp_3061_:
{
return v___x_3062_;
}
}
}
}
}
else
{
lean_dec(v_a_3028_);
lean_dec(v_tail_3026_);
lean_dec(v_tail_3024_);
lean_dec_ref(v_x_3016_);
lean_dec_ref(v_k_3013_);
goto v___jp_3030_;
}
v___jp_3030_:
{
lean_object* v___x_3031_; 
lean_inc(v_a_3021_);
lean_inc_ref(v_a_3020_);
lean_inc(v_a_3019_);
lean_inc_ref(v_a_3018_);
v___x_3031_ = l_Lean_Meta_mkEqHEq(v_head_3023_, v_head_3025_, v_a_3018_, v_a_3019_, v_a_3020_, v_a_3021_);
if (lean_obj_tag(v___x_3031_) == 0)
{
lean_object* v_a_3032_; lean_object* v___x_3033_; lean_object* v___x_3034_; uint8_t v___x_3035_; 
v_a_3032_ = lean_ctor_get(v___x_3031_, 0);
lean_inc(v_a_3032_);
lean_dec_ref(v___x_3031_);
v___x_3033_ = lean_unsigned_to_nat(1u);
v___x_3034_ = lean_array_get_size(v_xs_3012_);
lean_dec_ref(v_xs_3012_);
v___x_3035_ = lean_nat_dec_lt(v___x_3033_, v___x_3034_);
if (v___x_3035_ == 0)
{
lean_object* v___x_3036_; lean_object* v___x_3037_; 
lean_dec_ref(v_x_3017_);
v___x_3036_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg___closed__1));
v___x_3037_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg(v___x_3036_, v_a_3032_, v___f_3029_, v_a_3018_, v_a_3019_, v_a_3020_, v_a_3021_);
return v___x_3037_;
}
else
{
lean_object* v___x_3038_; lean_object* v___x_3039_; lean_object* v___x_3040_; lean_object* v___x_3041_; lean_object* v___x_3042_; 
v___x_3038_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope_go___redArg___closed__1));
v___x_3039_ = lean_array_get_size(v_x_3017_);
lean_dec_ref(v_x_3017_);
v___x_3040_ = lean_nat_add(v___x_3039_, v___x_3033_);
v___x_3041_ = lean_name_append_index_after(v___x_3038_, v___x_3040_);
v___x_3042_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg(v___x_3041_, v_a_3032_, v___f_3029_, v_a_3018_, v_a_3019_, v_a_3020_, v_a_3021_);
return v___x_3042_;
}
}
else
{
lean_object* v_a_3043_; lean_object* v___x_3045_; uint8_t v_isShared_3046_; uint8_t v_isSharedCheck_3050_; 
lean_dec_ref(v___f_3029_);
lean_dec(v_a_3021_);
lean_dec_ref(v_a_3020_);
lean_dec(v_a_3019_);
lean_dec_ref(v_a_3018_);
lean_dec_ref(v_x_3017_);
lean_dec_ref(v_xs_3012_);
v_a_3043_ = lean_ctor_get(v___x_3031_, 0);
v_isSharedCheck_3050_ = !lean_is_exclusive(v___x_3031_);
if (v_isSharedCheck_3050_ == 0)
{
v___x_3045_ = v___x_3031_;
v_isShared_3046_ = v_isSharedCheck_3050_;
goto v_resetjp_3044_;
}
else
{
lean_inc(v_a_3043_);
lean_dec(v___x_3031_);
v___x_3045_ = lean_box(0);
v_isShared_3046_ = v_isSharedCheck_3050_;
goto v_resetjp_3044_;
}
v_resetjp_3044_:
{
lean_object* v___x_3048_; 
if (v_isShared_3046_ == 0)
{
v___x_3048_ = v___x_3045_;
goto v_reusejp_3047_;
}
else
{
lean_object* v_reuseFailAlloc_3049_; 
v_reuseFailAlloc_3049_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3049_, 0, v_a_3043_);
v___x_3048_ = v_reuseFailAlloc_3049_;
goto v_reusejp_3047_;
}
v_reusejp_3047_:
{
return v___x_3048_;
}
}
}
}
}
else
{
lean_object* v_a_3065_; lean_object* v___x_3067_; uint8_t v_isShared_3068_; uint8_t v_isSharedCheck_3072_; 
lean_dec(v_tail_3026_);
lean_dec(v_head_3025_);
lean_dec(v_tail_3024_);
lean_dec(v_head_3023_);
lean_dec(v_a_3021_);
lean_dec_ref(v_a_3020_);
lean_dec(v_a_3019_);
lean_dec_ref(v_a_3018_);
lean_dec_ref(v_x_3017_);
lean_dec_ref(v_x_3016_);
lean_dec_ref(v_k_3013_);
lean_dec_ref(v_xs_3012_);
v_a_3065_ = lean_ctor_get(v___x_3027_, 0);
v_isSharedCheck_3072_ = !lean_is_exclusive(v___x_3027_);
if (v_isSharedCheck_3072_ == 0)
{
v___x_3067_ = v___x_3027_;
v_isShared_3068_ = v_isSharedCheck_3072_;
goto v_resetjp_3066_;
}
else
{
lean_inc(v_a_3065_);
lean_dec(v___x_3027_);
v___x_3067_ = lean_box(0);
v_isShared_3068_ = v_isSharedCheck_3072_;
goto v_resetjp_3066_;
}
v_resetjp_3066_:
{
lean_object* v___x_3070_; 
if (v_isShared_3068_ == 0)
{
v___x_3070_ = v___x_3067_;
goto v_reusejp_3069_;
}
else
{
lean_object* v_reuseFailAlloc_3071_; 
v_reuseFailAlloc_3071_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3071_, 0, v_a_3065_);
v___x_3070_ = v_reuseFailAlloc_3071_;
goto v_reusejp_3069_;
}
v_reusejp_3069_:
{
return v___x_3070_;
}
}
}
}
else
{
lean_object* v___x_3073_; 
lean_dec_ref(v_x_3014_);
lean_dec(v_x_3015_);
lean_dec_ref(v_xs_3012_);
v___x_3073_ = lean_apply_7(v_k_3013_, v_x_3016_, v_x_3017_, v_a_3018_, v_a_3019_, v_a_3020_, v_a_3021_, lean_box(0));
return v___x_3073_;
}
}
else
{
lean_object* v___x_3074_; 
lean_dec(v_x_3015_);
lean_dec(v_x_3014_);
lean_dec_ref(v_xs_3012_);
v___x_3074_ = lean_apply_7(v_k_3013_, v_x_3016_, v_x_3017_, v_a_3018_, v_a_3019_, v_a_3020_, v_a_3021_, lean_box(0));
return v___x_3074_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope_go___redArg___lam__0(lean_object* v_x_3075_, lean_object* v_x_3076_, lean_object* v_xs_3077_, lean_object* v_k_3078_, lean_object* v_tail_3079_, lean_object* v_tail_3080_, lean_object* v_v_3081_, lean_object* v___y_3082_, lean_object* v___y_3083_, lean_object* v___y_3084_, lean_object* v___y_3085_){
_start:
{
lean_object* v___x_3087_; lean_object* v___x_3088_; lean_object* v___x_3089_; 
lean_inc_ref(v_v_3081_);
v___x_3087_ = lean_array_push(v_x_3075_, v_v_3081_);
v___x_3088_ = lean_array_push(v_x_3076_, v_v_3081_);
v___x_3089_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope_go___redArg(v_xs_3077_, v_k_3078_, v_tail_3079_, v_tail_3080_, v___x_3087_, v___x_3088_, v___y_3082_, v___y_3083_, v___y_3084_, v___y_3085_);
return v___x_3089_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope_go___redArg___boxed(lean_object* v_xs_3090_, lean_object* v_k_3091_, lean_object* v_x_3092_, lean_object* v_x_3093_, lean_object* v_x_3094_, lean_object* v_x_3095_, lean_object* v_a_3096_, lean_object* v_a_3097_, lean_object* v_a_3098_, lean_object* v_a_3099_, lean_object* v_a_3100_){
_start:
{
lean_object* v_res_3101_; 
v_res_3101_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope_go___redArg(v_xs_3090_, v_k_3091_, v_x_3092_, v_x_3093_, v_x_3094_, v_x_3095_, v_a_3096_, v_a_3097_, v_a_3098_, v_a_3099_);
return v_res_3101_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope_go(lean_object* v_00_u03b1_3102_, lean_object* v_xs_3103_, lean_object* v_k_3104_, lean_object* v_x_3105_, lean_object* v_x_3106_, lean_object* v_x_3107_, lean_object* v_x_3108_, lean_object* v_a_3109_, lean_object* v_a_3110_, lean_object* v_a_3111_, lean_object* v_a_3112_){
_start:
{
lean_object* v___x_3114_; 
v___x_3114_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope_go___redArg(v_xs_3103_, v_k_3104_, v_x_3105_, v_x_3106_, v_x_3107_, v_x_3108_, v_a_3109_, v_a_3110_, v_a_3111_, v_a_3112_);
return v___x_3114_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope_go___boxed(lean_object* v_00_u03b1_3115_, lean_object* v_xs_3116_, lean_object* v_k_3117_, lean_object* v_x_3118_, lean_object* v_x_3119_, lean_object* v_x_3120_, lean_object* v_x_3121_, lean_object* v_a_3122_, lean_object* v_a_3123_, lean_object* v_a_3124_, lean_object* v_a_3125_, lean_object* v_a_3126_){
_start:
{
lean_object* v_res_3127_; 
v_res_3127_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope_go(v_00_u03b1_3115_, v_xs_3116_, v_k_3117_, v_x_3118_, v_x_3119_, v_x_3120_, v_x_3121_, v_a_3122_, v_a_3123_, v_a_3124_, v_a_3125_);
return v_res_3127_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope___redArg(lean_object* v_xs_3128_, lean_object* v_ys_3129_, lean_object* v_k_3130_, lean_object* v_a_3131_, lean_object* v_a_3132_, lean_object* v_a_3133_, lean_object* v_a_3134_){
_start:
{
lean_object* v___x_3136_; lean_object* v___x_3137_; lean_object* v___x_3138_; lean_object* v___x_3139_; 
lean_inc_ref(v_xs_3128_);
v___x_3136_ = lean_array_to_list(v_xs_3128_);
v___x_3137_ = lean_array_to_list(v_ys_3129_);
v___x_3138_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope___redArg___closed__0));
v___x_3139_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope_go___redArg(v_xs_3128_, v_k_3130_, v___x_3136_, v___x_3137_, v___x_3138_, v___x_3138_, v_a_3131_, v_a_3132_, v_a_3133_, v_a_3134_);
return v___x_3139_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope___redArg___boxed(lean_object* v_xs_3140_, lean_object* v_ys_3141_, lean_object* v_k_3142_, lean_object* v_a_3143_, lean_object* v_a_3144_, lean_object* v_a_3145_, lean_object* v_a_3146_, lean_object* v_a_3147_){
_start:
{
lean_object* v_res_3148_; 
v_res_3148_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope___redArg(v_xs_3140_, v_ys_3141_, v_k_3142_, v_a_3143_, v_a_3144_, v_a_3145_, v_a_3146_);
return v_res_3148_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope(lean_object* v_00_u03b1_3149_, lean_object* v_inst_3150_, lean_object* v_xs_3151_, lean_object* v_ys_3152_, lean_object* v_k_3153_, lean_object* v_a_3154_, lean_object* v_a_3155_, lean_object* v_a_3156_, lean_object* v_a_3157_){
_start:
{
lean_object* v___x_3159_; 
v___x_3159_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope___redArg(v_xs_3151_, v_ys_3152_, v_k_3153_, v_a_3154_, v_a_3155_, v_a_3156_, v_a_3157_);
return v___x_3159_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope___boxed(lean_object* v_00_u03b1_3160_, lean_object* v_inst_3161_, lean_object* v_xs_3162_, lean_object* v_ys_3163_, lean_object* v_k_3164_, lean_object* v_a_3165_, lean_object* v_a_3166_, lean_object* v_a_3167_, lean_object* v_a_3168_, lean_object* v_a_3169_){
_start:
{
lean_object* v_res_3170_; 
v_res_3170_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope(v_00_u03b1_3160_, v_inst_3161_, v_xs_3162_, v_ys_3163_, v_k_3164_, v_a_3165_, v_a_3166_, v_a_3167_, v_a_3168_);
lean_dec(v_inst_3161_);
return v_res_3170_;
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0___redArg(lean_object* v_cls_3174_, lean_object* v___y_3175_){
_start:
{
lean_object* v_options_3177_; uint8_t v_hasTrace_3178_; 
v_options_3177_ = lean_ctor_get(v___y_3175_, 2);
v_hasTrace_3178_ = lean_ctor_get_uint8(v_options_3177_, sizeof(void*)*1);
if (v_hasTrace_3178_ == 0)
{
lean_object* v___x_3179_; lean_object* v___x_3180_; 
lean_dec(v_cls_3174_);
v___x_3179_ = lean_box(v_hasTrace_3178_);
v___x_3180_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3180_, 0, v___x_3179_);
return v___x_3180_;
}
else
{
lean_object* v_inheritedTraceOptions_3181_; lean_object* v___x_3182_; lean_object* v___x_3183_; uint8_t v___x_3184_; lean_object* v___x_3185_; lean_object* v___x_3186_; 
v_inheritedTraceOptions_3181_ = lean_ctor_get(v___y_3175_, 13);
v___x_3182_ = ((lean_object*)(l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0___redArg___closed__1));
v___x_3183_ = l_Lean_Name_append(v___x_3182_, v_cls_3174_);
v___x_3184_ = l___private_Lean_Util_Trace_0__Lean_checkTraceOption_go(v_inheritedTraceOptions_3181_, v_options_3177_, v___x_3183_);
lean_dec(v___x_3183_);
v___x_3185_ = lean_box(v___x_3184_);
v___x_3186_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3186_, 0, v___x_3185_);
return v___x_3186_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0___redArg___boxed(lean_object* v_cls_3187_, lean_object* v___y_3188_, lean_object* v___y_3189_){
_start:
{
lean_object* v_res_3190_; 
v_res_3190_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0___redArg(v_cls_3187_, v___y_3188_);
lean_dec_ref(v___y_3188_);
return v_res_3190_;
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0(lean_object* v_cls_3191_, lean_object* v___y_3192_, lean_object* v___y_3193_, lean_object* v___y_3194_, lean_object* v___y_3195_){
_start:
{
lean_object* v___x_3197_; 
v___x_3197_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0___redArg(v_cls_3191_, v___y_3194_);
return v___x_3197_;
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0___boxed(lean_object* v_cls_3198_, lean_object* v___y_3199_, lean_object* v___y_3200_, lean_object* v___y_3201_, lean_object* v___y_3202_, lean_object* v___y_3203_){
_start:
{
lean_object* v_res_3204_; 
v_res_3204_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0(v_cls_3198_, v___y_3199_, v___y_3200_, v___y_3201_, v___y_3202_);
lean_dec(v___y_3202_);
lean_dec_ref(v___y_3201_);
lean_dec(v___y_3200_);
lean_dec_ref(v___y_3199_);
return v_res_3204_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__2___redArg(lean_object* v_mvarId_3205_, lean_object* v_x_3206_, lean_object* v___y_3207_, lean_object* v___y_3208_, lean_object* v___y_3209_, lean_object* v___y_3210_){
_start:
{
lean_object* v___x_3212_; 
v___x_3212_ = l___private_Lean_Meta_Basic_0__Lean_Meta_withMVarContextImp(lean_box(0), v_mvarId_3205_, v_x_3206_, v___y_3207_, v___y_3208_, v___y_3209_, v___y_3210_);
if (lean_obj_tag(v___x_3212_) == 0)
{
lean_object* v_a_3213_; lean_object* v___x_3215_; uint8_t v_isShared_3216_; uint8_t v_isSharedCheck_3220_; 
v_a_3213_ = lean_ctor_get(v___x_3212_, 0);
v_isSharedCheck_3220_ = !lean_is_exclusive(v___x_3212_);
if (v_isSharedCheck_3220_ == 0)
{
v___x_3215_ = v___x_3212_;
v_isShared_3216_ = v_isSharedCheck_3220_;
goto v_resetjp_3214_;
}
else
{
lean_inc(v_a_3213_);
lean_dec(v___x_3212_);
v___x_3215_ = lean_box(0);
v_isShared_3216_ = v_isSharedCheck_3220_;
goto v_resetjp_3214_;
}
v_resetjp_3214_:
{
lean_object* v___x_3218_; 
if (v_isShared_3216_ == 0)
{
v___x_3218_ = v___x_3215_;
goto v_reusejp_3217_;
}
else
{
lean_object* v_reuseFailAlloc_3219_; 
v_reuseFailAlloc_3219_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3219_, 0, v_a_3213_);
v___x_3218_ = v_reuseFailAlloc_3219_;
goto v_reusejp_3217_;
}
v_reusejp_3217_:
{
return v___x_3218_;
}
}
}
else
{
lean_object* v_a_3221_; lean_object* v___x_3223_; uint8_t v_isShared_3224_; uint8_t v_isSharedCheck_3228_; 
v_a_3221_ = lean_ctor_get(v___x_3212_, 0);
v_isSharedCheck_3228_ = !lean_is_exclusive(v___x_3212_);
if (v_isSharedCheck_3228_ == 0)
{
v___x_3223_ = v___x_3212_;
v_isShared_3224_ = v_isSharedCheck_3228_;
goto v_resetjp_3222_;
}
else
{
lean_inc(v_a_3221_);
lean_dec(v___x_3212_);
v___x_3223_ = lean_box(0);
v_isShared_3224_ = v_isSharedCheck_3228_;
goto v_resetjp_3222_;
}
v_resetjp_3222_:
{
lean_object* v___x_3226_; 
if (v_isShared_3224_ == 0)
{
v___x_3226_ = v___x_3223_;
goto v_reusejp_3225_;
}
else
{
lean_object* v_reuseFailAlloc_3227_; 
v_reuseFailAlloc_3227_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3227_, 0, v_a_3221_);
v___x_3226_ = v_reuseFailAlloc_3227_;
goto v_reusejp_3225_;
}
v_reusejp_3225_:
{
return v___x_3226_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__2___redArg___boxed(lean_object* v_mvarId_3229_, lean_object* v_x_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_){
_start:
{
lean_object* v_res_3236_; 
v_res_3236_ = l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__2___redArg(v_mvarId_3229_, v_x_3230_, v___y_3231_, v___y_3232_, v___y_3233_, v___y_3234_);
return v_res_3236_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__2(lean_object* v_00_u03b1_3237_, lean_object* v_mvarId_3238_, lean_object* v_x_3239_, lean_object* v___y_3240_, lean_object* v___y_3241_, lean_object* v___y_3242_, lean_object* v___y_3243_){
_start:
{
lean_object* v___x_3245_; 
v___x_3245_ = l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__2___redArg(v_mvarId_3238_, v_x_3239_, v___y_3240_, v___y_3241_, v___y_3242_, v___y_3243_);
return v___x_3245_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__2___boxed(lean_object* v_00_u03b1_3246_, lean_object* v_mvarId_3247_, lean_object* v_x_3248_, lean_object* v___y_3249_, lean_object* v___y_3250_, lean_object* v___y_3251_, lean_object* v___y_3252_, lean_object* v___y_3253_){
_start:
{
lean_object* v_res_3254_; 
v_res_3254_ = l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__2(v_00_u03b1_3246_, v_mvarId_3247_, v_x_3248_, v___y_3249_, v___y_3250_, v___y_3251_, v___y_3252_);
return v_res_3254_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__3(lean_object* v_msg_3255_, lean_object* v___y_3256_, lean_object* v___y_3257_, lean_object* v___y_3258_, lean_object* v___y_3259_){
_start:
{
lean_object* v___f_3261_; lean_object* v___x_4499__overap_3262_; lean_object* v___x_3263_; 
v___f_3261_ = ((lean_object*)(l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__8___closed__0));
v___x_4499__overap_3262_ = lean_panic_fn(v___f_3261_, v_msg_3255_);
v___x_3263_ = lean_apply_5(v___x_4499__overap_3262_, v___y_3256_, v___y_3257_, v___y_3258_, v___y_3259_, lean_box(0));
return v___x_3263_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__3___boxed(lean_object* v_msg_3264_, lean_object* v___y_3265_, lean_object* v___y_3266_, lean_object* v___y_3267_, lean_object* v___y_3268_, lean_object* v___y_3269_){
_start:
{
lean_object* v_res_3270_; 
v_res_3270_ = l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__3(v_msg_3264_, v___y_3265_, v___y_3266_, v___y_3267_, v___y_3268_);
return v_res_3270_;
}
}
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__6___redArg(lean_object* v_e_3271_, lean_object* v___y_3272_){
_start:
{
uint8_t v___x_3274_; 
v___x_3274_ = l_Lean_Expr_hasMVar(v_e_3271_);
if (v___x_3274_ == 0)
{
lean_object* v___x_3275_; 
v___x_3275_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3275_, 0, v_e_3271_);
return v___x_3275_;
}
else
{
lean_object* v___x_3276_; lean_object* v_mctx_3277_; lean_object* v___x_3278_; lean_object* v_fst_3279_; lean_object* v_snd_3280_; lean_object* v___x_3281_; lean_object* v_cache_3282_; lean_object* v_zetaDeltaFVarIds_3283_; lean_object* v_postponed_3284_; lean_object* v_diag_3285_; lean_object* v___x_3287_; uint8_t v_isShared_3288_; uint8_t v_isSharedCheck_3294_; 
v___x_3276_ = lean_st_ref_get(v___y_3272_);
v_mctx_3277_ = lean_ctor_get(v___x_3276_, 0);
lean_inc_ref(v_mctx_3277_);
lean_dec(v___x_3276_);
v___x_3278_ = l_Lean_instantiateMVarsCore(v_mctx_3277_, v_e_3271_);
v_fst_3279_ = lean_ctor_get(v___x_3278_, 0);
lean_inc(v_fst_3279_);
v_snd_3280_ = lean_ctor_get(v___x_3278_, 1);
lean_inc(v_snd_3280_);
lean_dec_ref(v___x_3278_);
v___x_3281_ = lean_st_ref_take(v___y_3272_);
v_cache_3282_ = lean_ctor_get(v___x_3281_, 1);
v_zetaDeltaFVarIds_3283_ = lean_ctor_get(v___x_3281_, 2);
v_postponed_3284_ = lean_ctor_get(v___x_3281_, 3);
v_diag_3285_ = lean_ctor_get(v___x_3281_, 4);
v_isSharedCheck_3294_ = !lean_is_exclusive(v___x_3281_);
if (v_isSharedCheck_3294_ == 0)
{
lean_object* v_unused_3295_; 
v_unused_3295_ = lean_ctor_get(v___x_3281_, 0);
lean_dec(v_unused_3295_);
v___x_3287_ = v___x_3281_;
v_isShared_3288_ = v_isSharedCheck_3294_;
goto v_resetjp_3286_;
}
else
{
lean_inc(v_diag_3285_);
lean_inc(v_postponed_3284_);
lean_inc(v_zetaDeltaFVarIds_3283_);
lean_inc(v_cache_3282_);
lean_dec(v___x_3281_);
v___x_3287_ = lean_box(0);
v_isShared_3288_ = v_isSharedCheck_3294_;
goto v_resetjp_3286_;
}
v_resetjp_3286_:
{
lean_object* v___x_3290_; 
if (v_isShared_3288_ == 0)
{
lean_ctor_set(v___x_3287_, 0, v_snd_3280_);
v___x_3290_ = v___x_3287_;
goto v_reusejp_3289_;
}
else
{
lean_object* v_reuseFailAlloc_3293_; 
v_reuseFailAlloc_3293_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_3293_, 0, v_snd_3280_);
lean_ctor_set(v_reuseFailAlloc_3293_, 1, v_cache_3282_);
lean_ctor_set(v_reuseFailAlloc_3293_, 2, v_zetaDeltaFVarIds_3283_);
lean_ctor_set(v_reuseFailAlloc_3293_, 3, v_postponed_3284_);
lean_ctor_set(v_reuseFailAlloc_3293_, 4, v_diag_3285_);
v___x_3290_ = v_reuseFailAlloc_3293_;
goto v_reusejp_3289_;
}
v_reusejp_3289_:
{
lean_object* v___x_3291_; lean_object* v___x_3292_; 
v___x_3291_ = lean_st_ref_set(v___y_3272_, v___x_3290_);
v___x_3292_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3292_, 0, v_fst_3279_);
return v___x_3292_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__6___redArg___boxed(lean_object* v_e_3296_, lean_object* v___y_3297_, lean_object* v___y_3298_){
_start:
{
lean_object* v_res_3299_; 
v_res_3299_ = l_Lean_instantiateMVars___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__6___redArg(v_e_3296_, v___y_3297_);
lean_dec(v___y_3297_);
return v_res_3299_;
}
}
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__6(lean_object* v_e_3300_, lean_object* v___y_3301_, lean_object* v___y_3302_, lean_object* v___y_3303_, lean_object* v___y_3304_){
_start:
{
lean_object* v___x_3306_; 
v___x_3306_ = l_Lean_instantiateMVars___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__6___redArg(v_e_3300_, v___y_3302_);
return v___x_3306_;
}
}
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__6___boxed(lean_object* v_e_3307_, lean_object* v___y_3308_, lean_object* v___y_3309_, lean_object* v___y_3310_, lean_object* v___y_3311_, lean_object* v___y_3312_){
_start:
{
lean_object* v_res_3313_; 
v_res_3313_ = l_Lean_instantiateMVars___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__6(v_e_3307_, v___y_3308_, v___y_3309_, v___y_3310_, v___y_3311_);
lean_dec(v___y_3311_);
lean_dec_ref(v___y_3310_);
lean_dec(v___y_3309_);
lean_dec_ref(v___y_3308_);
return v_res_3313_;
}
}
static double _init_l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1___closed__0(void){
_start:
{
lean_object* v___x_3314_; double v___x_3315_; 
v___x_3314_ = lean_unsigned_to_nat(0u);
v___x_3315_ = lean_float_of_nat(v___x_3314_);
return v___x_3315_;
}
}
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1(lean_object* v_cls_3319_, lean_object* v_msg_3320_, lean_object* v___y_3321_, lean_object* v___y_3322_, lean_object* v___y_3323_, lean_object* v___y_3324_){
_start:
{
lean_object* v_ref_3326_; lean_object* v___x_3327_; lean_object* v_a_3328_; lean_object* v___x_3330_; uint8_t v_isShared_3331_; uint8_t v_isSharedCheck_3372_; 
v_ref_3326_ = lean_ctor_get(v___y_3323_, 5);
v___x_3327_ = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0_spec__4(v_msg_3320_, v___y_3321_, v___y_3322_, v___y_3323_, v___y_3324_);
v_a_3328_ = lean_ctor_get(v___x_3327_, 0);
v_isSharedCheck_3372_ = !lean_is_exclusive(v___x_3327_);
if (v_isSharedCheck_3372_ == 0)
{
v___x_3330_ = v___x_3327_;
v_isShared_3331_ = v_isSharedCheck_3372_;
goto v_resetjp_3329_;
}
else
{
lean_inc(v_a_3328_);
lean_dec(v___x_3327_);
v___x_3330_ = lean_box(0);
v_isShared_3331_ = v_isSharedCheck_3372_;
goto v_resetjp_3329_;
}
v_resetjp_3329_:
{
lean_object* v___x_3332_; lean_object* v_traceState_3333_; lean_object* v_env_3334_; lean_object* v_nextMacroScope_3335_; lean_object* v_ngen_3336_; lean_object* v_auxDeclNGen_3337_; lean_object* v_cache_3338_; lean_object* v_messages_3339_; lean_object* v_infoState_3340_; lean_object* v_snapshotTasks_3341_; lean_object* v___x_3343_; uint8_t v_isShared_3344_; uint8_t v_isSharedCheck_3371_; 
v___x_3332_ = lean_st_ref_take(v___y_3324_);
v_traceState_3333_ = lean_ctor_get(v___x_3332_, 4);
v_env_3334_ = lean_ctor_get(v___x_3332_, 0);
v_nextMacroScope_3335_ = lean_ctor_get(v___x_3332_, 1);
v_ngen_3336_ = lean_ctor_get(v___x_3332_, 2);
v_auxDeclNGen_3337_ = lean_ctor_get(v___x_3332_, 3);
v_cache_3338_ = lean_ctor_get(v___x_3332_, 5);
v_messages_3339_ = lean_ctor_get(v___x_3332_, 6);
v_infoState_3340_ = lean_ctor_get(v___x_3332_, 7);
v_snapshotTasks_3341_ = lean_ctor_get(v___x_3332_, 8);
v_isSharedCheck_3371_ = !lean_is_exclusive(v___x_3332_);
if (v_isSharedCheck_3371_ == 0)
{
v___x_3343_ = v___x_3332_;
v_isShared_3344_ = v_isSharedCheck_3371_;
goto v_resetjp_3342_;
}
else
{
lean_inc(v_snapshotTasks_3341_);
lean_inc(v_infoState_3340_);
lean_inc(v_messages_3339_);
lean_inc(v_cache_3338_);
lean_inc(v_traceState_3333_);
lean_inc(v_auxDeclNGen_3337_);
lean_inc(v_ngen_3336_);
lean_inc(v_nextMacroScope_3335_);
lean_inc(v_env_3334_);
lean_dec(v___x_3332_);
v___x_3343_ = lean_box(0);
v_isShared_3344_ = v_isSharedCheck_3371_;
goto v_resetjp_3342_;
}
v_resetjp_3342_:
{
uint64_t v_tid_3345_; lean_object* v_traces_3346_; lean_object* v___x_3348_; uint8_t v_isShared_3349_; uint8_t v_isSharedCheck_3370_; 
v_tid_3345_ = lean_ctor_get_uint64(v_traceState_3333_, sizeof(void*)*1);
v_traces_3346_ = lean_ctor_get(v_traceState_3333_, 0);
v_isSharedCheck_3370_ = !lean_is_exclusive(v_traceState_3333_);
if (v_isSharedCheck_3370_ == 0)
{
v___x_3348_ = v_traceState_3333_;
v_isShared_3349_ = v_isSharedCheck_3370_;
goto v_resetjp_3347_;
}
else
{
lean_inc(v_traces_3346_);
lean_dec(v_traceState_3333_);
v___x_3348_ = lean_box(0);
v_isShared_3349_ = v_isSharedCheck_3370_;
goto v_resetjp_3347_;
}
v_resetjp_3347_:
{
lean_object* v___x_3350_; double v___x_3351_; uint8_t v___x_3352_; lean_object* v___x_3353_; lean_object* v___x_3354_; lean_object* v___x_3355_; lean_object* v___x_3356_; lean_object* v___x_3357_; lean_object* v___x_3358_; lean_object* v___x_3360_; 
v___x_3350_ = lean_box(0);
v___x_3351_ = lean_float_once(&l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1___closed__0, &l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1___closed__0_once, _init_l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1___closed__0);
v___x_3352_ = 0;
v___x_3353_ = ((lean_object*)(l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1___closed__1));
v___x_3354_ = lean_alloc_ctor(0, 3, 17);
lean_ctor_set(v___x_3354_, 0, v_cls_3319_);
lean_ctor_set(v___x_3354_, 1, v___x_3350_);
lean_ctor_set(v___x_3354_, 2, v___x_3353_);
lean_ctor_set_float(v___x_3354_, sizeof(void*)*3, v___x_3351_);
lean_ctor_set_float(v___x_3354_, sizeof(void*)*3 + 8, v___x_3351_);
lean_ctor_set_uint8(v___x_3354_, sizeof(void*)*3 + 16, v___x_3352_);
v___x_3355_ = ((lean_object*)(l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1___closed__2));
v___x_3356_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v___x_3356_, 0, v___x_3354_);
lean_ctor_set(v___x_3356_, 1, v_a_3328_);
lean_ctor_set(v___x_3356_, 2, v___x_3355_);
lean_inc(v_ref_3326_);
v___x_3357_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3357_, 0, v_ref_3326_);
lean_ctor_set(v___x_3357_, 1, v___x_3356_);
v___x_3358_ = l_Lean_PersistentArray_push___redArg(v_traces_3346_, v___x_3357_);
if (v_isShared_3349_ == 0)
{
lean_ctor_set(v___x_3348_, 0, v___x_3358_);
v___x_3360_ = v___x_3348_;
goto v_reusejp_3359_;
}
else
{
lean_object* v_reuseFailAlloc_3369_; 
v_reuseFailAlloc_3369_ = lean_alloc_ctor(0, 1, 8);
lean_ctor_set(v_reuseFailAlloc_3369_, 0, v___x_3358_);
lean_ctor_set_uint64(v_reuseFailAlloc_3369_, sizeof(void*)*1, v_tid_3345_);
v___x_3360_ = v_reuseFailAlloc_3369_;
goto v_reusejp_3359_;
}
v_reusejp_3359_:
{
lean_object* v___x_3362_; 
if (v_isShared_3344_ == 0)
{
lean_ctor_set(v___x_3343_, 4, v___x_3360_);
v___x_3362_ = v___x_3343_;
goto v_reusejp_3361_;
}
else
{
lean_object* v_reuseFailAlloc_3368_; 
v_reuseFailAlloc_3368_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_3368_, 0, v_env_3334_);
lean_ctor_set(v_reuseFailAlloc_3368_, 1, v_nextMacroScope_3335_);
lean_ctor_set(v_reuseFailAlloc_3368_, 2, v_ngen_3336_);
lean_ctor_set(v_reuseFailAlloc_3368_, 3, v_auxDeclNGen_3337_);
lean_ctor_set(v_reuseFailAlloc_3368_, 4, v___x_3360_);
lean_ctor_set(v_reuseFailAlloc_3368_, 5, v_cache_3338_);
lean_ctor_set(v_reuseFailAlloc_3368_, 6, v_messages_3339_);
lean_ctor_set(v_reuseFailAlloc_3368_, 7, v_infoState_3340_);
lean_ctor_set(v_reuseFailAlloc_3368_, 8, v_snapshotTasks_3341_);
v___x_3362_ = v_reuseFailAlloc_3368_;
goto v_reusejp_3361_;
}
v_reusejp_3361_:
{
lean_object* v___x_3363_; lean_object* v___x_3364_; lean_object* v___x_3366_; 
v___x_3363_ = lean_st_ref_set(v___y_3324_, v___x_3362_);
v___x_3364_ = lean_box(0);
if (v_isShared_3331_ == 0)
{
lean_ctor_set(v___x_3330_, 0, v___x_3364_);
v___x_3366_ = v___x_3330_;
goto v_reusejp_3365_;
}
else
{
lean_object* v_reuseFailAlloc_3367_; 
v_reuseFailAlloc_3367_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3367_, 0, v___x_3364_);
v___x_3366_ = v_reuseFailAlloc_3367_;
goto v_reusejp_3365_;
}
v_reusejp_3365_:
{
return v___x_3366_;
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1___boxed(lean_object* v_cls_3373_, lean_object* v_msg_3374_, lean_object* v___y_3375_, lean_object* v___y_3376_, lean_object* v___y_3377_, lean_object* v___y_3378_, lean_object* v___y_3379_){
_start:
{
lean_object* v_res_3380_; 
v_res_3380_ = l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1(v_cls_3373_, v_msg_3374_, v___y_3375_, v___y_3376_, v___y_3377_, v___y_3378_);
lean_dec(v___y_3378_);
lean_dec_ref(v___y_3377_);
lean_dec(v___y_3376_);
lean_dec_ref(v___y_3375_);
return v_res_3380_;
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__1(void){
_start:
{
lean_object* v___x_3382_; lean_object* v___x_3383_; 
v___x_3382_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__0));
v___x_3383_ = l_Lean_stringToMessageData(v___x_3382_);
return v___x_3383_;
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__3(void){
_start:
{
lean_object* v___x_3385_; lean_object* v___x_3386_; 
v___x_3385_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__2));
v___x_3386_ = l_Lean_stringToMessageData(v___x_3385_);
return v___x_3386_;
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__5(void){
_start:
{
lean_object* v___x_3388_; lean_object* v___x_3389_; 
v___x_3388_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__4));
v___x_3389_ = l_Lean_stringToMessageData(v___x_3388_);
return v___x_3389_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0(lean_object* v_cls_3390_, lean_object* v___x_3391_, lean_object* v_fst_3392_, lean_object* v___y_3393_, lean_object* v___y_3394_, lean_object* v___y_3395_, lean_object* v___y_3396_){
_start:
{
lean_object* v___x_3398_; lean_object* v_a_3399_; lean_object* v___x_3401_; uint8_t v_isShared_3402_; uint8_t v_isSharedCheck_3430_; 
lean_inc(v_cls_3390_);
v___x_3398_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0___redArg(v_cls_3390_, v___y_3395_);
v_a_3399_ = lean_ctor_get(v___x_3398_, 0);
v_isSharedCheck_3430_ = !lean_is_exclusive(v___x_3398_);
if (v_isSharedCheck_3430_ == 0)
{
v___x_3401_ = v___x_3398_;
v_isShared_3402_ = v_isSharedCheck_3430_;
goto v_resetjp_3400_;
}
else
{
lean_inc(v_a_3399_);
lean_dec(v___x_3398_);
v___x_3401_ = lean_box(0);
v_isShared_3402_ = v_isSharedCheck_3430_;
goto v_resetjp_3400_;
}
v_resetjp_3400_:
{
uint8_t v___x_3403_; 
v___x_3403_ = lean_unbox(v_a_3399_);
lean_dec(v_a_3399_);
if (v___x_3403_ == 0)
{
lean_object* v___x_3404_; lean_object* v___x_3406_; 
lean_dec(v___y_3396_);
lean_dec_ref(v___y_3395_);
lean_dec(v___y_3394_);
lean_dec_ref(v___y_3393_);
lean_dec(v_fst_3392_);
lean_dec_ref(v___x_3391_);
lean_dec(v_cls_3390_);
v___x_3404_ = lean_box(0);
if (v_isShared_3402_ == 0)
{
lean_ctor_set(v___x_3401_, 0, v___x_3404_);
v___x_3406_ = v___x_3401_;
goto v_reusejp_3405_;
}
else
{
lean_object* v_reuseFailAlloc_3407_; 
v_reuseFailAlloc_3407_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3407_, 0, v___x_3404_);
v___x_3406_ = v_reuseFailAlloc_3407_;
goto v_reusejp_3405_;
}
v_reusejp_3405_:
{
return v___x_3406_;
}
}
else
{
lean_object* v___x_3408_; 
lean_del_object(v___x_3401_);
lean_inc(v___y_3396_);
lean_inc_ref(v___y_3395_);
lean_inc(v___y_3394_);
lean_inc_ref(v___y_3393_);
lean_inc_ref(v___x_3391_);
v___x_3408_ = lean_infer_type(v___x_3391_, v___y_3393_, v___y_3394_, v___y_3395_, v___y_3396_);
if (lean_obj_tag(v___x_3408_) == 0)
{
lean_object* v_a_3409_; lean_object* v___x_3410_; lean_object* v___x_3411_; lean_object* v___x_3412_; lean_object* v___x_3413_; lean_object* v___x_3414_; lean_object* v___x_3415_; lean_object* v___x_3416_; lean_object* v___x_3417_; lean_object* v___x_3418_; lean_object* v___x_3419_; lean_object* v___x_3420_; lean_object* v___x_3421_; 
v_a_3409_ = lean_ctor_get(v___x_3408_, 0);
lean_inc(v_a_3409_);
lean_dec_ref(v___x_3408_);
v___x_3410_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__1, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__1_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__1);
v___x_3411_ = l_Lean_MessageData_ofExpr(v___x_3391_);
v___x_3412_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3412_, 0, v___x_3410_);
lean_ctor_set(v___x_3412_, 1, v___x_3411_);
v___x_3413_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__3, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__3_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__3);
v___x_3414_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3414_, 0, v___x_3412_);
lean_ctor_set(v___x_3414_, 1, v___x_3413_);
v___x_3415_ = l_Lean_MessageData_ofExpr(v_a_3409_);
v___x_3416_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3416_, 0, v___x_3414_);
lean_ctor_set(v___x_3416_, 1, v___x_3415_);
v___x_3417_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__5, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__5_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___closed__5);
v___x_3418_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3418_, 0, v___x_3416_);
lean_ctor_set(v___x_3418_, 1, v___x_3417_);
v___x_3419_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_3419_, 0, v_fst_3392_);
v___x_3420_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3420_, 0, v___x_3418_);
lean_ctor_set(v___x_3420_, 1, v___x_3419_);
v___x_3421_ = l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1(v_cls_3390_, v___x_3420_, v___y_3393_, v___y_3394_, v___y_3395_, v___y_3396_);
lean_dec(v___y_3396_);
lean_dec_ref(v___y_3395_);
lean_dec(v___y_3394_);
lean_dec_ref(v___y_3393_);
return v___x_3421_;
}
else
{
lean_object* v_a_3422_; lean_object* v___x_3424_; uint8_t v_isShared_3425_; uint8_t v_isSharedCheck_3429_; 
lean_dec(v___y_3396_);
lean_dec_ref(v___y_3395_);
lean_dec(v___y_3394_);
lean_dec_ref(v___y_3393_);
lean_dec(v_fst_3392_);
lean_dec_ref(v___x_3391_);
lean_dec(v_cls_3390_);
v_a_3422_ = lean_ctor_get(v___x_3408_, 0);
v_isSharedCheck_3429_ = !lean_is_exclusive(v___x_3408_);
if (v_isSharedCheck_3429_ == 0)
{
v___x_3424_ = v___x_3408_;
v_isShared_3425_ = v_isSharedCheck_3429_;
goto v_resetjp_3423_;
}
else
{
lean_inc(v_a_3422_);
lean_dec(v___x_3408_);
v___x_3424_ = lean_box(0);
v_isShared_3425_ = v_isSharedCheck_3429_;
goto v_resetjp_3423_;
}
v_resetjp_3423_:
{
lean_object* v___x_3427_; 
if (v_isShared_3425_ == 0)
{
v___x_3427_ = v___x_3424_;
goto v_reusejp_3426_;
}
else
{
lean_object* v_reuseFailAlloc_3428_; 
v_reuseFailAlloc_3428_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3428_, 0, v_a_3422_);
v___x_3427_ = v_reuseFailAlloc_3428_;
goto v_reusejp_3426_;
}
v_reusejp_3426_:
{
return v___x_3427_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___boxed(lean_object* v_cls_3431_, lean_object* v___x_3432_, lean_object* v_fst_3433_, lean_object* v___y_3434_, lean_object* v___y_3435_, lean_object* v___y_3436_, lean_object* v___y_3437_, lean_object* v___y_3438_){
_start:
{
lean_object* v_res_3439_; 
v_res_3439_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0(v_cls_3431_, v___x_3432_, v_fst_3433_, v___y_3434_, v___y_3435_, v___y_3436_, v___y_3437_);
return v_res_3439_;
}
}
static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___lam__0___closed__1(void){
_start:
{
lean_object* v___x_3441_; lean_object* v___x_3442_; 
v___x_3441_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___lam__0___closed__0));
v___x_3442_ = l_Lean_stringToMessageData(v___x_3441_);
return v___x_3442_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___lam__0(lean_object* v_cls_3443_, lean_object* v___x_3444_, lean_object* v___y_3445_, lean_object* v___y_3446_, lean_object* v___y_3447_, lean_object* v___y_3448_){
_start:
{
lean_object* v___x_3450_; 
lean_inc(v_cls_3443_);
v___x_3450_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0___redArg(v_cls_3443_, v___y_3447_);
if (lean_obj_tag(v___x_3450_) == 0)
{
lean_object* v_a_3451_; lean_object* v___x_3453_; uint8_t v_isShared_3454_; uint8_t v_isSharedCheck_3464_; 
v_a_3451_ = lean_ctor_get(v___x_3450_, 0);
v_isSharedCheck_3464_ = !lean_is_exclusive(v___x_3450_);
if (v_isSharedCheck_3464_ == 0)
{
v___x_3453_ = v___x_3450_;
v_isShared_3454_ = v_isSharedCheck_3464_;
goto v_resetjp_3452_;
}
else
{
lean_inc(v_a_3451_);
lean_dec(v___x_3450_);
v___x_3453_ = lean_box(0);
v_isShared_3454_ = v_isSharedCheck_3464_;
goto v_resetjp_3452_;
}
v_resetjp_3452_:
{
uint8_t v___x_3455_; 
v___x_3455_ = lean_unbox(v_a_3451_);
lean_dec(v_a_3451_);
if (v___x_3455_ == 0)
{
lean_object* v___x_3456_; lean_object* v___x_3458_; 
lean_dec_ref(v___x_3444_);
lean_dec(v_cls_3443_);
v___x_3456_ = lean_box(0);
if (v_isShared_3454_ == 0)
{
lean_ctor_set(v___x_3453_, 0, v___x_3456_);
v___x_3458_ = v___x_3453_;
goto v_reusejp_3457_;
}
else
{
lean_object* v_reuseFailAlloc_3459_; 
v_reuseFailAlloc_3459_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3459_, 0, v___x_3456_);
v___x_3458_ = v_reuseFailAlloc_3459_;
goto v_reusejp_3457_;
}
v_reusejp_3457_:
{
return v___x_3458_;
}
}
else
{
lean_object* v___x_3460_; lean_object* v___x_3461_; lean_object* v___x_3462_; lean_object* v___x_3463_; 
lean_del_object(v___x_3453_);
v___x_3460_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___lam__0___closed__1, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___lam__0___closed__1_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___lam__0___closed__1);
v___x_3461_ = l_Lean_MessageData_ofExpr(v___x_3444_);
v___x_3462_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3462_, 0, v___x_3460_);
lean_ctor_set(v___x_3462_, 1, v___x_3461_);
v___x_3463_ = l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1(v_cls_3443_, v___x_3462_, v___y_3445_, v___y_3446_, v___y_3447_, v___y_3448_);
return v___x_3463_;
}
}
}
else
{
lean_object* v_a_3465_; lean_object* v___x_3467_; uint8_t v_isShared_3468_; uint8_t v_isSharedCheck_3472_; 
lean_dec_ref(v___x_3444_);
lean_dec(v_cls_3443_);
v_a_3465_ = lean_ctor_get(v___x_3450_, 0);
v_isSharedCheck_3472_ = !lean_is_exclusive(v___x_3450_);
if (v_isSharedCheck_3472_ == 0)
{
v___x_3467_ = v___x_3450_;
v_isShared_3468_ = v_isSharedCheck_3472_;
goto v_resetjp_3466_;
}
else
{
lean_inc(v_a_3465_);
lean_dec(v___x_3450_);
v___x_3467_ = lean_box(0);
v_isShared_3468_ = v_isSharedCheck_3472_;
goto v_resetjp_3466_;
}
v_resetjp_3466_:
{
lean_object* v___x_3470_; 
if (v_isShared_3468_ == 0)
{
v___x_3470_ = v___x_3467_;
goto v_reusejp_3469_;
}
else
{
lean_object* v_reuseFailAlloc_3471_; 
v_reuseFailAlloc_3471_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3471_, 0, v_a_3465_);
v___x_3470_ = v_reuseFailAlloc_3471_;
goto v_reusejp_3469_;
}
v_reusejp_3469_:
{
return v___x_3470_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___lam__0___boxed(lean_object* v_cls_3473_, lean_object* v___x_3474_, lean_object* v___y_3475_, lean_object* v___y_3476_, lean_object* v___y_3477_, lean_object* v___y_3478_, lean_object* v___y_3479_){
_start:
{
lean_object* v_res_3480_; 
v_res_3480_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___lam__0(v_cls_3473_, v___x_3474_, v___y_3475_, v___y_3476_, v___y_3477_, v___y_3478_);
lean_dec(v___y_3478_);
lean_dec_ref(v___y_3477_);
lean_dec(v___y_3476_);
lean_dec_ref(v___y_3475_);
return v_res_3480_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4(lean_object* v_as_3486_, size_t v_sz_3487_, size_t v_i_3488_, lean_object* v_b_3489_, lean_object* v___y_3490_, lean_object* v___y_3491_, lean_object* v___y_3492_, lean_object* v___y_3493_){
_start:
{
uint8_t v___x_3495_; 
v___x_3495_ = lean_usize_dec_lt(v_i_3488_, v_sz_3487_);
if (v___x_3495_ == 0)
{
lean_object* v___x_3496_; 
lean_dec(v___y_3493_);
lean_dec_ref(v___y_3492_);
lean_dec(v___y_3491_);
lean_dec_ref(v___y_3490_);
v___x_3496_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3496_, 0, v_b_3489_);
return v___x_3496_;
}
else
{
lean_object* v_fst_3497_; lean_object* v_snd_3498_; lean_object* v_cls_3499_; lean_object* v_a_3500_; lean_object* v___x_3501_; lean_object* v___x_3502_; lean_object* v___f_3503_; lean_object* v___x_3504_; 
v_fst_3497_ = lean_ctor_get(v_b_3489_, 0);
lean_inc(v_fst_3497_);
v_snd_3498_ = lean_ctor_get(v_b_3489_, 1);
lean_inc(v_snd_3498_);
lean_dec_ref(v_b_3489_);
v_cls_3499_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___closed__2));
v_a_3500_ = lean_array_uget_borrowed(v_as_3486_, v_i_3488_);
v___x_3501_ = l_Lean_Expr_fvarId_x21(v_a_3500_);
v___x_3502_ = l_Lean_Meta_FVarSubst_get(v_snd_3498_, v___x_3501_);
lean_inc_ref(v___x_3502_);
v___f_3503_ = lean_alloc_closure((void*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___lam__0___boxed), 7, 2);
lean_closure_set(v___f_3503_, 0, v_cls_3499_);
lean_closure_set(v___f_3503_, 1, v___x_3502_);
lean_inc(v___y_3493_);
lean_inc_ref(v___y_3492_);
lean_inc(v___y_3491_);
lean_inc_ref(v___y_3490_);
lean_inc(v_fst_3497_);
v___x_3504_ = l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__2___redArg(v_fst_3497_, v___f_3503_, v___y_3490_, v___y_3491_, v___y_3492_, v___y_3493_);
if (lean_obj_tag(v___x_3504_) == 0)
{
lean_object* v___x_3505_; lean_object* v___x_3506_; 
lean_dec_ref(v___x_3504_);
v___x_3505_ = l_Lean_Expr_fvarId_x21(v___x_3502_);
lean_dec_ref(v___x_3502_);
lean_inc(v___y_3493_);
lean_inc_ref(v___y_3492_);
lean_inc(v___y_3491_);
lean_inc_ref(v___y_3490_);
v___x_3506_ = l_Lean_Meta_substEq(v_fst_3497_, v___x_3505_, v_snd_3498_, v___y_3490_, v___y_3491_, v___y_3492_, v___y_3493_);
if (lean_obj_tag(v___x_3506_) == 0)
{
lean_object* v_a_3507_; lean_object* v_fst_3508_; lean_object* v_snd_3509_; lean_object* v___x_3511_; uint8_t v_isShared_3512_; uint8_t v_isSharedCheck_3519_; 
v_a_3507_ = lean_ctor_get(v___x_3506_, 0);
lean_inc(v_a_3507_);
lean_dec_ref(v___x_3506_);
v_fst_3508_ = lean_ctor_get(v_a_3507_, 0);
v_snd_3509_ = lean_ctor_get(v_a_3507_, 1);
v_isSharedCheck_3519_ = !lean_is_exclusive(v_a_3507_);
if (v_isSharedCheck_3519_ == 0)
{
v___x_3511_ = v_a_3507_;
v_isShared_3512_ = v_isSharedCheck_3519_;
goto v_resetjp_3510_;
}
else
{
lean_inc(v_snd_3509_);
lean_inc(v_fst_3508_);
lean_dec(v_a_3507_);
v___x_3511_ = lean_box(0);
v_isShared_3512_ = v_isSharedCheck_3519_;
goto v_resetjp_3510_;
}
v_resetjp_3510_:
{
lean_object* v___x_3514_; 
if (v_isShared_3512_ == 0)
{
lean_ctor_set(v___x_3511_, 1, v_fst_3508_);
lean_ctor_set(v___x_3511_, 0, v_snd_3509_);
v___x_3514_ = v___x_3511_;
goto v_reusejp_3513_;
}
else
{
lean_object* v_reuseFailAlloc_3518_; 
v_reuseFailAlloc_3518_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3518_, 0, v_snd_3509_);
lean_ctor_set(v_reuseFailAlloc_3518_, 1, v_fst_3508_);
v___x_3514_ = v_reuseFailAlloc_3518_;
goto v_reusejp_3513_;
}
v_reusejp_3513_:
{
size_t v___x_3515_; size_t v___x_3516_; 
v___x_3515_ = ((size_t)1ULL);
v___x_3516_ = lean_usize_add(v_i_3488_, v___x_3515_);
v_i_3488_ = v___x_3516_;
v_b_3489_ = v___x_3514_;
goto _start;
}
}
}
else
{
lean_object* v_a_3520_; lean_object* v___x_3522_; uint8_t v_isShared_3523_; uint8_t v_isSharedCheck_3527_; 
lean_dec(v___y_3493_);
lean_dec_ref(v___y_3492_);
lean_dec(v___y_3491_);
lean_dec_ref(v___y_3490_);
v_a_3520_ = lean_ctor_get(v___x_3506_, 0);
v_isSharedCheck_3527_ = !lean_is_exclusive(v___x_3506_);
if (v_isSharedCheck_3527_ == 0)
{
v___x_3522_ = v___x_3506_;
v_isShared_3523_ = v_isSharedCheck_3527_;
goto v_resetjp_3521_;
}
else
{
lean_inc(v_a_3520_);
lean_dec(v___x_3506_);
v___x_3522_ = lean_box(0);
v_isShared_3523_ = v_isSharedCheck_3527_;
goto v_resetjp_3521_;
}
v_resetjp_3521_:
{
lean_object* v___x_3525_; 
if (v_isShared_3523_ == 0)
{
v___x_3525_ = v___x_3522_;
goto v_reusejp_3524_;
}
else
{
lean_object* v_reuseFailAlloc_3526_; 
v_reuseFailAlloc_3526_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3526_, 0, v_a_3520_);
v___x_3525_ = v_reuseFailAlloc_3526_;
goto v_reusejp_3524_;
}
v_reusejp_3524_:
{
return v___x_3525_;
}
}
}
}
else
{
lean_object* v_a_3528_; lean_object* v___x_3530_; uint8_t v_isShared_3531_; uint8_t v_isSharedCheck_3535_; 
lean_dec_ref(v___x_3502_);
lean_dec(v_snd_3498_);
lean_dec(v_fst_3497_);
lean_dec(v___y_3493_);
lean_dec_ref(v___y_3492_);
lean_dec(v___y_3491_);
lean_dec_ref(v___y_3490_);
v_a_3528_ = lean_ctor_get(v___x_3504_, 0);
v_isSharedCheck_3535_ = !lean_is_exclusive(v___x_3504_);
if (v_isSharedCheck_3535_ == 0)
{
v___x_3530_ = v___x_3504_;
v_isShared_3531_ = v_isSharedCheck_3535_;
goto v_resetjp_3529_;
}
else
{
lean_inc(v_a_3528_);
lean_dec(v___x_3504_);
v___x_3530_ = lean_box(0);
v_isShared_3531_ = v_isSharedCheck_3535_;
goto v_resetjp_3529_;
}
v_resetjp_3529_:
{
lean_object* v___x_3533_; 
if (v_isShared_3531_ == 0)
{
v___x_3533_ = v___x_3530_;
goto v_reusejp_3532_;
}
else
{
lean_object* v_reuseFailAlloc_3534_; 
v_reuseFailAlloc_3534_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3534_, 0, v_a_3528_);
v___x_3533_ = v_reuseFailAlloc_3534_;
goto v_reusejp_3532_;
}
v_reusejp_3532_:
{
return v___x_3533_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___boxed(lean_object* v_as_3536_, lean_object* v_sz_3537_, lean_object* v_i_3538_, lean_object* v_b_3539_, lean_object* v___y_3540_, lean_object* v___y_3541_, lean_object* v___y_3542_, lean_object* v___y_3543_, lean_object* v___y_3544_){
_start:
{
size_t v_sz_boxed_3545_; size_t v_i_boxed_3546_; lean_object* v_res_3547_; 
v_sz_boxed_3545_ = lean_unbox_usize(v_sz_3537_);
lean_dec(v_sz_3537_);
v_i_boxed_3546_ = lean_unbox_usize(v_i_3538_);
lean_dec(v_i_3538_);
v_res_3547_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4(v_as_3536_, v_sz_boxed_3545_, v_i_boxed_3546_, v_b_3539_, v___y_3540_, v___y_3541_, v___y_3542_, v___y_3543_);
lean_dec_ref(v_as_3536_);
return v_res_3547_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__9_spec__10___redArg(lean_object* v_x_3548_, lean_object* v_x_3549_, lean_object* v_x_3550_, lean_object* v_x_3551_){
_start:
{
lean_object* v_ks_3552_; lean_object* v_vs_3553_; lean_object* v___x_3555_; uint8_t v_isShared_3556_; uint8_t v_isSharedCheck_3577_; 
v_ks_3552_ = lean_ctor_get(v_x_3548_, 0);
v_vs_3553_ = lean_ctor_get(v_x_3548_, 1);
v_isSharedCheck_3577_ = !lean_is_exclusive(v_x_3548_);
if (v_isSharedCheck_3577_ == 0)
{
v___x_3555_ = v_x_3548_;
v_isShared_3556_ = v_isSharedCheck_3577_;
goto v_resetjp_3554_;
}
else
{
lean_inc(v_vs_3553_);
lean_inc(v_ks_3552_);
lean_dec(v_x_3548_);
v___x_3555_ = lean_box(0);
v_isShared_3556_ = v_isSharedCheck_3577_;
goto v_resetjp_3554_;
}
v_resetjp_3554_:
{
lean_object* v___x_3557_; uint8_t v___x_3558_; 
v___x_3557_ = lean_array_get_size(v_ks_3552_);
v___x_3558_ = lean_nat_dec_lt(v_x_3549_, v___x_3557_);
if (v___x_3558_ == 0)
{
lean_object* v___x_3559_; lean_object* v___x_3560_; lean_object* v___x_3562_; 
lean_dec(v_x_3549_);
v___x_3559_ = lean_array_push(v_ks_3552_, v_x_3550_);
v___x_3560_ = lean_array_push(v_vs_3553_, v_x_3551_);
if (v_isShared_3556_ == 0)
{
lean_ctor_set(v___x_3555_, 1, v___x_3560_);
lean_ctor_set(v___x_3555_, 0, v___x_3559_);
v___x_3562_ = v___x_3555_;
goto v_reusejp_3561_;
}
else
{
lean_object* v_reuseFailAlloc_3563_; 
v_reuseFailAlloc_3563_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3563_, 0, v___x_3559_);
lean_ctor_set(v_reuseFailAlloc_3563_, 1, v___x_3560_);
v___x_3562_ = v_reuseFailAlloc_3563_;
goto v_reusejp_3561_;
}
v_reusejp_3561_:
{
return v___x_3562_;
}
}
else
{
lean_object* v_k_x27_3564_; uint8_t v___x_3565_; 
v_k_x27_3564_ = lean_array_fget_borrowed(v_ks_3552_, v_x_3549_);
v___x_3565_ = l_Lean_instBEqMVarId_beq(v_x_3550_, v_k_x27_3564_);
if (v___x_3565_ == 0)
{
lean_object* v___x_3567_; 
if (v_isShared_3556_ == 0)
{
v___x_3567_ = v___x_3555_;
goto v_reusejp_3566_;
}
else
{
lean_object* v_reuseFailAlloc_3571_; 
v_reuseFailAlloc_3571_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3571_, 0, v_ks_3552_);
lean_ctor_set(v_reuseFailAlloc_3571_, 1, v_vs_3553_);
v___x_3567_ = v_reuseFailAlloc_3571_;
goto v_reusejp_3566_;
}
v_reusejp_3566_:
{
lean_object* v___x_3568_; lean_object* v___x_3569_; 
v___x_3568_ = lean_unsigned_to_nat(1u);
v___x_3569_ = lean_nat_add(v_x_3549_, v___x_3568_);
lean_dec(v_x_3549_);
v_x_3548_ = v___x_3567_;
v_x_3549_ = v___x_3569_;
goto _start;
}
}
else
{
lean_object* v___x_3572_; lean_object* v___x_3573_; lean_object* v___x_3575_; 
v___x_3572_ = lean_array_fset(v_ks_3552_, v_x_3549_, v_x_3550_);
v___x_3573_ = lean_array_fset(v_vs_3553_, v_x_3549_, v_x_3551_);
lean_dec(v_x_3549_);
if (v_isShared_3556_ == 0)
{
lean_ctor_set(v___x_3555_, 1, v___x_3573_);
lean_ctor_set(v___x_3555_, 0, v___x_3572_);
v___x_3575_ = v___x_3555_;
goto v_reusejp_3574_;
}
else
{
lean_object* v_reuseFailAlloc_3576_; 
v_reuseFailAlloc_3576_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3576_, 0, v___x_3572_);
lean_ctor_set(v_reuseFailAlloc_3576_, 1, v___x_3573_);
v___x_3575_ = v_reuseFailAlloc_3576_;
goto v_reusejp_3574_;
}
v_reusejp_3574_:
{
return v___x_3575_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__9___redArg(lean_object* v_n_3578_, lean_object* v_k_3579_, lean_object* v_v_3580_){
_start:
{
lean_object* v___x_3581_; lean_object* v___x_3582_; 
v___x_3581_ = lean_unsigned_to_nat(0u);
v___x_3582_ = l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__9_spec__10___redArg(v_n_3578_, v___x_3581_, v_k_3579_, v_v_3580_);
return v___x_3582_;
}
}
static size_t _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___closed__0(void){
_start:
{
size_t v___x_3583_; size_t v___x_3584_; size_t v___x_3585_; 
v___x_3583_ = ((size_t)5ULL);
v___x_3584_ = ((size_t)1ULL);
v___x_3585_ = lean_usize_shift_left(v___x_3584_, v___x_3583_);
return v___x_3585_;
}
}
static size_t _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___closed__1(void){
_start:
{
size_t v___x_3586_; size_t v___x_3587_; size_t v___x_3588_; 
v___x_3586_ = ((size_t)1ULL);
v___x_3587_ = lean_usize_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___closed__0, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___closed__0_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___closed__0);
v___x_3588_ = lean_usize_sub(v___x_3587_, v___x_3586_);
return v___x_3588_;
}
}
static lean_object* _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___closed__2(void){
_start:
{
lean_object* v___x_3589_; 
v___x_3589_ = l_Lean_PersistentHashMap_mkEmptyEntries(lean_box(0), lean_box(0));
return v___x_3589_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg(lean_object* v_x_3590_, size_t v_x_3591_, size_t v_x_3592_, lean_object* v_x_3593_, lean_object* v_x_3594_){
_start:
{
if (lean_obj_tag(v_x_3590_) == 0)
{
lean_object* v_es_3595_; size_t v___x_3596_; size_t v___x_3597_; size_t v___x_3598_; size_t v___x_3599_; lean_object* v_j_3600_; lean_object* v___x_3601_; uint8_t v___x_3602_; 
v_es_3595_ = lean_ctor_get(v_x_3590_, 0);
v___x_3596_ = ((size_t)5ULL);
v___x_3597_ = ((size_t)1ULL);
v___x_3598_ = lean_usize_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___closed__1, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___closed__1_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___closed__1);
v___x_3599_ = lean_usize_land(v_x_3591_, v___x_3598_);
v_j_3600_ = lean_usize_to_nat(v___x_3599_);
v___x_3601_ = lean_array_get_size(v_es_3595_);
v___x_3602_ = lean_nat_dec_lt(v_j_3600_, v___x_3601_);
if (v___x_3602_ == 0)
{
lean_dec(v_j_3600_);
lean_dec(v_x_3594_);
lean_dec(v_x_3593_);
return v_x_3590_;
}
else
{
lean_object* v___x_3604_; uint8_t v_isShared_3605_; uint8_t v_isSharedCheck_3639_; 
lean_inc_ref(v_es_3595_);
v_isSharedCheck_3639_ = !lean_is_exclusive(v_x_3590_);
if (v_isSharedCheck_3639_ == 0)
{
lean_object* v_unused_3640_; 
v_unused_3640_ = lean_ctor_get(v_x_3590_, 0);
lean_dec(v_unused_3640_);
v___x_3604_ = v_x_3590_;
v_isShared_3605_ = v_isSharedCheck_3639_;
goto v_resetjp_3603_;
}
else
{
lean_dec(v_x_3590_);
v___x_3604_ = lean_box(0);
v_isShared_3605_ = v_isSharedCheck_3639_;
goto v_resetjp_3603_;
}
v_resetjp_3603_:
{
lean_object* v_v_3606_; lean_object* v___x_3607_; lean_object* v_xs_x27_3608_; lean_object* v___y_3610_; 
v_v_3606_ = lean_array_fget(v_es_3595_, v_j_3600_);
v___x_3607_ = lean_box(0);
v_xs_x27_3608_ = lean_array_fset(v_es_3595_, v_j_3600_, v___x_3607_);
switch(lean_obj_tag(v_v_3606_))
{
case 0:
{
lean_object* v_key_3615_; lean_object* v_val_3616_; lean_object* v___x_3618_; uint8_t v_isShared_3619_; uint8_t v_isSharedCheck_3626_; 
v_key_3615_ = lean_ctor_get(v_v_3606_, 0);
v_val_3616_ = lean_ctor_get(v_v_3606_, 1);
v_isSharedCheck_3626_ = !lean_is_exclusive(v_v_3606_);
if (v_isSharedCheck_3626_ == 0)
{
v___x_3618_ = v_v_3606_;
v_isShared_3619_ = v_isSharedCheck_3626_;
goto v_resetjp_3617_;
}
else
{
lean_inc(v_val_3616_);
lean_inc(v_key_3615_);
lean_dec(v_v_3606_);
v___x_3618_ = lean_box(0);
v_isShared_3619_ = v_isSharedCheck_3626_;
goto v_resetjp_3617_;
}
v_resetjp_3617_:
{
uint8_t v___x_3620_; 
v___x_3620_ = l_Lean_instBEqMVarId_beq(v_x_3593_, v_key_3615_);
if (v___x_3620_ == 0)
{
lean_object* v___x_3621_; lean_object* v___x_3622_; 
lean_del_object(v___x_3618_);
v___x_3621_ = l_Lean_PersistentHashMap_mkCollisionNode___redArg(v_key_3615_, v_val_3616_, v_x_3593_, v_x_3594_);
v___x_3622_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_3622_, 0, v___x_3621_);
v___y_3610_ = v___x_3622_;
goto v___jp_3609_;
}
else
{
lean_object* v___x_3624_; 
lean_dec(v_val_3616_);
lean_dec(v_key_3615_);
if (v_isShared_3619_ == 0)
{
lean_ctor_set(v___x_3618_, 1, v_x_3594_);
lean_ctor_set(v___x_3618_, 0, v_x_3593_);
v___x_3624_ = v___x_3618_;
goto v_reusejp_3623_;
}
else
{
lean_object* v_reuseFailAlloc_3625_; 
v_reuseFailAlloc_3625_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3625_, 0, v_x_3593_);
lean_ctor_set(v_reuseFailAlloc_3625_, 1, v_x_3594_);
v___x_3624_ = v_reuseFailAlloc_3625_;
goto v_reusejp_3623_;
}
v_reusejp_3623_:
{
v___y_3610_ = v___x_3624_;
goto v___jp_3609_;
}
}
}
}
case 1:
{
lean_object* v_node_3627_; lean_object* v___x_3629_; uint8_t v_isShared_3630_; uint8_t v_isSharedCheck_3637_; 
v_node_3627_ = lean_ctor_get(v_v_3606_, 0);
v_isSharedCheck_3637_ = !lean_is_exclusive(v_v_3606_);
if (v_isSharedCheck_3637_ == 0)
{
v___x_3629_ = v_v_3606_;
v_isShared_3630_ = v_isSharedCheck_3637_;
goto v_resetjp_3628_;
}
else
{
lean_inc(v_node_3627_);
lean_dec(v_v_3606_);
v___x_3629_ = lean_box(0);
v_isShared_3630_ = v_isSharedCheck_3637_;
goto v_resetjp_3628_;
}
v_resetjp_3628_:
{
size_t v___x_3631_; size_t v___x_3632_; lean_object* v___x_3633_; lean_object* v___x_3635_; 
v___x_3631_ = lean_usize_shift_right(v_x_3591_, v___x_3596_);
v___x_3632_ = lean_usize_add(v_x_3592_, v___x_3597_);
v___x_3633_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg(v_node_3627_, v___x_3631_, v___x_3632_, v_x_3593_, v_x_3594_);
if (v_isShared_3630_ == 0)
{
lean_ctor_set(v___x_3629_, 0, v___x_3633_);
v___x_3635_ = v___x_3629_;
goto v_reusejp_3634_;
}
else
{
lean_object* v_reuseFailAlloc_3636_; 
v_reuseFailAlloc_3636_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3636_, 0, v___x_3633_);
v___x_3635_ = v_reuseFailAlloc_3636_;
goto v_reusejp_3634_;
}
v_reusejp_3634_:
{
v___y_3610_ = v___x_3635_;
goto v___jp_3609_;
}
}
}
default: 
{
lean_object* v___x_3638_; 
v___x_3638_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3638_, 0, v_x_3593_);
lean_ctor_set(v___x_3638_, 1, v_x_3594_);
v___y_3610_ = v___x_3638_;
goto v___jp_3609_;
}
}
v___jp_3609_:
{
lean_object* v___x_3611_; lean_object* v___x_3613_; 
v___x_3611_ = lean_array_fset(v_xs_x27_3608_, v_j_3600_, v___y_3610_);
lean_dec(v_j_3600_);
if (v_isShared_3605_ == 0)
{
lean_ctor_set(v___x_3604_, 0, v___x_3611_);
v___x_3613_ = v___x_3604_;
goto v_reusejp_3612_;
}
else
{
lean_object* v_reuseFailAlloc_3614_; 
v_reuseFailAlloc_3614_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3614_, 0, v___x_3611_);
v___x_3613_ = v_reuseFailAlloc_3614_;
goto v_reusejp_3612_;
}
v_reusejp_3612_:
{
return v___x_3613_;
}
}
}
}
}
else
{
lean_object* v_ks_3641_; lean_object* v_vs_3642_; lean_object* v___x_3644_; uint8_t v_isShared_3645_; uint8_t v_isSharedCheck_3662_; 
v_ks_3641_ = lean_ctor_get(v_x_3590_, 0);
v_vs_3642_ = lean_ctor_get(v_x_3590_, 1);
v_isSharedCheck_3662_ = !lean_is_exclusive(v_x_3590_);
if (v_isSharedCheck_3662_ == 0)
{
v___x_3644_ = v_x_3590_;
v_isShared_3645_ = v_isSharedCheck_3662_;
goto v_resetjp_3643_;
}
else
{
lean_inc(v_vs_3642_);
lean_inc(v_ks_3641_);
lean_dec(v_x_3590_);
v___x_3644_ = lean_box(0);
v_isShared_3645_ = v_isSharedCheck_3662_;
goto v_resetjp_3643_;
}
v_resetjp_3643_:
{
lean_object* v___x_3647_; 
if (v_isShared_3645_ == 0)
{
v___x_3647_ = v___x_3644_;
goto v_reusejp_3646_;
}
else
{
lean_object* v_reuseFailAlloc_3661_; 
v_reuseFailAlloc_3661_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3661_, 0, v_ks_3641_);
lean_ctor_set(v_reuseFailAlloc_3661_, 1, v_vs_3642_);
v___x_3647_ = v_reuseFailAlloc_3661_;
goto v_reusejp_3646_;
}
v_reusejp_3646_:
{
lean_object* v_newNode_3648_; uint8_t v___y_3650_; size_t v___x_3656_; uint8_t v___x_3657_; 
v_newNode_3648_ = l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__9___redArg(v___x_3647_, v_x_3593_, v_x_3594_);
v___x_3656_ = ((size_t)7ULL);
v___x_3657_ = lean_usize_dec_le(v___x_3656_, v_x_3592_);
if (v___x_3657_ == 0)
{
lean_object* v___x_3658_; lean_object* v___x_3659_; uint8_t v___x_3660_; 
v___x_3658_ = l_Lean_PersistentHashMap_getCollisionNodeSize___redArg(v_newNode_3648_);
v___x_3659_ = lean_unsigned_to_nat(4u);
v___x_3660_ = lean_nat_dec_lt(v___x_3658_, v___x_3659_);
lean_dec(v___x_3658_);
v___y_3650_ = v___x_3660_;
goto v___jp_3649_;
}
else
{
v___y_3650_ = v___x_3657_;
goto v___jp_3649_;
}
v___jp_3649_:
{
if (v___y_3650_ == 0)
{
lean_object* v_ks_3651_; lean_object* v_vs_3652_; lean_object* v___x_3653_; lean_object* v___x_3654_; lean_object* v___x_3655_; 
v_ks_3651_ = lean_ctor_get(v_newNode_3648_, 0);
lean_inc_ref(v_ks_3651_);
v_vs_3652_ = lean_ctor_get(v_newNode_3648_, 1);
lean_inc_ref(v_vs_3652_);
lean_dec_ref(v_newNode_3648_);
v___x_3653_ = lean_unsigned_to_nat(0u);
v___x_3654_ = lean_obj_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___closed__2, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___closed__2_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___closed__2);
v___x_3655_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__10___redArg(v_x_3592_, v_ks_3651_, v_vs_3652_, v___x_3653_, v___x_3654_);
lean_dec_ref(v_vs_3652_);
lean_dec_ref(v_ks_3651_);
return v___x_3655_;
}
else
{
return v_newNode_3648_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__10___redArg(size_t v_depth_3663_, lean_object* v_keys_3664_, lean_object* v_vals_3665_, lean_object* v_i_3666_, lean_object* v_entries_3667_){
_start:
{
lean_object* v___x_3668_; uint8_t v___x_3669_; 
v___x_3668_ = lean_array_get_size(v_keys_3664_);
v___x_3669_ = lean_nat_dec_lt(v_i_3666_, v___x_3668_);
if (v___x_3669_ == 0)
{
lean_dec(v_i_3666_);
return v_entries_3667_;
}
else
{
lean_object* v_k_3670_; lean_object* v_v_3671_; uint64_t v___x_3672_; size_t v_h_3673_; size_t v___x_3674_; lean_object* v___x_3675_; size_t v___x_3676_; size_t v___x_3677_; size_t v___x_3678_; size_t v_h_3679_; lean_object* v___x_3680_; lean_object* v___x_3681_; 
v_k_3670_ = lean_array_fget_borrowed(v_keys_3664_, v_i_3666_);
v_v_3671_ = lean_array_fget_borrowed(v_vals_3665_, v_i_3666_);
v___x_3672_ = l_Lean_instHashableMVarId_hash(v_k_3670_);
v_h_3673_ = lean_uint64_to_usize(v___x_3672_);
v___x_3674_ = ((size_t)5ULL);
v___x_3675_ = lean_unsigned_to_nat(1u);
v___x_3676_ = ((size_t)1ULL);
v___x_3677_ = lean_usize_sub(v_depth_3663_, v___x_3676_);
v___x_3678_ = lean_usize_mul(v___x_3674_, v___x_3677_);
v_h_3679_ = lean_usize_shift_right(v_h_3673_, v___x_3678_);
v___x_3680_ = lean_nat_add(v_i_3666_, v___x_3675_);
lean_dec(v_i_3666_);
lean_inc(v_v_3671_);
lean_inc(v_k_3670_);
v___x_3681_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg(v_entries_3667_, v_h_3679_, v_depth_3663_, v_k_3670_, v_v_3671_);
v_i_3666_ = v___x_3680_;
v_entries_3667_ = v___x_3681_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__10___redArg___boxed(lean_object* v_depth_3683_, lean_object* v_keys_3684_, lean_object* v_vals_3685_, lean_object* v_i_3686_, lean_object* v_entries_3687_){
_start:
{
size_t v_depth_boxed_3688_; lean_object* v_res_3689_; 
v_depth_boxed_3688_ = lean_unbox_usize(v_depth_3683_);
lean_dec(v_depth_3683_);
v_res_3689_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__10___redArg(v_depth_boxed_3688_, v_keys_3684_, v_vals_3685_, v_i_3686_, v_entries_3687_);
lean_dec_ref(v_vals_3685_);
lean_dec_ref(v_keys_3684_);
return v_res_3689_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg___boxed(lean_object* v_x_3690_, lean_object* v_x_3691_, lean_object* v_x_3692_, lean_object* v_x_3693_, lean_object* v_x_3694_){
_start:
{
size_t v_x_6465__boxed_3695_; size_t v_x_6466__boxed_3696_; lean_object* v_res_3697_; 
v_x_6465__boxed_3695_ = lean_unbox_usize(v_x_3691_);
lean_dec(v_x_3691_);
v_x_6466__boxed_3696_ = lean_unbox_usize(v_x_3692_);
lean_dec(v_x_3692_);
v_res_3697_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg(v_x_3690_, v_x_6465__boxed_3695_, v_x_6466__boxed_3696_, v_x_3693_, v_x_3694_);
return v_res_3697_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5___redArg(lean_object* v_x_3698_, lean_object* v_x_3699_, lean_object* v_x_3700_){
_start:
{
uint64_t v___x_3701_; size_t v___x_3702_; size_t v___x_3703_; lean_object* v___x_3704_; 
v___x_3701_ = l_Lean_instHashableMVarId_hash(v_x_3699_);
v___x_3702_ = lean_uint64_to_usize(v___x_3701_);
v___x_3703_ = ((size_t)1ULL);
v___x_3704_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg(v_x_3698_, v___x_3702_, v___x_3703_, v_x_3699_, v_x_3700_);
return v___x_3704_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5___redArg(lean_object* v_mvarId_3705_, lean_object* v_val_3706_, lean_object* v___y_3707_){
_start:
{
lean_object* v___x_3709_; lean_object* v_mctx_3710_; lean_object* v_cache_3711_; lean_object* v_zetaDeltaFVarIds_3712_; lean_object* v_postponed_3713_; lean_object* v_diag_3714_; lean_object* v___x_3716_; uint8_t v_isShared_3717_; uint8_t v_isSharedCheck_3741_; 
v___x_3709_ = lean_st_ref_take(v___y_3707_);
v_mctx_3710_ = lean_ctor_get(v___x_3709_, 0);
v_cache_3711_ = lean_ctor_get(v___x_3709_, 1);
v_zetaDeltaFVarIds_3712_ = lean_ctor_get(v___x_3709_, 2);
v_postponed_3713_ = lean_ctor_get(v___x_3709_, 3);
v_diag_3714_ = lean_ctor_get(v___x_3709_, 4);
v_isSharedCheck_3741_ = !lean_is_exclusive(v___x_3709_);
if (v_isSharedCheck_3741_ == 0)
{
v___x_3716_ = v___x_3709_;
v_isShared_3717_ = v_isSharedCheck_3741_;
goto v_resetjp_3715_;
}
else
{
lean_inc(v_diag_3714_);
lean_inc(v_postponed_3713_);
lean_inc(v_zetaDeltaFVarIds_3712_);
lean_inc(v_cache_3711_);
lean_inc(v_mctx_3710_);
lean_dec(v___x_3709_);
v___x_3716_ = lean_box(0);
v_isShared_3717_ = v_isSharedCheck_3741_;
goto v_resetjp_3715_;
}
v_resetjp_3715_:
{
lean_object* v_depth_3718_; lean_object* v_levelAssignDepth_3719_; lean_object* v_mvarCounter_3720_; lean_object* v_lDepth_3721_; lean_object* v_decls_3722_; lean_object* v_userNames_3723_; lean_object* v_lAssignment_3724_; lean_object* v_eAssignment_3725_; lean_object* v_dAssignment_3726_; lean_object* v___x_3728_; uint8_t v_isShared_3729_; uint8_t v_isSharedCheck_3740_; 
v_depth_3718_ = lean_ctor_get(v_mctx_3710_, 0);
v_levelAssignDepth_3719_ = lean_ctor_get(v_mctx_3710_, 1);
v_mvarCounter_3720_ = lean_ctor_get(v_mctx_3710_, 2);
v_lDepth_3721_ = lean_ctor_get(v_mctx_3710_, 3);
v_decls_3722_ = lean_ctor_get(v_mctx_3710_, 4);
v_userNames_3723_ = lean_ctor_get(v_mctx_3710_, 5);
v_lAssignment_3724_ = lean_ctor_get(v_mctx_3710_, 6);
v_eAssignment_3725_ = lean_ctor_get(v_mctx_3710_, 7);
v_dAssignment_3726_ = lean_ctor_get(v_mctx_3710_, 8);
v_isSharedCheck_3740_ = !lean_is_exclusive(v_mctx_3710_);
if (v_isSharedCheck_3740_ == 0)
{
v___x_3728_ = v_mctx_3710_;
v_isShared_3729_ = v_isSharedCheck_3740_;
goto v_resetjp_3727_;
}
else
{
lean_inc(v_dAssignment_3726_);
lean_inc(v_eAssignment_3725_);
lean_inc(v_lAssignment_3724_);
lean_inc(v_userNames_3723_);
lean_inc(v_decls_3722_);
lean_inc(v_lDepth_3721_);
lean_inc(v_mvarCounter_3720_);
lean_inc(v_levelAssignDepth_3719_);
lean_inc(v_depth_3718_);
lean_dec(v_mctx_3710_);
v___x_3728_ = lean_box(0);
v_isShared_3729_ = v_isSharedCheck_3740_;
goto v_resetjp_3727_;
}
v_resetjp_3727_:
{
lean_object* v___x_3730_; lean_object* v___x_3732_; 
v___x_3730_ = l_Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5___redArg(v_eAssignment_3725_, v_mvarId_3705_, v_val_3706_);
if (v_isShared_3729_ == 0)
{
lean_ctor_set(v___x_3728_, 7, v___x_3730_);
v___x_3732_ = v___x_3728_;
goto v_reusejp_3731_;
}
else
{
lean_object* v_reuseFailAlloc_3739_; 
v_reuseFailAlloc_3739_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_3739_, 0, v_depth_3718_);
lean_ctor_set(v_reuseFailAlloc_3739_, 1, v_levelAssignDepth_3719_);
lean_ctor_set(v_reuseFailAlloc_3739_, 2, v_mvarCounter_3720_);
lean_ctor_set(v_reuseFailAlloc_3739_, 3, v_lDepth_3721_);
lean_ctor_set(v_reuseFailAlloc_3739_, 4, v_decls_3722_);
lean_ctor_set(v_reuseFailAlloc_3739_, 5, v_userNames_3723_);
lean_ctor_set(v_reuseFailAlloc_3739_, 6, v_lAssignment_3724_);
lean_ctor_set(v_reuseFailAlloc_3739_, 7, v___x_3730_);
lean_ctor_set(v_reuseFailAlloc_3739_, 8, v_dAssignment_3726_);
v___x_3732_ = v_reuseFailAlloc_3739_;
goto v_reusejp_3731_;
}
v_reusejp_3731_:
{
lean_object* v___x_3734_; 
if (v_isShared_3717_ == 0)
{
lean_ctor_set(v___x_3716_, 0, v___x_3732_);
v___x_3734_ = v___x_3716_;
goto v_reusejp_3733_;
}
else
{
lean_object* v_reuseFailAlloc_3738_; 
v_reuseFailAlloc_3738_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_3738_, 0, v___x_3732_);
lean_ctor_set(v_reuseFailAlloc_3738_, 1, v_cache_3711_);
lean_ctor_set(v_reuseFailAlloc_3738_, 2, v_zetaDeltaFVarIds_3712_);
lean_ctor_set(v_reuseFailAlloc_3738_, 3, v_postponed_3713_);
lean_ctor_set(v_reuseFailAlloc_3738_, 4, v_diag_3714_);
v___x_3734_ = v_reuseFailAlloc_3738_;
goto v_reusejp_3733_;
}
v_reusejp_3733_:
{
lean_object* v___x_3735_; lean_object* v___x_3736_; lean_object* v___x_3737_; 
v___x_3735_ = lean_st_ref_set(v___y_3707_, v___x_3734_);
v___x_3736_ = lean_box(0);
v___x_3737_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3737_, 0, v___x_3736_);
return v___x_3737_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5___redArg___boxed(lean_object* v_mvarId_3742_, lean_object* v_val_3743_, lean_object* v___y_3744_, lean_object* v___y_3745_){
_start:
{
lean_object* v_res_3746_; 
v_res_3746_ = l_Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5___redArg(v_mvarId_3742_, v_val_3743_, v___y_3744_);
lean_dec(v___y_3744_);
return v_res_3746_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__1(lean_object* v_motive_3747_, lean_object* v_ys_3748_, lean_object* v_e_3749_, lean_object* v_cls_3750_, uint8_t v___x_3751_, lean_object* v_eqs_3752_, lean_object* v___y_3753_, lean_object* v___y_3754_, lean_object* v___y_3755_, lean_object* v___y_3756_){
_start:
{
lean_object* v___x_3758_; lean_object* v___x_3759_; uint8_t v___x_3760_; lean_object* v___x_3761_; lean_object* v___x_3762_; 
v___x_3758_ = l_Lean_Expr_beta(v_motive_3747_, v_ys_3748_);
v___x_3759_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_3759_, 0, v___x_3758_);
v___x_3760_ = 0;
v___x_3761_ = lean_box(0);
lean_inc_ref(v___y_3753_);
v___x_3762_ = l_Lean_Meta_mkFreshExprMVar(v___x_3759_, v___x_3760_, v___x_3761_, v___y_3753_, v___y_3754_, v___y_3755_, v___y_3756_);
if (lean_obj_tag(v___x_3762_) == 0)
{
lean_object* v_a_3763_; lean_object* v___x_3764_; lean_object* v___x_3765_; lean_object* v___x_3766_; size_t v_sz_3767_; size_t v___x_3768_; lean_object* v___x_3769_; 
v_a_3763_ = lean_ctor_get(v___x_3762_, 0);
lean_inc(v_a_3763_);
lean_dec_ref(v___x_3762_);
v___x_3764_ = l_Lean_Expr_mvarId_x21(v_a_3763_);
v___x_3765_ = lean_box(0);
v___x_3766_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3766_, 0, v___x_3764_);
lean_ctor_set(v___x_3766_, 1, v___x_3765_);
v_sz_3767_ = lean_array_size(v_eqs_3752_);
v___x_3768_ = ((size_t)0ULL);
lean_inc(v___y_3756_);
lean_inc_ref(v___y_3755_);
lean_inc(v___y_3754_);
lean_inc_ref(v___y_3753_);
v___x_3769_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4(v_eqs_3752_, v_sz_3767_, v___x_3768_, v___x_3766_, v___y_3753_, v___y_3754_, v___y_3755_, v___y_3756_);
if (lean_obj_tag(v___x_3769_) == 0)
{
lean_object* v_a_3770_; lean_object* v_fst_3771_; lean_object* v_snd_3772_; lean_object* v___x_3773_; lean_object* v___f_3774_; lean_object* v___x_3775_; 
v_a_3770_ = lean_ctor_get(v___x_3769_, 0);
lean_inc(v_a_3770_);
lean_dec_ref(v___x_3769_);
v_fst_3771_ = lean_ctor_get(v_a_3770_, 0);
lean_inc(v_fst_3771_);
v_snd_3772_ = lean_ctor_get(v_a_3770_, 1);
lean_inc(v_snd_3772_);
lean_dec(v_a_3770_);
v___x_3773_ = l_Lean_Meta_FVarSubst_apply(v_snd_3772_, v_e_3749_);
lean_inc(v_fst_3771_);
lean_inc_ref(v___x_3773_);
v___f_3774_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__0___boxed), 8, 3);
lean_closure_set(v___f_3774_, 0, v_cls_3750_);
lean_closure_set(v___f_3774_, 1, v___x_3773_);
lean_closure_set(v___f_3774_, 2, v_fst_3771_);
lean_inc(v___y_3756_);
lean_inc_ref(v___y_3755_);
lean_inc(v___y_3754_);
lean_inc_ref(v___y_3753_);
lean_inc(v_fst_3771_);
v___x_3775_ = l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__2___redArg(v_fst_3771_, v___f_3774_, v___y_3753_, v___y_3754_, v___y_3755_, v___y_3756_);
if (lean_obj_tag(v___x_3775_) == 0)
{
lean_object* v___x_3776_; lean_object* v___x_3777_; lean_object* v_a_3778_; uint8_t v___x_3779_; uint8_t v___x_3780_; lean_object* v___x_3781_; 
lean_dec_ref(v___x_3775_);
v___x_3776_ = l_Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5___redArg(v_fst_3771_, v___x_3773_, v___y_3754_);
lean_dec_ref(v___x_3776_);
v___x_3777_ = l_Lean_instantiateMVars___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__6___redArg(v_a_3763_, v___y_3754_);
v_a_3778_ = lean_ctor_get(v___x_3777_, 0);
lean_inc(v_a_3778_);
lean_dec_ref(v___x_3777_);
v___x_3779_ = 0;
v___x_3780_ = 1;
v___x_3781_ = l_Lean_Meta_mkLambdaFVars(v_eqs_3752_, v_a_3778_, v___x_3779_, v___x_3751_, v___x_3779_, v___x_3751_, v___x_3780_, v___y_3753_, v___y_3754_, v___y_3755_, v___y_3756_);
lean_dec(v___y_3756_);
lean_dec_ref(v___y_3755_);
lean_dec(v___y_3754_);
lean_dec_ref(v___y_3753_);
return v___x_3781_;
}
else
{
lean_object* v_a_3782_; lean_object* v___x_3784_; uint8_t v_isShared_3785_; uint8_t v_isSharedCheck_3789_; 
lean_dec_ref(v___x_3773_);
lean_dec(v_fst_3771_);
lean_dec(v_a_3763_);
lean_dec(v___y_3756_);
lean_dec_ref(v___y_3755_);
lean_dec(v___y_3754_);
lean_dec_ref(v___y_3753_);
v_a_3782_ = lean_ctor_get(v___x_3775_, 0);
v_isSharedCheck_3789_ = !lean_is_exclusive(v___x_3775_);
if (v_isSharedCheck_3789_ == 0)
{
v___x_3784_ = v___x_3775_;
v_isShared_3785_ = v_isSharedCheck_3789_;
goto v_resetjp_3783_;
}
else
{
lean_inc(v_a_3782_);
lean_dec(v___x_3775_);
v___x_3784_ = lean_box(0);
v_isShared_3785_ = v_isSharedCheck_3789_;
goto v_resetjp_3783_;
}
v_resetjp_3783_:
{
lean_object* v___x_3787_; 
if (v_isShared_3785_ == 0)
{
v___x_3787_ = v___x_3784_;
goto v_reusejp_3786_;
}
else
{
lean_object* v_reuseFailAlloc_3788_; 
v_reuseFailAlloc_3788_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3788_, 0, v_a_3782_);
v___x_3787_ = v_reuseFailAlloc_3788_;
goto v_reusejp_3786_;
}
v_reusejp_3786_:
{
return v___x_3787_;
}
}
}
}
else
{
lean_object* v_a_3790_; lean_object* v___x_3792_; uint8_t v_isShared_3793_; uint8_t v_isSharedCheck_3797_; 
lean_dec(v_a_3763_);
lean_dec(v___y_3756_);
lean_dec_ref(v___y_3755_);
lean_dec(v___y_3754_);
lean_dec_ref(v___y_3753_);
lean_dec(v_cls_3750_);
v_a_3790_ = lean_ctor_get(v___x_3769_, 0);
v_isSharedCheck_3797_ = !lean_is_exclusive(v___x_3769_);
if (v_isSharedCheck_3797_ == 0)
{
v___x_3792_ = v___x_3769_;
v_isShared_3793_ = v_isSharedCheck_3797_;
goto v_resetjp_3791_;
}
else
{
lean_inc(v_a_3790_);
lean_dec(v___x_3769_);
v___x_3792_ = lean_box(0);
v_isShared_3793_ = v_isSharedCheck_3797_;
goto v_resetjp_3791_;
}
v_resetjp_3791_:
{
lean_object* v___x_3795_; 
if (v_isShared_3793_ == 0)
{
v___x_3795_ = v___x_3792_;
goto v_reusejp_3794_;
}
else
{
lean_object* v_reuseFailAlloc_3796_; 
v_reuseFailAlloc_3796_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3796_, 0, v_a_3790_);
v___x_3795_ = v_reuseFailAlloc_3796_;
goto v_reusejp_3794_;
}
v_reusejp_3794_:
{
return v___x_3795_;
}
}
}
}
else
{
lean_dec(v___y_3756_);
lean_dec_ref(v___y_3755_);
lean_dec(v___y_3754_);
lean_dec_ref(v___y_3753_);
lean_dec(v_cls_3750_);
return v___x_3762_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__1___boxed(lean_object* v_motive_3798_, lean_object* v_ys_3799_, lean_object* v_e_3800_, lean_object* v_cls_3801_, lean_object* v___x_3802_, lean_object* v_eqs_3803_, lean_object* v___y_3804_, lean_object* v___y_3805_, lean_object* v___y_3806_, lean_object* v___y_3807_, lean_object* v___y_3808_){
_start:
{
uint8_t v___x_6685__boxed_3809_; lean_object* v_res_3810_; 
v___x_6685__boxed_3809_ = lean_unbox(v___x_3802_);
v_res_3810_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__1(v_motive_3798_, v_ys_3799_, v_e_3800_, v_cls_3801_, v___x_6685__boxed_3809_, v_eqs_3803_, v___y_3804_, v___y_3805_, v___y_3806_, v___y_3807_);
lean_dec_ref(v_eqs_3803_);
lean_dec_ref(v_e_3800_);
return v_res_3810_;
}
}
LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__7(lean_object* v_a_3811_, lean_object* v_a_3812_){
_start:
{
if (lean_obj_tag(v_a_3811_) == 0)
{
lean_object* v___x_3813_; 
v___x_3813_ = l_List_reverse___redArg(v_a_3812_);
return v___x_3813_;
}
else
{
lean_object* v_head_3814_; lean_object* v_tail_3815_; lean_object* v___x_3817_; uint8_t v_isShared_3818_; uint8_t v_isSharedCheck_3824_; 
v_head_3814_ = lean_ctor_get(v_a_3811_, 0);
v_tail_3815_ = lean_ctor_get(v_a_3811_, 1);
v_isSharedCheck_3824_ = !lean_is_exclusive(v_a_3811_);
if (v_isSharedCheck_3824_ == 0)
{
v___x_3817_ = v_a_3811_;
v_isShared_3818_ = v_isSharedCheck_3824_;
goto v_resetjp_3816_;
}
else
{
lean_inc(v_tail_3815_);
lean_inc(v_head_3814_);
lean_dec(v_a_3811_);
v___x_3817_ = lean_box(0);
v_isShared_3818_ = v_isSharedCheck_3824_;
goto v_resetjp_3816_;
}
v_resetjp_3816_:
{
lean_object* v___x_3819_; lean_object* v___x_3821_; 
v___x_3819_ = l_Lean_MessageData_ofExpr(v_head_3814_);
if (v_isShared_3818_ == 0)
{
lean_ctor_set(v___x_3817_, 1, v_a_3812_);
lean_ctor_set(v___x_3817_, 0, v___x_3819_);
v___x_3821_ = v___x_3817_;
goto v_reusejp_3820_;
}
else
{
lean_object* v_reuseFailAlloc_3823_; 
v_reuseFailAlloc_3823_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3823_, 0, v___x_3819_);
lean_ctor_set(v_reuseFailAlloc_3823_, 1, v_a_3812_);
v___x_3821_ = v_reuseFailAlloc_3823_;
goto v_reusejp_3820_;
}
v_reusejp_3820_:
{
v_a_3811_ = v_tail_3815_;
v_a_3812_ = v___x_3821_;
goto _start;
}
}
}
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__2(void){
_start:
{
lean_object* v___x_3827_; lean_object* v___x_3828_; lean_object* v___x_3829_; lean_object* v___x_3830_; lean_object* v___x_3831_; lean_object* v___x_3832_; 
v___x_3827_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__1));
v___x_3828_ = lean_unsigned_to_nat(2u);
v___x_3829_ = lean_unsigned_to_nat(192u);
v___x_3830_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__0));
v___x_3831_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__2));
v___x_3832_ = l_mkPanicMessageWithDecl(v___x_3831_, v___x_3830_, v___x_3829_, v___x_3828_, v___x_3827_);
return v___x_3832_;
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__4(void){
_start:
{
lean_object* v___x_3834_; lean_object* v___x_3835_; 
v___x_3834_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__3));
v___x_3835_ = l_Lean_stringToMessageData(v___x_3834_);
return v___x_3835_;
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__6(void){
_start:
{
lean_object* v___x_3837_; lean_object* v___x_3838_; 
v___x_3837_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__5));
v___x_3838_ = l_Lean_stringToMessageData(v___x_3837_);
return v___x_3838_;
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__8(void){
_start:
{
lean_object* v___x_3840_; lean_object* v___x_3841_; 
v___x_3840_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__7));
v___x_3841_ = l_Lean_stringToMessageData(v___x_3840_);
return v___x_3841_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope(lean_object* v_motive_3842_, lean_object* v_e_3843_, lean_object* v_xs_3844_, lean_object* v_ys_3845_, lean_object* v_a_3846_, lean_object* v_a_3847_, lean_object* v_a_3848_, lean_object* v_a_3849_){
_start:
{
lean_object* v_cls_3851_; lean_object* v___y_3853_; lean_object* v___y_3854_; lean_object* v___y_3855_; lean_object* v___y_3856_; lean_object* v___x_3865_; lean_object* v_a_3866_; uint8_t v___x_3867_; 
v_cls_3851_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___closed__2));
v___x_3865_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0___redArg(v_cls_3851_, v_a_3848_);
v_a_3866_ = lean_ctor_get(v___x_3865_, 0);
lean_inc(v_a_3866_);
lean_dec_ref(v___x_3865_);
v___x_3867_ = lean_unbox(v_a_3866_);
lean_dec(v_a_3866_);
if (v___x_3867_ == 0)
{
v___y_3853_ = v_a_3846_;
v___y_3854_ = v_a_3847_;
v___y_3855_ = v_a_3848_;
v___y_3856_ = v_a_3849_;
goto v___jp_3852_;
}
else
{
lean_object* v___x_3868_; lean_object* v___x_3869_; lean_object* v___x_3870_; lean_object* v___x_3871_; lean_object* v___x_3872_; lean_object* v___x_3873_; lean_object* v___x_3874_; lean_object* v___x_3875_; lean_object* v___x_3876_; lean_object* v___x_3877_; lean_object* v___x_3878_; lean_object* v___x_3879_; lean_object* v___x_3880_; lean_object* v___x_3881_; lean_object* v___x_3882_; lean_object* v___x_3883_; lean_object* v___x_3884_; 
v___x_3868_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__4, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__4_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__4);
lean_inc_ref(v_e_3843_);
v___x_3869_ = l_Lean_MessageData_ofExpr(v_e_3843_);
v___x_3870_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3870_, 0, v___x_3868_);
lean_ctor_set(v___x_3870_, 1, v___x_3869_);
v___x_3871_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__6, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__6_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__6);
v___x_3872_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3872_, 0, v___x_3870_);
lean_ctor_set(v___x_3872_, 1, v___x_3871_);
lean_inc_ref(v_xs_3844_);
v___x_3873_ = lean_array_to_list(v_xs_3844_);
v___x_3874_ = lean_box(0);
v___x_3875_ = l_List_mapTR_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__7(v___x_3873_, v___x_3874_);
v___x_3876_ = l_Lean_MessageData_ofList(v___x_3875_);
v___x_3877_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3877_, 0, v___x_3872_);
lean_ctor_set(v___x_3877_, 1, v___x_3876_);
v___x_3878_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__8, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__8_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__8);
v___x_3879_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3879_, 0, v___x_3877_);
lean_ctor_set(v___x_3879_, 1, v___x_3878_);
lean_inc_ref(v_ys_3845_);
v___x_3880_ = lean_array_to_list(v_ys_3845_);
v___x_3881_ = l_List_mapTR_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__7(v___x_3880_, v___x_3874_);
v___x_3882_ = l_Lean_MessageData_ofList(v___x_3881_);
v___x_3883_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3883_, 0, v___x_3879_);
lean_ctor_set(v___x_3883_, 1, v___x_3882_);
v___x_3884_ = l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1(v_cls_3851_, v___x_3883_, v_a_3846_, v_a_3847_, v_a_3848_, v_a_3849_);
if (lean_obj_tag(v___x_3884_) == 0)
{
lean_dec_ref(v___x_3884_);
v___y_3853_ = v_a_3846_;
v___y_3854_ = v_a_3847_;
v___y_3855_ = v_a_3848_;
v___y_3856_ = v_a_3849_;
goto v___jp_3852_;
}
else
{
lean_object* v_a_3885_; lean_object* v___x_3887_; uint8_t v_isShared_3888_; uint8_t v_isSharedCheck_3892_; 
lean_dec(v_a_3849_);
lean_dec_ref(v_a_3848_);
lean_dec(v_a_3847_);
lean_dec_ref(v_a_3846_);
lean_dec_ref(v_ys_3845_);
lean_dec_ref(v_xs_3844_);
lean_dec_ref(v_e_3843_);
lean_dec_ref(v_motive_3842_);
v_a_3885_ = lean_ctor_get(v___x_3884_, 0);
v_isSharedCheck_3892_ = !lean_is_exclusive(v___x_3884_);
if (v_isSharedCheck_3892_ == 0)
{
v___x_3887_ = v___x_3884_;
v_isShared_3888_ = v_isSharedCheck_3892_;
goto v_resetjp_3886_;
}
else
{
lean_inc(v_a_3885_);
lean_dec(v___x_3884_);
v___x_3887_ = lean_box(0);
v_isShared_3888_ = v_isSharedCheck_3892_;
goto v_resetjp_3886_;
}
v_resetjp_3886_:
{
lean_object* v___x_3890_; 
if (v_isShared_3888_ == 0)
{
v___x_3890_ = v___x_3887_;
goto v_reusejp_3889_;
}
else
{
lean_object* v_reuseFailAlloc_3891_; 
v_reuseFailAlloc_3891_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3891_, 0, v_a_3885_);
v___x_3890_ = v_reuseFailAlloc_3891_;
goto v_reusejp_3889_;
}
v_reusejp_3889_:
{
return v___x_3890_;
}
}
}
}
v___jp_3852_:
{
lean_object* v___x_3857_; lean_object* v___x_3858_; uint8_t v___x_3859_; 
v___x_3857_ = lean_array_get_size(v_xs_3844_);
v___x_3858_ = lean_array_get_size(v_ys_3845_);
v___x_3859_ = lean_nat_dec_eq(v___x_3857_, v___x_3858_);
if (v___x_3859_ == 0)
{
lean_object* v___x_3860_; lean_object* v___x_3861_; 
lean_dec_ref(v_ys_3845_);
lean_dec_ref(v_xs_3844_);
lean_dec_ref(v_e_3843_);
lean_dec_ref(v_motive_3842_);
v___x_3860_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__2, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__2_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___closed__2);
v___x_3861_ = l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__3(v___x_3860_, v___y_3853_, v___y_3854_, v___y_3855_, v___y_3856_);
return v___x_3861_;
}
else
{
lean_object* v___x_3862_; lean_object* v___f_3863_; lean_object* v___x_3864_; 
v___x_3862_ = lean_box(v___x_3859_);
lean_inc_ref(v_ys_3845_);
v___f_3863_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___lam__1___boxed), 11, 5);
lean_closure_set(v___f_3863_, 0, v_motive_3842_);
lean_closure_set(v___f_3863_, 1, v_ys_3845_);
lean_closure_set(v___f_3863_, 2, v_e_3843_);
lean_closure_set(v___f_3863_, 3, v_cls_3851_);
lean_closure_set(v___f_3863_, 4, v___x_3862_);
v___x_3864_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withEqTelescope___redArg(v_xs_3844_, v_ys_3845_, v___f_3863_, v___y_3853_, v___y_3854_, v___y_3855_, v___y_3856_);
return v___x_3864_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope___boxed(lean_object* v_motive_3893_, lean_object* v_e_3894_, lean_object* v_xs_3895_, lean_object* v_ys_3896_, lean_object* v_a_3897_, lean_object* v_a_3898_, lean_object* v_a_3899_, lean_object* v_a_3900_, lean_object* v_a_3901_){
_start:
{
lean_object* v_res_3902_; 
v_res_3902_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope(v_motive_3893_, v_e_3894_, v_xs_3895_, v_ys_3896_, v_a_3897_, v_a_3898_, v_a_3899_, v_a_3900_);
return v_res_3902_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5(lean_object* v_mvarId_3903_, lean_object* v_val_3904_, lean_object* v___y_3905_, lean_object* v___y_3906_, lean_object* v___y_3907_, lean_object* v___y_3908_){
_start:
{
lean_object* v___x_3910_; 
v___x_3910_ = l_Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5___redArg(v_mvarId_3903_, v_val_3904_, v___y_3906_);
return v___x_3910_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5___boxed(lean_object* v_mvarId_3911_, lean_object* v_val_3912_, lean_object* v___y_3913_, lean_object* v___y_3914_, lean_object* v___y_3915_, lean_object* v___y_3916_, lean_object* v___y_3917_){
_start:
{
lean_object* v_res_3918_; 
v_res_3918_ = l_Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5(v_mvarId_3911_, v_val_3912_, v___y_3913_, v___y_3914_, v___y_3915_, v___y_3916_);
lean_dec(v___y_3916_);
lean_dec_ref(v___y_3915_);
lean_dec(v___y_3914_);
lean_dec_ref(v___y_3913_);
return v_res_3918_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5(lean_object* v_00_u03b2_3919_, lean_object* v_x_3920_, lean_object* v_x_3921_, lean_object* v_x_3922_){
_start:
{
lean_object* v___x_3923_; 
v___x_3923_ = l_Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5___redArg(v_x_3920_, v_x_3921_, v_x_3922_);
return v___x_3923_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7(lean_object* v_00_u03b2_3924_, lean_object* v_x_3925_, size_t v_x_3926_, size_t v_x_3927_, lean_object* v_x_3928_, lean_object* v_x_3929_){
_start:
{
lean_object* v___x_3930_; 
v___x_3930_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___redArg(v_x_3925_, v_x_3926_, v_x_3927_, v_x_3928_, v_x_3929_);
return v___x_3930_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7___boxed(lean_object* v_00_u03b2_3931_, lean_object* v_x_3932_, lean_object* v_x_3933_, lean_object* v_x_3934_, lean_object* v_x_3935_, lean_object* v_x_3936_){
_start:
{
size_t v_x_6996__boxed_3937_; size_t v_x_6997__boxed_3938_; lean_object* v_res_3939_; 
v_x_6996__boxed_3937_ = lean_unbox_usize(v_x_3933_);
lean_dec(v_x_3933_);
v_x_6997__boxed_3938_ = lean_unbox_usize(v_x_3934_);
lean_dec(v_x_3934_);
v_res_3939_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7(v_00_u03b2_3931_, v_x_3932_, v_x_6996__boxed_3937_, v_x_6997__boxed_3938_, v_x_3935_, v_x_3936_);
return v_res_3939_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__9(lean_object* v_00_u03b2_3940_, lean_object* v_n_3941_, lean_object* v_k_3942_, lean_object* v_v_3943_){
_start:
{
lean_object* v___x_3944_; 
v___x_3944_ = l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__9___redArg(v_n_3941_, v_k_3942_, v_v_3943_);
return v___x_3944_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__10(lean_object* v_00_u03b2_3945_, size_t v_depth_3946_, lean_object* v_keys_3947_, lean_object* v_vals_3948_, lean_object* v_heq_3949_, lean_object* v_i_3950_, lean_object* v_entries_3951_){
_start:
{
lean_object* v___x_3952_; 
v___x_3952_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__10___redArg(v_depth_3946_, v_keys_3947_, v_vals_3948_, v_i_3950_, v_entries_3951_);
return v___x_3952_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__10___boxed(lean_object* v_00_u03b2_3953_, lean_object* v_depth_3954_, lean_object* v_keys_3955_, lean_object* v_vals_3956_, lean_object* v_heq_3957_, lean_object* v_i_3958_, lean_object* v_entries_3959_){
_start:
{
size_t v_depth_boxed_3960_; lean_object* v_res_3961_; 
v_depth_boxed_3960_ = lean_unbox_usize(v_depth_3954_);
lean_dec(v_depth_3954_);
v_res_3961_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__10(v_00_u03b2_3953_, v_depth_boxed_3960_, v_keys_3955_, v_vals_3956_, v_heq_3957_, v_i_3958_, v_entries_3959_);
lean_dec_ref(v_vals_3956_);
lean_dec_ref(v_keys_3955_);
return v_res_3961_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__9_spec__10(lean_object* v_00_u03b2_3962_, lean_object* v_x_3963_, lean_object* v_x_3964_, lean_object* v_x_3965_, lean_object* v_x_3966_){
_start:
{
lean_object* v___x_3967_; 
v___x_3967_ = l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__5_spec__5_spec__7_spec__9_spec__10___redArg(v_x_3963_, v_x_3964_, v_x_3965_, v_x_3966_);
return v___x_3967_;
}
}
static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__3(void){
_start:
{
lean_object* v___x_3972_; lean_object* v___x_3973_; 
v___x_3972_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__2));
v___x_3973_ = l_Lean_stringToMessageData(v___x_3972_);
return v___x_3973_;
}
}
static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__5(void){
_start:
{
lean_object* v___x_3975_; lean_object* v___x_3976_; 
v___x_3975_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__4));
v___x_3976_ = l_Lean_stringToMessageData(v___x_3975_);
return v___x_3976_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0(lean_object* v_ctor_3977_, lean_object* v_as_3978_, size_t v_sz_3979_, size_t v_i_3980_, lean_object* v_b_3981_, lean_object* v___y_3982_, lean_object* v___y_3983_, lean_object* v___y_3984_, lean_object* v___y_3985_){
_start:
{
lean_object* v_a_3988_; uint8_t v___x_3992_; 
v___x_3992_ = lean_usize_dec_lt(v_i_3980_, v_sz_3979_);
if (v___x_3992_ == 0)
{
lean_object* v___x_3993_; 
lean_dec(v___y_3985_);
lean_dec_ref(v___y_3984_);
lean_dec(v___y_3983_);
lean_dec_ref(v___y_3982_);
lean_dec(v_ctor_3977_);
v___x_3993_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3993_, 0, v_b_3981_);
return v___x_3993_;
}
else
{
lean_object* v_a_3994_; lean_object* v___x_3995_; lean_object* v___x_3996_; uint8_t v___x_3997_; 
v_a_3994_ = lean_array_uget_borrowed(v_as_3978_, v_i_3980_);
v___x_3995_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__2));
v___x_3996_ = lean_unsigned_to_nat(3u);
v___x_3997_ = l_Lean_Expr_isAppOfArity(v_a_3994_, v___x_3995_, v___x_3996_);
if (v___x_3997_ == 0)
{
lean_object* v___x_3998_; lean_object* v___x_3999_; uint8_t v___x_4000_; 
v___x_3998_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__1));
v___x_3999_ = lean_unsigned_to_nat(4u);
v___x_4000_ = l_Lean_Expr_isAppOfArity(v_a_3994_, v___x_3998_, v___x_3999_);
if (v___x_4000_ == 0)
{
lean_object* v___x_4001_; lean_object* v___x_4002_; lean_object* v___x_4003_; lean_object* v___x_4004_; lean_object* v___x_4005_; lean_object* v___x_4006_; lean_object* v___x_4007_; lean_object* v___x_4008_; 
v___x_4001_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__3, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__3_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__3);
lean_inc(v_a_3994_);
v___x_4002_ = l_Lean_MessageData_ofExpr(v_a_3994_);
v___x_4003_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4003_, 0, v___x_4001_);
lean_ctor_set(v___x_4003_, 1, v___x_4002_);
v___x_4004_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__5, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__5_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__5);
v___x_4005_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4005_, 0, v___x_4003_);
lean_ctor_set(v___x_4005_, 1, v___x_4004_);
lean_inc(v_ctor_3977_);
v___x_4006_ = l_Lean_MessageData_ofName(v_ctor_3977_);
v___x_4007_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4007_, 0, v___x_4005_);
lean_ctor_set(v___x_4007_, 1, v___x_4006_);
v___x_4008_ = l_Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0___redArg(v___x_4007_, v___y_3982_, v___y_3983_, v___y_3984_, v___y_3985_);
if (lean_obj_tag(v___x_4008_) == 0)
{
lean_dec_ref(v___x_4008_);
v_a_3988_ = v_b_3981_;
goto v___jp_3987_;
}
else
{
lean_object* v_a_4009_; lean_object* v___x_4011_; uint8_t v_isShared_4012_; uint8_t v_isSharedCheck_4016_; 
lean_dec(v___y_3985_);
lean_dec_ref(v___y_3984_);
lean_dec(v___y_3983_);
lean_dec_ref(v___y_3982_);
lean_dec_ref(v_b_3981_);
lean_dec(v_ctor_3977_);
v_a_4009_ = lean_ctor_get(v___x_4008_, 0);
v_isSharedCheck_4016_ = !lean_is_exclusive(v___x_4008_);
if (v_isSharedCheck_4016_ == 0)
{
v___x_4011_ = v___x_4008_;
v_isShared_4012_ = v_isSharedCheck_4016_;
goto v_resetjp_4010_;
}
else
{
lean_inc(v_a_4009_);
lean_dec(v___x_4008_);
v___x_4011_ = lean_box(0);
v_isShared_4012_ = v_isSharedCheck_4016_;
goto v_resetjp_4010_;
}
v_resetjp_4010_:
{
lean_object* v___x_4014_; 
if (v_isShared_4012_ == 0)
{
v___x_4014_ = v___x_4011_;
goto v_reusejp_4013_;
}
else
{
lean_object* v_reuseFailAlloc_4015_; 
v_reuseFailAlloc_4015_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4015_, 0, v_a_4009_);
v___x_4014_ = v_reuseFailAlloc_4015_;
goto v_reusejp_4013_;
}
v_reusejp_4013_:
{
return v___x_4014_;
}
}
}
}
else
{
lean_object* v___x_4017_; lean_object* v___x_4018_; lean_object* v___x_4019_; lean_object* v___x_4020_; 
v___x_4017_ = l_Lean_Expr_appFn_x21(v_a_3994_);
v___x_4018_ = l_Lean_Expr_appFn_x21(v___x_4017_);
lean_dec_ref(v___x_4017_);
v___x_4019_ = l_Lean_Expr_appArg_x21(v___x_4018_);
lean_dec_ref(v___x_4018_);
lean_inc(v___y_3985_);
lean_inc_ref(v___y_3984_);
lean_inc(v___y_3983_);
lean_inc_ref(v___y_3982_);
v___x_4020_ = l_Lean_Meta_mkHEqRefl(v___x_4019_, v___y_3982_, v___y_3983_, v___y_3984_, v___y_3985_);
if (lean_obj_tag(v___x_4020_) == 0)
{
lean_object* v_a_4021_; lean_object* v___x_4022_; 
v_a_4021_ = lean_ctor_get(v___x_4020_, 0);
lean_inc(v_a_4021_);
lean_dec_ref(v___x_4020_);
v___x_4022_ = l_Lean_Expr_app___override(v_b_3981_, v_a_4021_);
v_a_3988_ = v___x_4022_;
goto v___jp_3987_;
}
else
{
lean_dec(v___y_3985_);
lean_dec_ref(v___y_3984_);
lean_dec(v___y_3983_);
lean_dec_ref(v___y_3982_);
lean_dec_ref(v_b_3981_);
lean_dec(v_ctor_3977_);
return v___x_4020_;
}
}
}
else
{
lean_object* v___x_4023_; lean_object* v___x_4024_; lean_object* v___x_4025_; 
v___x_4023_ = l_Lean_Expr_appFn_x21(v_a_3994_);
v___x_4024_ = l_Lean_Expr_appArg_x21(v___x_4023_);
lean_dec_ref(v___x_4023_);
lean_inc(v___y_3985_);
lean_inc_ref(v___y_3984_);
lean_inc(v___y_3983_);
lean_inc_ref(v___y_3982_);
v___x_4025_ = l_Lean_Meta_mkEqRefl(v___x_4024_, v___y_3982_, v___y_3983_, v___y_3984_, v___y_3985_);
if (lean_obj_tag(v___x_4025_) == 0)
{
lean_object* v_a_4026_; lean_object* v___x_4027_; 
v_a_4026_ = lean_ctor_get(v___x_4025_, 0);
lean_inc(v_a_4026_);
lean_dec_ref(v___x_4025_);
v___x_4027_ = l_Lean_Expr_app___override(v_b_3981_, v_a_4026_);
v_a_3988_ = v___x_4027_;
goto v___jp_3987_;
}
else
{
lean_dec(v___y_3985_);
lean_dec_ref(v___y_3984_);
lean_dec(v___y_3983_);
lean_dec_ref(v___y_3982_);
lean_dec_ref(v_b_3981_);
lean_dec(v_ctor_3977_);
return v___x_4025_;
}
}
}
v___jp_3987_:
{
size_t v___x_3989_; size_t v___x_3990_; 
v___x_3989_ = ((size_t)1ULL);
v___x_3990_ = lean_usize_add(v_i_3980_, v___x_3989_);
v_i_3980_ = v___x_3990_;
v_b_3981_ = v_a_3988_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___boxed(lean_object* v_ctor_4028_, lean_object* v_as_4029_, lean_object* v_sz_4030_, lean_object* v_i_4031_, lean_object* v_b_4032_, lean_object* v___y_4033_, lean_object* v___y_4034_, lean_object* v___y_4035_, lean_object* v___y_4036_, lean_object* v___y_4037_){
_start:
{
size_t v_sz_boxed_4038_; size_t v_i_boxed_4039_; lean_object* v_res_4040_; 
v_sz_boxed_4038_ = lean_unbox_usize(v_sz_4030_);
lean_dec(v_sz_4030_);
v_i_boxed_4039_ = lean_unbox_usize(v_i_4031_);
lean_dec(v_i_4031_);
v_res_4040_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0(v_ctor_4028_, v_as_4029_, v_sz_boxed_4038_, v_i_boxed_4039_, v_b_4032_, v___y_4033_, v___y_4034_, v___y_4035_, v___y_4036_);
lean_dec_ref(v_as_4029_);
return v_res_4040_;
}
}
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___lam__0(lean_object* v___x_4041_, lean_object* v_head_4042_, lean_object* v_fs1_4043_, uint8_t v___x_4044_, uint8_t v___x_4045_, uint8_t v___x_4046_, lean_object* v_k_4047_, lean_object* v___y_4048_, lean_object* v___y_4049_, lean_object* v___y_4050_, lean_object* v___y_4051_){
_start:
{
lean_object* v___x_4053_; lean_object* v___x_4054_; 
v___x_4053_ = l_Lean_Expr_getNumHeadForalls(v___x_4041_);
lean_inc(v___y_4051_);
lean_inc_ref(v___y_4050_);
lean_inc(v___y_4049_);
lean_inc_ref(v___y_4048_);
v___x_4054_ = l_Lean_Meta_arrowDomainsN(v___x_4053_, v___x_4041_, v___y_4048_, v___y_4049_, v___y_4050_, v___y_4051_);
if (lean_obj_tag(v___x_4054_) == 0)
{
lean_object* v_a_4055_; size_t v_sz_4056_; size_t v___x_4057_; lean_object* v___x_4058_; 
v_a_4055_ = lean_ctor_get(v___x_4054_, 0);
lean_inc(v_a_4055_);
lean_dec_ref(v___x_4054_);
v_sz_4056_ = lean_array_size(v_a_4055_);
v___x_4057_ = ((size_t)0ULL);
lean_inc(v___y_4051_);
lean_inc_ref(v___y_4050_);
lean_inc(v___y_4049_);
lean_inc_ref(v___y_4048_);
lean_inc_ref(v_k_4047_);
v___x_4058_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0(v_head_4042_, v_a_4055_, v_sz_4056_, v___x_4057_, v_k_4047_, v___y_4048_, v___y_4049_, v___y_4050_, v___y_4051_);
lean_dec(v_a_4055_);
if (lean_obj_tag(v___x_4058_) == 0)
{
lean_object* v_a_4059_; lean_object* v___x_4060_; lean_object* v___x_4061_; lean_object* v___x_4062_; lean_object* v___x_4063_; lean_object* v___x_4064_; 
v_a_4059_ = lean_ctor_get(v___x_4058_, 0);
lean_inc(v_a_4059_);
lean_dec_ref(v___x_4058_);
v___x_4060_ = lean_unsigned_to_nat(1u);
v___x_4061_ = lean_mk_empty_array_with_capacity(v___x_4060_);
v___x_4062_ = lean_array_push(v___x_4061_, v_k_4047_);
v___x_4063_ = l_Array_append___redArg(v_fs1_4043_, v___x_4062_);
lean_dec_ref(v___x_4062_);
v___x_4064_ = l_Lean_Meta_mkLambdaFVars(v___x_4063_, v_a_4059_, v___x_4044_, v___x_4045_, v___x_4044_, v___x_4045_, v___x_4046_, v___y_4048_, v___y_4049_, v___y_4050_, v___y_4051_);
lean_dec(v___y_4051_);
lean_dec_ref(v___y_4050_);
lean_dec(v___y_4049_);
lean_dec_ref(v___y_4048_);
lean_dec_ref(v___x_4063_);
return v___x_4064_;
}
else
{
lean_dec(v___y_4051_);
lean_dec_ref(v___y_4050_);
lean_dec(v___y_4049_);
lean_dec_ref(v___y_4048_);
lean_dec_ref(v_k_4047_);
lean_dec_ref(v_fs1_4043_);
return v___x_4058_;
}
}
else
{
lean_object* v_a_4065_; lean_object* v___x_4067_; uint8_t v_isShared_4068_; uint8_t v_isSharedCheck_4072_; 
lean_dec(v___y_4051_);
lean_dec_ref(v___y_4050_);
lean_dec(v___y_4049_);
lean_dec_ref(v___y_4048_);
lean_dec_ref(v_k_4047_);
lean_dec_ref(v_fs1_4043_);
lean_dec(v_head_4042_);
v_a_4065_ = lean_ctor_get(v___x_4054_, 0);
v_isSharedCheck_4072_ = !lean_is_exclusive(v___x_4054_);
if (v_isSharedCheck_4072_ == 0)
{
v___x_4067_ = v___x_4054_;
v_isShared_4068_ = v_isSharedCheck_4072_;
goto v_resetjp_4066_;
}
else
{
lean_inc(v_a_4065_);
lean_dec(v___x_4054_);
v___x_4067_ = lean_box(0);
v_isShared_4068_ = v_isSharedCheck_4072_;
goto v_resetjp_4066_;
}
v_resetjp_4066_:
{
lean_object* v___x_4070_; 
if (v_isShared_4068_ == 0)
{
v___x_4070_ = v___x_4067_;
goto v_reusejp_4069_;
}
else
{
lean_object* v_reuseFailAlloc_4071_; 
v_reuseFailAlloc_4071_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4071_, 0, v_a_4065_);
v___x_4070_ = v_reuseFailAlloc_4071_;
goto v_reusejp_4069_;
}
v_reusejp_4069_:
{
return v___x_4070_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___lam__0___boxed(lean_object* v___x_4073_, lean_object* v_head_4074_, lean_object* v_fs1_4075_, lean_object* v___x_4076_, lean_object* v___x_4077_, lean_object* v___x_4078_, lean_object* v_k_4079_, lean_object* v___y_4080_, lean_object* v___y_4081_, lean_object* v___y_4082_, lean_object* v___y_4083_, lean_object* v___y_4084_){
_start:
{
uint8_t v___x_10978__boxed_4085_; uint8_t v___x_10979__boxed_4086_; uint8_t v___x_10980__boxed_4087_; lean_object* v_res_4088_; 
v___x_10978__boxed_4085_ = lean_unbox(v___x_4076_);
v___x_10979__boxed_4086_ = lean_unbox(v___x_4077_);
v___x_10980__boxed_4087_ = lean_unbox(v___x_4078_);
v_res_4088_ = l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___lam__0(v___x_4073_, v_head_4074_, v_fs1_4075_, v___x_10978__boxed_4085_, v___x_10979__boxed_4086_, v___x_10980__boxed_4087_, v_k_4079_, v___y_4080_, v___y_4081_, v___y_4082_, v___y_4083_);
return v_res_4088_;
}
}
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___lam__1(lean_object* v_head_4092_, lean_object* v___x_4093_, lean_object* v___x_4094_, uint8_t v___x_4095_, uint8_t v___x_4096_, uint8_t v___x_4097_, lean_object* v_fs1_4098_, lean_object* v_x_4099_, lean_object* v___y_4100_, lean_object* v___y_4101_, lean_object* v___y_4102_, lean_object* v___y_4103_){
_start:
{
lean_object* v___x_4105_; 
lean_inc(v___y_4103_);
lean_inc_ref(v___y_4102_);
lean_inc(v___y_4101_);
lean_inc_ref(v___y_4100_);
lean_inc(v_head_4092_);
v___x_4105_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg(v_head_4092_, v___x_4093_, v___y_4100_, v___y_4101_, v___y_4102_, v___y_4103_);
if (lean_obj_tag(v___x_4105_) == 0)
{
lean_object* v_a_4106_; lean_object* v___x_4107_; lean_object* v___x_4108_; lean_object* v___x_4109_; lean_object* v___x_4110_; lean_object* v___x_4111_; lean_object* v___x_4112_; lean_object* v___x_4113_; lean_object* v___f_4114_; lean_object* v___x_4115_; lean_object* v___x_4116_; 
v_a_4106_ = lean_ctor_get(v___x_4105_, 0);
lean_inc(v_a_4106_);
lean_dec_ref(v___x_4105_);
lean_inc_ref(v___x_4094_);
v___x_4107_ = l_Array_append___redArg(v___x_4094_, v_fs1_4098_);
v___x_4108_ = l_Array_append___redArg(v___x_4107_, v___x_4094_);
lean_dec_ref(v___x_4094_);
v___x_4109_ = l_Array_append___redArg(v___x_4108_, v_fs1_4098_);
v___x_4110_ = l_Lean_Expr_beta(v_a_4106_, v___x_4109_);
v___x_4111_ = lean_box(v___x_4095_);
v___x_4112_ = lean_box(v___x_4096_);
v___x_4113_ = lean_box(v___x_4097_);
lean_inc_ref(v___x_4110_);
v___f_4114_ = lean_alloc_closure((void*)(l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___lam__0___boxed), 12, 6);
lean_closure_set(v___f_4114_, 0, v___x_4110_);
lean_closure_set(v___f_4114_, 1, v_head_4092_);
lean_closure_set(v___f_4114_, 2, v_fs1_4098_);
lean_closure_set(v___f_4114_, 3, v___x_4111_);
lean_closure_set(v___f_4114_, 4, v___x_4112_);
lean_closure_set(v___f_4114_, 5, v___x_4113_);
v___x_4115_ = ((lean_object*)(l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___lam__1___closed__1));
v___x_4116_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg(v___x_4115_, v___x_4110_, v___f_4114_, v___y_4100_, v___y_4101_, v___y_4102_, v___y_4103_);
return v___x_4116_;
}
else
{
lean_dec(v___y_4103_);
lean_dec_ref(v___y_4102_);
lean_dec(v___y_4101_);
lean_dec_ref(v___y_4100_);
lean_dec_ref(v_fs1_4098_);
lean_dec_ref(v___x_4094_);
lean_dec(v_head_4092_);
return v___x_4105_;
}
}
}
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___lam__1___boxed(lean_object* v_head_4117_, lean_object* v___x_4118_, lean_object* v___x_4119_, lean_object* v___x_4120_, lean_object* v___x_4121_, lean_object* v___x_4122_, lean_object* v_fs1_4123_, lean_object* v_x_4124_, lean_object* v___y_4125_, lean_object* v___y_4126_, lean_object* v___y_4127_, lean_object* v___y_4128_, lean_object* v___y_4129_){
_start:
{
uint8_t v___x_11054__boxed_4130_; uint8_t v___x_11055__boxed_4131_; uint8_t v___x_11056__boxed_4132_; lean_object* v_res_4133_; 
v___x_11054__boxed_4130_ = lean_unbox(v___x_4120_);
v___x_11055__boxed_4131_ = lean_unbox(v___x_4121_);
v___x_11056__boxed_4132_ = lean_unbox(v___x_4122_);
v_res_4133_ = l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___lam__1(v_head_4117_, v___x_4118_, v___x_4119_, v___x_11054__boxed_4130_, v___x_11055__boxed_4131_, v___x_11056__boxed_4132_, v_fs1_4123_, v_x_4124_, v___y_4125_, v___y_4126_, v___y_4127_, v___y_4128_);
lean_dec_ref(v_x_4124_);
return v_res_4133_;
}
}
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1(lean_object* v___x_4134_, lean_object* v___x_4135_, lean_object* v_tail_4136_, lean_object* v_x_4137_, lean_object* v_x_4138_, lean_object* v___y_4139_, lean_object* v___y_4140_, lean_object* v___y_4141_, lean_object* v___y_4142_){
_start:
{
if (lean_obj_tag(v_x_4137_) == 0)
{
lean_object* v___x_4144_; lean_object* v___x_4145_; 
lean_dec(v___y_4142_);
lean_dec_ref(v___y_4141_);
lean_dec(v___y_4140_);
lean_dec_ref(v___y_4139_);
lean_dec(v_tail_4136_);
lean_dec_ref(v___x_4135_);
lean_dec_ref(v___x_4134_);
v___x_4144_ = l_List_reverse___redArg(v_x_4138_);
v___x_4145_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4145_, 0, v___x_4144_);
return v___x_4145_;
}
else
{
lean_object* v_head_4146_; lean_object* v_tail_4147_; lean_object* v___x_4149_; uint8_t v_isShared_4150_; uint8_t v_isSharedCheck_4178_; 
v_head_4146_ = lean_ctor_get(v_x_4137_, 0);
v_tail_4147_ = lean_ctor_get(v_x_4137_, 1);
v_isSharedCheck_4178_ = !lean_is_exclusive(v_x_4137_);
if (v_isSharedCheck_4178_ == 0)
{
v___x_4149_ = v_x_4137_;
v_isShared_4150_ = v_isSharedCheck_4178_;
goto v_resetjp_4148_;
}
else
{
lean_inc(v_tail_4147_);
lean_inc(v_head_4146_);
lean_dec(v_x_4137_);
v___x_4149_ = lean_box(0);
v_isShared_4150_ = v_isSharedCheck_4178_;
goto v_resetjp_4148_;
}
v_resetjp_4148_:
{
lean_object* v___y_4152_; lean_object* v___x_4166_; lean_object* v___x_4167_; lean_object* v___x_4168_; 
lean_inc(v_tail_4136_);
lean_inc(v_head_4146_);
v___x_4166_ = l_Lean_mkConst(v_head_4146_, v_tail_4136_);
v___x_4167_ = l_Lean_mkAppN(v___x_4166_, v___x_4135_);
lean_inc(v___y_4142_);
lean_inc_ref(v___y_4141_);
lean_inc(v___y_4140_);
lean_inc_ref(v___y_4139_);
v___x_4168_ = lean_infer_type(v___x_4167_, v___y_4139_, v___y_4140_, v___y_4141_, v___y_4142_);
if (lean_obj_tag(v___x_4168_) == 0)
{
lean_object* v_a_4169_; uint8_t v___x_4170_; uint8_t v___x_4171_; uint8_t v___x_4172_; lean_object* v___x_4173_; lean_object* v___x_4174_; lean_object* v___x_4175_; lean_object* v___f_4176_; lean_object* v___x_4177_; 
v_a_4169_ = lean_ctor_get(v___x_4168_, 0);
lean_inc(v_a_4169_);
lean_dec_ref(v___x_4168_);
v___x_4170_ = 0;
v___x_4171_ = 1;
v___x_4172_ = 1;
v___x_4173_ = lean_box(v___x_4170_);
v___x_4174_ = lean_box(v___x_4171_);
v___x_4175_ = lean_box(v___x_4172_);
lean_inc_ref(v___x_4135_);
lean_inc_ref(v___x_4134_);
v___f_4176_ = lean_alloc_closure((void*)(l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___lam__1___boxed), 13, 6);
lean_closure_set(v___f_4176_, 0, v_head_4146_);
lean_closure_set(v___f_4176_, 1, v___x_4134_);
lean_closure_set(v___f_4176_, 2, v___x_4135_);
lean_closure_set(v___f_4176_, 3, v___x_4173_);
lean_closure_set(v___f_4176_, 4, v___x_4174_);
lean_closure_set(v___f_4176_, 5, v___x_4175_);
lean_inc(v___y_4142_);
lean_inc_ref(v___y_4141_);
lean_inc(v___y_4140_);
lean_inc_ref(v___y_4139_);
v___x_4177_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__3___redArg(v_a_4169_, v___f_4176_, v___x_4170_, v___x_4170_, v___y_4139_, v___y_4140_, v___y_4141_, v___y_4142_);
v___y_4152_ = v___x_4177_;
goto v___jp_4151_;
}
else
{
lean_dec(v_head_4146_);
v___y_4152_ = v___x_4168_;
goto v___jp_4151_;
}
v___jp_4151_:
{
if (lean_obj_tag(v___y_4152_) == 0)
{
lean_object* v_a_4153_; lean_object* v___x_4155_; 
v_a_4153_ = lean_ctor_get(v___y_4152_, 0);
lean_inc(v_a_4153_);
lean_dec_ref(v___y_4152_);
if (v_isShared_4150_ == 0)
{
lean_ctor_set(v___x_4149_, 1, v_x_4138_);
lean_ctor_set(v___x_4149_, 0, v_a_4153_);
v___x_4155_ = v___x_4149_;
goto v_reusejp_4154_;
}
else
{
lean_object* v_reuseFailAlloc_4157_; 
v_reuseFailAlloc_4157_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4157_, 0, v_a_4153_);
lean_ctor_set(v_reuseFailAlloc_4157_, 1, v_x_4138_);
v___x_4155_ = v_reuseFailAlloc_4157_;
goto v_reusejp_4154_;
}
v_reusejp_4154_:
{
v_x_4137_ = v_tail_4147_;
v_x_4138_ = v___x_4155_;
goto _start;
}
}
else
{
lean_object* v_a_4158_; lean_object* v___x_4160_; uint8_t v_isShared_4161_; uint8_t v_isSharedCheck_4165_; 
lean_del_object(v___x_4149_);
lean_dec(v_tail_4147_);
lean_dec(v___y_4142_);
lean_dec_ref(v___y_4141_);
lean_dec(v___y_4140_);
lean_dec_ref(v___y_4139_);
lean_dec(v_x_4138_);
lean_dec(v_tail_4136_);
lean_dec_ref(v___x_4135_);
lean_dec_ref(v___x_4134_);
v_a_4158_ = lean_ctor_get(v___y_4152_, 0);
v_isSharedCheck_4165_ = !lean_is_exclusive(v___y_4152_);
if (v_isSharedCheck_4165_ == 0)
{
v___x_4160_ = v___y_4152_;
v_isShared_4161_ = v_isSharedCheck_4165_;
goto v_resetjp_4159_;
}
else
{
lean_inc(v_a_4158_);
lean_dec(v___y_4152_);
v___x_4160_ = lean_box(0);
v_isShared_4161_ = v_isSharedCheck_4165_;
goto v_resetjp_4159_;
}
v_resetjp_4159_:
{
lean_object* v___x_4163_; 
if (v_isShared_4161_ == 0)
{
v___x_4163_ = v___x_4160_;
goto v_reusejp_4162_;
}
else
{
lean_object* v_reuseFailAlloc_4164_; 
v_reuseFailAlloc_4164_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4164_, 0, v_a_4158_);
v___x_4163_ = v_reuseFailAlloc_4164_;
goto v_reusejp_4162_;
}
v_reusejp_4162_:
{
return v___x_4163_;
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___boxed(lean_object* v___x_4179_, lean_object* v___x_4180_, lean_object* v_tail_4181_, lean_object* v_x_4182_, lean_object* v_x_4183_, lean_object* v___y_4184_, lean_object* v___y_4185_, lean_object* v___y_4186_, lean_object* v___y_4187_, lean_object* v___y_4188_){
_start:
{
lean_object* v_res_4189_; 
v_res_4189_ = l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1(v___x_4179_, v___x_4180_, v_tail_4181_, v_x_4182_, v_x_4183_, v___y_4184_, v___y_4185_, v___y_4186_, v___y_4187_);
return v_res_4189_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__0(lean_object* v___x_4190_, lean_object* v___x_4191_, uint8_t v___x_4192_, uint8_t v___x_4193_, uint8_t v___x_4194_, lean_object* v___x_4195_, lean_object* v___x_4196_, lean_object* v_tail_4197_, lean_object* v_ctors_4198_, lean_object* v___x_4199_, lean_object* v_xs2_4200_, lean_object* v___x_4201_, lean_object* v___x_4202_, lean_object* v___x_4203_, lean_object* v___x_4204_, lean_object* v_xs1_4205_, lean_object* v___y_4206_, lean_object* v___y_4207_, lean_object* v___y_4208_, lean_object* v___y_4209_){
_start:
{
lean_object* v___x_4211_; 
v___x_4211_ = l_Lean_Meta_mkLambdaFVars(v___x_4190_, v___x_4191_, v___x_4192_, v___x_4193_, v___x_4192_, v___x_4193_, v___x_4194_, v___y_4206_, v___y_4207_, v___y_4208_, v___y_4209_);
if (lean_obj_tag(v___x_4211_) == 0)
{
lean_object* v_a_4212_; lean_object* v___x_4213_; lean_object* v___x_4214_; 
v_a_4212_ = lean_ctor_get(v___x_4211_, 0);
lean_inc(v_a_4212_);
lean_dec_ref(v___x_4211_);
v___x_4213_ = lean_box(0);
lean_inc(v___y_4209_);
lean_inc_ref(v___y_4208_);
lean_inc(v___y_4207_);
lean_inc_ref(v___y_4206_);
lean_inc_ref(v___x_4196_);
v___x_4214_ = l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1(v___x_4195_, v___x_4196_, v_tail_4197_, v_ctors_4198_, v___x_4213_, v___y_4206_, v___y_4207_, v___y_4208_, v___y_4209_);
if (lean_obj_tag(v___x_4214_) == 0)
{
lean_object* v_a_4215_; lean_object* v___x_4216_; lean_object* v___x_4217_; lean_object* v___x_4218_; 
v_a_4215_ = lean_ctor_get(v___x_4214_, 0);
lean_inc(v_a_4215_);
lean_dec_ref(v___x_4214_);
v___x_4216_ = l_Array_append___redArg(v___x_4199_, v_xs2_4200_);
v___x_4217_ = l_Lean_mkAppN(v___x_4201_, v___x_4216_);
v___x_4218_ = l_Lean_Meta_mkLambdaFVars(v_xs2_4200_, v___x_4217_, v___x_4192_, v___x_4193_, v___x_4192_, v___x_4193_, v___x_4194_, v___y_4206_, v___y_4207_, v___y_4208_, v___y_4209_);
if (lean_obj_tag(v___x_4218_) == 0)
{
lean_object* v_a_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_4224_; lean_object* v___x_4225_; lean_object* v___x_4226_; 
v_a_4219_ = lean_ctor_get(v___x_4218_, 0);
lean_inc(v_a_4219_);
lean_dec_ref(v___x_4218_);
v___x_4220_ = l_Lean_mkConst(v___x_4202_, v___x_4203_);
v___x_4221_ = lean_array_push(v___x_4204_, v_a_4212_);
v___x_4222_ = l_Array_append___redArg(v___x_4196_, v___x_4221_);
lean_dec_ref(v___x_4221_);
v___x_4223_ = l_Array_append___redArg(v___x_4222_, v___x_4190_);
v___x_4224_ = l_List_foldl___at___00Array_appendList_spec__0___redArg(v___x_4223_, v_a_4215_);
v___x_4225_ = l_Lean_mkAppN(v___x_4220_, v___x_4224_);
lean_dec_ref(v___x_4224_);
lean_inc(v___y_4209_);
lean_inc_ref(v___y_4208_);
lean_inc(v___y_4207_);
lean_inc_ref(v___y_4206_);
v___x_4226_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope(v_a_4219_, v___x_4225_, v_xs1_4205_, v_xs2_4200_, v___y_4206_, v___y_4207_, v___y_4208_, v___y_4209_);
if (lean_obj_tag(v___x_4226_) == 0)
{
lean_object* v_a_4227_; lean_object* v___x_4228_; 
v_a_4227_ = lean_ctor_get(v___x_4226_, 0);
lean_inc(v_a_4227_);
lean_dec_ref(v___x_4226_);
v___x_4228_ = l_Lean_Meta_mkLambdaFVars(v___x_4216_, v_a_4227_, v___x_4192_, v___x_4193_, v___x_4192_, v___x_4193_, v___x_4194_, v___y_4206_, v___y_4207_, v___y_4208_, v___y_4209_);
lean_dec(v___y_4209_);
lean_dec_ref(v___y_4208_);
lean_dec(v___y_4207_);
lean_dec_ref(v___y_4206_);
lean_dec_ref(v___x_4216_);
return v___x_4228_;
}
else
{
lean_dec_ref(v___x_4216_);
lean_dec(v___y_4209_);
lean_dec_ref(v___y_4208_);
lean_dec(v___y_4207_);
lean_dec_ref(v___y_4206_);
return v___x_4226_;
}
}
else
{
lean_dec_ref(v___x_4216_);
lean_dec(v_a_4215_);
lean_dec(v_a_4212_);
lean_dec(v___y_4209_);
lean_dec_ref(v___y_4208_);
lean_dec(v___y_4207_);
lean_dec_ref(v___y_4206_);
lean_dec_ref(v_xs1_4205_);
lean_dec_ref(v___x_4204_);
lean_dec(v___x_4203_);
lean_dec(v___x_4202_);
lean_dec_ref(v_xs2_4200_);
lean_dec_ref(v___x_4196_);
return v___x_4218_;
}
}
else
{
lean_object* v_a_4229_; lean_object* v___x_4231_; uint8_t v_isShared_4232_; uint8_t v_isSharedCheck_4236_; 
lean_dec(v_a_4212_);
lean_dec(v___y_4209_);
lean_dec_ref(v___y_4208_);
lean_dec(v___y_4207_);
lean_dec_ref(v___y_4206_);
lean_dec_ref(v_xs1_4205_);
lean_dec_ref(v___x_4204_);
lean_dec(v___x_4203_);
lean_dec(v___x_4202_);
lean_dec_ref(v___x_4201_);
lean_dec_ref(v_xs2_4200_);
lean_dec_ref(v___x_4199_);
lean_dec_ref(v___x_4196_);
v_a_4229_ = lean_ctor_get(v___x_4214_, 0);
v_isSharedCheck_4236_ = !lean_is_exclusive(v___x_4214_);
if (v_isSharedCheck_4236_ == 0)
{
v___x_4231_ = v___x_4214_;
v_isShared_4232_ = v_isSharedCheck_4236_;
goto v_resetjp_4230_;
}
else
{
lean_inc(v_a_4229_);
lean_dec(v___x_4214_);
v___x_4231_ = lean_box(0);
v_isShared_4232_ = v_isSharedCheck_4236_;
goto v_resetjp_4230_;
}
v_resetjp_4230_:
{
lean_object* v___x_4234_; 
if (v_isShared_4232_ == 0)
{
v___x_4234_ = v___x_4231_;
goto v_reusejp_4233_;
}
else
{
lean_object* v_reuseFailAlloc_4235_; 
v_reuseFailAlloc_4235_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4235_, 0, v_a_4229_);
v___x_4234_ = v_reuseFailAlloc_4235_;
goto v_reusejp_4233_;
}
v_reusejp_4233_:
{
return v___x_4234_;
}
}
}
}
else
{
lean_dec(v___y_4209_);
lean_dec_ref(v___y_4208_);
lean_dec(v___y_4207_);
lean_dec_ref(v___y_4206_);
lean_dec_ref(v_xs1_4205_);
lean_dec_ref(v___x_4204_);
lean_dec(v___x_4203_);
lean_dec(v___x_4202_);
lean_dec_ref(v___x_4201_);
lean_dec_ref(v_xs2_4200_);
lean_dec_ref(v___x_4199_);
lean_dec(v_ctors_4198_);
lean_dec(v_tail_4197_);
lean_dec_ref(v___x_4196_);
lean_dec_ref(v___x_4195_);
return v___x_4211_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__0___boxed(lean_object** _args){
lean_object* v___x_4237_ = _args[0];
lean_object* v___x_4238_ = _args[1];
lean_object* v___x_4239_ = _args[2];
lean_object* v___x_4240_ = _args[3];
lean_object* v___x_4241_ = _args[4];
lean_object* v___x_4242_ = _args[5];
lean_object* v___x_4243_ = _args[6];
lean_object* v_tail_4244_ = _args[7];
lean_object* v_ctors_4245_ = _args[8];
lean_object* v___x_4246_ = _args[9];
lean_object* v_xs2_4247_ = _args[10];
lean_object* v___x_4248_ = _args[11];
lean_object* v___x_4249_ = _args[12];
lean_object* v___x_4250_ = _args[13];
lean_object* v___x_4251_ = _args[14];
lean_object* v_xs1_4252_ = _args[15];
lean_object* v___y_4253_ = _args[16];
lean_object* v___y_4254_ = _args[17];
lean_object* v___y_4255_ = _args[18];
lean_object* v___y_4256_ = _args[19];
lean_object* v___y_4257_ = _args[20];
_start:
{
uint8_t v___x_11218__boxed_4258_; uint8_t v___x_11219__boxed_4259_; uint8_t v___x_11220__boxed_4260_; lean_object* v_res_4261_; 
v___x_11218__boxed_4258_ = lean_unbox(v___x_4239_);
v___x_11219__boxed_4259_ = lean_unbox(v___x_4240_);
v___x_11220__boxed_4260_ = lean_unbox(v___x_4241_);
v_res_4261_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__0(v___x_4237_, v___x_4238_, v___x_11218__boxed_4258_, v___x_11219__boxed_4259_, v___x_11220__boxed_4260_, v___x_4242_, v___x_4243_, v_tail_4244_, v_ctors_4245_, v___x_4246_, v_xs2_4247_, v___x_4248_, v___x_4249_, v___x_4250_, v___x_4251_, v_xs1_4252_, v___y_4253_, v___y_4254_, v___y_4255_, v___y_4256_);
lean_dec_ref(v___x_4237_);
return v_res_4261_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withNewBinderInfos___at___00Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2_spec__3___redArg(lean_object* v_bs_4262_, lean_object* v_k_4263_, lean_object* v___y_4264_, lean_object* v___y_4265_, lean_object* v___y_4266_, lean_object* v___y_4267_){
_start:
{
lean_object* v___x_4269_; 
v___x_4269_ = l___private_Lean_Meta_Basic_0__Lean_Meta_withNewBinderInfosImp(lean_box(0), v_bs_4262_, v_k_4263_, v___y_4264_, v___y_4265_, v___y_4266_, v___y_4267_);
if (lean_obj_tag(v___x_4269_) == 0)
{
lean_object* v_a_4270_; lean_object* v___x_4272_; uint8_t v_isShared_4273_; uint8_t v_isSharedCheck_4277_; 
v_a_4270_ = lean_ctor_get(v___x_4269_, 0);
v_isSharedCheck_4277_ = !lean_is_exclusive(v___x_4269_);
if (v_isSharedCheck_4277_ == 0)
{
v___x_4272_ = v___x_4269_;
v_isShared_4273_ = v_isSharedCheck_4277_;
goto v_resetjp_4271_;
}
else
{
lean_inc(v_a_4270_);
lean_dec(v___x_4269_);
v___x_4272_ = lean_box(0);
v_isShared_4273_ = v_isSharedCheck_4277_;
goto v_resetjp_4271_;
}
v_resetjp_4271_:
{
lean_object* v___x_4275_; 
if (v_isShared_4273_ == 0)
{
v___x_4275_ = v___x_4272_;
goto v_reusejp_4274_;
}
else
{
lean_object* v_reuseFailAlloc_4276_; 
v_reuseFailAlloc_4276_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4276_, 0, v_a_4270_);
v___x_4275_ = v_reuseFailAlloc_4276_;
goto v_reusejp_4274_;
}
v_reusejp_4274_:
{
return v___x_4275_;
}
}
}
else
{
lean_object* v_a_4278_; lean_object* v___x_4280_; uint8_t v_isShared_4281_; uint8_t v_isSharedCheck_4285_; 
v_a_4278_ = lean_ctor_get(v___x_4269_, 0);
v_isSharedCheck_4285_ = !lean_is_exclusive(v___x_4269_);
if (v_isSharedCheck_4285_ == 0)
{
v___x_4280_ = v___x_4269_;
v_isShared_4281_ = v_isSharedCheck_4285_;
goto v_resetjp_4279_;
}
else
{
lean_inc(v_a_4278_);
lean_dec(v___x_4269_);
v___x_4280_ = lean_box(0);
v_isShared_4281_ = v_isSharedCheck_4285_;
goto v_resetjp_4279_;
}
v_resetjp_4279_:
{
lean_object* v___x_4283_; 
if (v_isShared_4281_ == 0)
{
v___x_4283_ = v___x_4280_;
goto v_reusejp_4282_;
}
else
{
lean_object* v_reuseFailAlloc_4284_; 
v_reuseFailAlloc_4284_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4284_, 0, v_a_4278_);
v___x_4283_ = v_reuseFailAlloc_4284_;
goto v_reusejp_4282_;
}
v_reusejp_4282_:
{
return v___x_4283_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withNewBinderInfos___at___00Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2_spec__3___redArg___boxed(lean_object* v_bs_4286_, lean_object* v_k_4287_, lean_object* v___y_4288_, lean_object* v___y_4289_, lean_object* v___y_4290_, lean_object* v___y_4291_, lean_object* v___y_4292_){
_start:
{
lean_object* v_res_4293_; 
v_res_4293_ = l_Lean_Meta_withNewBinderInfos___at___00Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2_spec__3___redArg(v_bs_4286_, v_k_4287_, v___y_4288_, v___y_4289_, v___y_4290_, v___y_4291_);
lean_dec_ref(v_bs_4286_);
return v_res_4293_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2_spec__2(size_t v_sz_4294_, size_t v_i_4295_, lean_object* v_bs_4296_){
_start:
{
uint8_t v___x_4297_; 
v___x_4297_ = lean_usize_dec_lt(v_i_4295_, v_sz_4294_);
if (v___x_4297_ == 0)
{
return v_bs_4296_;
}
else
{
lean_object* v_v_4298_; lean_object* v___x_4299_; lean_object* v_bs_x27_4300_; lean_object* v___x_4301_; uint8_t v___x_4302_; lean_object* v___x_4303_; lean_object* v___x_4304_; size_t v___x_4305_; size_t v___x_4306_; lean_object* v___x_4307_; 
v_v_4298_ = lean_array_uget(v_bs_4296_, v_i_4295_);
v___x_4299_ = lean_unsigned_to_nat(0u);
v_bs_x27_4300_ = lean_array_uset(v_bs_4296_, v_i_4295_, v___x_4299_);
v___x_4301_ = l_Lean_Expr_fvarId_x21(v_v_4298_);
lean_dec(v_v_4298_);
v___x_4302_ = 1;
v___x_4303_ = lean_box(v___x_4302_);
v___x_4304_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4304_, 0, v___x_4301_);
lean_ctor_set(v___x_4304_, 1, v___x_4303_);
v___x_4305_ = ((size_t)1ULL);
v___x_4306_ = lean_usize_add(v_i_4295_, v___x_4305_);
v___x_4307_ = lean_array_uset(v_bs_x27_4300_, v_i_4295_, v___x_4304_);
v_i_4295_ = v___x_4306_;
v_bs_4296_ = v___x_4307_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2_spec__2___boxed(lean_object* v_sz_4309_, lean_object* v_i_4310_, lean_object* v_bs_4311_){
_start:
{
size_t v_sz_boxed_4312_; size_t v_i_boxed_4313_; lean_object* v_res_4314_; 
v_sz_boxed_4312_ = lean_unbox_usize(v_sz_4309_);
lean_dec(v_sz_4309_);
v_i_boxed_4313_ = lean_unbox_usize(v_i_4310_);
lean_dec(v_i_4310_);
v_res_4314_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2_spec__2(v_sz_boxed_4312_, v_i_boxed_4313_, v_bs_4311_);
return v_res_4314_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2___redArg(lean_object* v_bs_4315_, lean_object* v_k_4316_, lean_object* v___y_4317_, lean_object* v___y_4318_, lean_object* v___y_4319_, lean_object* v___y_4320_){
_start:
{
size_t v_sz_4322_; size_t v___x_4323_; lean_object* v___x_4324_; lean_object* v___x_4325_; 
v_sz_4322_ = lean_array_size(v_bs_4315_);
v___x_4323_ = ((size_t)0ULL);
v___x_4324_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2_spec__2(v_sz_4322_, v___x_4323_, v_bs_4315_);
v___x_4325_ = l_Lean_Meta_withNewBinderInfos___at___00Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2_spec__3___redArg(v___x_4324_, v_k_4316_, v___y_4317_, v___y_4318_, v___y_4319_, v___y_4320_);
lean_dec_ref(v___x_4324_);
return v___x_4325_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2___redArg___boxed(lean_object* v_bs_4326_, lean_object* v_k_4327_, lean_object* v___y_4328_, lean_object* v___y_4329_, lean_object* v___y_4330_, lean_object* v___y_4331_, lean_object* v___y_4332_){
_start:
{
lean_object* v_res_4333_; 
v_res_4333_ = l_Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2___redArg(v_bs_4326_, v_k_4327_, v___y_4328_, v___y_4329_, v___y_4330_, v___y_4331_);
return v_res_4333_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__1(lean_object* v_xs1_4334_, lean_object* v___x_4335_, lean_object* v___x_4336_, lean_object* v_numParams_4337_, lean_object* v___x_4338_, lean_object* v___x_4339_, lean_object* v_tail_4340_, lean_object* v_ctors_4341_, lean_object* v___x_4342_, lean_object* v___x_4343_, lean_object* v_xs2_4344_, lean_object* v_x_4345_, lean_object* v___y_4346_, lean_object* v___y_4347_, lean_object* v___y_4348_, lean_object* v___y_4349_){
_start:
{
lean_object* v___x_4351_; lean_object* v___x_4352_; lean_object* v___x_4353_; lean_object* v___x_4354_; lean_object* v___x_4355_; lean_object* v___x_4356_; lean_object* v___x_4357_; lean_object* v___x_4358_; lean_object* v___x_4359_; lean_object* v___x_4360_; lean_object* v___x_4361_; lean_object* v___x_4362_; uint8_t v___x_4363_; uint8_t v___x_4364_; uint8_t v___x_4365_; lean_object* v___x_4366_; lean_object* v___x_4367_; lean_object* v___x_4368_; lean_object* v___f_4369_; lean_object* v___x_4370_; 
lean_inc_ref(v_xs1_4334_);
v___x_4351_ = l_Array_append___redArg(v_xs1_4334_, v_xs2_4344_);
lean_inc_ref(v___x_4335_);
v___x_4352_ = lean_array_push(v___x_4351_, v___x_4335_);
lean_inc(v_numParams_4337_);
lean_inc_ref(v_xs1_4334_);
v___x_4353_ = l_Array_toSubarray___redArg(v_xs1_4334_, v___x_4336_, v_numParams_4337_);
v___x_4354_ = l_Subarray_copy___redArg(v___x_4353_);
v___x_4355_ = lean_array_get_size(v_xs1_4334_);
lean_inc_ref(v_xs1_4334_);
v___x_4356_ = l_Array_toSubarray___redArg(v_xs1_4334_, v_numParams_4337_, v___x_4355_);
v___x_4357_ = l_Subarray_copy___redArg(v___x_4356_);
v___x_4358_ = lean_mk_empty_array_with_capacity(v___x_4338_);
lean_inc_ref(v___x_4335_);
lean_inc_ref(v___x_4358_);
v___x_4359_ = lean_array_push(v___x_4358_, v___x_4335_);
v___x_4360_ = l_Array_append___redArg(v___x_4359_, v_xs1_4334_);
lean_inc_ref(v___x_4360_);
v___x_4361_ = l_Array_append___redArg(v___x_4360_, v_xs1_4334_);
lean_inc_ref(v___x_4339_);
v___x_4362_ = l_Lean_mkAppN(v___x_4339_, v___x_4361_);
lean_dec_ref(v___x_4361_);
v___x_4363_ = 0;
v___x_4364_ = 1;
v___x_4365_ = 1;
v___x_4366_ = lean_box(v___x_4363_);
v___x_4367_ = lean_box(v___x_4364_);
v___x_4368_ = lean_box(v___x_4365_);
v___f_4369_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__0___boxed), 21, 16);
lean_closure_set(v___f_4369_, 0, v___x_4357_);
lean_closure_set(v___f_4369_, 1, v___x_4362_);
lean_closure_set(v___f_4369_, 2, v___x_4366_);
lean_closure_set(v___f_4369_, 3, v___x_4367_);
lean_closure_set(v___f_4369_, 4, v___x_4368_);
lean_closure_set(v___f_4369_, 5, v___x_4335_);
lean_closure_set(v___f_4369_, 6, v___x_4354_);
lean_closure_set(v___f_4369_, 7, v_tail_4340_);
lean_closure_set(v___f_4369_, 8, v_ctors_4341_);
lean_closure_set(v___f_4369_, 9, v___x_4360_);
lean_closure_set(v___f_4369_, 10, v_xs2_4344_);
lean_closure_set(v___f_4369_, 11, v___x_4339_);
lean_closure_set(v___f_4369_, 12, v___x_4342_);
lean_closure_set(v___f_4369_, 13, v___x_4343_);
lean_closure_set(v___f_4369_, 14, v___x_4358_);
lean_closure_set(v___f_4369_, 15, v_xs1_4334_);
v___x_4370_ = l_Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2___redArg(v___x_4352_, v___f_4369_, v___y_4346_, v___y_4347_, v___y_4348_, v___y_4349_);
return v___x_4370_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__1___boxed(lean_object** _args){
lean_object* v_xs1_4371_ = _args[0];
lean_object* v___x_4372_ = _args[1];
lean_object* v___x_4373_ = _args[2];
lean_object* v_numParams_4374_ = _args[3];
lean_object* v___x_4375_ = _args[4];
lean_object* v___x_4376_ = _args[5];
lean_object* v_tail_4377_ = _args[6];
lean_object* v_ctors_4378_ = _args[7];
lean_object* v___x_4379_ = _args[8];
lean_object* v___x_4380_ = _args[9];
lean_object* v_xs2_4381_ = _args[10];
lean_object* v_x_4382_ = _args[11];
lean_object* v___y_4383_ = _args[12];
lean_object* v___y_4384_ = _args[13];
lean_object* v___y_4385_ = _args[14];
lean_object* v___y_4386_ = _args[15];
lean_object* v___y_4387_ = _args[16];
_start:
{
lean_object* v_res_4388_; 
v_res_4388_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__1(v_xs1_4371_, v___x_4372_, v___x_4373_, v_numParams_4374_, v___x_4375_, v___x_4376_, v_tail_4377_, v_ctors_4378_, v___x_4379_, v___x_4380_, v_xs2_4381_, v_x_4382_, v___y_4383_, v___y_4384_, v___y_4385_, v___y_4386_);
lean_dec_ref(v_x_4382_);
lean_dec(v___x_4375_);
return v_res_4388_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__2(lean_object* v___x_4389_, lean_object* v___x_4390_, lean_object* v_numParams_4391_, lean_object* v___x_4392_, lean_object* v___x_4393_, lean_object* v_tail_4394_, lean_object* v_ctors_4395_, lean_object* v___x_4396_, lean_object* v___x_4397_, lean_object* v___x_4398_, lean_object* v_xs1_4399_, lean_object* v_t_4400_, lean_object* v___y_4401_, lean_object* v___y_4402_, lean_object* v___y_4403_, lean_object* v___y_4404_){
_start:
{
lean_object* v___f_4406_; uint8_t v___x_4407_; lean_object* v___x_4408_; 
v___f_4406_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__1___boxed), 17, 10);
lean_closure_set(v___f_4406_, 0, v_xs1_4399_);
lean_closure_set(v___f_4406_, 1, v___x_4389_);
lean_closure_set(v___f_4406_, 2, v___x_4390_);
lean_closure_set(v___f_4406_, 3, v_numParams_4391_);
lean_closure_set(v___f_4406_, 4, v___x_4392_);
lean_closure_set(v___f_4406_, 5, v___x_4393_);
lean_closure_set(v___f_4406_, 6, v_tail_4394_);
lean_closure_set(v___f_4406_, 7, v_ctors_4395_);
lean_closure_set(v___f_4406_, 8, v___x_4396_);
lean_closure_set(v___f_4406_, 9, v___x_4397_);
v___x_4407_ = 0;
v___x_4408_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___redArg(v_t_4400_, v___x_4398_, v___f_4406_, v___x_4407_, v___x_4407_, v___y_4401_, v___y_4402_, v___y_4403_, v___y_4404_);
return v___x_4408_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__2___boxed(lean_object** _args){
lean_object* v___x_4409_ = _args[0];
lean_object* v___x_4410_ = _args[1];
lean_object* v_numParams_4411_ = _args[2];
lean_object* v___x_4412_ = _args[3];
lean_object* v___x_4413_ = _args[4];
lean_object* v_tail_4414_ = _args[5];
lean_object* v_ctors_4415_ = _args[6];
lean_object* v___x_4416_ = _args[7];
lean_object* v___x_4417_ = _args[8];
lean_object* v___x_4418_ = _args[9];
lean_object* v_xs1_4419_ = _args[10];
lean_object* v_t_4420_ = _args[11];
lean_object* v___y_4421_ = _args[12];
lean_object* v___y_4422_ = _args[13];
lean_object* v___y_4423_ = _args[14];
lean_object* v___y_4424_ = _args[15];
lean_object* v___y_4425_ = _args[16];
_start:
{
lean_object* v_res_4426_; 
v_res_4426_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__2(v___x_4409_, v___x_4410_, v_numParams_4411_, v___x_4412_, v___x_4413_, v_tail_4414_, v_ctors_4415_, v___x_4416_, v___x_4417_, v___x_4418_, v_xs1_4419_, v_t_4420_, v___y_4421_, v___y_4422_, v___y_4423_, v___y_4424_);
return v_res_4426_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__3(lean_object* v_val_4427_, lean_object* v___x_4428_, lean_object* v___x_4429_, lean_object* v___x_4430_, lean_object* v_tail_4431_, lean_object* v___x_4432_, lean_object* v___x_4433_, lean_object* v_xs_4434_, lean_object* v_t_4435_, lean_object* v___y_4436_, lean_object* v___y_4437_, lean_object* v___y_4438_, lean_object* v___y_4439_){
_start:
{
lean_object* v_numParams_4441_; lean_object* v_numIndices_4442_; lean_object* v_ctors_4443_; lean_object* v___x_4444_; lean_object* v___x_4445_; lean_object* v___x_4446_; lean_object* v___x_4447_; lean_object* v___x_4448_; lean_object* v___f_4449_; uint8_t v___x_4450_; lean_object* v___x_4451_; 
v_numParams_4441_ = lean_ctor_get(v_val_4427_, 1);
lean_inc(v_numParams_4441_);
v_numIndices_4442_ = lean_ctor_get(v_val_4427_, 2);
lean_inc(v_numIndices_4442_);
v_ctors_4443_ = lean_ctor_get(v_val_4427_, 4);
lean_inc(v_ctors_4443_);
lean_dec_ref(v_val_4427_);
v___x_4444_ = lean_unsigned_to_nat(0u);
v___x_4445_ = lean_array_get_borrowed(v___x_4428_, v_xs_4434_, v___x_4444_);
v___x_4446_ = lean_nat_add(v_numParams_4441_, v_numIndices_4442_);
lean_dec(v_numIndices_4442_);
v___x_4447_ = lean_nat_add(v___x_4446_, v___x_4429_);
lean_dec(v___x_4446_);
v___x_4448_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_4448_, 0, v___x_4447_);
lean_inc_ref(v___x_4448_);
lean_inc(v___x_4445_);
v___f_4449_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__2___boxed), 17, 10);
lean_closure_set(v___f_4449_, 0, v___x_4445_);
lean_closure_set(v___f_4449_, 1, v___x_4444_);
lean_closure_set(v___f_4449_, 2, v_numParams_4441_);
lean_closure_set(v___f_4449_, 3, v___x_4429_);
lean_closure_set(v___f_4449_, 4, v___x_4430_);
lean_closure_set(v___f_4449_, 5, v_tail_4431_);
lean_closure_set(v___f_4449_, 6, v_ctors_4443_);
lean_closure_set(v___f_4449_, 7, v___x_4432_);
lean_closure_set(v___f_4449_, 8, v___x_4433_);
lean_closure_set(v___f_4449_, 9, v___x_4448_);
v___x_4450_ = 0;
v___x_4451_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___redArg(v_t_4435_, v___x_4448_, v___f_4449_, v___x_4450_, v___x_4450_, v___y_4436_, v___y_4437_, v___y_4438_, v___y_4439_);
return v___x_4451_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__3___boxed(lean_object* v_val_4452_, lean_object* v___x_4453_, lean_object* v___x_4454_, lean_object* v___x_4455_, lean_object* v_tail_4456_, lean_object* v___x_4457_, lean_object* v___x_4458_, lean_object* v_xs_4459_, lean_object* v_t_4460_, lean_object* v___y_4461_, lean_object* v___y_4462_, lean_object* v___y_4463_, lean_object* v___y_4464_, lean_object* v___y_4465_){
_start:
{
lean_object* v_res_4466_; 
v_res_4466_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__3(v_val_4452_, v___x_4453_, v___x_4454_, v___x_4455_, v_tail_4456_, v___x_4457_, v___x_4458_, v_xs_4459_, v_t_4460_, v___y_4461_, v___y_4462_, v___y_4463_, v___y_4464_);
lean_dec_ref(v_xs_4459_);
return v_res_4466_;
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__3(void){
_start:
{
lean_object* v___x_4471_; lean_object* v___x_4472_; 
v___x_4471_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__2));
v___x_4472_ = l_Lean_stringToMessageData(v___x_4471_);
return v___x_4472_;
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__5(void){
_start:
{
lean_object* v___x_4474_; lean_object* v___x_4475_; lean_object* v___x_4476_; lean_object* v___x_4477_; lean_object* v___x_4478_; lean_object* v___x_4479_; 
v___x_4474_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__4));
v___x_4475_ = lean_unsigned_to_nat(58u);
v___x_4476_ = lean_unsigned_to_nat(216u);
v___x_4477_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__4));
v___x_4478_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__2));
v___x_4479_ = l_mkPanicMessageWithDecl(v___x_4478_, v___x_4477_, v___x_4476_, v___x_4475_, v___x_4474_);
return v___x_4479_;
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__6(void){
_start:
{
lean_object* v___x_4480_; lean_object* v___x_4481_; lean_object* v___x_4482_; lean_object* v___x_4483_; lean_object* v___x_4484_; lean_object* v___x_4485_; 
v___x_4480_ = ((lean_object*)(l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__6));
v___x_4481_ = lean_unsigned_to_nat(60u);
v___x_4482_ = lean_unsigned_to_nat(213u);
v___x_4483_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__4));
v___x_4484_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__2));
v___x_4485_ = l_mkPanicMessageWithDecl(v___x_4484_, v___x_4483_, v___x_4482_, v___x_4481_, v___x_4480_);
return v___x_4485_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp(lean_object* v_indName_4486_, lean_object* v_a_4487_, lean_object* v_a_4488_, lean_object* v_a_4489_, lean_object* v_a_4490_){
_start:
{
lean_object* v___x_4492_; lean_object* v_declName_4493_; lean_object* v_noConfusionTypeName_4494_; lean_object* v___x_4495_; 
v___x_4492_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__0));
lean_inc(v_indName_4486_);
v_declName_4493_ = l_Lean_Name_str___override(v_indName_4486_, v___x_4492_);
lean_inc(v_indName_4486_);
v_noConfusionTypeName_4494_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionTypeName(v_indName_4486_);
lean_inc_ref(v_a_4489_);
lean_inc(v_indName_4486_);
v___x_4495_ = l_Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0(v_indName_4486_, v_a_4487_, v_a_4488_, v_a_4489_, v_a_4490_);
if (lean_obj_tag(v___x_4495_) == 0)
{
lean_object* v_a_4496_; 
v_a_4496_ = lean_ctor_get(v___x_4495_, 0);
lean_inc(v_a_4496_);
lean_dec_ref(v___x_4495_);
if (lean_obj_tag(v_a_4496_) == 5)
{
lean_object* v_val_4497_; lean_object* v___x_4498_; lean_object* v___x_4499_; 
v_val_4497_ = lean_ctor_get(v_a_4496_, 0);
lean_inc_ref(v_val_4497_);
lean_dec_ref(v_a_4496_);
v___x_4498_ = l_Lean_mkCasesOnName(v_indName_4486_);
lean_inc_ref(v_a_4489_);
lean_inc(v___x_4498_);
v___x_4499_ = l_Lean_getConstVal___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__1(v___x_4498_, v_a_4487_, v_a_4488_, v_a_4489_, v_a_4490_);
if (lean_obj_tag(v___x_4499_) == 0)
{
lean_object* v_a_4500_; lean_object* v_levelParams_4501_; lean_object* v___x_4503_; uint8_t v_isShared_4504_; uint8_t v_isSharedCheck_4666_; 
v_a_4500_ = lean_ctor_get(v___x_4499_, 0);
lean_inc(v_a_4500_);
lean_dec_ref(v___x_4499_);
v_levelParams_4501_ = lean_ctor_get(v_a_4500_, 1);
v_isSharedCheck_4666_ = !lean_is_exclusive(v_a_4500_);
if (v_isSharedCheck_4666_ == 0)
{
lean_object* v_unused_4667_; lean_object* v_unused_4668_; 
v_unused_4667_ = lean_ctor_get(v_a_4500_, 2);
lean_dec(v_unused_4667_);
v_unused_4668_ = lean_ctor_get(v_a_4500_, 0);
lean_dec(v_unused_4668_);
v___x_4503_ = v_a_4500_;
v_isShared_4504_ = v_isSharedCheck_4666_;
goto v_resetjp_4502_;
}
else
{
lean_inc(v_levelParams_4501_);
lean_dec(v_a_4500_);
v___x_4503_ = lean_box(0);
v_isShared_4504_ = v_isSharedCheck_4666_;
goto v_resetjp_4502_;
}
v_resetjp_4502_:
{
lean_object* v___x_4505_; lean_object* v___x_4506_; 
v___x_4505_ = lean_box(0);
lean_inc(v_levelParams_4501_);
v___x_4506_ = l_List_mapTR_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__2(v_levelParams_4501_, v___x_4505_);
if (lean_obj_tag(v___x_4506_) == 1)
{
lean_object* v_tail_4507_; lean_object* v___x_4508_; lean_object* v___x_4509_; lean_object* v_a_4510_; lean_object* v___x_4511_; lean_object* v___y_4513_; lean_object* v___y_4514_; lean_object* v___y_4515_; lean_object* v___y_4516_; uint8_t v___x_4659_; 
v_tail_4507_ = lean_ctor_get(v___x_4506_, 1);
lean_inc(v_tail_4507_);
v___x_4508_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___closed__2));
v___x_4509_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0___redArg(v___x_4508_, v_a_4489_);
v_a_4510_ = lean_ctor_get(v___x_4509_, 0);
lean_inc(v_a_4510_);
lean_dec_ref(v___x_4509_);
v___x_4511_ = l_Lean_instInhabitedExpr;
v___x_4659_ = lean_unbox(v_a_4510_);
lean_dec(v_a_4510_);
if (v___x_4659_ == 0)
{
v___y_4513_ = v_a_4487_;
v___y_4514_ = v_a_4488_;
v___y_4515_ = v_a_4489_;
v___y_4516_ = v_a_4490_;
goto v___jp_4512_;
}
else
{
lean_object* v___x_4660_; lean_object* v___x_4661_; lean_object* v___x_4662_; lean_object* v___x_4663_; 
v___x_4660_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__3, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__3_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__3);
lean_inc(v_declName_4493_);
v___x_4661_ = l_Lean_MessageData_ofName(v_declName_4493_);
v___x_4662_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4662_, 0, v___x_4660_);
lean_ctor_set(v___x_4662_, 1, v___x_4661_);
v___x_4663_ = l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1(v___x_4508_, v___x_4662_, v_a_4487_, v_a_4488_, v_a_4489_, v_a_4490_);
if (lean_obj_tag(v___x_4663_) == 0)
{
lean_dec_ref(v___x_4663_);
v___y_4513_ = v_a_4487_;
v___y_4514_ = v_a_4488_;
v___y_4515_ = v_a_4489_;
v___y_4516_ = v_a_4490_;
goto v___jp_4512_;
}
else
{
lean_dec(v_tail_4507_);
lean_dec_ref(v___x_4506_);
lean_del_object(v___x_4503_);
lean_dec(v_levelParams_4501_);
lean_dec(v___x_4498_);
lean_dec_ref(v_val_4497_);
lean_dec(v_noConfusionTypeName_4494_);
lean_dec(v_declName_4493_);
lean_dec(v_a_4490_);
lean_dec_ref(v_a_4489_);
lean_dec(v_a_4488_);
lean_dec_ref(v_a_4487_);
return v___x_4663_;
}
}
v___jp_4512_:
{
lean_object* v___x_4517_; lean_object* v___x_4518_; 
lean_inc_ref(v___x_4506_);
v___x_4517_ = l_Lean_mkConst(v_noConfusionTypeName_4494_, v___x_4506_);
lean_inc(v___y_4516_);
lean_inc_ref(v___y_4515_);
lean_inc(v___y_4514_);
lean_inc_ref(v___y_4513_);
lean_inc_ref(v___x_4517_);
v___x_4518_ = lean_infer_type(v___x_4517_, v___y_4513_, v___y_4514_, v___y_4515_, v___y_4516_);
if (lean_obj_tag(v___x_4518_) == 0)
{
lean_object* v_a_4519_; lean_object* v___x_4520_; lean_object* v___f_4521_; lean_object* v___x_4522_; uint8_t v___x_4523_; lean_object* v___x_4524_; 
v_a_4519_ = lean_ctor_get(v___x_4518_, 0);
lean_inc(v_a_4519_);
lean_dec_ref(v___x_4518_);
v___x_4520_ = lean_unsigned_to_nat(1u);
lean_inc_ref(v_val_4497_);
v___f_4521_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___lam__3___boxed), 14, 7);
lean_closure_set(v___f_4521_, 0, v_val_4497_);
lean_closure_set(v___f_4521_, 1, v___x_4511_);
lean_closure_set(v___f_4521_, 2, v___x_4520_);
lean_closure_set(v___f_4521_, 3, v___x_4517_);
lean_closure_set(v___f_4521_, 4, v_tail_4507_);
lean_closure_set(v___f_4521_, 5, v___x_4498_);
lean_closure_set(v___f_4521_, 6, v___x_4506_);
v___x_4522_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__1));
v___x_4523_ = 0;
lean_inc(v___y_4516_);
lean_inc_ref(v___y_4515_);
lean_inc(v___y_4514_);
lean_inc_ref(v___y_4513_);
v___x_4524_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___redArg(v_a_4519_, v___x_4522_, v___f_4521_, v___x_4523_, v___x_4523_, v___y_4513_, v___y_4514_, v___y_4515_, v___y_4516_);
if (lean_obj_tag(v___x_4524_) == 0)
{
lean_object* v_a_4525_; lean_object* v___x_4526_; 
v_a_4525_ = lean_ctor_get(v___x_4524_, 0);
lean_inc(v_a_4525_);
lean_dec_ref(v___x_4524_);
lean_inc(v___y_4516_);
lean_inc_ref(v___y_4515_);
lean_inc(v___y_4514_);
lean_inc_ref(v___y_4513_);
lean_inc(v_a_4525_);
v___x_4526_ = lean_infer_type(v_a_4525_, v___y_4513_, v___y_4514_, v___y_4515_, v___y_4516_);
if (lean_obj_tag(v___x_4526_) == 0)
{
lean_object* v_a_4527_; lean_object* v___x_4528_; lean_object* v___x_4529_; lean_object* v_a_4530_; lean_object* v___x_4532_; uint8_t v_isShared_4533_; uint8_t v_isSharedCheck_4634_; 
v_a_4527_ = lean_ctor_get(v___x_4526_, 0);
lean_inc(v_a_4527_);
lean_dec_ref(v___x_4526_);
v___x_4528_ = lean_box(1);
lean_inc(v_declName_4493_);
v___x_4529_ = l_Lean_mkDefinitionValInferringUnsafe___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__6___redArg(v_declName_4493_, v_levelParams_4501_, v_a_4527_, v_a_4525_, v___x_4528_, v___y_4516_);
v_a_4530_ = lean_ctor_get(v___x_4529_, 0);
v_isSharedCheck_4634_ = !lean_is_exclusive(v___x_4529_);
if (v_isSharedCheck_4634_ == 0)
{
v___x_4532_ = v___x_4529_;
v_isShared_4533_ = v_isSharedCheck_4634_;
goto v_resetjp_4531_;
}
else
{
lean_inc(v_a_4530_);
lean_dec(v___x_4529_);
v___x_4532_ = lean_box(0);
v_isShared_4533_ = v_isSharedCheck_4634_;
goto v_resetjp_4531_;
}
v_resetjp_4531_:
{
lean_object* v___x_4535_; 
if (v_isShared_4533_ == 0)
{
lean_ctor_set_tag(v___x_4532_, 1);
v___x_4535_ = v___x_4532_;
goto v_reusejp_4534_;
}
else
{
lean_object* v_reuseFailAlloc_4633_; 
v_reuseFailAlloc_4633_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4633_, 0, v_a_4530_);
v___x_4535_ = v_reuseFailAlloc_4633_;
goto v_reusejp_4534_;
}
v_reusejp_4534_:
{
lean_object* v___x_4536_; 
lean_inc(v___y_4516_);
lean_inc_ref(v___y_4515_);
v___x_4536_ = l_Lean_addDecl(v___x_4535_, v___x_4523_, v___y_4515_, v___y_4516_);
if (lean_obj_tag(v___x_4536_) == 0)
{
lean_object* v___x_4537_; lean_object* v___x_4539_; uint8_t v_isShared_4540_; uint8_t v_isSharedCheck_4631_; 
lean_dec_ref(v___x_4536_);
lean_inc(v_declName_4493_);
v___x_4537_ = l_Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7(v_declName_4493_, v___y_4513_, v___y_4514_, v___y_4515_, v___y_4516_);
lean_dec_ref(v___y_4515_);
lean_dec_ref(v___y_4513_);
v_isSharedCheck_4631_ = !lean_is_exclusive(v___x_4537_);
if (v_isSharedCheck_4631_ == 0)
{
lean_object* v_unused_4632_; 
v_unused_4632_ = lean_ctor_get(v___x_4537_, 0);
lean_dec(v_unused_4632_);
v___x_4539_ = v___x_4537_;
v_isShared_4540_ = v_isSharedCheck_4631_;
goto v_resetjp_4538_;
}
else
{
lean_dec(v___x_4537_);
v___x_4539_ = lean_box(0);
v_isShared_4540_ = v_isSharedCheck_4631_;
goto v_resetjp_4538_;
}
v_resetjp_4538_:
{
lean_object* v___x_4541_; lean_object* v_numParams_4542_; lean_object* v_numIndices_4543_; lean_object* v_env_4544_; lean_object* v_nextMacroScope_4545_; lean_object* v_ngen_4546_; lean_object* v_auxDeclNGen_4547_; lean_object* v_traceState_4548_; lean_object* v_messages_4549_; lean_object* v_infoState_4550_; lean_object* v_snapshotTasks_4551_; lean_object* v___x_4553_; uint8_t v_isShared_4554_; uint8_t v_isSharedCheck_4629_; 
v___x_4541_ = lean_st_ref_take(v___y_4516_);
v_numParams_4542_ = lean_ctor_get(v_val_4497_, 1);
lean_inc(v_numParams_4542_);
v_numIndices_4543_ = lean_ctor_get(v_val_4497_, 2);
lean_inc(v_numIndices_4543_);
lean_dec_ref(v_val_4497_);
v_env_4544_ = lean_ctor_get(v___x_4541_, 0);
v_nextMacroScope_4545_ = lean_ctor_get(v___x_4541_, 1);
v_ngen_4546_ = lean_ctor_get(v___x_4541_, 2);
v_auxDeclNGen_4547_ = lean_ctor_get(v___x_4541_, 3);
v_traceState_4548_ = lean_ctor_get(v___x_4541_, 4);
v_messages_4549_ = lean_ctor_get(v___x_4541_, 6);
v_infoState_4550_ = lean_ctor_get(v___x_4541_, 7);
v_snapshotTasks_4551_ = lean_ctor_get(v___x_4541_, 8);
v_isSharedCheck_4629_ = !lean_is_exclusive(v___x_4541_);
if (v_isSharedCheck_4629_ == 0)
{
lean_object* v_unused_4630_; 
v_unused_4630_ = lean_ctor_get(v___x_4541_, 5);
lean_dec(v_unused_4630_);
v___x_4553_ = v___x_4541_;
v_isShared_4554_ = v_isSharedCheck_4629_;
goto v_resetjp_4552_;
}
else
{
lean_inc(v_snapshotTasks_4551_);
lean_inc(v_infoState_4550_);
lean_inc(v_messages_4549_);
lean_inc(v_traceState_4548_);
lean_inc(v_auxDeclNGen_4547_);
lean_inc(v_ngen_4546_);
lean_inc(v_nextMacroScope_4545_);
lean_inc(v_env_4544_);
lean_dec(v___x_4541_);
v___x_4553_ = lean_box(0);
v_isShared_4554_ = v_isSharedCheck_4629_;
goto v_resetjp_4552_;
}
v_resetjp_4552_:
{
lean_object* v___x_4555_; lean_object* v___x_4556_; lean_object* v___x_4557_; lean_object* v___x_4558_; lean_object* v___x_4559_; lean_object* v___x_4560_; lean_object* v___x_4561_; lean_object* v___x_4562_; lean_object* v___x_4563_; lean_object* v___x_4564_; lean_object* v___x_4565_; lean_object* v___x_4566_; lean_object* v___x_4567_; lean_object* v___x_4569_; 
v___x_4555_ = lean_unsigned_to_nat(3u);
v___x_4556_ = lean_nat_add(v_numParams_4542_, v_numIndices_4543_);
v___x_4557_ = lean_nat_add(v___x_4556_, v___x_4520_);
lean_dec(v___x_4556_);
v___x_4558_ = lean_nat_mul(v___x_4555_, v___x_4557_);
lean_dec(v___x_4557_);
v___x_4559_ = lean_nat_add(v___x_4520_, v___x_4558_);
lean_dec(v___x_4558_);
v___x_4560_ = lean_nat_add(v___x_4520_, v_numParams_4542_);
v___x_4561_ = lean_nat_add(v___x_4560_, v_numIndices_4543_);
lean_dec(v___x_4560_);
v___x_4562_ = lean_unsigned_to_nat(2u);
v___x_4563_ = lean_nat_mul(v___x_4562_, v_numParams_4542_);
lean_dec(v_numParams_4542_);
v___x_4564_ = lean_nat_add(v___x_4520_, v___x_4563_);
lean_dec(v___x_4563_);
v___x_4565_ = lean_nat_mul(v___x_4562_, v_numIndices_4543_);
lean_dec(v_numIndices_4543_);
v___x_4566_ = lean_nat_add(v___x_4564_, v___x_4565_);
lean_dec(v___x_4565_);
lean_dec(v___x_4564_);
v___x_4567_ = lean_nat_add(v___x_4566_, v___x_4520_);
lean_dec(v___x_4566_);
if (v_isShared_4504_ == 0)
{
lean_ctor_set(v___x_4503_, 2, v___x_4567_);
lean_ctor_set(v___x_4503_, 1, v___x_4561_);
lean_ctor_set(v___x_4503_, 0, v___x_4559_);
v___x_4569_ = v___x_4503_;
goto v_reusejp_4568_;
}
else
{
lean_object* v_reuseFailAlloc_4628_; 
v_reuseFailAlloc_4628_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v_reuseFailAlloc_4628_, 0, v___x_4559_);
lean_ctor_set(v_reuseFailAlloc_4628_, 1, v___x_4561_);
lean_ctor_set(v_reuseFailAlloc_4628_, 2, v___x_4567_);
v___x_4569_ = v_reuseFailAlloc_4628_;
goto v_reusejp_4568_;
}
v_reusejp_4568_:
{
lean_object* v___x_4570_; lean_object* v___x_4571_; lean_object* v___x_4573_; 
lean_inc(v_declName_4493_);
v___x_4570_ = l_Lean_markNoConfusion(v_env_4544_, v_declName_4493_, v___x_4569_);
v___x_4571_ = lean_obj_once(&l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__2, &l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__2_once, _init_l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__2);
if (v_isShared_4554_ == 0)
{
lean_ctor_set(v___x_4553_, 5, v___x_4571_);
lean_ctor_set(v___x_4553_, 0, v___x_4570_);
v___x_4573_ = v___x_4553_;
goto v_reusejp_4572_;
}
else
{
lean_object* v_reuseFailAlloc_4627_; 
v_reuseFailAlloc_4627_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_4627_, 0, v___x_4570_);
lean_ctor_set(v_reuseFailAlloc_4627_, 1, v_nextMacroScope_4545_);
lean_ctor_set(v_reuseFailAlloc_4627_, 2, v_ngen_4546_);
lean_ctor_set(v_reuseFailAlloc_4627_, 3, v_auxDeclNGen_4547_);
lean_ctor_set(v_reuseFailAlloc_4627_, 4, v_traceState_4548_);
lean_ctor_set(v_reuseFailAlloc_4627_, 5, v___x_4571_);
lean_ctor_set(v_reuseFailAlloc_4627_, 6, v_messages_4549_);
lean_ctor_set(v_reuseFailAlloc_4627_, 7, v_infoState_4550_);
lean_ctor_set(v_reuseFailAlloc_4627_, 8, v_snapshotTasks_4551_);
v___x_4573_ = v_reuseFailAlloc_4627_;
goto v_reusejp_4572_;
}
v_reusejp_4572_:
{
lean_object* v___x_4574_; lean_object* v___x_4575_; lean_object* v_mctx_4576_; lean_object* v_zetaDeltaFVarIds_4577_; lean_object* v_postponed_4578_; lean_object* v_diag_4579_; lean_object* v___x_4581_; uint8_t v_isShared_4582_; uint8_t v_isSharedCheck_4625_; 
v___x_4574_ = lean_st_ref_set(v___y_4516_, v___x_4573_);
v___x_4575_ = lean_st_ref_take(v___y_4514_);
v_mctx_4576_ = lean_ctor_get(v___x_4575_, 0);
v_zetaDeltaFVarIds_4577_ = lean_ctor_get(v___x_4575_, 2);
v_postponed_4578_ = lean_ctor_get(v___x_4575_, 3);
v_diag_4579_ = lean_ctor_get(v___x_4575_, 4);
v_isSharedCheck_4625_ = !lean_is_exclusive(v___x_4575_);
if (v_isSharedCheck_4625_ == 0)
{
lean_object* v_unused_4626_; 
v_unused_4626_ = lean_ctor_get(v___x_4575_, 1);
lean_dec(v_unused_4626_);
v___x_4581_ = v___x_4575_;
v_isShared_4582_ = v_isSharedCheck_4625_;
goto v_resetjp_4580_;
}
else
{
lean_inc(v_diag_4579_);
lean_inc(v_postponed_4578_);
lean_inc(v_zetaDeltaFVarIds_4577_);
lean_inc(v_mctx_4576_);
lean_dec(v___x_4575_);
v___x_4581_ = lean_box(0);
v_isShared_4582_ = v_isSharedCheck_4625_;
goto v_resetjp_4580_;
}
v_resetjp_4580_:
{
lean_object* v___x_4583_; lean_object* v___x_4585_; 
v___x_4583_ = lean_obj_once(&l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__3, &l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__3_once, _init_l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__3);
if (v_isShared_4582_ == 0)
{
lean_ctor_set(v___x_4581_, 1, v___x_4583_);
v___x_4585_ = v___x_4581_;
goto v_reusejp_4584_;
}
else
{
lean_object* v_reuseFailAlloc_4624_; 
v_reuseFailAlloc_4624_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_4624_, 0, v_mctx_4576_);
lean_ctor_set(v_reuseFailAlloc_4624_, 1, v___x_4583_);
lean_ctor_set(v_reuseFailAlloc_4624_, 2, v_zetaDeltaFVarIds_4577_);
lean_ctor_set(v_reuseFailAlloc_4624_, 3, v_postponed_4578_);
lean_ctor_set(v_reuseFailAlloc_4624_, 4, v_diag_4579_);
v___x_4585_ = v_reuseFailAlloc_4624_;
goto v_reusejp_4584_;
}
v_reusejp_4584_:
{
lean_object* v___x_4586_; lean_object* v___x_4587_; lean_object* v_env_4588_; lean_object* v_nextMacroScope_4589_; lean_object* v_ngen_4590_; lean_object* v_auxDeclNGen_4591_; lean_object* v_traceState_4592_; lean_object* v_messages_4593_; lean_object* v_infoState_4594_; lean_object* v_snapshotTasks_4595_; lean_object* v___x_4597_; uint8_t v_isShared_4598_; uint8_t v_isSharedCheck_4622_; 
v___x_4586_ = lean_st_ref_set(v___y_4514_, v___x_4585_);
v___x_4587_ = lean_st_ref_take(v___y_4516_);
v_env_4588_ = lean_ctor_get(v___x_4587_, 0);
v_nextMacroScope_4589_ = lean_ctor_get(v___x_4587_, 1);
v_ngen_4590_ = lean_ctor_get(v___x_4587_, 2);
v_auxDeclNGen_4591_ = lean_ctor_get(v___x_4587_, 3);
v_traceState_4592_ = lean_ctor_get(v___x_4587_, 4);
v_messages_4593_ = lean_ctor_get(v___x_4587_, 6);
v_infoState_4594_ = lean_ctor_get(v___x_4587_, 7);
v_snapshotTasks_4595_ = lean_ctor_get(v___x_4587_, 8);
v_isSharedCheck_4622_ = !lean_is_exclusive(v___x_4587_);
if (v_isSharedCheck_4622_ == 0)
{
lean_object* v_unused_4623_; 
v_unused_4623_ = lean_ctor_get(v___x_4587_, 5);
lean_dec(v_unused_4623_);
v___x_4597_ = v___x_4587_;
v_isShared_4598_ = v_isSharedCheck_4622_;
goto v_resetjp_4596_;
}
else
{
lean_inc(v_snapshotTasks_4595_);
lean_inc(v_infoState_4594_);
lean_inc(v_messages_4593_);
lean_inc(v_traceState_4592_);
lean_inc(v_auxDeclNGen_4591_);
lean_inc(v_ngen_4590_);
lean_inc(v_nextMacroScope_4589_);
lean_inc(v_env_4588_);
lean_dec(v___x_4587_);
v___x_4597_ = lean_box(0);
v_isShared_4598_ = v_isSharedCheck_4622_;
goto v_resetjp_4596_;
}
v_resetjp_4596_:
{
lean_object* v___x_4599_; lean_object* v___x_4601_; 
v___x_4599_ = l_Lean_addProtected(v_env_4588_, v_declName_4493_);
if (v_isShared_4598_ == 0)
{
lean_ctor_set(v___x_4597_, 5, v___x_4571_);
lean_ctor_set(v___x_4597_, 0, v___x_4599_);
v___x_4601_ = v___x_4597_;
goto v_reusejp_4600_;
}
else
{
lean_object* v_reuseFailAlloc_4621_; 
v_reuseFailAlloc_4621_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_4621_, 0, v___x_4599_);
lean_ctor_set(v_reuseFailAlloc_4621_, 1, v_nextMacroScope_4589_);
lean_ctor_set(v_reuseFailAlloc_4621_, 2, v_ngen_4590_);
lean_ctor_set(v_reuseFailAlloc_4621_, 3, v_auxDeclNGen_4591_);
lean_ctor_set(v_reuseFailAlloc_4621_, 4, v_traceState_4592_);
lean_ctor_set(v_reuseFailAlloc_4621_, 5, v___x_4571_);
lean_ctor_set(v_reuseFailAlloc_4621_, 6, v_messages_4593_);
lean_ctor_set(v_reuseFailAlloc_4621_, 7, v_infoState_4594_);
lean_ctor_set(v_reuseFailAlloc_4621_, 8, v_snapshotTasks_4595_);
v___x_4601_ = v_reuseFailAlloc_4621_;
goto v_reusejp_4600_;
}
v_reusejp_4600_:
{
lean_object* v___x_4602_; lean_object* v___x_4603_; lean_object* v_mctx_4604_; lean_object* v_zetaDeltaFVarIds_4605_; lean_object* v_postponed_4606_; lean_object* v_diag_4607_; lean_object* v___x_4609_; uint8_t v_isShared_4610_; uint8_t v_isSharedCheck_4619_; 
v___x_4602_ = lean_st_ref_set(v___y_4516_, v___x_4601_);
lean_dec(v___y_4516_);
v___x_4603_ = lean_st_ref_take(v___y_4514_);
v_mctx_4604_ = lean_ctor_get(v___x_4603_, 0);
v_zetaDeltaFVarIds_4605_ = lean_ctor_get(v___x_4603_, 2);
v_postponed_4606_ = lean_ctor_get(v___x_4603_, 3);
v_diag_4607_ = lean_ctor_get(v___x_4603_, 4);
v_isSharedCheck_4619_ = !lean_is_exclusive(v___x_4603_);
if (v_isSharedCheck_4619_ == 0)
{
lean_object* v_unused_4620_; 
v_unused_4620_ = lean_ctor_get(v___x_4603_, 1);
lean_dec(v_unused_4620_);
v___x_4609_ = v___x_4603_;
v_isShared_4610_ = v_isSharedCheck_4619_;
goto v_resetjp_4608_;
}
else
{
lean_inc(v_diag_4607_);
lean_inc(v_postponed_4606_);
lean_inc(v_zetaDeltaFVarIds_4605_);
lean_inc(v_mctx_4604_);
lean_dec(v___x_4603_);
v___x_4609_ = lean_box(0);
v_isShared_4610_ = v_isSharedCheck_4619_;
goto v_resetjp_4608_;
}
v_resetjp_4608_:
{
lean_object* v___x_4612_; 
if (v_isShared_4610_ == 0)
{
lean_ctor_set(v___x_4609_, 1, v___x_4583_);
v___x_4612_ = v___x_4609_;
goto v_reusejp_4611_;
}
else
{
lean_object* v_reuseFailAlloc_4618_; 
v_reuseFailAlloc_4618_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_4618_, 0, v_mctx_4604_);
lean_ctor_set(v_reuseFailAlloc_4618_, 1, v___x_4583_);
lean_ctor_set(v_reuseFailAlloc_4618_, 2, v_zetaDeltaFVarIds_4605_);
lean_ctor_set(v_reuseFailAlloc_4618_, 3, v_postponed_4606_);
lean_ctor_set(v_reuseFailAlloc_4618_, 4, v_diag_4607_);
v___x_4612_ = v_reuseFailAlloc_4618_;
goto v_reusejp_4611_;
}
v_reusejp_4611_:
{
lean_object* v___x_4613_; lean_object* v___x_4614_; lean_object* v___x_4616_; 
v___x_4613_ = lean_st_ref_set(v___y_4514_, v___x_4612_);
lean_dec(v___y_4514_);
v___x_4614_ = lean_box(0);
if (v_isShared_4540_ == 0)
{
lean_ctor_set(v___x_4539_, 0, v___x_4614_);
v___x_4616_ = v___x_4539_;
goto v_reusejp_4615_;
}
else
{
lean_object* v_reuseFailAlloc_4617_; 
v_reuseFailAlloc_4617_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4617_, 0, v___x_4614_);
v___x_4616_ = v_reuseFailAlloc_4617_;
goto v_reusejp_4615_;
}
v_reusejp_4615_:
{
return v___x_4616_;
}
}
}
}
}
}
}
}
}
}
}
}
else
{
lean_dec(v___y_4516_);
lean_dec_ref(v___y_4515_);
lean_dec(v___y_4514_);
lean_dec_ref(v___y_4513_);
lean_del_object(v___x_4503_);
lean_dec_ref(v_val_4497_);
lean_dec(v_declName_4493_);
return v___x_4536_;
}
}
}
}
else
{
lean_object* v_a_4635_; lean_object* v___x_4637_; uint8_t v_isShared_4638_; uint8_t v_isSharedCheck_4642_; 
lean_dec(v_a_4525_);
lean_dec(v___y_4516_);
lean_dec_ref(v___y_4515_);
lean_dec(v___y_4514_);
lean_dec_ref(v___y_4513_);
lean_del_object(v___x_4503_);
lean_dec(v_levelParams_4501_);
lean_dec_ref(v_val_4497_);
lean_dec(v_declName_4493_);
v_a_4635_ = lean_ctor_get(v___x_4526_, 0);
v_isSharedCheck_4642_ = !lean_is_exclusive(v___x_4526_);
if (v_isSharedCheck_4642_ == 0)
{
v___x_4637_ = v___x_4526_;
v_isShared_4638_ = v_isSharedCheck_4642_;
goto v_resetjp_4636_;
}
else
{
lean_inc(v_a_4635_);
lean_dec(v___x_4526_);
v___x_4637_ = lean_box(0);
v_isShared_4638_ = v_isSharedCheck_4642_;
goto v_resetjp_4636_;
}
v_resetjp_4636_:
{
lean_object* v___x_4640_; 
if (v_isShared_4638_ == 0)
{
v___x_4640_ = v___x_4637_;
goto v_reusejp_4639_;
}
else
{
lean_object* v_reuseFailAlloc_4641_; 
v_reuseFailAlloc_4641_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4641_, 0, v_a_4635_);
v___x_4640_ = v_reuseFailAlloc_4641_;
goto v_reusejp_4639_;
}
v_reusejp_4639_:
{
return v___x_4640_;
}
}
}
}
else
{
lean_object* v_a_4643_; lean_object* v___x_4645_; uint8_t v_isShared_4646_; uint8_t v_isSharedCheck_4650_; 
lean_dec(v___y_4516_);
lean_dec_ref(v___y_4515_);
lean_dec(v___y_4514_);
lean_dec_ref(v___y_4513_);
lean_del_object(v___x_4503_);
lean_dec(v_levelParams_4501_);
lean_dec_ref(v_val_4497_);
lean_dec(v_declName_4493_);
v_a_4643_ = lean_ctor_get(v___x_4524_, 0);
v_isSharedCheck_4650_ = !lean_is_exclusive(v___x_4524_);
if (v_isSharedCheck_4650_ == 0)
{
v___x_4645_ = v___x_4524_;
v_isShared_4646_ = v_isSharedCheck_4650_;
goto v_resetjp_4644_;
}
else
{
lean_inc(v_a_4643_);
lean_dec(v___x_4524_);
v___x_4645_ = lean_box(0);
v_isShared_4646_ = v_isSharedCheck_4650_;
goto v_resetjp_4644_;
}
v_resetjp_4644_:
{
lean_object* v___x_4648_; 
if (v_isShared_4646_ == 0)
{
v___x_4648_ = v___x_4645_;
goto v_reusejp_4647_;
}
else
{
lean_object* v_reuseFailAlloc_4649_; 
v_reuseFailAlloc_4649_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4649_, 0, v_a_4643_);
v___x_4648_ = v_reuseFailAlloc_4649_;
goto v_reusejp_4647_;
}
v_reusejp_4647_:
{
return v___x_4648_;
}
}
}
}
else
{
lean_object* v_a_4651_; lean_object* v___x_4653_; uint8_t v_isShared_4654_; uint8_t v_isSharedCheck_4658_; 
lean_dec_ref(v___x_4517_);
lean_dec(v___y_4516_);
lean_dec_ref(v___y_4515_);
lean_dec(v___y_4514_);
lean_dec_ref(v___y_4513_);
lean_dec(v_tail_4507_);
lean_dec_ref(v___x_4506_);
lean_del_object(v___x_4503_);
lean_dec(v_levelParams_4501_);
lean_dec(v___x_4498_);
lean_dec_ref(v_val_4497_);
lean_dec(v_declName_4493_);
v_a_4651_ = lean_ctor_get(v___x_4518_, 0);
v_isSharedCheck_4658_ = !lean_is_exclusive(v___x_4518_);
if (v_isSharedCheck_4658_ == 0)
{
v___x_4653_ = v___x_4518_;
v_isShared_4654_ = v_isSharedCheck_4658_;
goto v_resetjp_4652_;
}
else
{
lean_inc(v_a_4651_);
lean_dec(v___x_4518_);
v___x_4653_ = lean_box(0);
v_isShared_4654_ = v_isSharedCheck_4658_;
goto v_resetjp_4652_;
}
v_resetjp_4652_:
{
lean_object* v___x_4656_; 
if (v_isShared_4654_ == 0)
{
v___x_4656_ = v___x_4653_;
goto v_reusejp_4655_;
}
else
{
lean_object* v_reuseFailAlloc_4657_; 
v_reuseFailAlloc_4657_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4657_, 0, v_a_4651_);
v___x_4656_ = v_reuseFailAlloc_4657_;
goto v_reusejp_4655_;
}
v_reusejp_4655_:
{
return v___x_4656_;
}
}
}
}
}
else
{
lean_object* v___x_4664_; lean_object* v___x_4665_; 
lean_dec(v___x_4506_);
lean_del_object(v___x_4503_);
lean_dec(v_levelParams_4501_);
lean_dec(v___x_4498_);
lean_dec_ref(v_val_4497_);
lean_dec(v_noConfusionTypeName_4494_);
lean_dec(v_declName_4493_);
v___x_4664_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__5, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__5_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__5);
v___x_4665_ = l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__8(v___x_4664_, v_a_4487_, v_a_4488_, v_a_4489_, v_a_4490_);
return v___x_4665_;
}
}
}
else
{
lean_object* v_a_4669_; lean_object* v___x_4671_; uint8_t v_isShared_4672_; uint8_t v_isSharedCheck_4676_; 
lean_dec(v___x_4498_);
lean_dec_ref(v_val_4497_);
lean_dec(v_noConfusionTypeName_4494_);
lean_dec(v_declName_4493_);
lean_dec(v_a_4490_);
lean_dec_ref(v_a_4489_);
lean_dec(v_a_4488_);
lean_dec_ref(v_a_4487_);
v_a_4669_ = lean_ctor_get(v___x_4499_, 0);
v_isSharedCheck_4676_ = !lean_is_exclusive(v___x_4499_);
if (v_isSharedCheck_4676_ == 0)
{
v___x_4671_ = v___x_4499_;
v_isShared_4672_ = v_isSharedCheck_4676_;
goto v_resetjp_4670_;
}
else
{
lean_inc(v_a_4669_);
lean_dec(v___x_4499_);
v___x_4671_ = lean_box(0);
v_isShared_4672_ = v_isSharedCheck_4676_;
goto v_resetjp_4670_;
}
v_resetjp_4670_:
{
lean_object* v___x_4674_; 
if (v_isShared_4672_ == 0)
{
v___x_4674_ = v___x_4671_;
goto v_reusejp_4673_;
}
else
{
lean_object* v_reuseFailAlloc_4675_; 
v_reuseFailAlloc_4675_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4675_, 0, v_a_4669_);
v___x_4674_ = v_reuseFailAlloc_4675_;
goto v_reusejp_4673_;
}
v_reusejp_4673_:
{
return v___x_4674_;
}
}
}
}
else
{
lean_object* v___x_4677_; lean_object* v___x_4678_; 
lean_dec(v_a_4496_);
lean_dec(v_noConfusionTypeName_4494_);
lean_dec(v_declName_4493_);
lean_dec(v_indName_4486_);
v___x_4677_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__6, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__6_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__6);
v___x_4678_ = l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__8(v___x_4677_, v_a_4487_, v_a_4488_, v_a_4489_, v_a_4490_);
return v___x_4678_;
}
}
else
{
lean_object* v_a_4679_; lean_object* v___x_4681_; uint8_t v_isShared_4682_; uint8_t v_isSharedCheck_4686_; 
lean_dec(v_noConfusionTypeName_4494_);
lean_dec(v_declName_4493_);
lean_dec(v_a_4490_);
lean_dec_ref(v_a_4489_);
lean_dec(v_a_4488_);
lean_dec_ref(v_a_4487_);
lean_dec(v_indName_4486_);
v_a_4679_ = lean_ctor_get(v___x_4495_, 0);
v_isSharedCheck_4686_ = !lean_is_exclusive(v___x_4495_);
if (v_isSharedCheck_4686_ == 0)
{
v___x_4681_ = v___x_4495_;
v_isShared_4682_ = v_isSharedCheck_4686_;
goto v_resetjp_4680_;
}
else
{
lean_inc(v_a_4679_);
lean_dec(v___x_4495_);
v___x_4681_ = lean_box(0);
v_isShared_4682_ = v_isSharedCheck_4686_;
goto v_resetjp_4680_;
}
v_resetjp_4680_:
{
lean_object* v___x_4684_; 
if (v_isShared_4682_ == 0)
{
v___x_4684_ = v___x_4681_;
goto v_reusejp_4683_;
}
else
{
lean_object* v_reuseFailAlloc_4685_; 
v_reuseFailAlloc_4685_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4685_, 0, v_a_4679_);
v___x_4684_ = v_reuseFailAlloc_4685_;
goto v_reusejp_4683_;
}
v_reusejp_4683_:
{
return v___x_4684_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___boxed(lean_object* v_indName_4687_, lean_object* v_a_4688_, lean_object* v_a_4689_, lean_object* v_a_4690_, lean_object* v_a_4691_, lean_object* v_a_4692_){
_start:
{
lean_object* v_res_4693_; 
v_res_4693_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp(v_indName_4687_, v_a_4688_, v_a_4689_, v_a_4690_, v_a_4691_);
return v_res_4693_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withNewBinderInfos___at___00Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2_spec__3(lean_object* v_00_u03b1_4694_, lean_object* v_bs_4695_, lean_object* v_k_4696_, lean_object* v___y_4697_, lean_object* v___y_4698_, lean_object* v___y_4699_, lean_object* v___y_4700_){
_start:
{
lean_object* v___x_4702_; 
v___x_4702_ = l_Lean_Meta_withNewBinderInfos___at___00Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2_spec__3___redArg(v_bs_4695_, v_k_4696_, v___y_4697_, v___y_4698_, v___y_4699_, v___y_4700_);
return v___x_4702_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withNewBinderInfos___at___00Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2_spec__3___boxed(lean_object* v_00_u03b1_4703_, lean_object* v_bs_4704_, lean_object* v_k_4705_, lean_object* v___y_4706_, lean_object* v___y_4707_, lean_object* v___y_4708_, lean_object* v___y_4709_, lean_object* v___y_4710_){
_start:
{
lean_object* v_res_4711_; 
v_res_4711_ = l_Lean_Meta_withNewBinderInfos___at___00Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2_spec__3(v_00_u03b1_4703_, v_bs_4704_, v_k_4705_, v___y_4706_, v___y_4707_, v___y_4708_, v___y_4709_);
lean_dec_ref(v_bs_4704_);
return v_res_4711_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2(lean_object* v_00_u03b1_4712_, lean_object* v_bs_4713_, lean_object* v_k_4714_, lean_object* v___y_4715_, lean_object* v___y_4716_, lean_object* v___y_4717_, lean_object* v___y_4718_){
_start:
{
lean_object* v___x_4720_; 
v___x_4720_ = l_Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2___redArg(v_bs_4713_, v_k_4714_, v___y_4715_, v___y_4716_, v___y_4717_, v___y_4718_);
return v___x_4720_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2___boxed(lean_object* v_00_u03b1_4721_, lean_object* v_bs_4722_, lean_object* v_k_4723_, lean_object* v___y_4724_, lean_object* v___y_4725_, lean_object* v___y_4726_, lean_object* v___y_4727_, lean_object* v___y_4728_){
_start:
{
lean_object* v_res_4729_; 
v_res_4729_ = l_Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2(v_00_u03b1_4721_, v_bs_4722_, v_k_4723_, v___y_4724_, v___y_4725_, v___y_4726_, v___y_4727_);
return v_res_4729_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__1(lean_object* v_as_4730_, size_t v_sz_4731_, size_t v_i_4732_, lean_object* v_b_4733_, lean_object* v___y_4734_, lean_object* v___y_4735_, lean_object* v___y_4736_, lean_object* v___y_4737_){
_start:
{
lean_object* v_a_4740_; uint8_t v___x_4744_; 
v___x_4744_ = lean_usize_dec_lt(v_i_4732_, v_sz_4731_);
if (v___x_4744_ == 0)
{
lean_object* v___x_4745_; 
lean_dec(v___y_4737_);
lean_dec_ref(v___y_4736_);
lean_dec(v___y_4735_);
lean_dec_ref(v___y_4734_);
v___x_4745_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4745_, 0, v_b_4733_);
return v___x_4745_;
}
else
{
lean_object* v___x_4746_; 
lean_inc(v___y_4737_);
lean_inc_ref(v___y_4736_);
lean_inc(v___y_4735_);
lean_inc_ref(v___y_4734_);
lean_inc_ref(v_b_4733_);
v___x_4746_ = lean_infer_type(v_b_4733_, v___y_4734_, v___y_4735_, v___y_4736_, v___y_4737_);
if (lean_obj_tag(v___x_4746_) == 0)
{
lean_object* v_a_4747_; lean_object* v___x_4748_; 
v_a_4747_ = lean_ctor_get(v___x_4746_, 0);
lean_inc(v_a_4747_);
lean_dec_ref(v___x_4746_);
lean_inc(v___y_4737_);
lean_inc_ref(v___y_4736_);
lean_inc(v___y_4735_);
lean_inc_ref(v___y_4734_);
v___x_4748_ = l_Lean_Meta_whnfForall(v_a_4747_, v___y_4734_, v___y_4735_, v___y_4736_, v___y_4737_);
if (lean_obj_tag(v___x_4748_) == 0)
{
lean_object* v_a_4749_; lean_object* v_a_4750_; lean_object* v___x_4751_; 
v_a_4749_ = lean_ctor_get(v___x_4748_, 0);
lean_inc(v_a_4749_);
lean_dec_ref(v___x_4748_);
v_a_4750_ = lean_array_uget_borrowed(v_as_4730_, v_i_4732_);
lean_inc(v___y_4737_);
lean_inc_ref(v___y_4736_);
lean_inc(v___y_4735_);
lean_inc_ref(v___y_4734_);
lean_inc(v_a_4750_);
v___x_4751_ = lean_infer_type(v_a_4750_, v___y_4734_, v___y_4735_, v___y_4736_, v___y_4737_);
if (lean_obj_tag(v___x_4751_) == 0)
{
lean_object* v_a_4752_; uint8_t v___y_4754_; lean_object* v___x_4759_; uint8_t v___x_4760_; 
v_a_4752_ = lean_ctor_get(v___x_4751_, 0);
lean_inc(v_a_4752_);
lean_dec_ref(v___x_4751_);
v___x_4759_ = l_Lean_Expr_bindingDomain_x21(v_a_4749_);
lean_dec(v_a_4749_);
v___x_4760_ = l_Lean_Expr_isHEq(v___x_4759_);
lean_dec_ref(v___x_4759_);
if (v___x_4760_ == 0)
{
lean_dec(v_a_4752_);
v___y_4754_ = v___x_4760_;
goto v___jp_4753_;
}
else
{
uint8_t v___x_4761_; 
v___x_4761_ = l_Lean_Expr_isEq(v_a_4752_);
lean_dec(v_a_4752_);
v___y_4754_ = v___x_4761_;
goto v___jp_4753_;
}
v___jp_4753_:
{
if (v___y_4754_ == 0)
{
lean_object* v___x_4755_; 
lean_inc(v_a_4750_);
v___x_4755_ = l_Lean_Expr_app___override(v_b_4733_, v_a_4750_);
v_a_4740_ = v___x_4755_;
goto v___jp_4739_;
}
else
{
lean_object* v___x_4756_; 
lean_inc(v___y_4737_);
lean_inc_ref(v___y_4736_);
lean_inc(v___y_4735_);
lean_inc_ref(v___y_4734_);
lean_inc(v_a_4750_);
v___x_4756_ = l_Lean_Meta_mkHEqOfEq(v_a_4750_, v___y_4734_, v___y_4735_, v___y_4736_, v___y_4737_);
if (lean_obj_tag(v___x_4756_) == 0)
{
lean_object* v_a_4757_; lean_object* v___x_4758_; 
v_a_4757_ = lean_ctor_get(v___x_4756_, 0);
lean_inc(v_a_4757_);
lean_dec_ref(v___x_4756_);
v___x_4758_ = l_Lean_Expr_app___override(v_b_4733_, v_a_4757_);
v_a_4740_ = v___x_4758_;
goto v___jp_4739_;
}
else
{
lean_dec(v___y_4737_);
lean_dec_ref(v___y_4736_);
lean_dec(v___y_4735_);
lean_dec_ref(v___y_4734_);
lean_dec_ref(v_b_4733_);
return v___x_4756_;
}
}
}
}
else
{
lean_dec(v_a_4749_);
lean_dec(v___y_4737_);
lean_dec_ref(v___y_4736_);
lean_dec(v___y_4735_);
lean_dec_ref(v___y_4734_);
lean_dec_ref(v_b_4733_);
return v___x_4751_;
}
}
else
{
lean_dec(v___y_4737_);
lean_dec_ref(v___y_4736_);
lean_dec(v___y_4735_);
lean_dec_ref(v___y_4734_);
lean_dec_ref(v_b_4733_);
return v___x_4748_;
}
}
else
{
lean_dec(v___y_4737_);
lean_dec_ref(v___y_4736_);
lean_dec(v___y_4735_);
lean_dec_ref(v___y_4734_);
lean_dec_ref(v_b_4733_);
return v___x_4746_;
}
}
v___jp_4739_:
{
size_t v___x_4741_; size_t v___x_4742_; 
v___x_4741_ = ((size_t)1ULL);
v___x_4742_ = lean_usize_add(v_i_4732_, v___x_4741_);
v_i_4732_ = v___x_4742_;
v_b_4733_ = v_a_4740_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__1___boxed(lean_object* v_as_4762_, lean_object* v_sz_4763_, lean_object* v_i_4764_, lean_object* v_b_4765_, lean_object* v___y_4766_, lean_object* v___y_4767_, lean_object* v___y_4768_, lean_object* v___y_4769_, lean_object* v___y_4770_){
_start:
{
size_t v_sz_boxed_4771_; size_t v_i_boxed_4772_; lean_object* v_res_4773_; 
v_sz_boxed_4771_ = lean_unbox_usize(v_sz_4763_);
lean_dec(v_sz_4763_);
v_i_boxed_4772_ = lean_unbox_usize(v_i_4764_);
lean_dec(v_i_4764_);
v_res_4773_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__1(v_as_4762_, v_sz_boxed_4771_, v_i_boxed_4772_, v_b_4765_, v___y_4766_, v___y_4767_, v___y_4768_, v___y_4769_);
lean_dec_ref(v_as_4762_);
return v_res_4773_;
}
}
static lean_object* _init_l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__1(void){
_start:
{
lean_object* v___x_4775_; lean_object* v___x_4776_; 
v___x_4775_ = ((lean_object*)(l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__0));
v___x_4776_ = l_Lean_stringToMessageData(v___x_4775_);
return v___x_4776_;
}
}
static lean_object* _init_l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__3(void){
_start:
{
lean_object* v___x_4778_; lean_object* v___x_4779_; 
v___x_4778_ = ((lean_object*)(l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__2));
v___x_4779_ = l_Lean_stringToMessageData(v___x_4778_);
return v___x_4779_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg(lean_object* v_range_4780_, lean_object* v_b_4781_, lean_object* v_i_4782_, lean_object* v___y_4783_, lean_object* v___y_4784_, lean_object* v___y_4785_, lean_object* v___y_4786_){
_start:
{
lean_object* v_stop_4788_; lean_object* v_step_4789_; lean_object* v_a_4791_; uint8_t v___x_4794_; 
v_stop_4788_ = lean_ctor_get(v_range_4780_, 1);
v_step_4789_ = lean_ctor_get(v_range_4780_, 2);
v___x_4794_ = lean_nat_dec_lt(v_i_4782_, v_stop_4788_);
if (v___x_4794_ == 0)
{
lean_object* v___x_4795_; 
lean_dec(v___y_4786_);
lean_dec_ref(v___y_4785_);
lean_dec(v___y_4784_);
lean_dec_ref(v___y_4783_);
lean_dec(v_i_4782_);
v___x_4795_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4795_, 0, v_b_4781_);
return v___x_4795_;
}
else
{
lean_object* v___x_4796_; 
lean_inc(v___y_4786_);
lean_inc_ref(v___y_4785_);
lean_inc(v___y_4784_);
lean_inc_ref(v___y_4783_);
lean_inc_ref(v_b_4781_);
v___x_4796_ = lean_infer_type(v_b_4781_, v___y_4783_, v___y_4784_, v___y_4785_, v___y_4786_);
if (lean_obj_tag(v___x_4796_) == 0)
{
lean_object* v_a_4797_; lean_object* v___x_4798_; 
v_a_4797_ = lean_ctor_get(v___x_4796_, 0);
lean_inc(v_a_4797_);
lean_dec_ref(v___x_4796_);
lean_inc(v___y_4786_);
lean_inc_ref(v___y_4785_);
lean_inc(v___y_4784_);
lean_inc_ref(v___y_4783_);
v___x_4798_ = l_Lean_Meta_whnfForall(v_a_4797_, v___y_4783_, v___y_4784_, v___y_4785_, v___y_4786_);
if (lean_obj_tag(v___x_4798_) == 0)
{
lean_object* v_a_4799_; lean_object* v___x_4800_; lean_object* v___x_4801_; 
v_a_4799_ = lean_ctor_get(v___x_4798_, 0);
lean_inc(v_a_4799_);
lean_dec_ref(v___x_4798_);
v___x_4800_ = l_Lean_Expr_bindingDomain_x21(v_a_4799_);
lean_dec(v_a_4799_);
lean_inc(v___y_4786_);
lean_inc_ref(v___y_4785_);
lean_inc(v___y_4784_);
lean_inc_ref(v___y_4783_);
v___x_4801_ = lean_whnf(v___x_4800_, v___y_4783_, v___y_4784_, v___y_4785_, v___y_4786_);
if (lean_obj_tag(v___x_4801_) == 0)
{
lean_object* v_a_4802_; lean_object* v___x_4803_; lean_object* v___x_4804_; uint8_t v___x_4805_; 
v_a_4802_ = lean_ctor_get(v___x_4801_, 0);
lean_inc(v_a_4802_);
lean_dec_ref(v___x_4801_);
v___x_4803_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__0___closed__1));
v___x_4804_ = lean_unsigned_to_nat(4u);
v___x_4805_ = l_Lean_Expr_isAppOfArity(v_a_4802_, v___x_4803_, v___x_4804_);
if (v___x_4805_ == 0)
{
lean_object* v___x_4806_; lean_object* v___x_4807_; uint8_t v___x_4808_; 
v___x_4806_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__2));
v___x_4807_ = lean_unsigned_to_nat(3u);
v___x_4808_ = l_Lean_Expr_isAppOfArity(v_a_4802_, v___x_4806_, v___x_4807_);
if (v___x_4808_ == 0)
{
lean_object* v___x_4809_; 
lean_dec(v_i_4782_);
lean_inc(v___y_4786_);
lean_inc_ref(v___y_4785_);
lean_inc(v___y_4784_);
lean_inc_ref(v___y_4783_);
v___x_4809_ = lean_infer_type(v_b_4781_, v___y_4783_, v___y_4784_, v___y_4785_, v___y_4786_);
if (lean_obj_tag(v___x_4809_) == 0)
{
lean_object* v_a_4810_; lean_object* v___x_4811_; lean_object* v___x_4812_; lean_object* v___x_4813_; lean_object* v___x_4814_; lean_object* v___x_4815_; lean_object* v___x_4816_; lean_object* v___x_4817_; lean_object* v___x_4818_; lean_object* v___x_4819_; lean_object* v_a_4820_; lean_object* v___x_4822_; uint8_t v_isShared_4823_; uint8_t v_isSharedCheck_4827_; 
v_a_4810_ = lean_ctor_get(v___x_4809_, 0);
lean_inc(v_a_4810_);
lean_dec_ref(v___x_4809_);
v___x_4811_ = lean_obj_once(&l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__1, &l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__1_once, _init_l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__1);
v___x_4812_ = l_Lean_MessageData_ofExpr(v_a_4802_);
v___x_4813_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4813_, 0, v___x_4811_);
lean_ctor_set(v___x_4813_, 1, v___x_4812_);
v___x_4814_ = lean_obj_once(&l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__3, &l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__3_once, _init_l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___closed__3);
v___x_4815_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4815_, 0, v___x_4813_);
lean_ctor_set(v___x_4815_, 1, v___x_4814_);
v___x_4816_ = lean_unsigned_to_nat(30u);
v___x_4817_ = l_Lean_inlineExpr(v_a_4810_, v___x_4816_);
v___x_4818_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4818_, 0, v___x_4815_);
lean_ctor_set(v___x_4818_, 1, v___x_4817_);
v___x_4819_ = l_Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0___redArg(v___x_4818_, v___y_4783_, v___y_4784_, v___y_4785_, v___y_4786_);
lean_dec(v___y_4786_);
lean_dec_ref(v___y_4785_);
lean_dec(v___y_4784_);
lean_dec_ref(v___y_4783_);
v_a_4820_ = lean_ctor_get(v___x_4819_, 0);
v_isSharedCheck_4827_ = !lean_is_exclusive(v___x_4819_);
if (v_isSharedCheck_4827_ == 0)
{
v___x_4822_ = v___x_4819_;
v_isShared_4823_ = v_isSharedCheck_4827_;
goto v_resetjp_4821_;
}
else
{
lean_inc(v_a_4820_);
lean_dec(v___x_4819_);
v___x_4822_ = lean_box(0);
v_isShared_4823_ = v_isSharedCheck_4827_;
goto v_resetjp_4821_;
}
v_resetjp_4821_:
{
lean_object* v___x_4825_; 
if (v_isShared_4823_ == 0)
{
v___x_4825_ = v___x_4822_;
goto v_reusejp_4824_;
}
else
{
lean_object* v_reuseFailAlloc_4826_; 
v_reuseFailAlloc_4826_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4826_, 0, v_a_4820_);
v___x_4825_ = v_reuseFailAlloc_4826_;
goto v_reusejp_4824_;
}
v_reusejp_4824_:
{
return v___x_4825_;
}
}
}
else
{
lean_dec(v_a_4802_);
lean_dec(v___y_4786_);
lean_dec_ref(v___y_4785_);
lean_dec(v___y_4784_);
lean_dec_ref(v___y_4783_);
return v___x_4809_;
}
}
else
{
lean_object* v___x_4828_; lean_object* v___x_4829_; lean_object* v___x_4830_; 
v___x_4828_ = l_Lean_Expr_appFn_x21(v_a_4802_);
lean_dec(v_a_4802_);
v___x_4829_ = l_Lean_Expr_appArg_x21(v___x_4828_);
lean_dec_ref(v___x_4828_);
lean_inc(v___y_4786_);
lean_inc_ref(v___y_4785_);
lean_inc(v___y_4784_);
lean_inc_ref(v___y_4783_);
v___x_4830_ = l_Lean_Meta_mkEqRefl(v___x_4829_, v___y_4783_, v___y_4784_, v___y_4785_, v___y_4786_);
if (lean_obj_tag(v___x_4830_) == 0)
{
lean_object* v_a_4831_; lean_object* v___x_4832_; 
v_a_4831_ = lean_ctor_get(v___x_4830_, 0);
lean_inc(v_a_4831_);
lean_dec_ref(v___x_4830_);
v___x_4832_ = l_Lean_Expr_app___override(v_b_4781_, v_a_4831_);
v_a_4791_ = v___x_4832_;
goto v___jp_4790_;
}
else
{
lean_dec(v___y_4786_);
lean_dec_ref(v___y_4785_);
lean_dec(v___y_4784_);
lean_dec_ref(v___y_4783_);
lean_dec(v_i_4782_);
lean_dec_ref(v_b_4781_);
return v___x_4830_;
}
}
}
else
{
lean_object* v___x_4833_; lean_object* v___x_4834_; lean_object* v___x_4835_; lean_object* v___x_4836_; 
v___x_4833_ = l_Lean_Expr_appFn_x21(v_a_4802_);
lean_dec(v_a_4802_);
v___x_4834_ = l_Lean_Expr_appFn_x21(v___x_4833_);
lean_dec_ref(v___x_4833_);
v___x_4835_ = l_Lean_Expr_appArg_x21(v___x_4834_);
lean_dec_ref(v___x_4834_);
lean_inc(v___y_4786_);
lean_inc_ref(v___y_4785_);
lean_inc(v___y_4784_);
lean_inc_ref(v___y_4783_);
v___x_4836_ = l_Lean_Meta_mkHEqRefl(v___x_4835_, v___y_4783_, v___y_4784_, v___y_4785_, v___y_4786_);
if (lean_obj_tag(v___x_4836_) == 0)
{
lean_object* v_a_4837_; lean_object* v___x_4838_; 
v_a_4837_ = lean_ctor_get(v___x_4836_, 0);
lean_inc(v_a_4837_);
lean_dec_ref(v___x_4836_);
v___x_4838_ = l_Lean_Expr_app___override(v_b_4781_, v_a_4837_);
v_a_4791_ = v___x_4838_;
goto v___jp_4790_;
}
else
{
lean_dec(v___y_4786_);
lean_dec_ref(v___y_4785_);
lean_dec(v___y_4784_);
lean_dec_ref(v___y_4783_);
lean_dec(v_i_4782_);
lean_dec_ref(v_b_4781_);
return v___x_4836_;
}
}
}
else
{
lean_dec(v___y_4786_);
lean_dec_ref(v___y_4785_);
lean_dec(v___y_4784_);
lean_dec_ref(v___y_4783_);
lean_dec(v_i_4782_);
lean_dec_ref(v_b_4781_);
return v___x_4801_;
}
}
else
{
lean_dec(v___y_4786_);
lean_dec_ref(v___y_4785_);
lean_dec(v___y_4784_);
lean_dec_ref(v___y_4783_);
lean_dec(v_i_4782_);
lean_dec_ref(v_b_4781_);
return v___x_4798_;
}
}
else
{
lean_dec(v___y_4786_);
lean_dec_ref(v___y_4785_);
lean_dec(v___y_4784_);
lean_dec_ref(v___y_4783_);
lean_dec(v_i_4782_);
lean_dec_ref(v_b_4781_);
return v___x_4796_;
}
}
v___jp_4790_:
{
lean_object* v___x_4792_; 
v___x_4792_ = lean_nat_add(v_i_4782_, v_step_4789_);
lean_dec(v_i_4782_);
v_b_4781_ = v_a_4791_;
v_i_4782_ = v___x_4792_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg___boxed(lean_object* v_range_4839_, lean_object* v_b_4840_, lean_object* v_i_4841_, lean_object* v___y_4842_, lean_object* v___y_4843_, lean_object* v___y_4844_, lean_object* v___y_4845_, lean_object* v___y_4846_){
_start:
{
lean_object* v_res_4847_; 
v_res_4847_ = l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg(v_range_4839_, v_b_4840_, v_i_4841_, v___y_4842_, v___y_4843_, v___y_4844_, v___y_4845_);
lean_dec_ref(v_range_4839_);
return v_res_4847_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__0(lean_object* v___x_4848_, lean_object* v___x_4849_, lean_object* v___x_4850_, lean_object* v_xs_4851_, lean_object* v___x_4852_, lean_object* v___x_4853_, lean_object* v___x_4854_, lean_object* v___x_4855_, lean_object* v___x_4856_, lean_object* v___x_4857_, lean_object* v___x_4858_, lean_object* v_eqs_4859_, lean_object* v_P_4860_, lean_object* v___x_4861_, lean_object* v_eqvs_4862_, uint8_t v_a_4863_, uint8_t v___x_4864_, lean_object* v_head_4865_, lean_object* v___x_4866_, lean_object* v___x_4867_, lean_object* v_numParams_4868_, lean_object* v_numFields_4869_, lean_object* v___x_4870_, lean_object* v___x_4871_, lean_object* v_k_4872_, lean_object* v___y_4873_, lean_object* v___y_4874_, lean_object* v___y_4875_, lean_object* v___y_4876_){
_start:
{
lean_object* v___x_4878_; lean_object* v___x_4879_; lean_object* v___x_4880_; lean_object* v___x_4881_; lean_object* v___x_4882_; lean_object* v___x_4883_; lean_object* v___x_4884_; lean_object* v___x_4885_; lean_object* v___x_4886_; lean_object* v___x_4887_; lean_object* v___x_4888_; lean_object* v___x_4889_; lean_object* v___x_4890_; 
v___x_4878_ = l_Lean_mkConst(v___x_4848_, v___x_4849_);
v___x_4879_ = l_Array_append___redArg(v___x_4850_, v_xs_4851_);
v___x_4880_ = l_Array_append___redArg(v___x_4879_, v___x_4852_);
lean_inc_ref(v___x_4853_);
v___x_4881_ = lean_array_push(v___x_4853_, v___x_4854_);
v___x_4882_ = l_Array_append___redArg(v___x_4880_, v___x_4881_);
lean_dec_ref(v___x_4881_);
v___x_4883_ = l_Array_append___redArg(v___x_4882_, v_xs_4851_);
v___x_4884_ = l_Array_append___redArg(v___x_4883_, v___x_4855_);
lean_inc_ref(v___x_4853_);
v___x_4885_ = lean_array_push(v___x_4853_, v___x_4856_);
v___x_4886_ = l_Array_append___redArg(v___x_4884_, v___x_4885_);
lean_dec_ref(v___x_4885_);
v___x_4887_ = l_Lean_mkAppN(v___x_4878_, v___x_4886_);
lean_dec_ref(v___x_4886_);
v___x_4888_ = lean_array_get_size(v_xs_4851_);
lean_inc(v___x_4858_);
lean_inc(v___x_4857_);
v___x_4889_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v___x_4889_, 0, v___x_4857_);
lean_ctor_set(v___x_4889_, 1, v___x_4888_);
lean_ctor_set(v___x_4889_, 2, v___x_4858_);
lean_inc(v___y_4876_);
lean_inc_ref(v___y_4875_);
lean_inc(v___y_4874_);
lean_inc_ref(v___y_4873_);
v___x_4890_ = l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg(v___x_4889_, v___x_4887_, v___x_4857_, v___y_4873_, v___y_4874_, v___y_4875_, v___y_4876_);
lean_dec_ref(v___x_4889_);
if (lean_obj_tag(v___x_4890_) == 0)
{
lean_object* v_a_4891_; size_t v_sz_4892_; size_t v___x_4893_; lean_object* v___x_4894_; 
v_a_4891_ = lean_ctor_get(v___x_4890_, 0);
lean_inc(v_a_4891_);
lean_dec_ref(v___x_4890_);
v_sz_4892_ = lean_array_size(v_eqs_4859_);
v___x_4893_ = ((size_t)0ULL);
lean_inc(v___y_4876_);
lean_inc_ref(v___y_4875_);
lean_inc(v___y_4874_);
lean_inc_ref(v___y_4873_);
v___x_4894_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__1(v_eqs_4859_, v_sz_4892_, v___x_4893_, v_a_4891_, v___y_4873_, v___y_4874_, v___y_4875_, v___y_4876_);
if (lean_obj_tag(v___x_4894_) == 0)
{
lean_object* v_a_4895_; lean_object* v___x_4896_; lean_object* v___x_4897_; 
v_a_4895_ = lean_ctor_get(v___x_4894_, 0);
lean_inc(v_a_4895_);
lean_dec_ref(v___x_4894_);
lean_inc_ref(v_k_4872_);
v___x_4896_ = l_Lean_Expr_app___override(v_a_4895_, v_k_4872_);
lean_inc(v___y_4876_);
lean_inc_ref(v___y_4875_);
lean_inc(v___y_4874_);
lean_inc_ref(v___y_4873_);
v___x_4897_ = l_Lean_Meta_mkExpectedTypeHint(v___x_4896_, v_P_4860_, v___y_4873_, v___y_4874_, v___y_4875_, v___y_4876_);
if (lean_obj_tag(v___x_4897_) == 0)
{
lean_object* v_a_4898_; lean_object* v___x_4899_; lean_object* v___x_4900_; lean_object* v___x_4901_; uint8_t v___x_4902_; lean_object* v___x_4903_; 
v_a_4898_ = lean_ctor_get(v___x_4897_, 0);
lean_inc(v_a_4898_);
lean_dec_ref(v___x_4897_);
v___x_4899_ = l_Array_append___redArg(v___x_4861_, v_eqvs_4862_);
v___x_4900_ = lean_array_push(v___x_4853_, v_k_4872_);
v___x_4901_ = l_Array_append___redArg(v___x_4899_, v___x_4900_);
lean_dec_ref(v___x_4900_);
v___x_4902_ = 1;
v___x_4903_ = l_Lean_Meta_mkLambdaFVars(v___x_4901_, v_a_4898_, v_a_4863_, v___x_4864_, v_a_4863_, v___x_4864_, v___x_4902_, v___y_4873_, v___y_4874_, v___y_4875_, v___y_4876_);
lean_dec_ref(v___x_4901_);
if (lean_obj_tag(v___x_4903_) == 0)
{
lean_object* v_a_4904_; lean_object* v___x_4905_; 
v_a_4904_ = lean_ctor_get(v___x_4903_, 0);
lean_inc(v_a_4904_);
lean_dec_ref(v___x_4903_);
lean_inc(v___y_4876_);
lean_inc_ref(v___y_4875_);
lean_inc(v___y_4874_);
lean_inc_ref(v___y_4873_);
lean_inc(v_a_4904_);
v___x_4905_ = lean_infer_type(v_a_4904_, v___y_4873_, v___y_4874_, v___y_4875_, v___y_4876_);
if (lean_obj_tag(v___x_4905_) == 0)
{
lean_object* v_a_4906_; lean_object* v___x_4907_; lean_object* v___x_4908_; lean_object* v___x_4909_; lean_object* v_a_4910_; lean_object* v___x_4912_; uint8_t v_isShared_4913_; uint8_t v_isSharedCheck_4970_; 
v_a_4906_ = lean_ctor_get(v___x_4905_, 0);
lean_inc(v_a_4906_);
lean_dec_ref(v___x_4905_);
v___x_4907_ = l_Lean_Name_str___override(v_head_4865_, v___x_4866_);
v___x_4908_ = lean_box(1);
lean_inc(v___x_4907_);
v___x_4909_ = l_Lean_mkDefinitionValInferringUnsafe___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__6___redArg(v___x_4907_, v___x_4867_, v_a_4906_, v_a_4904_, v___x_4908_, v___y_4876_);
v_a_4910_ = lean_ctor_get(v___x_4909_, 0);
v_isSharedCheck_4970_ = !lean_is_exclusive(v___x_4909_);
if (v_isSharedCheck_4970_ == 0)
{
v___x_4912_ = v___x_4909_;
v_isShared_4913_ = v_isSharedCheck_4970_;
goto v_resetjp_4911_;
}
else
{
lean_inc(v_a_4910_);
lean_dec(v___x_4909_);
v___x_4912_ = lean_box(0);
v_isShared_4913_ = v_isSharedCheck_4970_;
goto v_resetjp_4911_;
}
v_resetjp_4911_:
{
lean_object* v___x_4915_; 
if (v_isShared_4913_ == 0)
{
lean_ctor_set_tag(v___x_4912_, 1);
v___x_4915_ = v___x_4912_;
goto v_reusejp_4914_;
}
else
{
lean_object* v_reuseFailAlloc_4969_; 
v_reuseFailAlloc_4969_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4969_, 0, v_a_4910_);
v___x_4915_ = v_reuseFailAlloc_4969_;
goto v_reusejp_4914_;
}
v_reusejp_4914_:
{
lean_object* v___x_4916_; 
lean_inc(v___y_4876_);
lean_inc_ref(v___y_4875_);
v___x_4916_ = l_Lean_addDecl(v___x_4915_, v_a_4863_, v___y_4875_, v___y_4876_);
if (lean_obj_tag(v___x_4916_) == 0)
{
lean_object* v___x_4917_; lean_object* v___x_4919_; uint8_t v_isShared_4920_; uint8_t v_isSharedCheck_4967_; 
lean_dec_ref(v___x_4916_);
lean_inc(v___x_4907_);
v___x_4917_ = l_Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7(v___x_4907_, v___y_4873_, v___y_4874_, v___y_4875_, v___y_4876_);
lean_dec_ref(v___y_4875_);
lean_dec_ref(v___y_4873_);
v_isSharedCheck_4967_ = !lean_is_exclusive(v___x_4917_);
if (v_isSharedCheck_4967_ == 0)
{
lean_object* v_unused_4968_; 
v_unused_4968_ = lean_ctor_get(v___x_4917_, 0);
lean_dec(v_unused_4968_);
v___x_4919_ = v___x_4917_;
v_isShared_4920_ = v_isSharedCheck_4967_;
goto v_resetjp_4918_;
}
else
{
lean_dec(v___x_4917_);
v___x_4919_ = lean_box(0);
v_isShared_4920_ = v_isSharedCheck_4967_;
goto v_resetjp_4918_;
}
v_resetjp_4918_:
{
lean_object* v___x_4921_; lean_object* v_env_4922_; lean_object* v_nextMacroScope_4923_; lean_object* v_ngen_4924_; lean_object* v_auxDeclNGen_4925_; lean_object* v_traceState_4926_; lean_object* v_messages_4927_; lean_object* v_infoState_4928_; lean_object* v_snapshotTasks_4929_; lean_object* v___x_4931_; uint8_t v_isShared_4932_; uint8_t v_isSharedCheck_4965_; 
v___x_4921_ = lean_st_ref_take(v___y_4876_);
v_env_4922_ = lean_ctor_get(v___x_4921_, 0);
v_nextMacroScope_4923_ = lean_ctor_get(v___x_4921_, 1);
v_ngen_4924_ = lean_ctor_get(v___x_4921_, 2);
v_auxDeclNGen_4925_ = lean_ctor_get(v___x_4921_, 3);
v_traceState_4926_ = lean_ctor_get(v___x_4921_, 4);
v_messages_4927_ = lean_ctor_get(v___x_4921_, 6);
v_infoState_4928_ = lean_ctor_get(v___x_4921_, 7);
v_snapshotTasks_4929_ = lean_ctor_get(v___x_4921_, 8);
v_isSharedCheck_4965_ = !lean_is_exclusive(v___x_4921_);
if (v_isSharedCheck_4965_ == 0)
{
lean_object* v_unused_4966_; 
v_unused_4966_ = lean_ctor_get(v___x_4921_, 5);
lean_dec(v_unused_4966_);
v___x_4931_ = v___x_4921_;
v_isShared_4932_ = v_isSharedCheck_4965_;
goto v_resetjp_4930_;
}
else
{
lean_inc(v_snapshotTasks_4929_);
lean_inc(v_infoState_4928_);
lean_inc(v_messages_4927_);
lean_inc(v_traceState_4926_);
lean_inc(v_auxDeclNGen_4925_);
lean_inc(v_ngen_4924_);
lean_inc(v_nextMacroScope_4923_);
lean_inc(v_env_4922_);
lean_dec(v___x_4921_);
v___x_4931_ = lean_box(0);
v_isShared_4932_ = v_isSharedCheck_4965_;
goto v_resetjp_4930_;
}
v_resetjp_4930_:
{
lean_object* v___x_4933_; lean_object* v___x_4934_; lean_object* v___x_4935_; lean_object* v___x_4936_; lean_object* v___x_4937_; lean_object* v___x_4938_; lean_object* v___x_4939_; lean_object* v___x_4940_; lean_object* v___x_4941_; lean_object* v___x_4942_; lean_object* v___x_4944_; 
v___x_4933_ = lean_nat_add(v_numParams_4868_, v___x_4858_);
lean_dec(v___x_4858_);
v___x_4934_ = lean_unsigned_to_nat(2u);
v___x_4935_ = lean_nat_mul(v___x_4934_, v_numFields_4869_);
v___x_4936_ = lean_nat_add(v___x_4933_, v___x_4935_);
lean_dec(v___x_4935_);
lean_dec(v___x_4933_);
v___x_4937_ = lean_array_get_size(v_eqvs_4862_);
v___x_4938_ = lean_nat_add(v___x_4936_, v___x_4937_);
lean_dec(v___x_4936_);
v___x_4939_ = l_Lean_Expr_getNumHeadForalls(v___x_4870_);
v___x_4940_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_4940_, 0, v___x_4938_);
lean_ctor_set(v___x_4940_, 1, v___x_4939_);
v___x_4941_ = l_Lean_markNoConfusion(v_env_4922_, v___x_4907_, v___x_4940_);
v___x_4942_ = lean_obj_once(&l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__2, &l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__2_once, _init_l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__2);
if (v_isShared_4932_ == 0)
{
lean_ctor_set(v___x_4931_, 5, v___x_4942_);
lean_ctor_set(v___x_4931_, 0, v___x_4941_);
v___x_4944_ = v___x_4931_;
goto v_reusejp_4943_;
}
else
{
lean_object* v_reuseFailAlloc_4964_; 
v_reuseFailAlloc_4964_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_4964_, 0, v___x_4941_);
lean_ctor_set(v_reuseFailAlloc_4964_, 1, v_nextMacroScope_4923_);
lean_ctor_set(v_reuseFailAlloc_4964_, 2, v_ngen_4924_);
lean_ctor_set(v_reuseFailAlloc_4964_, 3, v_auxDeclNGen_4925_);
lean_ctor_set(v_reuseFailAlloc_4964_, 4, v_traceState_4926_);
lean_ctor_set(v_reuseFailAlloc_4964_, 5, v___x_4942_);
lean_ctor_set(v_reuseFailAlloc_4964_, 6, v_messages_4927_);
lean_ctor_set(v_reuseFailAlloc_4964_, 7, v_infoState_4928_);
lean_ctor_set(v_reuseFailAlloc_4964_, 8, v_snapshotTasks_4929_);
v___x_4944_ = v_reuseFailAlloc_4964_;
goto v_reusejp_4943_;
}
v_reusejp_4943_:
{
lean_object* v___x_4945_; lean_object* v___x_4946_; lean_object* v_mctx_4947_; lean_object* v_zetaDeltaFVarIds_4948_; lean_object* v_postponed_4949_; lean_object* v_diag_4950_; lean_object* v___x_4952_; uint8_t v_isShared_4953_; uint8_t v_isSharedCheck_4962_; 
v___x_4945_ = lean_st_ref_set(v___y_4876_, v___x_4944_);
lean_dec(v___y_4876_);
v___x_4946_ = lean_st_ref_take(v___y_4874_);
v_mctx_4947_ = lean_ctor_get(v___x_4946_, 0);
v_zetaDeltaFVarIds_4948_ = lean_ctor_get(v___x_4946_, 2);
v_postponed_4949_ = lean_ctor_get(v___x_4946_, 3);
v_diag_4950_ = lean_ctor_get(v___x_4946_, 4);
v_isSharedCheck_4962_ = !lean_is_exclusive(v___x_4946_);
if (v_isSharedCheck_4962_ == 0)
{
lean_object* v_unused_4963_; 
v_unused_4963_ = lean_ctor_get(v___x_4946_, 1);
lean_dec(v_unused_4963_);
v___x_4952_ = v___x_4946_;
v_isShared_4953_ = v_isSharedCheck_4962_;
goto v_resetjp_4951_;
}
else
{
lean_inc(v_diag_4950_);
lean_inc(v_postponed_4949_);
lean_inc(v_zetaDeltaFVarIds_4948_);
lean_inc(v_mctx_4947_);
lean_dec(v___x_4946_);
v___x_4952_ = lean_box(0);
v_isShared_4953_ = v_isSharedCheck_4962_;
goto v_resetjp_4951_;
}
v_resetjp_4951_:
{
lean_object* v___x_4954_; lean_object* v___x_4956_; 
v___x_4954_ = lean_obj_once(&l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__3, &l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__3_once, _init_l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__3);
if (v_isShared_4953_ == 0)
{
lean_ctor_set(v___x_4952_, 1, v___x_4954_);
v___x_4956_ = v___x_4952_;
goto v_reusejp_4955_;
}
else
{
lean_object* v_reuseFailAlloc_4961_; 
v_reuseFailAlloc_4961_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_4961_, 0, v_mctx_4947_);
lean_ctor_set(v_reuseFailAlloc_4961_, 1, v___x_4954_);
lean_ctor_set(v_reuseFailAlloc_4961_, 2, v_zetaDeltaFVarIds_4948_);
lean_ctor_set(v_reuseFailAlloc_4961_, 3, v_postponed_4949_);
lean_ctor_set(v_reuseFailAlloc_4961_, 4, v_diag_4950_);
v___x_4956_ = v_reuseFailAlloc_4961_;
goto v_reusejp_4955_;
}
v_reusejp_4955_:
{
lean_object* v___x_4957_; lean_object* v___x_4959_; 
v___x_4957_ = lean_st_ref_set(v___y_4874_, v___x_4956_);
lean_dec(v___y_4874_);
if (v_isShared_4920_ == 0)
{
lean_ctor_set(v___x_4919_, 0, v___x_4871_);
v___x_4959_ = v___x_4919_;
goto v_reusejp_4958_;
}
else
{
lean_object* v_reuseFailAlloc_4960_; 
v_reuseFailAlloc_4960_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4960_, 0, v___x_4871_);
v___x_4959_ = v_reuseFailAlloc_4960_;
goto v_reusejp_4958_;
}
v_reusejp_4958_:
{
return v___x_4959_;
}
}
}
}
}
}
}
else
{
lean_dec(v___x_4907_);
lean_dec(v___y_4876_);
lean_dec_ref(v___y_4875_);
lean_dec(v___y_4874_);
lean_dec_ref(v___y_4873_);
lean_dec(v___x_4858_);
return v___x_4916_;
}
}
}
}
else
{
lean_object* v_a_4971_; lean_object* v___x_4973_; uint8_t v_isShared_4974_; uint8_t v_isSharedCheck_4978_; 
lean_dec(v_a_4904_);
lean_dec(v___y_4876_);
lean_dec_ref(v___y_4875_);
lean_dec(v___y_4874_);
lean_dec_ref(v___y_4873_);
lean_dec(v___x_4867_);
lean_dec_ref(v___x_4866_);
lean_dec(v_head_4865_);
lean_dec(v___x_4858_);
v_a_4971_ = lean_ctor_get(v___x_4905_, 0);
v_isSharedCheck_4978_ = !lean_is_exclusive(v___x_4905_);
if (v_isSharedCheck_4978_ == 0)
{
v___x_4973_ = v___x_4905_;
v_isShared_4974_ = v_isSharedCheck_4978_;
goto v_resetjp_4972_;
}
else
{
lean_inc(v_a_4971_);
lean_dec(v___x_4905_);
v___x_4973_ = lean_box(0);
v_isShared_4974_ = v_isSharedCheck_4978_;
goto v_resetjp_4972_;
}
v_resetjp_4972_:
{
lean_object* v___x_4976_; 
if (v_isShared_4974_ == 0)
{
v___x_4976_ = v___x_4973_;
goto v_reusejp_4975_;
}
else
{
lean_object* v_reuseFailAlloc_4977_; 
v_reuseFailAlloc_4977_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4977_, 0, v_a_4971_);
v___x_4976_ = v_reuseFailAlloc_4977_;
goto v_reusejp_4975_;
}
v_reusejp_4975_:
{
return v___x_4976_;
}
}
}
}
else
{
lean_object* v_a_4979_; lean_object* v___x_4981_; uint8_t v_isShared_4982_; uint8_t v_isSharedCheck_4986_; 
lean_dec(v___y_4876_);
lean_dec_ref(v___y_4875_);
lean_dec(v___y_4874_);
lean_dec_ref(v___y_4873_);
lean_dec(v___x_4867_);
lean_dec_ref(v___x_4866_);
lean_dec(v_head_4865_);
lean_dec(v___x_4858_);
v_a_4979_ = lean_ctor_get(v___x_4903_, 0);
v_isSharedCheck_4986_ = !lean_is_exclusive(v___x_4903_);
if (v_isSharedCheck_4986_ == 0)
{
v___x_4981_ = v___x_4903_;
v_isShared_4982_ = v_isSharedCheck_4986_;
goto v_resetjp_4980_;
}
else
{
lean_inc(v_a_4979_);
lean_dec(v___x_4903_);
v___x_4981_ = lean_box(0);
v_isShared_4982_ = v_isSharedCheck_4986_;
goto v_resetjp_4980_;
}
v_resetjp_4980_:
{
lean_object* v___x_4984_; 
if (v_isShared_4982_ == 0)
{
v___x_4984_ = v___x_4981_;
goto v_reusejp_4983_;
}
else
{
lean_object* v_reuseFailAlloc_4985_; 
v_reuseFailAlloc_4985_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4985_, 0, v_a_4979_);
v___x_4984_ = v_reuseFailAlloc_4985_;
goto v_reusejp_4983_;
}
v_reusejp_4983_:
{
return v___x_4984_;
}
}
}
}
else
{
lean_object* v_a_4987_; lean_object* v___x_4989_; uint8_t v_isShared_4990_; uint8_t v_isSharedCheck_4994_; 
lean_dec(v___y_4876_);
lean_dec_ref(v___y_4875_);
lean_dec(v___y_4874_);
lean_dec_ref(v___y_4873_);
lean_dec_ref(v_k_4872_);
lean_dec(v___x_4867_);
lean_dec_ref(v___x_4866_);
lean_dec(v_head_4865_);
lean_dec_ref(v___x_4861_);
lean_dec(v___x_4858_);
lean_dec_ref(v___x_4853_);
v_a_4987_ = lean_ctor_get(v___x_4897_, 0);
v_isSharedCheck_4994_ = !lean_is_exclusive(v___x_4897_);
if (v_isSharedCheck_4994_ == 0)
{
v___x_4989_ = v___x_4897_;
v_isShared_4990_ = v_isSharedCheck_4994_;
goto v_resetjp_4988_;
}
else
{
lean_inc(v_a_4987_);
lean_dec(v___x_4897_);
v___x_4989_ = lean_box(0);
v_isShared_4990_ = v_isSharedCheck_4994_;
goto v_resetjp_4988_;
}
v_resetjp_4988_:
{
lean_object* v___x_4992_; 
if (v_isShared_4990_ == 0)
{
v___x_4992_ = v___x_4989_;
goto v_reusejp_4991_;
}
else
{
lean_object* v_reuseFailAlloc_4993_; 
v_reuseFailAlloc_4993_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4993_, 0, v_a_4987_);
v___x_4992_ = v_reuseFailAlloc_4993_;
goto v_reusejp_4991_;
}
v_reusejp_4991_:
{
return v___x_4992_;
}
}
}
}
else
{
lean_object* v_a_4995_; lean_object* v___x_4997_; uint8_t v_isShared_4998_; uint8_t v_isSharedCheck_5002_; 
lean_dec(v___y_4876_);
lean_dec_ref(v___y_4875_);
lean_dec(v___y_4874_);
lean_dec_ref(v___y_4873_);
lean_dec_ref(v_k_4872_);
lean_dec(v___x_4867_);
lean_dec_ref(v___x_4866_);
lean_dec(v_head_4865_);
lean_dec_ref(v___x_4861_);
lean_dec_ref(v_P_4860_);
lean_dec(v___x_4858_);
lean_dec_ref(v___x_4853_);
v_a_4995_ = lean_ctor_get(v___x_4894_, 0);
v_isSharedCheck_5002_ = !lean_is_exclusive(v___x_4894_);
if (v_isSharedCheck_5002_ == 0)
{
v___x_4997_ = v___x_4894_;
v_isShared_4998_ = v_isSharedCheck_5002_;
goto v_resetjp_4996_;
}
else
{
lean_inc(v_a_4995_);
lean_dec(v___x_4894_);
v___x_4997_ = lean_box(0);
v_isShared_4998_ = v_isSharedCheck_5002_;
goto v_resetjp_4996_;
}
v_resetjp_4996_:
{
lean_object* v___x_5000_; 
if (v_isShared_4998_ == 0)
{
v___x_5000_ = v___x_4997_;
goto v_reusejp_4999_;
}
else
{
lean_object* v_reuseFailAlloc_5001_; 
v_reuseFailAlloc_5001_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5001_, 0, v_a_4995_);
v___x_5000_ = v_reuseFailAlloc_5001_;
goto v_reusejp_4999_;
}
v_reusejp_4999_:
{
return v___x_5000_;
}
}
}
}
else
{
lean_object* v_a_5003_; lean_object* v___x_5005_; uint8_t v_isShared_5006_; uint8_t v_isSharedCheck_5010_; 
lean_dec(v___y_4876_);
lean_dec_ref(v___y_4875_);
lean_dec(v___y_4874_);
lean_dec_ref(v___y_4873_);
lean_dec_ref(v_k_4872_);
lean_dec(v___x_4867_);
lean_dec_ref(v___x_4866_);
lean_dec(v_head_4865_);
lean_dec_ref(v___x_4861_);
lean_dec_ref(v_P_4860_);
lean_dec(v___x_4858_);
lean_dec_ref(v___x_4853_);
v_a_5003_ = lean_ctor_get(v___x_4890_, 0);
v_isSharedCheck_5010_ = !lean_is_exclusive(v___x_4890_);
if (v_isSharedCheck_5010_ == 0)
{
v___x_5005_ = v___x_4890_;
v_isShared_5006_ = v_isSharedCheck_5010_;
goto v_resetjp_5004_;
}
else
{
lean_inc(v_a_5003_);
lean_dec(v___x_4890_);
v___x_5005_ = lean_box(0);
v_isShared_5006_ = v_isSharedCheck_5010_;
goto v_resetjp_5004_;
}
v_resetjp_5004_:
{
lean_object* v___x_5008_; 
if (v_isShared_5006_ == 0)
{
v___x_5008_ = v___x_5005_;
goto v_reusejp_5007_;
}
else
{
lean_object* v_reuseFailAlloc_5009_; 
v_reuseFailAlloc_5009_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5009_, 0, v_a_5003_);
v___x_5008_ = v_reuseFailAlloc_5009_;
goto v_reusejp_5007_;
}
v_reusejp_5007_:
{
return v___x_5008_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__0___boxed(lean_object** _args){
lean_object* v___x_5011_ = _args[0];
lean_object* v___x_5012_ = _args[1];
lean_object* v___x_5013_ = _args[2];
lean_object* v_xs_5014_ = _args[3];
lean_object* v___x_5015_ = _args[4];
lean_object* v___x_5016_ = _args[5];
lean_object* v___x_5017_ = _args[6];
lean_object* v___x_5018_ = _args[7];
lean_object* v___x_5019_ = _args[8];
lean_object* v___x_5020_ = _args[9];
lean_object* v___x_5021_ = _args[10];
lean_object* v_eqs_5022_ = _args[11];
lean_object* v_P_5023_ = _args[12];
lean_object* v___x_5024_ = _args[13];
lean_object* v_eqvs_5025_ = _args[14];
lean_object* v_a_5026_ = _args[15];
lean_object* v___x_5027_ = _args[16];
lean_object* v_head_5028_ = _args[17];
lean_object* v___x_5029_ = _args[18];
lean_object* v___x_5030_ = _args[19];
lean_object* v_numParams_5031_ = _args[20];
lean_object* v_numFields_5032_ = _args[21];
lean_object* v___x_5033_ = _args[22];
lean_object* v___x_5034_ = _args[23];
lean_object* v_k_5035_ = _args[24];
lean_object* v___y_5036_ = _args[25];
lean_object* v___y_5037_ = _args[26];
lean_object* v___y_5038_ = _args[27];
lean_object* v___y_5039_ = _args[28];
lean_object* v___y_5040_ = _args[29];
_start:
{
uint8_t v_a_18101__boxed_5041_; uint8_t v___x_18102__boxed_5042_; lean_object* v_res_5043_; 
v_a_18101__boxed_5041_ = lean_unbox(v_a_5026_);
v___x_18102__boxed_5042_ = lean_unbox(v___x_5027_);
v_res_5043_ = l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__0(v___x_5011_, v___x_5012_, v___x_5013_, v_xs_5014_, v___x_5015_, v___x_5016_, v___x_5017_, v___x_5018_, v___x_5019_, v___x_5020_, v___x_5021_, v_eqs_5022_, v_P_5023_, v___x_5024_, v_eqvs_5025_, v_a_18101__boxed_5041_, v___x_18102__boxed_5042_, v_head_5028_, v___x_5029_, v___x_5030_, v_numParams_5031_, v_numFields_5032_, v___x_5033_, v___x_5034_, v_k_5035_, v___y_5036_, v___y_5037_, v___y_5038_, v___y_5039_);
lean_dec_ref(v___x_5033_);
lean_dec(v_numFields_5032_);
lean_dec(v_numParams_5031_);
lean_dec_ref(v_eqvs_5025_);
lean_dec_ref(v_eqs_5022_);
lean_dec_ref(v___x_5018_);
lean_dec_ref(v___x_5015_);
lean_dec_ref(v_xs_5014_);
return v_res_5043_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__1(lean_object* v_head_5044_, lean_object* v_P_5045_, lean_object* v___x_5046_, lean_object* v_xs_5047_, lean_object* v_fields2_5048_, lean_object* v___x_5049_, lean_object* v___x_5050_, lean_object* v___x_5051_, lean_object* v___x_5052_, lean_object* v___x_5053_, lean_object* v___x_5054_, lean_object* v___x_5055_, lean_object* v___x_5056_, lean_object* v___x_5057_, lean_object* v___x_5058_, lean_object* v___x_5059_, uint8_t v_a_5060_, uint8_t v___x_5061_, lean_object* v___x_5062_, lean_object* v___x_5063_, lean_object* v_numParams_5064_, lean_object* v_numFields_5065_, lean_object* v___x_5066_, lean_object* v_eqvs_5067_, lean_object* v_eqs_5068_, lean_object* v___y_5069_, lean_object* v___y_5070_, lean_object* v___y_5071_, lean_object* v___y_5072_){
_start:
{
lean_object* v___x_5074_; 
lean_inc(v___y_5072_);
lean_inc_ref(v___y_5071_);
lean_inc(v___y_5070_);
lean_inc_ref(v___y_5069_);
lean_inc_ref(v_P_5045_);
lean_inc(v_head_5044_);
v___x_5074_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg(v_head_5044_, v_P_5045_, v___y_5069_, v___y_5070_, v___y_5071_, v___y_5072_);
if (lean_obj_tag(v___x_5074_) == 0)
{
lean_object* v_a_5075_; lean_object* v___x_5076_; lean_object* v___x_5077_; lean_object* v___x_5078_; lean_object* v___x_5079_; lean_object* v___x_5080_; lean_object* v___f_5081_; lean_object* v___x_5082_; lean_object* v___x_5083_; 
v_a_5075_ = lean_ctor_get(v___x_5074_, 0);
lean_inc(v_a_5075_);
lean_dec_ref(v___x_5074_);
v___x_5076_ = l_Array_append___redArg(v___x_5046_, v_xs_5047_);
v___x_5077_ = l_Array_append___redArg(v___x_5076_, v_fields2_5048_);
v___x_5078_ = l_Lean_Expr_beta(v_a_5075_, v___x_5077_);
v___x_5079_ = lean_box(v_a_5060_);
v___x_5080_ = lean_box(v___x_5061_);
lean_inc_ref(v___x_5078_);
v___f_5081_ = lean_alloc_closure((void*)(l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__0___boxed), 30, 24);
lean_closure_set(v___f_5081_, 0, v___x_5049_);
lean_closure_set(v___f_5081_, 1, v___x_5050_);
lean_closure_set(v___f_5081_, 2, v___x_5051_);
lean_closure_set(v___f_5081_, 3, v_xs_5047_);
lean_closure_set(v___f_5081_, 4, v___x_5052_);
lean_closure_set(v___f_5081_, 5, v___x_5053_);
lean_closure_set(v___f_5081_, 6, v___x_5054_);
lean_closure_set(v___f_5081_, 7, v___x_5055_);
lean_closure_set(v___f_5081_, 8, v___x_5056_);
lean_closure_set(v___f_5081_, 9, v___x_5057_);
lean_closure_set(v___f_5081_, 10, v___x_5058_);
lean_closure_set(v___f_5081_, 11, v_eqs_5068_);
lean_closure_set(v___f_5081_, 12, v_P_5045_);
lean_closure_set(v___f_5081_, 13, v___x_5059_);
lean_closure_set(v___f_5081_, 14, v_eqvs_5067_);
lean_closure_set(v___f_5081_, 15, v___x_5079_);
lean_closure_set(v___f_5081_, 16, v___x_5080_);
lean_closure_set(v___f_5081_, 17, v_head_5044_);
lean_closure_set(v___f_5081_, 18, v___x_5062_);
lean_closure_set(v___f_5081_, 19, v___x_5063_);
lean_closure_set(v___f_5081_, 20, v_numParams_5064_);
lean_closure_set(v___f_5081_, 21, v_numFields_5065_);
lean_closure_set(v___f_5081_, 22, v___x_5078_);
lean_closure_set(v___f_5081_, 23, v___x_5066_);
v___x_5082_ = ((lean_object*)(l_List_mapM_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__1___lam__1___closed__1));
v___x_5083_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg(v___x_5082_, v___x_5078_, v___f_5081_, v___y_5069_, v___y_5070_, v___y_5071_, v___y_5072_);
return v___x_5083_;
}
else
{
lean_object* v_a_5084_; lean_object* v___x_5086_; uint8_t v_isShared_5087_; uint8_t v_isSharedCheck_5091_; 
lean_dec(v___y_5072_);
lean_dec_ref(v___y_5071_);
lean_dec(v___y_5070_);
lean_dec_ref(v___y_5069_);
lean_dec_ref(v_eqs_5068_);
lean_dec_ref(v_eqvs_5067_);
lean_dec(v_numFields_5065_);
lean_dec(v_numParams_5064_);
lean_dec(v___x_5063_);
lean_dec_ref(v___x_5062_);
lean_dec_ref(v___x_5059_);
lean_dec(v___x_5058_);
lean_dec(v___x_5057_);
lean_dec_ref(v___x_5056_);
lean_dec_ref(v___x_5055_);
lean_dec_ref(v___x_5054_);
lean_dec_ref(v___x_5053_);
lean_dec_ref(v___x_5052_);
lean_dec_ref(v___x_5051_);
lean_dec(v___x_5050_);
lean_dec(v___x_5049_);
lean_dec_ref(v_xs_5047_);
lean_dec_ref(v___x_5046_);
lean_dec_ref(v_P_5045_);
lean_dec(v_head_5044_);
v_a_5084_ = lean_ctor_get(v___x_5074_, 0);
v_isSharedCheck_5091_ = !lean_is_exclusive(v___x_5074_);
if (v_isSharedCheck_5091_ == 0)
{
v___x_5086_ = v___x_5074_;
v_isShared_5087_ = v_isSharedCheck_5091_;
goto v_resetjp_5085_;
}
else
{
lean_inc(v_a_5084_);
lean_dec(v___x_5074_);
v___x_5086_ = lean_box(0);
v_isShared_5087_ = v_isSharedCheck_5091_;
goto v_resetjp_5085_;
}
v_resetjp_5085_:
{
lean_object* v___x_5089_; 
if (v_isShared_5087_ == 0)
{
v___x_5089_ = v___x_5086_;
goto v_reusejp_5088_;
}
else
{
lean_object* v_reuseFailAlloc_5090_; 
v_reuseFailAlloc_5090_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5090_, 0, v_a_5084_);
v___x_5089_ = v_reuseFailAlloc_5090_;
goto v_reusejp_5088_;
}
v_reusejp_5088_:
{
return v___x_5089_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__1___boxed(lean_object** _args){
lean_object* v_head_5092_ = _args[0];
lean_object* v_P_5093_ = _args[1];
lean_object* v___x_5094_ = _args[2];
lean_object* v_xs_5095_ = _args[3];
lean_object* v_fields2_5096_ = _args[4];
lean_object* v___x_5097_ = _args[5];
lean_object* v___x_5098_ = _args[6];
lean_object* v___x_5099_ = _args[7];
lean_object* v___x_5100_ = _args[8];
lean_object* v___x_5101_ = _args[9];
lean_object* v___x_5102_ = _args[10];
lean_object* v___x_5103_ = _args[11];
lean_object* v___x_5104_ = _args[12];
lean_object* v___x_5105_ = _args[13];
lean_object* v___x_5106_ = _args[14];
lean_object* v___x_5107_ = _args[15];
lean_object* v_a_5108_ = _args[16];
lean_object* v___x_5109_ = _args[17];
lean_object* v___x_5110_ = _args[18];
lean_object* v___x_5111_ = _args[19];
lean_object* v_numParams_5112_ = _args[20];
lean_object* v_numFields_5113_ = _args[21];
lean_object* v___x_5114_ = _args[22];
lean_object* v_eqvs_5115_ = _args[23];
lean_object* v_eqs_5116_ = _args[24];
lean_object* v___y_5117_ = _args[25];
lean_object* v___y_5118_ = _args[26];
lean_object* v___y_5119_ = _args[27];
lean_object* v___y_5120_ = _args[28];
lean_object* v___y_5121_ = _args[29];
_start:
{
uint8_t v_a_18422__boxed_5122_; uint8_t v___x_18423__boxed_5123_; lean_object* v_res_5124_; 
v_a_18422__boxed_5122_ = lean_unbox(v_a_5108_);
v___x_18423__boxed_5123_ = lean_unbox(v___x_5109_);
v_res_5124_ = l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__1(v_head_5092_, v_P_5093_, v___x_5094_, v_xs_5095_, v_fields2_5096_, v___x_5097_, v___x_5098_, v___x_5099_, v___x_5100_, v___x_5101_, v___x_5102_, v___x_5103_, v___x_5104_, v___x_5105_, v___x_5106_, v___x_5107_, v_a_18422__boxed_5122_, v___x_18423__boxed_5123_, v___x_5110_, v___x_5111_, v_numParams_5112_, v_numFields_5113_, v___x_5114_, v_eqvs_5115_, v_eqs_5116_, v___y_5117_, v___y_5118_, v___y_5119_, v___y_5120_);
lean_dec_ref(v_fields2_5096_);
return v_res_5124_;
}
}
static lean_object* _init_l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__2___closed__0(void){
_start:
{
lean_object* v___x_5125_; lean_object* v_dummy_5126_; 
v___x_5125_ = lean_box(0);
v_dummy_5126_ = l_Lean_Expr_sort___override(v___x_5125_);
return v_dummy_5126_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__2(lean_object* v___x_5127_, lean_object* v_val_5128_, lean_object* v___x_5129_, lean_object* v_head_5130_, lean_object* v_P_5131_, lean_object* v___x_5132_, lean_object* v_xs_5133_, lean_object* v_fields2_5134_, lean_object* v___x_5135_, lean_object* v___x_5136_, lean_object* v___x_5137_, lean_object* v___x_5138_, lean_object* v___x_5139_, lean_object* v___x_5140_, lean_object* v___x_5141_, uint8_t v_a_5142_, uint8_t v___x_5143_, lean_object* v___x_5144_, lean_object* v___x_5145_, lean_object* v_numParams_5146_, lean_object* v_numFields_5147_, lean_object* v___x_5148_, lean_object* v___y_5149_, lean_object* v___y_5150_, lean_object* v___y_5151_, lean_object* v___y_5152_){
_start:
{
lean_object* v___x_5154_; 
lean_inc(v___y_5152_);
lean_inc_ref(v___y_5151_);
lean_inc(v___y_5150_);
lean_inc_ref(v___y_5149_);
lean_inc_ref(v___x_5127_);
v___x_5154_ = lean_infer_type(v___x_5127_, v___y_5149_, v___y_5150_, v___y_5151_, v___y_5152_);
if (lean_obj_tag(v___x_5154_) == 0)
{
lean_object* v_a_5155_; lean_object* v___x_5156_; 
v_a_5155_ = lean_ctor_get(v___x_5154_, 0);
lean_inc(v_a_5155_);
lean_dec_ref(v___x_5154_);
lean_inc(v___y_5152_);
lean_inc_ref(v___y_5151_);
lean_inc(v___y_5150_);
lean_inc_ref(v___y_5149_);
v___x_5156_ = lean_whnf(v_a_5155_, v___y_5149_, v___y_5150_, v___y_5151_, v___y_5152_);
if (lean_obj_tag(v___x_5156_) == 0)
{
lean_object* v_a_5157_; lean_object* v_numIndices_5158_; lean_object* v___x_5159_; 
v_a_5157_ = lean_ctor_get(v___x_5156_, 0);
lean_inc(v_a_5157_);
lean_dec_ref(v___x_5156_);
v_numIndices_5158_ = lean_ctor_get(v_val_5128_, 2);
lean_inc(v_numIndices_5158_);
lean_dec_ref(v_val_5128_);
lean_inc(v___y_5152_);
lean_inc_ref(v___y_5151_);
lean_inc(v___y_5150_);
lean_inc_ref(v___y_5149_);
lean_inc_ref(v___x_5129_);
v___x_5159_ = lean_infer_type(v___x_5129_, v___y_5149_, v___y_5150_, v___y_5151_, v___y_5152_);
if (lean_obj_tag(v___x_5159_) == 0)
{
lean_object* v_a_5160_; lean_object* v___x_5161_; 
v_a_5160_ = lean_ctor_get(v___x_5159_, 0);
lean_inc(v_a_5160_);
lean_dec_ref(v___x_5159_);
lean_inc(v___y_5152_);
lean_inc_ref(v___y_5151_);
lean_inc(v___y_5150_);
lean_inc_ref(v___y_5149_);
v___x_5161_ = lean_whnf(v_a_5160_, v___y_5149_, v___y_5150_, v___y_5151_, v___y_5152_);
if (lean_obj_tag(v___x_5161_) == 0)
{
lean_object* v_a_5162_; lean_object* v_dummy_5163_; lean_object* v___x_5164_; lean_object* v___x_5165_; lean_object* v___x_5166_; lean_object* v___x_5167_; lean_object* v___x_5168_; lean_object* v___f_5169_; lean_object* v___x_5170_; lean_object* v___x_5171_; lean_object* v___x_5172_; 
v_a_5162_ = lean_ctor_get(v___x_5161_, 0);
lean_inc(v_a_5162_);
lean_dec_ref(v___x_5161_);
v_dummy_5163_ = lean_obj_once(&l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__2___closed__0, &l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__2___closed__0_once, _init_l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__2___closed__0);
lean_inc(v_numIndices_5158_);
v___x_5164_ = lean_mk_array(v_numIndices_5158_, v_dummy_5163_);
lean_inc_ref(v___x_5164_);
lean_inc(v_numIndices_5158_);
v___x_5165_ = l___private_Lean_Expr_0__Lean_Expr_getAppArgsN_loop(v_numIndices_5158_, v_a_5157_, v___x_5164_);
v___x_5166_ = l___private_Lean_Expr_0__Lean_Expr_getAppArgsN_loop(v_numIndices_5158_, v_a_5162_, v___x_5164_);
v___x_5167_ = lean_box(v_a_5142_);
v___x_5168_ = lean_box(v___x_5143_);
lean_inc_ref(v___x_5129_);
lean_inc_ref(v___x_5166_);
lean_inc_ref(v___x_5127_);
lean_inc_ref(v___x_5165_);
v___f_5169_ = lean_alloc_closure((void*)(l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__1___boxed), 30, 23);
lean_closure_set(v___f_5169_, 0, v_head_5130_);
lean_closure_set(v___f_5169_, 1, v_P_5131_);
lean_closure_set(v___f_5169_, 2, v___x_5132_);
lean_closure_set(v___f_5169_, 3, v_xs_5133_);
lean_closure_set(v___f_5169_, 4, v_fields2_5134_);
lean_closure_set(v___f_5169_, 5, v___x_5135_);
lean_closure_set(v___f_5169_, 6, v___x_5136_);
lean_closure_set(v___f_5169_, 7, v___x_5137_);
lean_closure_set(v___f_5169_, 8, v___x_5165_);
lean_closure_set(v___f_5169_, 9, v___x_5138_);
lean_closure_set(v___f_5169_, 10, v___x_5127_);
lean_closure_set(v___f_5169_, 11, v___x_5166_);
lean_closure_set(v___f_5169_, 12, v___x_5129_);
lean_closure_set(v___f_5169_, 13, v___x_5139_);
lean_closure_set(v___f_5169_, 14, v___x_5140_);
lean_closure_set(v___f_5169_, 15, v___x_5141_);
lean_closure_set(v___f_5169_, 16, v___x_5167_);
lean_closure_set(v___f_5169_, 17, v___x_5168_);
lean_closure_set(v___f_5169_, 18, v___x_5144_);
lean_closure_set(v___f_5169_, 19, v___x_5145_);
lean_closure_set(v___f_5169_, 20, v_numParams_5146_);
lean_closure_set(v___f_5169_, 21, v_numFields_5147_);
lean_closure_set(v___f_5169_, 22, v___x_5148_);
v___x_5170_ = lean_array_push(v___x_5165_, v___x_5127_);
v___x_5171_ = lean_array_push(v___x_5166_, v___x_5129_);
v___x_5172_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_withNeededEqTelescope___redArg(v___x_5170_, v___x_5171_, v___f_5169_, v___y_5149_, v___y_5150_, v___y_5151_, v___y_5152_);
return v___x_5172_;
}
else
{
lean_object* v_a_5173_; lean_object* v___x_5175_; uint8_t v_isShared_5176_; uint8_t v_isSharedCheck_5180_; 
lean_dec(v_numIndices_5158_);
lean_dec(v_a_5157_);
lean_dec(v___y_5152_);
lean_dec_ref(v___y_5151_);
lean_dec(v___y_5150_);
lean_dec_ref(v___y_5149_);
lean_dec(v_numFields_5147_);
lean_dec(v_numParams_5146_);
lean_dec(v___x_5145_);
lean_dec_ref(v___x_5144_);
lean_dec_ref(v___x_5141_);
lean_dec(v___x_5140_);
lean_dec(v___x_5139_);
lean_dec_ref(v___x_5138_);
lean_dec_ref(v___x_5137_);
lean_dec(v___x_5136_);
lean_dec(v___x_5135_);
lean_dec_ref(v_fields2_5134_);
lean_dec_ref(v_xs_5133_);
lean_dec_ref(v___x_5132_);
lean_dec_ref(v_P_5131_);
lean_dec(v_head_5130_);
lean_dec_ref(v___x_5129_);
lean_dec_ref(v___x_5127_);
v_a_5173_ = lean_ctor_get(v___x_5161_, 0);
v_isSharedCheck_5180_ = !lean_is_exclusive(v___x_5161_);
if (v_isSharedCheck_5180_ == 0)
{
v___x_5175_ = v___x_5161_;
v_isShared_5176_ = v_isSharedCheck_5180_;
goto v_resetjp_5174_;
}
else
{
lean_inc(v_a_5173_);
lean_dec(v___x_5161_);
v___x_5175_ = lean_box(0);
v_isShared_5176_ = v_isSharedCheck_5180_;
goto v_resetjp_5174_;
}
v_resetjp_5174_:
{
lean_object* v___x_5178_; 
if (v_isShared_5176_ == 0)
{
v___x_5178_ = v___x_5175_;
goto v_reusejp_5177_;
}
else
{
lean_object* v_reuseFailAlloc_5179_; 
v_reuseFailAlloc_5179_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5179_, 0, v_a_5173_);
v___x_5178_ = v_reuseFailAlloc_5179_;
goto v_reusejp_5177_;
}
v_reusejp_5177_:
{
return v___x_5178_;
}
}
}
}
else
{
lean_object* v_a_5181_; lean_object* v___x_5183_; uint8_t v_isShared_5184_; uint8_t v_isSharedCheck_5188_; 
lean_dec(v_numIndices_5158_);
lean_dec(v_a_5157_);
lean_dec(v___y_5152_);
lean_dec_ref(v___y_5151_);
lean_dec(v___y_5150_);
lean_dec_ref(v___y_5149_);
lean_dec(v_numFields_5147_);
lean_dec(v_numParams_5146_);
lean_dec(v___x_5145_);
lean_dec_ref(v___x_5144_);
lean_dec_ref(v___x_5141_);
lean_dec(v___x_5140_);
lean_dec(v___x_5139_);
lean_dec_ref(v___x_5138_);
lean_dec_ref(v___x_5137_);
lean_dec(v___x_5136_);
lean_dec(v___x_5135_);
lean_dec_ref(v_fields2_5134_);
lean_dec_ref(v_xs_5133_);
lean_dec_ref(v___x_5132_);
lean_dec_ref(v_P_5131_);
lean_dec(v_head_5130_);
lean_dec_ref(v___x_5129_);
lean_dec_ref(v___x_5127_);
v_a_5181_ = lean_ctor_get(v___x_5159_, 0);
v_isSharedCheck_5188_ = !lean_is_exclusive(v___x_5159_);
if (v_isSharedCheck_5188_ == 0)
{
v___x_5183_ = v___x_5159_;
v_isShared_5184_ = v_isSharedCheck_5188_;
goto v_resetjp_5182_;
}
else
{
lean_inc(v_a_5181_);
lean_dec(v___x_5159_);
v___x_5183_ = lean_box(0);
v_isShared_5184_ = v_isSharedCheck_5188_;
goto v_resetjp_5182_;
}
v_resetjp_5182_:
{
lean_object* v___x_5186_; 
if (v_isShared_5184_ == 0)
{
v___x_5186_ = v___x_5183_;
goto v_reusejp_5185_;
}
else
{
lean_object* v_reuseFailAlloc_5187_; 
v_reuseFailAlloc_5187_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5187_, 0, v_a_5181_);
v___x_5186_ = v_reuseFailAlloc_5187_;
goto v_reusejp_5185_;
}
v_reusejp_5185_:
{
return v___x_5186_;
}
}
}
}
else
{
lean_object* v_a_5189_; lean_object* v___x_5191_; uint8_t v_isShared_5192_; uint8_t v_isSharedCheck_5196_; 
lean_dec(v___y_5152_);
lean_dec_ref(v___y_5151_);
lean_dec(v___y_5150_);
lean_dec_ref(v___y_5149_);
lean_dec(v_numFields_5147_);
lean_dec(v_numParams_5146_);
lean_dec(v___x_5145_);
lean_dec_ref(v___x_5144_);
lean_dec_ref(v___x_5141_);
lean_dec(v___x_5140_);
lean_dec(v___x_5139_);
lean_dec_ref(v___x_5138_);
lean_dec_ref(v___x_5137_);
lean_dec(v___x_5136_);
lean_dec(v___x_5135_);
lean_dec_ref(v_fields2_5134_);
lean_dec_ref(v_xs_5133_);
lean_dec_ref(v___x_5132_);
lean_dec_ref(v_P_5131_);
lean_dec(v_head_5130_);
lean_dec_ref(v___x_5129_);
lean_dec_ref(v_val_5128_);
lean_dec_ref(v___x_5127_);
v_a_5189_ = lean_ctor_get(v___x_5156_, 0);
v_isSharedCheck_5196_ = !lean_is_exclusive(v___x_5156_);
if (v_isSharedCheck_5196_ == 0)
{
v___x_5191_ = v___x_5156_;
v_isShared_5192_ = v_isSharedCheck_5196_;
goto v_resetjp_5190_;
}
else
{
lean_inc(v_a_5189_);
lean_dec(v___x_5156_);
v___x_5191_ = lean_box(0);
v_isShared_5192_ = v_isSharedCheck_5196_;
goto v_resetjp_5190_;
}
v_resetjp_5190_:
{
lean_object* v___x_5194_; 
if (v_isShared_5192_ == 0)
{
v___x_5194_ = v___x_5191_;
goto v_reusejp_5193_;
}
else
{
lean_object* v_reuseFailAlloc_5195_; 
v_reuseFailAlloc_5195_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5195_, 0, v_a_5189_);
v___x_5194_ = v_reuseFailAlloc_5195_;
goto v_reusejp_5193_;
}
v_reusejp_5193_:
{
return v___x_5194_;
}
}
}
}
else
{
lean_object* v_a_5197_; lean_object* v___x_5199_; uint8_t v_isShared_5200_; uint8_t v_isSharedCheck_5204_; 
lean_dec(v___y_5152_);
lean_dec_ref(v___y_5151_);
lean_dec(v___y_5150_);
lean_dec_ref(v___y_5149_);
lean_dec(v_numFields_5147_);
lean_dec(v_numParams_5146_);
lean_dec(v___x_5145_);
lean_dec_ref(v___x_5144_);
lean_dec_ref(v___x_5141_);
lean_dec(v___x_5140_);
lean_dec(v___x_5139_);
lean_dec_ref(v___x_5138_);
lean_dec_ref(v___x_5137_);
lean_dec(v___x_5136_);
lean_dec(v___x_5135_);
lean_dec_ref(v_fields2_5134_);
lean_dec_ref(v_xs_5133_);
lean_dec_ref(v___x_5132_);
lean_dec_ref(v_P_5131_);
lean_dec(v_head_5130_);
lean_dec_ref(v___x_5129_);
lean_dec_ref(v_val_5128_);
lean_dec_ref(v___x_5127_);
v_a_5197_ = lean_ctor_get(v___x_5154_, 0);
v_isSharedCheck_5204_ = !lean_is_exclusive(v___x_5154_);
if (v_isSharedCheck_5204_ == 0)
{
v___x_5199_ = v___x_5154_;
v_isShared_5200_ = v_isSharedCheck_5204_;
goto v_resetjp_5198_;
}
else
{
lean_inc(v_a_5197_);
lean_dec(v___x_5154_);
v___x_5199_ = lean_box(0);
v_isShared_5200_ = v_isSharedCheck_5204_;
goto v_resetjp_5198_;
}
v_resetjp_5198_:
{
lean_object* v___x_5202_; 
if (v_isShared_5200_ == 0)
{
v___x_5202_ = v___x_5199_;
goto v_reusejp_5201_;
}
else
{
lean_object* v_reuseFailAlloc_5203_; 
v_reuseFailAlloc_5203_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5203_, 0, v_a_5197_);
v___x_5202_ = v_reuseFailAlloc_5203_;
goto v_reusejp_5201_;
}
v_reusejp_5201_:
{
return v___x_5202_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__2___boxed(lean_object** _args){
lean_object* v___x_5205_ = _args[0];
lean_object* v_val_5206_ = _args[1];
lean_object* v___x_5207_ = _args[2];
lean_object* v_head_5208_ = _args[3];
lean_object* v_P_5209_ = _args[4];
lean_object* v___x_5210_ = _args[5];
lean_object* v_xs_5211_ = _args[6];
lean_object* v_fields2_5212_ = _args[7];
lean_object* v___x_5213_ = _args[8];
lean_object* v___x_5214_ = _args[9];
lean_object* v___x_5215_ = _args[10];
lean_object* v___x_5216_ = _args[11];
lean_object* v___x_5217_ = _args[12];
lean_object* v___x_5218_ = _args[13];
lean_object* v___x_5219_ = _args[14];
lean_object* v_a_5220_ = _args[15];
lean_object* v___x_5221_ = _args[16];
lean_object* v___x_5222_ = _args[17];
lean_object* v___x_5223_ = _args[18];
lean_object* v_numParams_5224_ = _args[19];
lean_object* v_numFields_5225_ = _args[20];
lean_object* v___x_5226_ = _args[21];
lean_object* v___y_5227_ = _args[22];
lean_object* v___y_5228_ = _args[23];
lean_object* v___y_5229_ = _args[24];
lean_object* v___y_5230_ = _args[25];
lean_object* v___y_5231_ = _args[26];
_start:
{
uint8_t v_a_18529__boxed_5232_; uint8_t v___x_18530__boxed_5233_; lean_object* v_res_5234_; 
v_a_18529__boxed_5232_ = lean_unbox(v_a_5220_);
v___x_18530__boxed_5233_ = lean_unbox(v___x_5221_);
v_res_5234_ = l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__2(v___x_5205_, v_val_5206_, v___x_5207_, v_head_5208_, v_P_5209_, v___x_5210_, v_xs_5211_, v_fields2_5212_, v___x_5213_, v___x_5214_, v___x_5215_, v___x_5216_, v___x_5217_, v___x_5218_, v___x_5219_, v_a_18529__boxed_5232_, v___x_18530__boxed_5233_, v___x_5222_, v___x_5223_, v_numParams_5224_, v_numFields_5225_, v___x_5226_, v___y_5227_, v___y_5228_, v___y_5229_, v___y_5230_);
return v_res_5234_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__3(lean_object* v_P_5235_, lean_object* v_xs_5236_, lean_object* v_fields1_5237_, lean_object* v_head_5238_, lean_object* v_tail_5239_, lean_object* v_val_5240_, lean_object* v___x_5241_, lean_object* v___x_5242_, lean_object* v___x_5243_, uint8_t v_a_5244_, uint8_t v___x_5245_, lean_object* v___x_5246_, lean_object* v___x_5247_, lean_object* v_numParams_5248_, lean_object* v_numFields_5249_, lean_object* v___x_5250_, lean_object* v_fields2_5251_, lean_object* v_x_5252_, lean_object* v___y_5253_, lean_object* v___y_5254_, lean_object* v___y_5255_, lean_object* v___y_5256_){
_start:
{
lean_object* v___x_5258_; lean_object* v___x_5259_; lean_object* v___x_5260_; lean_object* v___x_5261_; lean_object* v___x_5262_; lean_object* v___x_5263_; lean_object* v___x_5264_; lean_object* v___x_5265_; lean_object* v___x_5266_; lean_object* v___x_5267_; lean_object* v___x_5268_; lean_object* v___x_5269_; lean_object* v___x_5270_; lean_object* v___f_5271_; lean_object* v___x_5272_; lean_object* v___x_5273_; 
v___x_5258_ = lean_unsigned_to_nat(1u);
v___x_5259_ = lean_mk_empty_array_with_capacity(v___x_5258_);
lean_inc_ref(v_P_5235_);
lean_inc_ref(v___x_5259_);
v___x_5260_ = lean_array_push(v___x_5259_, v_P_5235_);
lean_inc_ref(v_xs_5236_);
v___x_5261_ = l_Array_append___redArg(v_xs_5236_, v___x_5260_);
v___x_5262_ = l_Array_append___redArg(v___x_5261_, v_fields1_5237_);
v___x_5263_ = l_Array_append___redArg(v___x_5262_, v_fields2_5251_);
lean_inc(v_head_5238_);
v___x_5264_ = l_Lean_mkConst(v_head_5238_, v_tail_5239_);
lean_inc_ref(v_xs_5236_);
v___x_5265_ = l_Array_append___redArg(v_xs_5236_, v_fields1_5237_);
lean_inc_ref(v___x_5264_);
v___x_5266_ = l_Lean_mkAppN(v___x_5264_, v___x_5265_);
lean_inc_ref(v_xs_5236_);
v___x_5267_ = l_Array_append___redArg(v_xs_5236_, v_fields2_5251_);
v___x_5268_ = l_Lean_mkAppN(v___x_5264_, v___x_5267_);
lean_dec_ref(v___x_5267_);
v___x_5269_ = lean_box(v_a_5244_);
v___x_5270_ = lean_box(v___x_5245_);
lean_inc_ref(v___x_5263_);
lean_inc_ref(v_fields2_5251_);
v___f_5271_ = lean_alloc_closure((void*)(l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__2___boxed), 27, 22);
lean_closure_set(v___f_5271_, 0, v___x_5266_);
lean_closure_set(v___f_5271_, 1, v_val_5240_);
lean_closure_set(v___f_5271_, 2, v___x_5268_);
lean_closure_set(v___f_5271_, 3, v_head_5238_);
lean_closure_set(v___f_5271_, 4, v_P_5235_);
lean_closure_set(v___f_5271_, 5, v___x_5265_);
lean_closure_set(v___f_5271_, 6, v_xs_5236_);
lean_closure_set(v___f_5271_, 7, v_fields2_5251_);
lean_closure_set(v___f_5271_, 8, v___x_5241_);
lean_closure_set(v___f_5271_, 9, v___x_5242_);
lean_closure_set(v___f_5271_, 10, v___x_5260_);
lean_closure_set(v___f_5271_, 11, v___x_5259_);
lean_closure_set(v___f_5271_, 12, v___x_5243_);
lean_closure_set(v___f_5271_, 13, v___x_5258_);
lean_closure_set(v___f_5271_, 14, v___x_5263_);
lean_closure_set(v___f_5271_, 15, v___x_5269_);
lean_closure_set(v___f_5271_, 16, v___x_5270_);
lean_closure_set(v___f_5271_, 17, v___x_5246_);
lean_closure_set(v___f_5271_, 18, v___x_5247_);
lean_closure_set(v___f_5271_, 19, v_numParams_5248_);
lean_closure_set(v___f_5271_, 20, v_numFields_5249_);
lean_closure_set(v___f_5271_, 21, v___x_5250_);
v___x_5272_ = lean_alloc_closure((void*)(l_Lean_Meta_withImplicitBinderInfos___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp_spec__2___boxed), 8, 3);
lean_closure_set(v___x_5272_, 0, lean_box(0));
lean_closure_set(v___x_5272_, 1, v___x_5263_);
lean_closure_set(v___x_5272_, 2, v___f_5271_);
v___x_5273_ = l_Lean_Meta_withPrimedNames___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__2___redArg(v_fields2_5251_, v___x_5272_, v___y_5253_, v___y_5254_, v___y_5255_, v___y_5256_);
return v___x_5273_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__3___boxed(lean_object** _args){
lean_object* v_P_5274_ = _args[0];
lean_object* v_xs_5275_ = _args[1];
lean_object* v_fields1_5276_ = _args[2];
lean_object* v_head_5277_ = _args[3];
lean_object* v_tail_5278_ = _args[4];
lean_object* v_val_5279_ = _args[5];
lean_object* v___x_5280_ = _args[6];
lean_object* v___x_5281_ = _args[7];
lean_object* v___x_5282_ = _args[8];
lean_object* v_a_5283_ = _args[9];
lean_object* v___x_5284_ = _args[10];
lean_object* v___x_5285_ = _args[11];
lean_object* v___x_5286_ = _args[12];
lean_object* v_numParams_5287_ = _args[13];
lean_object* v_numFields_5288_ = _args[14];
lean_object* v___x_5289_ = _args[15];
lean_object* v_fields2_5290_ = _args[16];
lean_object* v_x_5291_ = _args[17];
lean_object* v___y_5292_ = _args[18];
lean_object* v___y_5293_ = _args[19];
lean_object* v___y_5294_ = _args[20];
lean_object* v___y_5295_ = _args[21];
lean_object* v___y_5296_ = _args[22];
_start:
{
uint8_t v_a_18688__boxed_5297_; uint8_t v___x_18689__boxed_5298_; lean_object* v_res_5299_; 
v_a_18688__boxed_5297_ = lean_unbox(v_a_5283_);
v___x_18689__boxed_5298_ = lean_unbox(v___x_5284_);
v_res_5299_ = l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__3(v_P_5274_, v_xs_5275_, v_fields1_5276_, v_head_5277_, v_tail_5278_, v_val_5279_, v___x_5280_, v___x_5281_, v___x_5282_, v_a_18688__boxed_5297_, v___x_18689__boxed_5298_, v___x_5285_, v___x_5286_, v_numParams_5287_, v_numFields_5288_, v___x_5289_, v_fields2_5290_, v_x_5291_, v___y_5292_, v___y_5293_, v___y_5294_, v___y_5295_);
lean_dec_ref(v_x_5291_);
lean_dec_ref(v_fields1_5276_);
return v_res_5299_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__4(lean_object* v_P_5300_, lean_object* v_xs_5301_, lean_object* v_head_5302_, lean_object* v_tail_5303_, lean_object* v_val_5304_, lean_object* v___x_5305_, lean_object* v___x_5306_, lean_object* v___x_5307_, uint8_t v_a_5308_, uint8_t v___x_5309_, lean_object* v___x_5310_, lean_object* v___x_5311_, lean_object* v_numParams_5312_, lean_object* v_numFields_5313_, lean_object* v___x_5314_, lean_object* v_t_5315_, lean_object* v___x_5316_, lean_object* v_fields1_5317_, lean_object* v_x_5318_, lean_object* v___y_5319_, lean_object* v___y_5320_, lean_object* v___y_5321_, lean_object* v___y_5322_){
_start:
{
lean_object* v___x_5324_; lean_object* v___x_5325_; lean_object* v___f_5326_; lean_object* v___x_5327_; 
v___x_5324_ = lean_box(v_a_5308_);
v___x_5325_ = lean_box(v___x_5309_);
v___f_5326_ = lean_alloc_closure((void*)(l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__3___boxed), 23, 16);
lean_closure_set(v___f_5326_, 0, v_P_5300_);
lean_closure_set(v___f_5326_, 1, v_xs_5301_);
lean_closure_set(v___f_5326_, 2, v_fields1_5317_);
lean_closure_set(v___f_5326_, 3, v_head_5302_);
lean_closure_set(v___f_5326_, 4, v_tail_5303_);
lean_closure_set(v___f_5326_, 5, v_val_5304_);
lean_closure_set(v___f_5326_, 6, v___x_5305_);
lean_closure_set(v___f_5326_, 7, v___x_5306_);
lean_closure_set(v___f_5326_, 8, v___x_5307_);
lean_closure_set(v___f_5326_, 9, v___x_5324_);
lean_closure_set(v___f_5326_, 10, v___x_5325_);
lean_closure_set(v___f_5326_, 11, v___x_5310_);
lean_closure_set(v___f_5326_, 12, v___x_5311_);
lean_closure_set(v___f_5326_, 13, v_numParams_5312_);
lean_closure_set(v___f_5326_, 14, v_numFields_5313_);
lean_closure_set(v___f_5326_, 15, v___x_5314_);
v___x_5327_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___redArg(v_t_5315_, v___x_5316_, v___f_5326_, v_a_5308_, v_a_5308_, v___y_5319_, v___y_5320_, v___y_5321_, v___y_5322_);
return v___x_5327_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__4___boxed(lean_object** _args){
lean_object* v_P_5328_ = _args[0];
lean_object* v_xs_5329_ = _args[1];
lean_object* v_head_5330_ = _args[2];
lean_object* v_tail_5331_ = _args[3];
lean_object* v_val_5332_ = _args[4];
lean_object* v___x_5333_ = _args[5];
lean_object* v___x_5334_ = _args[6];
lean_object* v___x_5335_ = _args[7];
lean_object* v_a_5336_ = _args[8];
lean_object* v___x_5337_ = _args[9];
lean_object* v___x_5338_ = _args[10];
lean_object* v___x_5339_ = _args[11];
lean_object* v_numParams_5340_ = _args[12];
lean_object* v_numFields_5341_ = _args[13];
lean_object* v___x_5342_ = _args[14];
lean_object* v_t_5343_ = _args[15];
lean_object* v___x_5344_ = _args[16];
lean_object* v_fields1_5345_ = _args[17];
lean_object* v_x_5346_ = _args[18];
lean_object* v___y_5347_ = _args[19];
lean_object* v___y_5348_ = _args[20];
lean_object* v___y_5349_ = _args[21];
lean_object* v___y_5350_ = _args[22];
lean_object* v___y_5351_ = _args[23];
_start:
{
uint8_t v_a_18771__boxed_5352_; uint8_t v___x_18772__boxed_5353_; lean_object* v_res_5354_; 
v_a_18771__boxed_5352_ = lean_unbox(v_a_5336_);
v___x_18772__boxed_5353_ = lean_unbox(v___x_5337_);
v_res_5354_ = l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__4(v_P_5328_, v_xs_5329_, v_head_5330_, v_tail_5331_, v_val_5332_, v___x_5333_, v___x_5334_, v___x_5335_, v_a_18771__boxed_5352_, v___x_18772__boxed_5353_, v___x_5338_, v___x_5339_, v_numParams_5340_, v_numFields_5341_, v___x_5342_, v_t_5343_, v___x_5344_, v_fields1_5345_, v_x_5346_, v___y_5347_, v___y_5348_, v___y_5349_, v___y_5350_);
lean_dec_ref(v_x_5346_);
return v_res_5354_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__5(lean_object* v_numFields_5355_, lean_object* v_xs_5356_, lean_object* v_head_5357_, lean_object* v_tail_5358_, lean_object* v_val_5359_, lean_object* v___x_5360_, lean_object* v___x_5361_, lean_object* v___x_5362_, uint8_t v_a_5363_, uint8_t v___x_5364_, lean_object* v___x_5365_, lean_object* v___x_5366_, lean_object* v_numParams_5367_, lean_object* v___x_5368_, lean_object* v_t_5369_, lean_object* v_P_5370_, lean_object* v___y_5371_, lean_object* v___y_5372_, lean_object* v___y_5373_, lean_object* v___y_5374_){
_start:
{
lean_object* v___x_5376_; lean_object* v___x_5377_; lean_object* v___x_5378_; lean_object* v___f_5379_; lean_object* v___x_5380_; 
lean_inc(v_numFields_5355_);
v___x_5376_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_5376_, 0, v_numFields_5355_);
v___x_5377_ = lean_box(v_a_5363_);
v___x_5378_ = lean_box(v___x_5364_);
lean_inc_ref(v___x_5376_);
lean_inc_ref(v_t_5369_);
v___f_5379_ = lean_alloc_closure((void*)(l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__4___boxed), 24, 17);
lean_closure_set(v___f_5379_, 0, v_P_5370_);
lean_closure_set(v___f_5379_, 1, v_xs_5356_);
lean_closure_set(v___f_5379_, 2, v_head_5357_);
lean_closure_set(v___f_5379_, 3, v_tail_5358_);
lean_closure_set(v___f_5379_, 4, v_val_5359_);
lean_closure_set(v___f_5379_, 5, v___x_5360_);
lean_closure_set(v___f_5379_, 6, v___x_5361_);
lean_closure_set(v___f_5379_, 7, v___x_5362_);
lean_closure_set(v___f_5379_, 8, v___x_5377_);
lean_closure_set(v___f_5379_, 9, v___x_5378_);
lean_closure_set(v___f_5379_, 10, v___x_5365_);
lean_closure_set(v___f_5379_, 11, v___x_5366_);
lean_closure_set(v___f_5379_, 12, v_numParams_5367_);
lean_closure_set(v___f_5379_, 13, v_numFields_5355_);
lean_closure_set(v___f_5379_, 14, v___x_5368_);
lean_closure_set(v___f_5379_, 15, v_t_5369_);
lean_closure_set(v___f_5379_, 16, v___x_5376_);
v___x_5380_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___redArg(v_t_5369_, v___x_5376_, v___f_5379_, v_a_5363_, v_a_5363_, v___y_5371_, v___y_5372_, v___y_5373_, v___y_5374_);
return v___x_5380_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__5___boxed(lean_object** _args){
lean_object* v_numFields_5381_ = _args[0];
lean_object* v_xs_5382_ = _args[1];
lean_object* v_head_5383_ = _args[2];
lean_object* v_tail_5384_ = _args[3];
lean_object* v_val_5385_ = _args[4];
lean_object* v___x_5386_ = _args[5];
lean_object* v___x_5387_ = _args[6];
lean_object* v___x_5388_ = _args[7];
lean_object* v_a_5389_ = _args[8];
lean_object* v___x_5390_ = _args[9];
lean_object* v___x_5391_ = _args[10];
lean_object* v___x_5392_ = _args[11];
lean_object* v_numParams_5393_ = _args[12];
lean_object* v___x_5394_ = _args[13];
lean_object* v_t_5395_ = _args[14];
lean_object* v_P_5396_ = _args[15];
lean_object* v___y_5397_ = _args[16];
lean_object* v___y_5398_ = _args[17];
lean_object* v___y_5399_ = _args[18];
lean_object* v___y_5400_ = _args[19];
lean_object* v___y_5401_ = _args[20];
_start:
{
uint8_t v_a_18833__boxed_5402_; uint8_t v___x_18834__boxed_5403_; lean_object* v_res_5404_; 
v_a_18833__boxed_5402_ = lean_unbox(v_a_5389_);
v___x_18834__boxed_5403_ = lean_unbox(v___x_5390_);
v_res_5404_ = l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__5(v_numFields_5381_, v_xs_5382_, v_head_5383_, v_tail_5384_, v_val_5385_, v___x_5386_, v___x_5387_, v___x_5388_, v_a_18833__boxed_5402_, v___x_18834__boxed_5403_, v___x_5391_, v___x_5392_, v_numParams_5393_, v___x_5394_, v_t_5395_, v_P_5396_, v___y_5397_, v___y_5398_, v___y_5399_, v___y_5400_);
return v_res_5404_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__6(lean_object* v_numFields_5405_, lean_object* v_head_5406_, lean_object* v_tail_5407_, lean_object* v_val_5408_, lean_object* v___x_5409_, lean_object* v___x_5410_, lean_object* v___x_5411_, uint8_t v_a_5412_, uint8_t v___x_5413_, lean_object* v___x_5414_, lean_object* v___x_5415_, lean_object* v_numParams_5416_, lean_object* v___x_5417_, lean_object* v_head_5418_, lean_object* v_xs_5419_, lean_object* v_t_5420_, lean_object* v___y_5421_, lean_object* v___y_5422_, lean_object* v___y_5423_, lean_object* v___y_5424_){
_start:
{
lean_object* v___x_5426_; lean_object* v___x_5427_; lean_object* v___f_5428_; lean_object* v___x_5429_; lean_object* v___x_5430_; lean_object* v___x_5431_; 
v___x_5426_ = lean_box(v_a_5412_);
v___x_5427_ = lean_box(v___x_5413_);
v___f_5428_ = lean_alloc_closure((void*)(l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__5___boxed), 21, 15);
lean_closure_set(v___f_5428_, 0, v_numFields_5405_);
lean_closure_set(v___f_5428_, 1, v_xs_5419_);
lean_closure_set(v___f_5428_, 2, v_head_5406_);
lean_closure_set(v___f_5428_, 3, v_tail_5407_);
lean_closure_set(v___f_5428_, 4, v_val_5408_);
lean_closure_set(v___f_5428_, 5, v___x_5409_);
lean_closure_set(v___f_5428_, 6, v___x_5410_);
lean_closure_set(v___f_5428_, 7, v___x_5411_);
lean_closure_set(v___f_5428_, 8, v___x_5426_);
lean_closure_set(v___f_5428_, 9, v___x_5427_);
lean_closure_set(v___f_5428_, 10, v___x_5414_);
lean_closure_set(v___f_5428_, 11, v___x_5415_);
lean_closure_set(v___f_5428_, 12, v_numParams_5416_);
lean_closure_set(v___f_5428_, 13, v___x_5417_);
lean_closure_set(v___f_5428_, 14, v_t_5420_);
v___x_5429_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__1));
v___x_5430_ = l_Lean_Expr_sort___override(v_head_5418_);
v___x_5431_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg(v___x_5429_, v___x_5430_, v___f_5428_, v___y_5421_, v___y_5422_, v___y_5423_, v___y_5424_);
return v___x_5431_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__6___boxed(lean_object** _args){
lean_object* v_numFields_5432_ = _args[0];
lean_object* v_head_5433_ = _args[1];
lean_object* v_tail_5434_ = _args[2];
lean_object* v_val_5435_ = _args[3];
lean_object* v___x_5436_ = _args[4];
lean_object* v___x_5437_ = _args[5];
lean_object* v___x_5438_ = _args[6];
lean_object* v_a_5439_ = _args[7];
lean_object* v___x_5440_ = _args[8];
lean_object* v___x_5441_ = _args[9];
lean_object* v___x_5442_ = _args[10];
lean_object* v_numParams_5443_ = _args[11];
lean_object* v___x_5444_ = _args[12];
lean_object* v_head_5445_ = _args[13];
lean_object* v_xs_5446_ = _args[14];
lean_object* v_t_5447_ = _args[15];
lean_object* v___y_5448_ = _args[16];
lean_object* v___y_5449_ = _args[17];
lean_object* v___y_5450_ = _args[18];
lean_object* v___y_5451_ = _args[19];
lean_object* v___y_5452_ = _args[20];
_start:
{
uint8_t v_a_18894__boxed_5453_; uint8_t v___x_18895__boxed_5454_; lean_object* v_res_5455_; 
v_a_18894__boxed_5453_ = lean_unbox(v_a_5439_);
v___x_18895__boxed_5454_ = lean_unbox(v___x_5440_);
v_res_5455_ = l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__6(v_numFields_5432_, v_head_5433_, v_tail_5434_, v_val_5435_, v___x_5436_, v___x_5437_, v___x_5438_, v_a_18894__boxed_5453_, v___x_18895__boxed_5454_, v___x_5441_, v___x_5442_, v_numParams_5443_, v___x_5444_, v_head_5445_, v_xs_5446_, v_t_5447_, v___y_5448_, v___y_5449_, v___y_5450_, v___y_5451_);
return v_res_5455_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg(lean_object* v_tail_5456_, lean_object* v_val_5457_, lean_object* v___x_5458_, lean_object* v___x_5459_, uint8_t v_a_5460_, lean_object* v___x_5461_, lean_object* v_head_5462_, lean_object* v_as_x27_5463_, lean_object* v_b_5464_, lean_object* v___y_5465_, lean_object* v___y_5466_, lean_object* v___y_5467_, lean_object* v___y_5468_){
_start:
{
if (lean_obj_tag(v_as_x27_5463_) == 0)
{
lean_object* v___x_5470_; 
lean_dec(v___y_5468_);
lean_dec_ref(v___y_5467_);
lean_dec(v___y_5466_);
lean_dec_ref(v___y_5465_);
lean_dec(v_head_5462_);
lean_dec(v___x_5461_);
lean_dec(v___x_5459_);
lean_dec(v___x_5458_);
lean_dec_ref(v_val_5457_);
lean_dec(v_tail_5456_);
v___x_5470_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5470_, 0, v_b_5464_);
return v___x_5470_;
}
else
{
lean_object* v_head_5471_; lean_object* v_tail_5472_; lean_object* v___x_5473_; 
v_head_5471_ = lean_ctor_get(v_as_x27_5463_, 0);
lean_inc(v_head_5471_);
v_tail_5472_ = lean_ctor_get(v_as_x27_5463_, 1);
lean_inc(v_tail_5472_);
lean_dec_ref(v_as_x27_5463_);
lean_inc(v___y_5468_);
lean_inc_ref(v___y_5467_);
lean_inc(v___y_5466_);
lean_inc_ref(v___y_5465_);
lean_inc(v_head_5471_);
v___x_5473_ = l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0(v_head_5471_, v___y_5465_, v___y_5466_, v___y_5467_, v___y_5468_);
if (lean_obj_tag(v___x_5473_) == 0)
{
lean_object* v_a_5474_; lean_object* v_toConstantVal_5475_; lean_object* v_numParams_5476_; lean_object* v_numFields_5477_; lean_object* v___x_5478_; lean_object* v___x_5479_; uint8_t v___x_5480_; 
v_a_5474_ = lean_ctor_get(v___x_5473_, 0);
lean_inc(v_a_5474_);
lean_dec_ref(v___x_5473_);
v_toConstantVal_5475_ = lean_ctor_get(v_a_5474_, 0);
lean_inc_ref(v_toConstantVal_5475_);
v_numParams_5476_ = lean_ctor_get(v_a_5474_, 3);
lean_inc(v_numParams_5476_);
v_numFields_5477_ = lean_ctor_get(v_a_5474_, 4);
lean_inc(v_numFields_5477_);
lean_dec(v_a_5474_);
v___x_5478_ = lean_box(0);
v___x_5479_ = lean_unsigned_to_nat(0u);
v___x_5480_ = lean_nat_dec_lt(v___x_5479_, v_numFields_5477_);
if (v___x_5480_ == 0)
{
lean_dec(v_numFields_5477_);
lean_dec(v_numParams_5476_);
lean_dec_ref(v_toConstantVal_5475_);
lean_dec(v_head_5471_);
v_as_x27_5463_ = v_tail_5472_;
v_b_5464_ = v___x_5478_;
goto _start;
}
else
{
lean_object* v_type_5482_; lean_object* v___x_5483_; lean_object* v___x_5484_; lean_object* v___x_5485_; lean_object* v___f_5486_; lean_object* v___x_5487_; lean_object* v___x_5488_; 
v_type_5482_ = lean_ctor_get(v_toConstantVal_5475_, 2);
lean_inc_ref(v_type_5482_);
lean_dec_ref(v_toConstantVal_5475_);
v___x_5483_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__0));
v___x_5484_ = lean_box(v_a_5460_);
v___x_5485_ = lean_box(v___x_5480_);
lean_inc(v_head_5462_);
lean_inc(v_numParams_5476_);
lean_inc(v___x_5461_);
lean_inc(v___x_5459_);
lean_inc(v___x_5458_);
lean_inc_ref(v_val_5457_);
lean_inc(v_tail_5456_);
v___f_5486_ = lean_alloc_closure((void*)(l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___lam__6___boxed), 21, 14);
lean_closure_set(v___f_5486_, 0, v_numFields_5477_);
lean_closure_set(v___f_5486_, 1, v_head_5471_);
lean_closure_set(v___f_5486_, 2, v_tail_5456_);
lean_closure_set(v___f_5486_, 3, v_val_5457_);
lean_closure_set(v___f_5486_, 4, v___x_5458_);
lean_closure_set(v___f_5486_, 5, v___x_5459_);
lean_closure_set(v___f_5486_, 6, v___x_5479_);
lean_closure_set(v___f_5486_, 7, v___x_5484_);
lean_closure_set(v___f_5486_, 8, v___x_5485_);
lean_closure_set(v___f_5486_, 9, v___x_5483_);
lean_closure_set(v___f_5486_, 10, v___x_5461_);
lean_closure_set(v___f_5486_, 11, v_numParams_5476_);
lean_closure_set(v___f_5486_, 12, v___x_5478_);
lean_closure_set(v___f_5486_, 13, v_head_5462_);
v___x_5487_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_5487_, 0, v_numParams_5476_);
lean_inc(v___y_5468_);
lean_inc_ref(v___y_5467_);
lean_inc(v___y_5466_);
lean_inc_ref(v___y_5465_);
v___x_5488_ = l_Lean_Meta_forallBoundedTelescope___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__4___redArg(v_type_5482_, v___x_5487_, v___f_5486_, v_a_5460_, v_a_5460_, v___y_5465_, v___y_5466_, v___y_5467_, v___y_5468_);
if (lean_obj_tag(v___x_5488_) == 0)
{
lean_dec_ref(v___x_5488_);
v_as_x27_5463_ = v_tail_5472_;
v_b_5464_ = v___x_5478_;
goto _start;
}
else
{
lean_dec(v_tail_5472_);
lean_dec(v___y_5468_);
lean_dec_ref(v___y_5467_);
lean_dec(v___y_5466_);
lean_dec_ref(v___y_5465_);
lean_dec(v_head_5462_);
lean_dec(v___x_5461_);
lean_dec(v___x_5459_);
lean_dec(v___x_5458_);
lean_dec_ref(v_val_5457_);
lean_dec(v_tail_5456_);
return v___x_5488_;
}
}
}
else
{
lean_object* v_a_5490_; lean_object* v___x_5492_; uint8_t v_isShared_5493_; uint8_t v_isSharedCheck_5497_; 
lean_dec(v_tail_5472_);
lean_dec(v_head_5471_);
lean_dec(v___y_5468_);
lean_dec_ref(v___y_5467_);
lean_dec(v___y_5466_);
lean_dec_ref(v___y_5465_);
lean_dec(v_head_5462_);
lean_dec(v___x_5461_);
lean_dec(v___x_5459_);
lean_dec(v___x_5458_);
lean_dec_ref(v_val_5457_);
lean_dec(v_tail_5456_);
v_a_5490_ = lean_ctor_get(v___x_5473_, 0);
v_isSharedCheck_5497_ = !lean_is_exclusive(v___x_5473_);
if (v_isSharedCheck_5497_ == 0)
{
v___x_5492_ = v___x_5473_;
v_isShared_5493_ = v_isSharedCheck_5497_;
goto v_resetjp_5491_;
}
else
{
lean_inc(v_a_5490_);
lean_dec(v___x_5473_);
v___x_5492_ = lean_box(0);
v_isShared_5493_ = v_isSharedCheck_5497_;
goto v_resetjp_5491_;
}
v_resetjp_5491_:
{
lean_object* v___x_5495_; 
if (v_isShared_5493_ == 0)
{
v___x_5495_ = v___x_5492_;
goto v_reusejp_5494_;
}
else
{
lean_object* v_reuseFailAlloc_5496_; 
v_reuseFailAlloc_5496_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5496_, 0, v_a_5490_);
v___x_5495_ = v_reuseFailAlloc_5496_;
goto v_reusejp_5494_;
}
v_reusejp_5494_:
{
return v___x_5495_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg___boxed(lean_object* v_tail_5498_, lean_object* v_val_5499_, lean_object* v___x_5500_, lean_object* v___x_5501_, lean_object* v_a_5502_, lean_object* v___x_5503_, lean_object* v_head_5504_, lean_object* v_as_x27_5505_, lean_object* v_b_5506_, lean_object* v___y_5507_, lean_object* v___y_5508_, lean_object* v___y_5509_, lean_object* v___y_5510_, lean_object* v___y_5511_){
_start:
{
uint8_t v_a_18957__boxed_5512_; lean_object* v_res_5513_; 
v_a_18957__boxed_5512_ = lean_unbox(v_a_5502_);
v_res_5513_ = l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg(v_tail_5498_, v_val_5499_, v___x_5500_, v___x_5501_, v_a_18957__boxed_5512_, v___x_5503_, v_head_5504_, v_as_x27_5505_, v_b_5506_, v___y_5507_, v___y_5508_, v___y_5509_, v___y_5510_);
return v_res_5513_;
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors___closed__1(void){
_start:
{
lean_object* v___x_5515_; lean_object* v___x_5516_; 
v___x_5515_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors___closed__0));
v___x_5516_ = l_Lean_stringToMessageData(v___x_5515_);
return v___x_5516_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors(lean_object* v_declName_5517_, lean_object* v_a_5518_, lean_object* v_a_5519_, lean_object* v_a_5520_, lean_object* v_a_5521_){
_start:
{
lean_object* v___x_5523_; 
lean_inc_ref(v_a_5520_);
lean_inc(v_declName_5517_);
v___x_5523_ = l_Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0(v_declName_5517_, v_a_5518_, v_a_5519_, v_a_5520_, v_a_5521_);
if (lean_obj_tag(v___x_5523_) == 0)
{
lean_object* v_a_5524_; lean_object* v___x_5526_; uint8_t v_isShared_5527_; uint8_t v_isSharedCheck_5601_; 
v_a_5524_ = lean_ctor_get(v___x_5523_, 0);
v_isSharedCheck_5601_ = !lean_is_exclusive(v___x_5523_);
if (v_isSharedCheck_5601_ == 0)
{
v___x_5526_ = v___x_5523_;
v_isShared_5527_ = v_isSharedCheck_5601_;
goto v_resetjp_5525_;
}
else
{
lean_inc(v_a_5524_);
lean_dec(v___x_5523_);
v___x_5526_ = lean_box(0);
v_isShared_5527_ = v_isSharedCheck_5601_;
goto v_resetjp_5525_;
}
v_resetjp_5525_:
{
if (lean_obj_tag(v_a_5524_) == 5)
{
lean_object* v_val_5528_; lean_object* v___x_5529_; lean_object* v___x_5530_; 
lean_del_object(v___x_5526_);
v_val_5528_ = lean_ctor_get(v_a_5524_, 0);
lean_inc_ref(v_val_5528_);
lean_dec_ref(v_a_5524_);
lean_inc(v_declName_5517_);
v___x_5529_ = l_Lean_mkRecName(v_declName_5517_);
lean_inc_ref(v_a_5520_);
v___x_5530_ = l_Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0(v___x_5529_, v_a_5518_, v_a_5519_, v_a_5520_, v_a_5521_);
if (lean_obj_tag(v___x_5530_) == 0)
{
lean_object* v_toConstantVal_5531_; lean_object* v_a_5532_; lean_object* v___x_5534_; uint8_t v_isShared_5535_; uint8_t v_isSharedCheck_5588_; 
v_toConstantVal_5531_ = lean_ctor_get(v_val_5528_, 0);
v_a_5532_ = lean_ctor_get(v___x_5530_, 0);
v_isSharedCheck_5588_ = !lean_is_exclusive(v___x_5530_);
if (v_isSharedCheck_5588_ == 0)
{
v___x_5534_ = v___x_5530_;
v_isShared_5535_ = v_isSharedCheck_5588_;
goto v_resetjp_5533_;
}
else
{
lean_inc(v_a_5532_);
lean_dec(v___x_5530_);
v___x_5534_ = lean_box(0);
v_isShared_5535_ = v_isSharedCheck_5588_;
goto v_resetjp_5533_;
}
v_resetjp_5533_:
{
lean_object* v_ctors_5536_; lean_object* v_levelParams_5537_; lean_object* v_type_5538_; lean_object* v___x_5539_; lean_object* v___x_5540_; lean_object* v___x_5541_; uint8_t v___x_5542_; 
v_ctors_5536_ = lean_ctor_get(v_val_5528_, 4);
lean_inc(v_ctors_5536_);
v_levelParams_5537_ = lean_ctor_get(v_toConstantVal_5531_, 1);
v_type_5538_ = lean_ctor_get(v_toConstantVal_5531_, 2);
v___x_5539_ = l_List_lengthTR___redArg(v_levelParams_5537_);
v___x_5540_ = l_Lean_ConstantInfo_levelParams(v_a_5532_);
v___x_5541_ = l_List_lengthTR___redArg(v___x_5540_);
v___x_5542_ = lean_nat_dec_lt(v___x_5539_, v___x_5541_);
lean_dec(v___x_5541_);
lean_dec(v___x_5539_);
if (v___x_5542_ == 0)
{
lean_object* v___x_5543_; lean_object* v___x_5545_; 
lean_dec(v___x_5540_);
lean_dec(v_ctors_5536_);
lean_dec(v_a_5532_);
lean_dec_ref(v_val_5528_);
lean_dec(v_a_5521_);
lean_dec_ref(v_a_5520_);
lean_dec(v_a_5519_);
lean_dec_ref(v_a_5518_);
lean_dec(v_declName_5517_);
v___x_5543_ = lean_box(0);
if (v_isShared_5535_ == 0)
{
lean_ctor_set(v___x_5534_, 0, v___x_5543_);
v___x_5545_ = v___x_5534_;
goto v_reusejp_5544_;
}
else
{
lean_object* v_reuseFailAlloc_5546_; 
v_reuseFailAlloc_5546_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5546_, 0, v___x_5543_);
v___x_5545_ = v_reuseFailAlloc_5546_;
goto v_reusejp_5544_;
}
v_reusejp_5544_:
{
return v___x_5545_;
}
}
else
{
lean_object* v___x_5547_; 
lean_del_object(v___x_5534_);
lean_inc(v_a_5521_);
lean_inc_ref(v_a_5520_);
lean_inc(v_a_5519_);
lean_inc_ref(v_a_5518_);
lean_inc_ref(v_type_5538_);
v___x_5547_ = l_Lean_Meta_isPropFormerType(v_type_5538_, v_a_5518_, v_a_5519_, v_a_5520_, v_a_5521_);
if (lean_obj_tag(v___x_5547_) == 0)
{
lean_object* v_a_5548_; lean_object* v___x_5550_; uint8_t v_isShared_5551_; uint8_t v_isSharedCheck_5579_; 
v_a_5548_ = lean_ctor_get(v___x_5547_, 0);
v_isSharedCheck_5579_ = !lean_is_exclusive(v___x_5547_);
if (v_isSharedCheck_5579_ == 0)
{
v___x_5550_ = v___x_5547_;
v_isShared_5551_ = v_isSharedCheck_5579_;
goto v_resetjp_5549_;
}
else
{
lean_inc(v_a_5548_);
lean_dec(v___x_5547_);
v___x_5550_ = lean_box(0);
v_isShared_5551_ = v_isSharedCheck_5579_;
goto v_resetjp_5549_;
}
v_resetjp_5549_:
{
uint8_t v___x_5552_; 
v___x_5552_ = lean_unbox(v_a_5548_);
if (v___x_5552_ == 0)
{
lean_object* v___x_5553_; lean_object* v___x_5554_; 
lean_del_object(v___x_5550_);
v___x_5553_ = lean_box(0);
lean_inc(v___x_5540_);
v___x_5554_ = l_List_mapTR_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__2(v___x_5540_, v___x_5553_);
if (lean_obj_tag(v___x_5554_) == 1)
{
lean_object* v_head_5555_; lean_object* v_tail_5556_; lean_object* v___x_5557_; lean_object* v___x_5558_; lean_object* v___x_5559_; uint8_t v___x_5560_; lean_object* v___x_5561_; 
lean_dec(v_a_5532_);
v_head_5555_ = lean_ctor_get(v___x_5554_, 0);
lean_inc(v_head_5555_);
v_tail_5556_ = lean_ctor_get(v___x_5554_, 1);
lean_inc(v_tail_5556_);
v___x_5557_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__0));
v___x_5558_ = l_Lean_Name_str___override(v_declName_5517_, v___x_5557_);
v___x_5559_ = lean_box(0);
v___x_5560_ = lean_unbox(v_a_5548_);
lean_dec(v_a_5548_);
v___x_5561_ = l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg(v_tail_5556_, v_val_5528_, v___x_5558_, v___x_5554_, v___x_5560_, v___x_5540_, v_head_5555_, v_ctors_5536_, v___x_5559_, v_a_5518_, v_a_5519_, v_a_5520_, v_a_5521_);
if (lean_obj_tag(v___x_5561_) == 0)
{
lean_object* v___x_5563_; uint8_t v_isShared_5564_; uint8_t v_isSharedCheck_5568_; 
v_isSharedCheck_5568_ = !lean_is_exclusive(v___x_5561_);
if (v_isSharedCheck_5568_ == 0)
{
lean_object* v_unused_5569_; 
v_unused_5569_ = lean_ctor_get(v___x_5561_, 0);
lean_dec(v_unused_5569_);
v___x_5563_ = v___x_5561_;
v_isShared_5564_ = v_isSharedCheck_5568_;
goto v_resetjp_5562_;
}
else
{
lean_dec(v___x_5561_);
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)
{
lean_ctor_set(v___x_5563_, 0, v___x_5559_);
v___x_5566_ = v___x_5563_;
goto v_reusejp_5565_;
}
else
{
lean_object* v_reuseFailAlloc_5567_; 
v_reuseFailAlloc_5567_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5567_, 0, v___x_5559_);
v___x_5566_ = v_reuseFailAlloc_5567_;
goto v_reusejp_5565_;
}
v_reusejp_5565_:
{
return v___x_5566_;
}
}
}
else
{
return v___x_5561_;
}
}
else
{
lean_object* v___x_5570_; lean_object* v___x_5571_; lean_object* v___x_5572_; lean_object* v___x_5573_; lean_object* v___x_5574_; 
lean_dec(v___x_5554_);
lean_dec(v_a_5548_);
lean_dec(v___x_5540_);
lean_dec(v_ctors_5536_);
lean_dec_ref(v_val_5528_);
lean_dec(v_declName_5517_);
v___x_5570_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors___closed__1, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors___closed__1_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors___closed__1);
v___x_5571_ = l_Lean_ConstantInfo_name(v_a_5532_);
lean_dec(v_a_5532_);
v___x_5572_ = l_Lean_MessageData_ofName(v___x_5571_);
v___x_5573_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_5573_, 0, v___x_5570_);
lean_ctor_set(v___x_5573_, 1, v___x_5572_);
v___x_5574_ = l_Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0___redArg(v___x_5573_, v_a_5518_, v_a_5519_, v_a_5520_, v_a_5521_);
lean_dec(v_a_5521_);
lean_dec_ref(v_a_5520_);
lean_dec(v_a_5519_);
lean_dec_ref(v_a_5518_);
return v___x_5574_;
}
}
else
{
lean_object* v___x_5575_; lean_object* v___x_5577_; 
lean_dec(v_a_5548_);
lean_dec(v___x_5540_);
lean_dec(v_ctors_5536_);
lean_dec(v_a_5532_);
lean_dec_ref(v_val_5528_);
lean_dec(v_a_5521_);
lean_dec_ref(v_a_5520_);
lean_dec(v_a_5519_);
lean_dec_ref(v_a_5518_);
lean_dec(v_declName_5517_);
v___x_5575_ = lean_box(0);
if (v_isShared_5551_ == 0)
{
lean_ctor_set(v___x_5550_, 0, v___x_5575_);
v___x_5577_ = v___x_5550_;
goto v_reusejp_5576_;
}
else
{
lean_object* v_reuseFailAlloc_5578_; 
v_reuseFailAlloc_5578_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5578_, 0, v___x_5575_);
v___x_5577_ = v_reuseFailAlloc_5578_;
goto v_reusejp_5576_;
}
v_reusejp_5576_:
{
return v___x_5577_;
}
}
}
}
else
{
lean_object* v_a_5580_; lean_object* v___x_5582_; uint8_t v_isShared_5583_; uint8_t v_isSharedCheck_5587_; 
lean_dec(v___x_5540_);
lean_dec(v_ctors_5536_);
lean_dec(v_a_5532_);
lean_dec_ref(v_val_5528_);
lean_dec(v_a_5521_);
lean_dec_ref(v_a_5520_);
lean_dec(v_a_5519_);
lean_dec_ref(v_a_5518_);
lean_dec(v_declName_5517_);
v_a_5580_ = lean_ctor_get(v___x_5547_, 0);
v_isSharedCheck_5587_ = !lean_is_exclusive(v___x_5547_);
if (v_isSharedCheck_5587_ == 0)
{
v___x_5582_ = v___x_5547_;
v_isShared_5583_ = v_isSharedCheck_5587_;
goto v_resetjp_5581_;
}
else
{
lean_inc(v_a_5580_);
lean_dec(v___x_5547_);
v___x_5582_ = lean_box(0);
v_isShared_5583_ = v_isSharedCheck_5587_;
goto v_resetjp_5581_;
}
v_resetjp_5581_:
{
lean_object* v___x_5585_; 
if (v_isShared_5583_ == 0)
{
v___x_5585_ = v___x_5582_;
goto v_reusejp_5584_;
}
else
{
lean_object* v_reuseFailAlloc_5586_; 
v_reuseFailAlloc_5586_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5586_, 0, v_a_5580_);
v___x_5585_ = v_reuseFailAlloc_5586_;
goto v_reusejp_5584_;
}
v_reusejp_5584_:
{
return v___x_5585_;
}
}
}
}
}
}
else
{
lean_object* v_a_5589_; lean_object* v___x_5591_; uint8_t v_isShared_5592_; uint8_t v_isSharedCheck_5596_; 
lean_dec_ref(v_val_5528_);
lean_dec(v_a_5521_);
lean_dec_ref(v_a_5520_);
lean_dec(v_a_5519_);
lean_dec_ref(v_a_5518_);
lean_dec(v_declName_5517_);
v_a_5589_ = lean_ctor_get(v___x_5530_, 0);
v_isSharedCheck_5596_ = !lean_is_exclusive(v___x_5530_);
if (v_isSharedCheck_5596_ == 0)
{
v___x_5591_ = v___x_5530_;
v_isShared_5592_ = v_isSharedCheck_5596_;
goto v_resetjp_5590_;
}
else
{
lean_inc(v_a_5589_);
lean_dec(v___x_5530_);
v___x_5591_ = lean_box(0);
v_isShared_5592_ = v_isSharedCheck_5596_;
goto v_resetjp_5590_;
}
v_resetjp_5590_:
{
lean_object* v___x_5594_; 
if (v_isShared_5592_ == 0)
{
v___x_5594_ = v___x_5591_;
goto v_reusejp_5593_;
}
else
{
lean_object* v_reuseFailAlloc_5595_; 
v_reuseFailAlloc_5595_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5595_, 0, v_a_5589_);
v___x_5594_ = v_reuseFailAlloc_5595_;
goto v_reusejp_5593_;
}
v_reusejp_5593_:
{
return v___x_5594_;
}
}
}
}
else
{
lean_object* v___x_5597_; lean_object* v___x_5599_; 
lean_dec(v_a_5524_);
lean_dec(v_a_5521_);
lean_dec_ref(v_a_5520_);
lean_dec(v_a_5519_);
lean_dec_ref(v_a_5518_);
lean_dec(v_declName_5517_);
v___x_5597_ = lean_box(0);
if (v_isShared_5527_ == 0)
{
lean_ctor_set(v___x_5526_, 0, v___x_5597_);
v___x_5599_ = v___x_5526_;
goto v_reusejp_5598_;
}
else
{
lean_object* v_reuseFailAlloc_5600_; 
v_reuseFailAlloc_5600_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5600_, 0, v___x_5597_);
v___x_5599_ = v_reuseFailAlloc_5600_;
goto v_reusejp_5598_;
}
v_reusejp_5598_:
{
return v___x_5599_;
}
}
}
}
else
{
lean_object* v_a_5602_; lean_object* v___x_5604_; uint8_t v_isShared_5605_; uint8_t v_isSharedCheck_5609_; 
lean_dec(v_a_5521_);
lean_dec_ref(v_a_5520_);
lean_dec(v_a_5519_);
lean_dec_ref(v_a_5518_);
lean_dec(v_declName_5517_);
v_a_5602_ = lean_ctor_get(v___x_5523_, 0);
v_isSharedCheck_5609_ = !lean_is_exclusive(v___x_5523_);
if (v_isSharedCheck_5609_ == 0)
{
v___x_5604_ = v___x_5523_;
v_isShared_5605_ = v_isSharedCheck_5609_;
goto v_resetjp_5603_;
}
else
{
lean_inc(v_a_5602_);
lean_dec(v___x_5523_);
v___x_5604_ = lean_box(0);
v_isShared_5605_ = v_isSharedCheck_5609_;
goto v_resetjp_5603_;
}
v_resetjp_5603_:
{
lean_object* v___x_5607_; 
if (v_isShared_5605_ == 0)
{
v___x_5607_ = v___x_5604_;
goto v_reusejp_5606_;
}
else
{
lean_object* v_reuseFailAlloc_5608_; 
v_reuseFailAlloc_5608_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5608_, 0, v_a_5602_);
v___x_5607_ = v_reuseFailAlloc_5608_;
goto v_reusejp_5606_;
}
v_reusejp_5606_:
{
return v___x_5607_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors___boxed(lean_object* v_declName_5610_, lean_object* v_a_5611_, lean_object* v_a_5612_, lean_object* v_a_5613_, lean_object* v_a_5614_, lean_object* v_a_5615_){
_start:
{
lean_object* v_res_5616_; 
v_res_5616_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors(v_declName_5610_, v_a_5611_, v_a_5612_, v_a_5613_, v_a_5614_);
return v_res_5616_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0(lean_object* v_range_5617_, lean_object* v_b_5618_, lean_object* v_i_5619_, lean_object* v_hs_5620_, lean_object* v_hl_5621_, lean_object* v___y_5622_, lean_object* v___y_5623_, lean_object* v___y_5624_, lean_object* v___y_5625_){
_start:
{
lean_object* v___x_5627_; 
v___x_5627_ = l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___redArg(v_range_5617_, v_b_5618_, v_i_5619_, v___y_5622_, v___y_5623_, v___y_5624_, v___y_5625_);
return v___x_5627_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0___boxed(lean_object* v_range_5628_, lean_object* v_b_5629_, lean_object* v_i_5630_, lean_object* v_hs_5631_, lean_object* v_hl_5632_, lean_object* v___y_5633_, lean_object* v___y_5634_, lean_object* v___y_5635_, lean_object* v___y_5636_, lean_object* v___y_5637_){
_start:
{
lean_object* v_res_5638_; 
v_res_5638_ = l___private_Init_Data_Range_Basic_0__Std_Legacy_Range_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__0(v_range_5628_, v_b_5629_, v_i_5630_, v_hs_5631_, v_hl_5632_, v___y_5633_, v___y_5634_, v___y_5635_, v___y_5636_);
lean_dec_ref(v_range_5628_);
return v_res_5638_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2(lean_object* v_tail_5639_, lean_object* v_val_5640_, lean_object* v___x_5641_, lean_object* v___x_5642_, uint8_t v_a_5643_, lean_object* v___x_5644_, lean_object* v_head_5645_, lean_object* v_as_5646_, lean_object* v_as_x27_5647_, lean_object* v_b_5648_, lean_object* v_a_5649_, lean_object* v___y_5650_, lean_object* v___y_5651_, lean_object* v___y_5652_, lean_object* v___y_5653_){
_start:
{
lean_object* v___x_5655_; 
v___x_5655_ = l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___redArg(v_tail_5639_, v_val_5640_, v___x_5641_, v___x_5642_, v_a_5643_, v___x_5644_, v_head_5645_, v_as_x27_5647_, v_b_5648_, v___y_5650_, v___y_5651_, v___y_5652_, v___y_5653_);
return v___x_5655_;
}
}
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2___boxed(lean_object* v_tail_5656_, lean_object* v_val_5657_, lean_object* v___x_5658_, lean_object* v___x_5659_, lean_object* v_a_5660_, lean_object* v___x_5661_, lean_object* v_head_5662_, lean_object* v_as_5663_, lean_object* v_as_x27_5664_, lean_object* v_b_5665_, lean_object* v_a_5666_, lean_object* v___y_5667_, lean_object* v___y_5668_, lean_object* v___y_5669_, lean_object* v___y_5670_, lean_object* v___y_5671_){
_start:
{
uint8_t v_a_19253__boxed_5672_; lean_object* v_res_5673_; 
v_a_19253__boxed_5672_ = lean_unbox(v_a_5660_);
v_res_5673_ = l_List_forIn_x27_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors_spec__2(v_tail_5656_, v_val_5657_, v___x_5658_, v___x_5659_, v_a_19253__boxed_5672_, v___x_5661_, v_head_5662_, v_as_5663_, v_as_x27_5664_, v_b_5665_, v_a_5666_, v___y_5667_, v___y_5668_, v___y_5669_, v___y_5670_);
lean_dec(v_as_5663_);
return v_res_5673_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCore(lean_object* v_declName_5674_, lean_object* v_a_5675_, lean_object* v_a_5676_, lean_object* v_a_5677_, lean_object* v_a_5678_){
_start:
{
lean_object* v___x_5680_; 
lean_inc_ref(v_a_5677_);
lean_inc(v_declName_5674_);
v___x_5680_ = l_Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0(v_declName_5674_, v_a_5675_, v_a_5676_, v_a_5677_, v_a_5678_);
if (lean_obj_tag(v___x_5680_) == 0)
{
lean_object* v_a_5681_; lean_object* v___x_5683_; uint8_t v_isShared_5684_; uint8_t v_isSharedCheck_5738_; 
v_a_5681_ = lean_ctor_get(v___x_5680_, 0);
v_isSharedCheck_5738_ = !lean_is_exclusive(v___x_5680_);
if (v_isSharedCheck_5738_ == 0)
{
v___x_5683_ = v___x_5680_;
v_isShared_5684_ = v_isSharedCheck_5738_;
goto v_resetjp_5682_;
}
else
{
lean_inc(v_a_5681_);
lean_dec(v___x_5680_);
v___x_5683_ = lean_box(0);
v_isShared_5684_ = v_isSharedCheck_5738_;
goto v_resetjp_5682_;
}
v_resetjp_5682_:
{
if (lean_obj_tag(v_a_5681_) == 5)
{
lean_object* v_val_5685_; lean_object* v___x_5686_; lean_object* v___x_5687_; 
lean_del_object(v___x_5683_);
v_val_5685_ = lean_ctor_get(v_a_5681_, 0);
lean_inc_ref(v_val_5685_);
lean_dec_ref(v_a_5681_);
lean_inc(v_declName_5674_);
v___x_5686_ = l_Lean_mkRecName(v_declName_5674_);
lean_inc_ref(v_a_5677_);
v___x_5687_ = l_Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0(v___x_5686_, v_a_5675_, v_a_5676_, v_a_5677_, v_a_5678_);
if (lean_obj_tag(v___x_5687_) == 0)
{
lean_object* v_toConstantVal_5688_; lean_object* v_a_5689_; lean_object* v___x_5691_; uint8_t v_isShared_5692_; uint8_t v_isSharedCheck_5725_; 
v_toConstantVal_5688_ = lean_ctor_get(v_val_5685_, 0);
lean_inc_ref(v_toConstantVal_5688_);
lean_dec_ref(v_val_5685_);
v_a_5689_ = lean_ctor_get(v___x_5687_, 0);
v_isSharedCheck_5725_ = !lean_is_exclusive(v___x_5687_);
if (v_isSharedCheck_5725_ == 0)
{
v___x_5691_ = v___x_5687_;
v_isShared_5692_ = v_isSharedCheck_5725_;
goto v_resetjp_5690_;
}
else
{
lean_inc(v_a_5689_);
lean_dec(v___x_5687_);
v___x_5691_ = lean_box(0);
v_isShared_5692_ = v_isSharedCheck_5725_;
goto v_resetjp_5690_;
}
v_resetjp_5690_:
{
lean_object* v_levelParams_5693_; lean_object* v_type_5694_; lean_object* v___x_5695_; lean_object* v___x_5696_; lean_object* v___x_5697_; uint8_t v___x_5698_; 
v_levelParams_5693_ = lean_ctor_get(v_toConstantVal_5688_, 1);
lean_inc(v_levelParams_5693_);
v_type_5694_ = lean_ctor_get(v_toConstantVal_5688_, 2);
lean_inc_ref(v_type_5694_);
lean_dec_ref(v_toConstantVal_5688_);
v___x_5695_ = l_List_lengthTR___redArg(v_levelParams_5693_);
lean_dec(v_levelParams_5693_);
v___x_5696_ = l_Lean_ConstantInfo_levelParams(v_a_5689_);
lean_dec(v_a_5689_);
v___x_5697_ = l_List_lengthTR___redArg(v___x_5696_);
lean_dec(v___x_5696_);
v___x_5698_ = lean_nat_dec_lt(v___x_5695_, v___x_5697_);
lean_dec(v___x_5697_);
lean_dec(v___x_5695_);
if (v___x_5698_ == 0)
{
lean_object* v___x_5699_; lean_object* v___x_5701_; 
lean_dec_ref(v_type_5694_);
lean_dec(v_a_5678_);
lean_dec_ref(v_a_5677_);
lean_dec(v_a_5676_);
lean_dec_ref(v_a_5675_);
lean_dec(v_declName_5674_);
v___x_5699_ = lean_box(0);
if (v_isShared_5692_ == 0)
{
lean_ctor_set(v___x_5691_, 0, v___x_5699_);
v___x_5701_ = v___x_5691_;
goto v_reusejp_5700_;
}
else
{
lean_object* v_reuseFailAlloc_5702_; 
v_reuseFailAlloc_5702_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5702_, 0, v___x_5699_);
v___x_5701_ = v_reuseFailAlloc_5702_;
goto v_reusejp_5700_;
}
v_reusejp_5700_:
{
return v___x_5701_;
}
}
else
{
lean_object* v___x_5703_; 
lean_del_object(v___x_5691_);
lean_inc(v_a_5678_);
lean_inc_ref(v_a_5677_);
lean_inc(v_a_5676_);
lean_inc_ref(v_a_5675_);
v___x_5703_ = l_Lean_Meta_isPropFormerType(v_type_5694_, v_a_5675_, v_a_5676_, v_a_5677_, v_a_5678_);
if (lean_obj_tag(v___x_5703_) == 0)
{
lean_object* v_a_5704_; lean_object* v___x_5706_; uint8_t v_isShared_5707_; uint8_t v_isSharedCheck_5716_; 
v_a_5704_ = lean_ctor_get(v___x_5703_, 0);
v_isSharedCheck_5716_ = !lean_is_exclusive(v___x_5703_);
if (v_isSharedCheck_5716_ == 0)
{
v___x_5706_ = v___x_5703_;
v_isShared_5707_ = v_isSharedCheck_5716_;
goto v_resetjp_5705_;
}
else
{
lean_inc(v_a_5704_);
lean_dec(v___x_5703_);
v___x_5706_ = lean_box(0);
v_isShared_5707_ = v_isSharedCheck_5716_;
goto v_resetjp_5705_;
}
v_resetjp_5705_:
{
uint8_t v___x_5708_; 
v___x_5708_ = lean_unbox(v_a_5704_);
lean_dec(v_a_5704_);
if (v___x_5708_ == 0)
{
lean_object* v___x_5709_; 
lean_del_object(v___x_5706_);
lean_inc(v_a_5678_);
lean_inc_ref(v_a_5677_);
lean_inc(v_a_5676_);
lean_inc_ref(v_a_5675_);
lean_inc(v_declName_5674_);
v___x_5709_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType(v_declName_5674_, v_a_5675_, v_a_5676_, v_a_5677_, v_a_5678_);
if (lean_obj_tag(v___x_5709_) == 0)
{
lean_object* v___x_5710_; 
lean_dec_ref(v___x_5709_);
lean_inc(v_a_5678_);
lean_inc_ref(v_a_5677_);
lean_inc(v_a_5676_);
lean_inc_ref(v_a_5675_);
lean_inc(v_declName_5674_);
v___x_5710_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp(v_declName_5674_, v_a_5675_, v_a_5676_, v_a_5677_, v_a_5678_);
if (lean_obj_tag(v___x_5710_) == 0)
{
lean_object* v___x_5711_; 
lean_dec_ref(v___x_5710_);
v___x_5711_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtors(v_declName_5674_, v_a_5675_, v_a_5676_, v_a_5677_, v_a_5678_);
return v___x_5711_;
}
else
{
lean_dec(v_a_5678_);
lean_dec_ref(v_a_5677_);
lean_dec(v_a_5676_);
lean_dec_ref(v_a_5675_);
lean_dec(v_declName_5674_);
return v___x_5710_;
}
}
else
{
lean_dec(v_a_5678_);
lean_dec_ref(v_a_5677_);
lean_dec(v_a_5676_);
lean_dec_ref(v_a_5675_);
lean_dec(v_declName_5674_);
return v___x_5709_;
}
}
else
{
lean_object* v___x_5712_; lean_object* v___x_5714_; 
lean_dec(v_a_5678_);
lean_dec_ref(v_a_5677_);
lean_dec(v_a_5676_);
lean_dec_ref(v_a_5675_);
lean_dec(v_declName_5674_);
v___x_5712_ = lean_box(0);
if (v_isShared_5707_ == 0)
{
lean_ctor_set(v___x_5706_, 0, v___x_5712_);
v___x_5714_ = v___x_5706_;
goto v_reusejp_5713_;
}
else
{
lean_object* v_reuseFailAlloc_5715_; 
v_reuseFailAlloc_5715_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5715_, 0, v___x_5712_);
v___x_5714_ = v_reuseFailAlloc_5715_;
goto v_reusejp_5713_;
}
v_reusejp_5713_:
{
return v___x_5714_;
}
}
}
}
else
{
lean_object* v_a_5717_; lean_object* v___x_5719_; uint8_t v_isShared_5720_; uint8_t v_isSharedCheck_5724_; 
lean_dec(v_a_5678_);
lean_dec_ref(v_a_5677_);
lean_dec(v_a_5676_);
lean_dec_ref(v_a_5675_);
lean_dec(v_declName_5674_);
v_a_5717_ = lean_ctor_get(v___x_5703_, 0);
v_isSharedCheck_5724_ = !lean_is_exclusive(v___x_5703_);
if (v_isSharedCheck_5724_ == 0)
{
v___x_5719_ = v___x_5703_;
v_isShared_5720_ = v_isSharedCheck_5724_;
goto v_resetjp_5718_;
}
else
{
lean_inc(v_a_5717_);
lean_dec(v___x_5703_);
v___x_5719_ = lean_box(0);
v_isShared_5720_ = v_isSharedCheck_5724_;
goto v_resetjp_5718_;
}
v_resetjp_5718_:
{
lean_object* v___x_5722_; 
if (v_isShared_5720_ == 0)
{
v___x_5722_ = v___x_5719_;
goto v_reusejp_5721_;
}
else
{
lean_object* v_reuseFailAlloc_5723_; 
v_reuseFailAlloc_5723_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5723_, 0, v_a_5717_);
v___x_5722_ = v_reuseFailAlloc_5723_;
goto v_reusejp_5721_;
}
v_reusejp_5721_:
{
return v___x_5722_;
}
}
}
}
}
}
else
{
lean_object* v_a_5726_; lean_object* v___x_5728_; uint8_t v_isShared_5729_; uint8_t v_isSharedCheck_5733_; 
lean_dec_ref(v_val_5685_);
lean_dec(v_a_5678_);
lean_dec_ref(v_a_5677_);
lean_dec(v_a_5676_);
lean_dec_ref(v_a_5675_);
lean_dec(v_declName_5674_);
v_a_5726_ = lean_ctor_get(v___x_5687_, 0);
v_isSharedCheck_5733_ = !lean_is_exclusive(v___x_5687_);
if (v_isSharedCheck_5733_ == 0)
{
v___x_5728_ = v___x_5687_;
v_isShared_5729_ = v_isSharedCheck_5733_;
goto v_resetjp_5727_;
}
else
{
lean_inc(v_a_5726_);
lean_dec(v___x_5687_);
v___x_5728_ = lean_box(0);
v_isShared_5729_ = v_isSharedCheck_5733_;
goto v_resetjp_5727_;
}
v_resetjp_5727_:
{
lean_object* v___x_5731_; 
if (v_isShared_5729_ == 0)
{
v___x_5731_ = v___x_5728_;
goto v_reusejp_5730_;
}
else
{
lean_object* v_reuseFailAlloc_5732_; 
v_reuseFailAlloc_5732_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5732_, 0, v_a_5726_);
v___x_5731_ = v_reuseFailAlloc_5732_;
goto v_reusejp_5730_;
}
v_reusejp_5730_:
{
return v___x_5731_;
}
}
}
}
else
{
lean_object* v___x_5734_; lean_object* v___x_5736_; 
lean_dec(v_a_5681_);
lean_dec(v_a_5678_);
lean_dec_ref(v_a_5677_);
lean_dec(v_a_5676_);
lean_dec_ref(v_a_5675_);
lean_dec(v_declName_5674_);
v___x_5734_ = lean_box(0);
if (v_isShared_5684_ == 0)
{
lean_ctor_set(v___x_5683_, 0, v___x_5734_);
v___x_5736_ = v___x_5683_;
goto v_reusejp_5735_;
}
else
{
lean_object* v_reuseFailAlloc_5737_; 
v_reuseFailAlloc_5737_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5737_, 0, v___x_5734_);
v___x_5736_ = v_reuseFailAlloc_5737_;
goto v_reusejp_5735_;
}
v_reusejp_5735_:
{
return v___x_5736_;
}
}
}
}
else
{
lean_object* v_a_5739_; lean_object* v___x_5741_; uint8_t v_isShared_5742_; uint8_t v_isSharedCheck_5746_; 
lean_dec(v_a_5678_);
lean_dec_ref(v_a_5677_);
lean_dec(v_a_5676_);
lean_dec_ref(v_a_5675_);
lean_dec(v_declName_5674_);
v_a_5739_ = lean_ctor_get(v___x_5680_, 0);
v_isSharedCheck_5746_ = !lean_is_exclusive(v___x_5680_);
if (v_isSharedCheck_5746_ == 0)
{
v___x_5741_ = v___x_5680_;
v_isShared_5742_ = v_isSharedCheck_5746_;
goto v_resetjp_5740_;
}
else
{
lean_inc(v_a_5739_);
lean_dec(v___x_5680_);
v___x_5741_ = lean_box(0);
v_isShared_5742_ = v_isSharedCheck_5746_;
goto v_resetjp_5740_;
}
v_resetjp_5740_:
{
lean_object* v___x_5744_; 
if (v_isShared_5742_ == 0)
{
v___x_5744_ = v___x_5741_;
goto v_reusejp_5743_;
}
else
{
lean_object* v_reuseFailAlloc_5745_; 
v_reuseFailAlloc_5745_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5745_, 0, v_a_5739_);
v___x_5744_ = v_reuseFailAlloc_5745_;
goto v_reusejp_5743_;
}
v_reusejp_5743_:
{
return v___x_5744_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCore___boxed(lean_object* v_declName_5747_, lean_object* v_a_5748_, lean_object* v_a_5749_, lean_object* v_a_5750_, lean_object* v_a_5751_, lean_object* v_a_5752_){
_start:
{
lean_object* v_res_5753_; 
v_res_5753_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCore(v_declName_5747_, v_a_5748_, v_a_5749_, v_a_5750_, v_a_5751_);
return v_res_5753_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__0(lean_object* v_P_5757_, lean_object* v_x_5758_, lean_object* v___x_5759_, lean_object* v_enumName_5760_, lean_object* v_a_5761_, lean_object* v_levelParams_5762_, lean_object* v_val_5763_, lean_object* v___x_5764_, lean_object* v_y_5765_, lean_object* v___y_5766_, lean_object* v___y_5767_, lean_object* v___y_5768_, lean_object* v___y_5769_){
_start:
{
lean_object* v___x_5771_; lean_object* v___x_5772_; lean_object* v___x_5773_; lean_object* v___x_5774_; lean_object* v___x_5775_; uint8_t v___x_5776_; uint8_t v___x_5777_; uint8_t v___x_5778_; lean_object* v___x_5779_; 
v___x_5771_ = lean_unsigned_to_nat(3u);
v___x_5772_ = lean_mk_empty_array_with_capacity(v___x_5771_);
lean_inc_ref(v_P_5757_);
v___x_5773_ = lean_array_push(v___x_5772_, v_P_5757_);
lean_inc_ref(v_x_5758_);
v___x_5774_ = lean_array_push(v___x_5773_, v_x_5758_);
lean_inc_ref(v_y_5765_);
v___x_5775_ = lean_array_push(v___x_5774_, v_y_5765_);
v___x_5776_ = 0;
v___x_5777_ = 1;
v___x_5778_ = 1;
v___x_5779_ = l_Lean_Meta_mkForallFVars(v___x_5775_, v___x_5759_, v___x_5776_, v___x_5777_, v___x_5777_, v___x_5778_, v___y_5766_, v___y_5767_, v___y_5768_, v___y_5769_);
if (lean_obj_tag(v___x_5779_) == 0)
{
lean_object* v_a_5780_; lean_object* v_declValue_5782_; lean_object* v___y_5783_; lean_object* v___y_5784_; lean_object* v___y_5785_; lean_object* v___y_5786_; lean_object* v___x_5799_; lean_object* v___x_5800_; uint8_t v___x_5801_; 
v_a_5780_ = lean_ctor_get(v___x_5779_, 0);
lean_inc(v_a_5780_);
lean_dec_ref(v___x_5779_);
v___x_5799_ = l_Lean_InductiveVal_numCtors(v_val_5763_);
v___x_5800_ = lean_unsigned_to_nat(1u);
v___x_5801_ = lean_nat_dec_eq(v___x_5799_, v___x_5800_);
lean_dec(v___x_5799_);
if (v___x_5801_ == 0)
{
lean_object* v___x_5802_; lean_object* v___x_5803_; lean_object* v___x_5804_; lean_object* v___x_5805_; lean_object* v___x_5806_; lean_object* v___x_5807_; lean_object* v___x_5808_; lean_object* v___x_5809_; lean_object* v___x_5810_; lean_object* v___x_5811_; 
lean_inc(v_enumName_5760_);
v___x_5802_ = l_mkCtorIdxName(v_enumName_5760_);
v___x_5803_ = l_Lean_mkConst(v___x_5802_, v___x_5764_);
v___x_5804_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__0___closed__1));
v___x_5805_ = lean_unsigned_to_nat(4u);
v___x_5806_ = lean_mk_empty_array_with_capacity(v___x_5805_);
v___x_5807_ = lean_array_push(v___x_5806_, v___x_5803_);
v___x_5808_ = lean_array_push(v___x_5807_, v_P_5757_);
v___x_5809_ = lean_array_push(v___x_5808_, v_x_5758_);
v___x_5810_ = lean_array_push(v___x_5809_, v_y_5765_);
lean_inc(v___y_5769_);
lean_inc_ref(v___y_5768_);
lean_inc(v___y_5767_);
lean_inc_ref(v___y_5766_);
v___x_5811_ = l_Lean_Meta_mkAppM(v___x_5804_, v___x_5810_, v___y_5766_, v___y_5767_, v___y_5768_, v___y_5769_);
if (lean_obj_tag(v___x_5811_) == 0)
{
lean_object* v_a_5812_; lean_object* v___x_5813_; 
v_a_5812_ = lean_ctor_get(v___x_5811_, 0);
lean_inc(v_a_5812_);
lean_dec_ref(v___x_5811_);
v___x_5813_ = l_Lean_Meta_mkLambdaFVars(v___x_5775_, v_a_5812_, v___x_5776_, v___x_5777_, v___x_5776_, v___x_5777_, v___x_5778_, v___y_5766_, v___y_5767_, v___y_5768_, v___y_5769_);
lean_dec_ref(v___x_5775_);
if (lean_obj_tag(v___x_5813_) == 0)
{
lean_object* v_a_5814_; 
v_a_5814_ = lean_ctor_get(v___x_5813_, 0);
lean_inc(v_a_5814_);
lean_dec_ref(v___x_5813_);
v_declValue_5782_ = v_a_5814_;
v___y_5783_ = v___y_5766_;
v___y_5784_ = v___y_5767_;
v___y_5785_ = v___y_5768_;
v___y_5786_ = v___y_5769_;
goto v___jp_5781_;
}
else
{
lean_object* v_a_5815_; lean_object* v___x_5817_; uint8_t v_isShared_5818_; uint8_t v_isSharedCheck_5822_; 
lean_dec(v_a_5780_);
lean_dec(v___y_5769_);
lean_dec_ref(v___y_5768_);
lean_dec(v___y_5767_);
lean_dec_ref(v___y_5766_);
lean_dec(v_levelParams_5762_);
lean_dec(v_a_5761_);
lean_dec(v_enumName_5760_);
v_a_5815_ = lean_ctor_get(v___x_5813_, 0);
v_isSharedCheck_5822_ = !lean_is_exclusive(v___x_5813_);
if (v_isSharedCheck_5822_ == 0)
{
v___x_5817_ = v___x_5813_;
v_isShared_5818_ = v_isSharedCheck_5822_;
goto v_resetjp_5816_;
}
else
{
lean_inc(v_a_5815_);
lean_dec(v___x_5813_);
v___x_5817_ = lean_box(0);
v_isShared_5818_ = v_isSharedCheck_5822_;
goto v_resetjp_5816_;
}
v_resetjp_5816_:
{
lean_object* v___x_5820_; 
if (v_isShared_5818_ == 0)
{
v___x_5820_ = v___x_5817_;
goto v_reusejp_5819_;
}
else
{
lean_object* v_reuseFailAlloc_5821_; 
v_reuseFailAlloc_5821_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5821_, 0, v_a_5815_);
v___x_5820_ = v_reuseFailAlloc_5821_;
goto v_reusejp_5819_;
}
v_reusejp_5819_:
{
return v___x_5820_;
}
}
}
}
else
{
lean_object* v_a_5823_; lean_object* v___x_5825_; uint8_t v_isShared_5826_; uint8_t v_isSharedCheck_5830_; 
lean_dec(v_a_5780_);
lean_dec_ref(v___x_5775_);
lean_dec(v___y_5769_);
lean_dec_ref(v___y_5768_);
lean_dec(v___y_5767_);
lean_dec_ref(v___y_5766_);
lean_dec(v_levelParams_5762_);
lean_dec(v_a_5761_);
lean_dec(v_enumName_5760_);
v_a_5823_ = lean_ctor_get(v___x_5811_, 0);
v_isSharedCheck_5830_ = !lean_is_exclusive(v___x_5811_);
if (v_isSharedCheck_5830_ == 0)
{
v___x_5825_ = v___x_5811_;
v_isShared_5826_ = v_isSharedCheck_5830_;
goto v_resetjp_5824_;
}
else
{
lean_inc(v_a_5823_);
lean_dec(v___x_5811_);
v___x_5825_ = lean_box(0);
v_isShared_5826_ = v_isSharedCheck_5830_;
goto v_resetjp_5824_;
}
v_resetjp_5824_:
{
lean_object* v___x_5828_; 
if (v_isShared_5826_ == 0)
{
v___x_5828_ = v___x_5825_;
goto v_reusejp_5827_;
}
else
{
lean_object* v_reuseFailAlloc_5829_; 
v_reuseFailAlloc_5829_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5829_, 0, v_a_5823_);
v___x_5828_ = v_reuseFailAlloc_5829_;
goto v_reusejp_5827_;
}
v_reusejp_5827_:
{
return v___x_5828_;
}
}
}
}
else
{
lean_object* v___x_5831_; 
lean_dec_ref(v_y_5765_);
lean_dec(v___x_5764_);
lean_dec_ref(v_x_5758_);
lean_inc(v___y_5769_);
lean_inc_ref(v___y_5768_);
lean_inc_ref(v_P_5757_);
v___x_5831_ = l_Lean_mkArrow(v_P_5757_, v_P_5757_, v___y_5768_, v___y_5769_);
if (lean_obj_tag(v___x_5831_) == 0)
{
lean_object* v_a_5832_; lean_object* v___x_5833_; 
v_a_5832_ = lean_ctor_get(v___x_5831_, 0);
lean_inc(v_a_5832_);
lean_dec_ref(v___x_5831_);
v___x_5833_ = l_Lean_Meta_mkLambdaFVars(v___x_5775_, v_a_5832_, v___x_5776_, v___x_5777_, v___x_5776_, v___x_5777_, v___x_5778_, v___y_5766_, v___y_5767_, v___y_5768_, v___y_5769_);
lean_dec_ref(v___x_5775_);
if (lean_obj_tag(v___x_5833_) == 0)
{
lean_object* v_a_5834_; 
v_a_5834_ = lean_ctor_get(v___x_5833_, 0);
lean_inc(v_a_5834_);
lean_dec_ref(v___x_5833_);
v_declValue_5782_ = v_a_5834_;
v___y_5783_ = v___y_5766_;
v___y_5784_ = v___y_5767_;
v___y_5785_ = v___y_5768_;
v___y_5786_ = v___y_5769_;
goto v___jp_5781_;
}
else
{
lean_object* v_a_5835_; lean_object* v___x_5837_; uint8_t v_isShared_5838_; uint8_t v_isSharedCheck_5842_; 
lean_dec(v_a_5780_);
lean_dec(v___y_5769_);
lean_dec_ref(v___y_5768_);
lean_dec(v___y_5767_);
lean_dec_ref(v___y_5766_);
lean_dec(v_levelParams_5762_);
lean_dec(v_a_5761_);
lean_dec(v_enumName_5760_);
v_a_5835_ = lean_ctor_get(v___x_5833_, 0);
v_isSharedCheck_5842_ = !lean_is_exclusive(v___x_5833_);
if (v_isSharedCheck_5842_ == 0)
{
v___x_5837_ = v___x_5833_;
v_isShared_5838_ = v_isSharedCheck_5842_;
goto v_resetjp_5836_;
}
else
{
lean_inc(v_a_5835_);
lean_dec(v___x_5833_);
v___x_5837_ = lean_box(0);
v_isShared_5838_ = v_isSharedCheck_5842_;
goto v_resetjp_5836_;
}
v_resetjp_5836_:
{
lean_object* v___x_5840_; 
if (v_isShared_5838_ == 0)
{
v___x_5840_ = v___x_5837_;
goto v_reusejp_5839_;
}
else
{
lean_object* v_reuseFailAlloc_5841_; 
v_reuseFailAlloc_5841_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5841_, 0, v_a_5835_);
v___x_5840_ = v_reuseFailAlloc_5841_;
goto v_reusejp_5839_;
}
v_reusejp_5839_:
{
return v___x_5840_;
}
}
}
}
else
{
lean_object* v_a_5843_; lean_object* v___x_5845_; uint8_t v_isShared_5846_; uint8_t v_isSharedCheck_5850_; 
lean_dec(v_a_5780_);
lean_dec_ref(v___x_5775_);
lean_dec(v___y_5769_);
lean_dec_ref(v___y_5768_);
lean_dec(v___y_5767_);
lean_dec_ref(v___y_5766_);
lean_dec(v_levelParams_5762_);
lean_dec(v_a_5761_);
lean_dec(v_enumName_5760_);
v_a_5843_ = lean_ctor_get(v___x_5831_, 0);
v_isSharedCheck_5850_ = !lean_is_exclusive(v___x_5831_);
if (v_isSharedCheck_5850_ == 0)
{
v___x_5845_ = v___x_5831_;
v_isShared_5846_ = v_isSharedCheck_5850_;
goto v_resetjp_5844_;
}
else
{
lean_inc(v_a_5843_);
lean_dec(v___x_5831_);
v___x_5845_ = lean_box(0);
v_isShared_5846_ = v_isSharedCheck_5850_;
goto v_resetjp_5844_;
}
v_resetjp_5844_:
{
lean_object* v___x_5848_; 
if (v_isShared_5846_ == 0)
{
v___x_5848_ = v___x_5845_;
goto v_reusejp_5847_;
}
else
{
lean_object* v_reuseFailAlloc_5849_; 
v_reuseFailAlloc_5849_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5849_, 0, v_a_5843_);
v___x_5848_ = v_reuseFailAlloc_5849_;
goto v_reusejp_5847_;
}
v_reusejp_5847_:
{
return v___x_5848_;
}
}
}
}
v___jp_5781_:
{
lean_object* v___x_5787_; lean_object* v___x_5788_; lean_object* v___x_5789_; lean_object* v___x_5790_; lean_object* v___x_5791_; uint8_t v___x_5792_; lean_object* v___x_5793_; lean_object* v___x_5794_; lean_object* v___x_5795_; lean_object* v___x_5796_; lean_object* v___x_5797_; 
v___x_5787_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionTypeName___closed__0));
v___x_5788_ = l_Lean_Name_str___override(v_enumName_5760_, v___x_5787_);
v___x_5789_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_5789_, 0, v_a_5761_);
lean_ctor_set(v___x_5789_, 1, v_levelParams_5762_);
lean_inc(v___x_5788_);
v___x_5790_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v___x_5790_, 0, v___x_5788_);
lean_ctor_set(v___x_5790_, 1, v___x_5789_);
lean_ctor_set(v___x_5790_, 2, v_a_5780_);
v___x_5791_ = lean_box(1);
v___x_5792_ = 1;
v___x_5793_ = lean_box(0);
lean_inc(v___x_5788_);
v___x_5794_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_5794_, 0, v___x_5788_);
lean_ctor_set(v___x_5794_, 1, v___x_5793_);
v___x_5795_ = lean_alloc_ctor(0, 4, 1);
lean_ctor_set(v___x_5795_, 0, v___x_5790_);
lean_ctor_set(v___x_5795_, 1, v_declValue_5782_);
lean_ctor_set(v___x_5795_, 2, v___x_5791_);
lean_ctor_set(v___x_5795_, 3, v___x_5794_);
lean_ctor_set_uint8(v___x_5795_, sizeof(void*)*4, v___x_5792_);
v___x_5796_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_5796_, 0, v___x_5795_);
lean_inc(v___y_5786_);
lean_inc_ref(v___y_5785_);
v___x_5797_ = l_Lean_addDecl(v___x_5796_, v___x_5776_, v___y_5785_, v___y_5786_);
if (lean_obj_tag(v___x_5797_) == 0)
{
lean_object* v___x_5798_; 
lean_dec_ref(v___x_5797_);
v___x_5798_ = l_Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7(v___x_5788_, v___y_5783_, v___y_5784_, v___y_5785_, v___y_5786_);
lean_dec(v___y_5786_);
lean_dec_ref(v___y_5785_);
lean_dec(v___y_5784_);
lean_dec_ref(v___y_5783_);
return v___x_5798_;
}
else
{
lean_dec(v___x_5788_);
lean_dec(v___y_5786_);
lean_dec_ref(v___y_5785_);
lean_dec(v___y_5784_);
lean_dec_ref(v___y_5783_);
return v___x_5797_;
}
}
}
else
{
lean_object* v_a_5851_; lean_object* v___x_5853_; uint8_t v_isShared_5854_; uint8_t v_isSharedCheck_5858_; 
lean_dec_ref(v___x_5775_);
lean_dec(v___y_5769_);
lean_dec_ref(v___y_5768_);
lean_dec(v___y_5767_);
lean_dec_ref(v___y_5766_);
lean_dec_ref(v_y_5765_);
lean_dec(v___x_5764_);
lean_dec(v_levelParams_5762_);
lean_dec(v_a_5761_);
lean_dec(v_enumName_5760_);
lean_dec_ref(v_x_5758_);
lean_dec_ref(v_P_5757_);
v_a_5851_ = lean_ctor_get(v___x_5779_, 0);
v_isSharedCheck_5858_ = !lean_is_exclusive(v___x_5779_);
if (v_isSharedCheck_5858_ == 0)
{
v___x_5853_ = v___x_5779_;
v_isShared_5854_ = v_isSharedCheck_5858_;
goto v_resetjp_5852_;
}
else
{
lean_inc(v_a_5851_);
lean_dec(v___x_5779_);
v___x_5853_ = lean_box(0);
v_isShared_5854_ = v_isSharedCheck_5858_;
goto v_resetjp_5852_;
}
v_resetjp_5852_:
{
lean_object* v___x_5856_; 
if (v_isShared_5854_ == 0)
{
v___x_5856_ = v___x_5853_;
goto v_reusejp_5855_;
}
else
{
lean_object* v_reuseFailAlloc_5857_; 
v_reuseFailAlloc_5857_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5857_, 0, v_a_5851_);
v___x_5856_ = v_reuseFailAlloc_5857_;
goto v_reusejp_5855_;
}
v_reusejp_5855_:
{
return v___x_5856_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__0___boxed(lean_object* v_P_5859_, lean_object* v_x_5860_, lean_object* v___x_5861_, lean_object* v_enumName_5862_, lean_object* v_a_5863_, lean_object* v_levelParams_5864_, lean_object* v_val_5865_, lean_object* v___x_5866_, lean_object* v_y_5867_, lean_object* v___y_5868_, lean_object* v___y_5869_, lean_object* v___y_5870_, lean_object* v___y_5871_, lean_object* v___y_5872_){
_start:
{
lean_object* v_res_5873_; 
v_res_5873_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__0(v_P_5859_, v_x_5860_, v___x_5861_, v_enumName_5862_, v_a_5863_, v_levelParams_5864_, v_val_5865_, v___x_5866_, v_y_5867_, v___y_5868_, v___y_5869_, v___y_5870_, v___y_5871_);
lean_dec_ref(v_val_5865_);
return v_res_5873_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__1(lean_object* v_P_5877_, lean_object* v___x_5878_, lean_object* v_enumName_5879_, lean_object* v_a_5880_, lean_object* v_levelParams_5881_, lean_object* v_val_5882_, lean_object* v___x_5883_, lean_object* v___x_5884_, lean_object* v_x_5885_, lean_object* v___y_5886_, lean_object* v___y_5887_, lean_object* v___y_5888_, lean_object* v___y_5889_){
_start:
{
lean_object* v___f_5891_; lean_object* v___x_5892_; lean_object* v___x_5893_; 
v___f_5891_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__0___boxed), 14, 8);
lean_closure_set(v___f_5891_, 0, v_P_5877_);
lean_closure_set(v___f_5891_, 1, v_x_5885_);
lean_closure_set(v___f_5891_, 2, v___x_5878_);
lean_closure_set(v___f_5891_, 3, v_enumName_5879_);
lean_closure_set(v___f_5891_, 4, v_a_5880_);
lean_closure_set(v___f_5891_, 5, v_levelParams_5881_);
lean_closure_set(v___f_5891_, 6, v_val_5882_);
lean_closure_set(v___f_5891_, 7, v___x_5883_);
v___x_5892_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__1___closed__1));
v___x_5893_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg(v___x_5892_, v___x_5884_, v___f_5891_, v___y_5886_, v___y_5887_, v___y_5888_, v___y_5889_);
return v___x_5893_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__1___boxed(lean_object* v_P_5894_, lean_object* v___x_5895_, lean_object* v_enumName_5896_, lean_object* v_a_5897_, lean_object* v_levelParams_5898_, lean_object* v_val_5899_, lean_object* v___x_5900_, lean_object* v___x_5901_, lean_object* v_x_5902_, lean_object* v___y_5903_, lean_object* v___y_5904_, lean_object* v___y_5905_, lean_object* v___y_5906_, lean_object* v___y_5907_){
_start:
{
lean_object* v_res_5908_; 
v_res_5908_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__1(v_P_5894_, v___x_5895_, v_enumName_5896_, v_a_5897_, v_levelParams_5898_, v_val_5899_, v___x_5900_, v___x_5901_, v_x_5902_, v___y_5903_, v___y_5904_, v___y_5905_, v___y_5906_);
return v_res_5908_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__2(lean_object* v___x_5912_, lean_object* v_enumName_5913_, lean_object* v_a_5914_, lean_object* v_levelParams_5915_, lean_object* v_val_5916_, lean_object* v___x_5917_, lean_object* v___x_5918_, lean_object* v_P_5919_, lean_object* v___y_5920_, lean_object* v___y_5921_, lean_object* v___y_5922_, lean_object* v___y_5923_){
_start:
{
lean_object* v___f_5925_; lean_object* v___x_5926_; lean_object* v___x_5927_; 
lean_inc_ref(v___x_5918_);
v___f_5925_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__1___boxed), 14, 8);
lean_closure_set(v___f_5925_, 0, v_P_5919_);
lean_closure_set(v___f_5925_, 1, v___x_5912_);
lean_closure_set(v___f_5925_, 2, v_enumName_5913_);
lean_closure_set(v___f_5925_, 3, v_a_5914_);
lean_closure_set(v___f_5925_, 4, v_levelParams_5915_);
lean_closure_set(v___f_5925_, 5, v_val_5916_);
lean_closure_set(v___f_5925_, 6, v___x_5917_);
lean_closure_set(v___f_5925_, 7, v___x_5918_);
v___x_5926_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__2___closed__1));
v___x_5927_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg(v___x_5926_, v___x_5918_, v___f_5925_, v___y_5920_, v___y_5921_, v___y_5922_, v___y_5923_);
return v___x_5927_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__2___boxed(lean_object* v___x_5928_, lean_object* v_enumName_5929_, lean_object* v_a_5930_, lean_object* v_levelParams_5931_, lean_object* v_val_5932_, lean_object* v___x_5933_, lean_object* v___x_5934_, lean_object* v_P_5935_, lean_object* v___y_5936_, lean_object* v___y_5937_, lean_object* v___y_5938_, lean_object* v___y_5939_, lean_object* v___y_5940_){
_start:
{
lean_object* v_res_5941_; 
v_res_5941_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__2(v___x_5928_, v_enumName_5929_, v_a_5930_, v_levelParams_5931_, v_val_5932_, v___x_5933_, v___x_5934_, v_P_5935_, v___y_5936_, v___y_5937_, v___y_5938_, v___y_5939_);
return v_res_5941_;
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___closed__3(void){
_start:
{
lean_object* v___x_5946_; lean_object* v___x_5947_; lean_object* v___x_5948_; lean_object* v___x_5949_; lean_object* v___x_5950_; lean_object* v___x_5951_; 
v___x_5946_ = ((lean_object*)(l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__6));
v___x_5947_ = lean_unsigned_to_nat(63u);
v___x_5948_ = lean_unsigned_to_nat(376u);
v___x_5949_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___closed__2));
v___x_5950_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__2));
v___x_5951_ = l_mkPanicMessageWithDecl(v___x_5950_, v___x_5949_, v___x_5948_, v___x_5947_, v___x_5946_);
return v___x_5951_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType(lean_object* v_enumName_5952_, lean_object* v_a_5953_, lean_object* v_a_5954_, lean_object* v_a_5955_, lean_object* v_a_5956_){
_start:
{
lean_object* v___x_5958_; 
lean_inc_ref(v_a_5955_);
lean_inc(v_enumName_5952_);
v___x_5958_ = l_Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0(v_enumName_5952_, v_a_5953_, v_a_5954_, v_a_5955_, v_a_5956_);
if (lean_obj_tag(v___x_5958_) == 0)
{
lean_object* v_a_5959_; 
v_a_5959_ = lean_ctor_get(v___x_5958_, 0);
lean_inc(v_a_5959_);
lean_dec_ref(v___x_5958_);
if (lean_obj_tag(v_a_5959_) == 5)
{
lean_object* v_val_5960_; lean_object* v___x_5961_; lean_object* v___x_5962_; 
v_val_5960_ = lean_ctor_get(v_a_5959_, 0);
lean_inc_ref(v_val_5960_);
lean_dec_ref(v_a_5959_);
v___x_5961_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___closed__1));
lean_inc(v_a_5956_);
lean_inc_ref(v_a_5955_);
v___x_5962_ = l_Lean_Core_mkFreshUserName(v___x_5961_, v_a_5955_, v_a_5956_);
if (lean_obj_tag(v___x_5962_) == 0)
{
lean_object* v_toConstantVal_5963_; lean_object* v_a_5964_; lean_object* v_levelParams_5965_; lean_object* v___x_5966_; lean_object* v___x_5967_; lean_object* v___x_5968_; lean_object* v___x_5969_; lean_object* v___x_5970_; lean_object* v___f_5971_; lean_object* v___x_5972_; lean_object* v___x_5973_; 
v_toConstantVal_5963_ = lean_ctor_get(v_val_5960_, 0);
v_a_5964_ = lean_ctor_get(v___x_5962_, 0);
lean_inc(v_a_5964_);
lean_dec_ref(v___x_5962_);
v_levelParams_5965_ = lean_ctor_get(v_toConstantVal_5963_, 1);
lean_inc(v_levelParams_5965_);
v___x_5966_ = lean_box(0);
lean_inc(v_levelParams_5965_);
v___x_5967_ = l_List_mapTR_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__2(v_levelParams_5965_, v___x_5966_);
lean_inc(v___x_5967_);
lean_inc(v_enumName_5952_);
v___x_5968_ = l_Lean_mkConst(v_enumName_5952_, v___x_5967_);
lean_inc(v_a_5964_);
v___x_5969_ = l_Lean_mkLevelParam(v_a_5964_);
v___x_5970_ = l_Lean_mkSort(v___x_5969_);
lean_inc_ref(v___x_5970_);
v___f_5971_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__2___boxed), 13, 7);
lean_closure_set(v___f_5971_, 0, v___x_5970_);
lean_closure_set(v___f_5971_, 1, v_enumName_5952_);
lean_closure_set(v___f_5971_, 2, v_a_5964_);
lean_closure_set(v___f_5971_, 3, v_levelParams_5965_);
lean_closure_set(v___f_5971_, 4, v_val_5960_);
lean_closure_set(v___f_5971_, 5, v___x_5967_);
lean_closure_set(v___f_5971_, 6, v___x_5968_);
v___x_5972_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__1));
v___x_5973_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg(v___x_5972_, v___x_5970_, v___f_5971_, v_a_5953_, v_a_5954_, v_a_5955_, v_a_5956_);
return v___x_5973_;
}
else
{
lean_object* v_a_5974_; lean_object* v___x_5976_; uint8_t v_isShared_5977_; uint8_t v_isSharedCheck_5981_; 
lean_dec_ref(v_val_5960_);
lean_dec(v_a_5956_);
lean_dec_ref(v_a_5955_);
lean_dec(v_a_5954_);
lean_dec_ref(v_a_5953_);
lean_dec(v_enumName_5952_);
v_a_5974_ = lean_ctor_get(v___x_5962_, 0);
v_isSharedCheck_5981_ = !lean_is_exclusive(v___x_5962_);
if (v_isSharedCheck_5981_ == 0)
{
v___x_5976_ = v___x_5962_;
v_isShared_5977_ = v_isSharedCheck_5981_;
goto v_resetjp_5975_;
}
else
{
lean_inc(v_a_5974_);
lean_dec(v___x_5962_);
v___x_5976_ = lean_box(0);
v_isShared_5977_ = v_isSharedCheck_5981_;
goto v_resetjp_5975_;
}
v_resetjp_5975_:
{
lean_object* v___x_5979_; 
if (v_isShared_5977_ == 0)
{
v___x_5979_ = v___x_5976_;
goto v_reusejp_5978_;
}
else
{
lean_object* v_reuseFailAlloc_5980_; 
v_reuseFailAlloc_5980_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5980_, 0, v_a_5974_);
v___x_5979_ = v_reuseFailAlloc_5980_;
goto v_reusejp_5978_;
}
v_reusejp_5978_:
{
return v___x_5979_;
}
}
}
}
else
{
lean_object* v___x_5982_; lean_object* v___x_5983_; 
lean_dec(v_a_5959_);
lean_dec(v_enumName_5952_);
v___x_5982_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___closed__3, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___closed__3_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___closed__3);
v___x_5983_ = l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__8(v___x_5982_, v_a_5953_, v_a_5954_, v_a_5955_, v_a_5956_);
return v___x_5983_;
}
}
else
{
lean_object* v_a_5984_; lean_object* v___x_5986_; uint8_t v_isShared_5987_; uint8_t v_isSharedCheck_5991_; 
lean_dec(v_a_5956_);
lean_dec_ref(v_a_5955_);
lean_dec(v_a_5954_);
lean_dec_ref(v_a_5953_);
lean_dec(v_enumName_5952_);
v_a_5984_ = lean_ctor_get(v___x_5958_, 0);
v_isSharedCheck_5991_ = !lean_is_exclusive(v___x_5958_);
if (v_isSharedCheck_5991_ == 0)
{
v___x_5986_ = v___x_5958_;
v_isShared_5987_ = v_isSharedCheck_5991_;
goto v_resetjp_5985_;
}
else
{
lean_inc(v_a_5984_);
lean_dec(v___x_5958_);
v___x_5986_ = lean_box(0);
v_isShared_5987_ = v_isSharedCheck_5991_;
goto v_resetjp_5985_;
}
v_resetjp_5985_:
{
lean_object* v___x_5989_; 
if (v_isShared_5987_ == 0)
{
v___x_5989_ = v___x_5986_;
goto v_reusejp_5988_;
}
else
{
lean_object* v_reuseFailAlloc_5990_; 
v_reuseFailAlloc_5990_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5990_, 0, v_a_5984_);
v___x_5989_ = v_reuseFailAlloc_5990_;
goto v_reusejp_5988_;
}
v_reusejp_5988_:
{
return v___x_5989_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___boxed(lean_object* v_enumName_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_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType(v_enumName_5992_, v_a_5993_, v_a_5994_, v_a_5995_, v_a_5996_);
return v_res_5998_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__0(uint8_t v___x_5999_, uint8_t v___x_6000_, uint8_t v___x_6001_, lean_object* v_p_6002_, lean_object* v___y_6003_, lean_object* v___y_6004_, lean_object* v___y_6005_, lean_object* v___y_6006_){
_start:
{
lean_object* v___x_6008_; lean_object* v___x_6009_; lean_object* v___x_6010_; lean_object* v___x_6011_; 
v___x_6008_ = lean_unsigned_to_nat(1u);
v___x_6009_ = lean_mk_empty_array_with_capacity(v___x_6008_);
lean_inc_ref(v_p_6002_);
v___x_6010_ = lean_array_push(v___x_6009_, v_p_6002_);
v___x_6011_ = l_Lean_Meta_mkLambdaFVars(v___x_6010_, v_p_6002_, v___x_5999_, v___x_6000_, v___x_5999_, v___x_6000_, v___x_6001_, v___y_6003_, v___y_6004_, v___y_6005_, v___y_6006_);
lean_dec_ref(v___x_6010_);
return v___x_6011_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__0___boxed(lean_object* v___x_6012_, lean_object* v___x_6013_, lean_object* v___x_6014_, lean_object* v_p_6015_, lean_object* v___y_6016_, lean_object* v___y_6017_, lean_object* v___y_6018_, lean_object* v___y_6019_, lean_object* v___y_6020_){
_start:
{
uint8_t v___x_4266__boxed_6021_; uint8_t v___x_4267__boxed_6022_; uint8_t v___x_4268__boxed_6023_; lean_object* v_res_6024_; 
v___x_4266__boxed_6021_ = lean_unbox(v___x_6012_);
v___x_4267__boxed_6022_ = lean_unbox(v___x_6013_);
v___x_4268__boxed_6023_ = lean_unbox(v___x_6014_);
v_res_6024_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__0(v___x_4266__boxed_6021_, v___x_4267__boxed_6022_, v___x_4268__boxed_6023_, v_p_6015_, v___y_6016_, v___y_6017_, v___y_6018_, v___y_6019_);
lean_dec(v___y_6019_);
lean_dec_ref(v___y_6018_);
lean_dec(v___y_6017_);
lean_dec_ref(v___y_6016_);
return v_res_6024_;
}
}
static lean_object* _init_l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__3(void){
_start:
{
lean_object* v___x_6032_; lean_object* v___x_6033_; lean_object* v___x_6034_; lean_object* v___x_6035_; 
v___x_6032_ = lean_box(0);
v___x_6033_ = lean_unsigned_to_nat(8u);
v___x_6034_ = lean_mk_empty_array_with_capacity(v___x_6033_);
v___x_6035_ = lean_array_push(v___x_6034_, v___x_6032_);
return v___x_6035_;
}
}
static lean_object* _init_l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__4(void){
_start:
{
lean_object* v___x_6036_; lean_object* v___x_6037_; lean_object* v___x_6038_; 
v___x_6036_ = lean_box(0);
v___x_6037_ = lean_obj_once(&l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__3, &l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__3_once, _init_l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__3);
v___x_6038_ = lean_array_push(v___x_6037_, v___x_6036_);
return v___x_6038_;
}
}
static lean_object* _init_l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__5(void){
_start:
{
lean_object* v___x_6039_; lean_object* v___x_6040_; lean_object* v___x_6041_; 
v___x_6039_ = lean_box(0);
v___x_6040_ = lean_obj_once(&l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__4, &l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__4_once, _init_l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__4);
v___x_6041_ = lean_array_push(v___x_6040_, v___x_6039_);
return v___x_6041_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1(lean_object* v_P_6045_, lean_object* v_x_6046_, lean_object* v_b_6047_, lean_object* v___x_6048_, uint8_t v___x_6049_, lean_object* v_val_6050_, lean_object* v_enumName_6051_, lean_object* v_a_6052_, lean_object* v___x_6053_, lean_object* v___x_6054_, lean_object* v_h_6055_, lean_object* v___y_6056_, lean_object* v___y_6057_, lean_object* v___y_6058_, lean_object* v___y_6059_){
_start:
{
lean_object* v___x_6061_; lean_object* v___x_6062_; lean_object* v___x_6063_; lean_object* v___x_6064_; lean_object* v___x_6065_; lean_object* v___x_6066_; lean_object* v___x_6067_; uint8_t v___x_6068_; uint8_t v___x_6069_; lean_object* v___x_6070_; 
v___x_6061_ = lean_unsigned_to_nat(4u);
v___x_6062_ = lean_mk_empty_array_with_capacity(v___x_6061_);
lean_inc_ref(v_P_6045_);
v___x_6063_ = lean_array_push(v___x_6062_, v_P_6045_);
lean_inc_ref(v_x_6046_);
v___x_6064_ = lean_array_push(v___x_6063_, v_x_6046_);
lean_inc_ref(v_b_6047_);
v___x_6065_ = lean_array_push(v___x_6064_, v_b_6047_);
lean_inc_ref(v_h_6055_);
v___x_6066_ = lean_array_push(v___x_6065_, v_h_6055_);
lean_inc_ref(v_b_6047_);
lean_inc_ref(v_x_6046_);
lean_inc_ref(v_P_6045_);
v___x_6067_ = l_Lean_mkApp3(v___x_6048_, v_P_6045_, v_x_6046_, v_b_6047_);
v___x_6068_ = 0;
v___x_6069_ = 1;
v___x_6070_ = l_Lean_Meta_mkForallFVars(v___x_6066_, v___x_6067_, v___x_6068_, v___x_6069_, v___x_6069_, v___x_6049_, v___y_6056_, v___y_6057_, v___y_6058_, v___y_6059_);
if (lean_obj_tag(v___x_6070_) == 0)
{
lean_object* v_a_6071_; lean_object* v___x_6072_; lean_object* v___x_6073_; lean_object* v___y_6075_; uint8_t v___x_6152_; 
v_a_6071_ = lean_ctor_get(v___x_6070_, 0);
lean_inc(v_a_6071_);
lean_dec_ref(v___x_6070_);
v___x_6072_ = l_Lean_InductiveVal_numCtors(v_val_6050_);
v___x_6073_ = lean_unsigned_to_nat(1u);
v___x_6152_ = lean_nat_dec_eq(v___x_6072_, v___x_6073_);
lean_dec(v___x_6072_);
if (v___x_6152_ == 0)
{
lean_object* v___x_6153_; lean_object* v___x_6154_; lean_object* v___x_6155_; lean_object* v___x_6156_; lean_object* v___x_6157_; lean_object* v___x_6158_; lean_object* v___x_6159_; lean_object* v___x_6160_; lean_object* v___x_6161_; lean_object* v___x_6162_; lean_object* v___x_6163_; lean_object* v___x_6164_; lean_object* v___x_6165_; 
v___x_6153_ = ((lean_object*)(l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__2));
v___x_6154_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_6154_, 0, v___x_6054_);
v___x_6155_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_6155_, 0, v_P_6045_);
v___x_6156_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_6156_, 0, v_x_6046_);
v___x_6157_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_6157_, 0, v_b_6047_);
v___x_6158_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_6158_, 0, v_h_6055_);
v___x_6159_ = lean_obj_once(&l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__5, &l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__5_once, _init_l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__5);
v___x_6160_ = lean_array_push(v___x_6159_, v___x_6154_);
v___x_6161_ = lean_array_push(v___x_6160_, v___x_6155_);
v___x_6162_ = lean_array_push(v___x_6161_, v___x_6156_);
v___x_6163_ = lean_array_push(v___x_6162_, v___x_6157_);
v___x_6164_ = lean_array_push(v___x_6163_, v___x_6158_);
lean_inc(v___y_6059_);
lean_inc_ref(v___y_6058_);
lean_inc(v___y_6057_);
lean_inc_ref(v___y_6056_);
v___x_6165_ = l_Lean_Meta_mkAppOptM(v___x_6153_, v___x_6164_, v___y_6056_, v___y_6057_, v___y_6058_, v___y_6059_);
v___y_6075_ = v___x_6165_;
goto v___jp_6074_;
}
else
{
lean_object* v___x_6166_; lean_object* v___x_6167_; lean_object* v___x_6168_; lean_object* v___f_6169_; lean_object* v___x_6170_; lean_object* v___x_6171_; 
lean_dec_ref(v_h_6055_);
lean_dec_ref(v___x_6054_);
lean_dec_ref(v_b_6047_);
lean_dec_ref(v_x_6046_);
v___x_6166_ = lean_box(v___x_6068_);
v___x_6167_ = lean_box(v___x_6069_);
v___x_6168_ = lean_box(v___x_6049_);
v___f_6169_ = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__0___boxed), 9, 3);
lean_closure_set(v___f_6169_, 0, v___x_6166_);
lean_closure_set(v___f_6169_, 1, v___x_6167_);
lean_closure_set(v___f_6169_, 2, v___x_6168_);
v___x_6170_ = ((lean_object*)(l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__7));
lean_inc(v___y_6059_);
lean_inc_ref(v___y_6058_);
lean_inc(v___y_6057_);
lean_inc_ref(v___y_6056_);
v___x_6171_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg(v___x_6170_, v_P_6045_, v___f_6169_, v___y_6056_, v___y_6057_, v___y_6058_, v___y_6059_);
v___y_6075_ = v___x_6171_;
goto v___jp_6074_;
}
v___jp_6074_:
{
if (lean_obj_tag(v___y_6075_) == 0)
{
lean_object* v_a_6076_; lean_object* v___x_6077_; 
v_a_6076_ = lean_ctor_get(v___y_6075_, 0);
lean_inc(v_a_6076_);
lean_dec_ref(v___y_6075_);
v___x_6077_ = l_Lean_Meta_mkLambdaFVars(v___x_6066_, v_a_6076_, v___x_6068_, v___x_6069_, v___x_6068_, v___x_6069_, v___x_6049_, v___y_6056_, v___y_6057_, v___y_6058_, v___y_6059_);
lean_dec_ref(v___x_6066_);
if (lean_obj_tag(v___x_6077_) == 0)
{
lean_object* v_a_6078_; lean_object* v___x_6079_; lean_object* v___x_6080_; lean_object* v___x_6081_; lean_object* v___x_6082_; lean_object* v___x_6083_; uint8_t v___x_6084_; lean_object* v___x_6085_; lean_object* v___x_6086_; lean_object* v___x_6087_; lean_object* v___x_6088_; lean_object* v___x_6089_; 
v_a_6078_ = lean_ctor_get(v___x_6077_, 0);
lean_inc(v_a_6078_);
lean_dec_ref(v___x_6077_);
v___x_6079_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCoreImp___closed__0));
v___x_6080_ = l_Lean_Name_str___override(v_enumName_6051_, v___x_6079_);
v___x_6081_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_6081_, 0, v_a_6052_);
lean_ctor_set(v___x_6081_, 1, v___x_6053_);
lean_inc(v___x_6080_);
v___x_6082_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v___x_6082_, 0, v___x_6080_);
lean_ctor_set(v___x_6082_, 1, v___x_6081_);
lean_ctor_set(v___x_6082_, 2, v_a_6071_);
v___x_6083_ = lean_box(1);
v___x_6084_ = 1;
v___x_6085_ = lean_box(0);
lean_inc(v___x_6080_);
v___x_6086_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_6086_, 0, v___x_6080_);
lean_ctor_set(v___x_6086_, 1, v___x_6085_);
v___x_6087_ = lean_alloc_ctor(0, 4, 1);
lean_ctor_set(v___x_6087_, 0, v___x_6082_);
lean_ctor_set(v___x_6087_, 1, v_a_6078_);
lean_ctor_set(v___x_6087_, 2, v___x_6083_);
lean_ctor_set(v___x_6087_, 3, v___x_6086_);
lean_ctor_set_uint8(v___x_6087_, sizeof(void*)*4, v___x_6084_);
v___x_6088_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_6088_, 0, v___x_6087_);
lean_inc(v___y_6059_);
lean_inc_ref(v___y_6058_);
v___x_6089_ = l_Lean_addDecl(v___x_6088_, v___x_6068_, v___y_6058_, v___y_6059_);
if (lean_obj_tag(v___x_6089_) == 0)
{
lean_object* v___x_6090_; lean_object* v___x_6092_; uint8_t v_isShared_6093_; uint8_t v_isSharedCheck_6134_; 
lean_dec_ref(v___x_6089_);
lean_inc(v___x_6080_);
v___x_6090_ = l_Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7(v___x_6080_, v___y_6056_, v___y_6057_, v___y_6058_, v___y_6059_);
lean_dec_ref(v___y_6058_);
lean_dec_ref(v___y_6056_);
v_isSharedCheck_6134_ = !lean_is_exclusive(v___x_6090_);
if (v_isSharedCheck_6134_ == 0)
{
lean_object* v_unused_6135_; 
v_unused_6135_ = lean_ctor_get(v___x_6090_, 0);
lean_dec(v_unused_6135_);
v___x_6092_ = v___x_6090_;
v_isShared_6093_ = v_isSharedCheck_6134_;
goto v_resetjp_6091_;
}
else
{
lean_dec(v___x_6090_);
v___x_6092_ = lean_box(0);
v_isShared_6093_ = v_isSharedCheck_6134_;
goto v_resetjp_6091_;
}
v_resetjp_6091_:
{
lean_object* v___x_6094_; lean_object* v_env_6095_; lean_object* v_nextMacroScope_6096_; lean_object* v_ngen_6097_; lean_object* v_auxDeclNGen_6098_; lean_object* v_traceState_6099_; lean_object* v_messages_6100_; lean_object* v_infoState_6101_; lean_object* v_snapshotTasks_6102_; lean_object* v___x_6104_; uint8_t v_isShared_6105_; uint8_t v_isSharedCheck_6132_; 
v___x_6094_ = lean_st_ref_take(v___y_6059_);
v_env_6095_ = lean_ctor_get(v___x_6094_, 0);
v_nextMacroScope_6096_ = lean_ctor_get(v___x_6094_, 1);
v_ngen_6097_ = lean_ctor_get(v___x_6094_, 2);
v_auxDeclNGen_6098_ = lean_ctor_get(v___x_6094_, 3);
v_traceState_6099_ = lean_ctor_get(v___x_6094_, 4);
v_messages_6100_ = lean_ctor_get(v___x_6094_, 6);
v_infoState_6101_ = lean_ctor_get(v___x_6094_, 7);
v_snapshotTasks_6102_ = lean_ctor_get(v___x_6094_, 8);
v_isSharedCheck_6132_ = !lean_is_exclusive(v___x_6094_);
if (v_isSharedCheck_6132_ == 0)
{
lean_object* v_unused_6133_; 
v_unused_6133_ = lean_ctor_get(v___x_6094_, 5);
lean_dec(v_unused_6133_);
v___x_6104_ = v___x_6094_;
v_isShared_6105_ = v_isSharedCheck_6132_;
goto v_resetjp_6103_;
}
else
{
lean_inc(v_snapshotTasks_6102_);
lean_inc(v_infoState_6101_);
lean_inc(v_messages_6100_);
lean_inc(v_traceState_6099_);
lean_inc(v_auxDeclNGen_6098_);
lean_inc(v_ngen_6097_);
lean_inc(v_nextMacroScope_6096_);
lean_inc(v_env_6095_);
lean_dec(v___x_6094_);
v___x_6104_ = lean_box(0);
v_isShared_6105_ = v_isSharedCheck_6132_;
goto v_resetjp_6103_;
}
v_resetjp_6103_:
{
lean_object* v___x_6106_; lean_object* v___x_6107_; lean_object* v___x_6108_; lean_object* v___x_6110_; 
v___x_6106_ = ((lean_object*)(l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__0));
v___x_6107_ = l_Lean_markNoConfusion(v_env_6095_, v___x_6080_, v___x_6106_);
v___x_6108_ = lean_obj_once(&l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__2, &l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__2_once, _init_l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__2);
if (v_isShared_6105_ == 0)
{
lean_ctor_set(v___x_6104_, 5, v___x_6108_);
lean_ctor_set(v___x_6104_, 0, v___x_6107_);
v___x_6110_ = v___x_6104_;
goto v_reusejp_6109_;
}
else
{
lean_object* v_reuseFailAlloc_6131_; 
v_reuseFailAlloc_6131_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_6131_, 0, v___x_6107_);
lean_ctor_set(v_reuseFailAlloc_6131_, 1, v_nextMacroScope_6096_);
lean_ctor_set(v_reuseFailAlloc_6131_, 2, v_ngen_6097_);
lean_ctor_set(v_reuseFailAlloc_6131_, 3, v_auxDeclNGen_6098_);
lean_ctor_set(v_reuseFailAlloc_6131_, 4, v_traceState_6099_);
lean_ctor_set(v_reuseFailAlloc_6131_, 5, v___x_6108_);
lean_ctor_set(v_reuseFailAlloc_6131_, 6, v_messages_6100_);
lean_ctor_set(v_reuseFailAlloc_6131_, 7, v_infoState_6101_);
lean_ctor_set(v_reuseFailAlloc_6131_, 8, v_snapshotTasks_6102_);
v___x_6110_ = v_reuseFailAlloc_6131_;
goto v_reusejp_6109_;
}
v_reusejp_6109_:
{
lean_object* v___x_6111_; lean_object* v___x_6112_; lean_object* v_mctx_6113_; lean_object* v_zetaDeltaFVarIds_6114_; lean_object* v_postponed_6115_; lean_object* v_diag_6116_; lean_object* v___x_6118_; uint8_t v_isShared_6119_; uint8_t v_isSharedCheck_6129_; 
v___x_6111_ = lean_st_ref_set(v___y_6059_, v___x_6110_);
lean_dec(v___y_6059_);
v___x_6112_ = lean_st_ref_take(v___y_6057_);
v_mctx_6113_ = lean_ctor_get(v___x_6112_, 0);
v_zetaDeltaFVarIds_6114_ = lean_ctor_get(v___x_6112_, 2);
v_postponed_6115_ = lean_ctor_get(v___x_6112_, 3);
v_diag_6116_ = lean_ctor_get(v___x_6112_, 4);
v_isSharedCheck_6129_ = !lean_is_exclusive(v___x_6112_);
if (v_isSharedCheck_6129_ == 0)
{
lean_object* v_unused_6130_; 
v_unused_6130_ = lean_ctor_get(v___x_6112_, 1);
lean_dec(v_unused_6130_);
v___x_6118_ = v___x_6112_;
v_isShared_6119_ = v_isSharedCheck_6129_;
goto v_resetjp_6117_;
}
else
{
lean_inc(v_diag_6116_);
lean_inc(v_postponed_6115_);
lean_inc(v_zetaDeltaFVarIds_6114_);
lean_inc(v_mctx_6113_);
lean_dec(v___x_6112_);
v___x_6118_ = lean_box(0);
v_isShared_6119_ = v_isSharedCheck_6129_;
goto v_resetjp_6117_;
}
v_resetjp_6117_:
{
lean_object* v___x_6120_; lean_object* v___x_6122_; 
v___x_6120_ = lean_obj_once(&l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__3, &l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__3_once, _init_l_Lean_setReducibilityStatus___at___00Lean_setReducibleAttribute___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__7_spec__8___redArg___closed__3);
if (v_isShared_6119_ == 0)
{
lean_ctor_set(v___x_6118_, 1, v___x_6120_);
v___x_6122_ = v___x_6118_;
goto v_reusejp_6121_;
}
else
{
lean_object* v_reuseFailAlloc_6128_; 
v_reuseFailAlloc_6128_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_6128_, 0, v_mctx_6113_);
lean_ctor_set(v_reuseFailAlloc_6128_, 1, v___x_6120_);
lean_ctor_set(v_reuseFailAlloc_6128_, 2, v_zetaDeltaFVarIds_6114_);
lean_ctor_set(v_reuseFailAlloc_6128_, 3, v_postponed_6115_);
lean_ctor_set(v_reuseFailAlloc_6128_, 4, v_diag_6116_);
v___x_6122_ = v_reuseFailAlloc_6128_;
goto v_reusejp_6121_;
}
v_reusejp_6121_:
{
lean_object* v___x_6123_; lean_object* v___x_6124_; lean_object* v___x_6126_; 
v___x_6123_ = lean_st_ref_set(v___y_6057_, v___x_6122_);
lean_dec(v___y_6057_);
v___x_6124_ = lean_box(0);
if (v_isShared_6093_ == 0)
{
lean_ctor_set(v___x_6092_, 0, v___x_6124_);
v___x_6126_ = v___x_6092_;
goto v_reusejp_6125_;
}
else
{
lean_object* v_reuseFailAlloc_6127_; 
v_reuseFailAlloc_6127_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6127_, 0, v___x_6124_);
v___x_6126_ = v_reuseFailAlloc_6127_;
goto v_reusejp_6125_;
}
v_reusejp_6125_:
{
return v___x_6126_;
}
}
}
}
}
}
}
else
{
lean_dec(v___x_6080_);
lean_dec(v___y_6059_);
lean_dec_ref(v___y_6058_);
lean_dec(v___y_6057_);
lean_dec_ref(v___y_6056_);
return v___x_6089_;
}
}
else
{
lean_object* v_a_6136_; lean_object* v___x_6138_; uint8_t v_isShared_6139_; uint8_t v_isSharedCheck_6143_; 
lean_dec(v_a_6071_);
lean_dec(v___y_6059_);
lean_dec_ref(v___y_6058_);
lean_dec(v___y_6057_);
lean_dec_ref(v___y_6056_);
lean_dec(v___x_6053_);
lean_dec(v_a_6052_);
lean_dec(v_enumName_6051_);
v_a_6136_ = lean_ctor_get(v___x_6077_, 0);
v_isSharedCheck_6143_ = !lean_is_exclusive(v___x_6077_);
if (v_isSharedCheck_6143_ == 0)
{
v___x_6138_ = v___x_6077_;
v_isShared_6139_ = v_isSharedCheck_6143_;
goto v_resetjp_6137_;
}
else
{
lean_inc(v_a_6136_);
lean_dec(v___x_6077_);
v___x_6138_ = lean_box(0);
v_isShared_6139_ = v_isSharedCheck_6143_;
goto v_resetjp_6137_;
}
v_resetjp_6137_:
{
lean_object* v___x_6141_; 
if (v_isShared_6139_ == 0)
{
v___x_6141_ = v___x_6138_;
goto v_reusejp_6140_;
}
else
{
lean_object* v_reuseFailAlloc_6142_; 
v_reuseFailAlloc_6142_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6142_, 0, v_a_6136_);
v___x_6141_ = v_reuseFailAlloc_6142_;
goto v_reusejp_6140_;
}
v_reusejp_6140_:
{
return v___x_6141_;
}
}
}
}
else
{
lean_object* v_a_6144_; lean_object* v___x_6146_; uint8_t v_isShared_6147_; uint8_t v_isSharedCheck_6151_; 
lean_dec(v_a_6071_);
lean_dec_ref(v___x_6066_);
lean_dec(v___y_6059_);
lean_dec_ref(v___y_6058_);
lean_dec(v___y_6057_);
lean_dec_ref(v___y_6056_);
lean_dec(v___x_6053_);
lean_dec(v_a_6052_);
lean_dec(v_enumName_6051_);
v_a_6144_ = lean_ctor_get(v___y_6075_, 0);
v_isSharedCheck_6151_ = !lean_is_exclusive(v___y_6075_);
if (v_isSharedCheck_6151_ == 0)
{
v___x_6146_ = v___y_6075_;
v_isShared_6147_ = v_isSharedCheck_6151_;
goto v_resetjp_6145_;
}
else
{
lean_inc(v_a_6144_);
lean_dec(v___y_6075_);
v___x_6146_ = lean_box(0);
v_isShared_6147_ = v_isSharedCheck_6151_;
goto v_resetjp_6145_;
}
v_resetjp_6145_:
{
lean_object* v___x_6149_; 
if (v_isShared_6147_ == 0)
{
v___x_6149_ = v___x_6146_;
goto v_reusejp_6148_;
}
else
{
lean_object* v_reuseFailAlloc_6150_; 
v_reuseFailAlloc_6150_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6150_, 0, v_a_6144_);
v___x_6149_ = v_reuseFailAlloc_6150_;
goto v_reusejp_6148_;
}
v_reusejp_6148_:
{
return v___x_6149_;
}
}
}
}
}
else
{
lean_object* v_a_6172_; lean_object* v___x_6174_; uint8_t v_isShared_6175_; uint8_t v_isSharedCheck_6179_; 
lean_dec_ref(v___x_6066_);
lean_dec(v___y_6059_);
lean_dec_ref(v___y_6058_);
lean_dec(v___y_6057_);
lean_dec_ref(v___y_6056_);
lean_dec_ref(v_h_6055_);
lean_dec_ref(v___x_6054_);
lean_dec(v___x_6053_);
lean_dec(v_a_6052_);
lean_dec(v_enumName_6051_);
lean_dec_ref(v_b_6047_);
lean_dec_ref(v_x_6046_);
lean_dec_ref(v_P_6045_);
v_a_6172_ = lean_ctor_get(v___x_6070_, 0);
v_isSharedCheck_6179_ = !lean_is_exclusive(v___x_6070_);
if (v_isSharedCheck_6179_ == 0)
{
v___x_6174_ = v___x_6070_;
v_isShared_6175_ = v_isSharedCheck_6179_;
goto v_resetjp_6173_;
}
else
{
lean_inc(v_a_6172_);
lean_dec(v___x_6070_);
v___x_6174_ = lean_box(0);
v_isShared_6175_ = v_isSharedCheck_6179_;
goto v_resetjp_6173_;
}
v_resetjp_6173_:
{
lean_object* v___x_6177_; 
if (v_isShared_6175_ == 0)
{
v___x_6177_ = v___x_6174_;
goto v_reusejp_6176_;
}
else
{
lean_object* v_reuseFailAlloc_6178_; 
v_reuseFailAlloc_6178_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6178_, 0, v_a_6172_);
v___x_6177_ = v_reuseFailAlloc_6178_;
goto v_reusejp_6176_;
}
v_reusejp_6176_:
{
return v___x_6177_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___boxed(lean_object* v_P_6180_, lean_object* v_x_6181_, lean_object* v_b_6182_, lean_object* v___x_6183_, lean_object* v___x_6184_, lean_object* v_val_6185_, lean_object* v_enumName_6186_, lean_object* v_a_6187_, lean_object* v___x_6188_, lean_object* v___x_6189_, lean_object* v_h_6190_, lean_object* v___y_6191_, lean_object* v___y_6192_, lean_object* v___y_6193_, lean_object* v___y_6194_, lean_object* v___y_6195_){
_start:
{
uint8_t v___x_4353__boxed_6196_; lean_object* v_res_6197_; 
v___x_4353__boxed_6196_ = lean_unbox(v___x_6184_);
v_res_6197_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1(v_P_6180_, v_x_6181_, v_b_6182_, v___x_6183_, v___x_4353__boxed_6196_, v_val_6185_, v_enumName_6186_, v_a_6187_, v___x_6188_, v___x_6189_, v_h_6190_, v___y_6191_, v___y_6192_, v___y_6193_, v___y_6194_);
lean_dec_ref(v_val_6185_);
return v_res_6197_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__2(lean_object* v_x_6198_, lean_object* v_P_6199_, lean_object* v___x_6200_, uint8_t v___x_6201_, lean_object* v_val_6202_, lean_object* v_enumName_6203_, lean_object* v_a_6204_, lean_object* v___x_6205_, lean_object* v___x_6206_, lean_object* v_b_6207_, lean_object* v___y_6208_, lean_object* v___y_6209_, lean_object* v___y_6210_, lean_object* v___y_6211_){
_start:
{
lean_object* v___x_6213_; 
lean_inc(v___y_6211_);
lean_inc_ref(v___y_6210_);
lean_inc(v___y_6209_);
lean_inc_ref(v___y_6208_);
lean_inc_ref(v_b_6207_);
lean_inc_ref(v_x_6198_);
v___x_6213_ = l_Lean_Meta_mkEq(v_x_6198_, v_b_6207_, v___y_6208_, v___y_6209_, v___y_6210_, v___y_6211_);
if (lean_obj_tag(v___x_6213_) == 0)
{
lean_object* v_a_6214_; lean_object* v___x_6215_; lean_object* v___f_6216_; lean_object* v___x_6217_; lean_object* v___x_6218_; 
v_a_6214_ = lean_ctor_get(v___x_6213_, 0);
lean_inc(v_a_6214_);
lean_dec_ref(v___x_6213_);
v___x_6215_ = lean_box(v___x_6201_);
v___f_6216_ = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___boxed), 16, 10);
lean_closure_set(v___f_6216_, 0, v_P_6199_);
lean_closure_set(v___f_6216_, 1, v_x_6198_);
lean_closure_set(v___f_6216_, 2, v_b_6207_);
lean_closure_set(v___f_6216_, 3, v___x_6200_);
lean_closure_set(v___f_6216_, 4, v___x_6215_);
lean_closure_set(v___f_6216_, 5, v_val_6202_);
lean_closure_set(v___f_6216_, 6, v_enumName_6203_);
lean_closure_set(v___f_6216_, 7, v_a_6204_);
lean_closure_set(v___f_6216_, 8, v___x_6205_);
lean_closure_set(v___f_6216_, 9, v___x_6206_);
v___x_6217_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq___closed__13));
v___x_6218_ = l_Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0___redArg(v___x_6217_, v_a_6214_, v___f_6216_, v___y_6208_, v___y_6209_, v___y_6210_, v___y_6211_);
return v___x_6218_;
}
else
{
lean_object* v_a_6219_; lean_object* v___x_6221_; uint8_t v_isShared_6222_; uint8_t v_isSharedCheck_6226_; 
lean_dec(v___y_6211_);
lean_dec_ref(v___y_6210_);
lean_dec(v___y_6209_);
lean_dec_ref(v___y_6208_);
lean_dec_ref(v_b_6207_);
lean_dec_ref(v___x_6206_);
lean_dec(v___x_6205_);
lean_dec(v_a_6204_);
lean_dec(v_enumName_6203_);
lean_dec_ref(v_val_6202_);
lean_dec_ref(v___x_6200_);
lean_dec_ref(v_P_6199_);
lean_dec_ref(v_x_6198_);
v_a_6219_ = lean_ctor_get(v___x_6213_, 0);
v_isSharedCheck_6226_ = !lean_is_exclusive(v___x_6213_);
if (v_isSharedCheck_6226_ == 0)
{
v___x_6221_ = v___x_6213_;
v_isShared_6222_ = v_isSharedCheck_6226_;
goto v_resetjp_6220_;
}
else
{
lean_inc(v_a_6219_);
lean_dec(v___x_6213_);
v___x_6221_ = lean_box(0);
v_isShared_6222_ = v_isSharedCheck_6226_;
goto v_resetjp_6220_;
}
v_resetjp_6220_:
{
lean_object* v___x_6224_; 
if (v_isShared_6222_ == 0)
{
v___x_6224_ = v___x_6221_;
goto v_reusejp_6223_;
}
else
{
lean_object* v_reuseFailAlloc_6225_; 
v_reuseFailAlloc_6225_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6225_, 0, v_a_6219_);
v___x_6224_ = v_reuseFailAlloc_6225_;
goto v_reusejp_6223_;
}
v_reusejp_6223_:
{
return v___x_6224_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__2___boxed(lean_object* v_x_6227_, lean_object* v_P_6228_, lean_object* v___x_6229_, lean_object* v___x_6230_, lean_object* v_val_6231_, lean_object* v_enumName_6232_, lean_object* v_a_6233_, lean_object* v___x_6234_, lean_object* v___x_6235_, lean_object* v_b_6236_, lean_object* v___y_6237_, lean_object* v___y_6238_, lean_object* v___y_6239_, lean_object* v___y_6240_, lean_object* v___y_6241_){
_start:
{
uint8_t v___x_4627__boxed_6242_; lean_object* v_res_6243_; 
v___x_4627__boxed_6242_ = lean_unbox(v___x_6230_);
v_res_6243_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__2(v_x_6227_, v_P_6228_, v___x_6229_, v___x_4627__boxed_6242_, v_val_6231_, v_enumName_6232_, v_a_6233_, v___x_6234_, v___x_6235_, v_b_6236_, v___y_6237_, v___y_6238_, v___y_6239_, v___y_6240_);
return v_res_6243_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0(lean_object* v_P_6244_, lean_object* v_x_6245_, lean_object* v___x_6246_, lean_object* v_val_6247_, lean_object* v_enumName_6248_, lean_object* v_a_6249_, lean_object* v___x_6250_, lean_object* v___x_6251_, lean_object* v_name_6252_, uint8_t v_bi_6253_, lean_object* v_type_6254_, uint8_t v_kind_6255_, lean_object* v___y_6256_, lean_object* v___y_6257_, lean_object* v___y_6258_, lean_object* v___y_6259_){
_start:
{
uint8_t v___x_6261_; lean_object* v___x_6262_; lean_object* v___f_6263_; lean_object* v___x_6264_; 
v___x_6261_ = 1;
v___x_6262_ = lean_box(v___x_6261_);
v___f_6263_ = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__2___boxed), 15, 9);
lean_closure_set(v___f_6263_, 0, v_x_6245_);
lean_closure_set(v___f_6263_, 1, v_P_6244_);
lean_closure_set(v___f_6263_, 2, v___x_6246_);
lean_closure_set(v___f_6263_, 3, v___x_6262_);
lean_closure_set(v___f_6263_, 4, v_val_6247_);
lean_closure_set(v___f_6263_, 5, v_enumName_6248_);
lean_closure_set(v___f_6263_, 6, v_a_6249_);
lean_closure_set(v___f_6263_, 7, v___x_6250_);
lean_closure_set(v___f_6263_, 8, v___x_6251_);
v___x_6264_ = l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp(lean_box(0), v_name_6252_, v_bi_6253_, v_type_6254_, v___f_6263_, v_kind_6255_, v___y_6256_, v___y_6257_, v___y_6258_, v___y_6259_);
if (lean_obj_tag(v___x_6264_) == 0)
{
lean_object* v_a_6265_; lean_object* v___x_6267_; uint8_t v_isShared_6268_; uint8_t v_isSharedCheck_6272_; 
v_a_6265_ = lean_ctor_get(v___x_6264_, 0);
v_isSharedCheck_6272_ = !lean_is_exclusive(v___x_6264_);
if (v_isSharedCheck_6272_ == 0)
{
v___x_6267_ = v___x_6264_;
v_isShared_6268_ = v_isSharedCheck_6272_;
goto v_resetjp_6266_;
}
else
{
lean_inc(v_a_6265_);
lean_dec(v___x_6264_);
v___x_6267_ = lean_box(0);
v_isShared_6268_ = v_isSharedCheck_6272_;
goto v_resetjp_6266_;
}
v_resetjp_6266_:
{
lean_object* v___x_6270_; 
if (v_isShared_6268_ == 0)
{
v___x_6270_ = v___x_6267_;
goto v_reusejp_6269_;
}
else
{
lean_object* v_reuseFailAlloc_6271_; 
v_reuseFailAlloc_6271_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6271_, 0, v_a_6265_);
v___x_6270_ = v_reuseFailAlloc_6271_;
goto v_reusejp_6269_;
}
v_reusejp_6269_:
{
return v___x_6270_;
}
}
}
else
{
lean_object* v_a_6273_; lean_object* v___x_6275_; uint8_t v_isShared_6276_; uint8_t v_isSharedCheck_6280_; 
v_a_6273_ = lean_ctor_get(v___x_6264_, 0);
v_isSharedCheck_6280_ = !lean_is_exclusive(v___x_6264_);
if (v_isSharedCheck_6280_ == 0)
{
v___x_6275_ = v___x_6264_;
v_isShared_6276_ = v_isSharedCheck_6280_;
goto v_resetjp_6274_;
}
else
{
lean_inc(v_a_6273_);
lean_dec(v___x_6264_);
v___x_6275_ = lean_box(0);
v_isShared_6276_ = v_isSharedCheck_6280_;
goto v_resetjp_6274_;
}
v_resetjp_6274_:
{
lean_object* v___x_6278_; 
if (v_isShared_6276_ == 0)
{
v___x_6278_ = v___x_6275_;
goto v_reusejp_6277_;
}
else
{
lean_object* v_reuseFailAlloc_6279_; 
v_reuseFailAlloc_6279_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6279_, 0, v_a_6273_);
v___x_6278_ = v_reuseFailAlloc_6279_;
goto v_reusejp_6277_;
}
v_reusejp_6277_:
{
return v___x_6278_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___boxed(lean_object** _args){
lean_object* v_P_6281_ = _args[0];
lean_object* v_x_6282_ = _args[1];
lean_object* v___x_6283_ = _args[2];
lean_object* v_val_6284_ = _args[3];
lean_object* v_enumName_6285_ = _args[4];
lean_object* v_a_6286_ = _args[5];
lean_object* v___x_6287_ = _args[6];
lean_object* v___x_6288_ = _args[7];
lean_object* v_name_6289_ = _args[8];
lean_object* v_bi_6290_ = _args[9];
lean_object* v_type_6291_ = _args[10];
lean_object* v_kind_6292_ = _args[11];
lean_object* v___y_6293_ = _args[12];
lean_object* v___y_6294_ = _args[13];
lean_object* v___y_6295_ = _args[14];
lean_object* v___y_6296_ = _args[15];
lean_object* v___y_6297_ = _args[16];
_start:
{
uint8_t v_bi_boxed_6298_; uint8_t v_kind_boxed_6299_; lean_object* v_res_6300_; 
v_bi_boxed_6298_ = lean_unbox(v_bi_6290_);
v_kind_boxed_6299_ = lean_unbox(v_kind_6292_);
v_res_6300_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0(v_P_6281_, v_x_6282_, v___x_6283_, v_val_6284_, v_enumName_6285_, v_a_6286_, v___x_6287_, v___x_6288_, v_name_6289_, v_bi_boxed_6298_, v_type_6291_, v_kind_boxed_6299_, v___y_6293_, v___y_6294_, v___y_6295_, v___y_6296_);
return v_res_6300_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__1___lam__0(lean_object* v_P_6301_, lean_object* v___x_6302_, lean_object* v_val_6303_, lean_object* v_enumName_6304_, lean_object* v_a_6305_, lean_object* v___x_6306_, lean_object* v___x_6307_, uint8_t v___x_6308_, lean_object* v___x_6309_, lean_object* v_b_6310_, lean_object* v___y_6311_, lean_object* v___y_6312_, lean_object* v___y_6313_, lean_object* v___y_6314_){
_start:
{
lean_object* v___x_6316_; uint8_t v___x_6317_; lean_object* v___x_6318_; 
v___x_6316_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__1___closed__1));
v___x_6317_ = 0;
v___x_6318_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0(v_P_6301_, v_b_6310_, v___x_6302_, v_val_6303_, v_enumName_6304_, v_a_6305_, v___x_6306_, v___x_6307_, v___x_6316_, v___x_6308_, v___x_6309_, v___x_6317_, v___y_6311_, v___y_6312_, v___y_6313_, v___y_6314_);
return v___x_6318_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__1___lam__0___boxed(lean_object* v_P_6319_, lean_object* v___x_6320_, lean_object* v_val_6321_, lean_object* v_enumName_6322_, lean_object* v_a_6323_, lean_object* v___x_6324_, lean_object* v___x_6325_, lean_object* v___x_6326_, lean_object* v___x_6327_, lean_object* v_b_6328_, lean_object* v___y_6329_, lean_object* v___y_6330_, lean_object* v___y_6331_, lean_object* v___y_6332_, lean_object* v___y_6333_){
_start:
{
uint8_t v___x_4766__boxed_6334_; lean_object* v_res_6335_; 
v___x_4766__boxed_6334_ = lean_unbox(v___x_6326_);
v_res_6335_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__1___lam__0(v_P_6319_, v___x_6320_, v_val_6321_, v_enumName_6322_, v_a_6323_, v___x_6324_, v___x_6325_, v___x_4766__boxed_6334_, v___x_6327_, v_b_6328_, v___y_6329_, v___y_6330_, v___y_6331_, v___y_6332_);
return v_res_6335_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__1(lean_object* v_P_6336_, lean_object* v___x_6337_, lean_object* v_val_6338_, lean_object* v_enumName_6339_, lean_object* v_a_6340_, lean_object* v___x_6341_, lean_object* v___x_6342_, lean_object* v___x_6343_, lean_object* v_name_6344_, uint8_t v_bi_6345_, lean_object* v_type_6346_, uint8_t v_kind_6347_, lean_object* v___y_6348_, lean_object* v___y_6349_, lean_object* v___y_6350_, lean_object* v___y_6351_){
_start:
{
uint8_t v___x_6353_; lean_object* v___x_6354_; lean_object* v___f_6355_; lean_object* v___x_6356_; 
v___x_6353_ = 1;
v___x_6354_ = lean_box(v___x_6353_);
v___f_6355_ = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__1___lam__0___boxed), 15, 9);
lean_closure_set(v___f_6355_, 0, v_P_6336_);
lean_closure_set(v___f_6355_, 1, v___x_6337_);
lean_closure_set(v___f_6355_, 2, v_val_6338_);
lean_closure_set(v___f_6355_, 3, v_enumName_6339_);
lean_closure_set(v___f_6355_, 4, v_a_6340_);
lean_closure_set(v___f_6355_, 5, v___x_6341_);
lean_closure_set(v___f_6355_, 6, v___x_6342_);
lean_closure_set(v___f_6355_, 7, v___x_6354_);
lean_closure_set(v___f_6355_, 8, v___x_6343_);
v___x_6356_ = l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp(lean_box(0), v_name_6344_, v_bi_6345_, v_type_6346_, v___f_6355_, v_kind_6347_, v___y_6348_, v___y_6349_, v___y_6350_, v___y_6351_);
if (lean_obj_tag(v___x_6356_) == 0)
{
lean_object* v_a_6357_; lean_object* v___x_6359_; uint8_t v_isShared_6360_; uint8_t v_isSharedCheck_6364_; 
v_a_6357_ = lean_ctor_get(v___x_6356_, 0);
v_isSharedCheck_6364_ = !lean_is_exclusive(v___x_6356_);
if (v_isSharedCheck_6364_ == 0)
{
v___x_6359_ = v___x_6356_;
v_isShared_6360_ = v_isSharedCheck_6364_;
goto v_resetjp_6358_;
}
else
{
lean_inc(v_a_6357_);
lean_dec(v___x_6356_);
v___x_6359_ = lean_box(0);
v_isShared_6360_ = v_isSharedCheck_6364_;
goto v_resetjp_6358_;
}
v_resetjp_6358_:
{
lean_object* v___x_6362_; 
if (v_isShared_6360_ == 0)
{
v___x_6362_ = v___x_6359_;
goto v_reusejp_6361_;
}
else
{
lean_object* v_reuseFailAlloc_6363_; 
v_reuseFailAlloc_6363_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6363_, 0, v_a_6357_);
v___x_6362_ = v_reuseFailAlloc_6363_;
goto v_reusejp_6361_;
}
v_reusejp_6361_:
{
return v___x_6362_;
}
}
}
else
{
lean_object* v_a_6365_; lean_object* v___x_6367_; uint8_t v_isShared_6368_; uint8_t v_isSharedCheck_6372_; 
v_a_6365_ = lean_ctor_get(v___x_6356_, 0);
v_isSharedCheck_6372_ = !lean_is_exclusive(v___x_6356_);
if (v_isSharedCheck_6372_ == 0)
{
v___x_6367_ = v___x_6356_;
v_isShared_6368_ = v_isSharedCheck_6372_;
goto v_resetjp_6366_;
}
else
{
lean_inc(v_a_6365_);
lean_dec(v___x_6356_);
v___x_6367_ = lean_box(0);
v_isShared_6368_ = v_isSharedCheck_6372_;
goto v_resetjp_6366_;
}
v_resetjp_6366_:
{
lean_object* v___x_6370_; 
if (v_isShared_6368_ == 0)
{
v___x_6370_ = v___x_6367_;
goto v_reusejp_6369_;
}
else
{
lean_object* v_reuseFailAlloc_6371_; 
v_reuseFailAlloc_6371_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6371_, 0, v_a_6365_);
v___x_6370_ = v_reuseFailAlloc_6371_;
goto v_reusejp_6369_;
}
v_reusejp_6369_:
{
return v___x_6370_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__1___boxed(lean_object** _args){
lean_object* v_P_6373_ = _args[0];
lean_object* v___x_6374_ = _args[1];
lean_object* v_val_6375_ = _args[2];
lean_object* v_enumName_6376_ = _args[3];
lean_object* v_a_6377_ = _args[4];
lean_object* v___x_6378_ = _args[5];
lean_object* v___x_6379_ = _args[6];
lean_object* v___x_6380_ = _args[7];
lean_object* v_name_6381_ = _args[8];
lean_object* v_bi_6382_ = _args[9];
lean_object* v_type_6383_ = _args[10];
lean_object* v_kind_6384_ = _args[11];
lean_object* v___y_6385_ = _args[12];
lean_object* v___y_6386_ = _args[13];
lean_object* v___y_6387_ = _args[14];
lean_object* v___y_6388_ = _args[15];
lean_object* v___y_6389_ = _args[16];
_start:
{
uint8_t v_bi_boxed_6390_; uint8_t v_kind_boxed_6391_; lean_object* v_res_6392_; 
v_bi_boxed_6390_ = lean_unbox(v_bi_6382_);
v_kind_boxed_6391_ = lean_unbox(v_kind_6384_);
v_res_6392_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__1(v_P_6373_, v___x_6374_, v_val_6375_, v_enumName_6376_, v_a_6377_, v___x_6378_, v___x_6379_, v___x_6380_, v_name_6381_, v_bi_boxed_6390_, v_type_6383_, v_kind_boxed_6391_, v___y_6385_, v___y_6386_, v___y_6387_, v___y_6388_);
return v_res_6392_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__2___lam__0(lean_object* v___x_6393_, lean_object* v_val_6394_, lean_object* v_enumName_6395_, lean_object* v_a_6396_, lean_object* v___x_6397_, lean_object* v___x_6398_, lean_object* v___x_6399_, uint8_t v___x_6400_, lean_object* v_b_6401_, lean_object* v___y_6402_, lean_object* v___y_6403_, lean_object* v___y_6404_, lean_object* v___y_6405_){
_start:
{
lean_object* v___x_6407_; uint8_t v___x_6408_; lean_object* v___x_6409_; 
v___x_6407_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___lam__2___closed__1));
v___x_6408_ = 0;
lean_inc_ref(v___x_6399_);
v___x_6409_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__1(v_b_6401_, v___x_6393_, v_val_6394_, v_enumName_6395_, v_a_6396_, v___x_6397_, v___x_6398_, v___x_6399_, v___x_6407_, v___x_6400_, v___x_6399_, v___x_6408_, v___y_6402_, v___y_6403_, v___y_6404_, v___y_6405_);
return v___x_6409_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__2___lam__0___boxed(lean_object* v___x_6410_, lean_object* v_val_6411_, lean_object* v_enumName_6412_, lean_object* v_a_6413_, lean_object* v___x_6414_, lean_object* v___x_6415_, lean_object* v___x_6416_, lean_object* v___x_6417_, lean_object* v_b_6418_, lean_object* v___y_6419_, lean_object* v___y_6420_, lean_object* v___y_6421_, lean_object* v___y_6422_, lean_object* v___y_6423_){
_start:
{
uint8_t v___x_4886__boxed_6424_; lean_object* v_res_6425_; 
v___x_4886__boxed_6424_ = lean_unbox(v___x_6417_);
v_res_6425_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__2___lam__0(v___x_6410_, v_val_6411_, v_enumName_6412_, v_a_6413_, v___x_6414_, v___x_6415_, v___x_6416_, v___x_4886__boxed_6424_, v_b_6418_, v___y_6419_, v___y_6420_, v___y_6421_, v___y_6422_);
return v_res_6425_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__2(lean_object* v___x_6426_, lean_object* v_val_6427_, lean_object* v_enumName_6428_, lean_object* v_a_6429_, lean_object* v___x_6430_, lean_object* v___x_6431_, lean_object* v___x_6432_, lean_object* v_name_6433_, uint8_t v_bi_6434_, lean_object* v_type_6435_, uint8_t v_kind_6436_, lean_object* v___y_6437_, lean_object* v___y_6438_, lean_object* v___y_6439_, lean_object* v___y_6440_){
_start:
{
uint8_t v___x_6442_; lean_object* v___x_6443_; lean_object* v___f_6444_; lean_object* v___x_6445_; 
v___x_6442_ = 1;
v___x_6443_ = lean_box(v___x_6442_);
v___f_6444_ = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__2___lam__0___boxed), 14, 8);
lean_closure_set(v___f_6444_, 0, v___x_6426_);
lean_closure_set(v___f_6444_, 1, v_val_6427_);
lean_closure_set(v___f_6444_, 2, v_enumName_6428_);
lean_closure_set(v___f_6444_, 3, v_a_6429_);
lean_closure_set(v___f_6444_, 4, v___x_6430_);
lean_closure_set(v___f_6444_, 5, v___x_6431_);
lean_closure_set(v___f_6444_, 6, v___x_6432_);
lean_closure_set(v___f_6444_, 7, v___x_6443_);
v___x_6445_ = l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp(lean_box(0), v_name_6433_, v_bi_6434_, v_type_6435_, v___f_6444_, v_kind_6436_, v___y_6437_, v___y_6438_, v___y_6439_, v___y_6440_);
if (lean_obj_tag(v___x_6445_) == 0)
{
lean_object* v_a_6446_; lean_object* v___x_6448_; uint8_t v_isShared_6449_; uint8_t v_isSharedCheck_6453_; 
v_a_6446_ = lean_ctor_get(v___x_6445_, 0);
v_isSharedCheck_6453_ = !lean_is_exclusive(v___x_6445_);
if (v_isSharedCheck_6453_ == 0)
{
v___x_6448_ = v___x_6445_;
v_isShared_6449_ = v_isSharedCheck_6453_;
goto v_resetjp_6447_;
}
else
{
lean_inc(v_a_6446_);
lean_dec(v___x_6445_);
v___x_6448_ = lean_box(0);
v_isShared_6449_ = v_isSharedCheck_6453_;
goto v_resetjp_6447_;
}
v_resetjp_6447_:
{
lean_object* v___x_6451_; 
if (v_isShared_6449_ == 0)
{
v___x_6451_ = v___x_6448_;
goto v_reusejp_6450_;
}
else
{
lean_object* v_reuseFailAlloc_6452_; 
v_reuseFailAlloc_6452_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6452_, 0, v_a_6446_);
v___x_6451_ = v_reuseFailAlloc_6452_;
goto v_reusejp_6450_;
}
v_reusejp_6450_:
{
return v___x_6451_;
}
}
}
else
{
lean_object* v_a_6454_; lean_object* v___x_6456_; uint8_t v_isShared_6457_; uint8_t v_isSharedCheck_6461_; 
v_a_6454_ = lean_ctor_get(v___x_6445_, 0);
v_isSharedCheck_6461_ = !lean_is_exclusive(v___x_6445_);
if (v_isSharedCheck_6461_ == 0)
{
v___x_6456_ = v___x_6445_;
v_isShared_6457_ = v_isSharedCheck_6461_;
goto v_resetjp_6455_;
}
else
{
lean_inc(v_a_6454_);
lean_dec(v___x_6445_);
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_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__2___boxed(lean_object* v___x_6462_, lean_object* v_val_6463_, lean_object* v_enumName_6464_, lean_object* v_a_6465_, lean_object* v___x_6466_, lean_object* v___x_6467_, lean_object* v___x_6468_, lean_object* v_name_6469_, lean_object* v_bi_6470_, lean_object* v_type_6471_, lean_object* v_kind_6472_, lean_object* v___y_6473_, lean_object* v___y_6474_, lean_object* v___y_6475_, lean_object* v___y_6476_, lean_object* v___y_6477_){
_start:
{
uint8_t v_bi_boxed_6478_; uint8_t v_kind_boxed_6479_; lean_object* v_res_6480_; 
v_bi_boxed_6478_ = lean_unbox(v_bi_6470_);
v_kind_boxed_6479_ = lean_unbox(v_kind_6472_);
v_res_6480_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__2(v___x_6462_, v_val_6463_, v_enumName_6464_, v_a_6465_, v___x_6466_, v___x_6467_, v___x_6468_, v_name_6469_, v_bi_boxed_6478_, v_type_6471_, v_kind_boxed_6479_, v___y_6473_, v___y_6474_, v___y_6475_, v___y_6476_);
return v_res_6480_;
}
}
static lean_object* _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion___closed__1(void){
_start:
{
lean_object* v___x_6482_; lean_object* v___x_6483_; lean_object* v___x_6484_; lean_object* v___x_6485_; lean_object* v___x_6486_; lean_object* v___x_6487_; 
v___x_6482_ = ((lean_object*)(l_Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0___closed__6));
v___x_6483_ = lean_unsigned_to_nat(63u);
v___x_6484_ = lean_unsigned_to_nat(403u);
v___x_6485_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion___closed__0));
v___x_6486_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__2));
v___x_6487_ = l_mkPanicMessageWithDecl(v___x_6486_, v___x_6485_, v___x_6484_, v___x_6483_, v___x_6482_);
return v___x_6487_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion(lean_object* v_enumName_6488_, lean_object* v_a_6489_, lean_object* v_a_6490_, lean_object* v_a_6491_, lean_object* v_a_6492_){
_start:
{
lean_object* v___x_6494_; 
lean_inc_ref(v_a_6491_);
lean_inc(v_enumName_6488_);
v___x_6494_ = l_Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0(v_enumName_6488_, v_a_6489_, v_a_6490_, v_a_6491_, v_a_6492_);
if (lean_obj_tag(v___x_6494_) == 0)
{
lean_object* v_a_6495_; 
v_a_6495_ = lean_ctor_get(v___x_6494_, 0);
lean_inc(v_a_6495_);
lean_dec_ref(v___x_6494_);
if (lean_obj_tag(v_a_6495_) == 5)
{
lean_object* v_val_6496_; lean_object* v___x_6497_; lean_object* v___x_6498_; 
v_val_6496_ = lean_ctor_get(v_a_6495_, 0);
lean_inc_ref(v_val_6496_);
lean_dec_ref(v_a_6495_);
v___x_6497_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType___closed__1));
lean_inc(v_a_6492_);
lean_inc_ref(v_a_6491_);
v___x_6498_ = l_Lean_Core_mkFreshUserName(v___x_6497_, v_a_6491_, v_a_6492_);
if (lean_obj_tag(v___x_6498_) == 0)
{
lean_object* v_toConstantVal_6499_; lean_object* v_a_6500_; lean_object* v_levelParams_6501_; lean_object* v___x_6502_; lean_object* v___x_6503_; lean_object* v___x_6504_; lean_object* v___x_6505_; lean_object* v___x_6506_; lean_object* v___x_6507_; lean_object* v___x_6508_; lean_object* v___x_6509_; lean_object* v___x_6510_; lean_object* v___x_6511_; lean_object* v___x_6512_; lean_object* v___x_6513_; uint8_t v___x_6514_; uint8_t v___x_6515_; lean_object* v___x_6516_; 
v_toConstantVal_6499_ = lean_ctor_get(v_val_6496_, 0);
v_a_6500_ = lean_ctor_get(v___x_6498_, 0);
lean_inc(v_a_6500_);
lean_dec_ref(v___x_6498_);
v_levelParams_6501_ = lean_ctor_get(v_toConstantVal_6499_, 1);
lean_inc(v_levelParams_6501_);
v___x_6502_ = lean_box(0);
lean_inc(v_levelParams_6501_);
v___x_6503_ = l_List_mapTR_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__2(v_levelParams_6501_, v___x_6502_);
lean_inc(v___x_6503_);
lean_inc(v_enumName_6488_);
v___x_6504_ = l_Lean_mkConst(v_enumName_6488_, v___x_6503_);
lean_inc(v_a_6500_);
v___x_6505_ = l_Lean_mkLevelParam(v_a_6500_);
lean_inc(v___x_6505_);
v___x_6506_ = l_Lean_mkSort(v___x_6505_);
lean_inc(v_enumName_6488_);
v___x_6507_ = l_mkCtorIdxName(v_enumName_6488_);
lean_inc(v___x_6503_);
v___x_6508_ = l_Lean_mkConst(v___x_6507_, v___x_6503_);
v___x_6509_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionTypeName___closed__0));
lean_inc(v_enumName_6488_);
v___x_6510_ = l_Lean_Name_str___override(v_enumName_6488_, v___x_6509_);
v___x_6511_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_6511_, 0, v___x_6505_);
lean_ctor_set(v___x_6511_, 1, v___x_6503_);
v___x_6512_ = l_Lean_mkConst(v___x_6510_, v___x_6511_);
v___x_6513_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType___closed__1));
v___x_6514_ = 1;
v___x_6515_ = 0;
v___x_6516_ = l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__2(v___x_6512_, v_val_6496_, v_enumName_6488_, v_a_6500_, v_levelParams_6501_, v___x_6508_, v___x_6504_, v___x_6513_, v___x_6514_, v___x_6506_, v___x_6515_, v_a_6489_, v_a_6490_, v_a_6491_, v_a_6492_);
return v___x_6516_;
}
else
{
lean_object* v_a_6517_; lean_object* v___x_6519_; uint8_t v_isShared_6520_; uint8_t v_isSharedCheck_6524_; 
lean_dec_ref(v_val_6496_);
lean_dec(v_a_6492_);
lean_dec_ref(v_a_6491_);
lean_dec(v_a_6490_);
lean_dec_ref(v_a_6489_);
lean_dec(v_enumName_6488_);
v_a_6517_ = lean_ctor_get(v___x_6498_, 0);
v_isSharedCheck_6524_ = !lean_is_exclusive(v___x_6498_);
if (v_isSharedCheck_6524_ == 0)
{
v___x_6519_ = v___x_6498_;
v_isShared_6520_ = v_isSharedCheck_6524_;
goto v_resetjp_6518_;
}
else
{
lean_inc(v_a_6517_);
lean_dec(v___x_6498_);
v___x_6519_ = lean_box(0);
v_isShared_6520_ = v_isSharedCheck_6524_;
goto v_resetjp_6518_;
}
v_resetjp_6518_:
{
lean_object* v___x_6522_; 
if (v_isShared_6520_ == 0)
{
v___x_6522_ = v___x_6519_;
goto v_reusejp_6521_;
}
else
{
lean_object* v_reuseFailAlloc_6523_; 
v_reuseFailAlloc_6523_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6523_, 0, v_a_6517_);
v___x_6522_ = v_reuseFailAlloc_6523_;
goto v_reusejp_6521_;
}
v_reusejp_6521_:
{
return v___x_6522_;
}
}
}
}
else
{
lean_object* v___x_6525_; lean_object* v___x_6526_; 
lean_dec(v_a_6495_);
lean_dec(v_enumName_6488_);
v___x_6525_ = lean_obj_once(&l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion___closed__1, &l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion___closed__1_once, _init_l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion___closed__1);
v___x_6526_ = l_panic___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__8(v___x_6525_, v_a_6489_, v_a_6490_, v_a_6491_, v_a_6492_);
return v___x_6526_;
}
}
else
{
lean_object* v_a_6527_; lean_object* v___x_6529_; uint8_t v_isShared_6530_; uint8_t v_isSharedCheck_6534_; 
lean_dec(v_a_6492_);
lean_dec_ref(v_a_6491_);
lean_dec(v_a_6490_);
lean_dec_ref(v_a_6489_);
lean_dec(v_enumName_6488_);
v_a_6527_ = lean_ctor_get(v___x_6494_, 0);
v_isSharedCheck_6534_ = !lean_is_exclusive(v___x_6494_);
if (v_isSharedCheck_6534_ == 0)
{
v___x_6529_ = v___x_6494_;
v_isShared_6530_ = v_isSharedCheck_6534_;
goto v_resetjp_6528_;
}
else
{
lean_inc(v_a_6527_);
lean_dec(v___x_6494_);
v___x_6529_ = lean_box(0);
v_isShared_6530_ = v_isSharedCheck_6534_;
goto v_resetjp_6528_;
}
v_resetjp_6528_:
{
lean_object* v___x_6532_; 
if (v_isShared_6530_ == 0)
{
v___x_6532_ = v___x_6529_;
goto v_reusejp_6531_;
}
else
{
lean_object* v_reuseFailAlloc_6533_; 
v_reuseFailAlloc_6533_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6533_, 0, v_a_6527_);
v___x_6532_ = v_reuseFailAlloc_6533_;
goto v_reusejp_6531_;
}
v_reusejp_6531_:
{
return v___x_6532_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion___boxed(lean_object* v_enumName_6535_, lean_object* v_a_6536_, lean_object* v_a_6537_, lean_object* v_a_6538_, lean_object* v_a_6539_, lean_object* v_a_6540_){
_start:
{
lean_object* v_res_6541_; 
v_res_6541_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion(v_enumName_6535_, v_a_6536_, v_a_6537_, v_a_6538_, v_a_6539_);
return v_res_6541_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum(lean_object* v_enumName_6542_, lean_object* v_a_6543_, lean_object* v_a_6544_, lean_object* v_a_6545_, lean_object* v_a_6546_){
_start:
{
lean_object* v___x_6548_; lean_object* v_env_6549_; lean_object* v___x_6550_; uint8_t v___x_6551_; uint8_t v___x_6552_; 
v___x_6548_ = lean_st_ref_get(v_a_6546_);
v_env_6549_ = lean_ctor_get(v___x_6548_, 0);
lean_inc_ref(v_env_6549_);
lean_dec(v___x_6548_);
v___x_6550_ = ((lean_object*)(l_Lean_Meta_withLocalDecl___at___00Lean_Meta_withLocalDeclD___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkIfNatEq_spec__0_spec__0___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion_spec__0___lam__1___closed__2));
v___x_6551_ = 1;
v___x_6552_ = l_Lean_Environment_contains(v_env_6549_, v___x_6550_, v___x_6551_);
if (v___x_6552_ == 0)
{
lean_object* v___x_6553_; 
v___x_6553_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCore(v_enumName_6542_, v_a_6543_, v_a_6544_, v_a_6545_, v_a_6546_);
return v___x_6553_;
}
else
{
lean_object* v___x_6554_; 
lean_inc(v_a_6546_);
lean_inc_ref(v_a_6545_);
lean_inc(v_a_6544_);
lean_inc_ref(v_a_6543_);
lean_inc(v_enumName_6542_);
v___x_6554_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusionType(v_enumName_6542_, v_a_6543_, v_a_6544_, v_a_6545_, v_a_6546_);
if (lean_obj_tag(v___x_6554_) == 0)
{
lean_object* v___x_6555_; 
lean_dec_ref(v___x_6554_);
v___x_6555_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum_mkNoConfusion(v_enumName_6542_, v_a_6543_, v_a_6544_, v_a_6545_, v_a_6546_);
return v___x_6555_;
}
else
{
lean_dec(v_a_6546_);
lean_dec_ref(v_a_6545_);
lean_dec(v_a_6544_);
lean_dec_ref(v_a_6543_);
lean_dec(v_enumName_6542_);
return v___x_6554_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum___boxed(lean_object* v_enumName_6556_, lean_object* v_a_6557_, lean_object* v_a_6558_, lean_object* v_a_6559_, lean_object* v_a_6560_, lean_object* v_a_6561_){
_start:
{
lean_object* v_res_6562_; 
v_res_6562_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum(v_enumName_6556_, v_a_6557_, v_a_6558_, v_a_6559_, v_a_6560_);
return v_res_6562_;
}
}
static lean_object* _init_l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___redArg___closed__0(void){
_start:
{
lean_object* v___x_6563_; lean_object* v___x_6564_; lean_object* v___x_6565_; 
v___x_6563_ = lean_unsigned_to_nat(32u);
v___x_6564_ = lean_mk_empty_array_with_capacity(v___x_6563_);
v___x_6565_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6565_, 0, v___x_6564_);
return v___x_6565_;
}
}
static lean_object* _init_l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___redArg___closed__1(void){
_start:
{
size_t v___x_6566_; lean_object* v___x_6567_; lean_object* v___x_6568_; lean_object* v___x_6569_; lean_object* v___x_6570_; lean_object* v___x_6571_; 
v___x_6566_ = ((size_t)5ULL);
v___x_6567_ = lean_unsigned_to_nat(0u);
v___x_6568_ = lean_unsigned_to_nat(32u);
v___x_6569_ = lean_mk_empty_array_with_capacity(v___x_6568_);
v___x_6570_ = lean_obj_once(&l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___redArg___closed__0, &l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___redArg___closed__0_once, _init_l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___redArg___closed__0);
v___x_6571_ = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
lean_ctor_set(v___x_6571_, 0, v___x_6570_);
lean_ctor_set(v___x_6571_, 1, v___x_6569_);
lean_ctor_set(v___x_6571_, 2, v___x_6567_);
lean_ctor_set(v___x_6571_, 3, v___x_6567_);
lean_ctor_set_usize(v___x_6571_, 4, v___x_6566_);
return v___x_6571_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___redArg(lean_object* v___y_6572_){
_start:
{
lean_object* v___x_6574_; lean_object* v_traceState_6575_; lean_object* v_traces_6576_; lean_object* v___x_6577_; lean_object* v_traceState_6578_; lean_object* v_env_6579_; lean_object* v_nextMacroScope_6580_; lean_object* v_ngen_6581_; lean_object* v_auxDeclNGen_6582_; lean_object* v_cache_6583_; lean_object* v_messages_6584_; lean_object* v_infoState_6585_; lean_object* v_snapshotTasks_6586_; lean_object* v___x_6588_; uint8_t v_isShared_6589_; uint8_t v_isSharedCheck_6605_; 
v___x_6574_ = lean_st_ref_get(v___y_6572_);
v_traceState_6575_ = lean_ctor_get(v___x_6574_, 4);
lean_inc_ref(v_traceState_6575_);
lean_dec(v___x_6574_);
v_traces_6576_ = lean_ctor_get(v_traceState_6575_, 0);
lean_inc_ref(v_traces_6576_);
lean_dec_ref(v_traceState_6575_);
v___x_6577_ = lean_st_ref_take(v___y_6572_);
v_traceState_6578_ = lean_ctor_get(v___x_6577_, 4);
v_env_6579_ = lean_ctor_get(v___x_6577_, 0);
v_nextMacroScope_6580_ = lean_ctor_get(v___x_6577_, 1);
v_ngen_6581_ = lean_ctor_get(v___x_6577_, 2);
v_auxDeclNGen_6582_ = lean_ctor_get(v___x_6577_, 3);
v_cache_6583_ = lean_ctor_get(v___x_6577_, 5);
v_messages_6584_ = lean_ctor_get(v___x_6577_, 6);
v_infoState_6585_ = lean_ctor_get(v___x_6577_, 7);
v_snapshotTasks_6586_ = lean_ctor_get(v___x_6577_, 8);
v_isSharedCheck_6605_ = !lean_is_exclusive(v___x_6577_);
if (v_isSharedCheck_6605_ == 0)
{
v___x_6588_ = v___x_6577_;
v_isShared_6589_ = v_isSharedCheck_6605_;
goto v_resetjp_6587_;
}
else
{
lean_inc(v_snapshotTasks_6586_);
lean_inc(v_infoState_6585_);
lean_inc(v_messages_6584_);
lean_inc(v_cache_6583_);
lean_inc(v_traceState_6578_);
lean_inc(v_auxDeclNGen_6582_);
lean_inc(v_ngen_6581_);
lean_inc(v_nextMacroScope_6580_);
lean_inc(v_env_6579_);
lean_dec(v___x_6577_);
v___x_6588_ = lean_box(0);
v_isShared_6589_ = v_isSharedCheck_6605_;
goto v_resetjp_6587_;
}
v_resetjp_6587_:
{
uint64_t v_tid_6590_; lean_object* v___x_6592_; uint8_t v_isShared_6593_; uint8_t v_isSharedCheck_6603_; 
v_tid_6590_ = lean_ctor_get_uint64(v_traceState_6578_, sizeof(void*)*1);
v_isSharedCheck_6603_ = !lean_is_exclusive(v_traceState_6578_);
if (v_isSharedCheck_6603_ == 0)
{
lean_object* v_unused_6604_; 
v_unused_6604_ = lean_ctor_get(v_traceState_6578_, 0);
lean_dec(v_unused_6604_);
v___x_6592_ = v_traceState_6578_;
v_isShared_6593_ = v_isSharedCheck_6603_;
goto v_resetjp_6591_;
}
else
{
lean_dec(v_traceState_6578_);
v___x_6592_ = lean_box(0);
v_isShared_6593_ = v_isSharedCheck_6603_;
goto v_resetjp_6591_;
}
v_resetjp_6591_:
{
lean_object* v___x_6594_; lean_object* v___x_6596_; 
v___x_6594_ = lean_obj_once(&l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___redArg___closed__1, &l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___redArg___closed__1_once, _init_l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___redArg___closed__1);
if (v_isShared_6593_ == 0)
{
lean_ctor_set(v___x_6592_, 0, v___x_6594_);
v___x_6596_ = v___x_6592_;
goto v_reusejp_6595_;
}
else
{
lean_object* v_reuseFailAlloc_6602_; 
v_reuseFailAlloc_6602_ = lean_alloc_ctor(0, 1, 8);
lean_ctor_set(v_reuseFailAlloc_6602_, 0, v___x_6594_);
lean_ctor_set_uint64(v_reuseFailAlloc_6602_, sizeof(void*)*1, v_tid_6590_);
v___x_6596_ = v_reuseFailAlloc_6602_;
goto v_reusejp_6595_;
}
v_reusejp_6595_:
{
lean_object* v___x_6598_; 
if (v_isShared_6589_ == 0)
{
lean_ctor_set(v___x_6588_, 4, v___x_6596_);
v___x_6598_ = v___x_6588_;
goto v_reusejp_6597_;
}
else
{
lean_object* v_reuseFailAlloc_6601_; 
v_reuseFailAlloc_6601_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_6601_, 0, v_env_6579_);
lean_ctor_set(v_reuseFailAlloc_6601_, 1, v_nextMacroScope_6580_);
lean_ctor_set(v_reuseFailAlloc_6601_, 2, v_ngen_6581_);
lean_ctor_set(v_reuseFailAlloc_6601_, 3, v_auxDeclNGen_6582_);
lean_ctor_set(v_reuseFailAlloc_6601_, 4, v___x_6596_);
lean_ctor_set(v_reuseFailAlloc_6601_, 5, v_cache_6583_);
lean_ctor_set(v_reuseFailAlloc_6601_, 6, v_messages_6584_);
lean_ctor_set(v_reuseFailAlloc_6601_, 7, v_infoState_6585_);
lean_ctor_set(v_reuseFailAlloc_6601_, 8, v_snapshotTasks_6586_);
v___x_6598_ = v_reuseFailAlloc_6601_;
goto v_reusejp_6597_;
}
v_reusejp_6597_:
{
lean_object* v___x_6599_; lean_object* v___x_6600_; 
v___x_6599_ = lean_st_ref_set(v___y_6572_, v___x_6598_);
v___x_6600_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6600_, 0, v_traces_6576_);
return v___x_6600_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___redArg___boxed(lean_object* v___y_6606_, lean_object* v___y_6607_){
_start:
{
lean_object* v_res_6608_; 
v_res_6608_ = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___redArg(v___y_6606_);
lean_dec(v___y_6606_);
return v_res_6608_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1(lean_object* v___y_6609_, lean_object* v___y_6610_, lean_object* v___y_6611_, lean_object* v___y_6612_){
_start:
{
lean_object* v___x_6614_; 
v___x_6614_ = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___redArg(v___y_6612_);
return v___x_6614_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___boxed(lean_object* v___y_6615_, lean_object* v___y_6616_, lean_object* v___y_6617_, lean_object* v___y_6618_, lean_object* v___y_6619_){
_start:
{
lean_object* v_res_6620_; 
v_res_6620_ = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1(v___y_6615_, v___y_6616_, v___y_6617_, v___y_6618_);
lean_dec(v___y_6618_);
lean_dec_ref(v___y_6617_);
lean_dec(v___y_6616_);
lean_dec_ref(v___y_6615_);
return v_res_6620_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkNoConfusion___lam__0(lean_object* v_declName_6621_, lean_object* v_x_6622_, lean_object* v___y_6623_, lean_object* v___y_6624_, lean_object* v___y_6625_, lean_object* v___y_6626_){
_start:
{
lean_object* v___x_6628_; lean_object* v___x_6629_; 
v___x_6628_ = l_Lean_MessageData_ofName(v_declName_6621_);
v___x_6629_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6629_, 0, v___x_6628_);
return v___x_6629_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkNoConfusion___lam__0___boxed(lean_object* v_declName_6630_, lean_object* v_x_6631_, lean_object* v___y_6632_, lean_object* v___y_6633_, lean_object* v___y_6634_, lean_object* v___y_6635_, lean_object* v___y_6636_){
_start:
{
lean_object* v_res_6637_; 
v_res_6637_ = l_Lean_mkNoConfusion___lam__0(v_declName_6630_, v_x_6631_, v___y_6632_, v___y_6633_, v___y_6634_, v___y_6635_);
lean_dec(v___y_6635_);
lean_dec_ref(v___y_6634_);
lean_dec(v___y_6633_);
lean_dec_ref(v___y_6632_);
lean_dec_ref(v_x_6631_);
return v_res_6637_;
}
}
LEAN_EXPORT lean_object* l_List_allM___at___00Lean_isEnumType___at___00Lean_mkNoConfusion_spec__0_spec__0(uint8_t v___x_6638_, lean_object* v_x_6639_, lean_object* v___y_6640_, lean_object* v___y_6641_, lean_object* v___y_6642_, lean_object* v___y_6643_){
_start:
{
if (lean_obj_tag(v_x_6639_) == 0)
{
uint8_t v___x_6645_; lean_object* v___x_6646_; lean_object* v___x_6647_; 
lean_dec_ref(v___y_6642_);
v___x_6645_ = 1;
v___x_6646_ = lean_box(v___x_6645_);
v___x_6647_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6647_, 0, v___x_6646_);
return v___x_6647_;
}
else
{
lean_object* v_head_6648_; lean_object* v_tail_6649_; lean_object* v___x_6650_; 
v_head_6648_ = lean_ctor_get(v_x_6639_, 0);
lean_inc(v_head_6648_);
v_tail_6649_ = lean_ctor_get(v_x_6639_, 1);
lean_inc(v_tail_6649_);
lean_dec_ref(v_x_6639_);
lean_inc_ref(v___y_6642_);
v___x_6650_ = l_Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0(v_head_6648_, v___y_6640_, v___y_6641_, v___y_6642_, v___y_6643_);
if (lean_obj_tag(v___x_6650_) == 0)
{
lean_object* v_a_6651_; lean_object* v___x_6653_; uint8_t v_isShared_6654_; uint8_t v_isSharedCheck_6671_; 
v_a_6651_ = lean_ctor_get(v___x_6650_, 0);
v_isSharedCheck_6671_ = !lean_is_exclusive(v___x_6650_);
if (v_isSharedCheck_6671_ == 0)
{
v___x_6653_ = v___x_6650_;
v_isShared_6654_ = v_isSharedCheck_6671_;
goto v_resetjp_6652_;
}
else
{
lean_inc(v_a_6651_);
lean_dec(v___x_6650_);
v___x_6653_ = lean_box(0);
v_isShared_6654_ = v_isSharedCheck_6671_;
goto v_resetjp_6652_;
}
v_resetjp_6652_:
{
lean_object* v___y_6656_; uint8_t v_a_6657_; 
if (lean_obj_tag(v_a_6651_) == 6)
{
lean_object* v_val_6659_; lean_object* v_numFields_6660_; lean_object* v___x_6661_; uint8_t v___x_6662_; lean_object* v___x_6663_; lean_object* v___x_6665_; 
v_val_6659_ = lean_ctor_get(v_a_6651_, 0);
lean_inc_ref(v_val_6659_);
lean_dec_ref(v_a_6651_);
v_numFields_6660_ = lean_ctor_get(v_val_6659_, 4);
lean_inc(v_numFields_6660_);
lean_dec_ref(v_val_6659_);
v___x_6661_ = lean_unsigned_to_nat(0u);
v___x_6662_ = lean_nat_dec_eq(v_numFields_6660_, v___x_6661_);
lean_dec(v_numFields_6660_);
v___x_6663_ = lean_box(v___x_6662_);
if (v_isShared_6654_ == 0)
{
lean_ctor_set(v___x_6653_, 0, v___x_6663_);
v___x_6665_ = v___x_6653_;
goto v_reusejp_6664_;
}
else
{
lean_object* v_reuseFailAlloc_6666_; 
v_reuseFailAlloc_6666_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6666_, 0, v___x_6663_);
v___x_6665_ = v_reuseFailAlloc_6666_;
goto v_reusejp_6664_;
}
v_reusejp_6664_:
{
v___y_6656_ = v___x_6665_;
v_a_6657_ = v___x_6662_;
goto v___jp_6655_;
}
}
else
{
lean_object* v___x_6667_; lean_object* v___x_6669_; 
lean_dec(v_a_6651_);
v___x_6667_ = lean_box(v___x_6638_);
if (v_isShared_6654_ == 0)
{
lean_ctor_set(v___x_6653_, 0, v___x_6667_);
v___x_6669_ = v___x_6653_;
goto v_reusejp_6668_;
}
else
{
lean_object* v_reuseFailAlloc_6670_; 
v_reuseFailAlloc_6670_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6670_, 0, v___x_6667_);
v___x_6669_ = v_reuseFailAlloc_6670_;
goto v_reusejp_6668_;
}
v_reusejp_6668_:
{
v___y_6656_ = v___x_6669_;
v_a_6657_ = v___x_6638_;
goto v___jp_6655_;
}
}
v___jp_6655_:
{
if (v_a_6657_ == 0)
{
lean_dec(v_tail_6649_);
lean_dec_ref(v___y_6642_);
return v___y_6656_;
}
else
{
lean_dec_ref(v___y_6656_);
v_x_6639_ = v_tail_6649_;
goto _start;
}
}
}
}
else
{
lean_object* v_a_6672_; lean_object* v___x_6674_; uint8_t v_isShared_6675_; uint8_t v_isSharedCheck_6679_; 
lean_dec(v_tail_6649_);
lean_dec_ref(v___y_6642_);
v_a_6672_ = lean_ctor_get(v___x_6650_, 0);
v_isSharedCheck_6679_ = !lean_is_exclusive(v___x_6650_);
if (v_isSharedCheck_6679_ == 0)
{
v___x_6674_ = v___x_6650_;
v_isShared_6675_ = v_isSharedCheck_6679_;
goto v_resetjp_6673_;
}
else
{
lean_inc(v_a_6672_);
lean_dec(v___x_6650_);
v___x_6674_ = lean_box(0);
v_isShared_6675_ = v_isSharedCheck_6679_;
goto v_resetjp_6673_;
}
v_resetjp_6673_:
{
lean_object* v___x_6677_; 
if (v_isShared_6675_ == 0)
{
v___x_6677_ = v___x_6674_;
goto v_reusejp_6676_;
}
else
{
lean_object* v_reuseFailAlloc_6678_; 
v_reuseFailAlloc_6678_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6678_, 0, v_a_6672_);
v___x_6677_ = v_reuseFailAlloc_6678_;
goto v_reusejp_6676_;
}
v_reusejp_6676_:
{
return v___x_6677_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_List_allM___at___00Lean_isEnumType___at___00Lean_mkNoConfusion_spec__0_spec__0___boxed(lean_object* v___x_6680_, lean_object* v_x_6681_, lean_object* v___y_6682_, lean_object* v___y_6683_, lean_object* v___y_6684_, lean_object* v___y_6685_, lean_object* v___y_6686_){
_start:
{
uint8_t v___x_8006__boxed_6687_; lean_object* v_res_6688_; 
v___x_8006__boxed_6687_ = lean_unbox(v___x_6680_);
v_res_6688_ = l_List_allM___at___00Lean_isEnumType___at___00Lean_mkNoConfusion_spec__0_spec__0(v___x_8006__boxed_6687_, v_x_6681_, v___y_6682_, v___y_6683_, v___y_6684_, v___y_6685_);
lean_dec(v___y_6685_);
lean_dec(v___y_6683_);
lean_dec_ref(v___y_6682_);
return v_res_6688_;
}
}
LEAN_EXPORT lean_object* l_Lean_isEnumType___at___00Lean_mkNoConfusion_spec__0(lean_object* v_declName_6689_, lean_object* v___y_6690_, lean_object* v___y_6691_, lean_object* v___y_6692_, lean_object* v___y_6693_){
_start:
{
lean_object* v___x_6695_; 
lean_inc_ref(v___y_6692_);
v___x_6695_ = l_Lean_getConstInfo___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionType_spec__0(v_declName_6689_, 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___x_6698_; uint8_t v_isShared_6699_; uint8_t v_isSharedCheck_6751_; 
v_a_6696_ = lean_ctor_get(v___x_6695_, 0);
v_isSharedCheck_6751_ = !lean_is_exclusive(v___x_6695_);
if (v_isSharedCheck_6751_ == 0)
{
v___x_6698_ = v___x_6695_;
v_isShared_6699_ = v_isSharedCheck_6751_;
goto v_resetjp_6697_;
}
else
{
lean_inc(v_a_6696_);
lean_dec(v___x_6695_);
v___x_6698_ = lean_box(0);
v_isShared_6699_ = v_isSharedCheck_6751_;
goto v_resetjp_6697_;
}
v_resetjp_6697_:
{
if (lean_obj_tag(v_a_6696_) == 5)
{
lean_object* v_val_6700_; lean_object* v_toConstantVal_6701_; lean_object* v_numParams_6702_; lean_object* v_numIndices_6703_; lean_object* v_ctors_6704_; uint8_t v_isRec_6705_; uint8_t v_isUnsafe_6706_; lean_object* v_type_6707_; uint8_t v___x_6708_; 
v_val_6700_ = lean_ctor_get(v_a_6696_, 0);
lean_inc_ref(v_val_6700_);
lean_dec_ref(v_a_6696_);
v_toConstantVal_6701_ = lean_ctor_get(v_val_6700_, 0);
v_numParams_6702_ = lean_ctor_get(v_val_6700_, 1);
lean_inc(v_numParams_6702_);
v_numIndices_6703_ = lean_ctor_get(v_val_6700_, 2);
lean_inc(v_numIndices_6703_);
v_ctors_6704_ = lean_ctor_get(v_val_6700_, 4);
lean_inc(v_ctors_6704_);
v_isRec_6705_ = lean_ctor_get_uint8(v_val_6700_, sizeof(void*)*6);
v_isUnsafe_6706_ = lean_ctor_get_uint8(v_val_6700_, sizeof(void*)*6 + 1);
v_type_6707_ = lean_ctor_get(v_toConstantVal_6701_, 2);
v___x_6708_ = l_Lean_Expr_isProp(v_type_6707_);
if (v___x_6708_ == 0)
{
lean_object* v___x_6709_; lean_object* v___x_6710_; uint8_t v___x_6711_; 
v___x_6709_ = l_Lean_InductiveVal_numTypeFormers(v_val_6700_);
lean_dec_ref(v_val_6700_);
v___x_6710_ = lean_unsigned_to_nat(1u);
v___x_6711_ = lean_nat_dec_eq(v___x_6709_, v___x_6710_);
lean_dec(v___x_6709_);
if (v___x_6711_ == 0)
{
lean_object* v___x_6712_; lean_object* v___x_6714_; 
lean_dec(v_ctors_6704_);
lean_dec(v_numIndices_6703_);
lean_dec(v_numParams_6702_);
lean_dec_ref(v___y_6692_);
v___x_6712_ = lean_box(v___x_6711_);
if (v_isShared_6699_ == 0)
{
lean_ctor_set(v___x_6698_, 0, v___x_6712_);
v___x_6714_ = v___x_6698_;
goto v_reusejp_6713_;
}
else
{
lean_object* v_reuseFailAlloc_6715_; 
v_reuseFailAlloc_6715_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6715_, 0, v___x_6712_);
v___x_6714_ = v_reuseFailAlloc_6715_;
goto v_reusejp_6713_;
}
v_reusejp_6713_:
{
return v___x_6714_;
}
}
else
{
lean_object* v___x_6716_; uint8_t v___x_6717_; 
v___x_6716_ = lean_unsigned_to_nat(0u);
v___x_6717_ = lean_nat_dec_eq(v_numIndices_6703_, v___x_6716_);
lean_dec(v_numIndices_6703_);
if (v___x_6717_ == 0)
{
lean_object* v___x_6718_; lean_object* v___x_6720_; 
lean_dec(v_ctors_6704_);
lean_dec(v_numParams_6702_);
lean_dec_ref(v___y_6692_);
v___x_6718_ = lean_box(v___x_6717_);
if (v_isShared_6699_ == 0)
{
lean_ctor_set(v___x_6698_, 0, v___x_6718_);
v___x_6720_ = v___x_6698_;
goto v_reusejp_6719_;
}
else
{
lean_object* v_reuseFailAlloc_6721_; 
v_reuseFailAlloc_6721_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6721_, 0, v___x_6718_);
v___x_6720_ = v_reuseFailAlloc_6721_;
goto v_reusejp_6719_;
}
v_reusejp_6719_:
{
return v___x_6720_;
}
}
else
{
uint8_t v___x_6722_; 
v___x_6722_ = lean_nat_dec_eq(v_numParams_6702_, v___x_6716_);
lean_dec(v_numParams_6702_);
if (v___x_6722_ == 0)
{
lean_object* v___x_6723_; lean_object* v___x_6725_; 
lean_dec(v_ctors_6704_);
lean_dec_ref(v___y_6692_);
v___x_6723_ = lean_box(v___x_6722_);
if (v_isShared_6699_ == 0)
{
lean_ctor_set(v___x_6698_, 0, v___x_6723_);
v___x_6725_ = v___x_6698_;
goto v_reusejp_6724_;
}
else
{
lean_object* v_reuseFailAlloc_6726_; 
v_reuseFailAlloc_6726_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6726_, 0, v___x_6723_);
v___x_6725_ = v_reuseFailAlloc_6726_;
goto v_reusejp_6724_;
}
v_reusejp_6724_:
{
return v___x_6725_;
}
}
else
{
uint8_t v___x_6727_; 
v___x_6727_ = l_List_isEmpty___redArg(v_ctors_6704_);
if (v___x_6727_ == 0)
{
if (v_isRec_6705_ == 0)
{
if (v_isUnsafe_6706_ == 0)
{
lean_object* v___x_6728_; 
lean_del_object(v___x_6698_);
v___x_6728_ = l_List_allM___at___00Lean_isEnumType___at___00Lean_mkNoConfusion_spec__0_spec__0(v_isUnsafe_6706_, v_ctors_6704_, v___y_6690_, v___y_6691_, v___y_6692_, v___y_6693_);
return v___x_6728_;
}
else
{
lean_object* v___x_6729_; lean_object* v___x_6731_; 
lean_dec(v_ctors_6704_);
lean_dec_ref(v___y_6692_);
v___x_6729_ = lean_box(v_isRec_6705_);
if (v_isShared_6699_ == 0)
{
lean_ctor_set(v___x_6698_, 0, v___x_6729_);
v___x_6731_ = v___x_6698_;
goto v_reusejp_6730_;
}
else
{
lean_object* v_reuseFailAlloc_6732_; 
v_reuseFailAlloc_6732_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6732_, 0, v___x_6729_);
v___x_6731_ = v_reuseFailAlloc_6732_;
goto v_reusejp_6730_;
}
v_reusejp_6730_:
{
return v___x_6731_;
}
}
}
else
{
lean_object* v___x_6733_; lean_object* v___x_6735_; 
lean_dec(v_ctors_6704_);
lean_dec_ref(v___y_6692_);
v___x_6733_ = lean_box(v___x_6727_);
if (v_isShared_6699_ == 0)
{
lean_ctor_set(v___x_6698_, 0, v___x_6733_);
v___x_6735_ = v___x_6698_;
goto v_reusejp_6734_;
}
else
{
lean_object* v_reuseFailAlloc_6736_; 
v_reuseFailAlloc_6736_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6736_, 0, v___x_6733_);
v___x_6735_ = v_reuseFailAlloc_6736_;
goto v_reusejp_6734_;
}
v_reusejp_6734_:
{
return v___x_6735_;
}
}
}
else
{
lean_object* v___x_6737_; lean_object* v___x_6739_; 
lean_dec(v_ctors_6704_);
lean_dec_ref(v___y_6692_);
v___x_6737_ = lean_box(v___x_6708_);
if (v_isShared_6699_ == 0)
{
lean_ctor_set(v___x_6698_, 0, v___x_6737_);
v___x_6739_ = v___x_6698_;
goto v_reusejp_6738_;
}
else
{
lean_object* v_reuseFailAlloc_6740_; 
v_reuseFailAlloc_6740_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6740_, 0, v___x_6737_);
v___x_6739_ = v_reuseFailAlloc_6740_;
goto v_reusejp_6738_;
}
v_reusejp_6738_:
{
return v___x_6739_;
}
}
}
}
}
}
else
{
uint8_t v___x_6741_; lean_object* v___x_6742_; lean_object* v___x_6744_; 
lean_dec(v_ctors_6704_);
lean_dec(v_numIndices_6703_);
lean_dec(v_numParams_6702_);
lean_dec_ref(v_val_6700_);
lean_dec_ref(v___y_6692_);
v___x_6741_ = 0;
v___x_6742_ = lean_box(v___x_6741_);
if (v_isShared_6699_ == 0)
{
lean_ctor_set(v___x_6698_, 0, v___x_6742_);
v___x_6744_ = v___x_6698_;
goto v_reusejp_6743_;
}
else
{
lean_object* v_reuseFailAlloc_6745_; 
v_reuseFailAlloc_6745_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6745_, 0, v___x_6742_);
v___x_6744_ = v_reuseFailAlloc_6745_;
goto v_reusejp_6743_;
}
v_reusejp_6743_:
{
return v___x_6744_;
}
}
}
else
{
uint8_t v___x_6746_; lean_object* v___x_6747_; lean_object* v___x_6749_; 
lean_dec(v_a_6696_);
lean_dec_ref(v___y_6692_);
v___x_6746_ = 0;
v___x_6747_ = lean_box(v___x_6746_);
if (v_isShared_6699_ == 0)
{
lean_ctor_set(v___x_6698_, 0, v___x_6747_);
v___x_6749_ = v___x_6698_;
goto v_reusejp_6748_;
}
else
{
lean_object* v_reuseFailAlloc_6750_; 
v_reuseFailAlloc_6750_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6750_, 0, v___x_6747_);
v___x_6749_ = v_reuseFailAlloc_6750_;
goto v_reusejp_6748_;
}
v_reusejp_6748_:
{
return v___x_6749_;
}
}
}
}
else
{
lean_object* v_a_6752_; lean_object* v___x_6754_; uint8_t v_isShared_6755_; uint8_t v_isSharedCheck_6759_; 
lean_dec_ref(v___y_6692_);
v_a_6752_ = lean_ctor_get(v___x_6695_, 0);
v_isSharedCheck_6759_ = !lean_is_exclusive(v___x_6695_);
if (v_isSharedCheck_6759_ == 0)
{
v___x_6754_ = v___x_6695_;
v_isShared_6755_ = v_isSharedCheck_6759_;
goto v_resetjp_6753_;
}
else
{
lean_inc(v_a_6752_);
lean_dec(v___x_6695_);
v___x_6754_ = lean_box(0);
v_isShared_6755_ = v_isSharedCheck_6759_;
goto v_resetjp_6753_;
}
v_resetjp_6753_:
{
lean_object* v___x_6757_; 
if (v_isShared_6755_ == 0)
{
v___x_6757_ = v___x_6754_;
goto v_reusejp_6756_;
}
else
{
lean_object* v_reuseFailAlloc_6758_; 
v_reuseFailAlloc_6758_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6758_, 0, v_a_6752_);
v___x_6757_ = v_reuseFailAlloc_6758_;
goto v_reusejp_6756_;
}
v_reusejp_6756_:
{
return v___x_6757_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_isEnumType___at___00Lean_mkNoConfusion_spec__0___boxed(lean_object* v_declName_6760_, lean_object* v___y_6761_, lean_object* v___y_6762_, lean_object* v___y_6763_, lean_object* v___y_6764_, lean_object* v___y_6765_){
_start:
{
lean_object* v_res_6766_; 
v_res_6766_ = l_Lean_isEnumType___at___00Lean_mkNoConfusion_spec__0(v_declName_6760_, v___y_6761_, v___y_6762_, v___y_6763_, v___y_6764_);
lean_dec(v___y_6764_);
lean_dec(v___y_6762_);
lean_dec_ref(v___y_6761_);
return v_res_6766_;
}
}
LEAN_EXPORT uint8_t l_Except_toTraceResult___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__3(lean_object* v_e_6767_){
_start:
{
if (lean_obj_tag(v_e_6767_) == 0)
{
uint8_t v___x_6768_; 
v___x_6768_ = 2;
return v___x_6768_;
}
else
{
uint8_t v___x_6769_; 
v___x_6769_ = 0;
return v___x_6769_;
}
}
}
LEAN_EXPORT lean_object* l_Except_toTraceResult___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__3___boxed(lean_object* v_e_6770_){
_start:
{
uint8_t v_res_6771_; lean_object* v_r_6772_; 
v_res_6771_ = l_Except_toTraceResult___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__3(v_e_6770_);
lean_dec_ref(v_e_6770_);
v_r_6772_ = lean_box(v_res_6771_);
return v_r_6772_;
}
}
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_mkNoConfusion_spec__2_spec__4_spec__5(size_t v_sz_6773_, size_t v_i_6774_, lean_object* v_bs_6775_){
_start:
{
uint8_t v___x_6776_; 
v___x_6776_ = lean_usize_dec_lt(v_i_6774_, v_sz_6773_);
if (v___x_6776_ == 0)
{
return v_bs_6775_;
}
else
{
lean_object* v_v_6777_; lean_object* v_msg_6778_; lean_object* v___x_6779_; lean_object* v_bs_x27_6780_; size_t v___x_6781_; size_t v___x_6782_; lean_object* v___x_6783_; 
v_v_6777_ = lean_array_uget_borrowed(v_bs_6775_, v_i_6774_);
v_msg_6778_ = lean_ctor_get(v_v_6777_, 1);
lean_inc_ref(v_msg_6778_);
v___x_6779_ = lean_unsigned_to_nat(0u);
v_bs_x27_6780_ = lean_array_uset(v_bs_6775_, v_i_6774_, v___x_6779_);
v___x_6781_ = ((size_t)1ULL);
v___x_6782_ = lean_usize_add(v_i_6774_, v___x_6781_);
v___x_6783_ = lean_array_uset(v_bs_x27_6780_, v_i_6774_, v_msg_6778_);
v_i_6774_ = v___x_6782_;
v_bs_6775_ = v___x_6783_;
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_mkNoConfusion_spec__2_spec__4_spec__5___boxed(lean_object* v_sz_6785_, lean_object* v_i_6786_, lean_object* v_bs_6787_){
_start:
{
size_t v_sz_boxed_6788_; size_t v_i_boxed_6789_; lean_object* v_res_6790_; 
v_sz_boxed_6788_ = lean_unbox_usize(v_sz_6785_);
lean_dec(v_sz_6785_);
v_i_boxed_6789_ = lean_unbox_usize(v_i_6786_);
lean_dec(v_i_6786_);
v_res_6790_ = 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_mkNoConfusion_spec__2_spec__4_spec__5(v_sz_boxed_6788_, v_i_boxed_6789_, v_bs_6787_);
return v_res_6790_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_addTraceNode___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__4(lean_object* v_oldTraces_6791_, lean_object* v_data_6792_, lean_object* v_ref_6793_, lean_object* v_msg_6794_, lean_object* v___y_6795_, lean_object* v___y_6796_, lean_object* v___y_6797_, lean_object* v___y_6798_){
_start:
{
lean_object* v_fileName_6800_; lean_object* v_fileMap_6801_; lean_object* v_options_6802_; lean_object* v_currRecDepth_6803_; lean_object* v_maxRecDepth_6804_; lean_object* v_ref_6805_; lean_object* v_currNamespace_6806_; lean_object* v_openDecls_6807_; lean_object* v_initHeartbeats_6808_; lean_object* v_maxHeartbeats_6809_; lean_object* v_quotContext_6810_; lean_object* v_currMacroScope_6811_; uint8_t v_diag_6812_; lean_object* v_cancelTk_x3f_6813_; uint8_t v_suppressElabErrors_6814_; lean_object* v_inheritedTraceOptions_6815_; lean_object* v___x_6817_; uint8_t v_isShared_6818_; uint8_t v_isSharedCheck_6870_; 
v_fileName_6800_ = lean_ctor_get(v___y_6797_, 0);
v_fileMap_6801_ = lean_ctor_get(v___y_6797_, 1);
v_options_6802_ = lean_ctor_get(v___y_6797_, 2);
v_currRecDepth_6803_ = lean_ctor_get(v___y_6797_, 3);
v_maxRecDepth_6804_ = lean_ctor_get(v___y_6797_, 4);
v_ref_6805_ = lean_ctor_get(v___y_6797_, 5);
v_currNamespace_6806_ = lean_ctor_get(v___y_6797_, 6);
v_openDecls_6807_ = lean_ctor_get(v___y_6797_, 7);
v_initHeartbeats_6808_ = lean_ctor_get(v___y_6797_, 8);
v_maxHeartbeats_6809_ = lean_ctor_get(v___y_6797_, 9);
v_quotContext_6810_ = lean_ctor_get(v___y_6797_, 10);
v_currMacroScope_6811_ = lean_ctor_get(v___y_6797_, 11);
v_diag_6812_ = lean_ctor_get_uint8(v___y_6797_, sizeof(void*)*14);
v_cancelTk_x3f_6813_ = lean_ctor_get(v___y_6797_, 12);
v_suppressElabErrors_6814_ = lean_ctor_get_uint8(v___y_6797_, sizeof(void*)*14 + 1);
v_inheritedTraceOptions_6815_ = lean_ctor_get(v___y_6797_, 13);
v_isSharedCheck_6870_ = !lean_is_exclusive(v___y_6797_);
if (v_isSharedCheck_6870_ == 0)
{
v___x_6817_ = v___y_6797_;
v_isShared_6818_ = v_isSharedCheck_6870_;
goto v_resetjp_6816_;
}
else
{
lean_inc(v_inheritedTraceOptions_6815_);
lean_inc(v_cancelTk_x3f_6813_);
lean_inc(v_currMacroScope_6811_);
lean_inc(v_quotContext_6810_);
lean_inc(v_maxHeartbeats_6809_);
lean_inc(v_initHeartbeats_6808_);
lean_inc(v_openDecls_6807_);
lean_inc(v_currNamespace_6806_);
lean_inc(v_ref_6805_);
lean_inc(v_maxRecDepth_6804_);
lean_inc(v_currRecDepth_6803_);
lean_inc(v_options_6802_);
lean_inc(v_fileMap_6801_);
lean_inc(v_fileName_6800_);
lean_dec(v___y_6797_);
v___x_6817_ = lean_box(0);
v_isShared_6818_ = v_isSharedCheck_6870_;
goto v_resetjp_6816_;
}
v_resetjp_6816_:
{
lean_object* v___x_6819_; lean_object* v_traceState_6820_; lean_object* v_traces_6821_; lean_object* v_ref_6822_; lean_object* v___x_6824_; 
v___x_6819_ = lean_st_ref_get(v___y_6798_);
v_traceState_6820_ = lean_ctor_get(v___x_6819_, 4);
lean_inc_ref(v_traceState_6820_);
lean_dec(v___x_6819_);
v_traces_6821_ = lean_ctor_get(v_traceState_6820_, 0);
lean_inc_ref(v_traces_6821_);
lean_dec_ref(v_traceState_6820_);
v_ref_6822_ = l_Lean_replaceRef(v_ref_6793_, v_ref_6805_);
lean_dec(v_ref_6805_);
if (v_isShared_6818_ == 0)
{
lean_ctor_set(v___x_6817_, 5, v_ref_6822_);
v___x_6824_ = v___x_6817_;
goto v_reusejp_6823_;
}
else
{
lean_object* v_reuseFailAlloc_6869_; 
v_reuseFailAlloc_6869_ = lean_alloc_ctor(0, 14, 2);
lean_ctor_set(v_reuseFailAlloc_6869_, 0, v_fileName_6800_);
lean_ctor_set(v_reuseFailAlloc_6869_, 1, v_fileMap_6801_);
lean_ctor_set(v_reuseFailAlloc_6869_, 2, v_options_6802_);
lean_ctor_set(v_reuseFailAlloc_6869_, 3, v_currRecDepth_6803_);
lean_ctor_set(v_reuseFailAlloc_6869_, 4, v_maxRecDepth_6804_);
lean_ctor_set(v_reuseFailAlloc_6869_, 5, v_ref_6822_);
lean_ctor_set(v_reuseFailAlloc_6869_, 6, v_currNamespace_6806_);
lean_ctor_set(v_reuseFailAlloc_6869_, 7, v_openDecls_6807_);
lean_ctor_set(v_reuseFailAlloc_6869_, 8, v_initHeartbeats_6808_);
lean_ctor_set(v_reuseFailAlloc_6869_, 9, v_maxHeartbeats_6809_);
lean_ctor_set(v_reuseFailAlloc_6869_, 10, v_quotContext_6810_);
lean_ctor_set(v_reuseFailAlloc_6869_, 11, v_currMacroScope_6811_);
lean_ctor_set(v_reuseFailAlloc_6869_, 12, v_cancelTk_x3f_6813_);
lean_ctor_set(v_reuseFailAlloc_6869_, 13, v_inheritedTraceOptions_6815_);
lean_ctor_set_uint8(v_reuseFailAlloc_6869_, sizeof(void*)*14, v_diag_6812_);
lean_ctor_set_uint8(v_reuseFailAlloc_6869_, sizeof(void*)*14 + 1, v_suppressElabErrors_6814_);
v___x_6824_ = v_reuseFailAlloc_6869_;
goto v_reusejp_6823_;
}
v_reusejp_6823_:
{
lean_object* v___x_6825_; size_t v_sz_6826_; size_t v___x_6827_; lean_object* v___x_6828_; lean_object* v_msg_6829_; lean_object* v___x_6830_; lean_object* v_a_6831_; lean_object* v___x_6833_; uint8_t v_isShared_6834_; uint8_t v_isSharedCheck_6868_; 
v___x_6825_ = l_Lean_PersistentArray_toArray___redArg(v_traces_6821_);
lean_dec_ref(v_traces_6821_);
v_sz_6826_ = lean_array_size(v___x_6825_);
v___x_6827_ = ((size_t)0ULL);
v___x_6828_ = 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_mkNoConfusion_spec__2_spec__4_spec__5(v_sz_6826_, v___x_6827_, v___x_6825_);
v_msg_6829_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v_msg_6829_, 0, v_data_6792_);
lean_ctor_set(v_msg_6829_, 1, v_msg_6794_);
lean_ctor_set(v_msg_6829_, 2, v___x_6828_);
v___x_6830_ = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_getConstInfoCtor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCtorArg_spec__0_spec__0_spec__4(v_msg_6829_, v___y_6795_, v___y_6796_, v___x_6824_, v___y_6798_);
lean_dec_ref(v___x_6824_);
v_a_6831_ = lean_ctor_get(v___x_6830_, 0);
v_isSharedCheck_6868_ = !lean_is_exclusive(v___x_6830_);
if (v_isSharedCheck_6868_ == 0)
{
v___x_6833_ = v___x_6830_;
v_isShared_6834_ = v_isSharedCheck_6868_;
goto v_resetjp_6832_;
}
else
{
lean_inc(v_a_6831_);
lean_dec(v___x_6830_);
v___x_6833_ = lean_box(0);
v_isShared_6834_ = v_isSharedCheck_6868_;
goto v_resetjp_6832_;
}
v_resetjp_6832_:
{
lean_object* v___x_6835_; lean_object* v_traceState_6836_; lean_object* v_env_6837_; lean_object* v_nextMacroScope_6838_; lean_object* v_ngen_6839_; lean_object* v_auxDeclNGen_6840_; lean_object* v_cache_6841_; lean_object* v_messages_6842_; lean_object* v_infoState_6843_; lean_object* v_snapshotTasks_6844_; lean_object* v___x_6846_; uint8_t v_isShared_6847_; uint8_t v_isSharedCheck_6867_; 
v___x_6835_ = lean_st_ref_take(v___y_6798_);
v_traceState_6836_ = lean_ctor_get(v___x_6835_, 4);
v_env_6837_ = lean_ctor_get(v___x_6835_, 0);
v_nextMacroScope_6838_ = lean_ctor_get(v___x_6835_, 1);
v_ngen_6839_ = lean_ctor_get(v___x_6835_, 2);
v_auxDeclNGen_6840_ = lean_ctor_get(v___x_6835_, 3);
v_cache_6841_ = lean_ctor_get(v___x_6835_, 5);
v_messages_6842_ = lean_ctor_get(v___x_6835_, 6);
v_infoState_6843_ = lean_ctor_get(v___x_6835_, 7);
v_snapshotTasks_6844_ = lean_ctor_get(v___x_6835_, 8);
v_isSharedCheck_6867_ = !lean_is_exclusive(v___x_6835_);
if (v_isSharedCheck_6867_ == 0)
{
v___x_6846_ = v___x_6835_;
v_isShared_6847_ = v_isSharedCheck_6867_;
goto v_resetjp_6845_;
}
else
{
lean_inc(v_snapshotTasks_6844_);
lean_inc(v_infoState_6843_);
lean_inc(v_messages_6842_);
lean_inc(v_cache_6841_);
lean_inc(v_traceState_6836_);
lean_inc(v_auxDeclNGen_6840_);
lean_inc(v_ngen_6839_);
lean_inc(v_nextMacroScope_6838_);
lean_inc(v_env_6837_);
lean_dec(v___x_6835_);
v___x_6846_ = lean_box(0);
v_isShared_6847_ = v_isSharedCheck_6867_;
goto v_resetjp_6845_;
}
v_resetjp_6845_:
{
uint64_t v_tid_6848_; lean_object* v___x_6850_; uint8_t v_isShared_6851_; uint8_t v_isSharedCheck_6865_; 
v_tid_6848_ = lean_ctor_get_uint64(v_traceState_6836_, sizeof(void*)*1);
v_isSharedCheck_6865_ = !lean_is_exclusive(v_traceState_6836_);
if (v_isSharedCheck_6865_ == 0)
{
lean_object* v_unused_6866_; 
v_unused_6866_ = lean_ctor_get(v_traceState_6836_, 0);
lean_dec(v_unused_6866_);
v___x_6850_ = v_traceState_6836_;
v_isShared_6851_ = v_isSharedCheck_6865_;
goto v_resetjp_6849_;
}
else
{
lean_dec(v_traceState_6836_);
v___x_6850_ = lean_box(0);
v_isShared_6851_ = v_isSharedCheck_6865_;
goto v_resetjp_6849_;
}
v_resetjp_6849_:
{
lean_object* v___x_6852_; lean_object* v___x_6853_; lean_object* v___x_6855_; 
v___x_6852_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_6852_, 0, v_ref_6793_);
lean_ctor_set(v___x_6852_, 1, v_a_6831_);
v___x_6853_ = l_Lean_PersistentArray_push___redArg(v_oldTraces_6791_, v___x_6852_);
if (v_isShared_6851_ == 0)
{
lean_ctor_set(v___x_6850_, 0, v___x_6853_);
v___x_6855_ = v___x_6850_;
goto v_reusejp_6854_;
}
else
{
lean_object* v_reuseFailAlloc_6864_; 
v_reuseFailAlloc_6864_ = lean_alloc_ctor(0, 1, 8);
lean_ctor_set(v_reuseFailAlloc_6864_, 0, v___x_6853_);
lean_ctor_set_uint64(v_reuseFailAlloc_6864_, sizeof(void*)*1, v_tid_6848_);
v___x_6855_ = v_reuseFailAlloc_6864_;
goto v_reusejp_6854_;
}
v_reusejp_6854_:
{
lean_object* v___x_6857_; 
if (v_isShared_6847_ == 0)
{
lean_ctor_set(v___x_6846_, 4, v___x_6855_);
v___x_6857_ = v___x_6846_;
goto v_reusejp_6856_;
}
else
{
lean_object* v_reuseFailAlloc_6863_; 
v_reuseFailAlloc_6863_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_6863_, 0, v_env_6837_);
lean_ctor_set(v_reuseFailAlloc_6863_, 1, v_nextMacroScope_6838_);
lean_ctor_set(v_reuseFailAlloc_6863_, 2, v_ngen_6839_);
lean_ctor_set(v_reuseFailAlloc_6863_, 3, v_auxDeclNGen_6840_);
lean_ctor_set(v_reuseFailAlloc_6863_, 4, v___x_6855_);
lean_ctor_set(v_reuseFailAlloc_6863_, 5, v_cache_6841_);
lean_ctor_set(v_reuseFailAlloc_6863_, 6, v_messages_6842_);
lean_ctor_set(v_reuseFailAlloc_6863_, 7, v_infoState_6843_);
lean_ctor_set(v_reuseFailAlloc_6863_, 8, v_snapshotTasks_6844_);
v___x_6857_ = v_reuseFailAlloc_6863_;
goto v_reusejp_6856_;
}
v_reusejp_6856_:
{
lean_object* v___x_6858_; lean_object* v___x_6859_; lean_object* v___x_6861_; 
v___x_6858_ = lean_st_ref_set(v___y_6798_, v___x_6857_);
v___x_6859_ = lean_box(0);
if (v_isShared_6834_ == 0)
{
lean_ctor_set(v___x_6833_, 0, v___x_6859_);
v___x_6861_ = v___x_6833_;
goto v_reusejp_6860_;
}
else
{
lean_object* v_reuseFailAlloc_6862_; 
v_reuseFailAlloc_6862_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6862_, 0, v___x_6859_);
v___x_6861_ = v_reuseFailAlloc_6862_;
goto v_reusejp_6860_;
}
v_reusejp_6860_:
{
return v___x_6861_;
}
}
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_addTraceNode___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__4___boxed(lean_object* v_oldTraces_6871_, lean_object* v_data_6872_, lean_object* v_ref_6873_, lean_object* v_msg_6874_, lean_object* v___y_6875_, lean_object* v___y_6876_, lean_object* v___y_6877_, lean_object* v___y_6878_, lean_object* v___y_6879_){
_start:
{
lean_object* v_res_6880_; 
v_res_6880_ = l___private_Lean_Util_Trace_0__Lean_addTraceNode___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__4(v_oldTraces_6871_, v_data_6872_, v_ref_6873_, v_msg_6874_, v___y_6875_, v___y_6876_, v___y_6877_, v___y_6878_);
lean_dec(v___y_6878_);
lean_dec(v___y_6876_);
lean_dec_ref(v___y_6875_);
return v_res_6880_;
}
}
LEAN_EXPORT lean_object* l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__5___redArg(lean_object* v_x_6881_){
_start:
{
if (lean_obj_tag(v_x_6881_) == 0)
{
lean_object* v_a_6883_; lean_object* v___x_6885_; uint8_t v_isShared_6886_; uint8_t v_isSharedCheck_6890_; 
v_a_6883_ = lean_ctor_get(v_x_6881_, 0);
v_isSharedCheck_6890_ = !lean_is_exclusive(v_x_6881_);
if (v_isSharedCheck_6890_ == 0)
{
v___x_6885_ = v_x_6881_;
v_isShared_6886_ = v_isSharedCheck_6890_;
goto v_resetjp_6884_;
}
else
{
lean_inc(v_a_6883_);
lean_dec(v_x_6881_);
v___x_6885_ = lean_box(0);
v_isShared_6886_ = v_isSharedCheck_6890_;
goto v_resetjp_6884_;
}
v_resetjp_6884_:
{
lean_object* v___x_6888_; 
if (v_isShared_6886_ == 0)
{
lean_ctor_set_tag(v___x_6885_, 1);
v___x_6888_ = v___x_6885_;
goto v_reusejp_6887_;
}
else
{
lean_object* v_reuseFailAlloc_6889_; 
v_reuseFailAlloc_6889_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6889_, 0, v_a_6883_);
v___x_6888_ = v_reuseFailAlloc_6889_;
goto v_reusejp_6887_;
}
v_reusejp_6887_:
{
return v___x_6888_;
}
}
}
else
{
lean_object* v_a_6891_; lean_object* v___x_6893_; uint8_t v_isShared_6894_; uint8_t v_isSharedCheck_6898_; 
v_a_6891_ = lean_ctor_get(v_x_6881_, 0);
v_isSharedCheck_6898_ = !lean_is_exclusive(v_x_6881_);
if (v_isSharedCheck_6898_ == 0)
{
v___x_6893_ = v_x_6881_;
v_isShared_6894_ = v_isSharedCheck_6898_;
goto v_resetjp_6892_;
}
else
{
lean_inc(v_a_6891_);
lean_dec(v_x_6881_);
v___x_6893_ = lean_box(0);
v_isShared_6894_ = v_isSharedCheck_6898_;
goto v_resetjp_6892_;
}
v_resetjp_6892_:
{
lean_object* v___x_6896_; 
if (v_isShared_6894_ == 0)
{
lean_ctor_set_tag(v___x_6893_, 0);
v___x_6896_ = v___x_6893_;
goto v_reusejp_6895_;
}
else
{
lean_object* v_reuseFailAlloc_6897_; 
v_reuseFailAlloc_6897_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6897_, 0, v_a_6891_);
v___x_6896_ = v_reuseFailAlloc_6897_;
goto v_reusejp_6895_;
}
v_reusejp_6895_:
{
return v___x_6896_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__5___redArg___boxed(lean_object* v_x_6899_, lean_object* v___y_6900_){
_start:
{
lean_object* v_res_6901_; 
v_res_6901_ = l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__5___redArg(v_x_6899_);
return v_res_6901_;
}
}
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__6(lean_object* v_opts_6902_, lean_object* v_opt_6903_){
_start:
{
lean_object* v_name_6904_; lean_object* v_defValue_6905_; lean_object* v_map_6906_; lean_object* v___x_6907_; 
v_name_6904_ = lean_ctor_get(v_opt_6903_, 0);
v_defValue_6905_ = lean_ctor_get(v_opt_6903_, 1);
v_map_6906_ = lean_ctor_get(v_opts_6902_, 0);
v___x_6907_ = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00Lean_NameMap_find_x3f_spec__0___redArg(v_map_6906_, v_name_6904_);
if (lean_obj_tag(v___x_6907_) == 0)
{
lean_inc(v_defValue_6905_);
return v_defValue_6905_;
}
else
{
lean_object* v_val_6908_; 
v_val_6908_ = lean_ctor_get(v___x_6907_, 0);
lean_inc(v_val_6908_);
lean_dec_ref(v___x_6907_);
if (lean_obj_tag(v_val_6908_) == 3)
{
lean_object* v_v_6909_; 
v_v_6909_ = lean_ctor_get(v_val_6908_, 0);
lean_inc(v_v_6909_);
lean_dec_ref(v_val_6908_);
return v_v_6909_;
}
else
{
lean_dec(v_val_6908_);
lean_inc(v_defValue_6905_);
return v_defValue_6905_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__6___boxed(lean_object* v_opts_6910_, lean_object* v_opt_6911_){
_start:
{
lean_object* v_res_6912_; 
v_res_6912_ = l_Lean_Option_get___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__6(v_opts_6910_, v_opt_6911_);
lean_dec_ref(v_opt_6911_);
lean_dec_ref(v_opts_6910_);
return v_res_6912_;
}
}
static lean_object* _init_l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__1(void){
_start:
{
lean_object* v___x_6914_; lean_object* v___x_6915_; 
v___x_6914_ = ((lean_object*)(l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__0));
v___x_6915_ = l_Lean_stringToMessageData(v___x_6914_);
return v___x_6915_;
}
}
static lean_object* _init_l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__3(void){
_start:
{
lean_object* v___x_6917_; lean_object* v___x_6918_; 
v___x_6917_ = ((lean_object*)(l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__2));
v___x_6918_ = l_Lean_stringToMessageData(v___x_6917_);
return v___x_6918_;
}
}
static double _init_l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__4(void){
_start:
{
lean_object* v___x_6919_; double v___x_6920_; 
v___x_6919_ = lean_unsigned_to_nat(1000u);
v___x_6920_ = lean_float_of_nat(v___x_6919_);
return v___x_6920_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2(lean_object* v_cls_6921_, uint8_t v_collapsed_6922_, lean_object* v_tag_6923_, lean_object* v_opts_6924_, uint8_t v_clsEnabled_6925_, lean_object* v_oldTraces_6926_, lean_object* v_msg_6927_, lean_object* v_resStartStop_6928_, lean_object* v___y_6929_, lean_object* v___y_6930_, lean_object* v___y_6931_, lean_object* v___y_6932_){
_start:
{
lean_object* v_fst_6934_; lean_object* v_snd_6935_; lean_object* v___x_6937_; uint8_t v_isShared_6938_; uint8_t v_isSharedCheck_7025_; 
v_fst_6934_ = lean_ctor_get(v_resStartStop_6928_, 0);
v_snd_6935_ = lean_ctor_get(v_resStartStop_6928_, 1);
v_isSharedCheck_7025_ = !lean_is_exclusive(v_resStartStop_6928_);
if (v_isSharedCheck_7025_ == 0)
{
v___x_6937_ = v_resStartStop_6928_;
v_isShared_6938_ = v_isSharedCheck_7025_;
goto v_resetjp_6936_;
}
else
{
lean_inc(v_snd_6935_);
lean_inc(v_fst_6934_);
lean_dec(v_resStartStop_6928_);
v___x_6937_ = lean_box(0);
v_isShared_6938_ = v_isSharedCheck_7025_;
goto v_resetjp_6936_;
}
v_resetjp_6936_:
{
lean_object* v___y_6940_; lean_object* v___y_6941_; lean_object* v_data_6942_; lean_object* v_fst_6945_; lean_object* v_snd_6946_; lean_object* v___x_6948_; uint8_t v_isShared_6949_; uint8_t v_isSharedCheck_7024_; 
v_fst_6945_ = lean_ctor_get(v_snd_6935_, 0);
v_snd_6946_ = lean_ctor_get(v_snd_6935_, 1);
v_isSharedCheck_7024_ = !lean_is_exclusive(v_snd_6935_);
if (v_isSharedCheck_7024_ == 0)
{
v___x_6948_ = v_snd_6935_;
v_isShared_6949_ = v_isSharedCheck_7024_;
goto v_resetjp_6947_;
}
else
{
lean_inc(v_snd_6946_);
lean_inc(v_fst_6945_);
lean_dec(v_snd_6935_);
v___x_6948_ = lean_box(0);
v_isShared_6949_ = v_isSharedCheck_7024_;
goto v_resetjp_6947_;
}
v___jp_6939_:
{
lean_object* v___x_6943_; 
v___x_6943_ = l___private_Lean_Util_Trace_0__Lean_addTraceNode___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__4(v_oldTraces_6926_, v_data_6942_, v___y_6941_, v___y_6940_, v___y_6929_, v___y_6930_, v___y_6931_, v___y_6932_);
lean_dec(v___y_6932_);
lean_dec(v___y_6930_);
lean_dec_ref(v___y_6929_);
if (lean_obj_tag(v___x_6943_) == 0)
{
lean_object* v___x_6944_; 
lean_dec_ref(v___x_6943_);
v___x_6944_ = l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__5___redArg(v_fst_6934_);
return v___x_6944_;
}
else
{
lean_dec(v_fst_6934_);
return v___x_6943_;
}
}
v_resetjp_6947_:
{
lean_object* v___x_6950_; uint8_t v___x_6951_; lean_object* v___y_6953_; lean_object* v_a_6954_; uint8_t v___y_6978_; double v___y_7009_; 
v___x_6950_ = l_Lean_trace_profiler;
v___x_6951_ = l_Lean_Option_get___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__0(v_opts_6924_, v___x_6950_);
if (v___x_6951_ == 0)
{
v___y_6978_ = v___x_6951_;
goto v___jp_6977_;
}
else
{
lean_object* v___x_7014_; uint8_t v___x_7015_; 
v___x_7014_ = l_Lean_trace_profiler_useHeartbeats;
v___x_7015_ = l_Lean_Option_get___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__0(v_opts_6924_, v___x_7014_);
if (v___x_7015_ == 0)
{
lean_object* v___x_7016_; lean_object* v___x_7017_; double v___x_7018_; double v___x_7019_; double v___x_7020_; 
v___x_7016_ = l_Lean_trace_profiler_threshold;
v___x_7017_ = l_Lean_Option_get___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__6(v_opts_6924_, v___x_7016_);
v___x_7018_ = lean_float_of_nat(v___x_7017_);
v___x_7019_ = lean_float_once(&l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__4, &l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__4_once, _init_l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__4);
v___x_7020_ = lean_float_div(v___x_7018_, v___x_7019_);
v___y_7009_ = v___x_7020_;
goto v___jp_7008_;
}
else
{
lean_object* v___x_7021_; lean_object* v___x_7022_; double v___x_7023_; 
v___x_7021_ = l_Lean_trace_profiler_threshold;
v___x_7022_ = l_Lean_Option_get___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__6(v_opts_6924_, v___x_7021_);
v___x_7023_ = lean_float_of_nat(v___x_7022_);
v___y_7009_ = v___x_7023_;
goto v___jp_7008_;
}
}
v___jp_6952_:
{
uint8_t v_result_6955_; lean_object* v___x_6956_; lean_object* v___x_6957_; lean_object* v___x_6958_; lean_object* v___x_6960_; 
v_result_6955_ = l_Except_toTraceResult___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__3(v_fst_6934_);
v___x_6956_ = l_Lean_TraceResult_toEmoji(v_result_6955_);
v___x_6957_ = l_Lean_stringToMessageData(v___x_6956_);
v___x_6958_ = lean_obj_once(&l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__1, &l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__1_once, _init_l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__1);
if (v_isShared_6949_ == 0)
{
lean_ctor_set_tag(v___x_6948_, 7);
lean_ctor_set(v___x_6948_, 1, v___x_6958_);
lean_ctor_set(v___x_6948_, 0, v___x_6957_);
v___x_6960_ = v___x_6948_;
goto v_reusejp_6959_;
}
else
{
lean_object* v_reuseFailAlloc_6971_; 
v_reuseFailAlloc_6971_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v_reuseFailAlloc_6971_, 0, v___x_6957_);
lean_ctor_set(v_reuseFailAlloc_6971_, 1, v___x_6958_);
v___x_6960_ = v_reuseFailAlloc_6971_;
goto v_reusejp_6959_;
}
v_reusejp_6959_:
{
lean_object* v_m_6962_; 
if (v_isShared_6938_ == 0)
{
lean_ctor_set_tag(v___x_6937_, 7);
lean_ctor_set(v___x_6937_, 1, v_a_6954_);
lean_ctor_set(v___x_6937_, 0, v___x_6960_);
v_m_6962_ = v___x_6937_;
goto v_reusejp_6961_;
}
else
{
lean_object* v_reuseFailAlloc_6970_; 
v_reuseFailAlloc_6970_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v_reuseFailAlloc_6970_, 0, v___x_6960_);
lean_ctor_set(v_reuseFailAlloc_6970_, 1, v_a_6954_);
v_m_6962_ = v_reuseFailAlloc_6970_;
goto v_reusejp_6961_;
}
v_reusejp_6961_:
{
lean_object* v___x_6963_; lean_object* v___x_6964_; double v___x_6965_; lean_object* v_data_6966_; 
v___x_6963_ = lean_box(v_result_6955_);
v___x_6964_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_6964_, 0, v___x_6963_);
v___x_6965_ = lean_float_once(&l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1___closed__0, &l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1___closed__0_once, _init_l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1___closed__0);
lean_inc_ref(v_tag_6923_);
lean_inc_ref(v___x_6964_);
lean_inc(v_cls_6921_);
v_data_6966_ = lean_alloc_ctor(0, 3, 17);
lean_ctor_set(v_data_6966_, 0, v_cls_6921_);
lean_ctor_set(v_data_6966_, 1, v___x_6964_);
lean_ctor_set(v_data_6966_, 2, v_tag_6923_);
lean_ctor_set_float(v_data_6966_, sizeof(void*)*3, v___x_6965_);
lean_ctor_set_float(v_data_6966_, sizeof(void*)*3 + 8, v___x_6965_);
lean_ctor_set_uint8(v_data_6966_, sizeof(void*)*3 + 16, v_collapsed_6922_);
if (v___x_6951_ == 0)
{
lean_dec_ref(v___x_6964_);
lean_dec(v_snd_6946_);
lean_dec(v_fst_6945_);
lean_dec_ref(v_tag_6923_);
lean_dec(v_cls_6921_);
v___y_6940_ = v_m_6962_;
v___y_6941_ = v___y_6953_;
v_data_6942_ = v_data_6966_;
goto v___jp_6939_;
}
else
{
lean_object* v_data_6967_; double v___x_6968_; double v___x_6969_; 
lean_dec_ref(v_data_6966_);
v_data_6967_ = lean_alloc_ctor(0, 3, 17);
lean_ctor_set(v_data_6967_, 0, v_cls_6921_);
lean_ctor_set(v_data_6967_, 1, v___x_6964_);
lean_ctor_set(v_data_6967_, 2, v_tag_6923_);
v___x_6968_ = lean_unbox_float(v_fst_6945_);
lean_dec(v_fst_6945_);
lean_ctor_set_float(v_data_6967_, sizeof(void*)*3, v___x_6968_);
v___x_6969_ = lean_unbox_float(v_snd_6946_);
lean_dec(v_snd_6946_);
lean_ctor_set_float(v_data_6967_, sizeof(void*)*3 + 8, v___x_6969_);
lean_ctor_set_uint8(v_data_6967_, sizeof(void*)*3 + 16, v_collapsed_6922_);
v___y_6940_ = v_m_6962_;
v___y_6941_ = v___y_6953_;
v_data_6942_ = v_data_6967_;
goto v___jp_6939_;
}
}
}
}
v___jp_6972_:
{
lean_object* v_ref_6973_; lean_object* v___x_6974_; 
v_ref_6973_ = lean_ctor_get(v___y_6931_, 5);
lean_inc(v___y_6932_);
lean_inc_ref(v___y_6931_);
lean_inc(v___y_6930_);
lean_inc_ref(v___y_6929_);
lean_inc(v_fst_6934_);
v___x_6974_ = lean_apply_6(v_msg_6927_, v_fst_6934_, v___y_6929_, v___y_6930_, v___y_6931_, v___y_6932_, lean_box(0));
if (lean_obj_tag(v___x_6974_) == 0)
{
lean_object* v_a_6975_; 
v_a_6975_ = lean_ctor_get(v___x_6974_, 0);
lean_inc(v_a_6975_);
lean_dec_ref(v___x_6974_);
lean_inc(v_ref_6973_);
v___y_6953_ = v_ref_6973_;
v_a_6954_ = v_a_6975_;
goto v___jp_6952_;
}
else
{
lean_object* v___x_6976_; 
lean_dec_ref(v___x_6974_);
v___x_6976_ = lean_obj_once(&l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__3, &l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__3_once, _init_l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___closed__3);
lean_inc(v_ref_6973_);
v___y_6953_ = v_ref_6973_;
v_a_6954_ = v___x_6976_;
goto v___jp_6952_;
}
}
v___jp_6977_:
{
if (v_clsEnabled_6925_ == 0)
{
if (v___y_6978_ == 0)
{
lean_object* v___x_6979_; lean_object* v_traceState_6980_; lean_object* v_env_6981_; lean_object* v_nextMacroScope_6982_; lean_object* v_ngen_6983_; lean_object* v_auxDeclNGen_6984_; lean_object* v_cache_6985_; lean_object* v_messages_6986_; lean_object* v_infoState_6987_; lean_object* v_snapshotTasks_6988_; lean_object* v___x_6990_; uint8_t v_isShared_6991_; uint8_t v_isSharedCheck_7007_; 
lean_del_object(v___x_6948_);
lean_dec(v_snd_6946_);
lean_dec(v_fst_6945_);
lean_del_object(v___x_6937_);
lean_dec_ref(v___y_6931_);
lean_dec(v___y_6930_);
lean_dec_ref(v___y_6929_);
lean_dec_ref(v_msg_6927_);
lean_dec_ref(v_tag_6923_);
lean_dec(v_cls_6921_);
v___x_6979_ = lean_st_ref_take(v___y_6932_);
v_traceState_6980_ = lean_ctor_get(v___x_6979_, 4);
v_env_6981_ = lean_ctor_get(v___x_6979_, 0);
v_nextMacroScope_6982_ = lean_ctor_get(v___x_6979_, 1);
v_ngen_6983_ = lean_ctor_get(v___x_6979_, 2);
v_auxDeclNGen_6984_ = lean_ctor_get(v___x_6979_, 3);
v_cache_6985_ = lean_ctor_get(v___x_6979_, 5);
v_messages_6986_ = lean_ctor_get(v___x_6979_, 6);
v_infoState_6987_ = lean_ctor_get(v___x_6979_, 7);
v_snapshotTasks_6988_ = lean_ctor_get(v___x_6979_, 8);
v_isSharedCheck_7007_ = !lean_is_exclusive(v___x_6979_);
if (v_isSharedCheck_7007_ == 0)
{
v___x_6990_ = v___x_6979_;
v_isShared_6991_ = v_isSharedCheck_7007_;
goto v_resetjp_6989_;
}
else
{
lean_inc(v_snapshotTasks_6988_);
lean_inc(v_infoState_6987_);
lean_inc(v_messages_6986_);
lean_inc(v_cache_6985_);
lean_inc(v_traceState_6980_);
lean_inc(v_auxDeclNGen_6984_);
lean_inc(v_ngen_6983_);
lean_inc(v_nextMacroScope_6982_);
lean_inc(v_env_6981_);
lean_dec(v___x_6979_);
v___x_6990_ = lean_box(0);
v_isShared_6991_ = v_isSharedCheck_7007_;
goto v_resetjp_6989_;
}
v_resetjp_6989_:
{
uint64_t v_tid_6992_; lean_object* v_traces_6993_; lean_object* v___x_6995_; uint8_t v_isShared_6996_; uint8_t v_isSharedCheck_7006_; 
v_tid_6992_ = lean_ctor_get_uint64(v_traceState_6980_, sizeof(void*)*1);
v_traces_6993_ = lean_ctor_get(v_traceState_6980_, 0);
v_isSharedCheck_7006_ = !lean_is_exclusive(v_traceState_6980_);
if (v_isSharedCheck_7006_ == 0)
{
v___x_6995_ = v_traceState_6980_;
v_isShared_6996_ = v_isSharedCheck_7006_;
goto v_resetjp_6994_;
}
else
{
lean_inc(v_traces_6993_);
lean_dec(v_traceState_6980_);
v___x_6995_ = lean_box(0);
v_isShared_6996_ = v_isSharedCheck_7006_;
goto v_resetjp_6994_;
}
v_resetjp_6994_:
{
lean_object* v___x_6997_; lean_object* v___x_6999_; 
v___x_6997_ = l_Lean_PersistentArray_append___redArg(v_oldTraces_6926_, v_traces_6993_);
lean_dec_ref(v_traces_6993_);
if (v_isShared_6996_ == 0)
{
lean_ctor_set(v___x_6995_, 0, v___x_6997_);
v___x_6999_ = v___x_6995_;
goto v_reusejp_6998_;
}
else
{
lean_object* v_reuseFailAlloc_7005_; 
v_reuseFailAlloc_7005_ = lean_alloc_ctor(0, 1, 8);
lean_ctor_set(v_reuseFailAlloc_7005_, 0, v___x_6997_);
lean_ctor_set_uint64(v_reuseFailAlloc_7005_, sizeof(void*)*1, v_tid_6992_);
v___x_6999_ = v_reuseFailAlloc_7005_;
goto v_reusejp_6998_;
}
v_reusejp_6998_:
{
lean_object* v___x_7001_; 
if (v_isShared_6991_ == 0)
{
lean_ctor_set(v___x_6990_, 4, v___x_6999_);
v___x_7001_ = v___x_6990_;
goto v_reusejp_7000_;
}
else
{
lean_object* v_reuseFailAlloc_7004_; 
v_reuseFailAlloc_7004_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_7004_, 0, v_env_6981_);
lean_ctor_set(v_reuseFailAlloc_7004_, 1, v_nextMacroScope_6982_);
lean_ctor_set(v_reuseFailAlloc_7004_, 2, v_ngen_6983_);
lean_ctor_set(v_reuseFailAlloc_7004_, 3, v_auxDeclNGen_6984_);
lean_ctor_set(v_reuseFailAlloc_7004_, 4, v___x_6999_);
lean_ctor_set(v_reuseFailAlloc_7004_, 5, v_cache_6985_);
lean_ctor_set(v_reuseFailAlloc_7004_, 6, v_messages_6986_);
lean_ctor_set(v_reuseFailAlloc_7004_, 7, v_infoState_6987_);
lean_ctor_set(v_reuseFailAlloc_7004_, 8, v_snapshotTasks_6988_);
v___x_7001_ = v_reuseFailAlloc_7004_;
goto v_reusejp_7000_;
}
v_reusejp_7000_:
{
lean_object* v___x_7002_; lean_object* v___x_7003_; 
v___x_7002_ = lean_st_ref_set(v___y_6932_, v___x_7001_);
lean_dec(v___y_6932_);
v___x_7003_ = l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__5___redArg(v_fst_6934_);
return v___x_7003_;
}
}
}
}
}
else
{
goto v___jp_6972_;
}
}
else
{
goto v___jp_6972_;
}
}
v___jp_7008_:
{
double v___x_7010_; double v___x_7011_; double v___x_7012_; uint8_t v___x_7013_; 
v___x_7010_ = lean_unbox_float(v_snd_6946_);
v___x_7011_ = lean_unbox_float(v_fst_6945_);
v___x_7012_ = lean_float_sub(v___x_7010_, v___x_7011_);
v___x_7013_ = lean_float_decLt(v___y_7009_, v___x_7012_);
v___y_6978_ = v___x_7013_;
goto v___jp_6977_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2___boxed(lean_object* v_cls_7026_, lean_object* v_collapsed_7027_, lean_object* v_tag_7028_, lean_object* v_opts_7029_, lean_object* v_clsEnabled_7030_, lean_object* v_oldTraces_7031_, lean_object* v_msg_7032_, lean_object* v_resStartStop_7033_, lean_object* v___y_7034_, lean_object* v___y_7035_, lean_object* v___y_7036_, lean_object* v___y_7037_, lean_object* v___y_7038_){
_start:
{
uint8_t v_collapsed_boxed_7039_; uint8_t v_clsEnabled_boxed_7040_; lean_object* v_res_7041_; 
v_collapsed_boxed_7039_ = lean_unbox(v_collapsed_7027_);
v_clsEnabled_boxed_7040_ = lean_unbox(v_clsEnabled_7030_);
v_res_7041_ = l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2(v_cls_7026_, v_collapsed_boxed_7039_, v_tag_7028_, v_opts_7029_, v_clsEnabled_boxed_7040_, v_oldTraces_7031_, v_msg_7032_, v_resStartStop_7033_, v___y_7034_, v___y_7035_, v___y_7036_, v___y_7037_);
lean_dec_ref(v_opts_7029_);
return v_res_7041_;
}
}
static double _init_l_Lean_mkNoConfusion___closed__0(void){
_start:
{
lean_object* v___x_7042_; double v___x_7043_; 
v___x_7042_ = lean_unsigned_to_nat(1000000000u);
v___x_7043_ = lean_float_of_nat(v___x_7042_);
return v___x_7043_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkNoConfusion(lean_object* v_declName_7044_, lean_object* v_a_7045_, lean_object* v_a_7046_, lean_object* v_a_7047_, lean_object* v_a_7048_){
_start:
{
lean_object* v_options_7050_; uint8_t v_hasTrace_7051_; 
v_options_7050_ = lean_ctor_get(v_a_7047_, 2);
v_hasTrace_7051_ = lean_ctor_get_uint8(v_options_7050_, sizeof(void*)*1);
if (v_hasTrace_7051_ == 0)
{
lean_object* v___x_7052_; 
lean_inc_ref(v_a_7047_);
lean_inc(v_declName_7044_);
v___x_7052_ = l_Lean_isEnumType___at___00Lean_mkNoConfusion_spec__0(v_declName_7044_, v_a_7045_, v_a_7046_, v_a_7047_, v_a_7048_);
if (lean_obj_tag(v___x_7052_) == 0)
{
lean_object* v_a_7053_; uint8_t v___x_7054_; 
v_a_7053_ = lean_ctor_get(v___x_7052_, 0);
lean_inc(v_a_7053_);
lean_dec_ref(v___x_7052_);
v___x_7054_ = lean_unbox(v_a_7053_);
lean_dec(v_a_7053_);
if (v___x_7054_ == 0)
{
lean_object* v___x_7055_; 
v___x_7055_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCore(v_declName_7044_, v_a_7045_, v_a_7046_, v_a_7047_, v_a_7048_);
return v___x_7055_;
}
else
{
lean_object* v___x_7056_; 
v___x_7056_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum(v_declName_7044_, v_a_7045_, v_a_7046_, v_a_7047_, v_a_7048_);
return v___x_7056_;
}
}
else
{
lean_object* v_a_7057_; lean_object* v___x_7059_; uint8_t v_isShared_7060_; uint8_t v_isSharedCheck_7064_; 
lean_dec(v_a_7048_);
lean_dec_ref(v_a_7047_);
lean_dec(v_a_7046_);
lean_dec_ref(v_a_7045_);
lean_dec(v_declName_7044_);
v_a_7057_ = lean_ctor_get(v___x_7052_, 0);
v_isSharedCheck_7064_ = !lean_is_exclusive(v___x_7052_);
if (v_isSharedCheck_7064_ == 0)
{
v___x_7059_ = v___x_7052_;
v_isShared_7060_ = v_isSharedCheck_7064_;
goto v_resetjp_7058_;
}
else
{
lean_inc(v_a_7057_);
lean_dec(v___x_7052_);
v___x_7059_ = lean_box(0);
v_isShared_7060_ = v_isSharedCheck_7064_;
goto v_resetjp_7058_;
}
v_resetjp_7058_:
{
lean_object* v___x_7062_; 
if (v_isShared_7060_ == 0)
{
v___x_7062_ = v___x_7059_;
goto v_reusejp_7061_;
}
else
{
lean_object* v_reuseFailAlloc_7063_; 
v_reuseFailAlloc_7063_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7063_, 0, v_a_7057_);
v___x_7062_ = v_reuseFailAlloc_7063_;
goto v_reusejp_7061_;
}
v_reusejp_7061_:
{
return v___x_7062_;
}
}
}
}
else
{
lean_object* v___x_7065_; lean_object* v___x_7066_; lean_object* v_a_7067_; lean_object* v___x_7069_; uint8_t v_isShared_7070_; uint8_t v_isSharedCheck_7175_; 
v___x_7065_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___closed__2));
v___x_7066_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__0___redArg(v___x_7065_, v_a_7047_);
v_a_7067_ = lean_ctor_get(v___x_7066_, 0);
v_isSharedCheck_7175_ = !lean_is_exclusive(v___x_7066_);
if (v_isSharedCheck_7175_ == 0)
{
v___x_7069_ = v___x_7066_;
v_isShared_7070_ = v_isSharedCheck_7175_;
goto v_resetjp_7068_;
}
else
{
lean_inc(v_a_7067_);
lean_dec(v___x_7066_);
v___x_7069_ = lean_box(0);
v_isShared_7070_ = v_isSharedCheck_7175_;
goto v_resetjp_7068_;
}
v_resetjp_7068_:
{
lean_object* v___f_7071_; lean_object* v___x_7072_; lean_object* v___y_7074_; lean_object* v___y_7075_; lean_object* v_a_7076_; lean_object* v___y_7090_; lean_object* v___y_7091_; lean_object* v_a_7092_; lean_object* v___y_7097_; lean_object* v___y_7098_; lean_object* v___y_7099_; lean_object* v___y_7110_; lean_object* v___y_7111_; lean_object* v_a_7112_; lean_object* v___y_7123_; lean_object* v___y_7124_; lean_object* v_a_7125_; lean_object* v___y_7128_; lean_object* v___y_7129_; lean_object* v___y_7130_; uint8_t v___x_7159_; 
lean_inc(v_declName_7044_);
v___f_7071_ = lean_alloc_closure((void*)(l_Lean_mkNoConfusion___lam__0___boxed), 7, 1);
lean_closure_set(v___f_7071_, 0, v_declName_7044_);
v___x_7072_ = ((lean_object*)(l_Lean_addTrace___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__1___closed__1));
v___x_7159_ = lean_unbox(v_a_7067_);
if (v___x_7159_ == 0)
{
lean_object* v___x_7160_; uint8_t v___x_7161_; 
v___x_7160_ = l_Lean_trace_profiler;
v___x_7161_ = l_Lean_Option_get___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__0(v_options_7050_, v___x_7160_);
if (v___x_7161_ == 0)
{
lean_object* v___x_7162_; 
lean_dec_ref(v___f_7071_);
lean_del_object(v___x_7069_);
lean_dec(v_a_7067_);
lean_inc_ref(v_a_7047_);
lean_inc(v_declName_7044_);
v___x_7162_ = l_Lean_isEnumType___at___00Lean_mkNoConfusion_spec__0(v_declName_7044_, v_a_7045_, v_a_7046_, v_a_7047_, v_a_7048_);
if (lean_obj_tag(v___x_7162_) == 0)
{
lean_object* v_a_7163_; uint8_t v___x_7164_; 
v_a_7163_ = lean_ctor_get(v___x_7162_, 0);
lean_inc(v_a_7163_);
lean_dec_ref(v___x_7162_);
v___x_7164_ = lean_unbox(v_a_7163_);
lean_dec(v_a_7163_);
if (v___x_7164_ == 0)
{
lean_object* v___x_7165_; 
v___x_7165_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCore(v_declName_7044_, v_a_7045_, v_a_7046_, v_a_7047_, v_a_7048_);
return v___x_7165_;
}
else
{
lean_object* v___x_7166_; 
v___x_7166_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum(v_declName_7044_, v_a_7045_, v_a_7046_, v_a_7047_, v_a_7048_);
return v___x_7166_;
}
}
else
{
lean_object* v_a_7167_; lean_object* v___x_7169_; uint8_t v_isShared_7170_; uint8_t v_isSharedCheck_7174_; 
lean_dec(v_a_7048_);
lean_dec_ref(v_a_7047_);
lean_dec(v_a_7046_);
lean_dec_ref(v_a_7045_);
lean_dec(v_declName_7044_);
v_a_7167_ = lean_ctor_get(v___x_7162_, 0);
v_isSharedCheck_7174_ = !lean_is_exclusive(v___x_7162_);
if (v_isSharedCheck_7174_ == 0)
{
v___x_7169_ = v___x_7162_;
v_isShared_7170_ = v_isSharedCheck_7174_;
goto v_resetjp_7168_;
}
else
{
lean_inc(v_a_7167_);
lean_dec(v___x_7162_);
v___x_7169_ = lean_box(0);
v_isShared_7170_ = v_isSharedCheck_7174_;
goto v_resetjp_7168_;
}
v_resetjp_7168_:
{
lean_object* v___x_7172_; 
if (v_isShared_7170_ == 0)
{
v___x_7172_ = v___x_7169_;
goto v_reusejp_7171_;
}
else
{
lean_object* v_reuseFailAlloc_7173_; 
v_reuseFailAlloc_7173_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7173_, 0, v_a_7167_);
v___x_7172_ = v_reuseFailAlloc_7173_;
goto v_reusejp_7171_;
}
v_reusejp_7171_:
{
return v___x_7172_;
}
}
}
}
else
{
lean_inc_ref(v_options_7050_);
goto v___jp_7140_;
}
}
else
{
lean_inc_ref(v_options_7050_);
goto v___jp_7140_;
}
v___jp_7073_:
{
lean_object* v___x_7077_; double v___x_7078_; double v___x_7079_; double v___x_7080_; double v___x_7081_; double v___x_7082_; lean_object* v___x_7083_; lean_object* v___x_7084_; lean_object* v___x_7085_; lean_object* v___x_7086_; uint8_t v___x_7087_; lean_object* v___x_7088_; 
v___x_7077_ = lean_io_mono_nanos_now();
v___x_7078_ = lean_float_of_nat(v___y_7075_);
v___x_7079_ = lean_float_once(&l_Lean_mkNoConfusion___closed__0, &l_Lean_mkNoConfusion___closed__0_once, _init_l_Lean_mkNoConfusion___closed__0);
v___x_7080_ = lean_float_div(v___x_7078_, v___x_7079_);
v___x_7081_ = lean_float_of_nat(v___x_7077_);
v___x_7082_ = lean_float_div(v___x_7081_, v___x_7079_);
v___x_7083_ = lean_box_float(v___x_7080_);
v___x_7084_ = lean_box_float(v___x_7082_);
v___x_7085_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_7085_, 0, v___x_7083_);
lean_ctor_set(v___x_7085_, 1, v___x_7084_);
v___x_7086_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_7086_, 0, v_a_7076_);
lean_ctor_set(v___x_7086_, 1, v___x_7085_);
v___x_7087_ = lean_unbox(v_a_7067_);
lean_dec(v_a_7067_);
v___x_7088_ = l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2(v___x_7065_, v_hasTrace_7051_, v___x_7072_, v_options_7050_, v___x_7087_, v___y_7074_, v___f_7071_, v___x_7086_, v_a_7045_, v_a_7046_, v_a_7047_, v_a_7048_);
lean_dec_ref(v_options_7050_);
return v___x_7088_;
}
v___jp_7089_:
{
lean_object* v___x_7094_; 
if (v_isShared_7070_ == 0)
{
lean_ctor_set(v___x_7069_, 0, v_a_7092_);
v___x_7094_ = v___x_7069_;
goto v_reusejp_7093_;
}
else
{
lean_object* v_reuseFailAlloc_7095_; 
v_reuseFailAlloc_7095_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7095_, 0, v_a_7092_);
v___x_7094_ = v_reuseFailAlloc_7095_;
goto v_reusejp_7093_;
}
v_reusejp_7093_:
{
v___y_7074_ = v___y_7090_;
v___y_7075_ = v___y_7091_;
v_a_7076_ = v___x_7094_;
goto v___jp_7073_;
}
}
v___jp_7096_:
{
if (lean_obj_tag(v___y_7099_) == 0)
{
lean_object* v_a_7100_; lean_object* v___x_7102_; uint8_t v_isShared_7103_; uint8_t v_isSharedCheck_7107_; 
lean_del_object(v___x_7069_);
v_a_7100_ = lean_ctor_get(v___y_7099_, 0);
v_isSharedCheck_7107_ = !lean_is_exclusive(v___y_7099_);
if (v_isSharedCheck_7107_ == 0)
{
v___x_7102_ = v___y_7099_;
v_isShared_7103_ = v_isSharedCheck_7107_;
goto v_resetjp_7101_;
}
else
{
lean_inc(v_a_7100_);
lean_dec(v___y_7099_);
v___x_7102_ = lean_box(0);
v_isShared_7103_ = v_isSharedCheck_7107_;
goto v_resetjp_7101_;
}
v_resetjp_7101_:
{
lean_object* v___x_7105_; 
if (v_isShared_7103_ == 0)
{
lean_ctor_set_tag(v___x_7102_, 1);
v___x_7105_ = v___x_7102_;
goto v_reusejp_7104_;
}
else
{
lean_object* v_reuseFailAlloc_7106_; 
v_reuseFailAlloc_7106_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7106_, 0, v_a_7100_);
v___x_7105_ = v_reuseFailAlloc_7106_;
goto v_reusejp_7104_;
}
v_reusejp_7104_:
{
v___y_7074_ = v___y_7097_;
v___y_7075_ = v___y_7098_;
v_a_7076_ = v___x_7105_;
goto v___jp_7073_;
}
}
}
else
{
lean_object* v_a_7108_; 
v_a_7108_ = lean_ctor_get(v___y_7099_, 0);
lean_inc(v_a_7108_);
lean_dec_ref(v___y_7099_);
v___y_7090_ = v___y_7097_;
v___y_7091_ = v___y_7098_;
v_a_7092_ = v_a_7108_;
goto v___jp_7089_;
}
}
v___jp_7109_:
{
lean_object* v___x_7113_; double v___x_7114_; double v___x_7115_; lean_object* v___x_7116_; lean_object* v___x_7117_; lean_object* v___x_7118_; lean_object* v___x_7119_; uint8_t v___x_7120_; lean_object* v___x_7121_; 
v___x_7113_ = lean_io_get_num_heartbeats();
v___x_7114_ = lean_float_of_nat(v___y_7111_);
v___x_7115_ = lean_float_of_nat(v___x_7113_);
v___x_7116_ = lean_box_float(v___x_7114_);
v___x_7117_ = lean_box_float(v___x_7115_);
v___x_7118_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_7118_, 0, v___x_7116_);
lean_ctor_set(v___x_7118_, 1, v___x_7117_);
v___x_7119_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_7119_, 0, v_a_7112_);
lean_ctor_set(v___x_7119_, 1, v___x_7118_);
v___x_7120_ = lean_unbox(v_a_7067_);
lean_dec(v_a_7067_);
v___x_7121_ = l___private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2(v___x_7065_, v_hasTrace_7051_, v___x_7072_, v_options_7050_, v___x_7120_, v___y_7110_, v___f_7071_, v___x_7119_, v_a_7045_, v_a_7046_, v_a_7047_, v_a_7048_);
lean_dec_ref(v_options_7050_);
return v___x_7121_;
}
v___jp_7122_:
{
lean_object* v___x_7126_; 
v___x_7126_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_7126_, 0, v_a_7125_);
v___y_7110_ = v___y_7123_;
v___y_7111_ = v___y_7124_;
v_a_7112_ = v___x_7126_;
goto v___jp_7109_;
}
v___jp_7127_:
{
if (lean_obj_tag(v___y_7130_) == 0)
{
lean_object* v_a_7131_; lean_object* v___x_7133_; uint8_t v_isShared_7134_; uint8_t v_isSharedCheck_7138_; 
v_a_7131_ = lean_ctor_get(v___y_7130_, 0);
v_isSharedCheck_7138_ = !lean_is_exclusive(v___y_7130_);
if (v_isSharedCheck_7138_ == 0)
{
v___x_7133_ = v___y_7130_;
v_isShared_7134_ = v_isSharedCheck_7138_;
goto v_resetjp_7132_;
}
else
{
lean_inc(v_a_7131_);
lean_dec(v___y_7130_);
v___x_7133_ = lean_box(0);
v_isShared_7134_ = v_isSharedCheck_7138_;
goto v_resetjp_7132_;
}
v_resetjp_7132_:
{
lean_object* v___x_7136_; 
if (v_isShared_7134_ == 0)
{
lean_ctor_set_tag(v___x_7133_, 1);
v___x_7136_ = v___x_7133_;
goto v_reusejp_7135_;
}
else
{
lean_object* v_reuseFailAlloc_7137_; 
v_reuseFailAlloc_7137_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7137_, 0, v_a_7131_);
v___x_7136_ = v_reuseFailAlloc_7137_;
goto v_reusejp_7135_;
}
v_reusejp_7135_:
{
v___y_7110_ = v___y_7128_;
v___y_7111_ = v___y_7129_;
v_a_7112_ = v___x_7136_;
goto v___jp_7109_;
}
}
}
else
{
lean_object* v_a_7139_; 
v_a_7139_ = lean_ctor_get(v___y_7130_, 0);
lean_inc(v_a_7139_);
lean_dec_ref(v___y_7130_);
v___y_7123_ = v___y_7128_;
v___y_7124_ = v___y_7129_;
v_a_7125_ = v_a_7139_;
goto v___jp_7122_;
}
}
v___jp_7140_:
{
lean_object* v___x_7141_; lean_object* v_a_7142_; lean_object* v___x_7143_; uint8_t v___x_7144_; 
v___x_7141_ = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___00Lean_mkNoConfusion_spec__1___redArg(v_a_7048_);
v_a_7142_ = lean_ctor_get(v___x_7141_, 0);
lean_inc(v_a_7142_);
lean_dec_ref(v___x_7141_);
v___x_7143_ = l_Lean_trace_profiler_useHeartbeats;
v___x_7144_ = l_Lean_Option_get___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_canUseLinear_spec__0(v_options_7050_, v___x_7143_);
if (v___x_7144_ == 0)
{
lean_object* v___x_7145_; lean_object* v___x_7146_; 
v___x_7145_ = lean_io_mono_nanos_now();
lean_inc_ref(v_a_7047_);
lean_inc(v_declName_7044_);
v___x_7146_ = l_Lean_isEnumType___at___00Lean_mkNoConfusion_spec__0(v_declName_7044_, v_a_7045_, v_a_7046_, v_a_7047_, v_a_7048_);
if (lean_obj_tag(v___x_7146_) == 0)
{
lean_object* v_a_7147_; uint8_t v___x_7148_; 
v_a_7147_ = lean_ctor_get(v___x_7146_, 0);
lean_inc(v_a_7147_);
lean_dec_ref(v___x_7146_);
v___x_7148_ = lean_unbox(v_a_7147_);
lean_dec(v_a_7147_);
if (v___x_7148_ == 0)
{
lean_object* v___x_7149_; 
lean_inc(v_a_7048_);
lean_inc_ref(v_a_7047_);
lean_inc(v_a_7046_);
lean_inc_ref(v_a_7045_);
v___x_7149_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCore(v_declName_7044_, v_a_7045_, v_a_7046_, v_a_7047_, v_a_7048_);
v___y_7097_ = v_a_7142_;
v___y_7098_ = v___x_7145_;
v___y_7099_ = v___x_7149_;
goto v___jp_7096_;
}
else
{
lean_object* v___x_7150_; 
lean_inc(v_a_7048_);
lean_inc_ref(v_a_7047_);
lean_inc(v_a_7046_);
lean_inc_ref(v_a_7045_);
v___x_7150_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum(v_declName_7044_, v_a_7045_, v_a_7046_, v_a_7047_, v_a_7048_);
v___y_7097_ = v_a_7142_;
v___y_7098_ = v___x_7145_;
v___y_7099_ = v___x_7150_;
goto v___jp_7096_;
}
}
else
{
lean_object* v_a_7151_; 
lean_dec(v_declName_7044_);
v_a_7151_ = lean_ctor_get(v___x_7146_, 0);
lean_inc(v_a_7151_);
lean_dec_ref(v___x_7146_);
v___y_7090_ = v_a_7142_;
v___y_7091_ = v___x_7145_;
v_a_7092_ = v_a_7151_;
goto v___jp_7089_;
}
}
else
{
lean_object* v___x_7152_; lean_object* v___x_7153_; 
lean_del_object(v___x_7069_);
v___x_7152_ = lean_io_get_num_heartbeats();
lean_inc_ref(v_a_7047_);
lean_inc(v_declName_7044_);
v___x_7153_ = l_Lean_isEnumType___at___00Lean_mkNoConfusion_spec__0(v_declName_7044_, v_a_7045_, v_a_7046_, v_a_7047_, v_a_7048_);
if (lean_obj_tag(v___x_7153_) == 0)
{
lean_object* v_a_7154_; uint8_t v___x_7155_; 
v_a_7154_ = lean_ctor_get(v___x_7153_, 0);
lean_inc(v_a_7154_);
lean_dec_ref(v___x_7153_);
v___x_7155_ = lean_unbox(v_a_7154_);
lean_dec(v_a_7154_);
if (v___x_7155_ == 0)
{
lean_object* v___x_7156_; 
lean_inc(v_a_7048_);
lean_inc_ref(v_a_7047_);
lean_inc(v_a_7046_);
lean_inc_ref(v_a_7045_);
v___x_7156_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionCore(v_declName_7044_, v_a_7045_, v_a_7046_, v_a_7047_, v_a_7048_);
v___y_7128_ = v_a_7142_;
v___y_7129_ = v___x_7152_;
v___y_7130_ = v___x_7156_;
goto v___jp_7127_;
}
else
{
lean_object* v___x_7157_; 
lean_inc(v_a_7048_);
lean_inc_ref(v_a_7047_);
lean_inc(v_a_7046_);
lean_inc_ref(v_a_7045_);
v___x_7157_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkNoConfusionEnum(v_declName_7044_, v_a_7045_, v_a_7046_, v_a_7047_, v_a_7048_);
v___y_7128_ = v_a_7142_;
v___y_7129_ = v___x_7152_;
v___y_7130_ = v___x_7157_;
goto v___jp_7127_;
}
}
else
{
lean_object* v_a_7158_; 
lean_dec(v_declName_7044_);
v_a_7158_ = lean_ctor_get(v___x_7153_, 0);
lean_inc(v_a_7158_);
lean_dec_ref(v___x_7153_);
v___y_7123_ = v_a_7142_;
v___y_7124_ = v___x_7152_;
v_a_7125_ = v_a_7158_;
goto v___jp_7122_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_mkNoConfusion___boxed(lean_object* v_declName_7176_, lean_object* v_a_7177_, lean_object* v_a_7178_, lean_object* v_a_7179_, lean_object* v_a_7180_, lean_object* v_a_7181_){
_start:
{
lean_object* v_res_7182_; 
v_res_7182_ = l_Lean_mkNoConfusion(v_declName_7176_, v_a_7177_, v_a_7178_, v_a_7179_, v_a_7180_);
return v_res_7182_;
}
}
LEAN_EXPORT lean_object* l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__5(lean_object* v_00_u03b1_7183_, lean_object* v_x_7184_, lean_object* v___y_7185_, lean_object* v___y_7186_, lean_object* v___y_7187_, lean_object* v___y_7188_){
_start:
{
lean_object* v___x_7190_; 
v___x_7190_ = l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__5___redArg(v_x_7184_);
return v___x_7190_;
}
}
LEAN_EXPORT lean_object* l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__5___boxed(lean_object* v_00_u03b1_7191_, lean_object* v_x_7192_, lean_object* v___y_7193_, lean_object* v___y_7194_, lean_object* v___y_7195_, lean_object* v___y_7196_, lean_object* v___y_7197_){
_start:
{
lean_object* v_res_7198_; 
v_res_7198_ = l_MonadExcept_ofExcept___at___00__private_Lean_Util_Trace_0__Lean_withTraceNode_postCallback___at___00Lean_mkNoConfusion_spec__2_spec__5(v_00_u03b1_7191_, v_x_7192_, v___y_7193_, v___y_7194_, v___y_7195_, v___y_7196_);
lean_dec(v___y_7196_);
lean_dec_ref(v___y_7195_);
lean_dec(v___y_7194_);
lean_dec_ref(v___y_7193_);
return v_res_7198_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_(){
_start:
{
lean_object* v___x_7258_; uint8_t v___x_7259_; lean_object* v___x_7260_; lean_object* v___x_7261_; 
v___x_7258_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Constructions_NoConfusion_0__Lean_mkEqNDRecTelescope_spec__4___closed__2));
v___x_7259_ = 0;
v___x_7260_ = ((lean_object*)(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn___closed__23_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_));
v___x_7261_ = l_Lean_registerTraceClass(v___x_7258_, v___x_7259_, v___x_7260_);
return v___x_7261_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2____boxed(lean_object* v_a_7262_){
_start:
{
lean_object* v_res_7263_; 
v_res_7263_ = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____hygCtx___hyg_2_();
return v_res_7263_;
}
}
lean_object* runtime_initialize_Lean_Meta_Basic(uint8_t builtin);
lean_object* runtime_initialize_Lean_AddDecl(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_CompletionName(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Constructions_CtorIdx(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Constructions_CtorElim(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Subst(uint8_t builtin);
static bool _G_runtime_initialized = false;
LEAN_EXPORT lean_object* runtime_initialize_Lean_Meta_Constructions_NoConfusion(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_Meta_Basic(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_AddDecl(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_CompletionName(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Constructions_CtorIdx(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Constructions_CtorElim(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Subst(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = l_Lean_initFn_00___x40_Lean_Meta_Constructions_NoConfusion_2636467839____hygCtx___hyg_4_();
if (lean_io_result_is_error(res)) return res;
l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_backward_linearNoConfusionType = lean_io_result_get_value(res);
lean_mark_persistent(l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_backward_linearNoConfusionType);
lean_dec_ref(res);
res = l___private_Lean_Meta_Constructions_NoConfusion_0__Lean_initFn_00___x40_Lean_Meta_Constructions_NoConfusion_1240126624____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_Constructions_NoConfusion(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_Meta_Basic(uint8_t builtin);
lean_object* initialize_Lean_AddDecl(uint8_t builtin);
lean_object* initialize_Lean_Meta_CompletionName(uint8_t builtin);
lean_object* initialize_Lean_Meta_Constructions_CtorIdx(uint8_t builtin);
lean_object* initialize_Lean_Meta_Constructions_CtorElim(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Subst(uint8_t builtin);
static bool _G_initialized = false;
LEAN_EXPORT lean_object* initialize_Lean_Meta_Constructions_NoConfusion(uint8_t builtin) {
lean_object * res;
if (_G_initialized) return lean_io_result_mk_ok(lean_box(0));
_G_initialized = true;
res = initialize_Lean_Meta_Basic(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_AddDecl(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_CompletionName(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Constructions_CtorIdx(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Constructions_CtorElim(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Subst(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Constructions_NoConfusion(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = meta_initialize_Lean_Meta_Constructions_NoConfusion(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
return initialize_Lean_Meta_Constructions_NoConfusion(builtin);
}
#ifdef __cplusplus
}
#endif
